.hello-section{max-width:1200px;margin:auto;padding:55px 6% 28px;display:flex;align-items:center;justify-content:space-between;gap:45px}.hello-copy h1{font:500 clamp(65px,8vw,108px)/.94 'Space Grotesk',sans-serif;letter-spacing:-6px;margin:23px 0}.hello-copy h1 em{font-family:Georgia,serif;font-weight:400;color:#9b4c69}.hello-copy>p:last-child{font-size:18px;line-height:1.6}.hello-portrait{position:relative;flex:0 0 260px;transform:rotate(3deg);padding:10px 10px 18px;background:#fffdf8;box-shadow:0 12px 30px #39272914}.hello-portrait img{width:240px;height:240px;object-fit:cover;border-radius:100px 100px 4px 4px}.hello-bubble{position:absolute;left:-62px;top:20px;background:var(--lime);padding:14px 20px;border-radius:25px;transform:rotate(-10deg);font:italic 20px Georgia;z-index:1}.portrait-caption{display:block;text-align:center;font-size:12px;letter-spacing:1.2px;margin-top:15px}.contact-links{max-width:1200px;margin:20px auto 65px;padding:0 6%;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.social-card{position:relative;border:1px solid var(--line);border-radius:22px;padding:23px 20px;transition:transform .2s,box-shadow .2s;background:#fffdf8}.social-card:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 8px 0 #39272910}.social-card.wa{background:var(--lime)}.social-card.ig{background:var(--pink)}.social-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;font:bold 18px 'Space Grotesk',sans-serif}.social-arrow{position:absolute;right:21px;top:27px;font-size:24px}.social-card h2{font:500 23px 'Space Grotesk',sans-serif;letter-spacing:-.8px;margin:24px 0 8px}.social-card p{font-size:14px;line-height:1.5;margin:0}.visit-section{max-width:1200px;margin:auto;padding:55px 6% 85px;display:grid;grid-template-columns:1fr 1.1fr;gap:65px;border-top:1px solid var(--line)}.visit-copy h2,.faq-heading h2{font-size:clamp(38px,4vw,56px);margin:20px 0 26px}.visit-copy address{font-style:normal;font-size:16px;line-height:1.8}.contact-details{display:grid;gap:10px;margin:23px 0;font-size:16px}.contact-details a{width:fit-content;border-bottom:1px solid var(--line)}.visit-hours{font-size:14px;line-height:1.7;max-width:300px}.visit-hours a{display:block;text-decoration:underline;text-underline-offset:4px}.map-postcard{align-self:center;padding:17px;background:#fffdf8;border:1px solid var(--line);border-radius:18px;transform:rotate(2deg);box-shadow:0 12px 30px #3927290d}.postcard-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 15px;font-size:12px;letter-spacing:1px}.postcard-top span:last-child{font:italic 20px Georgia;letter-spacing:0}.map-postcard iframe{width:100%;height:285px;display:block;border:0;border-radius:9px;background:#e5e3de}.map-directions{display:flex;justify-content:space-between;padding:18px 4px 3px;font-size:16px}.faq-section{background:var(--pink);padding:70px max(6%,calc((100% - 1060px)/2));display:grid;grid-template-columns:.9fr 1.2fr;gap:60px}.faq-heading>p:not(.eyebrow){line-height:1.7}.faq-heading .textlink{display:inline-block;font-size:14px;line-height:1.7;margin-top:20px}.faq-list details{border-bottom:1px solid #39272940}.faq-list details:first-child{border-top:1px solid #39272940}.faq-list summary{display:flex;align-items:center;gap:14px;padding:22px 0;font:500 17px/1.5 'DM Sans',sans-serif;letter-spacing:0;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-number{font-size:12px;opacity:.7}.faq-list summary>span:nth-child(2){flex:1}.faq-list summary b{font-size:23px;font-weight:400;transition:transform .2s}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details>p{margin:0;padding:0 10px 24px 30px;font-size:16px;line-height:1.8}.contact-page .mobile-world{display:none}.contact-page [aria-current=page]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:800px){.contact-links{grid-template-columns:repeat(2,1fr)}.hello-portrait{flex-basis:210px}.hello-portrait img{width:190px;height:210px}.visit-section,.faq-section{gap:30px}.hello-copy h1{font-size:75px}}
@media(max-width:600px){.hello-section{padding-top:35px;gap:12px}.hello-copy{flex:1;min-width:0}.hello-copy h1{font-size:60px;letter-spacing:-3px}.hello-copy .eyebrow{font-size:10px;line-height:1.7;max-width:180px}.hello-copy>p:last-child{font-size:16px}.hello-portrait{flex:0 0 125px;padding:6px 6px 10px;margin-top:5px}.hello-portrait img{width:113px;height:150px;border-radius:65px 65px 3px 3px}.hello-bubble{font-size:15px;left:-15px;top:-20px;padding:10px 13px}.portrait-caption{font-size:10px;letter-spacing:0;line-height:1.4}.contact-links{gap:12px;margin-bottom:35px}.social-card{padding:18px 14px;border-radius:18px}.social-card h2{font-size:21px}.social-card p{font-size:14px}.social-arrow{right:15px;top:21px}.visit-section,.faq-section{grid-template-columns:1fr;padding:40px 6%;gap:30px}.map-postcard{transform:rotate(1deg)}.map-postcard iframe{height:250px}.postcard-top{font-size:10px}.postcard-top span:last-child{font-size:18px}.faq-list summary{font-size:16px}.faq-heading h2{font-size:39px}}
.hello-section{position:relative;overflow:hidden;min-height:370px}.hello-copy{position:relative;z-index:1;max-width:56%;pointer-events:none}.hello-animation{position:absolute;right:0;top:0;bottom:0;width:66%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to right,transparent,black 22%),linear-gradient(to bottom,transparent,black 10%,black 88%,transparent);mask-composite:intersect}.hello-animation video{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}.hello-copy>p:last-child{max-width:390px}@media(max-width:600px){.hello-section{min-height:330px;padding-top:30px;padding-bottom:30px}.hello-copy{max-width:57%}.hello-copy h1{font-size:56px}.hello-animation{width:60%}.hello-animation video{object-position:82% center}.hello-copy>p:last-child{font-size:15px;max-width:180px}}

