html { scroll-behavior:smooth; }
body.home-hero-only { overflow:visible; }
body.home-hero-only .header { position:absolute; }
body.home-hero-only .page, body.home-hero-only .page main { height:auto; overflow:visible; }
body.home-hero-only .hero { height:100svh; min-height:640px; }
.pillar { text-decoration:none; }
.pillar:focus-visible, .chapter-nav a:focus-visible, .services-flow a:focus-visible, summary:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
.overlay { height:calc(var(--overlay-row) * 3); }
.chapter-nav { position:sticky; top:0; z-index:40; display:grid; grid-template-columns:repeat(3,1fr); background:rgba(255,255,255,.96); backdrop-filter:blur(12px); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.chapter-nav a { position:relative; padding:24px 10px; text-align:center; text-transform:uppercase; font:400 12px/1 var(--body-font); letter-spacing:.13em; color:#777; text-decoration:none; transition:color .25s; }
.chapter-nav a + a { border-left:1px solid var(--line); }
.chapter-nav a::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:1px; background:#111; transform:scaleX(0); transition:transform .25s; }
.chapter-nav a[aria-current="location"] { color:#111; }
.chapter-nav a[aria-current="location"]::after { transform:scaleX(1); }
.services-flow { color:#161616; font-family:var(--body-font); }
.section-eyebrow { display:block; text-transform:uppercase; font-size:10px; letter-spacing:.16em; line-height:1.6; }
.services-intro { padding:130px 5% 140px; max-width:1050px; }
.services-intro .section-eyebrow { margin-bottom:30px; }
.services-intro p:first-of-type { font:400 clamp(26px,3.1vw,45px)/1.24 var(--mark-font); letter-spacing:-.025em; }
.services-intro p:last-child { margin-top:30px; max-width:470px; font-size:14px; line-height:1.6; color:#666; }
.service-chapter { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); scroll-margin-top:60px; }
.chapter-visual { padding:64px 10% 80px 10%; border-right:1px solid var(--line); }
.chapter-heading h2 { font:400 clamp(36px,4.2vw,68px)/1.04 var(--mark-font); letter-spacing:-.035em; margin:20px 0; }
.chapter-heading p { max-width:340px; font-size:15px; line-height:1.6; color:#555; }
.chapter-visual img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; margin-top:52px; }
.chapter-solutions { padding:40px 10% 54px; }
.solution { padding:30px 0; border-bottom:1px solid var(--line); }
.solution:last-child { border:0; }
.solution h3 { font:400 clamp(23px,2vw,31px)/1.15 var(--mark-font); letter-spacing:-.025em; margin-bottom:15px; }
.solution > p { font-size:14px; line-height:1.65; max-width:430px; color:#555; }
.solution details { margin-top:16px; }
.solution summary { display:flex; justify-content:space-between; cursor:pointer; text-transform:uppercase; font-size:10px; letter-spacing:.14em; padding:8px 0; list-style:none; }
summary::-webkit-details-marker { display:none; }
.solution summary::after, .services-questions summary::after { content:"+"; font-size:16px; font-weight:400; }
details[open] > summary::after { content:"−"; }
.solution details p { font-size:12px; color:#777; line-height:1.75; margin-top:10px; }
.services-questions { padding:100px 5%; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr; gap:5%; }
.services-questions h2 { font:400 clamp(28px,3vw,42px)/1.15 var(--mark-font); letter-spacing:-.025em; }
.services-questions details { border-bottom:1px solid var(--line); padding:19px 0; }
.services-questions details:first-child { padding-top:0; }
.services-questions summary { display:flex; justify-content:space-between; align-items:baseline; gap:15px; cursor:pointer; list-style:none; font-size:14px; line-height:1.4; }
.services-questions p { color:#666; font-size:13px; line-height:1.65; margin-top:18px; }
.services-end { border-top:1px solid var(--line); padding:90px 5% 50px; }
.services-end > a { display:block; font:400 clamp(30px,4.7vw,72px)/1.13 var(--mark-font); letter-spacing:-.03em; color:inherit; text-decoration:none; margin-top:26px; }
.services-end .back-top { margin-top:80px; font:400 11px/1.5 var(--body-font); letter-spacing:.04em; }
body.home-hero-only .footer { display:flex!important; margin-top:0; }
.whatsapp-float { display:none; }
@media(max-width:680px) {
 .mark, .pillar { font-size:clamp(19px,6vw,40px)!important; }
 .pillar { max-width:none; }
 body.home-hero-only .hero { min-height:540px; }
 .chapter-nav a { padding:21px 3px; font-size:10px; letter-spacing:.045em; }
 .services-intro { padding:75px 0 80px; }
 .services-intro p:first-of-type { font-size:29px; }
 .services-intro p:last-child { font-size:13px; }
 .service-chapter { grid-template-columns:1fr; scroll-margin-top:52px; }
 .chapter-visual { border-right:0; padding:45px 0 0; }
 .chapter-heading h2 { font-size:47px; margin:17px 0; }
 .chapter-heading p { font-size:14px; }
 .chapter-visual img { margin-top:30px; max-height:480px; }
 .chapter-solutions { padding:8px 0 45px; }
 .solution { padding:25px 0; }
 .solution h3 { font-size:27px; }
 .services-questions { grid-template-columns:1fr; gap:35px; padding:60px 0; }
 .services-end { padding:60px 0 35px; }
 .services-end .back-top { margin-top:55px; }
}
@media(max-width:360px) {
 .header .nav { font-size:10px; letter-spacing:.04em; gap:10px; }
 .header .brand-logo { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .chapter-nav a,.chapter-nav a::after { transition:none; } }

/* WhatsApp invitation: visible across the service page, away from the opening controls. */
.whatsapp-float {display:flex;gap:10px;width:auto;height:46px;padding:0 16px;border-radius:24px;color:#222;background:rgba(255,255,255,.97);z-index:45;font:400 12px/1.2 var(--body-font);box-shadow:0 3px 18px rgba(0,0,0,.07);bottom:max(18px,env(safe-area-inset-bottom));}
.whatsapp-float svg {color:#148c50;width:20px;height:20px;flex:none;}
.whatsapp-float:focus-visible {outline:2px solid #148c50;outline-offset:4px;}
.services-end .whatsapp-invitation {font:400 14px/1.6 var(--body-font);color:#666;max-width:460px;margin-top:24px;}
.services-end .email-alternative {font:400 12px/1.5 var(--body-font);letter-spacing:0;text-decoration:underline;text-underline-offset:4px;margin-top:14px;}
.footer {padding-bottom:88px;}
#bestof-pause {right:auto;left:0;}
body.contact-layer-open .whatsapp-float, body.about-open .whatsapp-float {display:none;}
@media(max-width:680px){.whatsapp-float {height:44px;right:16px;font-size:11px;padding:0 13px;bottom:max(16px,env(safe-area-inset-bottom));}.services-end .whatsapp-invitation {font-size:13px;}}

.hero {position:relative;}
#bestof-pause {position:absolute;left:0;bottom:14px;z-index:8;font:400 10px/1.4 var(--body-font);letter-spacing:.08em;color:#555;cursor:pointer;padding:12px;}
#bestof-pause:focus-visible {outline:1px solid #555;outline-offset:2px;}
.bestof-frame {transition:opacity 320ms ease;}
@media(prefers-reduced-motion:reduce){.bestof-frame {transition:none;}}
