:root{
  --bg:#0d0d0d;
  --bg2:#111111;
  --ivory:#f5f2ec;
  --brass:#b5a37a;
  --brass-dim:rgba(181,163,122,.35);
  --line:rgba(245,242,236,.12);
  --muted:rgba(245,242,236,.55);
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:var(--bg);color:var(--ivory);
  font-family:"Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,.hd{
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;
  font-weight:700;text-transform:uppercase;letter-spacing:.18em;line-height:1.2;
}
button{font-family:inherit;cursor:pointer;}
input,textarea{font-family:inherit;}

/* ---------- language switch ---------- */
.langswitch{position:fixed;top:.9rem;right:1.1rem;z-index:60;display:flex;align-items:center;gap:.5rem;
  font-size:.6rem;letter-spacing:.25em;color:var(--muted);}
.langswitch button{background:none;border:none;color:var(--muted);font-size:.6rem;
  letter-spacing:.25em;text-transform:uppercase;padding:.3rem .2rem;transition:color .3s;}
.langswitch button.on{color:var(--brass);}
.langswitch span{color:rgba(245,242,236,.25);}

/* ---------- progress dots ---------- */
.progress{position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;justify-content:center;gap:1.4rem;padding:1.2rem 3.5rem 1.1rem 1rem;
  background:linear-gradient(to bottom,rgba(13,13,13,.92),rgba(13,13,13,0));
  pointer-events:none;flex-wrap:wrap;}
@media(min-width:760px){.progress{gap:2.2rem;}}
.pdot{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:none;border:none;padding:0;
  pointer-events:auto;cursor:default;}
.pdot .dot{width:7px;height:7px;border-radius:50%;
  border:1px solid var(--brass-dim);background:transparent;transition:all .5s;}
.pdot .lbl{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;
  color:var(--muted);opacity:0;transform:translateY(-3px);transition:all .5s;display:none;}
@media(min-width:760px){.pdot .lbl{display:block;}}
.pdot.active .dot{background:var(--brass);border-color:var(--brass);box-shadow:0 0 12px rgba(181,163,122,.5);}
.pdot.active .lbl{opacity:1;transform:none;color:var(--brass);}
.pdot.done{cursor:pointer;}
.pdot.done .dot{background:var(--brass-dim);border-color:var(--brass-dim);}
.pdot.done:hover .dot{background:var(--brass);}

/* ---------- screens ---------- */
.screen{min-height:100vh;display:none;opacity:0;transform:translateY(18px);}
.screen.visible{display:block;}
.screen.in{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}
.wrap{max-width:720px;margin:0 auto;padding:6rem 1.4rem 5rem;}

.hr{height:1px;background:var(--line);border:none;margin:2.6rem 0;}
.eyebrow{font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brass);margin-bottom:1.2rem;}

/* ---------- hero ---------- */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:6rem 1.5rem;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 55% at 50% 115%,rgba(181,163,122,.16),transparent 65%),
    radial-gradient(ellipse 60% 40% at 80% 0%,rgba(181,163,122,.05),transparent 60%),
    linear-gradient(180deg,#0d0d0d 0%,#111111 100%);}
.hero .photo{position:absolute;inset:0;z-index:0;
  background:url("assets/hero.jpg") center 35%/cover no-repeat;
  animation:heroDrift 36s ease-in-out infinite alternate;}
.hero .photo::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(13,13,13,.86) 0%,rgba(13,13,13,.55) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.94) 100%),
    radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.25),rgba(13,13,13,.7) 100%);}
@keyframes heroDrift{from{transform:scale(1.02) translateY(0);}to{transform:scale(1.08) translateY(-1.5%);}}
@media (prefers-reduced-motion:reduce){.hero .photo{animation:none;}}
.hero>*:not(.photo){position:relative;z-index:1;}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(245,242,236,.025) 119px 120px);}
.hero::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:18vh;
  background:linear-gradient(to top,var(--brass),transparent);opacity:.6;}