/* Keep the face and hair opaque; blend only the bottom crop. */
.hello-animation{mask-image:linear-gradient(to bottom,black 97%,transparent);mask-composite:add}

/* Full-width stage lets the waving hand pass behind the heading. */
.hello-animation{width:100%;z-index:0}.hello-animation video{object-fit:contain;object-position:right center}
.contact-links{gap:26px;padding-top:18px;padding-bottom:18px}
.social-card,.social-card.wa,.social-card.ig{border:0;background:transparent;box-shadow:none;text-align:center;padding:14px 8px;perspective:700px}
.social-card:hover{transform:none;box-shadow:none}.social-arrow{display:none}
.social-icon{--edge:#14782c;display:grid;width:clamp(100px,12vw,150px);height:auto;aspect-ratio:1;margin:0 auto 26px;border-radius:29%;border:1px solid #ffffff70;color:white;background:linear-gradient(135deg,#90ef56,#26c849 55%,#14a43c);box-shadow:inset 3px 3px 7px #ffffff99,inset -4px -4px 9px #00000022,5px 8px 0 var(--edge),9px 18px 18px #39272928;transform:rotate(-5deg) rotateY(-12deg);transform-origin:center bottom;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.social-icon svg{width:65%;height:65%;filter:drop-shadow(2px 3px 0 #00000025) drop-shadow(1px 1px 0 #ffffff99)}
.ig .social-icon{--edge:#a72a74;background:radial-gradient(circle at 18% 100%,#ffe681 0%,#ffb44d 23%,#f43780 52%,#ac18c0 77%,#6225bb);transform:rotate(5deg) rotateY(-12deg)}
.fb .social-icon{--edge:#154c91;background:linear-gradient(135deg,#68c2ff,#1877f2 50%,#105bbd)}
.google .social-icon{--edge:#d3c9b6;background:linear-gradient(135deg,#fff,#fffdf6 55%,#eae4d8);transform:rotate(5deg) rotateY(-12deg)}
.social-card h2{margin:0 0 8px}.social-card p{max-width:180px;margin:auto}
.social-card:hover .social-icon{transform:translateY(-5px) rotateY(-6deg)}
.social-card:active .social-icon,.social-card.is-pressed .social-icon{transform:translateY(8px) scale(1.08,.86);box-shadow:inset 2px 2px 6px #ffffff70,inset -2px -2px 6px #00000022,1px 2px 0 var(--edge),3px 5px 8px #39272920;transition-duration:.08s}
.social-card:focus-visible{outline:2px solid var(--ink);outline-offset:8px;border-radius:18px}
@media(max-width:600px){.hello-animation{width:100%}.hello-animation video{object-fit:cover;object-position:right center}.contact-links{gap:30px 20px}.social-icon{width:112px}}
@media(prefers-reduced-motion:reduce){.social-icon{transition:none}}

.contact-links{row-gap:30px;padding-top:30px}.contact-links .connect-title{grid-column:1/-1;text-align:center;font:500 clamp(26px,3vw,34px)/1.2 'Space Grotesk',sans-serif;letter-spacing:-1px;margin:0 0 8px}.social-icon{width:clamp(78px,8vw,100px);margin-bottom:24px;box-shadow:inset 2px 2px 5px #ffffff99,inset -3px -3px 7px #00000022,3px 5px 0 var(--edge),5px 11px 14px #39272920}.social-card h2{font-size:20px}@media(max-width:600px){.social-icon{width:78px}.contact-links{row-gap:26px}.contact-links .connect-title{margin-bottom:4px}.social-card h2{font-size:18px}}
/* FAQ-only composition: reading order remains heading, questions, Fang. */
.faq-section{background:#FAF7EE;grid-template-areas:"heading questions" "fang questions";grid-template-rows:auto 1fr;column-gap:60px;row-gap:28px;padding-bottom:0}
.faq-section .faq-heading{grid-area:heading;min-width:0}
.faq-section .faq-list{grid-area:questions;min-width:0;padding-bottom:70px}
.faq-section .faq-fang{grid-area:fang;position:relative;align-self:end;width:min(100%,330px);aspect-ratio:1;overflow:hidden;pointer-events:none;mix-blend-mode:multiply}
.faq-section .faq-fang img{position:absolute;bottom:0;left:0;display:block;width:235%;max-width:none;height:auto;object-fit:contain}
@media(max-width:800px){.faq-section{column-gap:30px}}
@media(max-width:600px){
.faq-section{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "questions" "fang";grid-template-rows:auto auto auto;row-gap:30px;padding-bottom:0}
.faq-section .faq-list{padding-bottom:0}
.faq-section .faq-fang{position:relative;align-self:auto;justify-self:end;width:min(86%,300px);margin-top:18px;aspect-ratio:1.12}
}
.faq-section .faq-fang{mix-blend-mode:darken}
.faq-section .faq-fang img{filter:brightness(1.04)}
