/* =========================================================================
   MAPORTE — Brand site for Aluplast IDEAL 4000 entry doors
   Sage #6E8068 · Ocre #C97D38 · Cream #F8F4EC · Ink #1A1714
   ========================================================================= */

:root{
  --ink:        #1A1714;
  --ink-2:      #2C2620;
  --ink-soft:   #4D453E;
  --muted:      #8A7F75;
  --paper:      #F8F4EC;
  --cream:      #F0E9D8;
  --bone:       #E5DCC9;
  --sage:       #6E8068;
  --sage-deep:  #4F5E48;
  --sage-soft:  #B5C2A8;
  --ocre:       #C97D38;
  --ocre-deep:  #A05F22;
  --ocre-soft:  #E5B486;
  --hair:       rgba(26,23,20,.10);
  --hair-2:     rgba(26,23,20,.20);

  --ff-disp:  "Fraunces", "Times New Roman", serif;
  --ff-body:  "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;
  --ff-mono:  "JetBrains Mono", ui-monospace, monospace;
  --ff-tight: "Inter Tight", -apple-system, BlinkMacSystemFont, sans-serif;

  --max:1320px;
  --gut:clamp(20px,4vw,56px);
  --section-y:clamp(72px,10vw,128px);
  --r:14px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:17px;
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
::selection{background:var(--ocre);color:var(--paper)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.col{max-width:var(--max);margin:0 auto;padding:0 var(--gut);position:relative}

.eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ocre);font-weight:500;margin-bottom:14px;
}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor}

.h-disp{font-family:var(--ff-disp);font-weight:340;font-size:clamp(40px,6vw,84px);line-height:.95;letter-spacing:-.035em;color:var(--ink);font-variation-settings:"opsz" 144}
.h-disp em{font-style:italic;font-weight:320;color:var(--ocre);font-variation-settings:"opsz" 144}

.btn{
  display:inline-flex;align-items:center;gap:10px;padding:14px 24px;
  font-family:var(--ff-body);font-weight:500;font-size:15px;
  border-radius:999px;border:1px solid transparent;transition:.3s cubic-bezier(.2,.8,.2,1);cursor:pointer;
}
.btn--primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn--primary:hover{background:var(--ocre);border-color:var(--ocre);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--hair-2)}
.btn--ghost:hover{border-color:var(--ink);background:var(--cream)}
.btn--big{padding:18px 28px;font-size:16px}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(248,244,236,.92);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--hair)}
.nav .col{padding-top:14px;padding-bottom:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center}
.nav__links{justify-self:center;display:flex;gap:24px;font-family:var(--ff-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.nav__links a{padding:6px 0;border-bottom:1px solid transparent;transition:.2s}
.nav__links a:hover{color:var(--ocre);border-bottom-color:var(--ocre)}
.nav__cta{font-family:var(--ff-body);font-weight:500;font-size:14px;background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:999px;transition:.25s}
.nav__cta:hover{background:var(--ocre)}
@media(max-width:920px){.nav__links{display:none}}

.sticky-cta{position:fixed;bottom:18px;right:18px;z-index:48;background:var(--ocre);color:var(--paper);padding:14px 22px;border-radius:999px;font-family:var(--ff-body);font-weight:600;font-size:14px;box-shadow:0 16px 40px -10px rgba(201,125,56,.5);display:none}
@media(max-width:780px){.sticky-cta{display:inline-flex}}
.cfg-main + .sticky-cta{display:none}

/* Hero */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px);background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);border-bottom:1px solid var(--hair)}
.hero__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:980px){.hero__grid{grid-template-columns:1fr}}
.hero__text h1{font-family:var(--ff-disp);font-weight:340;font-size:clamp(44px,7vw,108px);line-height:.92;letter-spacing:-.04em;margin:18px 0 24px;font-variation-settings:"opsz" 144;color:var(--ink)}
.hero__text h1 em{font-style:italic;font-weight:320;color:var(--ocre);font-variation-settings:"opsz" 144}
.hero__lede{font-size:clamp(16px,1.4vw,18px);line-height:1.55;color:var(--ink-soft);max-width:54ch;margin-bottom:32px}
.hero__lede strong{color:var(--ink);font-weight:600}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.hero__trust{list-style:none;display:grid;gap:8px;font-size:14px;color:var(--ink-soft)}
.hero__trust b{color:var(--ink);font-weight:600}