.hero h1{font-size:clamp(1.7rem,6vw,3.4rem);letter-spacing:.22em;max-width:16ch;}
.hero .sub{margin-top:1.6rem;color:var(--muted);font-size:.95rem;letter-spacing:.06em;max-width:36ch;}
.hero .mark{width:46px;height:46px;margin-bottom:2.2rem;position:relative;}
.hero .mark::before{content:"";position:absolute;inset:0;border:1px solid var(--brass);transform:rotate(45deg);}
.hero .mark::after{content:"";position:absolute;inset:14px;background:var(--brass);transform:rotate(45deg);opacity:.85;}

.btn{display:inline-block;margin-top:3rem;padding:1.05rem 3.2rem;
  background:transparent;color:var(--ivory);border:1px solid var(--brass);
  font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;font-weight:600;
  transition:all .4s;}
.btn:hover{background:var(--brass);color:#0d0d0d;}
.btn.solid{background:var(--brass);color:#0d0d0d;}
.btn.solid:hover{background:var(--ivory);border-color:var(--ivory);}
.btn.small{padding:.75rem 1.8rem;font-size:.62rem;margin-top:0;}

/* ---------- prolog questions ---------- */
.pq{margin-bottom:3.2rem;}
.pq h3{font-size:.85rem;letter-spacing:.22em;margin-bottom:1.2rem;}
.pq-opts{display:grid;grid-template-columns:1fr;gap:.7rem;}
@media(min-width:560px){.pq-opts{grid-template-columns:repeat(2,1fr);}}
.pq-opt{border:1px solid var(--line);background:#121212;color:var(--ivory);
  padding:1.15rem 1.1rem;text-align:left;font-size:.86rem;font-weight:300;letter-spacing:.04em;
  transition:all .35s;position:relative;}
.pq-opt:hover{border-color:var(--brass-dim);}
.pq-opt.on{border-color:var(--brass);background:rgba(181,163,122,.1);color:var(--brass);}
.pq-inline{display:flex;gap:.7rem;flex-wrap:wrap;}
.pq-inline .pq-opt{flex:1;min-width:110px;text-align:center;}
.pq input[type=text]{background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--ivory);padding:.85rem .2rem;font-size:.95rem;letter-spacing:.04em;width:100%;
  max-width:320px;transition:border-color .35s;outline:none;}
.pq input[type=text]::placeholder{color:var(--muted);}
.pq input[type=text]:focus{border-bottom-color:var(--brass);}
.pq .opt-note{font-size:.68rem;color:var(--muted);margin-top:.6rem;letter-spacing:.06em;}

/* ---------- compositions ---------- */
.comps-wrap{max-width:1040px;margin:0 auto;padding:6.5rem 1.4rem 5rem;}
.comps-wrap h2{text-align:center;font-size:clamp(1.1rem,3.4vw,1.6rem);}
.comps-wrap .lead{text-align:center;color:var(--muted);margin-top:1rem;font-size:.92rem;}
.comps{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:3rem;}
@media(min-width:760px){.comps{grid-template-columns:repeat(3,1fr);}}
.comp{border:1px solid var(--line);background:linear-gradient(165deg,#141414,#0f0f0f);
  padding:2.4rem 1.8rem 2.2rem;text-align:left;color:var(--ivory);
  position:relative;transition:border-color .4s,transform .4s;cursor:pointer;}
.comp:hover{border-color:var(--brass);transform:translateY(-4px);}
.comp .swatch{height:70px;margin-bottom:1.6rem;position:relative;display:flex;align-items:center;}
.comp .swatch svg{width:64px;height:64px;max-width:100%;transition:filter .5s,transform .5s;}
.comp:hover .swatch svg{filter:drop-shadow(0 0 7px rgba(181,163,122,.65));}
.comp .swatch::after{content:"";position:absolute;left:0;bottom:-1px;width:34px;height:1px;background:var(--brass);}
.comp h3{font-size:1rem;letter-spacing:.3em;}
.comp .tier{font-size:.58rem;letter-spacing:.3em;color:var(--brass);margin:.35rem 0 1rem;text-transform:uppercase;}
.comp p{font-size:.86rem;color:var(--muted);}
.comp .go{margin-top:1.6rem;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);}
.comp.selected{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass) inset;}

