/* Fonts are self-hosted (SIL Open Font License): Cormorant Garamond for headings, Inter for text. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/inter-latin-wght-normal.woff2) format("woff2")}

:root{
  --paper:#f7f3ec; --paper-2:#efe9de; --ink:#14232b; --ink-2:#3d4f58; --muted:#6b7a82;
  --coral:#d2694a; --coral-d:#b5532f; --teal:#1e8c8c; --night:#0d1b24; --line:#ddd5c6;
  --hdr-bg:rgba(247,243,236,.94); --hdr-fg:var(--ink); --hdr-line:var(--line); --nav-bg:var(--paper);
  --gutter:16px; --max:1240px; --wide:1680px;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}
@media (min-width:700px){:root{--gutter:32px}}
/* "Gallery at night": the paintings glow on deep blue. Drawings stay on paper because they are drawn on white. */
body.theme-night{--paper:#0d1b24; --paper-2:#14262f; --ink:#eef2f0; --ink-2:#c3d0d4; --muted:#8fa4ad; --line:rgba(255,255,255,.12);
  --hdr-bg:rgba(13,27,36,.92); --hdr-fg:#eef2f0; --hdr-line:rgba(255,255,255,.1); --nav-bg:#0d1b24}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0 0 .5em;letter-spacing:.005em}
h1{font-size:clamp(2.3rem,5vw,3.6rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
h3{font-size:1.5rem}
.muted{color:var(--muted)} .small{font-size:.9rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6em 1em;z-index:100}
.skip:focus{left:8px;top:8px}
.icon{display:block}
.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:.74rem;color:var(--teal);font-weight:600;margin:0 0 1em}
.theme-night .eyebrow,.feature .eyebrow,.timelapse .eyebrow{color:#7fd0cc}
.hero .eyebrow{color:#fff;opacity:.92;text-shadow:0 1px 14px rgba(0,0,0,.6)}

/* header */
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;padding:10px var(--gutter);background:var(--hdr-bg);color:var(--hdr-fg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hdr-line);transition:background .35s,border-color .35s}
body.home .site-header{position:fixed;left:0;right:0;--hdr-bg:transparent;--hdr-fg:#fff;--hdr-line:transparent;--nav-bg:#0d1b24;backdrop-filter:none;-webkit-backdrop-filter:none}
body.home .site-header.scrolled,body.home .site-header.menu-open{--hdr-bg:rgba(13,27,36,.93);--hdr-line:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.mark{font:italic 600 .95rem/1 var(--serif);color:var(--coral);letter-spacing:.02em;border:1.5px solid var(--coral);border-radius:50%;width:48px;height:48px;display:grid;place-items:center}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-name{letter-spacing:.28em;font-size:.82rem;font-weight:600}
.brand-tag{font-size:.66rem;letter-spacing:.1em;opacity:.7;text-transform:uppercase}
.main-nav{display:flex;gap:22px}
.main-nav a{text-decoration:none;font-size:.86rem;letter-spacing:.06em;padding:.4em 0;border-bottom:2px solid transparent;white-space:nowrap}
.main-nav a:hover,.main-nav a[aria-current]{border-color:var(--coral)}
.header-actions{display:flex;gap:4px}
.icon-btn{position:relative;background:none;border:0;color:inherit;padding:10px;border-radius:50%;cursor:pointer;line-height:0}
.icon-btn:hover{background:rgba(127,127,127,.2)}
.cart-count{position:absolute;top:2px;right:0;background:var(--coral);color:#fff;font-size:.7rem;line-height:1;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px;font-weight:600}
.cart-count[hidden]{display:none}
.menu-btn{display:none}
@media (max-width:1060px){
  .brand-tag{display:none}
  .menu-btn{display:block}
  .main-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--nav-bg);color:var(--hdr-fg);border-bottom:1px solid var(--hdr-line);padding:6px var(--gutter) 14px;display:none}
  .main-nav.open{display:flex}
  .main-nav a{padding:.85em 0;border-bottom:1px solid var(--hdr-line)}
}
@media (max-width:420px){.brand-name{letter-spacing:.16em;font-size:.72rem}}

/* layout */
main{min-height:60vh}
.page-head,.prose,.artwork-info,.notice{max-width:var(--max);margin:0 auto;padding:28px var(--gutter) 8px}
.prose{max-width:760px;padding-bottom:50px}
.notice{background:var(--paper-2);border-left:4px solid var(--teal);margin:12px auto;padding:14px 18px;max-width:calc(var(--max) - 2*var(--gutter))}
.lead{font-size:1.15rem;color:var(--ink-2);max-width:34em}
code{background:var(--paper-2);padding:.1em .4em;border-radius:4px;font-size:.9em}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--coral);color:#fff;border:2px solid var(--coral);padding:.7em 1.5em;border-radius:999px;text-decoration:none;font:inherit;font-size:.9rem;font-weight:500;letter-spacing:.07em;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.btn:hover{background:var(--coral-d);border-color:var(--coral-d)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.btn-light:hover{background:#fff;color:var(--night);border-color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:1.2em 0}
.actions.center{justify-content:center}

/* home: full-screen hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;background:var(--night);color:#fff;overflow:hidden}
.hero-slides{position:absolute;inset:0}
.hero-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,16,23,.86) 0%,rgba(7,16,23,.5) 40%,rgba(7,16,23,.14) 64%,rgba(7,16,23,.5) 100%)}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.6s ease}
.slide.is-on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.07);transition:transform 12s ease-out}
.slide.is-on img{transform:scale(1)}
.slide.tall,.hero-cap.tall,.dot.tall{display:none}
@media (max-width:700px){.hero-slides::after{background:linear-gradient(to top,rgba(7,16,23,.92) 0%,rgba(7,16,23,.78) 45%,rgba(7,16,23,.25) 72%,rgba(7,16,23,.5) 100%)}.hero h1{font-size:clamp(2.2rem,10vw,2.8rem)}}
@media (orientation:portrait) and (max-width:900px){.slide.wide,.hero-cap.wide,.dot.wide{display:none}.slide.tall{display:block}.hero-cap.tall{display:flex}.dot.tall{display:block}}
.hero-copy{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:120px var(--gutter) clamp(26px,5vh,48px)}
.hero h1{font-size:clamp(2.6rem,7vw,6rem);line-height:1;max-width:11.5em;margin:0 0 .3em;text-shadow:0 2px 40px rgba(0,0,0,.4)}
.hero .lead{color:rgba(255,255,255,.88);font-size:clamp(1rem,1.5vw,1.2rem);max-width:32em;text-shadow:0 1px 18px rgba(0,0,0,.45)}
.hero-meta{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter) 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.hero-caps{position:relative;min-height:2.6em;flex:1}
.hero-cap{position:absolute;left:0;bottom:0;display:flex;flex-direction:column;text-decoration:none;color:#fff;opacity:0;pointer-events:none;transition:opacity 1s}
.hero-cap.is-on{opacity:1;pointer-events:auto}
.hero-cap em{font:italic 500 1.35rem/1.1 var(--serif)}
.hero-cap span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.hero-cap:hover span{opacity:1;text-decoration:underline}
.hero-dots{display:flex;gap:8px;padding-bottom:6px}
.dot{width:34px;height:3px;border:0;padding:0;background:rgba(255,255,255,.35);border-radius:2px;cursor:pointer;position:relative;overflow:hidden}
.dot.is-on{background:#fff}
.dot::before{content:"";position:absolute;inset:-10px 0}

/* home: featured pieces, shown large on a tint taken from the painting */
.feature{background:#10242f;background:color-mix(in srgb,var(--tint) 34%,#0a161e);color:#eef2f0;padding:clamp(48px,9vw,130px) var(--gutter)}
.feature-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,6vw,96px);align-items:center}
.feature.flip .feature-in{grid-template-columns:.8fr 1.2fr}
.feature.flip .feature-art{order:2}
.feature-art{display:flex;justify-content:center}
.feature-art img{width:auto;max-width:100%;max-height:min(84vh,980px);height:auto;box-shadow:0 40px 90px -30px rgba(0,0,0,.75);transition:transform .8s}
@media (hover:hover){.feature-art:hover img{transform:scale(1.015)}}
.feature h2{font-size:clamp(2.2rem,4.4vw,3.8rem);margin-bottom:.3em}
.status{display:inline-block;margin:.2em 0 0;padding:.15em .8em;border-radius:999px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.status-available{background:#dff0e8;color:#1a6b4a}.status-sold{background:#fbe1de;color:#a8140f;font-weight:600}
.status-big{font-size:.98rem;padding:.32em 1.1em;letter-spacing:.08em}
.status-big{margin-top:1.1em}
.status-available{font-weight:600}
a.status-link{text-decoration:none;box-shadow:inset 0 0 0 1.5px #1a6b4a;transition:background .2s,color .2s}
a.status-link:hover,a.status-link:focus-visible{background:#1a6b4a;color:#fff}
.pdp-orig{margin:-.5em 0 1.2em}.pdp-orig .status{margin:0;font-size:.82rem;padding:.35em 1.05em}
.sold-note{color:#ee5a52;font-weight:600}
.feature .status-sold{background:rgba(238,90,82,.16);color:#ee5a52}
@media (max-width:860px){.feature-in,.feature.flip .feature-in{grid-template-columns:1fr;gap:26px}.feature.flip .feature-art{order:0}}

/* home: sideways strip of more paintings */
.strip-band{background:var(--night);color:#eef2f0;padding:clamp(48px,8vw,100px) 0 clamp(36px,6vw,70px)}
.strip-head{max-width:var(--max);margin:0 auto 22px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.strip-head h2{margin:0}
.strip-head a{font-size:.88rem;letter-spacing:.08em;text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--coral)}
.strip{display:flex;gap:clamp(14px,2vw,26px);overflow-x:auto;scroll-snap-type:x proximity;padding:0 var(--gutter) 22px max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));scroll-padding-left:max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));scrollbar-width:thin;scrollbar-color:#355260 transparent}
.strip a{flex:none;scroll-snap-align:start;text-decoration:none;display:block}
.strip img{height:clamp(300px,62vh,640px);width:auto;max-width:none;background:var(--paper-2)}
.strip .cap{padding-top:10px}
.cap{display:block}
.cap em{display:block;font:italic 500 1.25rem/1.2 var(--serif)}
.cap small{display:block;font-size:.76rem;letter-spacing:.05em;color:var(--muted);margin-top:2px}

/* home: doors to the shop. Each door is a clean white card: the product picture, then its name, a line about it and a small "shop" link. */
.doors{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;padding:clamp(48px,7vw,96px) var(--gutter)}
.doors .door{grid-column:span 2}
.doors .door:nth-child(n+4){grid-column:span 3}
@media (min-width:1100px){.doors{grid-template-columns:repeat(10,1fr);gap:14px}.doors .door,.doors .door:nth-child(n+4){grid-column:span 2}}
@media (max-width:700px){.doors{grid-template-columns:repeat(2,1fr);gap:12px}.doors .door,.doors .door:nth-child(n+4){grid-column:span 1}.doors .door:first-child{grid-column:span 2}}
.door{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;color:var(--ink);text-decoration:none}
.js .doors .door.reveal{transition:opacity .9s ease,transform .9s ease,box-shadow .35s ease,border-color .35s ease}
.door img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;transition:transform .9s ease}
.door-body{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;background:#fff;padding:18px 22px 22px;border-top:1px solid var(--line)}
.door h3{font-size:1.5rem;margin:0 0 .15em;line-height:1.2}
.door p{margin:0;font-size:.92rem;color:var(--ink-2);max-width:26em;line-height:1.5}
.door-cta{margin-top:auto;padding-top:1em;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--coral-d)}
.door-cta i{font-style:normal;display:inline-block;transition:transform .25s ease}
@media (hover:hover){.door:hover{border-color:rgba(20,35,43,.3);box-shadow:0 26px 44px -30px rgba(13,27,36,.45)}.door:hover img{transform:scale(1.03)}.door:hover .door-cta i{transform:translateX(5px)}}
/* two print doors first, then a smaller row of gifts */
.doors.doors-prints{grid-template-columns:repeat(2,1fr);gap:20px;padding-bottom:clamp(20px,3vw,40px)}
.doors.doors-prints .door,.doors.doors-prints .door:nth-child(n+4),.doors.doors-prints .door:first-child{grid-column:span 1}
.doors.doors-prints .door img{aspect-ratio:1/1}
.doors.doors-prints .door h3{font-size:clamp(1.6rem,3vw,2.1rem)}
.doors.doors-prints .door-body{padding:20px 26px 26px}
@media (max-width:560px){.doors.doors-prints{grid-template-columns:1fr}.doors.doors-prints .door img{aspect-ratio:4/3}}
.doors-goods{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) clamp(48px,7vw,96px)}
.doors-goods .eyebrow{margin-bottom:1.2em}
.doors.doors-small{padding:0;grid-template-columns:repeat(3,1fr);gap:18px}
.doors.doors-small .door,.doors.doors-small .door:nth-child(n+4),.doors.doors-small .door:first-child{grid-column:span 1}
.doors.doors-small .door h3{font-size:clamp(1.2rem,2.2vw,1.45rem)}
.doors.doors-small .door-body{padding:14px 18px 18px}
.doors.doors-small .door p{font-size:.85rem}
@media (max-width:560px){.doors.doors-small{grid-template-columns:1fr;gap:14px}}

/* home: drawings and about */
.drawings-band{background:var(--paper-2);padding:clamp(48px,8vw,110px) var(--gutter)}
.drawings-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:center}
.drawings-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,24px);align-items:center}
.drawings-row img{width:100%;height:auto;box-shadow:0 22px 40px -20px rgba(13,27,36,.55);background:#fff}
.drawings-row a:nth-child(2){transform:translateY(clamp(0px,3vw,36px))}
@media (max-width:860px){.drawings-in{grid-template-columns:1fr}}
.about-band{max-width:880px;margin:0 auto;text-align:center;padding:clamp(56px,9vw,120px) var(--gutter)}
.about-quote{font:italic 400 clamp(1.6rem,3.2vw,2.4rem)/1.3 var(--serif);margin:0 0 .4em;color:var(--ink)}
.timelapse{background:var(--night);color:#eef2f0;padding:clamp(48px,8vw,100px) var(--gutter)}
.timelapse-in{max-width:960px;margin:0 auto;text-align:center}
.timelapse .muted{color:#8fa4ad}

/* gallery */
.page-head.gal{max-width:var(--wide);text-align:center;padding-top:clamp(36px,7vw,84px);padding-bottom:10px}
.gal h1{font-size:clamp(2.8rem,7vw,5rem);margin-bottom:.1em}
.gal-note{color:var(--muted);margin:0 0 1.4em}
.gal-tools{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px 28px}
.tabs,.view-toggle{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.tabs a,.view-toggle button{padding:.5em 1.5em;text-decoration:none;font:inherit;font-size:.86rem;letter-spacing:.08em;background:none;border:0;color:inherit;cursor:pointer}
.tabs a[aria-current],.view-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.view-toggle{border-color:var(--line)}.view-toggle button{padding:.5em 1.2em}
.grid{max-width:var(--wide);margin:0 auto;padding:30px var(--gutter) 60px;columns:4 270px;column-gap:clamp(16px,2vw,30px)}
.grid.is-large{columns:2 460px}
.grid.rows{columns:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:clamp(22px,3vw,40px) clamp(16px,2vw,30px);align-items:start}
.grid.rows.is-large{grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}
.grid.rows .tile{margin-bottom:0}
.grid.rows .frame{aspect-ratio:3/4!important;display:flex;align-items:center;justify-content:center;background:#fff!important}
.grid.rows .frame img{width:100%;height:100%;object-fit:contain}
.tile{display:block;break-inside:avoid;margin:0 0 clamp(26px,3vw,42px);text-decoration:none}
.frame{display:block;overflow:hidden;background:var(--paper-2);box-shadow:0 18px 40px -22px rgba(0,0,0,.55)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
@media (hover:hover){.tile:hover img{transform:scale(1.035)}.tile:hover .cap em{color:var(--coral)}}
.tile .cap{padding:11px 2px 0}.cap em{transition:color .2s}
@media (max-width:640px){.ps{display:none}.grid{columns:2 140px;column-gap:12px}.grid.rows,.grid.rows.is-large{grid-template-columns:repeat(2,1fr);gap:22px 12px}.grid.rows.is-large{grid-template-columns:1fr}.tile{margin-bottom:22px}.grid.is-large{columns:1}.tile .cap em{font-size:1.1rem}}

/* artwork page */
.viewer-wrap{position:relative;background:var(--night)}
.viewer{width:100%;max-height:min(80vh,920px);min-height:220px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.viewer.fit .openseadragon-canvas{touch-action:pan-y !important}
.viewer img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.viewer-tools{position:absolute;right:14px;top:14px;display:flex;flex-direction:column;gap:6px}
.viewer-tools button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(247,243,236,.92);color:#14232b;cursor:pointer;display:grid;place-items:center}
.viewer-tools button:hover{background:#fff}
.viewer-hint{position:absolute;left:0;right:0;bottom:8px;margin:0;text-align:center;color:rgba(255,255,255,.7);font-size:.8rem;pointer-events:none;transition:opacity .6s}
.viewer-hint.gone{opacity:0}
.artwork-info{padding-top:34px;padding-bottom:60px}
.artwork-info h1{font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:.15em}
.crumbs{margin:0 0 .6em;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.crumbs a{color:var(--muted);text-decoration:none}
.details{font:italic 500 1.3rem var(--serif);color:var(--ink-2);margin:0}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:2.4em;padding-top:1.1em;border-top:1px solid var(--line);font-size:.92rem}
.pager a{text-decoration:none;color:var(--ink-2)}.pager a:hover{color:var(--coral)}
.viewer-wrap:fullscreen{width:100%;height:100%}
.viewer-wrap:-webkit-full-screen{width:100%;height:100%}
.viewer-wrap:fullscreen .viewer{aspect-ratio:auto!important;max-height:none;height:100%}
.viewer-wrap:-webkit-full-screen .viewer{aspect-ratio:auto!important;max-height:none;height:100%}
.viewer-wrap.is-full{position:fixed;inset:0;z-index:60;height:100vh;height:100dvh}
.viewer-wrap.is-full .viewer{aspect-ratio:auto!important;max-height:none;height:100%}
body.noscroll{overflow:hidden}

/* scroll reveal (only when JavaScript is running) */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.js .reveal.in{opacity:1;transform:none}
.js .drawings-row .reveal:nth-child(2){transition-delay:.12s}.js .drawings-row .reveal:nth-child(3){transition-delay:.24s}
.js .doors .reveal:nth-child(2){transition-delay:.1s}.js .doors .reveal:nth-child(3){transition-delay:.2s}.js .doors .reveal:nth-child(4){transition-delay:.3s}.js .doors .reveal:nth-child(5){transition-delay:.4s}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(13,27,36,.5);z-index:40}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);color:var(--ink);z-index:50;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.2)}
.cart-drawer.open{transform:none;visibility:visible;transition:transform .3s ease}
.cart-drawer:not(.open){box-shadow:none;visibility:hidden;transition:transform .3s ease,visibility 0s .3s}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line)}
.cart-head h2{margin:0;font:600 .95rem var(--sans);letter-spacing:.14em;text-transform:uppercase}
.cart-body{flex:1;overflow:auto;padding:20px}
.cart-foot{padding:14px 20px;border-top:1px solid var(--line)}

/* footer */
.site-footer{background:var(--night);color:#d9e2e6;margin-top:56px;padding:44px var(--gutter) 24px;border-top:1px solid rgba(255,255,255,.07)}
body.home .site-footer,body.theme-night .site-footer{margin-top:0}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
.site-footer a{display:flex;align-items:center;gap:6px;color:#d9e2e6;text-decoration:none;padding:.25em 0;font-size:.95rem}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-brand{letter-spacing:.28em;font-size:.85rem;margin:0 0 .4em;color:#fff}
.footer-h{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:#8fb1bd;margin:0 0 .6em}
.socials{display:flex;flex-wrap:wrap;gap:6px 18px}.socials a{display:inline}
.legal{max-width:var(--max);margin:30px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#8fa4ad}
.legal a{display:inline;font-size:inherit;color:#b5c6cd}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.slide img{transform:none!important}.js .reveal{opacity:1;transform:none}}

.tile-title small{display:block;font:.72rem/1.3 var(--sans, system-ui);letter-spacing:.05em;opacity:.9;margin-top:2px;font-style:normal}

/* inquiry form */
.inquiry .lead{font-size:1.05rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:1.2em 0 .4em}
.chip{padding:.45em 1em;border:1.5px solid var(--ink);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.88rem}
.chip.on,.chip:hover{background:var(--ink);color:#fff}
.chip-blurb{color:var(--ink-2);margin:.2em 0 1em;font-size:.95rem}
.art-card{display:flex;gap:16px;align-items:center;padding:12px;border:1px solid rgba(0,0,0,.15);border-radius:12px;text-decoration:none;color:inherit;margin:0 0 1.2em;background:#fff}
.art-card img{width:96px;height:auto;max-height:120px;object-fit:contain;border-radius:6px;flex:none}
.art-card .status{margin-top:.3em}
.form label{display:block;font-size:.88rem;letter-spacing:.03em;margin:0 0 14px}
.form input,.form textarea,.form select{display:block;width:100%;margin-top:5px;padding:.7em .8em;font:inherit;font-size:1rem;border:1.5px solid rgba(0,0,0,.28);border-radius:8px;background:#fff;color:var(--ink);box-sizing:border-box}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--coral);outline-offset:1px;border-color:transparent}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:640px){.form .row{grid-template-columns:1fr}}
.opt{color:var(--ink-2);font-size:.8rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-errors{background:#fbe9e7;color:#8a2c1f;border-radius:10px;padding:.5em 1em;margin:1em 0}
.form-errors p{margin:.4em 0}
.devnote{background:#fff6d6;border-radius:8px;padding:.5em .9em;font-size:.88rem}
.fine{font-size:.82rem;color:var(--ink-2)}

/* FAQ, find her art, newsletter, video */
.prose h2{font-size:1.25rem;margin:1.8em 0 .5em}.prose h3{font-size:1.02rem;margin:1.4em 0 .3em}
.qa{border-bottom:1px solid rgba(0,0,0,.14)}.qa summary{cursor:pointer;padding:.9em 2em .9em 0;font-weight:600;list-style:none;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";position:absolute;right:.3em;top:.75em;font-size:1.4rem;font-weight:400;color:var(--coral);transition:transform .2s}
.qa[open] summary::after{transform:rotate(45deg)}
.qa-a{padding:0 0 1em}.qa-a p,.qa-a ul{margin:.5em 0}.qa-a li{margin:.3em 0}
.card-plain{border:1px solid rgba(0,0,0,.14);border-radius:12px;padding:6px 18px;margin:0 0 12px;background:#fff}.card-plain h3{margin:.8em 0 .2em}
.center{text-align:center}.small{font-size:.85rem}
.yt{position:relative;aspect-ratio:16/9;max-width:860px;margin:0 auto;background:#0d1b24;border-radius:10px;overflow:hidden}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-btn{all:unset;box-sizing:border-box;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;cursor:pointer;letter-spacing:.08em;background:radial-gradient(circle at 50% 40%,#1d3a49,#0d1b24)}
.yt-btn:hover svg,.yt-btn:focus-visible svg{color:var(--coral)}.yt-btn:focus-visible{outline:3px solid var(--coral);outline-offset:-3px}
.footer-news{max-width:var(--max);margin:0 auto 28px;padding-bottom:26px;border-bottom:1px solid #ffffff22;display:grid;grid-template-columns:1fr 1.3fr;gap:20px;align-items:center}
@media (max-width:700px){.footer-news{grid-template-columns:1fr}}
.news-copy{margin:0;color:#d9e2e6}
.nl-compact .nl-row{display:flex;gap:8px}.nl-compact input[type=email]{flex:1;min-width:0}
.nl .nl-row{display:flex;gap:8px;margin:0 0 10px}.nl input[type=email]{flex:1;min-width:0;font:inherit;padding:.7em .9em;border-radius:999px;border:1.5px solid rgba(0,0,0,.28);background:#fff;color:#13222c}
.site-footer .nl .fine{color:#9db4bd;font-size:.78rem;margin:.5em 0 0}
.nl fieldset{border:0;padding:0;margin:.6em 0}.nl legend{font-size:.88rem;padding:0;margin-bottom:.3em}
.check{display:flex!important;gap:8px;align-items:center;margin:.25em 0!important}.check input{width:auto!important;margin:0!important}
.sr{position:absolute;left:-9999px}
.nl:not(.nl-compact) label{display:block;font-size:.88rem;margin:0 0 12px}
.nl:not(.nl-compact) input[name=first_name]{display:block;width:100%;margin-top:5px;padding:.7em .8em;font:inherit;border:1.5px solid rgba(0,0,0,.28);border-radius:8px;background:#fff}
.notice-ok{background:#dff0e8;color:#14573c;border-radius:10px;padding:.5em 1em;margin:1em 0}
.site-footer .hp{position:absolute;left:-9999px}
.footer-news>*{min-width:0}.footer-news form{min-width:0;max-width:100%}
@media (max-width:700px){.footer-news{grid-template-columns:minmax(0,1fr)}.nl-compact .nl-row{flex-wrap:nowrap}.nl-compact .btn{padding-left:1em;padding-right:1em;flex:none}}

/* about */
.about-hero{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr .85fr;gap:clamp(28px,6vw,90px);align-items:center;padding:clamp(36px,7vw,90px) var(--gutter) clamp(24px,4vw,50px)}
.about-text h1{font-size:clamp(2.8rem,6vw,4.6rem);margin-bottom:.15em}
.about-text .lead{font:italic 500 clamp(1.3rem,2.2vw,1.7rem)/1.3 var(--serif);color:var(--ink-2);margin:0 0 1.2em}
.about-photo{margin:0}
.about-photo img{width:100%;height:auto;max-height:88vh;object-fit:cover;box-shadow:0 40px 80px -36px rgba(13,27,36,.6)}
figcaption{font-size:.82rem;color:var(--muted);margin-top:.7em;letter-spacing:.03em}
@media (max-width:860px){.about-hero{grid-template-columns:1fr}.about-photo{order:-1}.about-photo img{max-height:70vh}}
.about-wide{margin:clamp(24px,5vw,70px) 0 0}
.about-wide figure{margin:0}
.about-wide img{width:100%;height:clamp(300px,62vh,760px);object-fit:cover;object-position:50% 40%}
.about-wide figcaption{max-width:var(--max);margin:.8em auto 0;padding:0 var(--gutter)}
.about-cta{max-width:760px;margin:0 auto;text-align:center;padding:clamp(48px,8vw,100px) var(--gutter)}

/* shop */
.shop-head{max-width:var(--wide);text-align:center;padding-top:clamp(36px,7vw,84px)}
.shop-head .lead{max-width:640px;margin:.4em auto 0;color:var(--ink-2)}
.shop-head .chips{justify-content:center;margin-top:1.6em}
.shop-grid{max-width:var(--wide);margin:0 auto;padding:24px var(--gutter) 10px;column-width:260px;column-gap:clamp(16px,2.4vw,32px)}
.pcard{display:block;text-decoration:none;color:var(--ink);break-inside:avoid;margin:0 0 clamp(22px,3vw,40px)}
.pcard .frame{display:block;overflow:hidden;background:var(--paper-2);box-shadow:0 18px 36px -24px rgba(13,27,36,.55);transition:box-shadow .3s,transform .3s}
.pcard .frame img{display:block;width:100%;height:100%;object-fit:cover}
.pcard:hover .frame{transform:translateY(-3px);box-shadow:0 26px 40px -24px rgba(13,27,36,.6)}
/* transparent product pictures (they carry their own soft shadow): no box, no frame shadow */
.pcard .frame.cut{background:none;box-shadow:none;overflow:visible}.pcard .frame.cut img{object-fit:contain}
.pcard:hover .frame.cut{box-shadow:none;transform:translateY(-4px)}
.pcard .cap{display:block;margin-top:.8em}
.pcard .cap em{display:block;font:italic 500 1.3rem/1.2 var(--serif)}
.pcard .cap small{display:block;color:var(--muted);font-size:.84rem;margin-top:.2em}
.gift-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5em;background:linear-gradient(145deg,#0d1b24,#1e5f68 70%,#1e8c8c);color:#fff;aspect-ratio:4/3;text-align:center}
.pcard .gift-art{display:flex;aspect-ratio:4/5}
.gift-mark{font:italic 500 clamp(1.8rem,4vw,3rem) var(--serif);border:1.5px solid rgba(255,255,255,.7);border-radius:50%;width:2.4em;height:2.4em;display:grid;place-items:center;font-size:1.4rem}
.gift-word{font:500 .8rem var(--sans);letter-spacing:.24em;text-transform:uppercase}
.gift-art-big{min-height:320px;aspect-ratio:4/5}
.shop-note{max-width:var(--max);margin:0 auto;padding:clamp(36px,6vw,80px) var(--gutter);text-align:center;color:var(--ink-2)}

.pdp{max-width:var(--wide);margin:0 auto;padding:clamp(20px,4vw,56px) var(--gutter) clamp(40px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:start}
.pdp-media{position:sticky;top:84px}
.pdp-frame{position:relative;margin:0;display:flex;justify-content:center;background:none!important;aspect-ratio:auto!important}
.pdp-frame img{cursor:zoom-in;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 240px);box-shadow:0 30px 60px -32px rgba(13,27,36,.6)}
.pdp-frame img.has-alpha{box-shadow:none}   /* staged pictures are transparent and carry their own soft shadow */
.pdp-frame.gift-art{width:100%;display:flex;background:linear-gradient(145deg,#0d1b24,#1e5f68 70%,#1e8c8c)!important;aspect-ratio:4/5!important;max-height:calc(100vh - 150px)}
.pdp-look{margin:.8em 0 0;font-size:.9rem}
.pdp-buy h1{font-size:clamp(2.2rem,4vw,3.4rem);margin:.1em 0 .1em}
.pdp-buy .details{color:var(--muted);margin:0 0 1.2em}
.pick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1em}
.pick[hidden]{display:none}
.pick-h{font:600 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:1.2em 0 .5em}
.pick-blurb{color:var(--ink-2);margin:.2em 0 1em;font-size:.95rem}
.pick-guide{margin:-.6em 0 1em;font-size:.9rem;color:var(--ink-2)}.pick-guide a{color:var(--coral-d);font-weight:600}
.opt{font:inherit;cursor:pointer;background:#fff;color:var(--ink);border:1.5px solid rgba(13,27,36,.28);border-radius:10px;padding:.55em 1em;text-align:left;line-height:1.25;transition:border-color .15s,background .15s}
.opt span{display:block;font-size:.92rem;font-weight:500}
.opt small{display:block;font-size:.78rem;color:var(--muted)}
.opt:hover:not(:disabled){border-color:var(--ink)}
.opt.on{border-color:var(--coral);background:#fdf1ec;box-shadow:inset 0 0 0 1px var(--coral)}
.opt:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.opt:disabled small{text-decoration:none}
[role=tablist] .opt{border-radius:999px;padding:.5em 1.1em}
.pdp-variant{font:500 1rem var(--sans);color:var(--ink);margin:1.3em 0 0;letter-spacing:.01em}
.pdp-variant:not([hidden])+.pdp-price{margin-top:.25em}
.pdp-price{font:500 2rem var(--serif);margin:1.1em 0 .4em}
.pdp-price small{font:400 .85rem var(--sans);color:var(--muted)}
.pdp-msg{min-height:1.2em;color:var(--teal);font-size:.9rem}
.pdp-facts{margin:1.4em 0 0;padding:1.2em 0 0;border-top:1px solid var(--line);list-style:none;font-size:.88rem;color:var(--ink-2)}
.pdp-facts li{margin:.45em 0}
@media (max-width:860px){.pdp{grid-template-columns:minmax(0,1fr)}.pdp-media{position:static}.pdp-frame img{max-height:70vh}}

/* cart lines */
.btn-block{display:flex;justify-content:center;width:100%;box-sizing:border-box}
.btn:disabled{opacity:.5;cursor:not-allowed}
.cart-lines{list-style:none;margin:0;padding:0}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-line img{width:64px;height:64px;object-fit:cover;background:var(--paper-2)}
.cart-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.cart-title{font:italic 500 1.15rem/1.2 var(--serif);color:var(--ink);text-decoration:none}
.cart-desc{font-size:.8rem;color:var(--muted)}
.cart-qty{display:flex;align-items:center;gap:8px;margin-top:6px}
.cart-qty button{font:inherit;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(13,27,36,.3);background:#fff;cursor:pointer;line-height:1}
.cart-qty .cart-remove{width:auto;height:auto;border:0;background:none;text-decoration:underline;font-size:.78rem;color:var(--muted);margin-left:6px;padding:0}
.cart-price{font-weight:500;font-size:.95rem}
.cart-sub{display:flex;justify-content:space-between;margin:0 0 .8em;font-size:1rem}
.cart-msg{font-size:.85rem;color:var(--ink-2);margin:.6em 0}
.cart-ph{width:64px;height:64px;background:var(--paper-2)}
.pcard .gift-art{display:flex;background:linear-gradient(145deg,#0d1b24,#1e5f68 70%,#1e8c8c);box-shadow:0 18px 36px -24px rgba(13,27,36,.55)}

.pdp-thumbs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.pdp-thumbs[hidden]{display:none}
.thumb{padding:0;border:2px solid transparent;border-radius:6px;background:#fff;cursor:pointer;overflow:hidden;width:64px;height:64px;opacity:.75;transition:opacity .15s,border-color .15s}
.thumb img{display:block;width:100%;height:100%;object-fit:cover}
.thumb:hover{opacity:1}
.thumb.on{border-color:var(--coral);opacity:1}

/* product page zoom lens */
.zoom-lens{position:absolute;z-index:5;width:var(--lens,230px);height:var(--lens,230px);border-radius:14px;border:3px solid #fff;box-shadow:0 16px 44px rgba(7,16,23,.5),0 0 0 1px rgba(7,16,23,.25);background-color:#fff;background-repeat:no-repeat;pointer-events:none;opacity:0;transform:scale(.94);transition:opacity .12s,transform .12s}
.zoom-lens.on{opacity:1;transform:none}
.zoom-hint{margin:.7em 0 0;text-align:center;font-size:.78rem;color:var(--ink-2,#5b6770);letter-spacing:.02em}
@media (hover:none){.zoom-lens{--lens:190px}}

/* print guide */
.guide{max-width:var(--max);margin:0 auto;padding:28px var(--gutter) 60px}
.guide-head{max-width:46rem}.guide-head h1{margin:.1em 0 .3em}
.picks{list-style:none;margin:26px 0 34px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.picks li{background:var(--paper-2);border-radius:14px;padding:14px 18px;display:flex;flex-direction:column;gap:6px;font-size:.95rem;line-height:1.4}
.picks a{font-weight:600;text-decoration:none;color:var(--coral-d)}.picks a:hover{text-decoration:underline}
.guide-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:700px){.guide-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.guide-grid{grid-template-columns:repeat(4,1fr)}}
.gcard{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:18px 18px 22px;scroll-margin-top:90px}
.gcard.rec,.gcard:target{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}
.gcard.rec .gcard-flag,.gcard:target .gcard-flag{display:block}
/* a quick pick was chosen: the chosen card takes the highlight from the default one */
.guide-grid:has(.gcard:target) .gcard.rec:not(:target){border-color:var(--line);box-shadow:none}
.guide-grid:has(.gcard:target) .gcard.rec:not(:target) .gcard-flag{display:none}
body.theme-night .gcard{background:var(--paper-2)}
.gcard-flag{display:none;position:absolute;top:-12px;left:16px;background:var(--coral);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.3em 1em;border-radius:999px}
.gcard-img{margin:0 0 12px;height:260px;display:flex;align-items:center;justify-content:center;background:var(--paper-2);border-radius:12px;overflow:hidden}
.gcard-img img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.gcard h2{margin:.2em 0 .1em;font-size:1.45rem}
.gcard-tag{margin:0 0 .5em;color:var(--ink-2);font-size:.95rem}
.gcard-price{margin:0 0 .9em;font-size:.95rem;color:var(--ink-2)}.gcard-price strong{color:var(--ink);font-size:1.1rem}
.gfacts{margin:0;display:grid;gap:10px}
.gfacts div{border-top:1px solid var(--line);padding-top:9px}
.gfacts dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);font-weight:600}
.gfacts dd{margin:2px 0 0;font-size:.93rem;line-height:1.5}
.guide-sizes{display:grid;gap:24px;align-items:center;margin:54px 0 10px}
@media (min-width:800px){.guide-sizes{grid-template-columns:1.2fr 1fr}}
.guide-sizes figure{margin:0}.guide-sizes img{width:100%;height:auto;display:block;border-radius:14px}
.guide-sizes h2,.guide-all h2{margin-top:0}
.guide-all{max-width:46rem;margin:44px 0 0}
.guide-all ul{padding-left:1.2em}.guide-all li{margin:.4em 0}
.guide-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.4em}