.hero__visual{position:relative;text-align:center}
.hero__door{display:inline-block;position:relative;padding:36px 36px 56px;background:radial-gradient(ellipse at center bottom, rgba(110,128,104,.18), transparent 70%);border-radius:24px}
.hero__door img{width:100%;max-width:340px;height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.18))}
.hero__price-tag{position:absolute;bottom:0;right:0;background:var(--ink);color:var(--paper);padding:18px 24px;border-radius:14px;display:flex;flex-direction:column;gap:2px;text-align:right;box-shadow:0 30px 60px -20px rgba(0,0,0,.4)}
.hero__price-label{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.hero__price{font-family:var(--ff-disp);font-weight:400;font-size:32px;color:var(--ocre-soft);font-variation-settings:"opsz" 48;letter-spacing:-.025em}
.hero__price-sub{font-size:11px;opacity:.65}

/* Positioning vs Dorli */
.positioning{padding:var(--section-y) 0;border-bottom:1px solid var(--hair)}
.positioning__lede{font-size:18px;color:var(--ink-soft);max-width:60ch;margin:18px 0 48px;line-height:1.6}
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:stretch;margin-top:32px}
@media(max-width:780px){.vs{grid-template-columns:1fr}}
.vs__col{background:var(--cream);border-radius:var(--r);padding:36px;display:flex;flex-direction:column;gap:14px}
.vs__col--us{background:var(--ink);color:var(--paper)}
.vs__col--us .vs__cta{background:var(--ocre);color:var(--paper)}
.vs__tag{font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}
.vs__col--us .vs__tag{color:var(--ocre-soft)}
.vs__col h3{font-family:var(--ff-disp);font-weight:340;font-size:48px;line-height:1;letter-spacing:-.025em;font-variation-settings:"opsz" 96;margin:0}
.vs__col p{font-size:14px;color:var(--ink-soft);line-height:1.5;flex:1}
.vs__col--us p{color:rgba(248,244,236,.8)}
.vs__cta{background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:999px;font-size:14px;font-weight:500;text-align:center;align-self:flex-start}
.vs__cta:hover{background:var(--ocre)}
.vs__divider{display:flex;align-items:center;justify-content:center;font-family:var(--ff-disp);font-style:italic;font-weight:340;font-size:48px;color:var(--ocre);font-variation-settings:"opsz" 96;letter-spacing:-.02em}
@media(max-width:780px){.vs__divider{padding:18px 0}}

/* How */
.how{padding:var(--section-y) 0;border-bottom:1px solid var(--hair);background:var(--cream)}
.how__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}
@media(max-width:880px){.how__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.how__grid{grid-template-columns:1fr}}
.how__c{background:var(--paper);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:12px}
.how__n{font-family:var(--ff-disp);font-weight:340;font-size:42px;color:var(--ocre);line-height:.85;letter-spacing:-.03em;font-variation-settings:"opsz" 96}
.how__c h3{font-family:var(--ff-tight);font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink)}
.how__c p{font-size:14px;color:var(--ink-soft);line-height:1.55}