/* ---------- otwarty standard KNX ---------- */
.knx{max-width:960px;margin:3.4rem auto 0;border:1px solid var(--brass-dim);
  background:linear-gradient(165deg,#131311,#0f0f0e);padding:2.6rem 2rem 2.4rem;position:relative;}
.knx::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  width:56px;height:1px;background:var(--brass);}
.knx-h{font-size:.78rem;letter-spacing:.35em;color:var(--brass);text-align:center;}
.knx-lead{margin:1.3rem auto 0;max-width:62ch;text-align:center;
  color:rgba(245,242,236,.75);font-size:.9rem;}
.knx-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:2.2rem;}
@media(min-width:760px){.knx-grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:560px) and (max-width:759px){.knx-grid{grid-template-columns:repeat(2,1fr);}}
.knx-card{border:1px solid var(--line);background:#121212;padding:1.5rem 1.2rem;
  transition:border-color .4s;}
.knx-card:hover{border-color:var(--brass-dim);}
.knx-card .n{font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;font-weight:700;
  font-size:1.5rem;letter-spacing:.08em;color:var(--brass);line-height:1.1;}
.knx-card h4{font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.24em;font-size:.62rem;color:var(--ivory);margin-top:.45rem;}
.knx-card p{font-size:.76rem;color:var(--muted);margin-top:.7rem;}

/* ---------- chapter heroes ---------- */
.chapter-hero{min-height:62vh;display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:7rem 1.5rem 3rem;position:relative;
  background-position:center;background-size:cover;background-repeat:no-repeat;background-color:#0d0d0d;}
.chapter-hero>*{position:relative;z-index:1;}
.chapter-hero h2{font-size:clamp(1.5rem,5vw,2.4rem);}
.chapter-hero .ornament{width:120px;height:60px;margin:0 auto 2rem;position:relative;overflow:hidden;}
.chapter-hero .ornament::before{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:84px;height:84px;border-radius:50%;
  background:radial-gradient(circle at 50% 60%,rgba(181,163,122,.9),rgba(181,163,122,.15) 60%,transparent 72%);}
.chapter-hero .ornament::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brass);}
/* zdjecia rozdzialow: ciemna winieta (jak .hero .photo::after) + tint akcentu + kadr z assets/chN.jpg;
   dol winiety schodzi niemal do czerni, zeby karty decyzji ponizej siedzialy na czystej czerni */
.ch-bg-1{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.52) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.22),rgba(13,13,13,.68) 100%),
  radial-gradient(ellipse 80% 50% at 50% 100%,rgba(181,163,122,.14),transparent 65%),
  url("assets/ch1.jpg") center/cover no-repeat #0d0d0d;}
.ch-bg-2{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.55) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.22),rgba(13,13,13,.68) 100%),
  radial-gradient(ellipse 70% 55% at 20% 90%,rgba(181,163,122,.12),transparent 60%),
  url("assets/ch2.jpg") center/cover no-repeat #0d0d0d;}
.ch-bg-3{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.55) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.24),rgba(13,13,13,.7) 100%),
  radial-gradient(ellipse 75% 60% at 80% 100%,rgba(122,150,163,.10),transparent 65%),
  url("assets/ch3.jpg") center/cover no-repeat #0d0d0d;}
.ch-bg-4{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.55) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.22),rgba(13,13,13,.68) 100%),
  radial-gradient(ellipse 85% 55% at 50% 110%,rgba(90,110,90,.10),transparent 65%),
  url("assets/ch4.jpg") center/cover no-repeat #0d0d0d;}
