:root{
  --paper:#fff;
  --ink:#092b3e;
  --text:#244252;
  --muted:#587080;
  --field:#f1f3f5;
  --field-strong:#e6eaed;
  --gold:#d5a52e;
  --gold-deep:#bd8d1d;
  --ease-out:cubic-bezier(.22,1,.36,1);
  --ease-move:cubic-bezier(.76,0,.24,1);
  --page-pad:clamp(20px,4.5vw,76px);
  --font:"Instrument Sans",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;text-rendering:optimizeLegibility;overflow-x:hidden}
body.menu-open{overflow-x:hidden}
button,a{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{max-width:100%;display:block}
p,h1,h2,h3,blockquote{margin:0}
p{max-width:66ch}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
section[id]{scroll-margin-top:86px}
.skip-link{position:fixed;z-index:200;left:20px;top:-80px;background:var(--ink);color:#fff;padding:12px 16px}
.skip-link:focus{top:12px}
.page-progress{position:fixed;z-index:110;top:0;left:0;width:100%;height:3px;pointer-events:none}
.page-progress span{display:block;width:0;height:100%;background:var(--gold)}

/* Navegação curta, com contato sempre à mão. */
.site-header{height:78px;padding:0 var(--page-pad);position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;background:var(--ink);transition:box-shadow .25s ease}
.site-header.scrolled,.site-header.menu-active{box-shadow:0 8px 28px rgba(9,43,62,.12)} /* taste-skill-ignore: functional sticky navigation */
.brand{display:inline-flex;align-items:center;gap:11px;min-width:0;margin-right:auto;color:#fff;font-size:15px;font-weight:700;letter-spacing:-.025em;line-height:1.1}
.brand img{width:34px;height:48px;object-fit:contain}
.brand small{display:block;margin-top:5px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:0}
.header-contact{display:inline-flex;align-items:center;gap:21px;min-height:43px;padding:10px 17px;border-radius:5px;background:var(--gold);color:var(--ink);font-size:14px;font-weight:700;transition:background-color .18s ease,transform .18s var(--ease-out)}
.header-contact:hover{background:#e6bb4e;transform:translateY(-2px)}
.header-contact:active{transform:scale(.97)}
.header-contact span{font-size:18px;line-height:1}
.menu-button{min-height:43px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:0;border-radius:5px;background:transparent;color:#fff;transition:background-color .18s ease,transform .18s var(--ease-out)}
.menu-button:hover,.menu-button[aria-expanded="true"]{background:#1e5369}
.site-header.scrolled .menu-button,.site-header.menu-active .menu-button{background:#16445a}
.menu-button:active{transform:scale(.97)}
.menu-text{font-size:14px;font-weight:700}
.menu-icon{width:16px;height:14px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.menu-icon i{display:block;width:16px;height:2px;background:currentColor;transition:transform .24s var(--ease-out)}
.menu-button[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-button[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu-overlay[hidden]{display:none}
.menu-overlay{position:fixed;z-index:95;right:var(--page-pad);top:84px;width:min(370px,calc(100vw - 40px));max-height:min(640px,calc(100svh - 100px));overflow:auto;padding:12px;background:var(--ink);color:#fff;box-shadow:0 20px 60px rgba(9,43,62,.22);border-radius:6px;transform-origin:top right;animation:menu-in .26s var(--ease-out) both} /* taste-skill-ignore: genuine popover */
.menu-overlay-inner{display:flex;flex-direction:column}
.menu-overlay-inner a{display:block;padding:13px 16px;border-radius:4px;font-size:17px;font-weight:600;letter-spacing:-.025em;transition:background-color .18s ease,transform .18s var(--ease-out)}
.menu-overlay-inner a:hover,.menu-overlay-inner a:focus-visible{background:#16445a;transform:translateX(4px)}
@keyframes menu-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}

/* A primeira tela responde imediatamente quem ele é e como contatá-lo. */
.hero{position:relative;isolation:isolate;min-height:min(790px,calc(100svh - 78px));display:flex;align-items:stretch;background:var(--ink);overflow:hidden}
.hero-image{position:absolute;z-index:0;inset:0;overflow:hidden;background:var(--ink)}
.hero-image img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center top;transform:translate3d(0,var(--parallax-y,0),0) scale(1.015);transition:clip-path 1.15s var(--ease-move),transform 1.4s var(--ease-out)}
.hero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(4,24,36,.82) 0%,rgba(4,24,36,.56) 47%,rgba(4,24,36,.08) 100%)} /* taste-skill-ignore: neutral scrim over a real hero photo for text legibility */
.hero-content{position:relative;z-index:2;width:72%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px clamp(28px,5vw,86px) 80px var(--page-pad);color:#fff}
.hero h1{max-width:680px;font-size:clamp(42px,3.8vw,60px);font-weight:600;line-height:1.08;letter-spacing:-.035em;text-wrap:balance;transform:scale(var(--hero-scale,1));transform-origin:left center}
.headline-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.headline-line>span{display:block}
.hero-support{margin-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.hero-support p{font-size:18px;line-height:1.55;color:#edf2f3;max-width:430px}
.mobile-only-break{display:none}
.action-link,.contact-number{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px;width:max-content;max-width:100%;padding:12px 17px;border-radius:5px;background:var(--ink);color:var(--ink);font-size:14px;font-weight:700;overflow:hidden;transition:color .34s ease,transform .18s var(--ease-out)}
.action-link::before,.contact-number::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--gold);transform:scaleX(1);transform-origin:left center;transition:transform .42s var(--ease-move)}
.action-link:hover,.contact-number:hover,.action-link:focus-visible,.contact-number:focus-visible{color:#fff;transform:translateY(-2px)}
.action-link:hover::before,.contact-number:hover::before,.action-link:focus-visible::before,.contact-number:focus-visible::before{transform:scaleX(0);transform-origin:right center}
.action-link:active,.contact-number:active{transform:scale(.97)}
.action-link b,.contact-number b{font-size:18px;font-weight:500;line-height:1}

/* Retrato e apresentação. A superfície branca avança sobre a primeira tela. */
.profile{position:relative;z-index:3;padding:115px var(--page-pad) 125px;background:var(--field)}
.profile-layout{max-width:1350px;margin:auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(50px,8vw,150px)}
.profile-visual{grid-column:1;grid-row:1;max-width:490px;position:sticky;top:115px}
.profile-photo{width:100%;aspect-ratio:4/4.4;overflow:hidden;border-radius:12px;background:var(--field)}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 23%;transform:translateY(var(--profile-parallax,0)) scale(1.06);transition:clip-path 1s var(--ease-move),transform .8s var(--ease-out)}
.profile-copy{grid-column:2;grid-row:1;max-width:580px}
.profile-title{font-size:clamp(38px,4.3vw,64px);line-height:1.04;letter-spacing:-.035em;font-weight:600}
.profile-title-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.profile-title-line>span{display:block}
.period{color:var(--gold)}
.profile-bottom{margin-top:28px}
.profile-bottom p{font-size:20px;line-height:1.55;color:var(--text);max-width:520px}
.profile-bottom p+p{margin-top:16px}
.profile-bottom .action-link{margin-top:24px}

/* Duas áreas, com fotografia real e ações específicas. */
.practice-stage{padding:95px var(--page-pad) 115px;background:var(--ink)}
.practice-intro{max-width:1350px;margin:0 auto 40px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.practice-intro-title{font-size:clamp(36px,4vw,58px);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:#fff}
.practice-intro>p:last-child{max-width:370px;font-size:18px;color:#d7e1e5}
.practice-panels{max-width:1350px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
.practice-slide{min-width:0;border-radius:8px;background:var(--paper);overflow:hidden}
.practice-slide-consumer{transform:translateY(45px)}
.practice-photo{height:clamp(290px,30vw,470px);overflow:hidden;background:#cadbe5}
.practice-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .75s var(--ease-out)}
.practice-slide-consumer .practice-photo img{object-position:center center}
.practice-wordmark{display:none}
.practice-slide-content{padding:30px clamp(24px,3vw,45px) 34px}
.practice-slide h3{font-size:clamp(32px,3.1vw,48px);font-weight:600;letter-spacing:-.035em;line-height:1.06}
.practice-slide-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:25px;margin-top:22px}
.practice-slide-bottom p{font-size:17px;color:var(--text);max-width:430px}

/* Catálogos de serviços: títulos fixos, grupos preenchidos, contato por assunto. */
.service-directory{padding:120px var(--page-pad) 115px;background:var(--paper)}
.service-directory-consumer{background:var(--ink);color:#fff}
.service-directory-consumer .directory-header>p:last-child,.service-directory-consumer .directory-side p{color:#d7e1e5}
.directory-header,.directory-grid{max-width:1350px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);gap:clamp(38px,7vw,110px)}
.directory-header{align-items:end;margin-bottom:44px}
.directory-header h2{font-size:clamp(38px,4.5vw,64px);font-weight:600;letter-spacing:-.035em;line-height:1.05}
.directory-header>p:last-child{font-size:19px;line-height:1.55;color:var(--text);max-width:570px}
.directory-side{align-self:start;position:sticky;top:116px;padding-top:10px}
.directory-side span{font-size:20px;font-weight:700}
.directory-side p{margin-top:10px;color:var(--muted);font-size:16px;max-width:280px}
.directory-groups{min-width:0}
.service-group{margin-bottom:9px;background:#e7f0f5;border-radius:5px;overflow:hidden}
.service-directory-consumer .service-group{background:#16445a}
.service-group summary{list-style:none;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;cursor:pointer;font-size:clamp(19px,1.65vw,25px);font-weight:600;letter-spacing:-.04em;transition:background-color .18s ease}
.service-group summary::-webkit-details-marker{display:none}
.service-group summary:hover{background:#d7e8f0}
.service-directory-consumer .service-group summary:hover{background:#1e5369}
.service-group summary>span:first-child{max-width:630px;transition:transform .3s var(--ease-out)}
.expander{position:relative;display:block;flex:none;width:34px;height:34px;border-radius:50%;background:var(--gold);transition:transform .25s var(--ease-out),scale .3s var(--ease-out),background-color .18s ease}
.expander::before,.expander::after{content:"";position:absolute;left:50%;top:50%;height:2px;width:14px;background:var(--ink);transform:translate(-50%,-50%)}
.expander::after{transform:translate(-50%,-50%) rotate(90deg)}
.service-group[open] .expander{transform:rotate(45deg)}
.service-group ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;margin:0;padding:8px 24px 24px}
.service-group li{min-width:0;font-size:16px}
.service-group li a{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border-radius:4px;background:var(--paper);color:var(--text);transition:background-color .18s ease,color .18s ease,transform .18s var(--ease-out)}
.service-directory-consumer .service-group li a{background:#0d3448;color:#f2f5f5}
.service-directory-consumer .service-group li a:hover,.service-directory-consumer .service-group li a:focus-visible{background:#23566a;color:#fff}
.service-directory-consumer .service-arrow{color:var(--gold)}
.service-group li a:hover,.service-group li a:focus-visible{background:#dcecf3;color:var(--ink);transform:translateX(3px)}
.service-arrow{flex:none;width:16px;height:16px;color:var(--gold-deep);transition:transform .18s var(--ease-out)}
.service-group li a:hover .service-arrow{transform:translate(3px,-3px)}
.service-group-contact{display:inline-flex;align-items:center;gap:17px;max-width:calc(100% - 48px);margin:0 24px 25px;padding:12px 15px;border-radius:5px;background:var(--gold);color:var(--ink);font-size:15px;font-weight:700;transition:background-color .18s ease,transform .18s var(--ease-out)}
.service-group-contact:hover{background:#e4ba54;transform:translateY(-2px)}
.service-group-contact:active{transform:scale(.98)}
.service-group-contact .service-arrow{color:var(--ink)}

/* Depoimentos públicos em superfície clara; o carrossel segue controlável. */
.reviews-stage{position:relative;padding:115px var(--page-pad) 105px;background:var(--field);overflow:hidden}
.reviews-heading{position:relative;z-index:1;max-width:1350px;margin:auto;display:grid;grid-template-columns:1fr .65fr;gap:50px;align-items:end}
.reviews-heading h2{font-size:clamp(40px,4.6vw,65px);font-weight:600;letter-spacing:-.035em;line-height:1.04}
.reviews-heading-side{max-width:420px;padding-bottom:6px}
.reviews-heading-side p{font-size:18px;color:var(--text)}
.reviews-google-link{display:inline-flex;gap:14px;margin-top:18px;color:var(--ink);font-size:16px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--gold);text-underline-offset:7px}
.reviews-google-link span{transition:transform .18s var(--ease-out)}
.reviews-google-link:hover span{transform:translate(3px,-3px)}
.reviews-track{position:relative;z-index:2;display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:calc(1350px + var(--page-pad));margin:44px auto 0;padding:15px 0 26px 10px;perspective:1000px}
.reviews-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 calc((100% - 28px)/3);min-width:0;min-height:390px;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:clamp(24px,2.6vw,40px);border-radius:8px;background:var(--ink);color:#fff;overflow:hidden;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .2s ease,background-color .2s ease}
.review-card:hover{background:#16445a}
.review-index{display:none}
.review-card blockquote{display:block;width:100%;min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;font-size:clamp(18px,1.6vw,23px);line-height:1.42;letter-spacing:0;transform:translateZ(0)}
.review-card>p{font-size:15px;font-weight:700;color:var(--gold);transform:translateZ(12px)}
.reviews-bottom{max-width:1350px;margin:28px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px}
.reviews-controls{display:flex;align-items:center;gap:16px}
.review-arrow{width:43px;height:43px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:22px;transition:transform .18s var(--ease-out),background-color .18s ease}
.review-arrow:hover:not(:disabled){background:#1c4e64;transform:translateY(-2px)}
.review-arrow:disabled{opacity:.35;cursor:default}
.review-position{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}

/* Perguntas ficam fáceis de percorrer e de abrir. */
.faq-stage{padding:115px var(--page-pad);background:var(--field);display:grid;grid-template-columns:minmax(0,.37fr) minmax(0,.63fr);gap:clamp(40px,6vw,100px)}
.faq-intro{align-self:start;position:sticky;top:116px;max-width:490px;margin-left:auto}
.faq-intro h2{font-size:clamp(35px,3.9vw,55px);font-weight:600;line-height:1.08;letter-spacing:-.035em}
.faq-intro>p:last-child{margin-top:25px;font-size:17px;color:var(--text)}
.faq-list{max-width:770px;width:100%;margin-right:auto}
.faq-item{margin-bottom:8px;padding:0 22px;background:var(--paper);border-radius:5px;transition:background-color .28s ease}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px;cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary>span{display:none}
.faq-item summary strong{font-size:17px;font-weight:600;line-height:1.35;transition:transform .18s var(--ease-out)}
.faq-item summary:hover strong{transform:translateX(4px)}
.faq-item summary i{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--field)}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--ink);transform:translate(-50%,-50%)}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] summary i{background:var(--gold)}
.faq-item[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq-answer{padding:0 38px 22px 0;font-size:16px;line-height:1.55;color:var(--text)}
.faq-answer a{display:inline-block;margin:12px 15px 0 0;color:var(--ink);font-size:14px;font-weight:700;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}

/* Contato direto com imagem real. */
.contact-stage{position:relative;padding:82px var(--page-pad) 75px;background:#16445a;color:#fff}
.contact-stage-inner{max-width:1350px;margin:auto;display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);column-gap:clamp(40px,6vw,90px);align-items:center}
.contact-portrait{grid-column:1;height:clamp(320px,32vw,440px);overflow:hidden;border-radius:12px;background:var(--field)}
.contact-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 26%;transition:transform .8s var(--ease-out)}
.contact-copy{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.contact-stage h2{font-size:clamp(38px,4.2vw,58px);font-weight:600;line-height:1.04;letter-spacing:-.035em}
.contact-primary{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.contact-primary p{max-width:480px;font-size:19px;line-height:1.55;color:#e1eaed}
@media(min-width:1050px){.contact-stage h2{white-space:nowrap}}

/* Rodapé com a marca e os dados necessários. */
.site-footer{position:relative;z-index:2;margin-top:-30px;padding:75px var(--page-pad) 32px;border-radius:30px 30px 0 0;background:var(--ink);color:#fff}
.footer-frame{max-width:1350px;margin:auto}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-brand{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:700;line-height:1.1}
.footer-brand img{width:32px;height:46px;object-fit:contain}
.footer-brand small{display:block;margin-top:5px;font-size:11px;color:var(--gold)}
.footer-return{font-size:14px;font-weight:600;color:var(--gold)}
.footer-return span{margin-left:6px}
.footer-wordmark{margin:55px 0 58px;font-size:clamp(48px,5.5vw,82px);line-height:1.06;letter-spacing:-.045em;font-weight:600}
.footer-wordmark .period{color:var(--gold)}
.footer-details{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:clamp(30px,5vw,90px)}
.footer-details>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-details>div>span{font-size:14px;color:var(--gold);font-weight:600;margin-bottom:6px}
.footer-details a{font-size:16px;line-height:1.5;color:#fff;transition:color .18s ease,transform .18s var(--ease-out)}
.footer-details a:hover{color:var(--gold);transform:translateX(3px)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:80px;font-size:13px;color:#b4c3ca}
.footer-bottom p{max-width:440px}
.whatsapp-float{position:fixed;z-index:90;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--ink);transition:transform .18s var(--ease-out),background-color .18s ease}
.whatsapp-float:hover{transform:translateY(-3px);background:#e5bd55}
.whatsapp-float:active{transform:scale(.96)}
.whatsapp-float svg{width:25px;height:25px}
.whatsapp-float span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* Entradas e movimento vinculados ao conteúdo. */
.js .hero:not(.ready) .hero-support{opacity:0;transform:translateY(20px)}
.hero-support{transition:opacity .65s var(--ease-out),transform .8s var(--ease-out)}
.hero-support{transition-delay:.25s}
.js .hero:not(.ready) .headline-line>span{transform:translateY(105%)}
.headline-line>span{transition:transform .95s var(--ease-out)}
.headline-line:nth-child(2)>span{transition-delay:.11s}
.js .hero:not(.ready) .hero-image img{clip-path:inset(0 0 100% 0)}
.hero.ready .hero-image img{clip-path:inset(0)}
.js .cinematic-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ease-out),transform .85s var(--ease-out)}
.js .cinematic-reveal.is-visible{opacity:1;transform:none}
.js .profile-title-line>span{transform:translateY(105%);transition:transform .85s var(--ease-out)}
.js .profile.is-visible .profile-title-line>span{transform:none}
.js .profile-title-line:nth-child(2)>span{transition-delay:.11s}
.js .profile:not(.is-visible) .profile-photo img{clip-path:inset(0 100% 0 0)}
.js .profile.is-visible .profile-photo img{clip-path:inset(0)}
.js .practice-slide{opacity:0;translate:0 35px;transition:opacity .75s var(--ease-out),translate .9s var(--ease-out)}
.js .practice-slide.is-visible{opacity:1;translate:0}
.js .practice-slide-consumer{transition-delay:.12s}
.js .motion-entry{opacity:0;translate:0 22px;transition:opacity .65s var(--ease-out),translate .8s var(--ease-out);transition-delay:var(--motion-delay,0ms)}
.js .motion-entry.motion-visible{opacity:1;translate:0}
@media(hover:hover){
  .profile-photo:hover img{transform:translateY(var(--profile-parallax,0)) scale(1.11)}
  .contact-portrait:hover img{transform:scale(1.055)}
  .js .practice-slide.is-visible:hover{translate:0 -7px;transition-duration:.4s}
  .practice-slide:hover .practice-photo img{transform:scale(1.065)}
  .service-group summary:hover>span:first-child{transform:translateX(4px)}
  .service-group summary:hover .expander{scale:1.09}
  .faq-item:hover{background:#f8fafb}
}

@media(min-width:761px) and (max-width:1100px){
  .review-card{flex-basis:calc((100% - 14px)/2)}
}
@media(max-width:1050px){
  .hero-content{width:82%}
  .hero h1{font-size:clamp(40px,4vw,50px)}
  .directory-header,.directory-grid{gap:35px}
  .profile-layout{gap:55px}
}
@media(max-width:760px){
  .site-header{height:68px}.brand img{width:29px;height:42px}.brand{font-size:13px}.brand small{font-size:10px}
  .header-contact{min-height:40px;padding:9px 12px;font-size:12px;gap:10px}
  .menu-button{min-height:40px;padding:9px}.menu-text{display:none}
  .menu-overlay{top:74px;right:16px;width:min(330px,calc(100vw - 32px))}
  .hero{min-height:clamp(680px,100svh,860px);display:flex;flex-direction:column}
  .hero-content{order:1;width:100%;min-height:clamp(680px,100svh,860px);padding:90px var(--page-pad) 80px}
  .hero h1{font-size:clamp(34px,8vw,51px);max-width:630px}
  .hero-support{margin-top:18px;gap:15px}.hero-support p{font-size:16px}
  .hero-image{position:absolute;inset:0;width:100%;height:100%}
  .hero-image img{object-position:66% top}
  .hero-shade{background:linear-gradient(180deg,rgba(4,24,36,.75) 0%,rgba(4,24,36,.63) 54%,rgba(4,24,36,.22) 100%)} /* taste-skill-ignore: neutral scrim over a real hero photo for text legibility */
  .profile{margin-top:0;padding:90px var(--page-pad) 100px}
  .profile-layout{display:flex;flex-direction:column;align-items:stretch;gap:40px}
  .profile-copy{order:1;max-width:630px}.profile-visual{order:2;position:relative;top:auto;width:min(100%,510px);max-width:none}
  .profile-title{font-size:clamp(40px,7vw,58px)}.profile-bottom p{font-size:18px}
  .practice-stage{padding:82px var(--page-pad) 100px}.practice-intro{display:block}
  .practice-intro>p:last-child{margin-top:14px}
  .practice-panels{grid-template-columns:1fr;gap:18px}.practice-slide-consumer{transform:none}
  .practice-photo{height:360px}.practice-slide h3{font-size:clamp(34px,6.7vw,44px)}
  .service-directory{padding:92px var(--page-pad)}
  .directory-header,.directory-grid{display:block}.directory-header{margin-bottom:34px}
  .directory-header h2{font-size:clamp(40px,7vw,55px)}.directory-header>p:last-child{margin-top:20px;font-size:17px}
  .directory-side{position:static;margin-bottom:23px}.directory-side p{max-width:none}
  .reviews-stage{padding:88px var(--page-pad)}.reviews-heading{display:block}
  .reviews-heading h2{font-size:clamp(40px,7vw,55px)}
  .reviews-heading-side{margin-top:22px}
  .review-card{flex-basis:min(88vw,420px);min-height:360px}
  .faq-stage{display:block;padding:90px var(--page-pad)}
  .faq-intro{position:static;max-width:650px;margin:0 0 35px}.faq-intro h2{font-size:clamp(36px,6.5vw,50px)}
  .faq-list{max-width:none}
  .contact-stage{padding:72px var(--page-pad)}.contact-stage-inner{gap:28px}
  .contact-stage h2{font-size:clamp(40px,6.5vw,58px)}
  .footer-wordmark{font-size:clamp(48px,9vw,75px)}.footer-details{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .header-contact{display:none}
  .mobile-only-break{display:block}
  .hero-content{padding-top:85px}.hero h1{font-size:clamp(32px,9vw,43px)}
  .profile{padding-top:85px;padding-bottom:100px}.profile-title{font-size:clamp(38px,10vw,48px)}
  .profile-bottom p{font-size:17px}.profile-photo{aspect-ratio:1/1.05}
  .practice-stage{padding-top:88px;padding-bottom:95px}.practice-intro-title{font-size:40px}
  .practice-photo{height:300px}.practice-slide-content{padding:27px 22px 32px}
  .service-directory{padding:78px var(--page-pad)}.directory-header h2{font-size:43px}
  .service-group summary{padding:16px;min-height:68px;font-size:20px;gap:12px}.expander{width:30px;height:30px}
  .service-group ul{grid-template-columns:1fr;gap:5px;padding:0 16px 20px}
  .service-group li a{font-size:15px;min-height:52px}
  .service-group-contact{margin:0 16px 20px;max-width:calc(100% - 32px);font-size:14px}
  .reviews-stage{padding:78px var(--page-pad)}
  .reviews-track{padding-top:10px}.review-card{min-height:360px;padding:25px}
  .reviews-bottom{align-items:flex-start;flex-direction:column;gap:25px}
  .faq-stage{padding:76px var(--page-pad)}.faq-intro h2{font-size:39px}
  .faq-item{padding:0 16px}.faq-item summary{min-height:70px}.faq-item summary strong{font-size:16px}
  .faq-answer{padding-right:16px}
  .contact-stage{padding:64px var(--page-pad)}.contact-stage-inner{display:flex;flex-direction:column;align-items:stretch;gap:24px}
  .contact-copy{order:1;gap:22px}.contact-stage h2{font-size:46px}.contact-portrait{order:2;width:100%;height:320px}
  .contact-primary p{font-size:17px}
  .site-footer{padding:60px var(--page-pad) 30px}.footer-wordmark{font-size:clamp(42px,11vw,64px);margin:65px 0 55px}
  .footer-details{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;margin-top:65px}
  .whatsapp-float{width:46px;height:46px;right:15px;bottom:calc(15px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .brand span{max-width:165px}.hero h1{font-size:32px}
  .service-group summary{font-size:18px}
  .footer-details a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .js .hero:not(.ready) .hero-support,.js .cinematic-reveal,.js .practice-slide,.js .motion-entry{opacity:1!important;transform:none!important;translate:none!important}
  .js .hero:not(.ready) .headline-line>span,.js .profile-title-line>span{transform:none!important}
  .js .hero:not(.ready) .hero-image img,.js .profile:not(.is-visible) .profile-photo img{clip-path:none!important}
  .hero-image img,.profile-photo img{transform:none!important}
  .review-card{transform:none!important}
}
