
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --green:#0F2E26;
  --green-2:#153b31;
  --green-3:#1d4b3e;
  --cream:#F2EDE3;
  --cream-2:#E8E1D4;
  --bronze:#B08D57;
  --graphite:#20241F;
  --white:#fff;
  --muted:#66706a;
  --line:rgba(32,36,31,.14);
  --line-dark:rgba(242,237,227,.15);
  --shadow:0 24px 70px rgba(15,46,38,.12);
  --radius:26px;
  --container:min(1240px, calc(100% - 48px));
  --serif:'Fraunces', Georgia, serif;
  --sans:'Inter', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--graphite);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin-inline:auto}
.section{padding:118px 0;position:relative}
.section-sm{padding:82px 0}
.section-dark{background:var(--green);color:var(--cream)}
.section-cream{background:var(--cream)}
.section-white{background:#fdfbf7}
.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;color:var(--bronze);margin:0 0 22px}
.eyebrow:before{content:'';width:34px;height:1px;background:currentColor}
.display{font-family:var(--serif);font-weight:300;line-height:.98;letter-spacing:-.04em;font-size:clamp(52px,7vw,104px);margin:0}
.h1{font-family:var(--serif);font-weight:300;line-height:1.02;letter-spacing:-.035em;font-size:clamp(46px,6vw,88px);margin:0}
.h2{font-family:var(--serif);font-weight:300;line-height:1.08;letter-spacing:-.03em;font-size:clamp(38px,4.7vw,68px);margin:0}
.h3{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-.02em;font-size:clamp(27px,3vw,40px);margin:0}
.lead{font-size:clamp(18px,2vw,22px);line-height:1.55;color:#505a54;max-width:680px}
.section-dark .lead{color:rgba(242,237,227,.72)}
.copy{color:#59635d;max-width:690px}
.section-dark .copy{color:rgba(242,237,227,.7)}
.small{font-size:13px;color:#78817c}
.section-dark .small{color:rgba(242,237,227,.5)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;padding:14px 21px;border:1px solid transparent;font-size:13px;font-weight:600;letter-spacing:.02em;transition:.3s ease;white-space:nowrap}
.btn svg{width:17px;height:17px;transition:.3s ease}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--green);color:var(--cream)}
.btn-primary:hover{background:var(--green-3);transform:translateY(-2px)}
.btn-bronze{background:var(--bronze);color:var(--green)}
.btn-bronze:hover{background:#c4a16b;transform:translateY(-2px)}
.btn-outline{border-color:rgba(15,46,38,.28);color:var(--green);background:transparent}
.btn-outline:hover{border-color:var(--green);background:rgba(15,46,38,.05)}
.section-dark .btn-outline{border-color:rgba(242,237,227,.35);color:var(--cream)}
.section-dark .btn-outline:hover{background:rgba(242,237,227,.08)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--green)}
.link-arrow span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;transition:.3s ease}
.link-arrow:hover span{transform:translateX(5px);background:var(--green);color:var(--cream)}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:1000;transition:.35s ease;color:var(--cream)}
.site-header.scrolled,.site-header.light-header{background:rgba(242,237,227,.94);backdrop-filter:blur(18px);color:var(--green);box-shadow:0 1px 0 rgba(32,36,31,.08)}
.header-inner{width:var(--container);height:86px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:12px;z-index:1002}
.brand-word{font-family:var(--serif);font-size:29px;letter-spacing:.1em;line-height:1;font-weight:500}
.brand-dot{width:5px;height:5px;border-radius:50%;background:var(--bronze);display:inline-block;margin-left:2px}
.brand-sub{font-size:8px;letter-spacing:.34em;text-transform:uppercase;opacity:.66;margin-top:4px}
.nav{display:flex;align-items:center;gap:30px}
.nav>a,.nav-item>a{font-size:12px;font-weight:500;letter-spacing:.04em;opacity:.86;position:relative;padding:12px 0}
.nav>a:after,.nav-item>a:after{content:'';position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--bronze);transition:.3s ease}
.nav>a:hover:after,.nav-item>a:hover:after,.nav>a.active:after{width:100%}
.nav-item{position:relative}
.dropdown{position:absolute;top:45px;left:-24px;width:280px;background:#fff;color:var(--graphite);padding:14px;border-radius:18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s ease}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:14px;border-radius:12px}
.dropdown a:hover{background:var(--cream)}
.dropdown strong{display:block;font-family:var(--serif);font-size:18px;font-weight:400;color:var(--green)}
.dropdown span{font-size:11px;color:#768079}
.header-actions{display:flex;align-items:center;gap:10px}
.header-actions .btn{padding:12px 18px}
.menu-toggle{display:none;width:46px;height:46px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;align-items:center;justify-content:center;z-index:1002}
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{content:'';display:block;width:18px;height:1px;background:currentColor;position:relative;transition:.3s ease}
.menu-toggle span:before{position:absolute;top:-6px}.menu-toggle span:after{position:absolute;top:6px}
.menu-open .menu-toggle span{background:transparent}.menu-open .menu-toggle span:before{top:0;transform:rotate(45deg)}.menu-open .menu-toggle span:after{top:0;transform:rotate(-45deg)}
.mobile-nav{display:none}

/* Hero */
.hero{min-height:100vh;background:var(--green);color:var(--cream);display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:150px 0 52px}
.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 22% 18%,rgba(176,141,87,.13),transparent 34%),linear-gradient(90deg,rgba(15,46,38,.98) 0%,rgba(15,46,38,.84) 48%,rgba(15,46,38,.22) 100%);z-index:1}
.hero-media{position:absolute;inset:0 0 0 42%;background-size:cover;background-position:center;filter:saturate(.72) contrast(.96);transform:scale(1.03);animation:heroZoom 14s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,46,38,.05),rgba(15,46,38,.5))}
.hero-inner{position:relative;z-index:2;width:var(--container);margin:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.45fr);align-items:end;gap:70px}
.hero-copy{max-width:820px}
.hero .h1{max-width:760px}
.hero .lead{color:rgba(242,237,227,.76);max-width:620px;margin:30px 0}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}
.hero-note{border-top:1px solid var(--line-dark);padding-top:25px}
.hero-note .quote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.25;color:var(--cream)}
.hero-note p{font-size:12px;color:rgba(242,237,227,.55);margin-bottom:0}
.scroll-indicator{position:absolute;right:35px;bottom:46px;z-index:4;font-size:10px;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl;color:rgba(242,237,227,.58)}
.scroll-indicator:after{content:'';height:48px;width:1px;background:var(--bronze);display:inline-block;margin-top:14px;animation:scrollLine 1.8s infinite}
@keyframes scrollLine{0%,100%{transform:scaleY(.25);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}
.page-hero{padding:175px 0 90px;background:var(--green);color:var(--cream);position:relative;overflow:hidden}
.page-hero:before{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(176,141,87,.18);border-radius:50%;right:-140px;top:-220px}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:80px;align-items:end;position:relative;z-index:1}
.page-hero .lead{margin:28px 0 0}
.page-hero-image{height:500px;border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:0 34px 80px rgba(0,0,0,.18)}
.page-hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}
.page-hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,46,38,.48))}