.ch-bg-5{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.55) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.22),rgba(13,13,13,.68) 100%),
  radial-gradient(ellipse 80% 55% at 25% 100%,rgba(140,90,120,.09),transparent 65%),
  url("assets/ch5.jpg") center/cover no-repeat #0d0d0d;}
.ch-bg-6{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.52) 32%,rgba(13,13,13,.6) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.22),rgba(13,13,13,.68) 100%),
  radial-gradient(ellipse 75% 50% at 70% 105%,rgba(181,163,122,.16),transparent 65%),
  url("assets/ch6.jpg") center/cover no-repeat #0d0d0d;}
.ch-bg-7{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.55) 32%,rgba(13,13,13,.62) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.24),rgba(13,13,13,.7) 100%),
  radial-gradient(ellipse 90% 55% at 50% -10%,rgba(120,130,163,.08),transparent 60%),
  url("assets/ch7.jpg") center/cover no-repeat #0d0d0d;}
/* zachod slonca nad miastem - taras */
.ch-bg-8{background:
  linear-gradient(180deg,rgba(13,13,13,.88) 0%,rgba(13,13,13,.52) 32%,rgba(13,13,13,.6) 62%,rgba(13,13,13,.97) 100%),
  radial-gradient(ellipse 70% 60% at 50% 45%,rgba(13,13,13,.2),rgba(13,13,13,.66) 100%),
  radial-gradient(ellipse 95% 50% at 50% 108%,rgba(196,120,70,.16),transparent 68%),
  radial-gradient(ellipse 60% 40% at 50% 100%,rgba(181,163,122,.14),transparent 60%),
  url("assets/ch8.jpg") center/cover no-repeat #0d0d0d;}

.story{margin:0 auto;max-width:720px;padding:0 1.4rem;text-align:left;}
.story p{color:rgba(245,242,236,.78);font-size:1rem;margin-bottom:1.4rem;max-width:58ch;}

/* ---------- decision cards ---------- */
.dcard{border:1px solid var(--line);background:#121212;padding:1.8rem 1.6rem;margin-bottom:1.3rem;
  transition:border-color .4s;}
.dcard:hover{border-color:var(--brass-dim);}
.dcard h3{font-size:.82rem;letter-spacing:.22em;color:var(--ivory);}
.dcard .benefit{font-size:.88rem;color:var(--muted);margin-top:.6rem;}
.seg{display:flex;border:1px solid var(--line);margin-top:1.4rem;}
.seg button{flex:1;padding:.75rem .3rem;background:transparent;border:none;color:var(--muted);
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  transition:all .35s;position:relative;}
.seg button + button{border-left:1px solid var(--line);}
.seg button.on{background:rgba(181,163,122,.12);color:var(--brass);}
.seg button.on.key{background:var(--brass);color:#0d0d0d;}
.more-toggle{margin-top:1.1rem;background:none;border:none;color:var(--brass);
  font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;padding:0;}
.more-toggle::after{content:"↓";margin-left:.5rem;display:inline-block;transition:transform .3s;}
.more-toggle.open::after{transform:rotate(180deg);}
.more{max-height:0;overflow:hidden;transition:max-height .45s ease;}
.more p{font-size:.8rem;color:var(--muted);padding-top:.9rem;border-top:1px solid var(--line);margin-top:.9rem;}
.more.open{max-height:640px;}

.dcard.info{border:1px solid var(--brass-dim);background:rgba(181,163,122,.05);}
.dcard.info h3{color:var(--brass);}

/* ---------- karta charakterologiczna (suwak) ---------- */
.char-card{background:linear-gradient(165deg,#141414,#101010);}
.char-card h3{color:var(--brass);letter-spacing:.3em;font-size:.68rem;}
.char-row{display:flex;align-items:center;gap:1.2rem;margin-top:1.6rem;}
.char-pole{flex:0 0 auto;max-width:9.5rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);line-height:1.5;}
.char-pole.left{text-align:right;}
.char-pole.right{text-align:left;}
.char-range{flex:1;appearance:none;-webkit-appearance:none;height:1px;background:var(--line);
  outline:none;cursor:pointer;}
.char-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;
  border-radius:50%;background:var(--brass);border:1px solid var(--brass);
  box-shadow:0 0 10px rgba(181,163,122,.45);transition:box-shadow .3s;}
.char-range::-webkit-slider-thumb:hover{box-shadow:0 0 16px rgba(181,163,122,.7);}
.char-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--brass);
  border:1px solid var(--brass);box-shadow:0 0 10px rgba(181,163,122,.45);}