/* Catalog */
.catalog{padding:var(--section-y) 0;border-bottom:1px solid var(--hair)}
.catalog__sub{font-size:17px;color:var(--ink-soft);max-width:60ch;margin:14px 0 36px}
.catalog__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.catalog__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.catalog__grid{grid-template-columns:1fr}}
.cat-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--hair);border-radius:var(--r);overflow:hidden;color:var(--ink);transition:.4s cubic-bezier(.2,.8,.2,1)}
.cat-card:hover{transform:translateY(-4px);border-color:var(--ocre);box-shadow:0 30px 60px -30px rgba(0,0,0,.18)}
.cat-card__img{aspect-ratio:3/4;background:var(--cream);display:flex;align-items:center;justify-content:center;padding:24px}
.cat-card__img img{max-width:100%;max-height:100%;width:auto;height:auto;filter:drop-shadow(0 10px 20px rgba(0,0,0,.1))}
.cat-card__b{padding:18px 22px 22px;display:flex;flex-direction:column;gap:6px}
.cat-card__tag{font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ocre);font-weight:500}
.cat-card__name{font-family:var(--ff-tight);font-weight:800;font-size:22px;letter-spacing:-.02em;color:var(--ink)}
.cat-card__blurb{font-size:13px;color:var(--ink-soft);line-height:1.5}
.cat-card__cta{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ocre);margin-top:6px;font-weight:500}

/* Tech block */
.tech-block{padding:var(--section-y) 0;background:var(--cream);border-bottom:1px solid var(--hair)}
.tech-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media(max-width:880px){.tech-grid{grid-template-columns:1fr}}
.tech-list{list-style:none;margin:24px 0 32px;display:grid;gap:8px}
.tech-list li{padding:8px 0 8px 24px;position:relative;font-size:15px;color:var(--ink)}
.tech-list li::before{content:"→";position:absolute;left:0;color:var(--ocre);font-weight:600}
.tech-list b{color:var(--ink);font-weight:600}
.tech-img{display:flex;justify-content:center}
.tech-img img{max-width:300px;width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.18))}

/* Specs */
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 32px}
@media(max-width:780px){.specs{grid-template-columns:1fr 1fr}}
.spec{background:var(--cream);border-radius:var(--r);padding:24px}
.spec span{display:block;font-family:var(--ff-disp);font-weight:340;font-size:32px;color:var(--ocre);letter-spacing:-.025em;font-variation-settings:"opsz" 96;margin-bottom:8px}
.spec b{display:block;font-family:var(--ff-tight);font-weight:700;font-size:16px;color:var(--ink);margin-bottom:6px}
.spec p{font-size:13px;color:var(--ink-soft);line-height:1.45}

/* CTA band */
.cta-band{padding:clamp(64px,10vw,140px) 0;background:var(--ink);color:var(--paper);text-align:center}
.cta-band h2{font-family:var(--ff-disp);font-weight:340;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.035em;max-width:18ch;margin:0 auto 18px;font-variation-settings:"opsz" 144}
.cta-band h2 em{font-style:italic;color:var(--ocre-soft)}
.cta-band p{font-size:17px;opacity:.85;max-width:46ch;margin:0 auto 30px}
.cta-band .btn--primary{background:var(--ocre);border-color:var(--ocre)}
.cta-band .btn--primary:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* Page hero */
.page-hero{padding:clamp(48px,8vw,96px) 0 clamp(36px,5vw,64px);background:var(--cream);border-bottom:1px solid var(--hair)}
.page-hero h1{font-family:var(--ff-disp);font-weight:340;font-size:clamp(40px,7vw,96px);line-height:.95;letter-spacing:-.04em;margin:14px 0 20px;font-variation-settings:"opsz" 144;color:var(--ink)}
.page-hero h1 em{font-style:italic;font-weight:320;color:var(--ocre)}
.page-hero__lede{font-size:18px;color:var(--ink-soft);max-width:60ch;line-height:1.55}

.content{padding:var(--section-y) 0}
.content h2{font-family:var(--ff-disp);font-weight:340;font-size:clamp(28px,3.6vw,44px);letter-spacing:-.025em;color:var(--ink);margin:28px 0 16px;font-variation-settings:"opsz" 96}
.content h2:first-child{margin-top:0}
.content p{font-size:16px;line-height:1.7;color:var(--ink-soft);max-width:68ch;margin-bottom:14px}
.content em{color:var(--ocre);font-style:italic}
.content a{color:var(--ocre);text-decoration:underline}

