:root{
--paper:#fcf8f1;
--ink:#1e2f2a;
--muted:#4f6460;
--line:#d4ddd4;
--brand:#3f6f57;
--brand-deep:#2f5643;
--accent:#5f8f74;
--surface-line:rgba(63,111,87,0.14);
--surface-line-strong:rgba(63,111,87,0.2);
--radius-pill:999px;
--space-section-y:2rem;
--space-stack:.9rem;
--space-grid-row:1.35rem;
--space-list-item:.25rem;
--space-list-block:.9rem;
}
*{ box-sizing:border-box;}
html{ scroll-behavior:auto;}
body{
margin:0;
font-family:"Manrope","Segoe UI",sans-serif;
color:var(--ink);
background:
radial-gradient(circle at 8% 0%,rgba(63,111,87,0.11),transparent 40%),
radial-gradient(circle at 100% 18%,rgba(95,143,116,0.09),transparent 35%),
linear-gradient(180deg,#f5f2ea 0%,#f1eee5 100%);
line-height:1.6;
}
img{ max-width:100%;display:block;border-radius:14px;}
figure{ margin:0;}
a{ color:inherit;}
h1,h2,h3{
margin:0 0 .7rem;
line-height:1.1;
font-family:"Cormorant Garamond",Georgia,serif;
}
h1{ font-size:clamp(2rem,6vw,3.8rem);}
h2{ font-size:clamp(1.5rem,4vw,2.6rem);}
h3{ font-size:clamp(1.1rem,2.8vw,1.7rem);}
h3{
font-weight:700;
color:#27453d;
}
p{ margin:0 0 1rem;}
.container{ width:min(1120px,92vw);margin:0 auto;}
.visually-hidden{
position:absolute !important;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

.site-header{
position:sticky;top:0;z-index:50;
background:rgba(246,241,233,.96);
border-bottom:1px solid rgba(63,111,87,.16);
}
.nav{
min-height:64px;
display:flex;
align-items:center;
justify-content:space-between;
gap:.8rem;
}
.brand{
display:inline-flex;
align-items:center;
gap:.5rem;
text-decoration:none;
font-size:1.1rem;
font-weight:600;
font-family:"Cormorant Garamond",Georgia,serif;
}
.brand-logo{
width:38px;
height:auto;
border-radius:0;
object-fit:contain;
background:transparent;
mix-blend-mode:multiply;
opacity:0.98;
}
.nav-links{
display:none;
align-items:center;
gap:.2rem;
}
.nav-links a{
text-decoration:none;
font-size:.92rem;
padding:.28rem .62rem;
border-radius:999px;
color:#3f5a52;
position:relative;
}
.nav-links a + a{
margin-left:.55rem;
}
.nav-links a + a::before{
content:"";
position:absolute;
left:-.55rem;
top:50%;
transform:translateY(-50%);
width:4px;
height:4px;
border-radius:50%;
background:rgba(63,111,87,0.35);
}
.nav-links a:hover{
background:rgba(63,111,87,0.08);
}
.nav-cta{
text-decoration:none;
background:var(--brand);
color:#fff;
padding:.55rem .95rem;
font-size:.9rem;
font-weight:700;
}
.nav-cta,
.mobile-nav .mobile-wa-btn{
border-radius:var(--radius-pill);
}
.menu-toggle{
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(63,111,87,0.25);
background:transparent;
color:var(--ink);
padding:.62rem .9rem;
min-height:44px;
border-radius:var(--radius-pill);
font:inherit;
font-weight:700;
line-height:1;
}
.mobile-nav{
border-top:1px solid rgba(63,111,87,.14);
background:rgba(246,241,233,0.98);
padding:.45rem 4vw .35rem;
max-height:0;
opacity:0;
overflow:hidden;
transform:translateY(-6px);
transition:max-height .28s ease,opacity .2s ease,transform .24s ease;
}
.mobile-nav a{
display:block;
text-decoration:none;
padding:.58rem .15rem;
color:#2d4941;
font-weight:600;
}
.mobile-nav .mobile-wa-btn{
margin-top:.45rem;
padding:.62rem .9rem;
background:var(--brand);
color:#fff;
text-align:center;
}
.mobile-menu > summary{
list-style:none;
cursor:pointer;
}
.mobile-menu > summary::-webkit-details-marker{
display:none;
}
.mobile-menu[open] .mobile-nav{
max-height:360px;
opacity:1;
transform:translateY(0);
}

.hero{ padding:2rem 0 1.4rem;}
.hero-grid{ display:grid;gap:1.2rem;}
.hero-photo{
border-radius:24px;
overflow:hidden;
position:relative;
background:#e8efe8;
}
.hero-photo img{
width:100%;
aspect-ratio:5 / 4;
object-fit:cover;
}
.hero-photo-private img{
object-position:82% center;
}
.hero-photo-corporate img{
aspect-ratio:16 / 10;
object-position:center 30%;
}
.hero-photo-online img{
aspect-ratio:auto;
object-fit:cover;
object-position:center 38%;
border-radius:0;
}
.kicker{
margin-bottom:.6rem;
letter-spacing:.12em;
text-transform:uppercase;
color:var(--accent);
font-weight:700;
font-size:.72rem;
}
.lead{ color:var(--muted);font-size:1.03rem;}
.card{
background:transparent;
border:0;
border-radius:0;
box-shadow:none;
padding:.2rem 0;
}

.section:not(.cards-emphasis) .card > *{
margin-top:0;
margin-bottom:0;
}

.section:not(.cards-emphasis) .card > * + *{
margin-top:var(--space-stack);
}
.section:not(.cards-emphasis) .grid-2,
.section:not(.cards-emphasis) .grid-3,
.section:not(.cards-emphasis) .service-grid{
row-gap:var(--space-grid-row);
}
:is(.mini-quote,.testimonial-card,.faq-shell,.contact-intro-card,.contact-banner){
border:1px solid var(--surface-line);
}
.mini-avatar,
.t-avatar{
border-radius:50%;
object-fit:cover;
border:1px solid var(--surface-line-strong);
}
.cards-emphasis .card{
background:linear-gradient(180deg,rgba(252,248,241,0.9),rgba(248,244,236,0.78));
border:1px solid rgba(63,111,87,0.12);
border-radius:26px 26px 18px 24px;
box-shadow:0 3px 10px rgba(31,42,42,0.025);
padding:1.25rem;
transition:transform 0.25s ease,box-shadow 0.25s ease;
}
.cards-emphasis .card:hover{
transform:translateY(-1px);
box-shadow:0 5px 12px rgba(31,42,42,0.04);
}
.cards-emphasis .card:nth-child(3n + 1){
background:linear-gradient(180deg,rgba(250,247,239,0.92),rgba(234,244,236,0.5));
}
.cards-emphasis .card:nth-child(3n + 2){
background:linear-gradient(180deg,rgba(252,248,241,0.92),rgba(240,246,243,0.48));
}
.cards-emphasis .card:nth-child(3n + 3){
background:linear-gradient(180deg,rgba(252,248,241,0.9),rgba(243,237,226,0.52));
}
:is(.grid-3,.grid-2,.service-grid){
display:grid;
gap:1.15rem;
align-items:start;
}
.section{ padding:var(--space-section-y) 0;}
.actions{
display:flex;
flex-wrap:wrap;
gap:.7rem;
margin:1.1rem 0;
}
.btn{
text-decoration:none;
border-radius:var(--radius-pill);
font-weight:700;
font-size:.9rem;
padding:.78rem 1.06rem;
border:1px solid transparent;
}
.btn-primary{ background:var(--brand);color:#fff;}
.btn-primary:hover{ background:var(--brand-deep);}
.btn-secondary{ border-color:var(--ink);}
.btn-secondary:hover{ background:#e8efe9;}

.section ul,
.section ol{
margin:.45rem 0 var(--space-list-block);
padding-left:1.05rem;
}

.section li{
margin:var(--space-list-item) 0;
}

.points{ list-style:none;margin:0;padding:0;}
.points li{ color:var(--muted);margin-bottom:.4rem;}
.points li::before{ content:"•";color:var(--brand);margin-right:.45rem;}

.band{
background:linear-gradient(180deg,transparent,rgba(225,235,226,0.75));
}
.quote{
border-left:4px solid var(--brand);
background:var(--paper);
padding:.9rem;
border-radius:12px;
font-style:italic;
margin-bottom:.75rem;
}
.home-quote{
display:grid;
gap:.45rem;
}
.home-quote p{
margin:0;
}
.more-testimonials-link{
display:inline-block;
margin-top:.55rem;
}
.home-quote-head{
display:flex;
align-items:center;
gap:.5rem;
font-size:.76rem;
letter-spacing:.06em;
font-weight:700;
color:#355c4d;
font-style:normal;
}
.testimonial-surface{
padding-top:1rem;
}
.mini-testimonials{
overflow:hidden;
}
.mini-track{
display:flex;
gap:.8rem;
width:max-content;
animation:miniMarquee 42s linear infinite;
}
.mini-track .mini-quote{
flex:0 0 auto;
width:clamp(250px,68vw,330px);
}
.mini-quote{
background:linear-gradient(180deg,rgba(252,248,241,0.92),rgba(233,243,234,0.55));
border-radius:18px 18px 14px 18px;
padding:.9rem 1rem;
display:grid;
grid-template-columns:50px 1fr;
column-gap:.5rem;
row-gap:.16rem;
align-items:start;
}
.mini-quote p{
margin:0;
color:#28413a;
font-style:italic;
font-size:.88rem;
line-height:1.35;
grid-column:2;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
overflow:hidden;
text-overflow:ellipsis;
}
.mini-quote-head{
display:contents;
}
.mini-avatar{
width:50px;
height:50px;
grid-column:1;
grid-row:1 / span 2;
}
.mini-quote span{
font-size:.88rem;
letter-spacing:.02em;
font-weight:700;
line-height:1.2;
color:#3a5f53;
grid-column:2;
align-self:center;
}
.mini-link{
margin-top:.75rem;
font-weight:700;
}
@keyframes miniMarquee{
0%{ transform:translateX(0);}
100%{ transform:translateX(calc(-50% - .4rem));}
}
.testimonial-tags{
display:flex;
flex-wrap:wrap;
gap:.5rem;
margin-top:.8rem;
}
.testimonial-tags span{
background:rgba(63,111,87,0.12);
color:#2f5643;
border-radius:var(--radius-pill);
padding:.35rem .7rem;
font-size:.78rem;
font-weight:700;
}
.testimonial-feature{
background:linear-gradient(180deg,rgba(246,252,247,0.95),rgba(236,245,238,0.75));
border:1px solid rgba(63,111,87,0.2);
border-radius:28px;
padding:1.4rem 1.3rem;
display:grid;
grid-template-columns:104px 1fr;
align-items:center;
column-gap:1rem;
}
.feature-avatar{
width:104px;
height:104px;
border-radius:50%;
object-fit:cover;
border:1px solid rgba(63,111,87,0.22);
margin:0;
}
.feature-copy{
min-width:0;
}
.feature-stars{
margin:0 0 .5rem;
letter-spacing:.13em;
font-size:.85rem;
color:#3f6f57;
}
.feature-quote{
margin:0 0 .65rem;
font-family:"Cormorant Garamond",Georgia,serif;
font-size:clamp(1.4rem,3.5vw,2rem);
line-height:1.2;
color:#203630;
}
.feature-name{
margin:0;
font-size:.85rem;
letter-spacing:.08em;
font-weight:700;
color:#355c4d;
}
.testimonial-grid{
column-count:1;
column-gap:1rem;
}
.testimonial-card{
background:linear-gradient(180deg,rgba(252,248,241,0.95),rgba(234,244,236,0.68));
border-radius:20px;
padding:1rem;
display:flex;
flex-direction:column;
gap:.55rem;
width:100%;
margin:0 0 1rem;
break-inside:avoid;
-webkit-column-break-inside:avoid;
}
.t-head{
display:flex;
align-items:center;
gap:.65rem;
}
.t-avatar{
width:46px;
height:46px;
}
.t-meta{
display:grid;
gap:.08rem;
}
.t-stars{
margin:0;
color:#3f6f57;
letter-spacing:.08em;
font-size:.68rem;
}
.t-name{
margin:0;
font-weight:700;
font-size:.82rem;
letter-spacing:.06em;
color:#2f5643;
}
.t-quote{
margin:.08rem 0 .2rem;
color:#253d37;
font-family:"Manrope",system-ui,sans-serif;
font-size:.99rem;
line-height:1.6;
}
.t-tag{
display:inline-block;
margin:0;
font-size:.73rem;
color:#355c4d;
background:rgba(63,111,87,0.1);
border-radius:var(--radius-pill);
padding:.22rem .55rem;
}
.t-tags{
display:flex;
flex-wrap:wrap;
gap:.35rem;
margin-top:auto;
}
.content-photo{
border-radius:26px;
overflow:hidden;
border:1px solid rgba(63,111,87,0.15);
box-shadow:0 6px 18px rgba(31,42,42,0.05);
position:relative;
background:#e8efe8;
}
.content-photo img{
width:100%;
aspect-ratio:16 / 9;
object-fit:cover;
object-position:center;
}
.centered-setup-card{
max-width:760px;
margin-inline:auto;
}
.content-photo-wide img{
aspect-ratio:16 / 10;
}
.about-cta{
max-width:none;
margin:0;
}
.about-teach-spotlight{
background:
radial-gradient(circle at 88% 8%,rgba(95,143,116,0.14),transparent 40%),
linear-gradient(180deg,transparent,rgba(225,235,226,0.68));
}
.about-teach-card{
max-width:768px;
margin-inline:auto;
border:1px solid rgba(63,111,87,0.16);
border-radius:26px;
padding:1.2rem 1.15rem;
background:linear-gradient(180deg,rgba(252,248,241,0.88),rgba(236,245,238,0.6));
}
.about-teach-card h2{
margin-bottom:.55rem;
}
.about-teach-lead{
margin:0 0 .95rem;
font-family:"Cormorant Garamond",Georgia,serif;
font-size:clamp(1.32rem,3.6vw,1.9rem);
line-height:1.22;
color:#1f3a33;
}
.about-teach-flow{
display:grid;
gap:.72rem;
}
.about-teach-flow p{
margin:0;
}
.page-about .site-footer{
padding-bottom:1.2rem;
}
.faq-item{
border-bottom:1px solid rgba(31,42,42,.15);
padding:.88rem 0;
}
summary{ cursor:pointer;font-weight:700;}
.faq-layout .container{
display:grid;
gap:var(--space-stack);
}
.faq-layout .container > .kicker{
margin-bottom:0;
}
.faq-layout .container > h2{
margin-bottom:.3rem;
}
.faq-shell{
background:rgba(252,248,241,0.58);
border-radius:20px;
padding:.62rem 1rem;
}
.faq-shell .faq-item:last-child{
border-bottom:0;
}
.faq-item summary{
list-style:none;
position:relative;
padding-right:1.2rem;
}
.faq-item summary::-webkit-details-marker{
display:none;
}
.faq-item summary::after{
content:"+";
position:absolute;
right:0;
top:0;
color:#3f6f57;
font-weight:700;
}
.faq-item[open] summary::after{
content:"-";
}
.faq-item p{
margin:0;
padding-top:.42rem;
color:#39554d;
}

.contact-banner{
text-align:left;
display:grid;
grid-template-columns:52px 1fr;
column-gap:.9rem;
align-items:start;
background:linear-gradient(180deg,rgba(252,248,241,0.9),rgba(236,244,238,0.58));
border-radius:28px 28px 20px 26px;
padding:1.3rem;
box-shadow:0 5px 12px rgba(31,42,42,0.03);
}
.contact-banner > :not(.consult-logo){
grid-column:2;
}
.consult-logo{
width:52px;
height:auto;
margin:.1rem 0 0;
display:block;
grid-column:1;
grid-row:1 / span 3;
}
.contact-banner .actions{
justify-content:flex-start !important;
}
.contact-banner h2{
margin-bottom:.3rem;
}
.consultation-cta{
max-width:none;
margin-inline:0;
width:100%;
grid-template-columns:minmax(0,1fr) 110px;
row-gap:.35rem;
padding:1.35rem 1.45rem 1.08rem;
align-items:center;
column-gap:1rem;
}
.consultation-cta .consult-logo{
width:96px;
grid-column:2;
grid-row:1 / span 3;
justify-self:end;
align-self:center;
margin:0;
}
.consultation-cta > :not(.consult-logo){
grid-column:1;
}
.consultation-cta h2{
margin:0 0 .22rem;
line-height:1.06;
}
.consultation-cta p{
margin:0;
max-width:62ch;
}
.consultation-cta .actions{
margin-top:.85rem;
gap:.6rem;
}
.contact-form{
display:grid;
gap:.8rem;
margin-top:.4rem;
}
.contact-form.is-hidden{
display:none;
}
.contact-form label{
display:grid;
gap:.3rem;
text-align:left;
font-weight:600;
font-size:.9rem;
}
.contact-form input,
.contact-form textarea{
width:100%;
padding:.75rem .8rem;
border:1px solid var(--line);
border-radius:10px;
font:inherit;
background:#fff;
}
.contact-form textarea{
min-height:130px;
resize:vertical;
}
.contact-form button[disabled]{
opacity:.72;
cursor:not-allowed;
}
.form-status{
min-height:0;
margin:0;
font-size:.88rem;
}
.form-status:empty{
display:none;
}
.form-status.error{
color:#8a3f36;
display:block;
margin-top:.15rem;
}
.form-success-panel{
display:none;
margin-top:.3rem;
padding:.95rem 1rem;
border-radius:14px;
background:linear-gradient(180deg,rgba(238,248,241,0.9),rgba(229,243,234,0.7));
border:1px solid rgba(63,111,87,0.28);
}
.form-success-panel.is-visible{
display:block;
}
.form-success-panel h3{
margin:0 0 .3rem;
font-size:clamp(1.05rem,2.7vw,1.28rem);
color:#24473b;
}
.form-success-panel p{
margin:0;
color:#2e5246;
}
.form-preview{
margin-top:.75rem;
padding:.75rem .8rem;
border-radius:12px;
border:1px solid rgba(63,111,87,0.22);
background:rgba(255,255,255,0.6);
}
.form-preview p{
margin:0;
font-size:.9rem;
}
.form-preview p + p{
margin-top:.4rem;
}
.form-preview blockquote{
margin:.4rem 0 0;
padding:.55rem .65rem;
border-left:3px solid rgba(63,111,87,0.45);
background:rgba(252,248,241,0.8);
color:#28453d;
font-style:italic;
white-space:pre-wrap;
}
.form-note{
padding-top:0.5rem;
font-size:.82rem;
color:var(--muted);
}
.section:not(.cards-emphasis) .contact-form-card > .form-note{
margin-top:.1rem;
}
.contact-form-card.is-submitted .form-note{
display:none;
}
.contact-top-grid{
display:grid;
gap:1rem;
}
.contact-intro-card{
background:linear-gradient(180deg,rgba(252,248,241,0.92),rgba(231,243,234,0.56));
border-radius:22px;
padding:1.05rem 1rem;
}
.contact-intro-card .actions,
.contact-intro-card p .btn{
margin:.2rem 0 0;
}
.contact-quick-actions{
display:flex;
align-items:center;
gap:.8rem;
flex-wrap:wrap;
}
.contact-phone-inline{
margin:0;
white-space:nowrap;
}
.contact-form-card{
max-width:900px;
margin-inline:auto;
}
.contact-message-points{
margin-top:.4rem;
}
.contact-message-points li{
margin-bottom:.35rem;
}
.contact-details-grid .card{
padding-top:.35rem;
}

.site-footer{
border-top:1px solid rgba(31,42,42,.12);
color:var(--muted);
font-size:.88rem;
padding:1rem 0 4.8rem;
}
.footer-nav{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.45rem .6rem;
margin:0 0 1.05rem;
}
.footer-nav a{
display:flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:.62rem .85rem;
border:1px solid rgba(63,111,87,.2);
border-radius:var(--radius-pill);
color:var(--ink);
font-size:1rem;
font-weight:600;
text-decoration:none;
background:rgba(255,255,255,.62);
}
.footer-nav a:hover{
border-color:rgba(63,111,87,.35);
background:rgba(255,255,255,.85);
}
.site-footer p{
margin:0;
text-align:center;
}

.reveal{
opacity:0;
transform:translateY(10px);
animation:revealIn .45s ease forwards;
}
.delay-1{ animation-delay:.1s;}
.delay-2{ animation-delay:.2s;}

@keyframes revealIn{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@media (min-width:860px){
.nav-links{ display:flex;}
.mobile-menu{ display:none;}
.hero{ padding:2.4rem 0 1.8rem;}
.hero-grid{ grid-template-columns:1.06fr .94fr;align-items:stretch;gap:2.1rem;}
.hero-photo{
align-self:stretch;
height:100%;
min-height:0;
position:relative;
}
.hero-photo img{
width:100%;
height:100%;
min-height:0;
aspect-ratio:auto;
object-fit:cover;
object-position:95% center;
max-height:100%;
position:absolute;
inset:0;
}
.hero-photo-online img{
width:100%;
height:100%;
max-height:100%;
aspect-ratio:auto;
object-fit:cover;
object-position:center 38% !important;
position:absolute;
inset:0;
border-radius:0;
}
.hero-photo-online{
align-self:stretch;
height:100%;
min-height:0;
position:relative;
}
.hero-photo-corporate img{
object-position:center;
}
.grid-3{ grid-template-columns:repeat(3,1fr);}
.grid-2{
grid-template-columns:repeat(2,1fr);
column-gap:1.45rem;
}
.service-grid{ grid-template-columns:repeat(2,1fr);}
.consultation-cta{
grid-template-columns:minmax(0,1fr) 124px;
padding-right:1.9rem;
}
.consultation-cta .consult-logo{
padding-right:.45rem;
}
.consultation-cta h2{
white-space:nowrap;
}
.consultation-cta p{
max-width:none;
}
.section:not(.cards-emphasis) .grid-2,
.section:not(.cards-emphasis) .grid-3,
.section:not(.cards-emphasis) .service-grid{
column-gap:2rem;
row-gap:var(--space-grid-row);
}
.contact-top-grid{
grid-template-columns:.98fr 1.02fr;
align-items:stretch;
gap:1.35rem;
}
.contact-top-grid .contact-intro-card{
height:100%;
}
.contact-top-grid .content-photo{
margin:0;
height:100%;
min-height:0;
position:relative;
}
.contact-top-grid .content-photo img{
width:100%;
height:100%;
aspect-ratio:auto;
object-fit:cover;
position:absolute;
inset:0;
}
.contact-form-card{
padding:1.35rem 1.4rem;
}
.about-teach-card{
padding:1.35rem 1.4rem;
}
.about-teach-flow{
row-gap:.8rem;
}
.faq-layout .container{
width:min(900px,92vw);
}
.testimonial-grid{ column-count:2;}
.mini-track .mini-quote{
width:clamp(260px,28vw,330px);
}
.footer-nav{
grid-template-columns:repeat(6,max-content);
justify-content:center;
gap:0;
margin-bottom:1rem;
}
.footer-nav a{
min-height:auto;
padding:.15rem .55rem;
font-size:.88rem;
font-weight:500;
border:0;
border-radius:0;
background:transparent;
color:var(--muted);
line-height:1.25;
}
.footer-nav a + a{
border-left:1px solid rgba(63,111,87,.18);
}
.footer-nav a:hover{
border-color:rgba(63,111,87,.18);
background:transparent;
color:var(--ink);
}
.site-footer{ padding-bottom:1.2rem;}
}

@media (min-width:1180px){
.testimonial-grid{ column-count:3;}
}

@media (max-width:860px){
.container{ width:min(1120px,88vw);}
.brand{
min-width:0;
max-width:calc(100% - 120px);
}
.brand span{
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.nav-cta{ display:none;}
.mobile-menu{
display:block;
position:absolute;
top:.72rem;
right:6vw;
width:auto;
z-index:80;
}
.menu-toggle{
white-space:nowrap;
line-height:1;
}
.mobile-nav{
position:fixed;
top:64px;
left:0;
right:0;
width:100vw;
padding:.45rem 6vw .35rem;
border-left:0;
border-right:0;
border:1px solid rgba(63,111,87,.16);
border-radius:0;
z-index:79;
}
h3{ font-size:clamp(1.24rem,6vw,1.55rem);}
.reveal{
opacity:1;
transform:none;
animation:none;
}
.card:hover{
transform:none;
box-shadow:0 3px 10px rgba(31,42,42,0.025);
}
.consultation-cta{
grid-template-columns:1fr;
padding:1.1rem 1rem;
row-gap:.2rem;
}
.consultation-cta .consult-logo{
width:78px;
grid-column:1;
grid-row:auto;
align-self:start;
justify-self:start;
margin:0 0 .7rem;
}
.consultation-cta > :not(.consult-logo){
grid-column:1;
}
.contact-intro-card{
padding:.95rem .9rem;
}
.testimonial-feature{
grid-template-columns:1fr;
row-gap:.55rem;
}
.feature-avatar{
width:84px;
height:84px;
}
.footer-nav{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:.5rem;
}
.footer-nav a{
min-height:52px;
font-size:.97rem;
}
}

@media (prefers-reduced-motion:reduce){
*{
animation:none !important;
transition:none !important;
}
.reveal{
opacity:1;
transform:none;
}
.mini-track{
animation:none;
}
html{
scroll-behavior:auto;
}
}

body.modal-open{
overflow:hidden;
}
.wa-modal-backdrop{
position:fixed;
inset:0;
background:rgba(21,32,29,0.54);
display:none;
align-items:center;
justify-content:center;
padding:1rem;
z-index:120;
}
.wa-modal-backdrop.is-open{
display:flex;
}
.wa-modal{
width:min(700px,94vw);
position:relative;
}
.wa-modal-card{
background:linear-gradient(180deg,rgba(252,248,241,0.98),rgba(236,244,238,0.9));
border:1px solid var(--surface-line);
border-radius:24px;
padding:1.2rem 1.1rem 1.05rem;
box-shadow:0 20px 48px rgba(16,28,25,0.28);
display:grid;
gap:.75rem;
}
.wa-modal-logo{
width:72px;
height:auto;
border-radius:0;
}
.wa-modal-card h2{
margin:0;
line-height:1.06;
}
.wa-modal-note{
margin:0;
color:var(--muted);
font-size:.95rem;
}
.wa-modal-points{
margin:0;
}
.wa-modal-points li{
margin-bottom:.38rem;
}
.wa-modal-open{
justify-self:start;
}
.wa-modal-close{
position:absolute;
top:.4rem;
right:.5rem;
width:38px;
height:38px;
border:1px solid rgba(63,111,87,0.3);
background:rgba(255,255,255,0.72);
color:var(--ink);
border-radius:999px;
font-size:1.4rem;
line-height:1;
cursor:pointer;
}
@media (min-width:860px){
.wa-modal-card{
grid-template-columns:minmax(0,1fr) 110px;
column-gap:1.1rem;
align-items:center;
padding:1.35rem 1.45rem 1.18rem;
}
.wa-modal-logo{
width:104px;
grid-column:2;
grid-row:1 / span 3;
justify-self:end;
align-self:end;
}
.wa-modal-card h2,
.wa-modal-points,
.wa-modal-open{
grid-column:1;
}
.wa-modal-note{
grid-column:1;
white-space:nowrap;
font-size:.9rem;
}
.wa-modal-card h2{
white-space:nowrap;
}
.wa-modal-points{
max-width:56ch;
}
.wa-modal-close{
top:.6rem;
right:.7rem;
}
}