.char-range::-moz-range-track{height:1px;background:var(--line);}
@media(max-width:559px){
  .char-row{flex-wrap:wrap;}
  .char-range{order:3;flex:1 1 100%;margin-top:.6rem;}
  .char-pole{max-width:none;flex:1;}
}

/* ---------- sekcja poglebiona "Chce wiecej" ---------- */
.deep-toggle{display:block;width:100%;margin:2rem 0 0;padding:1.1rem 1.4rem;
  background:transparent;border:1px solid var(--brass-dim);color:var(--brass);
  font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600;
  text-align:center;transition:all .4s;position:relative;}
.deep-toggle:hover{border-color:var(--brass);background:rgba(181,163,122,.06);}
.deep-toggle span::after{content:"↓";margin-left:.8rem;display:inline-block;transition:transform .3s;}
.deep-toggle.open span::after{transform:rotate(180deg);}
.deep-wrap{display:none;margin-top:1.3rem;padding-left:1rem;border-left:1px solid var(--brass-dim);}
.deep-wrap.open{display:block;animation:deepIn .6s ease;}
@keyframes deepIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.nav-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:3.4rem;flex-wrap:wrap;}
.nav-next{text-align:center;margin-top:3.4rem;}
.back-link{background:none;border:none;color:var(--muted);font-size:.62rem;letter-spacing:.25em;
  text-transform:uppercase;padding:0;}
.back-link:hover{color:var(--brass);}

/* ---------- architect sizing ---------- */
.arch-grid{display:grid;grid-template-columns:1fr;gap:1.6rem;margin-top:2.4rem;}
@media(min-width:560px){.arch-grid{grid-template-columns:repeat(2,1fr);}}
.arch-field label{display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.5rem;}
.arch-field input,.arch-field textarea{width:100%;background:transparent;border:none;
  border-bottom:1px solid var(--line);color:var(--ivory);padding:.75rem .2rem;font-size:.95rem;
  letter-spacing:.04em;outline:none;transition:border-color .35s;}
.arch-field input:focus,.arch-field textarea:focus{border-bottom-color:var(--brass);}
.arch-field.full{grid-column:1/-1;}
.arch-field textarea{border:1px solid var(--line);padding:.9rem;min-height:110px;resize:vertical;}

/* ---------- epilog ---------- */
.lookbook{margin-top:2.6rem;}
.lb-chapter{margin-top:2.4rem;}
.lb-chapter .lb-ch-title{font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--brass);border-bottom:1px solid var(--brass-dim);padding-bottom:.6rem;
  font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;font-weight:700;}