.callout{background:var(--cream);border-radius:var(--r);padding:24px 28px;margin:24px 0}
.callout p{margin:0;color:var(--ink)}
.cta-block{margin:48px 0 0;padding:36px;background:var(--cream);border-radius:var(--r);text-align:center}
.cta-block h2{margin:0 0 18px}

.q{border-bottom:1px solid var(--hair)}
.q summary{list-style:none;cursor:pointer;padding:18px 0;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;font-family:var(--ff-tight);font-weight:700;font-size:18px;color:var(--ink);letter-spacing:-.015em}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"+";font-family:var(--ff-body);font-weight:300;font-size:24px;color:var(--ocre);line-height:1;transition:transform .3s}
.q[open] summary::after{transform:rotate(45deg)}
.q .a{padding:0 0 22px;color:var(--ink-soft);font-size:15px;line-height:1.65;max-width:66ch}

/* Model detail */
.model-hero{padding:clamp(48px,7vw,96px) 0;background:var(--cream);border-bottom:1px solid var(--hair)}
.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
@media(max-width:880px){.model-grid{grid-template-columns:1fr}}
.model-img{background:var(--paper);border-radius:var(--r);padding:48px;display:flex;align-items:center;justify-content:center}
.model-img img{max-width:300px;width:100%;height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.18));transition:.5s ease}
.model-detail h1{margin:14px 0 18px}
.model-blurb{font-size:17px;color:var(--ink-soft);margin-bottom:24px;line-height:1.55}
.model-price{display:flex;align-items:baseline;gap:14px;padding:18px 0 24px;border-bottom:1px solid var(--hair);margin-bottom:24px}
.model-price__num{font-family:var(--ff-disp);font-weight:340;font-size:48px;color:var(--ocre);font-variation-settings:"opsz" 144;letter-spacing:-.025em}
.model-price__lbl{font-size:13px;color:var(--ink-soft)}
.picker-label{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}
.pickers{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.picker{padding:0;border-radius:50%;width:40px;height:40px;border:2px solid transparent;transition:.2s;cursor:pointer}
.picker.is-active{border-color:var(--ink);transform:scale(1.1)}
.picker--text{width:auto;height:auto;border-radius:8px;padding:8px 14px;background:var(--paper);color:var(--ink);font-size:13px}
.picker--text.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:none}
.model-feats{list-style:none;margin-top:24px;display:grid;gap:6px;font-size:14px;color:var(--ink)}
.model-feats strong{font-weight:600}

/* Footer */
.foot{background:var(--ink);color:var(--paper);padding:60px 0 28px}
.foot__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;align-items:start;margin-bottom:48px}
@media(max-width:880px){.foot__top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot__top{grid-template-columns:1fr}}
.foot__brand p{font-size:14px;color:rgba(248,244,236,.6);margin-top:14px;max-width:32ch;line-height:1.5}
.foot__h{font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ocre-soft);margin-bottom:14px}
.foot__c a{display:block;padding:4px 0;font-size:14px;color:rgba(248,244,236,.85);transition:color .25s}
.foot__c a:hover{color:var(--ocre-soft)}
.foot__copy{padding-top:24px;border-top:1px solid rgba(248,244,236,.15);font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,244,236,.5);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}

