@font-face{font-family:'Archivo';src:url(/fonts/archivo-semiexpanded-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';src:url(/fonts/inter-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';src:url(/fonts/inter-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';src:url(/fonts/jetbrains-mono-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';src:url(/fonts/instrument-serif-italic-400.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
--font-head:'Archivo',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--font-body:'Inter',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--font-accent:'Instrument Serif',Georgia,"Times New Roman",serif;
--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-h1:clamp(32px,9.6vw,56px);--fs-h1s:clamp(28px,7.6vw,44px);
--w-reg:400;--w-semi:600;
--bg:#0a0a0b;--surface:#151413;--text:#efebe3;--muted:#a8a296;--line:#2b2924;--field:#6b655a;--accent:#c9a96e;--accent-hi:#e4cfa0;--on-accent:#0a0a0b;
--bg2:var(--surface);--tx:var(--text);--mu:var(--muted);--gold:var(--accent);--gold2:var(--accent-hi)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);font-weight:var(--w-reg);line-height:1.55;-webkit-font-smoothing:antialiased}
b,strong{font-weight:var(--w-semi)}
a{color:var(--accent-hi)}main{max-width:720px;margin:0 auto;padding:0 20px}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));background:rgba(10,10,11,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:var(--text)}.vm{height:24px;width:auto}.wm{font-family:var(--font-head);letter-spacing:.32em;font-size:var(--fs-sm);font-weight:var(--w-semi);color:var(--text)}
nav{display:flex;gap:4px}nav a{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--muted);text-decoration:none;font-size:var(--fs-sm);font-weight:var(--w-semi);border-radius:8px}nav a[aria-current]{color:var(--text);background:var(--surface)}
.hero{padding:56px 0 32px}.hero.sm{padding:40px 0 24px}.center{text-align:center}
.eyebrow{font-family:var(--font-mono);font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-xs);margin:0 0 12px}
h1,h2,h3{font-family:var(--font-head);font-weight:var(--w-semi);color:var(--text)}
h1{font-size:var(--fs-h1);line-height:1.05;margin:0 0 12px;letter-spacing:.04em}h1 span{color:var(--accent)}
.tag{font-family:var(--font-accent);font-style:italic;font-weight:400;color:var(--accent-hi);font-size:var(--fs-xl);margin:0 0 16px}.lead{color:var(--text);opacity:.86;font-size:var(--fs-lg)}
.hhero{position:relative;margin:0 -20px;overflow:hidden;background:#000}.hhero img{display:block;width:100%;height:auto}.hhero picture{display:block;position:relative}.hhero picture:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,0) 55%,rgba(10,10,11,.85) 88%,var(--bg) 100%)}
.hhero{background:var(--bg)}.hover{position:relative;margin-top:-56px;padding:0 20px;z-index:1}.hover h1{margin-bottom:4px;text-shadow:0 2px 18px #000}.hover .tag{margin:0}.intro{margin:20px 0 28px}
.accents{padding:0 0 28px}.strip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px}.strip figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:4/5}.strip img{width:100%;height:100%;object-fit:cover;display:block}
.cards{display:grid;gap:16px;padding-bottom:48px}
.card{display:block;min-height:180px;padding:24px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(155deg,#1a1917,#0f0f10 70%);color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s}
.card:hover,.card:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.card h2{font-size:var(--fs-2xl);line-height:1.15;margin:8px 0}.card p{color:var(--muted);margin:0 0 18px}
.k{font-family:var(--font-mono);font-weight:500;color:var(--accent);font-size:var(--fs-xs);letter-spacing:.14em}.go{color:var(--accent-hi);font-weight:var(--w-semi)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;font-weight:var(--w-semi);font-size:var(--fs-md);text-decoration:none;border:1px solid var(--accent);cursor:pointer;font-family:var(--font-body)}
.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-hi)}.ghost{background:transparent;color:var(--accent-hi)}
.row{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 8px}.row.c{justify-content:center}
.svc{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px}.svc li{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.svc strong{display:block}.svc span{color:var(--muted)}
.book{scroll-margin-top:64px;border-top:1px solid var(--line);padding:32px 0 48px}.book h2{font-size:var(--fs-2xl);margin:0 0 6px}
.bf{display:grid;gap:16px;margin-top:18px}.bf label{display:grid;gap:6px;font-size:var(--fs-sm);color:var(--text);font-weight:var(--w-semi)}.opt{font-family:var(--font-mono);color:var(--muted);font-weight:500;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;margin-left:4px}
.bf input,.bf select,.bf textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:10px;border:1px solid var(--field);background:var(--surface);color:var(--text);font-size:var(--fs-md);font-weight:var(--w-reg);line-height:1.4;font-family:var(--font-body);color-scheme:dark}
.bf textarea{resize:vertical}.bf input:focus,.bf select:focus,.bf textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,169,110,.22)}
.bf .btn{width:100%;margin-top:6px}.dm{color:var(--muted);font-size:var(--fs-sm);text-align:center}.dm a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.small{color:var(--muted);font-size:var(--fs-sm)}
footer{border-top:1px solid var(--line);padding:28px 20px calc(28px + env(safe-area-inset-bottom));text-align:center;color:var(--muted);font-size:var(--fs-sm)}
.ft-brand{font-family:var(--font-mono);font-weight:500;letter-spacing:.14em;color:var(--text);font-size:var(--fs-xs)}.ft-brand em{font-family:var(--font-accent);letter-spacing:0;color:var(--accent-hi);font-size:var(--fs-lg);font-weight:400}
.ft-links{display:flex;flex-direction:column;align-items:center}.ft-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}
.h1s{font-size:var(--fs-h1s);letter-spacing:.01em;line-height:1.1}
.fs{scroll-margin-top:64px;border-top:1px solid var(--line);padding:32px 0 48px}.fs h2{font-size:var(--fs-2xl);margin:0 0 6px}
.gal{padding:8px 0 32px;scroll-margin-top:64px}.gal h2{font-size:var(--fs-xl);margin:0 0 14px}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid li{min-width:0}.grid .wide{grid-column:1/-1}
.tile{position:relative;display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:1/1;min-height:44px}.wide .tile{aspect-ratio:2/1}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.tile:hover img{transform:scale(1.03)}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cap{position:absolute;left:0;right:0;bottom:0;padding:18px 10px 8px;font-family:var(--font-accent);font-style:italic;font-size:var(--fs-md);line-height:1.25;color:var(--text);background:linear-gradient(180deg,transparent,rgba(0,0,0,.8))}
.lb{border:0;padding:0;margin:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:rgba(5,5,6,.96);color:var(--text)}.lb::backdrop{background:rgba(0,0,0,.85)}
.lb figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 12px 24px}
.lb img{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain;border-radius:8px}.lb figcaption{margin-top:14px;font-family:var(--font-accent);font-style:italic;font-size:var(--fs-lg);color:var(--text);text-align:center}
/* lightbox controls: icon glyphs, sized as icons (not part of the type scale) */
.lb-btn{position:absolute;width:48px;height:48px;border-radius:24px;border:1px solid var(--line);background:rgba(21,20,19,.85);color:var(--text);font-family:var(--font-body);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lb-x{top:max(12px,env(safe-area-inset-top));right:12px;font-size:18px}.lb-p{left:12px;bottom:max(24px,env(safe-area-inset-bottom));}.lb-n{right:12px;bottom:max(24px,env(safe-area-inset-bottom))}
.price{margin:4px 0 0;color:var(--accent-hi)}.svc .addon{border-color:var(--accent)}.svc .addon .k{display:block;margin-bottom:4px}.svc .addon a{display:inline-flex;align-items:center;min-height:44px}
.rh .k{margin:0 0 6px}.inc{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.inc h3{font-size:var(--fs-lg);margin:0 0 8px}.inc ul{margin:0;padding-left:20px;display:grid;gap:8px;color:var(--text)}.inc.no{border-color:var(--field)}.about{text-align:center;padding-bottom:24px}
.accent1{display:flex;align-items:center;gap:12px;margin:0 0 24px}.accent1 img{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.accent1 figcaption{margin:0}
@media(min-width:720px){.grid{grid-template-columns:repeat(3,1fr)}.lb-p{top:50%;bottom:auto;transform:translateY(-50%)}.lb-n{top:50%;bottom:auto;transform:translateY(-50%)}.hhero{margin:0;border-radius:0 0 16px 16px}.hover{position:absolute;left:32px;bottom:28px;margin:0;padding:0}.wm{font-size:var(--fs-md)}.cards{grid-template-columns:1fr 1fr}.ft-links{flex-direction:row;justify-content:center;gap:16px}}