/* grids/cards */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}
.section-head .copy{max-width:440px;margin:0}
.card{background:#fdfbf7;border:1px solid var(--line);border-radius:var(--radius);padding:34px;transition:.35s ease}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(176,141,87,.45)}
.card-number{font-family:var(--serif);font-size:54px;font-weight:300;color:var(--bronze);line-height:1;margin-bottom:38px}
.card h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.15;margin:0 0 14px;color:var(--green)}
.card p{font-size:14px;color:#68716b;margin:0 0 28px}
.card-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--green);margin-bottom:40px}
.card-icon svg{width:22px;height:22px}
.solution-card{min-height:420px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.solution-card:before{content:'';position:absolute;width:170px;height:170px;border:1px solid rgba(176,141,87,.24);border-radius:50%;right:-65px;top:-65px;transition:.5s ease}
.solution-card:hover:before{transform:scale(1.25)}
.dark-card{background:rgba(242,237,227,.045);border:1px solid var(--line-dark);border-radius:var(--radius);padding:34px;color:var(--cream)}
.dark-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0 0 15px}
.dark-card p{color:rgba(242,237,227,.62);font-size:14px}
.pill{display:inline-flex;padding:8px 12px;border:1px solid rgba(176,141,87,.35);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--bronze)}
.list-clean{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.list-clean li{display:flex;align-items:flex-start;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);font-size:14px}
.list-clean li:before{content:'↗';color:var(--bronze);margin-top:1px}
.section-dark .list-clean{border-color:var(--line-dark)}
.section-dark .list-clean li{border-color:var(--line-dark);color:rgba(242,237,227,.75)}

