:root{
  --ink:#13262A; --ink-2:#1C3337; --ink-deep:#0B1719;
  --ivory:#F6F3EC; --paper:#FFFFFF; --soft:#FBFAF7; --sand:#E9E3D6;
  --line:#E2DCCF; --line-2:#D6CFBF;
  --muted:#4F5B5D; --muted-dark:#C9D1CF; --muted-dark-2:#B9C2C0; --muted-dark-3:#8FA09E;
  --brass:#C9A36A; --brass-dark:#7A5520;
  --serif:'Fraunces',Georgia,serif; --sans:'Manrope',system-ui,-apple-system,sans-serif;
  --wrap:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--brass-dark)}
.dark .eyebrow{color:var(--brass)}
.h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.2vw,64px);line-height:1.05;letter-spacing:-1px}
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.6vw,48px);line-height:1.1;letter-spacing:-.6px}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--muted)}
.dark{background:var(--ink);color:var(--ivory)}
.dark .lead{color:var(--muted-dark)}
section{padding:96px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 32px;border-radius:999px;font-weight:700;font-size:17px;border:none;cursor:pointer;font-family:var(--sans);transition:transform .15s ease,opacity .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-brass{background:var(--brass);color:var(--ink)}
.btn-ink{background:var(--ink);color:var(--ivory)}
.btn-ghost{border:1px solid #4A5E60;color:var(--ivory);background:transparent}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.stack{display:flex;flex-direction:column}
.head{display:flex;flex-direction:column;gap:18px;max-width:820px;margin-bottom:56px}
.center{text-align:center;align-items:center;margin-left:auto;margin-right:auto}

/* nav */
.nav{display:flex;justify-content:space-between;align-items:center;padding:28px 0}
.brand{display:flex;flex-direction:column;gap:2px}
.brand b{font-family:var(--serif);font-size:24px;font-weight:500}
.brand span{font-size:13px;color:var(--muted-dark-2)}
.nav .btn{min-height:44px;padding:0 22px;font-size:15px}

/* hero */
.hero{padding:0 0 110px}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center;padding-top:64px}
.hero-copy{display:flex;flex-direction:column;gap:30px}
.hero-cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.hero-cta small{font-size:14px;color:var(--muted-dark-2)}
.hero-card{background:var(--ink-2);border-radius:28px;padding:40px;display:flex;flex-direction:column;gap:26px;border:1px solid #2A4246}
.hero-card .big{font-family:var(--serif);font-size:64px;line-height:1;color:var(--brass)}
.hero-card .row{display:flex;gap:16px;align-items:flex-start;border-top:1px solid #2A4246;padding-top:22px}
.hero-card .row svg{flex-shrink:0;margin-top:3px}
.hero-card .row b{display:block;font-size:17px}
.hero-card .row span{font-size:15px;color:var(--muted-dark)}

.hero-visual{position:relative;height:580px}
.hero-photo{position:absolute;top:0;right:0;width:88%;height:100%;object-fit:cover;object-position:center top;border-radius:24px;background:var(--ink-2)}
.hero-badge{position:absolute;left:0;bottom:56px;width:290px;background:var(--ivory);color:var(--ink);border-radius:18px;padding:22px 24px;display:flex;flex-direction:column;gap:4px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.hero-badge span{font-size:13px;font-weight:600;color:var(--muted)}
.hero-badge b{font-family:var(--serif);font-size:40px;font-weight:500;line-height:1.1}
.hero-badge small{font-size:14px;color:var(--muted)}
.about-photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:24px;background:var(--sand)}

/* cards */
.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:28px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:14px}
.card h3{font-size:20px;font-weight:700;line-height:1.3}
.card p{font-size:16px;color:var(--muted)}
.card.statement{background:var(--ink);border:none;justify-content:center}
.card.statement p{font-family:var(--serif);font-size:28px;line-height:1.25;color:var(--ivory)}

/* compare */
.white{background:var(--paper)}
.compare{border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:20px}
.compare.before{background:var(--ivory);border:1px solid var(--line)}
.compare.after{background:var(--ink);color:var(--ivory)}
.compare .t{font-size:14px;font-weight:700;letter-spacing:1.5px}
.compare.before .t{color:var(--muted)}
.compare.after .t{color:var(--brass)}
.li{display:flex;gap:14px;align-items:flex-start;font-size:17px;line-height:1.5}
.li svg{flex-shrink:0;margin-top:2px}
.compare.before .li{color:var(--muted)}

/* steps */
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}
.step{border-top:2px solid var(--ink);padding-top:28px;display:flex;flex-direction:column;gap:14px}
.step .n{font-family:var(--serif);font-size:40px;color:var(--brass-dark);line-height:1}
.step h3{font-size:21px;font-weight:700;line-height:1.3}
.step p{font-size:16px;color:var(--muted)}

/* pillars */
.pillar{background:var(--ink-2);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:22px}
.pillar .tag{font-size:13px;font-weight:700;letter-spacing:1.5px;color:var(--muted-dark-2)}
.pillar h3{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.2}
.pillar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
.pillar li b{display:block;font-size:17px}
.pillar li span{font-size:15px;line-height:1.55;color:var(--muted-dark-2)}

/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.monogram{aspect-ratio:4/5;border-radius:24px;background:var(--ink);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.monogram span{font-family:var(--serif);font-size:140px;color:var(--brass);letter-spacing:-4px}
.monogram small{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:14px;color:var(--muted-dark-2);letter-spacing:1px}
.about-copy{display:flex;flex-direction:column;gap:24px}
.about-copy p{font-size:18px;color:var(--muted);line-height:1.65}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:6px}
.stat b{font-family:var(--serif);font-size:52px;font-weight:500;line-height:1.05}
.stat span{font-size:16px;color:var(--muted)}

/* fit */
.fit-yes{background:var(--ivory);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:18px}
.fit-no{border:1px solid var(--line);border-radius:24px;padding:40px;display:flex;flex-direction:column;gap:18px}
.fit-no h3,.fit-no .li{color:var(--muted)}
.fit-yes h3,.fit-no h3{font-size:20px;font-weight:700}

/* faq */
.faq{display:grid;grid-template-columns:1fr 2fr;gap:64px}
details{border-top:1px solid var(--line-2);padding:24px 0}
details:last-child{border-bottom:1px solid var(--line-2)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font-size:19px;font-weight:700;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary .pm{flex-shrink:0;width:22px;height:22px;position:relative;margin-top:3px}
summary .pm::before,summary .pm::after{content:"";position:absolute;background:var(--ink);left:3px;right:3px;top:10px;height:2px;border-radius:2px}
summary .pm::after{transform:rotate(90deg);transition:transform .2s}
details[open] summary .pm::after{transform:rotate(0)}
details p{margin-top:14px;font-size:17px;color:var(--muted);line-height:1.65}

/* application */
.apply{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.apply-copy{display:flex;flex-direction:column;gap:24px;padding-top:12px}
.path{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.path div{display:flex;gap:14px;align-items:center;font-size:16px;color:var(--muted-dark)}
.path i{font-style:normal;width:32px;height:32px;border-radius:999px;border:1px solid #4A5E60;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--ivory);flex-shrink:0}
.wizard{background:var(--paper);color:var(--ink);border-radius:28px;padding:44px;display:flex;flex-direction:column;gap:30px;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.dots{display:flex;align-items:center;gap:6px}
.dot{width:34px;height:34px;border-radius:999px;background:#EFEAE0;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;transition:background .2s,color .2s}
.dot.on{background:var(--ink);color:var(--ivory)}
.bar{flex:1;height:1px;background:var(--line-2);min-width:8px}
.q{display:none;flex-direction:column;gap:14px}
.q.active{display:flex;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.q label,.q .label{font-size:13px;font-weight:700;letter-spacing:2px;color:var(--brass-dark);text-transform:uppercase}
.q input{height:58px;padding:0 18px;border:1px solid var(--line-2);border-radius:14px;font-size:17px;font-family:var(--sans);background:var(--soft);color:var(--ink);width:100%}
.q input:focus{outline:2px solid var(--ink);outline-offset:1px;background:#fff}
.opt{min-height:56px;padding:12px 18px;border:1px solid var(--line-2);border-radius:14px;background:var(--soft);color:var(--ink);font-size:16px;font-weight:500;font-family:var(--sans);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.opt:hover{border-color:var(--ink)}
.opt.sel{border:2px solid var(--ink);background:var(--ivory);font-weight:700}
.err{font-size:14px;color:#A33A2B;min-height:20px}
.wiz-foot{display:flex;justify-content:space-between;align-items:center;gap:16px}
.back{background:none;border:none;color:var(--muted);font-size:15px;font-weight:600;font-family:var(--sans);cursor:pointer;padding:12px 6px;visibility:hidden}
.back.show{visibility:visible}
.privacy{font-size:12px;color:var(--muted)}
.privacy a{text-decoration:underline}

/* final cta */
.final{padding:120px 0;text-align:center}
.final .inner{display:flex;flex-direction:column;align-items:center;gap:28px;max-width:980px;margin:0 auto}

/* footer */
.footer{background:var(--ink-deep);color:var(--muted-dark-3);font-size:13px;padding:30px 0}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.footer nav{display:flex;gap:28px}
.footer a:hover{color:var(--ivory)}

/* floating whatsapp */
.wa-float{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:999px;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:50}

/* mobile sticky */
.sticky-cta{display:none}

@media (max-width:960px){
  section{padding:64px 0}
  .hero{padding-bottom:64px}
  .hero-grid,.about,.apply,.faq{grid-template-columns:1fr;gap:40px}
  .grid-3,.grid-4,.grid-2,.stats{grid-template-columns:1fr}
  .grid-4{gap:32px}
  .head-row{flex-direction:column;align-items:flex-start}
  .head{margin-bottom:36px}
  .hero-visual{height:auto;aspect-ratio:4/5;max-height:520px}
  .hero-photo{width:100%}
  .hero-badge{bottom:20px;left:16px;width:auto;right:16px}
  .about-photo{aspect-ratio:1/1}
  .monogram span{font-size:96px}
  .wizard{padding:24px;border-radius:20px;gap:24px}
  .dot{width:28px;height:28px;font-size:12px}
  .footer .wrap{flex-direction:column;align-items:flex-start}
  .final{padding:72px 0}
  .card.statement p{font-size:24px}
  .wa-float{bottom:84px}
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;padding:12px 16px;background:rgba(246,243,236,.96);border-top:1px solid var(--line);z-index:40}
  .sticky-cta .btn{width:100%}
  body{padding-bottom:80px}
}
@media (max-width:420px){
  .nav .btn{padding:0 16px;font-size:14px}
  .btn{padding:0 22px;font-size:16px}
}