/* Configurator */
.cfg-main{padding:0}
.cfg{max-width:1280px;margin:0 auto;padding:24px var(--gut) 60px;display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start}
@media(max-width:980px){.cfg{grid-template-columns:1fr}}
.cfg__head{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--hair);margin-bottom:24px;gap:16px}
.cfg__back{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.cfg__back:hover{color:var(--ocre)}
.cfg__progress{flex:1;height:6px;background:var(--cream);border-radius:999px;overflow:hidden}
.cfg__progress-bar{height:100%;background:var(--ocre);transition:width .4s cubic-bezier(.2,.8,.2,1)}
.cfg__step-num{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.cfg__step-num b{color:var(--ocre);font-weight:600}

.cfg__form{background:var(--paper)}
.step{display:none;border:0;padding:0}
.step.is-active{display:block;animation:slidein .3s cubic-bezier(.2,.8,.2,1)}
@keyframes slidein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cfg__h{font-family:var(--ff-disp);font-weight:340;font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-.025em;color:var(--ink);margin:14px 0 18px;font-variation-settings:"opsz" 96}
.cfg__h em{font-style:italic;font-weight:320;color:var(--ocre);font-variation-settings:"opsz" 96}
.cfg__sub{font-size:15px;color:var(--ink-soft);margin-bottom:24px;max-width:55ch}
.cfg__note{margin-top:14px;font-size:13px;color:var(--muted);font-style:italic}

.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:880px){.model-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.model-grid{grid-template-columns:1fr 1fr}}
.model-opt{position:relative;cursor:pointer;display:block}
.model-opt input{position:absolute;opacity:0;pointer-events:none}
.model-opt__b{background:var(--paper);border:2px solid var(--hair);border-radius:var(--r);padding:14px;transition:.25s;display:flex;flex-direction:column;gap:8px}
.model-opt__b img{width:100%;aspect-ratio:3/4;object-fit:contain;background:var(--cream);border-radius:8px;padding:14px}
.model-opt__b .tag{font-family:var(--ff-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.model-opt__b h3{font-family:var(--ff-tight);font-weight:800;font-size:16px;color:var(--ink)}
.model-opt input:checked + .model-opt__b{border-color:var(--ocre);background:var(--cream);box-shadow:0 0 0 3px rgba(201,125,56,.18)}
.model-opt:hover .model-opt__b{border-color:var(--ocre)}

.color-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:560px){.color-pickers{grid-template-columns:1fr}}
.color-opt{position:relative;cursor:pointer;display:block}
.color-opt input{position:absolute;opacity:0;pointer-events:none}
.color-opt__b{background:var(--paper);border:2px solid var(--hair);border-radius:var(--r);padding:24px;transition:.25s;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.color-opt__b .swatch{display:block;width:60px;height:60px;border-radius:50%;border:1px solid var(--hair-2)}
.color-opt__b h3{font-family:var(--ff-tight);font-weight:800;font-size:17px;color:var(--ink)}
.color-opt__b p{font-size:12px;color:var(--muted);font-family:var(--ff-mono);letter-spacing:.04em}
.color-opt input:checked + .color-opt__b{border-color:var(--ocre);background:var(--cream);box-shadow:0 0 0 3px rgba(201,125,56,.18)}

.glaz-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:560px){.glaz-pickers{grid-template-columns:1fr}}
.glaz-opt{position:relative;cursor:pointer;display:block}
.glaz-opt input{position:absolute;opacity:0;pointer-events:none}
.glaz-opt__b{background:var(--paper);border:2px solid var(--hair);border-radius:var(--r);padding:24px;transition:.25s;text-align:center}
.glaz-opt__b h3{font-family:var(--ff-tight);font-weight:700;font-size:16px;color:var(--ink)}
.glaz-opt input:checked + .glaz-opt__b{border-color:var(--ocre);background:var(--cream)}

.dim-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
@media(max-width:560px){.dim-grid{grid-template-columns:1fr}}
.lbl{display:block;font-size:14px;color:var(--ink);font-weight:500}
.lbl input,.lbl select,.lbl textarea{display:block;width:100%;background:var(--paper);border:1.5px solid var(--hair-2);padding:13px 16px;font:inherit;font-family:var(--ff-body);font-size:15px;color:var(--ink);border-radius:10px;transition:.25s;margin-top:6px;resize:vertical}
.lbl input:focus,.lbl select:focus,.lbl textarea:focus{outline:none;border-color:var(--ocre);box-shadow:0 0 0 3px rgba(201,125,56,.18)}
.lbl-hint{display:block;font-size:12px;color:var(--muted);margin-top:6px;font-weight:400}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.grid-2{grid-template-columns:1fr}}

.opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.opts{grid-template-columns:1fr}}
.opt-card{position:relative;cursor:pointer;display:block}
.opt-card input{position:absolute;opacity:0;pointer-events:none}
.opt-card__b{background:var(--paper);border:1.5px solid var(--hair-2);border-radius:var(--r);padding:18px 22px;transition:.25s;display:flex;justify-content:space-between;align-items:center;gap:14px}
.opt-card__b h3{font-family:var(--ff-tight);font-weight:600;font-size:14px;color:var(--ink)}
.opt-card__price{font-family:var(--ff-mono);font-size:13px;color:var(--ocre);font-weight:500;white-space:nowrap}
.opt-card input:checked + .opt-card__b{border-color:var(--ocre);background:var(--cream)}

