:root{
  --ink:#122b22;
  --ink-2:#1a3a2e;
  --paper:#f6f4ee;
  --paper-2:#ece8dd;
  --brass:#b99856;
  --line:#dcd6c6;
  --text:#26302b;
  --muted:#5d6b63;
  --frame:#382b1f;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--paper);color:var(--text);font-family:'Hanken Grotesk',sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
svg,img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-weight:800;color:var(--ink);line-height:1.06;letter-spacing:-.015em}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.btn{display:inline-block;background:var(--brass);color:#fff;font-weight:700;font-size:15px;padding:15px 30px;border-radius:4px;text-decoration:none;border:none;cursor:pointer;font-family:inherit;transition:filter .2s}
.btn:hover{filter:brightness(1.08)}
.btn.dark{background:var(--ink);color:var(--paper)}
.btn.line{background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.4)}
.btn.line:hover{border-color:#fff}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px}

/* ===== header ===== */
header{position:relative;z-index:50}
header.on-dark{position:absolute;top:0;left:0;right:0}
header.on-light{background:var(--ink)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 10px}
.brand{display:flex;align-items:center;text-decoration:none}
.nav-links{display:flex;gap:26px;align-items:center;font-size:15px;font-weight:600}
.nav-links a{text-decoration:none;color:rgba(246,244,238,.8)}
.nav-links a:hover,.nav-links a[aria-current]{color:#fff}
.nav .btn{padding:10px 18px;font-size:14px}
@media(max-width:860px){.nav-links a:not(.btn){display:none}}

/* ===== hero (home) ===== */
.hero{background:
  radial-gradient(60% 50% at 30% 18%, rgba(255,244,214,.10), transparent 60%),
  radial-gradient(50% 45% at 72% 22%, rgba(255,244,214,.08), transparent 60%),
  linear-gradient(180deg,#16342a 0%, #122b22 70%);
  color:var(--paper);padding:120px 0 0;overflow:hidden}
.hero-copy{text-align:center;max-width:760px;margin:0 auto 56px}
.hero h1{color:#fff;font-size:clamp(40px,6vw,68px);margin:16px 0 18px}
.hero h1 em{font-style:normal;color:var(--brass)}
.hero p{font-size:19px;color:rgba(246,244,238,.75);max-width:44ch;margin:0 auto 30px}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* interior page hero */
.page-hero{background:linear-gradient(180deg,#16342a,#122b22);color:var(--paper);padding:64px 0 56px;text-align:center}
.page-hero h1{color:#fff;font-size:clamp(32px,4.6vw,52px);margin-top:12px}
.page-hero p{color:rgba(246,244,238,.72);max-width:56ch;margin:14px auto 0;font-size:18px}

/* ===== gallery wall ===== */
.wall{display:flex;justify-content:center;align-items:flex-end;gap:clamp(16px,3vw,44px);padding:0 24px 76px;position:relative}
.wall::after{content:"";position:absolute;left:0;right:0;bottom:0;height:76px;background:linear-gradient(180deg,transparent,#0d221b);pointer-events:none}
.hang{position:relative}
.hang::before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:56px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.25))}
.frame{background:var(--frame);padding:12px;border-radius:2px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6), inset 0 0 0 2px rgba(255,255,255,.07);transition:transform .35s ease}
.hang:hover .frame{transform:translateY(-6px)}
.wall .frame,.on-dark-wall .frame{background:linear-gradient(145deg,#c9a96a 0%,#a8874e 45%,#8d6f3c 100%);box-shadow:0 30px 60px -20px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,255,255,.35)}
.wall .frame .mat{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.frame .mat{background:#fbfaf5;padding:14px}
.hang.big{width:min(320px,34vw)}
.hang.mid{width:min(250px,26vw)}
.hang.sml{width:min(210px,22vw)}
.hang .cap{margin-top:14px;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,244,238,.55)}
@media(max-width:640px){.wall{flex-wrap:nowrap}.hang.sml{display:none}.hang.big{width:52vw}.hang.mid{width:38vw}}

/* ===== sections ===== */
section{padding:92px 0}
@media(max-width:700px){section{padding:60px 0}}
.head{max-width:640px;margin-bottom:48px}
.head h2{font-size:clamp(30px,4vw,44px);margin-top:12px}
.head p{color:var(--muted);margin-top:12px;font-size:18px}

/* before/after */
.ba{border-bottom:1px solid var(--line)}
.ba-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
@media(max-width:900px){.ba-grid{grid-template-columns:1fr;gap:44px}}
.piece{max-width:400px;margin:0 auto}
.aw{position:relative;aspect-ratio:3/4;overflow:hidden}
.aw svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .5s ease}
.aw .photo{opacity:0}
.piece.show-photo .aw .photo{opacity:1}
.piece.show-photo .aw .art{opacity:0}
.placard{background:#fff;border:1px solid var(--line);border-top:none;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.placard .t1{font-weight:700;color:var(--ink);font-size:15px}
.placard .t2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.flip{background:none;border:1px solid var(--line);border-radius:4px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);padding:8px 12px;cursor:pointer;white-space:nowrap}
.flip:hover{border-color:var(--brass)}
.ba-copy h2{font-size:clamp(30px,4vw,44px);margin:12px 0 16px}
.ba-copy p{color:var(--muted);font-size:18px;max-width:44ch;margin-bottom:26px}

/* style cards */
.styles-band{background:var(--paper-2);border-bottom:1px solid var(--line)}
.style-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:900px){.style-row{grid-template-columns:1fr;max-width:400px;margin:0 auto}}
.card{text-decoration:none}
.card .frame{padding:10px}
.card .mat{padding:11px}
.card .win{height:0;padding-bottom:133.33%;overflow:hidden;position:relative}
.card .win svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .45s ease}
.card:hover .win svg{transform:scale(1.05)}
.card .cap{padding:14px 4px 0}
.card .t1{font-weight:800;color:var(--ink);font-size:17px}
.card .t2{font-size:13px;color:var(--muted);margin-top:2px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
@media(max-width:820px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
.step h3{font-size:18px;margin:10px 0 6px}
.step p{font-size:15px;color:var(--muted)}
.step .dot{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}

/* long step list (how it works page) */
.longsteps{max-width:720px}
.lstep{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
.lstep:last-child{border-bottom:none}
.lstep .dot{flex:none;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--paper);font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.lstep h3{font-size:20px;margin-bottom:6px}
.lstep p{color:var(--muted)}

/* bands */
.band{background:var(--ink);color:var(--paper);text-align:center}
.band h2{color:#fff;font-size:clamp(28px,4vw,42px);max-width:22ch;margin:12px auto 14px}
.band p{color:rgba(246,244,238,.7);max-width:52ch;margin:0 auto 30px;font-size:18px}
.clubs-strip{border-bottom:1px solid var(--line)}
.clubs-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.clubs-inner h2{font-size:24px}
.clubs-inner p{color:var(--muted);max-width:52ch;margin-top:6px}

/* ===== forms ===== */
.form-wrap{max-width:720px}
form .field{margin-bottom:22px}
form label{display:block;font-weight:700;font-size:15px;color:var(--ink);margin-bottom:7px}
form label .opt{font-weight:400;color:var(--muted)}
form .hint{font-size:14px;color:var(--muted);margin:-2px 0 8px}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=url],select,textarea{
  width:100%;background:#fff;border:1px solid var(--line);border-radius:5px;padding:13px 14px;
  font-family:inherit;font-size:16px;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--brass);border-color:var(--brass)}
textarea{min-height:120px;resize:vertical}
.choices{display:flex;flex-direction:column;gap:9px}
.choice{display:flex;align-items:flex-start;gap:10px;font-size:16px;font-weight:400;color:var(--text);cursor:pointer}
.choice input{margin-top:4px;accent-color:var(--brass);width:17px;height:17px;flex:none}
fieldset{border:1px solid var(--line);border-radius:6px;padding:22px;margin-bottom:26px;background:#fdfcf8}
legend{font-weight:800;color:var(--ink);padding:0 8px;font-size:17px}
input[type=file]{width:100%;padding:12px;background:#fff;border:1px dashed var(--brass);border-radius:5px;font-family:inherit;font-size:14px}
.consent{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:26px}
.consent .choice{margin-bottom:10px}
.consent .choice:last-child{margin-bottom:0}
.form-note{font-size:14px;color:var(--muted);margin-top:16px}

/* faq */
.faq-list{max-width:760px}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:17px;padding:20px 30px 20px 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:16px;font-size:24px;color:var(--brass);font-weight:400}
details[open] summary::after{content:"–"}
details p{padding:0 0 20px;color:var(--muted);max-width:65ch}

/* gallery grid */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
@media(max-width:900px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gal-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}}

/* prose (about, legal) */
.prose{max-width:680px}
.prose h2{font-size:24px;margin:36px 0 12px}
.prose p,.prose li{color:var(--muted);margin-bottom:14px}
.prose ul{padding-left:22px}

/* footer */
footer{background:var(--ink);color:rgba(246,244,238,.6);padding:48px 0 36px;font-size:14px}
.foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:center}
.foot a{text-decoration:none;color:inherit}
.foot a:hover{color:#fff}
.foot-links{display:flex;gap:24px;flex-wrap:wrap}
.legal{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:rgba(246,244,238,.4)}
.legal a{color:inherit}

/* real artwork images */
.aw{aspect-ratio:707/1000}
.aw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}
.aw img.photo{opacity:0}
.piece.show-photo .aw img.photo{opacity:1}
.piece.show-photo .aw img.art{opacity:0}
.mat > img{width:100%;height:auto}
.win img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.card:hover .win img{transform:scale(1.05)}

/* orientation-aware artwork windows */
.aw.ls{aspect-ratio:3/2}
.aw.sq{aspect-ratio:1/1}
.hang.wide{width:min(340px,36vw)}
@media(max-width:640px){.hang.wide{display:none}}
/* gallery pieces spanning full width for landscape works */
.gal-span{grid-column:1/-1;max-width:720px;width:100%;margin:0 auto}
/* four style cards */
.style-row.four{grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1020px){.style-row.four{grid-template-columns:repeat(2,1fr);max-width:720px;margin:0 auto}}
@media(max-width:560px){.style-row.four{grid-template-columns:1fr;max-width:400px}}

/* pricing */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0 10px}
@media(max-width:700px){.prices{grid-template-columns:1fr}}
.price{background:#fdfcf8;padding:26px 24px}
.price .t{font-weight:700;color:var(--ink);font-size:16px}
.price .amt{font-weight:800;font-size:28px;color:var(--ink);margin:6px 0 4px}
.price p{font-size:14px;color:var(--muted)}
.variations{background:var(--paper-2);border:1px solid var(--line);border-radius:6px;padding:20px 22px;font-size:15px;color:var(--muted)}
.variations b{color:var(--ink)}
.price-note{font-size:14px;color:var(--muted);margin-top:14px}

/* homepage transformation: give the landscape artwork more room */
.ba-grid.wide-art{grid-template-columns:1.15fr .85fr}
@media(max-width:900px){.ba-grid.wide-art{grid-template-columns:1fr}}

/* v2 flip: both images share one grid cell at natural size — cannot differ */
.awx{display:grid;overflow:hidden}
.awx img{grid-area:1/1;width:100%;height:auto;display:block;transition:opacity .5s ease}
.awx img.photo{opacity:0}
.piece.show-photo .awx img.photo{opacity:1}
.piece.show-photo .awx img.art{opacity:0}
/* stop the button text swap nudging the layout */
.flip{min-width:178px;text-align:center}

/* mobile header: keep the CTA compact and on one line */
.nav .btn{white-space:nowrap}
@media(max-width:480px){
  .nav .btn{padding:9px 14px;font-size:13px}
  .nav .btn .xs-hide{display:none}
}
/* two-tier pricing lines */
.pline{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--muted);padding:3px 0;border-bottom:1px dashed var(--line)}
.pline b{color:var(--ink)}
.pline:last-of-type{border-bottom:none;margin-bottom:8px}

/* gallery sets */
.set-row{display:grid;gap:20px;margin-top:26px}
.set-row.three{grid-template-columns:repeat(3,1fr)}
.set-row.two{grid-template-columns:repeat(2,1fr);max-width:840px;margin-left:auto;margin-right:auto}
@media(max-width:700px){.set-row.three,.set-row.two{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}
.set-cap{text-align:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}

/* image protection (deterrent only) */
img{-webkit-user-drag:none;user-select:none}
/* gallery lightbox */
.gal-grid .frame, .set-row .frame{cursor:zoom-in}
.lb{position:fixed;inset:0;background:rgba(13,26,21,.93);display:none;align-items:center;justify-content:center;z-index:100;padding:24px;cursor:zoom-out}
.lb.open{display:flex}
.lb-stage{position:relative;max-width:92vw;max-height:90vh}
.lb-stage img{max-width:92vw;max-height:90vh;width:auto;height:auto;display:block;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.lb-mark span{font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:clamp(28px,7vw,84px);letter-spacing:.12em;color:rgba(246,244,238,.4);transform:rotate(-18deg);white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.lb-close{position:absolute;top:18px;right:22px;background:none;border:none;color:#f6f4ee;font-size:34px;cursor:pointer;font-family:inherit}

/* set flips: one button flips the whole set */
.set-row .awx img.photo{opacity:0}
.set-row.show-photo .awx img.photo{opacity:1}
.set-row.show-photo .awx img.art{opacity:0}
.set-cap .flip{margin-left:12px;vertical-align:middle}
