.about{
 background:var(--color-white);
 border-radius:24px;
 margin:0 1rem;
 position:relative;
 overflow:hidden;
}
.about-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:4rem;
 align-items:start;
}
.about-visual{
 position:sticky;
 top:6rem;
 max-width:340px;
 margin:0 auto;
}
.about-img-rel{
 position:relative;
}
.about-img-wrapper{
 border-radius:20px;
 overflow:hidden;
 background:linear-gradient(135deg,var(--color-sage) 0%,var(--color-sage-dark) 100%);
 aspect-ratio:4/5;
 position:relative;
}
.about-img-wrapper img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center 20%;
 display:block;
}
.about-img-wrapper picture{
 display:block;
 width:100%;
 height:100%;
}
.about-img-placeholder{
 width:100%;
 height:100%;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 color:var(--color-cream);
 gap:1rem;
}
.about-img-placeholder svg{
 width:80px;
 height:80px;
 stroke:var(--color-cream);
 fill:none;
 stroke-width:1.5;
 opacity:0.6;
}
.about-img-placeholder span{
 font-family:var(--font-serif);
 font-size:1.5rem;
 opacity:0.8;
}
.about-img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center top;
 display:block;
}
.about-float-card{
 position:absolute;
 bottom:0.75rem;
 right:0.75rem;
 background:rgba(255,255,255,0.94);
 backdrop-filter:blur(6px);
 -webkit-backdrop-filter:blur(6px);
 padding:0.4rem 0.6rem;
 border-radius:10px;
 box-shadow:0 4px 16px rgba(0,0,0,0.10);
 display:flex;
 align-items:center;
 gap:0.45rem;
}
.about-float-icon{
 width:26px;
 height:26px;
 border-radius:8px;
 background:rgba(74,107,93,0.1);
 display:flex;
 align-items:center;
 justify-content:center;
 flex-shrink:0;
}
.about-float-icon svg{
 width:14px;
 height:14px;
 stroke:var(--color-sage);
 fill:none;
 stroke-width:2;
}
.about-float-text{
 font-size:0.7rem;
 line-height:1.25;
}
.about-float-text strong{
 display:block;
 font-weight:600;
 color:var(--color-charcoal);
 font-size:0.72rem;
}
.about-float-text span{
 color:var(--color-warm-gray);
 font-size:0.62rem;
}
.about-text h2{
 font-family:var(--font-serif);
 font-size:clamp(2rem,3.5vw,3rem);
 line-height:1.15;
 margin-bottom:1.5rem;
 letter-spacing:-0.015em;
}
.about-text h2 em{
 font-style:italic;
 color:var(--color-sage);
}
.about-text p{
 color:var(--color-warm-gray);
 font-size:1rem;
 line-height:1.75;
 margin-bottom:1.25rem;
 font-weight:300;
}
.about-text p strong{
 color:var(--color-charcoal);
 font-weight:500;
}
.about-crp{
 display:inline-flex;
 align-items:center;
 gap:0.5rem;
 margin-top:0.5rem;
 padding:0.5rem 1rem;
 background:rgba(74,107,93,0.06);
 border-radius:100px;
 font-size:0.8125rem;
 color:var(--color-sage-dark);
 font-weight:500;
}
.about-stats{
 display:flex;
 margin-top:1.5rem;
 background:rgba(44,62,48,0.06);
 border:1px solid rgba(74,107,93,0.12);
 border-radius:16px;
 overflow:hidden;
}
.about-stat{
 flex:1;
 padding:1.25rem 0.75rem;
 text-align:center;
 position:relative;
}
.about-stat+.about-stat::before{
 content:'';
 position:absolute;
 left:0;
 top:20%;
 height:60%;
 width:1px;
 background:rgba(74,107,93,0.15);
}
.about-stat-num{
 display:block;
 font-family:var(--font-serif);
 font-size:1.625rem;
 font-weight:700;
 color:var(--color-sage-dark);
 line-height:1;
 letter-spacing:-0.02em;
}
.about-stat-suffix{
 font-size:1.125rem;
 color:var(--color-sage);
 font-family:var(--font-serif);
}
.about-stat-label{
 display:block;
 font-size:0.625rem;
 color:rgba(44,62,48,0.5);
 text-transform:uppercase;
 letter-spacing:0.07em;
 margin-top:0.3rem;
 font-weight:600;
 line-height:1.3;
}
.about-approach-wrap{
 margin-top:4rem;
 padding-top:3rem;
 border-top:1px solid rgba(74,107,93,0.15);
}
@media (max-width:900px){
 .about-approach-wrap{margin-top:2.5rem;padding-top:2rem}
}
.about-approach-label{
 display:flex;
 align-items:center;
 gap:0.5rem;
 font-size:0.6875rem;
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.1em;
 color:rgba(44,62,48,0.45);
 margin-bottom:0.625rem;
}
.about-approach-label::after{
 content:'';
 flex:1;
 height:1px;
 background:rgba(74,107,93,0.12);
}
.about-approach-hint{
 font-size:0.75rem;
 color:rgba(44,62,48,0.4);
 margin-bottom:0.625rem;
 display:flex;
 align-items:center;
 gap:0.35rem;
}
.about-approach-hint svg{
 width:12px;
 height:12px;
 stroke:var(--color-sage);
 fill:none;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
 flex-shrink:0;
}
.about-approach-list{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:1rem;
 margin-bottom:1.75rem;
}
@media (max-width:900px){
 .about-approach-list{grid-template-columns:1fr;gap:0.875rem;margin-bottom:1.25rem}
}
.about-approach-item{
 padding:0.875rem 1rem;
 background:rgba(74,107,93,0.04);
 border-left:3px solid var(--color-sage);
 border-radius:6px;
}
.about-approach-item strong{
 display:block;
 font-size:0.9375rem;
 color:var(--color-charcoal);
 margin-bottom:0.3rem;
 font-weight:600;
}
.about-approach-item p{
 font-size:0.875rem;
 color:rgba(44,62,48,0.78);
 line-height:1.55;
 margin:0;
}
.about-approach-more{
 font-size:0.75rem;
 font-weight:600;
 letter-spacing:0.08em;
 text-transform:uppercase;
 color:rgba(44,62,48,0.5);
 margin-bottom:0.625rem;
}
.about-approach-tags{
 display:flex;
 gap:0.5rem;
 flex-wrap:wrap;
}
.approach-tag{
 display:inline-flex;
 align-items:center;
 gap:0.5rem;
 padding:0.55rem 1.1rem;
 border-radius:100px;
 border:1px solid rgba(74,107,93,0.22);
 background:rgba(74,107,93,0.04);
 font-family:var(--font-sans);
 font-size:0.8125rem;
 font-weight:600;
 color:var(--color-sage-dark);
 cursor:pointer;
 transition:background 0.22s ease,border-color 0.22s ease,transform 0.2s ease,box-shadow 0.22s ease,color 0.22s ease;
 letter-spacing:0.04em;
 position:relative;
}
.approach-tag:hover{
 background:var(--color-sage-dark);
 border-color:var(--color-sage-dark);
 color:var(--color-cream);
 transform:translateY(-2px);
 box-shadow:0 6px 16px rgba(44,62,48,0.18);
}
.approach-tag:hover .approach-tag-icon{stroke:var(--color-cream);opacity:1}
.approach-tag:hover .approach-tag-arrow{opacity:1;transform:translateX(0)}
.approach-tag-icon{
 width:13px;
 height:13px;
 stroke:var(--color-sage);
 fill:none;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
 transition:stroke 0.22s ease,opacity 0.22s ease;
}
.approach-tag-arrow{
 width:12px;
 height:12px;
 stroke:var(--color-cream);
 fill:none;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
 opacity:0;
 transform:translateX(-4px);
 transition:opacity 0.22s ease,transform 0.22s ease;
}
.approach-modal-overlay{
 position:fixed;
 inset:0;
 z-index:99998;
 background:rgba(20,35,28,0.7);
 backdrop-filter:blur(8px);
 -webkit-backdrop-filter:blur(8px);
 display:flex;
 align-items:center;
 justify-content:center;
 padding:1.5rem;
 opacity:0;
 visibility:hidden;
 transition:opacity 0.35s ease,visibility 0.35s ease;
}
.approach-modal-overlay.active{
 opacity:1;
 visibility:visible;
}
.approach-modal{
 background:var(--color-white);
 border-radius:24px;
 max-width:500px;
 width:100%;
 padding:2.5rem;
 position:relative;
 transform:translateY(20px) scale(0.97);
 transition:transform 0.4s var(--ease-out-expo);
 box-shadow:0 32px 80px rgba(0,0,0,0.2);
}
.approach-modal-overlay.active .approach-modal{
 transform:translateY(0) scale(1);
}
.approach-modal-close{
 position:absolute;
 top:1.1rem;
 right:1.1rem;
 width:34px;
 height:34px;
 border-radius:50%;
 border:1px solid rgba(44,62,48,0.12);
 background:transparent;
 cursor:pointer;
 display:flex;
 align-items:center;
 justify-content:center;
 transition:background 0.2s ease;
}
.approach-modal-close:hover{background:rgba(44,62,48,0.06)}
.approach-modal-close svg{
 width:14px;
 height:14px;
 stroke:var(--color-charcoal);
 stroke-width:2;
 fill:none;
}
.approach-modal-badge{
 display:inline-block;
 background:rgba(74,107,93,0.08);
 color:var(--color-sage);
 font-size:0.6875rem;
 font-weight:700;
 letter-spacing:0.12em;
 text-transform:uppercase;
 padding:0.3rem 0.875rem;
 border-radius:100px;
 margin-bottom:1.25rem;
 border:1px solid rgba(74,107,93,0.15);
}
.approach-modal h4{
 font-family:var(--font-serif);
 font-size:1.5rem;
 color:var(--color-charcoal);
 font-weight:400;
 line-height:1.25;
 margin-bottom:1rem;
}
.approach-modal-desc{
 font-size:0.9375rem;
 color:rgba(44,62,48,0.7);
 line-height:1.75;
 margin-bottom:1.5rem;
}
.approach-modal-list{
 list-style:none;
 display:flex;
 flex-direction:column;
 gap:0.625rem;
}
.approach-modal-list li{
 display:flex;
 align-items:flex-start;
 gap:0.625rem;
 font-size:0.9rem;
 color:rgba(44,62,48,0.75);
 line-height:1.5;
}
.approach-modal-list li::before{
 content:'';
 width:6px;
 height:6px;
 border-radius:50%;
 background:var(--color-sage);
 flex-shrink:0;
 margin-top:0.45em;
}
@media (max-width:900px){
 .about{margin:0 0.75rem}
 .about-grid{grid-template-columns:1fr;gap:2rem}
 .about-visual{position:relative;top:auto}
 .about-img-wrapper{aspect-ratio:3/4;max-width:100%}
 .about-float-card{bottom:0.6rem;right:0.6rem;padding:0.4rem 0.6rem}
 .about-float-icon{width:26px;height:26px}
 .about-float-icon svg{width:14px;height:14px}
 .about-float-text{font-size:0.7rem}
 .about-text h2{font-size:1.75rem}
 .about-crp{font-size:0.75rem}
}
@media (max-width:480px){
 .about-img-wrapper{aspect-ratio:3/4;border-radius:16px}
 .about-text p{font-size:0.9375rem}
}
.approach{position:relative;background:var(--color-cream)}
.approach-header{text-align:center;margin-bottom:3.25rem}
.approach-kicker{
 display:inline-flex;align-items:center;gap:0.55rem;
 padding:0.4rem 1rem;border-radius:999px;
 background:rgba(196,117,91,0.10);
 border:1px solid rgba(196,117,91,0.20);
 font-size:0.68rem;font-weight:700;
 letter-spacing:0.16em;text-transform:uppercase;
 color:var(--color-terracotta);margin-bottom:1.35rem;
}
.approach-kicker-icon{width:13px;height:13px;fill:var(--color-terracotta);flex-shrink:0}
.approach-title{
 font-family:var(--font-serif);
 font-size:clamp(2.1rem,4.5vw,3.3rem);
 font-weight:400;line-height:1.05;
 color:var(--color-charcoal);
 margin:0 0 0.95rem;letter-spacing:-0.018em;
}
.approach-title em{font-style:italic;color:var(--color-sage)}
.approach-subtitle{
 font-size:1rem;color:var(--color-warm-gray);
 margin:0 auto 1.35rem;font-weight:300;
 line-height:1.6;max-width:580px;
}
.approach-hint{
 display:inline-flex;align-items:center;gap:0.5rem;
 padding:0.42rem 0.95rem;border-radius:999px;
 background:rgba(45,74,60,0.06);
 font-size:0.82rem;color:var(--color-sage-dark);
 font-style:italic;
}
.approach-hint-icon{
 width:14px;height:14px;stroke:var(--color-sage-dark);
 fill:none;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;
 animation:approach-hint-tap 2.2s ease-in-out infinite;
}
@keyframes approach-hint-tap{
 0%,70%,100%{transform:translate(0,0)}
 80%{transform:translate(1.5px,-2px)}
}
.approach-hint-text-mobile{display:none}
.approach-stage{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.35fr);
 grid-template-rows:auto auto auto auto;
 gap:0.85rem 2.25rem;
 align-items:start;
 max-width:1240px;
 margin:0 auto;
 position:relative;
}
.approach-timeline-curve{
 grid-column:1;
 grid-row:1 / span 4;
 width:72px;
 height:100%;
 align-self:stretch;
 justify-self:start;
 z-index:0;
 pointer-events:none;
 overflow:visible;
}
.timeline-curve-path{
 fill:none;
 stroke:rgba(45,74,60,0.22);
 stroke-width:1.3;
 stroke-linecap:round;
 vector-effect:non-scaling-stroke;
}
.approach-step{grid-column:1;position:relative;z-index:1}
.approach-step[data-step="1"]{grid-row:1}
.approach-step[data-step="2"]{grid-row:2}
.approach-step[data-step="3"]{grid-row:3}
.approach-step[data-step="4"]{grid-row:4}
.step-row{
 display:flex;align-items:center;gap:1rem;
 padding:0.9rem 1rem;
 background:transparent;
 border:none;border-radius:16px;
 cursor:pointer;width:100%;
 text-align:left;
 position:relative;
 transition:background 0.35s ease;
}
.step-row::before{
 content:'';
 position:absolute;
 left:-8px;top:50%;
 width:6px;height:6px;
 border-radius:50%;
 background:rgba(45,74,60,0.18);
 transform:translateY(-50%) scale(0);
 transition:transform 0.4s var(--ease-out-expo),background 0.4s;
}
.step-row:hover{background:rgba(45,74,60,0.04)}
.approach-step.is-active .step-row{background:rgba(45,74,60,0.06)}
.approach-step.is-active .step-row::before{transform:translateY(-50%) scale(1)}
.step-num{
 width:44px;height:44px;
 border-radius:50%;
 background:var(--color-white);
 border:1.5px solid rgba(45,74,60,0.15);
 display:flex;align-items:center;justify-content:center;
 font-family:var(--font-serif);
 font-size:1rem;color:var(--color-warm-gray);
 flex-shrink:0;
 transition:all 0.5s var(--ease-out-expo);
}
.approach-step:hover .step-num{transform:scale(1.05)}
.approach-step.is-active .step-num{color:var(--color-cream)}
.approach-step[data-color="sage"].is-active .step-num{
 background:var(--color-sage);border-color:var(--color-sage);
 box-shadow:0 0 0 4px rgba(74,107,93,0.16),0 4px 14px rgba(74,107,93,0.22);
}
.approach-step[data-color="terracotta"].is-active .step-num{
 background:var(--color-terracotta);border-color:var(--color-terracotta);
 box-shadow:0 0 0 4px rgba(196,117,91,0.16),0 4px 14px rgba(196,117,91,0.22);
}
.approach-step[data-color="blue"].is-active .step-num{
 background:var(--color-blue-soft);border-color:var(--color-blue-soft);
 box-shadow:0 0 0 4px rgba(107,140,174,0.16),0 4px 14px rgba(107,140,174,0.22);
}
.approach-step[data-color="lavender"].is-active .step-num{
 background:var(--color-lavender);border-color:var(--color-lavender);
 box-shadow:0 0 0 4px rgba(155,142,196,0.16),0 4px 14px rgba(155,142,196,0.22);
}
.step-body{flex:1;min-width:0}
.step-title{
 font-family:var(--font-serif);
 font-size:1.08rem;color:var(--color-charcoal);
 font-weight:400;margin:0 0 0.3rem;
 letter-spacing:-0.01em;line-height:1.22;
}
.step-short{
 font-size:0.82rem;color:var(--color-warm-gray);
 line-height:1.5;margin:0;font-weight:300;
}
.step-mini-icon{
 width:32px;height:32px;
 border-radius:50%;
 background:rgba(45,74,60,0.06);
 display:flex;align-items:center;justify-content:center;
 flex-shrink:0;
 transition:all 0.4s var(--ease-out-expo);
}
.step-mini-icon svg{
 width:15px;height:15px;
 stroke:var(--color-warm-gray);
 fill:none;stroke-width:1.7;
 stroke-linecap:round;stroke-linejoin:round;
 transition:stroke 0.4s ease;
}
.approach-step[data-color="sage"].is-active .step-mini-icon{background:rgba(74,107,93,0.14)}
.approach-step[data-color="sage"].is-active .step-mini-icon svg{stroke:var(--color-sage)}
.approach-step[data-color="terracotta"].is-active .step-mini-icon{background:rgba(196,117,91,0.14)}
.approach-step[data-color="terracotta"].is-active .step-mini-icon svg{stroke:var(--color-terracotta)}
.approach-step[data-color="blue"].is-active .step-mini-icon{background:rgba(107,140,174,0.14)}
.approach-step[data-color="blue"].is-active .step-mini-icon svg{stroke:var(--color-blue-soft)}
.approach-step[data-color="lavender"].is-active .step-mini-icon{background:rgba(155,142,196,0.14)}
.approach-step[data-color="lavender"].is-active .step-mini-icon svg{stroke:var(--color-lavender)}
.step-chevron{display:none}
.approach-compass{
 grid-column:2;grid-row:1 / span 4;
 display:flex;flex-direction:column;
 align-items:center;justify-content:center;
 gap:1.5rem;padding:1rem 0.5rem;
 position:sticky;top:100px;
}
.compass-ring{
 position:relative;
 width:280px;height:280px;
 display:flex;align-items:center;justify-content:center;
 border-radius:50%;
 transition:box-shadow 0.6s ease,background 0.6s ease;
}
.approach-compass[data-color="sage"] .compass-ring{
 background:radial-gradient(circle at center,
 var(--color-white) 0%,
 rgba(254,252,248,1) 55%,
 rgba(74,107,93,0.05) 95%,
 rgba(74,107,93,0.08) 100%);
 box-shadow:0 8px 28px rgba(74,107,93,0.07);
}
.approach-compass[data-color="terracotta"] .compass-ring{
 background:radial-gradient(circle at center,
 var(--color-white) 0%,
 rgba(254,252,248,1) 55%,
 rgba(196,117,91,0.05) 95%,
 rgba(196,117,91,0.08) 100%);
 box-shadow:0 8px 28px rgba(196,117,91,0.08);
}
.approach-compass[data-color="blue"] .compass-ring{
 background:radial-gradient(circle at center,
 var(--color-white) 0%,
 rgba(254,252,248,1) 55%,
 rgba(107,140,174,0.05) 95%,
 rgba(107,140,174,0.08) 100%);
 box-shadow:0 8px 28px rgba(107,140,174,0.07);
}
.approach-compass[data-color="lavender"] .compass-ring{
 background:radial-gradient(circle at center,
 var(--color-white) 0%,
 rgba(254,252,248,1) 55%,
 rgba(155,142,196,0.05) 95%,
 rgba(155,142,196,0.08) 100%);
 box-shadow:0 8px 28px rgba(155,142,196,0.08);
}
.compass-svg{
 position:absolute;inset:0;
 width:100%;height:100%;
 overflow:visible;
 pointer-events:none;
}
.compass-ring-outer-dash{
 fill:none;
 stroke-width:0.55;
 stroke-dasharray:1.6 2.4;
 transition:stroke 0.6s ease;
}
.approach-compass[data-color="sage"] .compass-ring-outer-dash{stroke:rgba(74,107,93,0.50)}
.approach-compass[data-color="terracotta"] .compass-ring-outer-dash{stroke:rgba(196,117,91,0.55)}
.approach-compass[data-color="blue"] .compass-ring-outer-dash{stroke:rgba(107,140,174,0.48)}
.approach-compass[data-color="lavender"] .compass-ring-outer-dash{stroke:rgba(155,142,196,0.52)}
.compass-ring-inner-solid{
 fill:none;
 stroke-width:0.5;
 transition:stroke 0.6s ease;
}
.approach-compass[data-color="sage"] .compass-ring-inner-solid{stroke:rgba(74,107,93,0.35)}
.approach-compass[data-color="terracotta"] .compass-ring-inner-solid{stroke:rgba(196,117,91,0.38)}
.approach-compass[data-color="blue"] .compass-ring-inner-solid{stroke:rgba(107,140,174,0.32)}
.approach-compass[data-color="lavender"] .compass-ring-inner-solid{stroke:rgba(155,142,196,0.36)}
.compass-rose-petal,
.compass-rose-petal-diag{
 stroke:none;
 transition:fill 0.5s ease;
}
.compass-rose-center{
 stroke:none;
 transition:fill 0.5s ease;
}
.approach-compass[data-color="sage"] .compass-rose-petal,
.approach-compass[data-color="sage"] .compass-rose-petal-diag{fill:rgba(74,107,93,0.13)}
.approach-compass[data-color="sage"] .compass-rose-center{fill:rgba(74,107,93,0.45)}
.approach-compass[data-color="terracotta"] .compass-rose-petal,
.approach-compass[data-color="terracotta"] .compass-rose-petal-diag{fill:rgba(196,117,91,0.12)}
.approach-compass[data-color="terracotta"] .compass-rose-center{fill:rgba(196,117,91,0.48)}
.approach-compass[data-color="blue"] .compass-rose-petal,
.approach-compass[data-color="blue"] .compass-rose-petal-diag{fill:rgba(107,140,174,0.11)}
.approach-compass[data-color="blue"] .compass-rose-center{fill:rgba(107,140,174,0.42)}
.approach-compass[data-color="lavender"] .compass-rose-petal,
.approach-compass[data-color="lavender"] .compass-rose-petal-diag{fill:rgba(155,142,196,0.13)}
.approach-compass[data-color="lavender"] .compass-rose-center{fill:rgba(155,142,196,0.48)}
.compass-arc{
 fill:none;
 stroke-width:2.6;
 stroke-linecap:round;
 transition:stroke 0.6s ease;
 stroke-dasharray:0 100;
 animation:compass-arc-draw 1.4s var(--ease-out-expo) 0.2s forwards;
}
@keyframes compass-arc-draw{
 to{stroke-dasharray:100 100}
}
.compass-arc-dot{
 stroke:var(--color-white);
 stroke-width:1.4;
 transition:fill 0.6s ease;
 z-index:2;
}
.approach-compass[data-color="sage"] .compass-arc{stroke:var(--color-sage)}
.approach-compass[data-color="sage"] .compass-arc-dot{fill:var(--color-sage)}
.approach-compass[data-color="terracotta"] .compass-arc{stroke:var(--color-terracotta)}
.approach-compass[data-color="terracotta"] .compass-arc-dot{fill:var(--color-terracotta)}
.approach-compass[data-color="blue"] .compass-arc{stroke:var(--color-blue-soft)}
.approach-compass[data-color="blue"] .compass-arc-dot{fill:var(--color-blue-soft)}
.approach-compass[data-color="lavender"] .compass-arc{stroke:var(--color-lavender)}
.approach-compass[data-color="lavender"] .compass-arc-dot{fill:var(--color-lavender)}
.compass-inner{
 position:relative;z-index:1;
 display:flex;flex-direction:column;align-items:center;
 gap:0.35rem;text-align:center;padding:1rem;
 transition:opacity 0.32s ease,transform 0.45s var(--ease-out-expo);
}
.compass-inner.is-swapping{opacity:0;transform:translateY(6px)}
.compass-icon{
 width:44px;height:44px;
 display:flex;align-items:center;justify-content:center;
 margin-bottom:0.2rem;
}
.compass-icon svg{
 width:30px;height:30px;
 fill:none;stroke-width:1.4;
 stroke-linecap:round;stroke-linejoin:round;
 transition:stroke 0.5s ease;
}
[data-color="sage"] .compass-icon svg{stroke:var(--color-sage)}
[data-color="terracotta"] .compass-icon svg{stroke:var(--color-terracotta)}
[data-color="blue"] .compass-icon svg{stroke:var(--color-blue-soft)}
[data-color="lavender"] .compass-icon svg{stroke:var(--color-lavender)}
.compass-label{
 font-family:var(--font-serif);
 font-size:1.5rem;
 color:var(--color-charcoal);
 font-weight:400;
 letter-spacing:-0.01em;
 line-height:1.05;
}
.compass-sub{
 font-size:0.72rem;
 color:var(--color-warm-gray);
 font-weight:300;
 letter-spacing:0.005em;
 line-height:1.4;
 max-width:150px;
}
.compass-quote-card{
 background:var(--color-white);
 border:1px solid rgba(212,202,187,0.5);
 border-radius:14px;
 padding:1rem 1.25rem 1rem 1.05rem;
 max-width:320px;
 position:relative;
 box-shadow:0 4px 14px rgba(74,107,93,0.04);
 display:flex;
 align-items:flex-start;
 gap:0.55rem;
}
.compass-quote-mark{
 font-family:var(--font-serif);
 font-size:1.6rem;
 color:var(--color-terracotta);
 font-style:italic;
 line-height:0.8;
 flex-shrink:0;
 margin-top:0.15rem;
 opacity:0.7;
}
.compass-quote-text{
 font-family:var(--font-serif);
 font-size:0.92rem;
 color:var(--color-charcoal);
 font-style:italic;
 line-height:1.45;
 margin:0;
 letter-spacing:0.003em;
 text-align:left;
}
.approach-detail{
 grid-column:3;grid-row:1 / span 4;
 background:var(--color-white);
 border:1px solid rgba(212,202,187,0.5);
 border-radius:22px;
 padding:1.85rem 2rem 1.35rem;
 position:relative;
 box-shadow:0 12px 32px rgba(74,107,93,0.06),0 2px 6px rgba(74,107,93,0.04);
 overflow:hidden;
 transition:border-color 0.4s ease,box-shadow 0.4s ease;
 align-self:start;
}
.approach-detail[data-color="sage"]{border-color:rgba(74,107,93,0.18)}
.approach-detail[data-color="terracotta"]{border-color:rgba(196,117,91,0.22)}
.approach-detail[data-color="blue"]{border-color:rgba(107,140,174,0.22)}
.approach-detail[data-color="lavender"]{border-color:rgba(155,142,196,0.22)}
.approach-detail::before{
 content:'';
 position:absolute;
 top:0;left:0;right:0;
 height:3px;
 transition:background 0.5s ease;
}
.approach-detail[data-color="sage"]::before{background:linear-gradient(90deg,transparent,var(--color-sage),transparent)}
.approach-detail[data-color="terracotta"]::before{background:linear-gradient(90deg,transparent,var(--color-terracotta),transparent)}
.approach-detail[data-color="blue"]::before{background:linear-gradient(90deg,transparent,var(--color-blue-soft),transparent)}
.approach-detail[data-color="lavender"]::before{background:linear-gradient(90deg,transparent,var(--color-lavender),transparent)}
.detail-content{
 transition:opacity 0.32s ease,transform 0.5s var(--ease-out-expo);
}
.detail-content.is-swapping{
 opacity:0;
 transform:translateY(8px);
}
.detail-badge{
 display:inline-block;
 padding:0.35rem 0.85rem;
 border-radius:999px;
 font-size:0.66rem;
 font-weight:700;
 letter-spacing:0.16em;
 text-transform:uppercase;
 margin-bottom:1rem;
}
.approach-detail[data-color="sage"] .detail-badge{background:rgba(74,107,93,0.10);color:var(--color-sage)}
.approach-detail[data-color="terracotta"] .detail-badge{background:rgba(196,117,91,0.10);color:var(--color-terracotta)}
.approach-detail[data-color="blue"] .detail-badge{background:rgba(107,140,174,0.10);color:var(--color-blue-soft)}
.approach-detail[data-color="lavender"] .detail-badge{background:rgba(155,142,196,0.12);color:var(--color-lavender)}
.detail-title{
 font-family:var(--font-serif);
 font-size:clamp(1.5rem,2.5vw,2rem);
 font-weight:400;
 color:var(--color-charcoal);
 margin:0 0 0.9rem;
 line-height:1.15;
 letter-spacing:-0.015em;
}
.detail-description{
 font-size:0.94rem;
 color:var(--color-warm-gray);
 line-height:1.6;
 margin:0;
 font-weight:300;
}
.detail-divider{
 height:1px;
 background:rgba(45,74,60,0.08);
 margin:1.35rem 0;
}
.detail-focos-label{
 font-size:0.66rem;
 font-weight:700;
 letter-spacing:0.14em;
 text-transform:uppercase;
 color:var(--color-warm-gray);
 margin-bottom:0.8rem;
 display:block;
}
.detail-focos{
 display:flex;flex-wrap:wrap;gap:0.55rem;
 margin-bottom:1.5rem;
}
.focos-pill{
 display:inline-flex;align-items:center;gap:0.4rem;
 padding:0.45rem 0.9rem;
 border-radius:999px;
 font-size:0.78rem;
 font-weight:500;
 border:1px solid currentColor;
 transition:transform 0.35s var(--ease-out-expo),background 0.3s;
 opacity:0;
 animation:focos-cascade 0.5s var(--ease-out-expo) forwards;
}
.focos-pill:nth-child(1){animation-delay:0.05s}
.focos-pill:nth-child(2){animation-delay:0.12s}
.focos-pill:nth-child(3){animation-delay:0.19s}
.focos-pill:nth-child(4){animation-delay:0.26s}
@keyframes focos-cascade{
 from{opacity:0;transform:translateY(6px)}
 to{opacity:1;transform:translateY(0)}
}
.approach-detail[data-color="sage"] .focos-pill{color:var(--color-sage);border-color:rgba(74,107,93,0.30);background:rgba(74,107,93,0.05)}
.approach-detail[data-color="terracotta"] .focos-pill{color:var(--color-terracotta);border-color:rgba(196,117,91,0.32);background:rgba(196,117,91,0.05)}
.approach-detail[data-color="blue"] .focos-pill{color:var(--color-blue-soft);border-color:rgba(107,140,174,0.30);background:rgba(107,140,174,0.05)}
.approach-detail[data-color="lavender"] .focos-pill{color:var(--color-lavender);border-color:rgba(155,142,196,0.32);background:rgba(155,142,196,0.05)}
.focos-pill svg{
 width:13px;height:13px;
 stroke:currentColor;fill:none;stroke-width:2;
 stroke-linecap:round;stroke-linejoin:round;
}
.focos-pill:hover{transform:translateY(-2px)}
.approach-detail[data-color="sage"] .focos-pill:hover{background:rgba(74,107,93,0.12)}
.approach-detail[data-color="terracotta"] .focos-pill:hover{background:rgba(196,117,91,0.12)}
.approach-detail[data-color="blue"] .focos-pill:hover{background:rgba(107,140,174,0.12)}
.approach-detail[data-color="lavender"] .focos-pill:hover{background:rgba(155,142,196,0.14)}
.detail-question-label{
 font-size:0.78rem;
 color:var(--color-warm-gray);
 font-weight:500;
 display:inline-flex;align-items:center;gap:0.4rem;
 margin-bottom:0.3rem;
}
.detail-question-label svg{
 width:14px;height:14px;
 stroke:var(--color-sage);
 fill:none;stroke-width:1.7;
 stroke-linecap:round;stroke-linejoin:round;
}
.detail-question{
 font-family:var(--font-serif);
 font-size:1.15rem;
 font-style:italic;
 color:var(--color-charcoal);
 margin:0 0 1.25rem;
 font-weight:400;
 letter-spacing:-0.01em;
 line-height:1.3;
}
.detail-example{
 background:rgba(212,167,106,0.08);
 border:1px solid rgba(212,167,106,0.18);
 border-radius:12px;
 padding:0.95rem 1.05rem;
 display:flex;gap:0.7rem;
 align-items:flex-start;
 margin-bottom:1.25rem;
}
.example-icon-wrap{
 width:24px;height:24px;
 flex-shrink:0;
 border-radius:6px;
 background:rgba(212,167,106,0.20);
 display:flex;align-items:center;justify-content:center;
 margin-top:1px;
}
.example-icon-wrap svg{
 width:13px;height:13px;
 stroke:#C49355;fill:none;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;
}
.example-content{flex:1;min-width:0}
.example-label{
 font-size:0.7rem;
 font-weight:700;
 letter-spacing:0.1em;
 text-transform:uppercase;
 color:#C49355;
 display:block;
 margin-bottom:0.3rem;
}
.example-text{
 font-size:0.84rem;
 color:var(--color-charcoal);
 line-height:1.55;
 margin:0;
 font-weight:300;
}
.detail-footer{
 display:flex;align-items:center;gap:0.6rem;
 padding-top:1.1rem;
 border-top:1px dashed rgba(45,74,60,0.12);
 font-size:0.82rem;
 color:var(--color-warm-gray);
 font-weight:300;
 font-style:italic;
 line-height:1.45;
}
.detail-footer-icon{
 width:22px;height:22px;
 border-radius:50%;
 flex-shrink:0;
 display:flex;align-items:center;justify-content:center;
}
.detail-footer-icon svg{
 width:12px;height:12px;
 fill:none;stroke-width:2;
 stroke-linecap:round;stroke-linejoin:round;
}
.approach-detail[data-color="sage"] .detail-footer-icon{background:rgba(74,107,93,0.12)}
.approach-detail[data-color="sage"] .detail-footer-icon svg{stroke:var(--color-sage)}
.approach-detail[data-color="terracotta"] .detail-footer-icon{background:rgba(196,117,91,0.12)}
.approach-detail[data-color="terracotta"] .detail-footer-icon svg{stroke:var(--color-terracotta)}
.approach-detail[data-color="blue"] .detail-footer-icon{background:rgba(107,140,174,0.12)}
.approach-detail[data-color="blue"] .detail-footer-icon svg{stroke:var(--color-blue-soft)}
.approach-detail[data-color="lavender"] .detail-footer-icon{background:rgba(155,142,196,0.14)}
.approach-detail[data-color="lavender"] .detail-footer-icon svg{stroke:var(--color-lavender)}
.approach-legend{
 display:flex;flex-wrap:wrap;
 align-items:center;justify-content:center;
 gap:1.6rem;margin:3rem auto 0;
 padding:1rem 1.5rem;
 font-size:0.85rem;color:var(--color-warm-gray);
}
.legend-item{
 display:inline-flex;align-items:center;gap:0.55rem;
}
.legend-dot{
 width:10px;height:10px;
 border-radius:50%;
 flex-shrink:0;
}
.legend-dot[data-color="sage"]{background:var(--color-sage)}
.legend-dot[data-color="terracotta"]{background:var(--color-terracotta)}
.legend-dot[data-color="blue"]{background:var(--color-blue-soft)}
.legend-dot[data-color="lavender"]{background:var(--color-lavender)}
@media (max-width:1023px){
 .approach-hint{display:none}
 .approach-timeline-curve{display:none}
 .approach-compass,
 .approach-detail{display:none !important}
 .approach-stage{
 display:flex;
 flex-direction:column;
 gap:0.85rem;
 max-width:540px;
}
 .approach-step{
 grid-column:auto !important;
 grid-row:auto !important;
 border-radius:14px;
 background:var(--color-white);
 border:1px solid rgba(212,202,187,0.55);
 border-left:4px solid;
 border-left-color:rgba(74,107,93,0.30);
 overflow:hidden;
 transition:none;
}
 .approach-step[data-color="sage"]{border-left-color:var(--color-sage)}
 .approach-step[data-color="terracotta"]{border-left-color:var(--color-terracotta)}
 .approach-step[data-color="blue"]{border-left-color:var(--color-blue-soft)}
 .approach-step[data-color="lavender"]{border-left-color:var(--color-lavender)}
 .step-row{
 padding:1.1rem 1.15rem;
 cursor:default;
 pointer-events:none;
 background:transparent !important;
}
 .step-row::before{display:none}
 .step-short{
 display:block;
 font-size:0.84rem;
 color:var(--color-warm-gray);
 line-height:1.5;
 font-weight:300;
 margin:0;
}
 .step-chevron{display:none !important}
 .approach-step .step-num{
 width:38px;height:38px;
 font-size:0.92rem;
 color:var(--color-cream);
 box-shadow:none;
}
 .approach-step[data-color="sage"] .step-num{background:var(--color-sage);border-color:var(--color-sage)}
 .approach-step[data-color="terracotta"] .step-num{background:var(--color-terracotta);border-color:var(--color-terracotta)}
 .approach-step[data-color="blue"] .step-num{background:var(--color-blue-soft);border-color:var(--color-blue-soft)}
 .approach-step[data-color="lavender"] .step-num{background:var(--color-lavender);border-color:var(--color-lavender)}
 .approach-step .step-num{animation:none}
 .step-mini-icon{background:rgba(45,74,60,0.05)}
 .approach-step[data-color="sage"] .step-mini-icon svg{stroke:var(--color-sage)}
 .approach-step[data-color="terracotta"] .step-mini-icon svg{stroke:var(--color-terracotta)}
 .approach-step[data-color="blue"] .step-mini-icon svg{stroke:var(--color-blue-soft)}
 .approach-step[data-color="lavender"] .step-mini-icon svg{stroke:var(--color-lavender)}
 .approach-step[data-step]{order:unset}
}
@media (max-width:600px){
 .approach-title{font-size:2rem}
 .approach-subtitle{font-size:0.95rem}
 .approach-detail{padding:1.45rem 1.25rem 1.1rem}
 .detail-title{font-size:1.4rem}
 .focos-pill{font-size:0.73rem;padding:0.4rem 0.7rem;gap:0.3rem}
 .step-title{font-size:1rem}
 .step-num{width:40px;height:40px;font-size:0.95rem}
 .approach-legend{gap:1rem;font-size:0.78rem}
}
.numbers{
 background:var(--color-charcoal);
 border-radius:24px;
 margin:0 1rem;
 color:var(--color-cream);
 overflow:hidden;
 position:relative;
}
.numbers::before{
 content:'';
 position:absolute;
 top:-50%;
 right:-20%;
 width:60%;
 height:100%;
 background:radial-gradient(ellipse,rgba(74,107,93,0.15) 0%,transparent 70%);
 pointer-events:none;
}
.numbers-header{
 margin-bottom:4rem;
}
.numbers-header h2{
 font-family:var(--font-serif);
 font-size:clamp(2rem,3.5vw,3rem);
 letter-spacing:-0.015em;
 margin-bottom:1rem;
}
.numbers-header h2 em{font-style:italic;color:var(--color-sage-light)}
.numbers-header p{
 color:rgba(245,240,232,0.6);
 max-width:500px;
 font-weight:300;
}
.numbers-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:2rem;
}
.number-card{
 text-align:center;
 padding:2rem;
 background:rgba(255,255,255,0.04);
 border-radius:16px;
 border:1px solid rgba(255,255,255,0.06);
 transition:background 0.3s ease,transform 0.4s var(--ease-out-expo);
}
.number-card:hover{
 background:rgba(255,255,255,0.08);
 transform:translateY(-4px);
}
.number-value{
 font-family:var(--font-serif);
 font-size:clamp(2.5rem,4vw,3.5rem);
 line-height:1;
 margin-bottom:0.5rem;
 color:var(--color-sage-light);
}
.number-suffix{
 font-size:0.7em;
}
.number-label{
 font-size:0.875rem;
 color:rgba(245,240,232,0.6);
 font-weight:300;
}
@media (max-width:900px){
 .numbers{margin:0 0.75rem}
 .numbers-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
 .numbers-header h2{font-size:1.75rem}
 .number-card{padding:1.5rem 1rem}
 .number-value{font-size:2.25rem}
}
@media (max-width:500px){
 .numbers-grid{grid-template-columns:repeat(2,1fr)}
 .number-card{padding:1.25rem 0.75rem}
 .number-label{font-size:0.8125rem}
}
.for-who{
 position:relative;
}
.for-who-header{
 text-align:center;
 margin-bottom:4rem;
}
.for-who-header h2{
 font-family:var(--font-serif);
 font-size:clamp(2rem,3.5vw,3rem);
 letter-spacing:-0.015em;
 margin-bottom:1rem;
}
.for-who-header h2 em{font-style:italic;color:var(--color-terracotta)}
.for-who-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:1.25rem;
}
.for-who-card{
 background:var(--color-white);
 border-radius:16px;
 padding:2rem;
 border:1px solid rgba(212,202,187,0.3);
 transition:all 0.4s var(--ease-out-expo);
 position:relative;
}
.for-who-card:hover{
 transform:translateY(-4px);
 box-shadow:0 12px 40px rgba(0,0,0,0.06);
 border-color:var(--color-sage-light);
}
.for-who-card-icon{
 width:48px;
 height:48px;
 border-radius:14px;
 display:flex;
 align-items:center;
 justify-content:center;
 margin-bottom:1.25rem;
}
.for-who-card:nth-child(1) .for-who-card-icon{background:rgba(74,107,93,0.1)}
.for-who-card:nth-child(2) .for-who-card-icon{background:rgba(196,117,91,0.1)}
.for-who-card:nth-child(3) .for-who-card-icon{background:rgba(107,140,174,0.1)}
.for-who-card:nth-child(4) .for-who-card-icon{background:rgba(155,142,196,0.1)}
.for-who-card:nth-child(5) .for-who-card-icon{background:rgba(74,107,93,0.1)}
.for-who-card:nth-child(6) .for-who-card-icon{background:rgba(196,117,91,0.1)}
.for-who-card-icon svg{
 width:24px;
 height:24px;
 stroke:var(--color-charcoal);
 fill:none;
 stroke-width:1.75;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.for-who-card h3{
 font-family:var(--font-serif);
 font-size:1.25rem;
 margin-bottom:0.625rem;
 color:var(--color-charcoal);
}
.for-who-card p{
 font-size:0.875rem;
 color:var(--color-warm-gray);
 line-height:1.65;
 font-weight:300;
}
@media (max-width:900px){
 .for-who-grid{grid-template-columns:repeat(2,1fr);gap:1rem}
 .for-who-header h2{font-size:1.75rem}
 .for-who-card{padding:1.5rem}
 .for-who-card h3{font-size:1.1rem}
 .for-who-card p{font-size:0.8125rem}
}
@media (max-width:600px){
 .for-who-grid{grid-template-columns:1fr}
}
.pricing{
 background:var(--color-white);
 border-radius:24px;
 margin:0 1rem;
 overflow:visible;
}
.pricing-header{
 text-align:center;
 margin-bottom:3.5rem;
}
.pricing-header h2{
 font-family:var(--font-serif);
 font-size:clamp(2rem,3.5vw,3rem);
 letter-spacing:-0.015em;
 margin-bottom:1rem;
}
.pricing-header h2 em{font-style:italic;color:var(--color-sage)}
.pricing-header p{
 color:var(--color-warm-gray);
 max-width:560px;
 margin:0 auto;
 font-weight:300;
}
.pricing-toggle-wrap{
 text-align:center;
 max-width:600px;
 margin:-0.5rem auto 2.75rem;
}
.pricing-toggle-label{
 font-family:var(--font-serif);
 font-style:italic;
 font-size:1.02rem;
 color:var(--color-charcoal);
 margin:0 0 1.6rem;
 letter-spacing:-.01em;
 opacity:0.82;
}
.pricing-toggle-shell{
 position:relative;
 display:inline-block;
 padding-top:20px;
}
.pricing-toggle-recommended{
 position:absolute;
 top:0;
 left:calc(25% + 2.5px);
 transform:translateX(-50%);
 background:linear-gradient(135deg,#C4755B 0%,#A85940 100%);
 color:#FFF4EC;
 font-size:0.585rem;
 letter-spacing:0.13em;
 text-transform:uppercase;
 font-weight:700;
 padding:0.36rem 0.7rem 0.36rem 0.55rem;
 border-radius:999px;
 box-shadow:0 6px 18px rgba(168,89,64,0.32),0 1px 3px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.15);
 z-index:3;
 pointer-events:none;
 white-space:nowrap;
 display:inline-flex;
 align-items:center;
 gap:0.32rem;
 line-height:1;
}
.pricing-toggle-recommended svg{
 width:9px;
 height:9px;
 flex-shrink:0;
 stroke:currentColor;
 stroke-width:2.6;
 fill:none;
}
.pricing-toggle-recommended::after{
 content:'';
 position:absolute;
 bottom:-3px;
 left:50%;
 transform:translateX(-50%) rotate(45deg);
 width:8px;
 height:8px;
 background:#A85940;
 border-radius:1.5px;
 z-index:-1;
}
.pricing-toggle{
 display:inline-flex;
 background:rgba(254,252,248,0.92);
 -webkit-backdrop-filter:blur(8px);
 backdrop-filter:blur(8px);
 border:1px solid rgba(212,202,187,0.5);
 border-radius:999px;
 padding:5px;
 position:relative;
 box-shadow:
 0 6px 20px rgba(43,45,42,0.08),
 0 1px 2px rgba(43,45,42,0.04),
 inset 0 1px 0 rgba(255,255,255,0.7);
 isolation:isolate;
}
.pricing-toggle-indicator{
 position:absolute;
 top:5px;
 left:5px;
 width:calc(50% - 5px);
 height:calc(100% - 10px);
 background:linear-gradient(135deg,#2D4A3C 0%,#1F3329 100%);
 border-radius:999px;
 transition:transform 0.4s cubic-bezier(0.16,1,0.3,1);
 z-index:0;
 box-shadow:
 0 5px 16px rgba(31,51,41,0.32),
 0 1px 2px rgba(31,51,41,0.18),
 inset 0 1px 0 rgba(255,255,255,0.08);
}
.pricing-toggle.is-quinzenal .pricing-toggle-indicator{
 transform:translateX(100%);
}
.pricing-toggle-option{
 position:relative;
 z-index:1;
 padding:0.78rem 1.85rem;
 background:transparent;
 border:none;
 font:inherit;
 font-size:0.93rem;
 font-weight:600;
 color:var(--color-warm-gray);
 cursor:pointer;
 border-radius:999px;
 transition:color 0.3s ease;
 min-width:140px;
 white-space:nowrap;
 letter-spacing:0.005em;
}
.pricing-toggle-option:hover:not(.is-active){
 color:var(--color-charcoal);
}
.pricing-toggle-option.is-active{
 color:var(--color-cream);
}
.pricing-toggle-option:focus-visible{
 outline:2px solid var(--color-terracotta);
 outline-offset:3px;
}
.pricing-toggle-hint{
 font-size:0.83rem;
 color:var(--color-warm-gray);
 margin:1.25rem auto 0;
 line-height:1.6;
 max-width:460px;
 font-weight:300;
 opacity:0.85;
}
.pricing-first-session{
 max-width:1080px;
 margin:0 auto 2rem;
 padding:1.75rem 2rem;
 display:grid;
 grid-template-columns:auto 1fr;
 gap:2rem;
 align-items:center;
 background:linear-gradient(135deg,rgba(212,167,106,0.12) 0%,rgba(196,117,91,0.06) 100%);
 border:1px solid rgba(212,167,106,0.30);
 border-radius:20px;
 position:relative;
 overflow:hidden;
}
.pricing-first-session::before{
 content:'';
 position:absolute;
 inset:0;
 background:radial-gradient(circle at 12% 50%,rgba(212,167,106,0.16),transparent 55%);
 pointer-events:none;
}
/* Bloco do preço — R$97 como âncora visual */
.pricing-first-price{
 position:relative;
 z-index:1;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 padding-right:2rem;
 border-right:1px solid rgba(212,167,106,0.30);
 min-width:170px;
}
.pricing-first-kicker{
 font-size:0.65rem;
 text-transform:uppercase;
 letter-spacing:0.14em;
 color:#B07F3E;
 font-weight:700;
 display:block;
 margin-bottom:0.1rem;
}
.pricing-first-amount{
 font-family:var(--font-serif);
 font-size:4.25rem;
 line-height:0.92;
 font-weight:400;
 color:var(--color-charcoal);
 letter-spacing:-0.02em;
 display:inline-flex;
 align-items:flex-start;
 gap:0.08em;
}
.pricing-first-amount small{
 font-size:0.30em;
 font-weight:700;
 color:#C49355;
 margin-top:0.5em;
 letter-spacing:0.02em;
}
.pricing-first-unit{
 font-size:0.78rem;
 color:var(--color-warm-gray);
 font-weight:400;
 margin-top:0.4rem;
 letter-spacing:0.01em;
}
.pricing-first-content{position:relative;z-index:1}
.pricing-first-content h3{
 font-family:var(--font-serif);
 font-size:1.4rem;
 font-weight:400;
 color:var(--color-charcoal);
 margin:0 0 0.4rem;
 letter-spacing:-0.01em;
}
.pricing-first-content h3 em{
 font-style:italic;
 color:#C49355;
}
.pricing-first-content p{
 font-size:0.875rem;
 color:var(--color-warm-gray);
 line-height:1.55;
 margin:0 0 0.9rem;
 font-weight:300;
}
.pricing-first-chips{
 display:flex;
 flex-wrap:wrap;
 gap:0.4rem 0.5rem;
 margin-bottom:1.1rem;
}
.pricing-first-chips span{
 font-size:0.72rem;
 color:#6B5836;
 font-weight:500;
 background:rgba(212,167,106,0.16);
 padding:0.32rem 0.7rem;
 border-radius:999px;
 white-space:nowrap;
}
.pricing-first-cta{
 display:inline-flex;
 align-items:center;
 gap:0.5rem;
 font-family:var(--font-sans);
 font-size:0.9rem;
 font-weight:600;
 color:var(--color-cream);
 background:linear-gradient(135deg,#D4A76A 0%,#C47559 100%);
 border:none;
 border-radius:999px;
 padding:0.7rem 1.5rem;
 cursor:pointer;
 transition:transform 0.25s ease,box-shadow 0.25s ease;
 box-shadow:0 4px 14px rgba(196,117,89,0.25);
}
.pricing-first-cta svg{width:16px;height:16px;transition:transform 0.25s ease}
.pricing-first-cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(196,117,89,0.32)}
.pricing-first-cta:hover svg{transform:translateX(3px)}
@media (max-width:700px){
 .pricing-first-session{grid-template-columns:1fr;text-align:center;gap:1.25rem;padding:1.5rem 1.25rem}
 .pricing-first-price{padding-right:0;padding-bottom:1.25rem;border-right:none;border-bottom:1px solid rgba(212,167,106,0.30);min-width:0}
 .pricing-first-amount{font-size:3.75rem}
 .pricing-first-content h3{font-size:1.2rem}
 .pricing-first-chips{justify-content:center}
 .pricing-first-cta{width:100%;justify-content:center}
}
.pricing-cards.is-swapping{
 opacity:0.4;
 transition:opacity 0.18s ease;
}
.pricing-cards{
 display:grid;
 grid-template-columns:1fr 1fr 1fr;
 gap:1.5rem;
 max-width:1080px;
 margin:0 auto;
 align-items:stretch;
 transition:opacity 0.25s ease;
}
.pricing-card{
 border-radius:20px;
 padding:2.5rem 2rem 2rem;
 position:relative;
 transition:transform 0.4s var(--ease-out-expo),box-shadow 0.4s ease;
 display:flex;
 flex-direction:column;
}
.pricing-card:hover{
 transform:translateY(-6px);
 box-shadow:0 20px 50px rgba(0,0,0,0.08);
}
.pricing-card-standard{
 background:var(--color-cream);
 border:1px solid rgba(212,202,187,0.4);
}
.pricing-card-recommended{
 background:var(--color-white);
 border:2px solid var(--color-sage-dark);
 box-shadow:0 20px 60px rgba(74,107,93,0.12);
}
.pricing-card-premium{
 background:var(--color-cream);
 border:1px solid rgba(212,202,187,0.4);
}
.pricing-badge{
 position:absolute;
 top:-0.75rem;
 left:50%;
 transform:translateX(-50%);
 padding:0.375rem 1rem;
 border-radius:100px;
 font-size:0.65rem;
 font-weight:700;
 letter-spacing:0.08em;
 text-transform:uppercase;
 white-space:nowrap;
}
.pricing-badge-gold{
 background:linear-gradient(135deg,#D4A76A 0%,#C49355 100%);
 color:#fff;
}
.pricing-badge-sage{
 background:var(--color-sage-dark);
 color:#fff;
}
.pricing-badge-terracotta{
 background:var(--color-terracotta);
 color:#fff;
}
.pricing-card-type{
 font-size:0.7rem;
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.12em;
 margin-bottom:1rem;
 opacity:0.5;
 margin-top:0.5rem;
}
.pricing-value{
 font-family:var(--font-serif);
 font-size:4.25rem;
 line-height:1;
 margin-bottom:0.15rem;
 color:var(--color-charcoal);
}
.pricing-card-recommended .pricing-value{
 color:var(--color-sage-dark);
}
.pricing-card-standard .pricing-features li svg{
 stroke:#D4A76A;
}
.pricing-card-premium .pricing-features li svg{
 stroke:var(--color-terracotta);
}
.pricing-value small{
 font-size:0.35em;
 font-family:var(--font-sans);
 font-weight:400;
 vertical-align:super;
}
.pricing-value .per-sessao{
 font-size:1rem;
 font-family:var(--font-sans);
 font-weight:400;
 color:var(--color-warm-gray);
 margin-left:4px;
}
.pricing-value-old{
 font-size:0.95rem;
 text-decoration:line-through;
 opacity:0.4;
 margin-left:0.5rem;
 font-family:var(--font-sans);
 color:var(--color-warm-gray);
}
.pricing-breakdown{
 font-size:0.8rem;
 color:var(--color-warm-gray);
 margin-bottom:1.25rem;
 font-weight:400;
 line-height:1.5;
}
.pricing-breakdown strong{
 color:var(--color-charcoal);
 font-weight:600;
}
.pricing-per{
 font-size:0.8rem;
 color:var(--color-warm-gray);
 margin-bottom:1.25rem;
 font-weight:400;
}
.pricing-savings{
 display:inline-flex;
 align-items:center;
 gap:0.375rem;
 padding:0.35rem 0.875rem;
 border-radius:6px;
 font-size:0.8rem;
 font-weight:600;
 margin-bottom:1.25rem;
}
.pricing-savings-standard{
 background:var(--color-sage-dark);
 color:#fff;
}
.pricing-savings-premium{
 background:rgba(196,117,91,0.12);
 color:var(--color-terracotta);
}
.pricing-savings-gold{
 background:rgba(212,167,106,0.15);
 color:#C49355;
}
.pricing-description{
 font-size:0.9rem;
 line-height:1.65;
 color:var(--color-warm-gray);
 margin-bottom:1.5rem;
 font-weight:300;
}
.pricing-divider{
 width:100%;
 height:1px;
 background:rgba(212,202,187,0.5);
 margin:0 0 1.5rem;
}
.pricing-features{
 list-style:none;
 display:flex;
 flex-direction:column;
 gap:0.75rem;
 margin-bottom:2rem;
 flex:1;
}
.pricing-features li{
 display:flex;
 align-items:flex-start;
 gap:0.625rem;
 font-size:0.875rem;
 font-weight:300;
 line-height:1.5;
 color:var(--color-charcoal);
}
.pricing-features li svg{
 width:16px;
 height:16px;
 flex-shrink:0;
 margin-top:2px;
 stroke:var(--color-sage);
 fill:none;
 stroke-width:2.5;
}
.pricing-features li strong{
 font-weight:500;
}
.btn-pricing-primary{
 width:100%;
 justify-content:center;
 background:var(--color-sage-dark);
 color:#fff;
 margin-top:auto;
 padding:0.9rem 1.5rem;
 font-weight:500;
 gap:0.5rem;
}
.btn-pricing-primary:hover{
 background:var(--color-sage);
 transform:translateY(-2px);
 box-shadow:0 8px 30px rgba(74,107,93,0.25);
}
.btn-pricing-secondary{
 width:100%;
 justify-content:center;
 background:transparent;
 color:var(--color-charcoal);
 border:1.5px solid rgba(43,45,42,0.2);
 margin-top:auto;
 padding:0.9rem 1.5rem;
 font-weight:500;
 gap:0.5rem;
}
.btn-pricing-secondary:hover{
 border-color:var(--color-charcoal);
 background:rgba(43,45,42,0.04);
 transform:translateY(-2px);
}
.btn-pricing-terracotta{
 width:100%;
 justify-content:center;
 background:var(--color-terracotta);
 color:#fff;
 margin-top:auto;
 padding:0.9rem 1.5rem;
 font-weight:500;
 gap:0.5rem;
}
.btn-pricing-terracotta:hover{
 background:#B5654A;
 transform:translateY(-2px);
 box-shadow:0 8px 30px rgba(196,117,91,0.25);
}
.btn-pricing-gold{
 width:100%;
 justify-content:center;
 background:linear-gradient(135deg,#D4A76A 0%,#C49355 100%);
 color:#2B2D2A;
 margin-top:auto;
 padding:0.9rem 1.5rem;
 font-weight:600;
 gap:0.5rem;
}
.btn-pricing-gold:hover{
 background:linear-gradient(135deg,#DEB878 0%,#D4A76A 100%);
 transform:translateY(-2px);
 box-shadow:0 8px 30px rgba(212,167,106,0.35);
}
.pricing-note{
 text-align:center;
 margin-top:2rem;
 font-size:0.8125rem;
 color:var(--color-warm-gray);
 font-weight:300;
}
@media (max-width:900px){
 .pricing-cards{grid-template-columns:1fr;max-width:420px;gap:2rem;margin:0 auto}
 .pricing-card{padding:2.25rem 1.75rem 1.75rem}
}
@media (max-width:700px){
 .pricing{margin:0 0.75rem}
 .pricing-header h2{font-size:1.75rem}
 .pricing-header p{font-size:0.9375rem}
 .pricing-value{font-size:3.5rem}
}
.marquee-section{
 padding:3rem 0;
 overflow:hidden;
}
.marquee-track{
 display:flex;
 animation:marquee 30s linear infinite;
 width:max-content;
}
.marquee-item{
 display:flex;
 align-items:center;
 gap:0.5rem;
 padding:0 2.5rem;
 font-family:var(--font-serif);
 font-size:1.25rem;
 color:var(--color-sand);
 white-space:nowrap;
}
.marquee-dot{
 width:8px;
 height:8px;
 border-radius:50%;
 background:var(--color-sage-light);
 opacity:0.5;
 flex-shrink:0;
}
@keyframes marquee{
 from{transform:translateX(0)}
 to{transform:translateX(-50%)}
}
.faq{
 position:relative;
}
.faq-header{
 text-align:center;
 margin-bottom:3.5rem;
}
.faq-header h2{
 font-family:var(--font-serif);
 font-size:clamp(2rem,3.5vw,3rem);
 letter-spacing:-0.015em;
 margin-bottom:1rem;
}
.faq-header h2 em{font-style:italic;color:var(--color-sage)}
.faq-list{
 max-width:740px;
 margin:0 auto;
}
.faq-item{
 border-bottom:1px solid rgba(212,202,187,0.4);
}
.faq-question{
 width:100%;
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:1.5rem 0;
 background:none;
 border:none;
 cursor:pointer;
 font-family:var(--font-sans);
 font-size:1.0625rem;
 font-weight:500;
 color:var(--color-charcoal);
 text-align:left;
 gap:1rem;
 transition:color 0.2s;
}
.faq-question:hover{color:var(--color-sage)}
.faq-icon{
 width:28px;
 height:28px;
 flex-shrink:0;
 border-radius:50%;
 background:rgba(74,107,93,0.08);
 display:flex;
 align-items:center;
 justify-content:center;
 transition:transform 0.4s var(--ease-out-expo),background 0.3s;
}
.faq-icon svg{
 width:14px;
 height:14px;
 stroke:var(--color-sage);
 fill:none;
 stroke-width:2.5;
 stroke-linecap:round;
}
.faq-item.is-open .faq-icon{
 transform:rotate(45deg);
 background:var(--color-sage);
}
.faq-item.is-open .faq-icon svg{stroke:#fff}
@media (max-width:768px){
 .faq-header h2{font-size:1.75rem}
 .faq-question{font-size:0.9375rem;padding:1.25rem 0}
 .faq-answer-inner{font-size:0.875rem}
}
.faq-answer{
 max-height:0;
 overflow:hidden;
 transition:max-height 0.5s var(--ease-out-expo),padding 0.5s var(--ease-out-expo);
}
.faq-answer-inner{
 padding-bottom:1.5rem;
 font-size:0.9375rem;
 color:var(--color-warm-gray);
 line-height:1.7;
 font-weight:300;
}
.cta-section{
 background:var(--color-sage);
 border-radius:24px;
 margin:0 1rem;
 overflow:hidden;
 position:relative;
}
.cta-section::before{
 content:'';
 position:absolute;
 top:-30%;
 left:-20%;
 width:60%;
 height:100%;
 background:radial-gradient(ellipse,rgba(255,255,255,0.06) 0%,transparent 70%);
 pointer-events:none;
}
.cta-section::after{
 content:'';
 position:absolute;
 bottom:-30%;
 right:-20%;
 width:60%;
 height:100%;
 background:radial-gradient(ellipse,rgba(196,117,91,0.1) 0%,transparent 70%);
 pointer-events:none;
}
.cta-content{
 text-align:center;
 position:relative;
 z-index:1;
}
.cta-content h2{
 font-family:var(--font-serif);
 font-size:clamp(2.25rem,4.5vw,3.75rem);
 color:var(--color-cream);
 line-height:1.1;
 margin-bottom:1.5rem;
 letter-spacing:-0.02em;
}
.cta-content h2 em{font-style:italic}
.cta-content p{
 color:rgba(245,240,232,0.75);
 max-width:520px;
 margin:0 auto 2.5rem;
 font-size:1.05rem;
 font-weight:300;
 line-height:1.7;
}
.cta-buttons{
 display:flex;
 gap:1rem;
 justify-content:center;
 flex-wrap:wrap;
}
.btn-cta-whatsapp{
 background:#fff;
 color:var(--color-sage-dark);
 font-weight:600;
}
.btn-cta-whatsapp:hover{
 background:var(--color-cream);
 transform:translateY(-2px);
 box-shadow:0 8px 30px rgba(0,0,0,0.15);
}
.cta-features{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:2rem;
 margin-top:4rem;
 padding-top:2.5rem;
 border-top:1px solid rgba(255,255,255,0.12);
}
.cta-feature{
 text-align:center;
 color:rgba(245,240,232,0.6);
 font-size:0.875rem;
 font-weight:300;
}
@media (max-width:600px){
 .cta-features{grid-template-columns:1fr;gap:0.75rem}
 .cta-section{margin:0 0.75rem;border-radius:20px}
 .cta-content h2{font-size:2rem}
 .cta-content p{font-size:0.9375rem}
 .cta-buttons .btn{width:100%;max-width:320px;justify-content:center}
}
.footer{
 padding:4rem 1.5rem 2rem;
}
.footer-top{
 display:grid;
 grid-template-columns:1.5fr 1fr;
 gap:4rem;
 padding-bottom:3rem;
 border-bottom:1px solid rgba(212,202,187,0.3);
}
.footer-heading{
 font-family:var(--font-serif);
 font-size:clamp(2rem,4vw,3.5rem);
 line-height:1.1;
 letter-spacing:-0.02em;
}
.footer-heading em{font-style:italic;color:var(--color-sage)}
.underline-wave{
 text-decoration:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 8'%3E%3Cpath d='M0 5 Q25 0 50 5 Q75 10 100 5' fill='none' stroke='%234A6B5D' stroke-width='2'/%3E%3C/svg%3E");
 background-repeat:repeat-x;
 background-position:bottom;
 background-size:80px 8px;
 padding-bottom:4px;
}
.footer-links{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:1rem 2rem;
 align-content:start;
}
.footer-links a{
 font-size:0.9375rem;
 color:var(--color-charcoal);
 text-decoration:none;
 transition:color 0.2s;
 font-weight:300;
}
.footer-links a:hover{color:var(--color-sage)}
.footer-bottom{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding-top:2rem;
 font-size:0.8125rem;
 color:var(--color-warm-gray);
 flex-wrap:wrap;
 gap:1rem;
}
.footer-bottom a{
 color:var(--color-sage);
 text-decoration:none;
}
.footer-disclaimer{
 margin-top:1.5rem;
 padding-top:1.5rem;
 border-top:1px solid rgba(212,202,187,0.25);
}
.footer-disclaimer p{
 font-size:0.6875rem;
 color:var(--color-warm-gray);
 line-height:1.65;
 text-align:center;
 max-width:640px;
 margin:0 auto;
 font-weight:300;
 opacity:0.75;
}
.footer-disclaimer a{
 color:var(--color-sage);
 text-decoration:underline;
 text-underline-offset:2px;
}
.footer-disclaimer strong{
 font-weight:500;
 color:var(--color-charcoal);
 opacity:0.6;
}
@media (max-width:768px){
 .footer-top{grid-template-columns:1fr;gap:2rem}
 .footer-heading{font-size:2rem}
 .footer-bottom{flex-direction:column;text-align:center;gap:0.5rem;font-size:0.75rem}
 .footer{padding:3rem 1.25rem 1.5rem}
}
.scroll-progress{
 position:fixed;
 top:0;
 left:0;
 width:0%;
 height:3px;
 background:linear-gradient(90deg,var(--color-sage),var(--color-sage-light));
 z-index:10000;
 transition:width 0.1s linear;
}
.wa-float{
 position:fixed;
 bottom:2rem;
 right:2rem;
 z-index:900;
 width:60px;
 height:60px;
 border-radius:50%;
 background:#25D366;
 color:#fff;
 display:flex;
 align-items:center;
 justify-content:center;
 box-shadow:0 6px 30px rgba(37,211,102,0.35);
 cursor:pointer;
 text-decoration:none;
 transition:transform 0.3s var(--ease-out-expo),box-shadow 0.3s ease;
 opacity:0;
 transform:scale(0.5);
}
.wa-float.is-visible{
 opacity:1;
 transform:scale(1);
}
.wa-float:hover{
 transform:scale(1.08);
 box-shadow:0 8px 40px rgba(37,211,102,0.45);
}
.wa-float svg{
 width:28px;
 height:28px;
 fill:#fff;
}
.wa-float-pulse{
 position:absolute;
 inset:-4px;
 border-radius:50%;
 background:rgba(37,211,102,0.3);
 animation:pulse-ring 2.5s ease-out infinite;
}
@keyframes pulse-ring{
 0%{transform:scale(1);opacity:0.6}
 100%{transform:scale(1.5);opacity:0}
}
.pain-section{
 background:var(--color-cream);
 padding:6rem 0 5rem;
 position:relative;
}
.pain-section-header{
 text-align:center;
 margin-bottom:2.75rem;
 padding:0 1.5rem;
}
.pain-section-header h2{
 font-family:var(--font-serif);
 font-size:clamp(1.75rem,3.5vw,2.75rem);
 line-height:1.2;
 color:var(--color-charcoal);
}
.pain-section-header h2 em{
 font-style:italic;
 color:var(--color-sage);
}
.pain-tabs{
 display:flex;
 justify-content:center;
 gap:0;
 max-width:520px;
 margin:0 auto 2.5rem;
 background:rgba(44,62,48,0.06);
 border-radius:100px;
 padding:5px;
}
.pain-tab{
 flex:1;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:0.5rem;
 padding:0.75rem 1.25rem;
 border-radius:100px;
 border:none;
 background:transparent;
 font-family:var(--font-sans);
 font-size:0.875rem;
 font-weight:500;
 color:rgba(44,62,48,0.5);
 cursor:pointer;
 transition:background 0.3s ease,color 0.3s ease,box-shadow 0.3s ease;
 white-space:nowrap;
}
.pain-tab.active{
 background:var(--color-white);
 color:var(--color-charcoal);
 box-shadow:0 2px 12px rgba(0,0,0,0.08);
}
.pain-tab-dot{
 width:8px;
 height:8px;
 border-radius:50%;
 flex-shrink:0;
 transition:opacity 0.3s ease;
}
.pain-tab-dot.outside{background:var(--color-sage)}
.pain-tab-dot.inside{background:var(--color-terracotta)}
.pain-tab:not(.active) .pain-tab-dot{opacity:0.4}
.pain-panels{
 max-width:860px;
 margin:0 auto;
 padding:0 1.5rem;
 position:relative;
 min-height:240px;
}
.pain-panel{
 display:none;
 grid-template-columns:repeat(2,1fr);
 gap:1rem;
}
.pain-panel.active{
 display:grid;
}
.pain-item{
 background:var(--color-white);
 border-radius:16px;
 padding:1.25rem 1.5rem;
 display:flex;
 align-items:flex-start;
 gap:1rem;
 border:1px solid rgba(44,62,48,0.06);
 opacity:0;
 transform:translateY(14px);
 transition:opacity 0.38s ease,transform 0.38s var(--ease-out-expo),box-shadow 0.3s ease,border-color 0.3s ease;
}
.pain-item:hover{
 box-shadow:0 6px 24px rgba(44,62,48,0.07);
 border-color:rgba(44,62,48,0.12);
}
.pain-item.visible{
 opacity:1;
 transform:translateY(0);
}
.pain-item-icon{
 width:36px;
 height:36px;
 border-radius:10px;
 display:flex;
 align-items:center;
 justify-content:center;
 flex-shrink:0;
 margin-top:0.1rem;
}
.pain-panel--outside .pain-item-icon{
 background:rgba(74,107,93,0.08);
}
.pain-panel--outside .pain-item-icon svg{
 stroke:var(--color-sage);
}
.pain-panel--inside .pain-item-icon{
 background:rgba(196,117,91,0.1);
}
.pain-panel--inside .pain-item-icon svg{
 stroke:var(--color-terracotta);
}
.pain-item-icon svg{
 width:17px;
 height:17px;
 fill:none;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.pain-item-text{
 font-size:1rem;
 color:var(--color-charcoal);
 line-height:1.5;
}
.pain-footer{
 text-align:center;
 margin-top:2.75rem;
 font-size:1.0625rem;
 color:var(--color-warm-gray);
 font-style:italic;
 max-width:560px;
 margin-left:auto;
 margin-right:auto;
 padding:0 1.5rem;
}
@media (max-width:640px){
 .pain-panel{grid-template-columns:1fr}
 .pain-tabs{max-width:100%;margin-left:1rem;margin-right:1rem}
 .pain-tab{font-size:0.8125rem;padding:0.625rem 1rem}
}
.cycle-section{
 background:var(--color-sage-dark);
 padding:6rem 0 5rem;
 position:relative;
 overflow:hidden;
}
.cycle-section::before{
 content:'';
 position:absolute;
 inset:0;
 background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
 pointer-events:none;
}
.cycle-inner{
 max-width:680px;
 margin:0 auto;
 padding:0 1.5rem;
 position:relative;
 z-index:1;
}
.cycle-heading{
 font-family:var(--font-serif);
 font-size:clamp(1.75rem,3.5vw,2.75rem);
 line-height:1.2;
 color:var(--color-cream);
 margin-bottom:1rem;
}
.cycle-heading em{
 font-style:italic;
 color:var(--color-sage-light);
}
.cycle-intro{
 font-size:1rem;
 color:rgba(245,240,232,0.65);
 margin-bottom:3.5rem;
 line-height:1.7;
}
.cycle-track-wrap{
 position:relative;
 padding-left:64px;
 margin-bottom:0;
}
.cycle-track-bg{
 position:absolute;
 left:19px;
 top:16px;
 bottom:16px;
 width:2px;
 background:rgba(107,155,134,0.18);
 border-radius:2px;
}
.cycle-track-fill{
 position:absolute;
 left:19px;
 top:16px;
 width:2px;
 height:0;
 background:linear-gradient(to bottom,var(--color-sage-light),var(--color-sage));
 border-radius:2px;
 will-change:height;
}
.cycle-item{
 position:relative;
 padding:2.5rem 0;
 display:flex;
 align-items:center;
 min-height:110px;
}
.cycle-dot-wrap{
 position:absolute;
 left:-64px;
 top:50%;
 transform:translateY(-50%);
 width:40px;
 height:40px;
 display:flex;
 align-items:center;
 justify-content:center;
}
.cycle-dot{
 width:14px;
 height:14px;
 border-radius:50%;
 background:transparent;
 border:2px solid rgba(107,155,134,0.3);
 transition:all 0.45s var(--ease-out-expo);
 position:relative;
 z-index:2;
 flex-shrink:0;
}
.cycle-dot.active{
 background:var(--color-sage-light);
 border-color:var(--color-sage-light);
 transform:scale(1.3);
 box-shadow:0 0 0 4px rgba(107,155,134,0.18),0 0 0 8px rgba(107,155,134,0.07);
}
.cycle-dot-ripple{
 position:absolute;
 inset:-9px;
 border-radius:50%;
 border:1.5px solid rgba(107,155,134,0);
 pointer-events:none;
}
.cycle-dot.active .cycle-dot-ripple{
 animation:cycle-ripple 1.6s ease-out infinite;
}
@keyframes cycle-ripple{
 0%{inset:-4px;border-color:rgba(107,155,134,0.55);opacity:1}
 100%{inset:-18px;border-color:rgba(107,155,134,0);opacity:0}
}
.cycle-item-content{
 display:flex;
 align-items:center;
 gap:0.875rem;
}
.cycle-item-num{
 font-size:0.6875rem;
 font-weight:600;
 letter-spacing:0.12em;
 color:rgba(107,155,134,0.35);
 transition:color 0.4s ease;
 min-width:1.5rem;
 flex-shrink:0;
}
.cycle-item.active .cycle-item-num{
 color:var(--color-sage-light);
}
.cycle-item-text{
 font-size:1.1875rem;
 color:rgba(245,240,232,0.3);
 line-height:1.5;
 transition:color 0.45s ease,transform 0.45s var(--ease-out-expo);
 transform:translateX(-6px);
}
.cycle-item.active .cycle-item-text{
 color:var(--color-cream);
 transform:translateX(0);
}
.cycle-footer{
 font-size:1rem;
 color:rgba(245,240,232,0.6);
 line-height:1.7;
 font-style:italic;
 margin-top:2.5rem;
 padding-top:2rem;
 border-top:1px solid rgba(107,155,134,0.18);
}
@media (max-width:480px){
 .cycle-track-wrap{padding-left:48px}
 .cycle-dot-wrap{left:-48px}
 .cycle-track-bg,.cycle-track-fill{left:13px}
}
.price-shortcut{
 background:var(--color-cream);
 padding:2.4rem 1rem 2.6rem;
 text-align:center;
 position:relative;
}
.price-shortcut-link{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:1.4rem;
 text-decoration:none;
 color:var(--color-warm-gray);
 font-family:var(--font-serif);
 font-size:1.05rem;
 font-style:italic;
 letter-spacing:-0.01em;
 transition:color 0.4s ease;
 cursor:pointer;
 max-width:90vw;
}
.price-shortcut-link:hover{color:var(--color-charcoal)}
.price-shortcut-divider{
 width:44px;
 height:1px;
 background:rgba(43,45,42,0.18);
 flex-shrink:0;
 transition:width 0.45s var(--ease-out-expo),background 0.4s ease;
}
.price-shortcut-link:hover .price-shortcut-divider{
 width:56px;
 background:rgba(45,74,60,0.32);
}
.price-shortcut-text{
 display:inline-flex;
 align-items:center;
 gap:1rem;
}
.price-shortcut-text em{
 font-style:italic;
}
.price-shortcut-cta{
 font-family:var(--font-sans);
 font-style:normal;
 font-size:0.82rem;
 font-weight:600;
 letter-spacing:0.025em;
 display:inline-flex;
 align-items:center;
 gap:0.5rem;
 padding:0.58rem 1.15rem 0.58rem 1.25rem;
 border-radius:999px;
 background:var(--color-sage-dark);
 color:var(--color-cream);
 transition:background 0.4s ease,transform 0.4s var(--ease-out-expo),box-shadow 0.4s ease;
 box-shadow:0 5px 16px rgba(45,74,60,0.18),inset 0 1px 0 rgba(255,255,255,0.08);
 white-space:nowrap;
}
.price-shortcut-cta svg{
 width:14px;
 height:14px;
 stroke:currentColor;
 stroke-width:2;
 fill:none;
 stroke-linecap:round;
 stroke-linejoin:round;
 transition:transform 0.4s var(--ease-out-expo);
}
.price-shortcut-link:hover .price-shortcut-cta{
 background:#1F3329;
 transform:translateY(-2px);
 box-shadow:0 9px 24px rgba(45,74,60,0.26),inset 0 1px 0 rgba(255,255,255,0.1);
}
.price-shortcut-link:hover .price-shortcut-cta svg{
 transform:translateX(4px);
}
.price-shortcut-link:focus-visible{
 outline:2px solid var(--color-terracotta);
 outline-offset:6px;
 border-radius:8px;
}
@media (max-width:700px){
 .price-shortcut{padding:1.9rem 1rem 2.1rem}
 .price-shortcut-link{flex-direction:column;gap:0.95rem;font-size:0.98rem}
 .price-shortcut-text{flex-direction:column;gap:0.75rem}
 .price-shortcut-divider{width:32px}
 .price-shortcut-link:hover .price-shortcut-divider{width:44px}
}
.solution-section{
 background:var(--color-cream);
 padding:6rem 0 5rem;
 position:relative;
 overflow:hidden;
}
.solution-section::before{
 content:'';
 position:absolute;
 top:0;left:0;right:0;
 height:4px;
 background:linear-gradient(90deg,transparent,var(--color-sage),transparent);
 opacity:0.4;
}
.solution-inner{
 max-width:900px;
 margin:0 auto;
 padding:0 1.5rem;
}
.solution-label{
 display:inline-flex;
 align-items:center;
 gap:0.5rem;
 font-size:0.75rem;
 font-weight:600;
 letter-spacing:0.1em;
 text-transform:uppercase;
 color:var(--color-sage);
 margin-bottom:1.25rem;
}
.solution-label::before{
 content:'';
 display:block;
 width:24px;
 height:1.5px;
 background:var(--color-sage);
 border-radius:2px;
}
.solution-inner h2{
 font-family:var(--font-serif);
 font-size:clamp(1.875rem,3.5vw,2.875rem);
 line-height:1.18;
 color:var(--color-charcoal);
 margin-bottom:1rem;
 max-width:680px;
}
.solution-inner h2 em{
 font-style:italic;
 color:var(--color-sage);
}
.solution-lead{
 font-size:1.0625rem;
 color:rgba(30,35,30,0.65);
 line-height:1.7;
 max-width:600px;
 margin-bottom:3rem;
}
.solution-cards{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:1.5rem;
 margin-bottom:3rem;
}
.solution-card{
 background:var(--color-white);
 border-radius:20px;
 padding:2.25rem 2rem;
 border:1px solid rgba(74,107,93,0.08);
 position:relative;
 overflow:hidden;
 transition:transform 0.35s var(--ease-out-expo),box-shadow 0.35s ease,border-color 0.35s ease;
}
.solution-card:hover{
 transform:translateY(-5px);
 box-shadow:0 20px 50px rgba(44,62,48,0.09);
 border-color:rgba(74,107,93,0.22);
}
.solution-card-num{
 font-family:var(--font-serif);
 font-size:3rem;
 font-weight:700;
 line-height:1;
 color:rgba(74,107,93,0.1);
 position:absolute;
 top:1.25rem;
 right:1.5rem;
 letter-spacing:-0.04em;
 pointer-events:none;
}
.solution-card-icon{
 width:48px;
 height:48px;
 border-radius:14px;
 background:rgba(74,107,93,0.07);
 display:flex;
 align-items:center;
 justify-content:center;
 margin-bottom:1.5rem;
 transition:background 0.3s ease;
}
.solution-card:hover .solution-card-icon{
 background:rgba(74,107,93,0.13);
}
.solution-card-icon svg{
 width:22px;
 height:22px;
 stroke:var(--color-sage);
}
.solution-card h3{
 font-family:var(--font-serif);
 font-size:1.125rem;
 color:var(--color-charcoal);
 margin-bottom:0.75rem;
 font-weight:600;
 line-height:1.3;
}
.solution-card p{
 font-size:0.9375rem;
 color:rgba(30,35,30,0.55);
 line-height:1.7;
}
.solution-callout{
 background:var(--color-sage-dark);
 border-radius:18px;
 padding:2.25rem 2.5rem;
 display:flex;
 align-items:center;
 gap:2rem;
 margin-bottom:2.5rem;
 position:relative;
 overflow:hidden;
}
.solution-callout::before{
 content:'';
 position:absolute;
 inset:0;
 background:radial-gradient(ellipse at 80% 50%,rgba(107,155,134,0.15) 0%,transparent 60%);
 pointer-events:none;
}
.solution-callout-quote{
 font-size:2.5rem;
 font-family:var(--font-serif);
 color:var(--color-sage-light);
 line-height:1;
 opacity:0.5;
 flex-shrink:0;
}
.solution-callout p{
 font-family:var(--font-serif);
 font-size:clamp(1rem,1.8vw,1.25rem);
 color:var(--color-cream);
 line-height:1.6;
 font-style:italic;
}
.solution-cta-wrap{
 margin-top:0;
 display:flex;
 flex-direction:column;
 align-items:center;
 gap:0.75rem;
 text-align:center;
}
@media (max-width:760px){
 .solution-cards{grid-template-columns:1fr}
 .solution-callout{flex-direction:column;gap:1rem;padding:1.75rem}
 .solution-callout-quote{font-size:2rem}
 .solution-cta-wrap{align-items:stretch}
}
.benefits-section{
 background:var(--color-cream);
 padding:6rem 0 5rem;
 position:relative;
 overflow:hidden;
}
.benefits-header{
 text-align:center;
 margin-bottom:4rem;
 padding:0 1.5rem;
 position:relative;
}
.benefits-decoration{
 display:inline-flex;
 margin-bottom:1rem;
}
.benefits-decoration svg{
 width:36px;
 height:20px;
 fill:var(--color-sage);
 opacity:0.6;
}
.benefits-title{
 font-family:var(--font-serif);
 font-size:clamp(2rem,4.5vw,3.4rem);
 font-weight:400;
 line-height:1.05;
 color:var(--color-charcoal);
 margin:0 0 1rem;
 letter-spacing:-0.018em;
}
.benefits-title em{
 font-style:italic;
 color:var(--color-sage);
}
.benefits-subtitle{
 font-size:1rem;
 color:var(--color-warm-gray);
 font-weight:300;
 line-height:1.65;
 max-width:660px;
 margin:0 auto;
}
.benefits-board{
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);
 gap:1.25rem;
 align-items:stretch;
 max-width:1320px;
 margin:0 auto;
 padding:1.25rem 1.5rem 0;
 position:relative;
}
.benefits-panel{position:relative;z-index:1}
.benefits-compass{position:relative;z-index:2}
@media (max-width:1024px){
 .benefits-connectors{display:none}
}
.benefits-panel{
 position:relative;
 border-radius:24px;
 padding:2.25rem 1.35rem 1.5rem;
 display:flex;
 flex-direction:column;
 gap:0.7rem;
}
.benefits-panel-less{
 background:linear-gradient(180deg,rgba(196,117,91,0.12) 0%,rgba(196,117,91,0.04) 100%);
 border:1px solid rgba(196,117,91,0.18);
}
.benefits-panel-more{
 background:linear-gradient(180deg,rgba(74,107,93,0.10) 0%,rgba(74,107,93,0.03) 100%);
 border:1px solid rgba(74,107,93,0.16);
}
.benefits-panel-label{
 position:absolute;
 top:-14px;
 left:1.25rem;
 display:inline-flex;
 align-items:center;
 padding:0.55rem 1.2rem;
 border-radius:999px;
 font-size:0.66rem;
 font-weight:700;
 letter-spacing:0.15em;
 text-transform:uppercase;
 color:var(--color-cream);
 box-shadow:0 4px 14px rgba(0,0,0,0.10),inset 0 1px 0 rgba(255,255,255,0.18);
 z-index:2;
 white-space:nowrap;
}
.benefits-panel-less .benefits-panel-label{
 background:linear-gradient(135deg,var(--color-terracotta) 0%,#B0654E 100%);
}
.benefits-panel-more .benefits-panel-label{
 background:linear-gradient(135deg,var(--color-sage) 0%,#3F5C50 100%);
}
.benefit-card{
 display:grid;
 grid-template-columns:30px 1fr 30px;
 align-items:center;
 gap:0.85rem;
 padding:0.95rem 1.15rem;
 background:var(--color-white);
 border-radius:14px;
 box-shadow:0 2px 8px rgba(74,107,93,0.04);
 transition:transform 0.4s var(--ease-out-expo),box-shadow 0.4s ease;
}
.benefit-card:hover{
 transform:translateY(-2px);
 box-shadow:0 8px 22px rgba(74,107,93,0.10);
}
.benefit-icon-wrap{
 width:26px;height:26px;
 border-radius:50%;
 display:flex;align-items:center;justify-content:center;
 flex-shrink:0;
}
.benefit-card-less .benefit-icon-wrap{
 background:rgba(196,117,91,0.14);
 color:var(--color-terracotta);
}
.benefit-card-more .benefit-icon-wrap{
 background:rgba(74,107,93,0.16);
 color:var(--color-sage);
}
.benefit-icon-wrap svg{
 width:13px;height:13px;
 stroke:currentColor;fill:none;
 stroke-width:2.6;
 stroke-linecap:round;stroke-linejoin:round;
}
.benefit-text{
 font-size:0.84rem;
 color:var(--color-charcoal);
 line-height:1.4;
 font-weight:400;
}
.benefit-glyph{
 width:28px;height:28px;
 display:flex;align-items:center;justify-content:center;
 opacity:0.55;
}
.benefit-glyph svg{
 width:22px;height:22px;
 stroke:currentColor;fill:none;
 stroke-width:1.5;
 stroke-linecap:round;stroke-linejoin:round;
}
.benefit-card-less .benefit-glyph{color:var(--color-terracotta)}
.benefit-card-more .benefit-glyph{color:var(--color-sage)}
.benefits-compass{
 position:relative;
 display:flex;
 align-items:center;
 justify-content:center;
 min-height:460px;
}
.benefits-compass-ring{
 position:absolute;
 inset:0;
 display:flex;
 align-items:center;
 justify-content:center;
 z-index:0;
}
.benefits-compass-ring svg{
 width:380px;
 height:380px;
 max-width:100%;
 overflow:visible;
}
.compass-outer-dashed{
 fill:none;
 stroke:rgba(45,74,60,0.22);
 stroke-width:0.5;
 stroke-dasharray:1.4 2.6;
}
.compass-mid-ring{
 fill:none;
 stroke:rgba(45,74,60,0.10);
 stroke-width:0.4;
}
.compass-half-left{
 fill:none;
 stroke:var(--color-terracotta);
 stroke-width:1.6;
 stroke-linecap:round;
 opacity:0.85;
}
.compass-half-right{
 fill:none;
 stroke:var(--color-sage);
 stroke-width:1.6;
 stroke-linecap:round;
 opacity:0.85;
}
.compass-ticks line{
 stroke:rgba(45,74,60,0.28);
 stroke-width:0.9;
 stroke-linecap:round;
}
.compass-rose .rose-cardinal{
 fill:rgba(45,74,60,0.18);
 stroke:rgba(45,74,60,0.32);
 stroke-width:0.4;
}
.compass-rose .rose-diag{
 fill:rgba(45,74,60,0.10);
 stroke:rgba(45,74,60,0.20);
 stroke-width:0.3;
}
.compass-rose .rose-north{
 fill:rgba(196,117,91,0.35);
 stroke:rgba(196,117,91,0.50);
}
.compass-rose-center-outer{
 fill:rgba(45,74,60,0.15);
 stroke:rgba(45,74,60,0.40);
 stroke-width:0.6;
}
.compass-rose-center-inner{
 fill:var(--color-sage-dark);
}
.benefits-compass-center{
 position:relative;
 z-index:5;
 width:220px;
 height:220px;
 border-radius:50%;
 background:radial-gradient(circle at center,var(--color-white) 0%,var(--color-cream) 100%);
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 text-align:center;
 padding:1.4rem;
 gap:0.5rem;
 box-shadow:0 0 0 1px rgba(45,74,60,0.06);
}
.benefits-compass-icon{
 width:36px;height:36px;
 display:flex;align-items:center;justify-content:center;
 margin-bottom:0.1rem;
}
.benefits-compass-icon svg{
 width:26px;height:26px;
 stroke:var(--color-sage);
 fill:none;stroke-width:1.5;
 stroke-linecap:round;stroke-linejoin:round;
}
.benefits-compass-title{
 font-family:var(--font-serif);
 font-size:1rem;
 color:var(--color-charcoal);
 font-weight:400;
 line-height:1.22;
 margin:0;
 letter-spacing:-0.005em;
}
.benefits-compass-divider{
 width:32px;
 height:1px;
 background:rgba(45,74,60,0.18);
 margin:0.25rem 0;
}
.benefits-compass-note{
 font-size:0.6rem;
 letter-spacing:0.16em;
 text-transform:uppercase;
 color:var(--color-warm-gray);
 font-weight:700;
 line-height:1.5;
}
.benefits-compass-axis{
 position:absolute;
 z-index:2;
}
.benefits-axis-label{
 display:inline-flex;
 align-items:center;
 gap:0.45rem;
 padding:0.55rem 1rem;
 background:var(--color-white);
 border:1px solid rgba(212,202,187,0.6);
 border-radius:999px;
 box-shadow:0 4px 14px rgba(74,107,93,0.09);
 font-size:0.66rem;
 font-weight:700;
 letter-spacing:0.15em;
 text-transform:uppercase;
 color:#6E6960;
 white-space:nowrap;
 transition:transform 0.35s var(--ease-out-expo),box-shadow 0.35s ease;
}
.benefits-axis-label:hover{
 transform:translateY(-1px);
 box-shadow:0 6px 16px rgba(74,107,93,0.10);
}
.benefits-axis-label svg{
 width:14px;height:14px;
 stroke:currentColor;fill:none;
 stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;
 flex-shrink:0;
 opacity:0.95;
}
.benefits-axis-top{top:50%;left:50%;transform:translate(-50%,calc(-50% - 182px))}
.benefits-axis-bottom{top:50%;left:50%;transform:translate(-50%,calc(-50% + 182px))}
.benefits-axis-left{top:50%;left:50%;transform:translate(calc(-50% - 182px),-50%)}
.benefits-axis-right{top:50%;left:50%;transform:translate(calc(-50% + 182px),-50%)}
.benefits-compass-axis{z-index:6}
.benefits-axis-top .benefits-axis-label svg{stroke:var(--color-sage)}
.benefits-axis-bottom .benefits-axis-label svg{stroke:var(--color-blue-soft)}
.benefits-axis-left .benefits-axis-label svg{stroke:var(--color-lavender)}
.benefits-axis-right .benefits-axis-label svg{stroke:var(--color-terracotta)}
.benefits-footer{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:1.2rem;
 margin:3.5rem auto 0;
 padding:1rem 1.5rem;
 max-width:780px;
 border:1px dashed rgba(74,107,93,0.20);
 border-radius:18px;
 background:rgba(74,107,93,0.03);
}
.benefits-footer-icon{
 width:38px;height:38px;
 border-radius:50%;
 background:rgba(74,107,93,0.12);
 display:flex;align-items:center;justify-content:center;
 flex-shrink:0;
}
.benefits-footer-icon svg{
 width:19px;height:19px;
 fill:var(--color-sage);
}
.benefits-footer-text{
 font-size:0.95rem;
 color:var(--color-charcoal);
 font-weight:300;
 line-height:1.5;
 margin:0;
 text-align:center;
 flex:1;
}
.benefits-footer-text strong{
 font-weight:500;
 color:var(--color-sage);
}
.benefits-footer-leaf{
 width:40px;
 height:18px;
 fill:var(--color-sage);
 opacity:0.32;
 flex-shrink:0;
}
.benefits-footer-leaf-right{transform:scaleX(-1)}
@media (max-width:1024px){
 .benefits-section{padding:5rem 0 4.5rem}
 .benefits-header{margin-bottom:3rem}
 .benefits-board{
 grid-template-columns:1fr;
 gap:1.5rem;
 max-width:560px;
 padding:1.25rem 1rem 0;
}
 .benefits-compass{display:none !important}
 .benefits-panel-more{order:1;padding:2.25rem 1.1rem 1.5rem}
 .benefits-panel-less{order:2;padding:2.25rem 1.1rem 1.5rem}
}
@media (max-width:640px){
 .benefits-title{font-size:2rem}
 .benefits-subtitle{font-size:0.92rem;padding:0 0.5rem}
 .benefits-board{padding:1.25rem 0.85rem 0}
 .benefits-panel{padding:2rem 1rem 1.35rem}
 .benefits-panel-label{padding:0.5rem 1rem;font-size:0.6rem}
 .benefits-footer{
 flex-direction:column;
 gap:0.85rem;
 padding:1.1rem 1.25rem;
 margin-top:2.5rem;
}
 .benefits-footer-leaf{display:none}
 .benefits-footer-text{font-size:0.86rem}
 .benefit-card{grid-template-columns:26px 1fr;gap:0.7rem;padding:0.85rem 0.95rem}
 .benefit-glyph{display:none}
}
.how-start-section{
 background:var(--color-cream-dark);
 padding:6rem 0 5.5rem;
 position:relative;
 overflow:hidden;
}
.how-start-inner{
 max-width:1180px;
 margin:0 auto;
 padding:0 1.5rem;
 text-align:center;
}
.how-start-kicker{
 display:inline-flex;
 align-items:center;
 gap:0.55rem;
 padding:0.45rem 1.1rem;
 border-radius:999px;
 background:rgba(74,107,93,0.08);
 border:1px solid rgba(74,107,93,0.15);
 font-size:0.72rem;
 font-weight:600;
 letter-spacing:0.13em;
 text-transform:uppercase;
 color:var(--color-sage-dark);
 margin-bottom:1.5rem;
}
.how-start-kicker-icon{
 width:14px;
 height:14px;
 fill:var(--color-sage);
 flex-shrink:0;
}
.how-start-title{
 font-family:var(--font-serif);
 font-size:clamp(2.2rem,5vw,3.5rem);
 font-weight:400;
 line-height:1.05;
 color:var(--color-charcoal);
 margin:0 0 0.85rem;
 letter-spacing:-0.018em;
}
.how-start-title em{
 font-style:italic;
 color:var(--color-sage);
}
.how-start-subtitle{
 font-size:1rem;
 color:var(--color-warm-gray);
 margin:0 auto 3.5rem;
 font-weight:300;
 line-height:1.6;
 max-width:580px;
}
.how-start-timeline{
 position:relative;
 max-width:980px;
 margin:0 auto 1.5rem;
 height:70px;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:0 36px;
}
.how-start-line{
 position:absolute;
 top:50%;
 left:70px;
 right:70px;
 height:1.5px;
 transform:translateY(-50%);
 background:rgba(74,107,93,0.15);
 border-radius:2px;
 overflow:hidden;
}
.how-start-line-fill{
 position:absolute;
 top:0;
 left:0;
 height:100%;
 width:25%;
 background:linear-gradient(90deg,var(--color-sage-dark) 0%,var(--color-sage) 100%);
 border-radius:2px;
 box-shadow:0 0 10px rgba(74,107,93,0.35);
 transform-origin:left center;
 animation:how-start-line-grow 1.4s var(--ease-out-expo) 0.4s both;
}
@keyframes how-start-line-grow{
 from{transform:scaleX(0)}
 to{transform:scaleX(1)}
}
.how-start-line-dash{
 position:absolute;
 top:0;
 left:25%;
 right:0;
 height:100%;
 background-image:linear-gradient(90deg,rgba(74,107,93,0.35) 50%,transparent 50%);
 background-size:8px 100%;
 background-repeat:repeat-x;
 opacity:0;
 animation:how-start-fade-in 0.6s ease 1.4s forwards;
}
@keyframes how-start-fade-in{
 to{opacity:1}
}
.how-start-nodes{
 position:relative;
 width:100%;
 display:flex;
 justify-content:space-between;
 align-items:center;
 z-index:1;
}
.how-start-node{
 width:50px;
 height:50px;
 border-radius:50%;
 background:var(--color-white);
 border:1.5px solid rgba(74,107,93,0.25);
 display:flex;
 align-items:center;
 justify-content:center;
 font-family:var(--font-serif);
 font-size:1.15rem;
 color:var(--color-sage);
 font-weight:400;
 position:relative;
 transition:all 0.4s var(--ease-out-expo);
 box-shadow:0 2px 8px rgba(74,107,93,0.06);
}
.how-start-node.is-active{
 background:var(--color-sage-dark);
 border-color:var(--color-sage-dark);
 color:var(--color-cream);
 box-shadow:
 0 6px 18px rgba(45,74,60,0.32),
 0 0 0 6px rgba(74,107,93,0.10);
 animation:how-start-node-glow 2.4s ease-in-out infinite;
}
@keyframes how-start-node-glow{
 0%,100%{box-shadow:0 6px 18px rgba(45,74,60,0.32),0 0 0 6px rgba(74,107,93,0.10)}
 50%{box-shadow:0 8px 24px rgba(45,74,60,0.4),0 0 0 10px rgba(74,107,93,0.06)}
}
.how-start-cards{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:1.1rem;
 margin:0 auto 2.75rem;
 max-width:1200px;
}
.how-start-card{
 background:var(--color-white);
 border-radius:22px;
 padding:0;
 border:1px solid rgba(212,202,187,0.55);
 position:relative;
 transition:transform 0.45s var(--ease-out-expo),box-shadow 0.45s ease,border-color 0.4s ease;
 display:block;
 overflow:hidden;
 aspect-ratio:362 / 543;
}
.how-start-card-num,
.how-start-card-title{
 position:absolute;
 width:1px;height:1px;
 padding:0;margin:-1px;
 overflow:hidden;
 clip:rect(0,0,0,0);
 white-space:nowrap;
 border:0;
}
.how-start-card-scene{
 width:100%;
 height:100%;
 margin:0;
 display:block;
 background-image:url('../../processo-terapeutico.svg');
 background-repeat:no-repeat;
 background-size:400% 200%;
 transition:transform 0.5s var(--ease-out-expo);
}
.how-start-card:hover .how-start-card-scene{
 transform:scale(1.03);
}
.how-start-card[data-step="1"] .how-start-card-scene{background-position:0% 0%}
.how-start-card[data-step="2"] .how-start-card-scene{background-position:33.333% 0%}
.how-start-card[data-step="3"] .how-start-card-scene{background-position:66.666% 0%}
.how-start-card[data-step="4"] .how-start-card-scene{background-position:100% 0%}
.how-start-card[data-step="5"] .how-start-card-scene{background-position:0% 100%}
.how-start-card[data-step="6"] .how-start-card-scene{background-position:33.333% 100%}
.how-start-card[data-step="7"] .how-start-card-scene{background-position:66.666% 100%}
.how-start-card[data-step="8"] .how-start-card-scene{background-position:100% 100%}
.how-start-card-illust{display:none}
.how-start-card-illust .ill-stroke{
 fill:none;
 stroke:var(--color-sage-dark);
 stroke-width:1.5;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.how-start-card-illust .ill-fill-sage{fill:var(--color-sage-dark);stroke:none}
.how-start-card-illust .ill-fill-sage-light{fill:var(--color-sage);stroke:none}
.how-start-card-illust .ill-fill-cream{fill:var(--color-cream);stroke:none}
.how-start-card-illust .ill-fill-white{fill:var(--color-white);stroke:none}
.how-start-card-illust .ill-fill-bg{fill:rgba(74,107,93,0.10);stroke:none}
.how-start-card-illust .ill-soft-stroke{
 fill:none;
 stroke:rgba(74,107,93,0.35);
 stroke-width:1;
 stroke-linecap:round;
}
.how-start-card::before{
 content:'';
 position:absolute;
 top:0;
 left:10%;right:10%;
 height:2px;
 background:linear-gradient(90deg,transparent 0%,var(--color-sage) 50%,transparent 100%);
 opacity:0;
 transform:translateY(-2px);
 transition:opacity 0.4s ease,transform 0.4s var(--ease-out-expo);
}
.how-start-card:hover{
 transform:translateY(-6px);
 box-shadow:0 18px 42px rgba(74,107,93,0.14),0 4px 12px rgba(74,107,93,0.06);
 border-color:rgba(74,107,93,0.18);
}
.how-start-card:hover::before{
 opacity:1;
 transform:translateY(0);
}
.how-start-dots{
 display:flex;
 justify-content:center;
 align-items:center;
 gap:0.45rem;
 margin:0 auto 3.5rem;
}
.how-start-dot{
 width:7px;
 height:7px;
 border-radius:50%;
 background:rgba(74,107,93,0.22);
 transition:all 0.35s ease;
}
.how-start-dot.is-active{
 width:22px;
 border-radius:999px;
 background:var(--color-sage-dark);
}
.how-start-cta-card{
 background:linear-gradient(135deg,var(--color-white) 0%,var(--color-cream) 100%);
 border-radius:24px;
 border:1px solid rgba(212,202,187,0.55);
 padding:2.25rem 2.5rem;
 display:grid;
 grid-template-columns:auto 1fr auto;
 align-items:center;
 gap:2rem;
 max-width:1100px;
 margin:0 auto;
 position:relative;
 box-shadow:0 12px 36px rgba(74,107,93,0.07),0 2px 6px rgba(74,107,93,0.04);
 text-align:left;
}
.how-start-cta-card::before{
 content:'';
 position:absolute;
 inset:0;
 border-radius:24px;
 background:radial-gradient(circle at 90% 50%,rgba(74,107,93,0.06),transparent 55%);
 pointer-events:none;
}
.how-start-cta-icon-wrap{
 width:64px;
 height:64px;
 border-radius:50%;
 background:rgba(74,107,93,0.10);
 border:1px solid rgba(74,107,93,0.15);
 display:flex;
 align-items:center;
 justify-content:center;
 position:relative;
 flex-shrink:0;
}
.how-start-cta-icon-pulse{
 position:absolute;
 inset:-2px;
 border-radius:50%;
 border:2px solid var(--color-sage);
 opacity:0;
 animation:how-start-pulse 2.4s ease-out infinite;
}
@keyframes how-start-pulse{
 0%{transform:scale(0.95);opacity:0.6}
 100%{transform:scale(1.45);opacity:0}
}
.how-start-cta-icon-svg{
 width:26px;
 height:26px;
 stroke:var(--color-sage-dark);
 fill:none;
 stroke-width:1.75;
 stroke-linecap:round;
 stroke-linejoin:round;
}
.how-start-cta-content{min-width:0;position:relative;z-index:1}
.how-start-cta-title{
 font-family:var(--font-serif);
 font-size:clamp(1.55rem,2.4vw,2rem);
 color:var(--color-charcoal);
 font-weight:400;
 margin:0 0 0.45rem;
 line-height:1.1;
 letter-spacing:-0.01em;
}
.how-start-cta-title em{
 font-style:italic;
 color:var(--color-sage);
}
.how-start-cta-sub{
 color:var(--color-warm-gray);
 font-size:0.9rem;
 line-height:1.55;
 margin:0;
 font-weight:300;
 max-width:480px;
}
.how-start-cta-btn{
 display:inline-flex;
 align-items:center;
 gap:0.7rem;
 padding:1rem 1.65rem;
 background:linear-gradient(135deg,var(--color-sage-dark) 0%,#1F3329 100%);
 color:var(--color-cream);
 border:none;
 border-radius:999px;
 font-size:0.95rem;
 font-weight:600;
 font-family:var(--font-sans);
 letter-spacing:0.015em;
 text-decoration:none;
 cursor:pointer;
 position:relative;
 white-space:nowrap;
 transition:transform 0.4s var(--ease-out-expo),box-shadow 0.4s ease,background 0.4s ease;
 box-shadow:0 8px 24px rgba(45,74,60,0.28),inset 0 1px 0 rgba(255,255,255,0.08);
 flex-shrink:0;
 overflow:hidden;
}
.how-start-cta-btn::before{
 content:'';
 position:absolute;
 inset:0;
 background:radial-gradient(circle at var(--mx,50%) 50%,rgba(255,255,255,0.18),transparent 60%);
 opacity:0;
 transition:opacity 0.4s ease;
 pointer-events:none;
}
.how-start-cta-btn:hover{
 transform:translateY(-2px) scale(1.02);
 box-shadow:0 14px 36px rgba(45,74,60,0.36),inset 0 1px 0 rgba(255,255,255,0.12);
}
.how-start-cta-btn:hover::before{opacity:1}
.how-start-cta-btn:active{
 transform:translateY(0) scale(0.99);
 transition-duration:0.1s;
}
.how-start-cta-btn-icon{
 width:18px;
 height:18px;
 fill:var(--color-cream);
 flex-shrink:0;
 opacity:0.95;
 position:relative;
 z-index:1;
}
.how-start-cta-btn-arrow{
 font-size:1.05rem;
 opacity:0.85;
 transition:transform 0.35s var(--ease-out-expo);
 position:relative;
 z-index:1;
}
.how-start-cta-btn:hover .how-start-cta-btn-arrow{
 transform:translateX(4px);
}
.how-start-cta-info{
 grid-column:1 / -1;
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 justify-content:center;
 gap:1rem;
 padding-top:1.25rem;
 margin-top:0.5rem;
 border-top:1px dashed rgba(74,107,93,0.18);
 font-size:0.78rem;
 color:var(--color-warm-gray);
}
.how-start-cta-info-item{
 display:inline-flex;
 align-items:center;
 gap:0.4rem;
 font-weight:400;
}
.how-start-cta-info-item svg{
 width:13px;
 height:13px;
 stroke:var(--color-sage);
 fill:none;
 stroke-width:1.8;
 stroke-linecap:round;
 stroke-linejoin:round;
 flex-shrink:0;
 opacity:0.7;
}
.how-start-cta-info-sep{
 width:3px;
 height:3px;
 border-radius:50%;
 background:rgba(74,107,93,0.3);
}
.wa-form-wrap{
 background:var(--color-white);
 border-radius:20px;
 padding:2rem;
 border:1px solid rgba(212,202,187,0.5);
 box-shadow:0 4px 24px rgba(74,107,93,0.06);
}
.wa-form-wrap h3{
 font-family:var(--font-serif);
 font-size:1.375rem;
 color:var(--color-charcoal);
 margin-bottom:0.375rem;
 font-weight:400;
}
.wa-form-wrap p{
 font-size:0.875rem;
 color:var(--color-warm-gray);
 margin-bottom:1.5rem;
 font-weight:300;
}
.wa-form{
 display:flex;
 flex-direction:column;
 gap:0.875rem;
}
.wa-form-row{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:0.875rem;
}
.wa-form-field{
 display:flex;
 flex-direction:column;
 gap:0.375rem;
}
.wa-form-field label{
 font-size:0.8125rem;
 font-weight:500;
 color:var(--color-charcoal);
}
.wa-form-field input,
.wa-form-field textarea{
 padding:0.75rem 1rem;
 border:1.5px solid rgba(212,202,187,0.7);
 border-radius:10px;
 font-size:0.9375rem;
 font-family:var(--font-sans);
 color:var(--color-charcoal);
 background:var(--color-cream);
 transition:border-color 0.2s ease,background 0.2s ease;
 outline:none;
 width:100%;
 box-sizing:border-box;
 resize:none;
}
.wa-form-field input::placeholder,
.wa-form-field textarea::placeholder{
 color:rgba(107,95,83,0.4);
}
.wa-form-field input:focus,
.wa-form-field textarea:focus{
 border-color:var(--color-sage);
 background:var(--color-white);
}
.wa-form-submit{
 width:100%;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:0.75rem;
 padding:1.0625rem 1.75rem;
 background:var(--color-sage-dark);
 color:var(--color-cream);
 border:none;
 border-radius:12px;
 font-size:1rem;
 font-weight:500;
 font-family:var(--font-sans);
 letter-spacing:0.01em;
 cursor:pointer;
 transition:background 0.25s ease,transform 0.25s ease,box-shadow 0.25s ease;
 margin-top:0.375rem;
}
.wa-form-submit:hover{
 background:var(--color-sage);
 transform:translateY(-2px);
 box-shadow:0 10px 32px rgba(74,107,93,0.22);
}
.wa-form-submit-icon{
 width:18px;
 height:18px;
 fill:var(--color-cream);
 flex-shrink:0;
 opacity:0.85;
}
.wa-form-submit-arrow{
 margin-left:auto;
 font-size:1.1rem;
 opacity:0.6;
}
.wa-form-note{
 text-align:center;
 font-size:0.8rem;
 color:var(--color-warm-gray);
 margin-top:0.625rem;
 line-height:1.5;
}
@media (max-width:1100px){
 .how-start-cards{
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:1rem;
 max-width:900px;
}
 .how-start-timeline{display:none}
 .how-start-cta-card{grid-template-columns:auto 1fr;row-gap:1.2rem}
 .how-start-cta-btn{grid-column:1 / -1;justify-self:start}
}
@media (max-width:820px){
 .how-start-cards{
 grid-template-columns:repeat(2,minmax(0,1fr));
 max-width:640px;
 gap:0.95rem;
}
}
@media (max-width:560px){
 .how-start-section{padding:4.5rem 0 4rem}
 .how-start-subtitle{margin-bottom:2.5rem}
 .how-start-cards{
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:0.55rem;
 max-width:100%;
 padding:0 0.25rem;
}
 .how-start-card{border-radius:16px}
 .how-start-cta-card{
 grid-template-columns:1fr;
 text-align:center;
 padding:2rem 1.5rem;
 gap:1.25rem;
}
 .how-start-cta-icon-wrap{margin:0 auto}
 .how-start-cta-btn{width:100%;justify-self:center;justify-content:center}
 .how-start-cta-info{padding-top:1rem;gap:0.65rem;font-size:0.72rem;justify-content:center}
}
.anti-fit{
 margin-top:3rem;
 padding:2rem;
 background:var(--color-cream-dark);
 border-radius:1.25rem;
 border-left:4px solid var(--color-terracotta-light);
 display:grid;
 grid-template-columns:300px 1fr;
 gap:2.5rem;
 align-items:center;
}
.anti-fit-photo{
 border-radius:1rem;
 overflow:hidden;
 aspect-ratio:4/5;
 box-shadow:0 16px 40px rgba(0,0,0,0.12);
}
.anti-fit-photo img{
 width:100%;
 height:100%;
 object-fit:cover;
 object-position:center 18%;
 display:block;
}
.anti-fit-body{min-width:0}
@media (max-width:700px){
 .anti-fit{grid-template-columns:1fr;gap:1.5rem;justify-items:center;text-align:center}
 .anti-fit-photo{max-width:230px}
 .anti-fit ul{text-align:left;display:inline-flex}
}
.anti-fit h3{
 font-family:var(--font-serif);
 font-size:1.25rem;
 color:var(--color-charcoal);
 margin-bottom:1rem;
 font-style:italic;
}
.anti-fit ul{
 list-style:none;
 display:flex;
 flex-direction:column;
 gap:0.5rem;
 margin-bottom:1.25rem;
}
.anti-fit ul li{
 font-size:0.9375rem;
 color:var(--color-charcoal);
 padding-left:1.25rem;
 position:relative;
 line-height:1.5;
}
.anti-fit ul li::before{
 content:'';
 position:absolute;
 left:0;
 top:0.55em;
 width:6px;
 height:6px;
 border-radius:50%;
 background:var(--color-terracotta-light);
}
.anti-fit-note{
 font-size:0.9375rem;
 color:var(--color-warm-gray);
 line-height:1.6;
 font-style:italic;
}
.about-features{
 display:flex;
 flex-direction:column;
 gap:0.625rem;
 margin-top:1.5rem;
}
.about-feature-item{
 display:flex;
 align-items:flex-start;
 gap:0.625rem;
 font-size:0.9375rem;
 color:var(--color-charcoal);
 line-height:1.5;
}
.about-feature-item svg{
 width:16px;
 height:16px;
 stroke:var(--color-sage);
 flex-shrink:0;
 margin-top:0.2rem;
}
@media (max-width:768px){
 .pain-grid{grid-template-columns:1fr;gap:2rem}
 .solution-cta-wrap{align-items:stretch}
}
.hero-proof{
 display:flex;
 align-items:center;
 flex-wrap:wrap;
 gap:0.5rem;
 margin-bottom:2rem;
 font-size:0.875rem;
 color:var(--color-warm-gray);
}
.hero-proof-item{
 display:inline-flex;
 align-items:center;
 gap:0.35rem;
}
.hero-proof-item svg{
 width:14px;
 height:14px;
 stroke:var(--color-sage);
 flex-shrink:0;
}
.hero-proof-sep{
 color:var(--color-sand);
}
.hero-microcopy{
 margin-top:1rem;
 font-size:0.8rem;
 color:var(--color-warm-gray);
 font-weight:300;
 letter-spacing:0.01em;
}
.testimonials{
 background:linear-gradient(180deg,#1F3329 0%,#2D4A3C 55%,#1F3329 100%);
 padding:6.5rem 0 6rem;
 position:relative;
 overflow:hidden;
}
.testimonials-bg{
 position:absolute;
 inset:0;
 background:
 radial-gradient(ellipse 55% 50% at 15% 5%,rgba(107,155,134,.18),transparent 60%),
 radial-gradient(ellipse 50% 40% at 85% 85%,rgba(196,117,91,.10),transparent 65%),
 radial-gradient(ellipse 45% 60% at 50% 50%,rgba(74,107,93,.10),transparent 70%);
 pointer-events:none;
 z-index:0;
 transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.testimonials-inner{
 max-width:1180px;
 margin:0 auto;
 padding:0 2rem;
 position:relative;
 z-index:1;
}
.testimonials-header{
 max-width:760px;
 margin:0 auto 3.25rem;
 text-align:center;
}
.testimonials-kicker{
 display:inline-flex;
 align-items:center;
 gap:.55rem;
 font-size:.72rem;
 font-weight:700;
 letter-spacing:.22em;
 text-transform:uppercase;
 color:#D4917C;
 margin-bottom:1.1rem;
}
.testimonials-kicker::before,
.testimonials-kicker::after{
 content:'';
 width:26px;
 height:1px;
 background:rgba(212,145,124,.5);
}
.testimonials-header h2{
 font-family:var(--font-serif);
 font-size:clamp(2.15rem,4.8vw,3.25rem);
 font-weight:400;
 color:var(--color-cream);
 line-height:1.08;
 margin:0 0 1.1rem;
 letter-spacing:-.02em;
}
.testimonials-header h2 em{
 font-style:italic;
 color:var(--color-sage-light);
}
.testimonials-header p{
 font-size:1rem;
 color:rgba(245,240,232,.55);
 line-height:1.75;
 max-width:580px;
 margin:0 auto;
 font-weight:300;
}
.testimonials-carousel{
 position:relative;
 overflow:hidden;
 padding:1rem 0 1.25rem;
 margin:0 -1rem;
 -webkit-mask-image:linear-gradient(90deg,
 transparent 0%,
 rgba(0,0,0,0.04) 3%,
 rgba(0,0,0,0.18) 7%,
 rgba(0,0,0,0.45) 12%,
 rgba(0,0,0,0.78) 17%,
 rgba(0,0,0,0.95) 21%,
 rgba(0,0,0,1) 26%,
 rgba(0,0,0,1) 74%,
 rgba(0,0,0,0.95) 79%,
 rgba(0,0,0,0.78) 83%,
 rgba(0,0,0,0.45) 88%,
 rgba(0,0,0,0.18) 93%,
 rgba(0,0,0,0.04) 97%,
 transparent 100%
 );
 mask-image:linear-gradient(90deg,
 transparent 0%,
 rgba(0,0,0,0.04) 3%,
 rgba(0,0,0,0.18) 7%,
 rgba(0,0,0,0.45) 12%,
 rgba(0,0,0,0.78) 17%,
 rgba(0,0,0,0.95) 21%,
 rgba(0,0,0,1) 26%,
 rgba(0,0,0,1) 74%,
 rgba(0,0,0,0.95) 79%,
 rgba(0,0,0,0.78) 83%,
 rgba(0,0,0,0.45) 88%,
 rgba(0,0,0,0.18) 93%,
 rgba(0,0,0,0.04) 97%,
 transparent 100%
 );
}
.testimonials-track{
 display:flex;
 gap:1.5rem;
 transition:transform .7s cubic-bezier(.16,1,.3,1);
 will-change:transform;
 padding:0 1rem;
 cursor:grab;
}
.testimonials-track:active{cursor:grabbing}
.testimonials-track.is-dragging{transition:none}
.testimonial-slide{
 flex:0 0 auto;
 width:100%;
 max-width:680px;
 opacity:0.32;
 transform:scale(0.92);
 transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1);
 user-select:none;
 -webkit-user-select:none;
}
.testimonial-slide.is-current{
 opacity:1;
 transform:scale(1);
}
.testimonial-slide.is-adjacent{opacity:0.5}
.testimonial-card{
 position:relative;
 background:linear-gradient(135deg,#FEFCF8 0%,#F5F0E8 100%);
 border:1px solid rgba(254,252,248,.18);
 border-radius:1.85rem;
 padding:3rem 3rem 2rem;
 box-shadow:0 30px 80px rgba(0,0,0,.32);
 overflow:hidden;
 height:100%;
 display:flex;
 flex-direction:column;
 min-height:380px;
}
.testimonial-card::before{
 content:'\201C';
 position:absolute;
 top:-3.5rem;
 right:1rem;
 font-family:var(--font-serif);
 font-style:italic;
 font-size:16rem;
 line-height:1;
 color:rgba(196,117,91,.06);
 pointer-events:none;
 user-select:none;
}
.testimonial-card::after{
 content:'';
 position:absolute;
 top:0;left:0;right:0;
 height:3px;
 background:linear-gradient(90deg,#4A6B5D 0%,#6B9B86 50%,#C4755B 100%);
 opacity:.55;
}
.testimonial-tag-row{
 display:flex;
 align-items:center;
 gap:.85rem;
 margin-bottom:1.65rem;
}
.testimonial-num{
 font-family:var(--font-serif);
 font-style:italic;
 font-size:1rem;
 color:rgba(196,117,91,.55);
 font-feature-settings:'tnum';
 letter-spacing:.02em;
}
.testimonial-num strong{
 color:#C4755B;
 font-weight:400;
 font-style:italic;
}
.testimonial-tag-line{
 flex:1;
 height:1px;
 background:linear-gradient(90deg,rgba(74,107,93,.18),rgba(74,107,93,0));
}
.testimonial-theme{
 font-size:.68rem;
 letter-spacing:.16em;
 text-transform:uppercase;
 font-weight:700;
 color:#4A6B5D;
}
.testimonial-quote{
 margin:0 0 1.5rem;
 font-family:var(--font-serif);
 font-style:italic;
 font-size:clamp(1.15rem,1.9vw,1.4rem);
 line-height:1.62;
 color:#2D4A3C;
 flex:1;
 position:relative;
 z-index:1;
}
.testimonial-quote em{
 color:#C4755B;
 font-weight:500;
}
.testimonial-attr{
 padding-top:1.15rem;
 border-top:1px solid rgba(45,74,60,.1);
 display:flex;
 align-items:center;
 gap:.65rem;
 font-size:.76rem;
 letter-spacing:.04em;
 color:#8A857D;
 font-style:normal;
}
.testimonial-attr-dot{
 width:6px;
 height:6px;
 border-radius:50%;
 background:#4A6B5D;
 flex-shrink:0;
}
.testimonials-controls{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:1.5rem;
 margin-top:2.5rem;
}
.testimonials-arrow{
 width:48px;
 height:48px;
 border-radius:50%;
 border:1px solid rgba(254,252,248,.18);
 background:rgba(254,252,248,.06);
 color:var(--color-cream);
 display:flex;
 align-items:center;
 justify-content:center;
 cursor:pointer;
 transition:all .3s var(--ease-out-expo);
 flex-shrink:0;
}
.testimonials-arrow:hover:not(:disabled){
 background:rgba(254,252,248,.14);
 border-color:rgba(254,252,248,.4);
 transform:scale(1.08);
}
.testimonials-arrow:disabled{opacity:.25;cursor:default}
.testimonials-arrow svg{
 width:18px;height:18px;
 stroke:currentColor;
 fill:none;
 stroke-width:2;
 stroke-linecap:round;
 stroke-linejoin:round;
 transition:transform .25s ease;
}
.testimonials-arrow:hover:not(:disabled) svg{transform:translateX(2px)}
.testimonials-arrow.is-prev:hover:not(:disabled) svg{transform:translateX(-2px)}
.testimonials-dots{
 display:flex;
 align-items:center;
 gap:.5rem;
}
.testimonials-dot{
 width:8px;
 height:8px;
 border-radius:50%;
 background:rgba(254,252,248,.22);
 border:none;
 padding:0;
 cursor:pointer;
 transition:all .35s cubic-bezier(.16,1,.3,1);
 position:relative;
 overflow:hidden;
}
.testimonials-dot:hover{background:rgba(254,252,248,.4)}
.testimonials-dot.is-current{
 width:56px;
 border-radius:999px;
}
.testimonials-dot.is-current::after{
 content:'';
 position:absolute;
 inset:0;
 background:linear-gradient(90deg,var(--color-sage-light),#B5DBC9);
 transform-origin:left center;
 transform:scaleX(0);
 animation:testProgress var(--test-duration,7s) linear forwards;
 border-radius:999px;
}
.testimonials-carousel-wrap.is-paused .testimonials-dot.is-current::after{
 animation-play-state:paused;
}
@keyframes testProgress{to{transform:scaleX(1)}}
.testimonials-counter{
 text-align:center;
 margin-top:1.5rem;
 font-family:var(--font-serif);
 font-style:italic;
 font-size:.92rem;
 color:rgba(245,240,232,.45);
 font-feature-settings:'tnum';
}
.testimonials-counter strong{
 color:var(--color-sage-light);
 font-weight:400;
 font-style:italic;
}
.testimonials-counter-sep{
 margin:0 .55rem;
 opacity:.5;
}
.testimonials-foot{
 margin-top:3rem;
 text-align:center;
 font-size:.72rem;
 color:rgba(245,240,232,.4);
 letter-spacing:.04em;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:.75rem;
 flex-wrap:wrap;
}
.testimonials-foot-sep{
 width:4px;
 height:4px;
 border-radius:50%;
 background:rgba(245,240,232,.25);
 display:inline-block;
}
@media (max-width:900px){
 .testimonials{padding:5rem 0 4.5rem}
 .testimonial-card{padding:2.25rem 1.75rem 1.65rem;min-height:360px}
 .testimonial-card::before{font-size:11rem;top:-2.5rem}
 .testimonials-carousel{
 -webkit-mask-image:linear-gradient(90deg,
 transparent 0%,
 rgba(0,0,0,0.35) 4%,
 rgba(0,0,0,0.85) 8%,
 rgba(0,0,0,1) 12%,
 rgba(0,0,0,1) 88%,
 rgba(0,0,0,0.85) 92%,
 rgba(0,0,0,0.35) 96%,
 transparent 100%
 );
 mask-image:linear-gradient(90deg,
 transparent 0%,
 rgba(0,0,0,0.35) 4%,
 rgba(0,0,0,0.85) 8%,
 rgba(0,0,0,1) 12%,
 rgba(0,0,0,1) 88%,
 rgba(0,0,0,0.85) 92%,
 rgba(0,0,0,0.35) 96%,
 transparent 100%
 );
}
 .testimonials-header{margin-bottom:2.5rem}
}
@media (max-width:768px){
 .hero-proof{gap:0.5rem}
 .hero-proof-sep{display:none}
 .testimonial-quote{font-size:1.1rem}
 .testimonials-header h2{font-size:clamp(1.85rem,7vw,2.25rem)}
 .testimonials-foot{flex-direction:column;gap:.35rem}
 .testimonials-foot-sep{display:none}
 .testimonials-arrow{width:42px;height:42px}
}
.tools-banner-section{padding:1.5rem 0 5rem;position:relative}
.tools-banner{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,rgba(74,107,93,.08) 0%,rgba(74,107,93,.03) 100%),var(--color-cream-dark);color:var(--color-charcoal);padding:2rem;border:1px solid rgba(74,107,93,.16);box-shadow:0 8px 30px rgba(45,74,60,.05)}
.tools-banner:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 88% 8%,rgba(74,107,93,.06),transparent 42%);pointer-events:none}
.tools-banner-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:2rem}
.tools-banner-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem;border-radius:999px;background:rgba(74,107,93,.08);border:1px solid rgba(74,107,93,.14);color:var(--color-sage-dark);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;margin-bottom:.95rem}
.tools-banner-kicker:before{content:'';width:7px;height:7px;border-radius:999px;background:var(--color-terracotta);box-shadow:0 0 0 4px rgba(196,117,91,.12)}
.tools-banner h2{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.12;letter-spacing:-.015em;margin-bottom:.75rem;color:var(--color-charcoal)}
.tools-banner h2 em{font-style:italic;color:var(--color-terracotta)}
.tools-banner p{color:var(--color-warm-gray);font-size:.92rem;line-height:1.7;max-width:560px;font-weight:300;margin-bottom:1.35rem}
.tools-banner-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}
.btn-tools-banner{background:var(--color-sage);color:var(--color-cream);font-weight:600;box-shadow:0 6px 20px rgba(74,107,93,.18)}
.btn-tools-banner:hover{background:var(--color-sage-dark);transform:translateY(-2px);box-shadow:0 10px 28px rgba(74,107,93,.24)}
.tools-banner-note{font-size:.78rem;color:var(--color-warm-gray)}
.tools-banner-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.tools-mini-card{min-height:92px;padding:1rem;border-radius:18px;background:var(--color-white);border:1px solid rgba(74,107,93,.12);transition:transform .35s var(--ease-out-expo),box-shadow .35s ease}
.tools-mini-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(45,74,60,.08)}
.tools-mini-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(74,107,93,.1);margin-bottom:.65rem}
.tools-mini-icon svg{width:17px;height:17px;stroke:var(--color-sage);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tools-mini-card strong{display:block;font-size:.88rem;color:var(--color-charcoal);line-height:1.25;margin-bottom:.2rem}
.tools-mini-card span{display:block;font-size:.73rem;color:var(--color-warm-gray);line-height:1.35}
@media(max-width:900px){.tools-banner-section{padding:1rem 0 3.5rem}.tools-banner{padding:1.5rem;border-radius:20px}.tools-banner-inner{grid-template-columns:1fr;gap:1.35rem}.tools-banner-preview{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tools-banner-section{padding:.5rem 0 3rem}.tools-banner{padding:1.25rem}.tools-banner h2{font-size:1.65rem}.tools-banner p{font-size:.9rem}.tools-banner-actions .btn{width:100%;justify-content:center}.tools-banner-note{width:100%;text-align:center}.tools-banner-preview{grid-template-columns:1fr;gap:.6rem}.tools-mini-card{min-height:auto;display:grid;grid-template-columns:34px 1fr;align-items:center;column-gap:.65rem;row-gap:.1rem}.tools-mini-icon{margin-bottom:0;grid-row:span 2;align-self:center}}
@media (max-width:768px){
 .compass-arc{
 animation:none !important;
}
}
/* ===== EXIT-INTENT — Síntese: Editorial Serif / luxo pelo vazio + pele tátil + assinatura de marca ===== */
.exit-intent{
  position:fixed;
  inset:0;
  z-index:1002;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  background:rgba(20,35,28,0.7);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  transition:opacity 0.4s ease, visibility 0.4s ease;
}
.exit-intent.is-open{opacity:1;visibility:visible}

.exit-intent-box{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:436px;
  background:var(--color-white);
  border:1px solid rgba(212,202,187,0.5);
  border-radius:24px;
  padding:3.25rem 2.75rem 2.5rem;
  text-align:center;
  overflow:hidden;
  box-shadow:0 1px 0 rgba(254,252,248,0.9) inset, 0 32px 80px rgba(20,35,28,0.28);
  transform:translateY(20px) scale(0.97);
  transition:transform 0.45s var(--ease-out-expo);
}
.exit-intent.is-open .exit-intent-box{transform:translateY(0) scale(1)}

/* Glow radial sage muito suave nascendo no topo (enxerto #1) — única "profundidade" de cor */
.exit-intent-box::after{
  content:"";
  position:absolute;
  top:-22%;
  left:50%;
  width:78%;
  height:50%;
  transform:translateX(-50%);
  z-index:-2;
  pointer-events:none;
  background:radial-gradient(60% 60% at 50% 50%, rgba(107,155,134,0.12) 0%, rgba(107,155,134,0) 70%);
}

/* Textura de ruído do preloader — profundidade tátil de papel */
.exit-intent-box::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:0.5;
  mix-blend-mode:multiply;
}

.exit-intent-close{
  position:absolute;
  top:1.1rem;
  right:1.1rem;
  z-index:2;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:1px solid rgba(44,62,48,0.12);
  border-radius:50%;
  cursor:pointer;
  color:var(--color-warm-gray);
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.exit-intent-close:hover{
  background:rgba(44,62,48,0.06);
  color:var(--color-charcoal);
  border-color:rgba(44,62,48,0.2);
}
.exit-intent-close:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(107,155,134,0.35);
}
.exit-intent-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}

/* "Antes de você sair" — badge-pill idêntico ao .approach-modal-badge */
.exit-intent-kicker{
  display:inline-block;
  font-family:var(--font-sans);
  background:rgba(74,107,93,0.08);
  color:var(--color-sage);
  border:1px solid rgba(74,107,93,0.15);
  font-size:0.6875rem;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  padding:0.3rem 0.875rem;
  border-radius:100px;
  margin-bottom:1.5rem;
}

.exit-intent-box h3{
  font-family:var(--font-serif);
  font-size:1.85rem;
  font-weight:400;
  line-height:1.18;
  letter-spacing:-0.005em;
  color:var(--color-charcoal);
  margin:0 auto;
  max-width:19ch;
}
.exit-intent-box h3 em{color:var(--color-sage);font-style:italic}

.exit-intent-lede{
  font-family:var(--font-sans);
  font-size:0.9375rem;
  line-height:1.75;
  color:rgba(44,62,48,0.72);
  margin:0.9rem auto 0;
  max-width:32ch;
}

/* Herói visual — o único fato permitido, em serifa gigante (linguagem .pricing-value) */
.exit-intent-hero{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:1.85rem 0 1.6rem;
}
.exit-intent-hero-label{
  font-family:var(--font-sans);
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--color-warm-gray);
  margin-bottom:0.35rem;
}
.exit-intent-price{
  font-family:var(--font-serif);
  font-size:4.25rem;
  line-height:1;
  font-weight:400;
  letter-spacing:-0.01em;
  color:var(--color-sage-dark);
}
.exit-intent-price small{
  font-size:0.32em;
  font-family:var(--font-sans);
  font-weight:500;
  letter-spacing:0.04em;
  vertical-align:super;
  color:var(--color-warm-gray);
  margin-right:0.12em;
}

/* Assinatura de marca (enxerto #3, calmado): arco-de-bússola hairline em terracota
   sob o número, no lugar da régua reta. Desenha-se na entrada via stroke-dasharray. */
.exit-intent-hero-arc{
  display:block;
  width:88px;
  height:auto;
  margin-top:0.95rem;
  overflow:visible;
}
.exit-intent-hero-arc-path{
  fill:none;
  stroke:var(--color-terracotta);
  stroke-width:2;
  stroke-linecap:round;
  opacity:0.55;
  stroke-dasharray:0 100;
}
.exit-intent.is-open .exit-intent-hero-arc-path{
  animation:exit-arc-draw 1.2s var(--ease-out-expo) 0.35s forwards;
}
@keyframes exit-arc-draw{to{stroke-dasharray:100 100}}

/* Garantias — bolinhas sage 6px, idênticas ao li::before do modal */
.exit-intent-points{
  list-style:none;
  margin:0 auto 1.85rem;
  padding:0;
  display:inline-flex;
  flex-direction:column;
  gap:0.55rem;
  text-align:left;
}
.exit-intent-points li{
  position:relative;
  padding-left:1.1rem;
  font-family:var(--font-sans);
  font-size:0.9rem;
  line-height:1.4;
  color:rgba(44,62,48,0.82);
}
.exit-intent-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:0.45em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--color-sage);
}

.exit-intent-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.6rem;
  width:100%;
  padding:1rem 1.5rem;
  background:var(--color-sage);
  color:var(--color-white);
  font-family:var(--font-sans);
  font-size:0.95rem;
  font-weight:600;
  text-decoration:none;
  border-radius:100px;
  box-shadow:0 10px 26px rgba(45,74,60,0.22);
  transition:background 0.25s ease, transform 0.25s var(--ease-out-quart), box-shadow 0.25s ease;
}
.exit-intent-cta:hover{
  background:var(--color-sage-dark);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(45,74,60,0.28);
}
.exit-intent-cta:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(107,155,134,0.4), 0 10px 26px rgba(45,74,60,0.22);
}
.exit-intent-cta svg{width:19px;height:19px;fill:currentColor;flex:0 0 auto}

.exit-intent-foot{
  display:block;
  margin-top:1.1rem;
  font-family:var(--font-sans);
  font-size:0.75rem;
  line-height:1.5;
  letter-spacing:0.01em;
  color:var(--color-warm-gray);
}

/* esconde o exit-intent enquanto a triagem estiver aberta (contrato JS) */
body.trg-noscroll .exit-intent{display:none !important}

/* ---- Mobile: bottom-sheet ---- */
@media (max-width:480px){
  .exit-intent{padding:1rem;align-items:flex-end}
  .exit-intent-box{
    padding:2.5rem 1.5rem 1.9rem;
    border-radius:22px;
  }
  .exit-intent-box h3{font-size:1.55rem;max-width:none}
  .exit-intent-lede{font-size:0.9rem;max-width:none}
  .exit-intent-hero{margin:1.5rem 0 1.35rem}
  .exit-intent-price{font-size:3.5rem}
  .exit-intent-hero-arc{width:76px}
  .exit-intent-points{margin-bottom:1.5rem}
  .exit-intent-cta{padding:0.95rem 1.25rem}
}

/* ---- <360px: garante respiro mínimo e sem overflow ---- */
@media (max-width:359px){
  .exit-intent-box{padding:2.35rem 1.15rem 1.7rem}
  .exit-intent-box h3{font-size:1.4rem}
  .exit-intent-price{font-size:3.1rem}
}

/* ---- Acessibilidade: sem movimento ---- */
@media (prefers-reduced-motion:reduce){
  .exit-intent,
  .exit-intent.is-open{transition:opacity 0.3s ease, visibility 0.3s ease}
  .exit-intent-box,
  .exit-intent.is-open .exit-intent-box{transform:none;transition:none}
  .exit-intent-cta{transition:background 0.25s ease}
  .exit-intent-cta:hover{transform:none}
  .exit-intent-hero-arc-path{stroke-dasharray:100 100;animation:none}
  .exit-intent.is-open .exit-intent-hero-arc-path{animation:none}
}

/* ===== CTA FIXO MOBILE — atalho direto pra triagem ===== */
.mobile-sticky-cta{
  display:none;
  position:fixed;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:1001;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.95rem 1.25rem;
  background:var(--color-sage);
  color:var(--color-white);
  font-family:var(--font-sans);
  font-size:0.95rem;
  font-weight:600;
  border:none;
  border-radius:100px;
  box-shadow:0 8px 28px rgba(45,74,60,0.35);
  cursor:pointer;
}
.mobile-sticky-cta svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.5;fill:none}
.mobile-sticky-cta:active{transform:scale(0.98)}
@media (max-width:768px){.mobile-sticky-cta{display:flex}}
body.trg-noscroll .mobile-sticky-cta{display:none !important}
