:root{
  --wall:#fdfdfc;
  --ink:#141414;
  --ink-soft:#5f5f5f;
  --navy:#1c2b45;
  --navy-soft:#3a4d70;
  --hairline:#e3e1dd;
  --up:#1e6b45;
  --down:#a41f2f;
  --serif:"Bodoni Moda",Didot,Georgia,serif;
  --sans:"Inter",system-ui,sans-serif;
  --glass:rgba(255,255,255,.55);
  --glass-brd:rgba(255,255,255,.72);
  --glass-shadow:0 8px 32px rgba(20,20,20,.08),0 1px 2px rgba(20,20,20,.04);
  --max:980px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--wall);color:var(--ink);font-family:var(--sans);overflow-x:hidden;line-height:1.6}
::selection{background:var(--navy);color:#fff}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(ellipse 90% 60% at 50% 0%,rgba(255,255,255,.9),transparent 60%),
  radial-gradient(ellipse 40% 30% at 85% 10%,rgba(28,43,69,.04),transparent 70%),
  linear-gradient(180deg,rgba(20,20,20,.01),rgba(20,20,20,.03))}

.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px 26px}
.topbar a{text-decoration:none;color:var(--ink)}
.wordmark{font-family:var(--serif);font-weight:600;font-size:1rem;letter-spacing:.05em;
  background:var(--glass);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:99px;padding:9px 18px;box-shadow:var(--glass-shadow)}
.navcta{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  background:var(--glass);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:99px;padding:11px 18px;box-shadow:var(--glass-shadow);
  transition:border-color .2s,transform .2s}
.navcta:hover{border-color:rgba(28,43,69,.5);transform:translateY(-1px)}
.stop{color:var(--navy)}

main{max-width:var(--max);margin:0 auto;padding:0 24px}

.hero{padding:130px 0 30px}
.kicker{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy-soft)}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(38px,6vw,58px);line-height:1.08;margin:14px 0 18px;max-width:16ch}
.lede{font-size:1.05rem;color:var(--ink-soft);max-width:54ch}
.cta-solid{display:inline-block;margin-top:26px;font-family:var(--sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  background:var(--ink);color:#fff;border:1px solid var(--ink);padding:14px 26px;text-decoration:none;cursor:pointer;
  transition:background .2s,border-color .2s}
.cta-solid:hover{background:var(--navy);border-color:var(--navy)}

.label{display:flex;align-items:flex-start;gap:14px;margin-top:46px}
.card{background:var(--glass);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:6px;padding:16px 22px;box-shadow:var(--glass-shadow);text-align:left}
.card .title{font-family:var(--serif);font-weight:600;font-size:.98rem;letter-spacing:.08em;text-transform:uppercase}
.card .medium{font-family:var(--serif);font-style:italic;font-size:.85rem;color:var(--ink-soft);margin-top:4px}
.card .line{font-size:.74rem;color:var(--ink-soft);margin-top:9px}
.card .line b{color:var(--ink);font-weight:600}
.up{color:var(--up)}
.down{color:var(--down)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--navy);margin-top:8px;flex:none}

.wing{padding:100px 0 10px}
.wing .kicker{display:block;margin-bottom:8px}
.wing h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.2vw,2.4rem)}
.wing .lede{margin-top:10px}
.rule{height:1px;background:var(--hairline);margin:28px 0 38px}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.piece-card{background:var(--glass);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:8px;padding:24px 22px;box-shadow:var(--glass-shadow);
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.piece-card:hover{box-shadow:0 16px 36px rgba(20,20,20,.1)}
.piece-card h3{font-family:var(--serif);font-weight:600;font-size:1.05rem}
.piece-card p{font-size:.86rem;color:var(--ink-soft);margin-top:8px}

.sample-list{background:var(--glass);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:8px;padding:6px 26px;box-shadow:var(--glass-shadow)}
.sample-list li{list-style:none;padding:16px 0;border-top:1px solid var(--hairline);font-size:.92rem}
.sample-list li:first-child{border-top:none}
.sample-list .tag{display:inline-block;font-size:.64rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-right:10px}

.form-card{max-width:620px;padding:30px 28px;background:var(--glass);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:8px;box-shadow:var(--glass-shadow)}
.f-row+.f-row{margin-top:20px}
.f-label{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.form-card input[type=text],.form-card input[type=email],.form-card input[type=password]{
  width:100%;font-family:var(--sans);font-size:.9rem;color:var(--ink);background:rgba(255,255,255,.6);
  border:1px solid var(--hairline);border-radius:4px;padding:11px 13px}
.form-card input:focus{outline:none;border-color:var(--navy)}
.form-card input::placeholder{color:#b4b0a8}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative;display:inline-flex}
.pill input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pill span{font-size:.78rem;color:var(--ink-soft);background:rgba(255,255,255,.5);border:1px solid var(--hairline);
  border-radius:99px;padding:9px 16px;transition:background .2s,color .2s,border-color .2s}
.pill input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.pill input:focus-visible+span{outline:1px solid var(--ink-soft);outline-offset:3px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-fine{font-size:.75rem;color:#a29e96;margin-top:16px}
.form-fine a{color:var(--navy-soft)}
.form-msg{font-size:.84rem;margin-top:14px;min-height:20px}
.form-msg.ok{font-family:var(--serif);font-style:italic;color:var(--up)}
.form-msg.err{color:var(--down)}

.table-wrap{overflow-x:auto;background:var(--glass);backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  border:1px solid var(--glass-brd);border-radius:8px;box-shadow:var(--glass-shadow)}
table{width:100%;border-collapse:collapse;font-size:.85rem}
th,td{text-align:left;padding:12px 16px;white-space:nowrap;border-bottom:1px solid var(--hairline)}
th{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
tr:last-child td{border-bottom:none}

.policy h3{font-family:var(--serif);font-weight:600;font-size:1.15rem;margin-top:32px;margin-bottom:10px}
.policy p{font-size:.92rem;color:var(--ink-soft);max-width:62ch}
.policy p+p{margin-top:10px}
.policy a{color:var(--navy-soft)}
.mail-note{font-size:.72rem;color:#a29e96;margin-top:6px}

.foot{border-top:1px solid var(--hairline);margin-top:90px;padding:36px 24px;text-align:center;max-width:var(--max);margin-left:auto;margin-right:auto}
.foot .fine{font-family:var(--serif);font-style:italic;font-size:.82rem;color:var(--ink-soft)}
.foot .legal{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#bdbab3;margin-top:10px}
.foot nav{margin-top:14px}
.foot nav a{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;margin:0 8px}
.foot nav a:hover{color:var(--navy)}

@media(max-width:640px){
  .hero{padding:120px 0 20px}
  .wing{padding:70px 0 6px}
  .form-card{padding:22px 18px}
  th,td{padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){
  .piece-card{transition:none}
}