/* editorial image blocks */
.image-frame{position:relative;border-radius:var(--radius);overflow:hidden;min-height:610px;background:var(--green-2)}
.image-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.72)}
.image-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(15,46,38,.42))}
.image-tag{position:absolute;z-index:2;left:24px;bottom:24px;background:rgba(242,237,227,.92);backdrop-filter:blur(12px);padding:18px 20px;border-radius:16px;max-width:260px}
.image-tag strong{display:block;font-family:var(--serif);font-size:21px;color:var(--green);font-weight:400}
.image-tag span{font-size:11px;color:#6b746f}
.quote-block{padding:70px;border-left:1px solid var(--bronze)}
.quote-block blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(34px,4.2vw,60px);line-height:1.14;margin:0}
.quote-block cite{font-style:normal;display:block;margin-top:30px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze)}

/* process */
.process{position:relative}
.process:before{content:'';position:absolute;top:42px;left:7%;right:7%;height:1px;background:rgba(176,141,87,.38)}
.step{position:relative;padding-top:5px}
.step-dot{width:12px;height:12px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 10px var(--cream);margin-bottom:40px}
.section-dark .step-dot{box-shadow:0 0 0 10px var(--green)}
.step b{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}
.step h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:14px 0 10px}
.step p{font-size:13px;color:#6f7773;margin:0}
.section-dark .step p{color:rgba(242,237,227,.58)}

/* marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;background:#f8f4ec}
.marquee-track{display:flex;width:max-content;animation:marquee 32s linear infinite}
.marquee span{font-family:var(--serif);font-size:24px;color:var(--green);white-space:nowrap;margin-right:48px}
.marquee i{font-style:normal;color:var(--bronze);margin-right:48px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 0;border:0;background:transparent;text-align:left;color:var(--green)}
.faq-button span:first-child{font-family:var(--serif);font-size:24px}
.faq-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex:none;transition:.3s ease}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--green);color:var(--cream)}
.faq-content{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-content p{margin:0;padding:0 60px 28px 0;color:#66706a;max-width:820px;font-size:14px}

/* form */
.form-shell{background:#fdfbf7;border:1px solid var(--line);border-radius:var(--radius);padding:42px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#69726d}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 15px;color:var(--graphite);outline:none;transition:.25s ease}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--bronze);box-shadow:0 0 0 3px rgba(176,141,87,.12)}
.field textarea{min-height:130px;resize:vertical}
.form-message{margin-top:18px;padding:14px 16px;border-radius:12px;background:rgba(15,46,38,.07);color:var(--green);font-size:13px;display:none}
.form-message.show{display:block}
.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#747d78}.check input{margin-top:4px}

/* articles */
.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.article-card{background:#fdfbf7;border-radius:22px;overflow:hidden;border:1px solid var(--line);transition:.35s ease}
.article-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.article-image{height:230px;overflow:hidden;background:var(--green)}
.article-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:.5s ease}
.article-card:hover img{transform:scale(1.04)}
.article-body{padding:28px}
.article-meta{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--bronze);margin-bottom:16px}
.article-body h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.18;color:var(--green);margin:0 0 14px}
.article-body p{font-size:13px;color:#6b746f;margin:0 0 22px}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:90px;align-items:start}
.article-content{font-size:17px;color:#4f5953}
.article-content h2{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.15;color:var(--green);margin:60px 0 18px}
.article-content h3{font-family:var(--serif);font-weight:400;font-size:28px;color:var(--green);margin:40px 0 14px}
.article-content p{margin:0 0 22px}
.article-content ul{padding-left:22px}.article-content li{margin-bottom:9px}
.article-aside{position:sticky;top:120px;border-left:1px solid var(--line);padding-left:30px}
.article-aside strong{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--green)}
.article-aside p{font-size:13px;color:#6d7671}

/* CTA / footer */
.cta{background:var(--green);color:var(--cream);border-radius:38px;padding:70px;position:relative;overflow:hidden}
.cta:before,.cta:after{content:'';position:absolute;border:1px solid rgba(176,141,87,.22);border-radius:50%}
.cta:before{width:450px;height:450px;right:-180px;top:-270px}.cta:after{width:260px;height:260px;right:-80px;bottom:-180px}
.cta-inner{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:40px}
.cta .h2{max-width:760px}.cta p{color:rgba(242,237,227,.65);max-width:560px}
.site-footer{background:#0b251e;color:var(--cream);padding:78px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.7fr);gap:60px;padding-bottom:60px}
.footer-brand p{color:rgba(242,237,227,.55);font-size:13px;max-width:300px}
.footer-title{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin-bottom:18px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:13px;color:rgba(242,237,227,.68);transition:.25s ease}.footer-links a:hover{color:var(--cream);transform:translateX(3px)}
.footer-bottom{border-top:1px solid var(--line-dark);padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.08em;color:rgba(242,237,227,.43)}

/* utility/reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
.divider{height:1px;background:var(--line);margin:40px 0}
.text-bronze{color:var(--bronze)}
.text-green{color:var(--green)}
.mt-0{margin-top:0}.mt-30{margin-top:30px}.mt-50{margin-top:50px}.mb-0{margin-bottom:0}
.hide-desktop{display:none}

@media (max-width:1100px){
  :root{--container:min(100% - 36px, 1000px)}
  .nav{gap:18px}.nav>a,.nav-item>a{font-size:11px}.header-actions .btn{display:none}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .hero-inner{grid-template-columns:1fr .4fr;gap:35px}
  .page-hero-grid{gap:45px}.split{gap:55px}.article-layout{gap:50px}
}
@media (max-width:860px){
  :root{--container:calc(100% - 32px);--radius:22px}
  .section{padding:86px 0}.section-sm{padding:64px 0}
  .nav,.header-actions .btn{display:none}.menu-toggle{display:flex}
  .header-inner{height:76px}
  .site-header.menu-active{background:var(--cream);color:var(--green)}
  .mobile-nav{display:flex;position:fixed;inset:0;background:var(--cream);color:var(--green);z-index:1001;padding:110px 22px 30px;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.3s ease;overflow:auto}
  .menu-open .mobile-nav{opacity:1;visibility:visible;transform:none}
  .mobile-nav a{font-family:var(--serif);font-size:34px;line-height:1.1;padding:12px 0;border-bottom:1px solid var(--line)}
  .mobile-nav .mobile-sub a{font-family:var(--sans);font-size:14px;padding:13px 12px;color:#5d6761}
  .mobile-nav .btn{font-family:var(--sans);font-size:13px;margin-top:25px;border:0}
  .hero{min-height:auto;padding:150px 0 50px}.hero-media{inset:0;opacity:.52;background-position:64% center}.hero:before{background:linear-gradient(180deg,rgba(15,46,38,.7),rgba(15,46,38,.94) 70%)}
  .hero-inner{grid-template-columns:1fr;gap:60px}.hero-copy{padding-top:80px}.hero-note{max-width:480px}.scroll-indicator{display:none}
  .page-hero{padding:135px 0 70px}.page-hero-grid{grid-template-columns:1fr}.page-hero-image{height:390px}
  .grid-3{grid-template-columns:1fr 1fr}.grid-2,.split{grid-template-columns:1fr}.split{gap:45px}.image-frame{min-height:520px}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:45px}
  .process{grid-template-columns:1fr 1fr}.process:before{display:none}.step{border-left:1px solid rgba(176,141,87,.36);padding-left:25px}.step-dot{margin-left:-31px;box-shadow:0 0 0 7px var(--cream);margin-bottom:24px}
  .article-grid{grid-template-columns:1fr 1fr}.article-layout{grid-template-columns:1fr}.article-aside{position:static;border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
  .cta{padding:50px 36px}.cta-inner{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1.2fr 1fr}.footer-brand{grid-column:1/-1}.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
}
@media (max-width:560px){
  :root{--container:calc(100% - 24px)}
  body{font-size:15px}.section{padding:72px 0}.section-sm{padding:55px 0}
  .display{font-size:52px}.h1{font-size:46px}.h2{font-size:40px}.h3{font-size:29px}
  .brand-word{font-size:25px}.brand-sub{display:none}
  .hero{padding-top:116px}.hero-copy{padding-top:70px}.hero .lead{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}
  .hero-note .quote{font-size:20px}.page-hero-image{height:330px}
  .grid-3,.grid-4,.article-grid,.process{grid-template-columns:1fr}
  .solution-card{min-height:340px}.card{padding:27px}.quote-block{padding:35px 0 35px 25px}.quote-block blockquote{font-size:34px}
  .image-frame{min-height:430px}.image-tag{left:15px;right:15px;bottom:15px;max-width:none}
  .cta{padding:42px 24px;border-radius:26px}.cta .btn{width:100%}
  .form-shell{padding:25px 18px}.faq-button span:first-child{font-size:20px}.faq-content p{padding-right:0}
  .footer-grid{grid-template-columns:1fr;gap:35px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}
  .hide-mobile{display:none}.hide-desktop{display:block}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* Ajustes mobile: títulos, subtítulos e chamadas sempre centralizados */
@media (max-width:860px){
  .hero-copy,
  .hero-note,
  .page-hero > .container,
  .page-hero-grid > div:first-child,
  .section-head,
  .section-head > div,
  .split > div,
  .grid-2 > div,
  .cta-inner,
  .cta-inner > div,
  .article-body,
  .article-aside,
  .image-tag{
    text-align:center;
  }

  .eyebrow{
    width:100%;
    justify-content:center;
  }

  h1,
  h2,
  h3,
  .h1,
  .h2,
  .h3,
  .lead,
  .section-head .copy,
  .cta p{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }

  .hero-actions,
  .card .link-arrow,
  .article-body .link-arrow{
    justify-content:center;
  }

  .section-head,
  .cta-inner{
    align-items:center;
  }

  .hero-note,
  .page-hero .lead,
  .section-head .copy,
  .cta p{
    margin-left:auto;
    margin-right:auto;
  }

  .card-icon{
    margin-left:auto;
    margin-right:auto;
  }
}

@media (max-width:560px){
  .h1{font-size:clamp(38px,11vw,44px);line-height:1.04}
  .h2{font-size:clamp(34px,9.5vw,40px);line-height:1.08}
  .h3{font-size:clamp(27px,8vw,31px)}
  .hero-copy{padding-top:56px}
  .hero .lead,
  .page-hero .lead{font-size:17px;line-height:1.55}
  .page-hero{padding-top:124px}
  .page-hero-grid{gap:34px}
  .hero-note{margin-left:auto;margin-right:auto}
}


/* =========================================================
   Navegação estável e responsiva
   ========================================================= */
.site-header{
  z-index:10000;
  isolation:isolate;
}
.header-inner{
  position:relative;
  z-index:10003;
}
.brand,
.menu-toggle{
  position:relative;
  z-index:10004;
}
.nav{
  position:relative;
  z-index:10004;
}
.nav-link,
.nav-trigger{
  font-family:var(--sans);
  color:inherit;
}
.nav-trigger{
  appearance:none;
  border:0;
  background:transparent;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:12px 0;
  font-size:12px;
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.2;
  opacity:.86;
  position:relative;
  cursor:pointer;
}
.nav-trigger svg{
  width:14px;
  height:14px;
  transition:transform .24s ease;
}
.nav-trigger:after{
  content:'';
  position:absolute;
  left:0;
  bottom:4px;
  width:0;
  height:1px;
  background:var(--bronze);
  transition:width .3s ease;
}
.nav-trigger:hover:after,
.nav-trigger.active:after,
.nav-item.open .nav-trigger:after,
.nav-item:focus-within .nav-trigger:after{
  width:100%;
}
.nav-item.open .nav-trigger svg,
.nav-item:focus-within .nav-trigger svg{
  transform:rotate(180deg);
}
.nav-item{
  display:flex;
  align-items:center;
  min-height:58px;
}
.dropdown{
  top:calc(100% + 2px);
  left:50%;
  width:310px;
  z-index:10006;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,10px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  border:1px solid rgba(32,36,31,.08);
}
.dropdown:before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:-18px;
  height:18px;
}
.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown,
.nav-item.open .dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.dropdown a{
  position:relative;
  z-index:1;
}
.dropdown a:focus-visible,
.nav-trigger:focus-visible,
.menu-toggle:focus-visible,
.mobile-nav a:focus-visible{
  outline:2px solid var(--bronze);
  outline-offset:3px;
}

@media (max-width:1100px){
  .nav-trigger{font-size:11px}
}

@media (max-width:860px){
  .site-header{
    pointer-events:none;
  }
  .site-header .header-inner,
  .site-header .mobile-nav{
    pointer-events:auto;
  }
  .site-header.menu-active,
  .site-header.menu-active.scrolled,
  .site-header.menu-active.light-header{
    background:var(--cream);
    color:var(--green);
    box-shadow:0 1px 0 rgba(32,36,31,.08);
  }
  .mobile-nav{
    display:block;
    position:fixed;
    inset:0;
    width:100%;
    height:100dvh;
    z-index:10002;
    padding:92px 16px 22px;
    background:var(--cream);
    color:var(--green);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(100%);
    transition:transform .32s cubic-bezier(.22,.61,.36,1), opacity .22s ease, visibility .32s ease;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .menu-open .mobile-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0);
  }
  .mobile-nav-inner{
    width:min(100%,520px);
    min-height:calc(100dvh - 114px);
    margin:0 auto;
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .mobile-main-link{
    display:flex;
    align-items:center;
    min-height:54px;
    padding:12px 4px;
    border-bottom:1px solid var(--line);
    font-family:var(--serif);
    font-size:25px;
    font-weight:400;
    line-height:1.1;
  }
  .mobile-menu-group{
    padding:19px 0 16px;
    border-bottom:1px solid var(--line);
  }
  .mobile-menu-label{
    margin:0 4px 12px;
    font-size:10px;
    line-height:1;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--bronze);
  }
  .mobile-sub{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .mobile-nav .mobile-sub a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:58px;
    padding:11px 13px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.44);
    font-family:var(--sans);
    line-height:1.2;
  }
  .mobile-nav .mobile-sub a span{
    font-size:14px;
    font-weight:600;
    color:var(--green);
  }
  .mobile-nav .mobile-sub a small{
    max-width:150px;
    font-size:10px;
    line-height:1.3;
    text-align:right;
    color:#707973;
  }
  .mobile-cta{
    width:100%;
    min-height:49px;
    margin-top:auto;
    padding:14px 18px;
    font-family:var(--sans);
    font-size:13px;
  }
  body.menu-open{
    overflow:hidden;
    touch-action:none;
  }
}