.recap{display:grid;grid-template-columns:1fr 1.3fr;gap:32px;align-items:start;background:var(--cream);border-radius:var(--r);padding:32px}
@media(max-width:680px){.recap{grid-template-columns:1fr}}
.recap__img{display:flex;align-items:center;justify-content:center}
.recap__img img{max-width:240px;width:100%;filter:drop-shadow(0 20px 40px rgba(0,0,0,.15))}
.recap__details ul{list-style:none;display:grid;gap:10px;margin-bottom:24px}
.recap__details li{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:14px;padding:8px 0;border-bottom:1px dashed var(--hair-2)}
.recap__details li span{color:var(--ink-soft)}
.recap__details li strong{color:var(--ink);font-weight:600;text-align:right}
.recap__price{padding-top:18px;border-top:2px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline}
.recap__price span{font-family:var(--ff-mono);font-size:13px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em}
.recap__price strong{font-family:var(--ff-disp);font-weight:340;font-size:36px;color:var(--ocre);font-variation-settings:"opsz" 96;letter-spacing:-.02em}

.check{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-size:14px;color:var(--ink-soft);line-height:1.5;cursor:pointer}
.check input{margin-top:3px}
.check a{color:var(--ocre);text-decoration:underline}
.hp{position:absolute;left:-9999px;opacity:0}

.cfg__nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--hair)}
.cfg__nav .btn--ghost:disabled{opacity:.4;cursor:not-allowed}
.f-status{margin-top:14px;font-family:var(--ff-mono);font-size:12px;color:var(--muted);text-align:center;min-height:1.4em}

.cfg__side{position:sticky;top:90px;background:var(--cream);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:18px}
@media(max-width:980px){.cfg__side{display:none}}
.cfg__preview{display:flex;justify-content:center;padding:18px;background:var(--paper);border-radius:10px}
.cfg__preview img{max-width:160px;width:100%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.15))}
.cfg__price{text-align:center;padding:14px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.cfg__price .lbl{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
.cfg__price strong{display:block;font-family:var(--ff-disp);font-weight:340;font-size:32px;color:var(--ocre);font-variation-settings:"opsz" 96;letter-spacing:-.02em;margin:4px 0}
.cfg__price small{font-size:11px;color:var(--ink-soft)}
.cfg__bullets{list-style:none;display:grid;gap:6px;font-size:13px;color:var(--ink-soft)}

/* Thanks */
.thanks{padding:80px 0}
.thanks__box{max-width:780px;margin:0 auto;text-align:center;background:var(--cream);border-radius:var(--r);padding:60px 40px}
.thanks__icon{width:80px;height:80px;border-radius:50%;background:var(--sage);color:var(--paper);font-size:40px;display:grid;place-items:center;margin:0 auto 20px;font-weight:800}
.thanks__lede{font-size:17px;color:var(--ink-soft);margin-bottom:36px;line-height:1.55}
.thanks__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0;text-align:left}
@media(max-width:680px){.thanks__steps{grid-template-columns:1fr}}
.thanks__step{background:var(--paper);border-radius:10px;padding:20px}
.thanks__step span{display:block;font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;color:var(--ocre);font-weight:500;margin-bottom:6px}
.thanks__step b{display:block;font-family:var(--ff-tight);font-weight:800;font-size:16px;color:var(--ink);margin-bottom:6px}
.thanks__step p{font-size:14px;color:var(--ink-soft);line-height:1.5}
