@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-normal.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/assets/fonts/hanken-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/assets/fonts/hanken-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(/assets/fonts/hanken-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/plex-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/plex-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{
  --bg:#0e1a15; --surface:#15251e; --surface-2:#1c3027;
  --fg:#efe6d6; --muted:#a8b2a2; --line:rgba(239,230,214,.14);
  --gold:#d6b679; --berry:#d0475d; --on-gold:#17120a;
  --photo:#f4f1ec; --leaf:#86b896;
  --f-display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --s-xs:.78rem; --s-sm:.9rem; --s-md:1.05rem; --s-lg:1.35rem; --s-xl:clamp(1.9rem,4vw,2.8rem); --s-2xl:clamp(2.8rem,8vw,6.4rem);
  --gutter-l:max(16px,env(safe-area-inset-left,0px)); --gutter-r:max(16px,env(safe-area-inset-right,0px));
  --head:64px; --arch:999px 999px 10px 10px;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#eceee6; --surface:#e2e6dc; --surface-2:#d7ddd0;
  --fg:#12201a; --muted:#4c5a51; --line:rgba(18,32,26,.16);
  --gold:#7d5d22; --berry:#9a1c32; --on-gold:#fbf6ea; --photo:#f8f6f1; --leaf:#2f5a40;
  color-scheme:light;
}}
:root[data-theme="light"]{
  --bg:#eceee6; --surface:#e2e6dc; --surface-2:#d7ddd0;
  --fg:#12201a; --muted:#4c5a51; --line:rgba(18,32,26,.16);
  --gold:#7d5d22; --berry:#9a1c32; --on-gold:#fbf6ea; --photo:#f8f6f1; --leaf:#2f5a40;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:var(--s-md);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:1180px;margin-inline:auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.eyebrow{font-family:var(--f-mono);font-size:var(--s-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0}
h1,h2,h3{font-family:var(--f-display);font-weight:400;text-wrap:balance;line-height:1.08;margin:0}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header.top .wrap{height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-family:var(--f-display);font-style:italic;font-size:1.45rem;text-decoration:none}
nav.links{display:flex;gap:1.6rem;font-size:1.05rem}
nav.links a{text-decoration:none;color:var(--muted)}
nav.links a:hover{color:var(--fg)}
@media (max-width:760px){nav.links{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.4rem;border-radius:999px;font:600 var(--s-sm)/1 var(--f-body);text-decoration:none;border:1px solid var(--gold);background:var(--gold);color:var(--on-gold)}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}
.crumbs{font-size:var(--s-xs);color:var(--muted);padding-block:1.4rem 0;display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--fg)}
.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start;padding-block:2rem 4rem}
.product .arch{border-radius:var(--arch);overflow:hidden;background:var(--photo);aspect-ratio:3/4}
.product .arch img{width:100%;height:100%;object-fit:cover}
.info{display:grid;gap:1.3rem;position:sticky;top:calc(var(--head) + 2rem)}
.info h1{font-size:clamp(2.2rem,5vw,3.6rem)}
.price{font-family:var(--f-mono);font-size:1.6rem}
.info p{color:var(--muted);margin:0}
.specs{margin:0;display:grid;border-top:1px solid var(--line)}
.specs div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:var(--s-sm)}
.specs dt{color:var(--muted)}.specs dd{margin:0;text-align:right}
.ctas{display:flex;flex-wrap:wrap;gap:.7rem}
.note{font-size:var(--s-xs);color:var(--muted)}
.related{border-top:1px solid var(--line);padding-block:3rem 4rem}
.related h2{font-size:var(--s-xl);margin-bottom:1.8rem}
.rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.rel a{text-decoration:none;display:grid;gap:.6rem}
.rel .arch{border-radius:var(--arch);overflow:hidden;background:var(--photo);aspect-ratio:4/5}
.rel .arch img{width:100%;height:100%;object-fit:cover}
.rel span{font-family:var(--f-mono);font-size:var(--s-xs);color:var(--gold)}
.rel b{font-family:var(--f-display);font-weight:400;font-size:1.3rem}
.article{max-width:720px;padding-block:2rem 4rem}
.article h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:.8rem 0 1.2rem}
.article h2{font-size:1.7rem;margin:2.6rem 0 .8rem}
.article p,.article li{color:var(--muted)}
.article strong{color:var(--fg);font-weight:600}
.article .lede{font-size:var(--s-lg);line-height:1.5}
.article figure{margin:2rem 0}
.article figure .arch{border-radius:var(--arch);overflow:hidden;background:var(--photo);aspect-ratio:4/5;max-width:360px}
.article figcaption{font-size:var(--s-xs);color:var(--muted);margin-top:.6rem}
.cta-box{border:1px solid var(--line);border-radius:14px;padding:1.6rem;display:grid;gap:1rem;margin-top:2.6rem;background:var(--surface)}
footer.foot{border-top:1px solid var(--line);padding-block:2.5rem;color:var(--muted);font-size:var(--s-xs)}
footer.foot .wrap{display:grid;gap:1.2rem}
footer.foot nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
footer.foot nav a{text-decoration:none}footer.foot nav a:hover{color:var(--fg)}
@media (max-width:820px){.product{grid-template-columns:1fr}.info{position:static}.rel{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.rel{grid-template-columns:1fr}}