@media (max-width:420px){
  .mobile-nav{padding-left:12px;padding-right:12px}
  .mobile-main-link{font-size:23px}
  .mobile-nav .mobile-sub a small{max-width:128px}
}


/* Rodapé centralizado no mobile */
@media (max-width:860px){
  .site-footer,
  .footer-brand,
  .footer-brand p,
  .footer-title,
  .footer-links,
  .footer-bottom{
    text-align:center;
  }

  .footer-grid{
    justify-items:center;
  }

  .footer-brand p{
    margin-left:auto;
    margin-right:auto;
    max-width:520px;
  }

  .footer-links{
    align-items:center;
  }

  .footer-links a:hover{
    transform:none;
  }

  .footer-bottom{
    align-items:center;
    justify-content:center;
  }
}



@media (max-width:860px){
  .testimonials-grid{grid-template-columns:1fr;gap:18px}
  .testimonial-card{padding:24px}
}

@media (max-width:560px){
  .testimonial-top{justify-content:center;flex-direction:column;text-align:center}
  .testimonial-card blockquote{text-align:center;font-size:16px}
}


/* Prova social em carrossel */
.testimonials-carousel{position:relative}
.testimonials-viewport{overflow:hidden;padding:10px 0 8px}
.testimonials-track{display:flex;gap:24px;transition:transform .55s cubic-bezier(.22,.61,.36,1);will-change:transform}
.testimonial-slide{flex:0 0 calc(100% - 120px);min-width:calc(100% - 120px)}
.testimonial-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:0 18px 44px rgba(15,46,38,.05)}
.testimonial-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.testimonial-photo{width:70px;height:70px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(176,141,87,.22)}
.testimonial-top h3{font-size:22px;line-height:1.08;color:var(--green);margin:0 0 6px}
.testimonial-top p{margin:0;font-size:13px;color:rgba(32,36,31,.6)}
.testimonial-card blockquote{margin:0;color:var(--graphite);font-size:18px;line-height:1.75;max-width:850px}
.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}
.testimonial-arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--green);display:grid;place-items:center;font-size:24px;line-height:1;transition:.28s ease;box-shadow:0 8px 22px rgba(15,46,38,.05)}
.testimonial-arrow:hover{transform:translateY(-2px);border-color:rgba(15,46,38,.26);box-shadow:0 14px 28px rgba(15,46,38,.08)}
.testimonial-dots{display:flex;align-items:center;gap:10px}
.testimonial-dot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(15,46,38,.14);padding:0;transition:.28s ease}
.testimonial-dot.active{width:34px;border-radius:999px;background:var(--bronze)}