.lb-item{display:flex;align-items:baseline;gap:1.1rem;padding:1.05rem 0;border-bottom:1px solid var(--line);}
.lb-item .diamond{width:8px;height:8px;flex:none;transform:rotate(45deg);border:1px solid var(--brass);}
.lb-item.key .diamond{background:var(--brass);}
.lb-item .t{font-size:.92rem;letter-spacing:.04em;}
.lb-item.key .t{color:var(--ivory);}
.lb-item:not(.key) .t{color:var(--muted);}
.lb-item .tag{margin-left:auto;font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--brass);white-space:nowrap;}
.lb-empty{color:var(--muted);font-size:.9rem;padding:1.4rem 0;border-bottom:1px solid var(--line);}
.code-box{margin-top:3rem;text-align:center;border:1px solid var(--line);padding:2.2rem 1rem;
  background:linear-gradient(165deg,#131313,#0f0f0f);}
.code-box .lbl{font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);}
.code-box .code{font-size:clamp(1.4rem,5vw,2rem);letter-spacing:.3em;color:var(--brass);
  font-family:"Arial Narrow",Arial,sans-serif;font-weight:700;margin-top:.7rem;}
/* ---------- privacy & reliability ---------- */
.trust{margin-top:3.4rem;}
.trust-h{font-size:.72rem;letter-spacing:.35em;color:var(--brass);text-align:center;
  border-bottom:1px solid var(--brass-dim);padding-bottom:.9rem;}
.trust-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;margin-top:1.6rem;}
@media(min-width:560px){.trust-grid{grid-template-columns:repeat(2,1fr);}}
.trust-card{border:1px solid var(--line);background:#121212;padding:1.5rem 1.4rem;transition:border-color .4s;}
.trust-card:hover{border-color:var(--brass-dim);}
.trust-card h4{font-family:"Arial Narrow","Segoe UI",Arial,sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--ivory);}
.trust-card p{font-size:.82rem;color:var(--muted);margin-top:.6rem;}

/* ---------- dream question ---------- */
.dream{margin-top:3rem;}
.dream h3{font-size:.85rem;letter-spacing:.22em;margin-bottom:1.2rem;}
.dream textarea{width:100%;background:transparent;border:1px solid var(--line);color:var(--ivory);
  padding:.9rem;font-size:.95rem;letter-spacing:.04em;min-height:90px;resize:vertical;
  outline:none;transition:border-color .35s;}
.dream textarea::placeholder{color:var(--muted);}
.dream textarea:focus{border-color:var(--brass);}

.cta{margin-top:3.4rem;text-align:center;}
.cta h3{font-size:clamp(.95rem,3vw,1.25rem);}
.form{margin-top:2rem;display:flex;flex-direction:column;gap:1rem;max-width:420px;margin-left:auto;margin-right:auto;}
.form input{background:transparent;border:none;border-bottom:1px solid var(--line);
  color:var(--ivory);padding:.85rem .2rem;font-size:.95rem;font-family:inherit;letter-spacing:.04em;
  transition:border-color .35s;outline:none;}
.form input::placeholder{color:var(--muted);}
.form input:focus{border-bottom-color:var(--brass);}
.form .consent{display:flex;gap:.8rem;align-items:flex-start;text-align:left;font-size:.72rem;
  color:var(--muted);letter-spacing:.03em;line-height:1.5;margin-top:.4rem;}
.form .consent input{width:16px;height:16px;flex:none;margin-top:.15rem;accent-color:#b5a37a;}
.form .err{color:#c77;font-size:.72rem;letter-spacing:.05em;display:none;}
.form .err.show{display:block;}
.thanks{margin-top:2rem;border:1px solid var(--brass-dim);padding:2rem 1.4rem;
  background:rgba(181,163,122,.06);display:none;}
.thanks.show{display:block;}
.thanks p{font-size:.92rem;color:rgba(245,242,236,.85);}
.note{margin-top:1.4rem;font-size:.68rem;color:var(--muted);letter-spacing:.06em;}
footer{text-align:center;padding:2.5rem 1rem 3rem;color:rgba(245,242,236,.3);
  font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;}

/* ---------- resume modal ---------- */
.resume-modal{position:fixed;inset:0;z-index:80;background:rgba(13,13,13,.9);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.resume-modal[hidden]{display:none;}
.resume-box{border:1px solid var(--brass-dim);background:#121212;max-width:440px;
  padding:2.6rem 2rem;text-align:center;}
.resume-q{font-size:.95rem;color:rgba(245,242,236,.85);}
.resume-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.resume-btns .btn{margin-top:2rem;padding:.85rem 1.8rem;font-size:.62rem;}