@media (max-width:860px){
  .testimonial-slide{flex:0 0 100%;min-width:100%}
  .testimonial-card{padding:24px}
}

@media (max-width:560px){
  .testimonial-top{justify-content:center;flex-direction:column;text-align:center}
  .testimonial-card blockquote{text-align:center;font-size:16px}
  .testimonial-controls{gap:12px}
  .testimonial-arrow{width:44px;height:44px}
}

/* Conversão e contato intuitivo */
.hero-conversion-card{
  background:rgba(242,237,227,.96);
  color:var(--green);
  border:1px solid rgba(176,141,87,.28);
  border-radius:28px;
  padding:30px;
  box-shadow:0 28px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(12px);
}
.hero-card-kicker{
  margin:0 0 10px;
  color:var(--bronze);
  font-size:10px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-conversion-card h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(28px,2.4vw,38px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:-.025em;
}
.hero-conversion-card>p:not(.hero-card-kicker){
  margin:16px 0 22px;
  color:#59635d;
  font-size:14px;
  line-height:1.65;
}
.hero-card-button{width:100%}
.hero-card-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin-top:16px;
  color:#66706a;
  font-size:11px;
}
.hero-card-trust span{display:flex;align-items:center;gap:7px}
.hero-card-trust span:before{
  content:'✓';
  color:var(--bronze);
  font-weight:700;
}

.quick-contact-section{
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:48px 0;
}
.quick-contact-inner{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);
  gap:48px;
  align-items:center;
}
.quick-contact-copy .eyebrow{margin-bottom:12px}
.quick-contact-copy h2{
  margin:0;
  color:var(--green);
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(30px,3vw,46px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.quick-contact-copy>p:last-child{margin:12px 0 0;color:#66706a;font-size:14px}
.quick-contact-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.quick-contact-options a{
  min-height:112px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 54px 20px 20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--cream);
  transition:.28s ease;
}
.quick-contact-options a:hover{
  transform:translateY(-3px);
  border-color:rgba(176,141,87,.6);
  box-shadow:0 18px 34px rgba(15,46,38,.08);
}
.quick-contact-options strong{
  color:var(--green);
  font-family:var(--serif);
  font-weight:500;
  font-size:22px;
  line-height:1.15;
}
.quick-contact-options span{margin-top:6px;color:#6c756f;font-size:12px}
.quick-contact-options b{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(15,46,38,.14);
  border-radius:50%;
  font-weight:400;
  transition:.28s ease;
}
.quick-contact-options a:hover b{background:var(--green);color:var(--cream);transform:translate(3px,-50%)}

.floating-contact{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9000;
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 16px 11px 11px;
  border-radius:999px;
  background:var(--green);
  color:var(--cream);
  box-shadow:0 18px 45px rgba(15,46,38,.28);
  border:1px solid rgba(242,237,227,.14);
  transition:.28s ease;
}
.floating-contact:hover{transform:translateY(-3px);background:var(--green-3)}
.floating-contact-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--bronze);
  color:var(--green);
}
.floating-contact-icon svg{width:20px;height:20px}
.floating-contact-copy{display:flex;flex-direction:column;line-height:1.15}
.floating-contact-copy strong{font-size:12px}
.floating-contact-copy small{margin-top:4px;color:rgba(242,237,227,.62);font-size:9px;letter-spacing:.03em}
.mobile-contact-bar{display:none}

@media (max-width:860px){
  .hero-conversion-card{
    max-width:560px;
    margin:0 auto;
    text-align:center;
  }
  .hero-card-trust{justify-content:center}
  .quick-contact-inner{grid-template-columns:1fr;gap:28px}
  .quick-contact-copy{text-align:center}
  .quick-contact-copy .eyebrow{justify-content:center}
  .floating-contact{display:none}
  .mobile-contact-bar{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:9000;
    display:block;
    padding:6px;
    border-radius:18px;
    background:rgba(242,237,227,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 16px 42px rgba(15,46,38,.22);
    border:1px solid rgba(32,36,31,.1);
  }
  .mobile-contact-bar a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    border-radius:13px;
    background:var(--green);
    color:var(--cream);
    font-size:13px;
    font-weight:600;
  }
  body.has-mobile-contact{padding-bottom:82px}
}

@media (max-width:560px){
  .quick-contact-section{padding:38px 0}
  .quick-contact-options{grid-template-columns:1fr}
  .quick-contact-options a{min-height:98px}
  .hero-conversion-card{padding:25px 20px}
  .hero-conversion-card h2{font-size:31px}
}
