/* Siren Gothic v3: homepage hero, collections and chrome matched to design-references/01 + 02. */
:root{
  --v3-violet:#9b6fd6;--v3-violet-hi:#c9a6f0;--v3-teal:#3fb3b6;--v3-teal-hi:#8fe0dd;--v3-pink:#c46aa0;
  --v3-glow-v:0 0 18px rgba(155,111,214,.45),inset 0 0 12px rgba(155,111,214,.18);
  --v3-glow-t:0 0 16px rgba(63,179,182,.38),inset 0 0 10px rgba(63,179,182,.14);
  --v3-silver:linear-gradient(180deg,#f4f5f9 0%,#d3d7e1 45%,#8e95a6 100%);
}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* page atmosphere */
body{background:transparent}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;transform:translateZ(0);background:linear-gradient(rgba(5,6,11,.68),rgba(5,6,11,.68)),radial-gradient(90rem 60rem at 8% 0%,rgba(67,36,95,.55),transparent 60%),radial-gradient(80rem 50rem at 100% 100%,rgba(16,58,67,.45),transparent 60%),url(/assets/art/bg-nebula.webp) center/cover no-repeat,var(--abyss)}

/* ornamental page frame (desktop) */
.page-frame{position:fixed;inset:10px;pointer-events:none;z-index:120;border:1px solid rgba(201,166,240,.22);box-shadow:inset 0 0 0 1px rgba(5,6,11,.6),0 0 22px rgba(155,111,214,.12)}
.pf-c{position:absolute;width:150px;height:155px;background:url(/assets/art/corner-trident.webp) no-repeat left top/contain}
.pf-c use{display:none}
.pf-tl{top:-6px;left:-6px}.pf-tr{top:-6px;right:-6px;transform:scaleX(-1)}.pf-bl{bottom:-6px;left:-6px;transform:scaleY(-1)}.pf-br{bottom:-6px;right:-6px;transform:scale(-1)}

/* left siren, edge art only on wide screens */
.siren-edge{display:none}
@media(min-width:1280px){
  .siren-edge{display:block;position:absolute;left:0;top:calc(var(--header-h) - 10px);width:min(20vw,330px);height:min(100svh,980px);z-index:3;pointer-events:none;
    background:url(/assets/art/siren-left.webp) no-repeat 18% 30%/auto 118%;mix-blend-mode:screen;
    -webkit-mask-image:linear-gradient(90deg,#000 55%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 80%,transparent);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,#000 55%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 80%,transparent);mask-composite:intersect}
}

/* header */
.site-header{background:linear-gradient(180deg,rgba(5,6,11,.92),rgba(5,6,11,.62));border-bottom:1px solid rgba(201,166,240,.18)}
.nav a{font-family:var(--caps);text-transform:uppercase;letter-spacing:.12em}
.nav a[aria-current],.nav a.is-active{color:#fff;text-shadow:0 0 12px rgba(201,166,240,.7)}
.nav .nav-cta{border:1px solid var(--v3-violet);box-shadow:var(--v3-glow-v);background:rgba(67,36,95,.35);color:#fff}

/* hero */
.hx{position:relative;min-height:max(540px,calc(100svh - 300px));display:grid;grid-template-columns:minmax(0,1fr);align-items:center;overflow:hidden;background:transparent;padding:calc(var(--header-h) + .6rem) 0 1rem}
.hx-media{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.hx .hero-slides{position:absolute;inset:0 0 0 30%}
.hx .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease)}
.hx .hero-slide.active{opacity:1}
.hx .hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.74) saturate(.88) contrast(1.06)}
/* mood lighting, not recolouring: dark left scrim, violet sky veil, teal/pink edge light */
.hx-grade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,var(--abyss) 26%,rgba(5,6,11,.86) 36%,rgba(5,6,11,.35) 52%,rgba(5,6,11,0) 66%),
  linear-gradient(180deg,rgba(67,36,95,.55) 0%,rgba(67,36,95,.18) 38%,transparent 56%),
  linear-gradient(0deg,rgba(5,6,11,.96) 0%,rgba(5,6,11,.55) 14%,transparent 34%),
  radial-gradient(40rem 26rem at 100% 0%,rgba(196,106,160,.18),transparent 70%),
  radial-gradient(36rem 24rem at 100% 100%,rgba(63,179,182,.16),transparent 70%)}
.hx-copy{position:relative;z-index:4;width:min(640px,100%);margin-left:clamp(1.25rem,calc(19vw + 1rem),26rem);padding-right:1.25rem;text-align:left}
.hx-moons{width:min(380px,80%);height:auto;margin:0 0 .3rem -1rem;display:block}
.hx h1.hx-title{font-family:var(--caps);font-weight:500;text-transform:uppercase;font-size:clamp(2.3rem,min(4.5vw,7.4vh),5rem);line-height:1.02;letter-spacing:.035em;margin:0;
  background:var(--v3-silver);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 12px rgba(0,0,0,.65))}
.hx-title span{display:block}
.hx h1.hx-title em{font-style:normal;background:linear-gradient(180deg,#e8cffb,#a46ee0 60%,#c46aa0);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-desc{font-family:var(--caps);text-transform:uppercase;letter-spacing:.32em;font-size:clamp(.72rem,.95vw,.9rem);color:#d8dbe4;margin:1rem 0 .3rem}
.hx-desc i{font-style:normal;color:var(--v3-violet-hi);margin:0 .5em}
.hx-diamond{display:block;width:220px;height:9px;margin:.35rem 0 .5rem;background:
  linear-gradient(90deg,transparent,rgba(201,166,240,.55)) left center/46% 1px no-repeat,
  linear-gradient(270deg,transparent,rgba(201,166,240,.55)) right center/46% 1px no-repeat;position:relative}
.hx-diamond::after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid #e3d4f5;transform:translate(-50%,-50%) rotate(45deg);background:var(--abyss)}
.hx-genres{font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.25vw,1.18rem);color:#e4e6ee;margin:0 0 1.4rem}
.hx-genres i{font-style:normal;color:rgba(201,166,240,.6);margin:0 .55em}
.hx-actions{display:flex;justify-content:flex-start;gap:1.1rem;flex-wrap:wrap}
.hx-btn{display:inline-flex;align-items:center;min-height:50px;padding:0 1.9rem;transform:skewX(-14deg);font-family:var(--caps);text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:#fff;transition:box-shadow .5s var(--ease),transform .5s var(--ease),background .5s var(--ease)}
.hx-btn>span{display:inline-flex;align-items:center;gap:.7rem;transform:skewX(14deg)}
.hx-btn b{font-weight:400}.hx-btn svg{width:18px;height:18px}
.hx-btn-violet{border:1px solid var(--v3-violet-hi);background:linear-gradient(90deg,rgba(120,81,169,.6),rgba(67,36,95,.55));box-shadow:var(--v3-glow-v)}
.hx-btn-teal{border:1px solid var(--v3-teal);background:rgba(16,58,67,.45);box-shadow:var(--v3-glow-t)}
.hx-btn:hover{transform:skewX(-14deg) translateY(-2px)}
.hx-btn-violet:hover{box-shadow:0 0 28px rgba(155,111,214,.65),inset 0 0 14px rgba(155,111,214,.25)}
.hx-btn-teal:hover{box-shadow:0 0 26px rgba(63,179,182,.55),inset 0 0 12px rgba(63,179,182,.2)}
.hx-btn:active{transform:skewX(-14deg) scale(.98)}
.hx-proof{display:flex;align-items:center;justify-content:flex-start;gap:1.4rem;margin-top:1.8rem;color:#e7e9f0}
.hx-pub,.hx-sel{display:flex;align-items:center;gap:.6rem}
.hx-laurel{width:15px;height:42px;color:#c7ccd8;flex:none}.hx-laurel-r{transform:scaleX(-1)}
.hx-pub small{display:block;font-family:var(--caps);text-transform:uppercase;letter-spacing:.3em;font-size:.6rem;color:#c3c8d4}
.hx-pub p{margin:.15rem 0 0;font-family:var(--serif);font-size:clamp(.92rem,1.05vw,1.05rem);font-weight:600;white-space:nowrap}
.hx-pub i{font-style:normal;color:rgba(201,166,240,.55);margin:0 .4em}
.hx-sel p{white-space:nowrap;margin:0;font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:.58rem;line-height:1.6;color:#d8dce6}
.hx-vline{width:1px;height:44px;background:rgba(201,166,240,.4)}
.hx-controls{position:absolute;right:clamp(1.25rem,3vw,3rem);bottom:1.4rem;z-index:5}

/* collections strip */
.cx{position:relative;z-index:4;padding:0 clamp(1rem,2.5vw,2.5rem) 3.5rem;text-align:center}
.cx-trident{display:block;width:min(560px,80%);height:auto;margin:-1.6rem auto -.8rem}
.cx-title{display:flex;align-items:center;justify-content:center;gap:1.4rem;font-family:var(--caps);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(1.4rem,2.2vw,2.2rem);margin:0 0 1.2rem;color:#e6e8ef}
.cx-title span{display:block;width:clamp(40px,8vw,120px);height:1px;background:linear-gradient(90deg,transparent,rgba(201,166,240,.6))}
.cx-title span:last-child{transform:scaleX(-1)}
.cx-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.5rem,1vw,1rem);max-width:1700px;margin:0 auto;padding:0 1.2rem}
.cx-tile{position:relative;display:block;aspect-ratio:4/5;transform:skewX(-6deg);overflow:hidden;background:#0a0d16;border:1px solid rgba(201,166,240,.5);box-shadow:0 0 16px rgba(155,111,214,.3);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.cx-tile.cx-t{border-color:rgba(63,179,182,.6);box-shadow:0 0 16px rgba(63,179,182,.28)}
.cx-tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:skewX(6deg) scale(1.22);filter:saturate(.72) brightness(.7) contrast(1.08)}
.cx-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,6,11,.92) 0%,rgba(5,6,11,.35) 42%,rgba(5,6,11,0) 70%),linear-gradient(180deg,rgba(67,36,95,.28),transparent 40%);pointer-events:none}
.cx-v::after{background:linear-gradient(0deg,rgba(5,6,11,.92) 0%,rgba(5,6,11,.35) 42%,rgba(5,6,11,0) 70%),linear-gradient(180deg,rgba(67,36,95,.62),rgba(67,36,95,.18) 55%,transparent 75%)}
.cx-t::after{background:linear-gradient(0deg,rgba(5,6,11,.92) 0%,rgba(5,6,11,.35) 42%,rgba(5,6,11,0) 70%),linear-gradient(180deg,rgba(16,58,67,.66),rgba(16,58,67,.2) 55%,transparent 75%)}
.cx-label{position:absolute;left:0;right:0;bottom:1.2rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.45rem;transform:skewX(6deg);font-family:var(--caps);text-transform:uppercase;letter-spacing:.1em;font-size:clamp(.78rem,1.05vw,1rem);line-height:1.15;color:#eef0f5}
.cx-label img{position:static;inset:auto;width:46px;height:auto;transform:none;object-fit:contain;filter:drop-shadow(0 0 6px rgba(0,0,0,.8))}
.cx-label b{font-weight:400}
.cx-label small{font-family:var(--sans);text-transform:none;letter-spacing:.02em;font-size:.72rem;color:var(--v3-teal-hi)}
.cx-soon{background:radial-gradient(circle at 50% 35%,rgba(155,111,214,.32),transparent 60%),linear-gradient(160deg,#151026,#0a1520)}
.cx-tile:hover,.cx-tile:focus-visible{transform:skewX(-6deg) translateY(-4px);box-shadow:0 0 26px rgba(155,111,214,.55)}
.cx-tile.cx-t:hover,.cx-tile.cx-t:focus-visible{box-shadow:0 0 26px rgba(63,179,182,.5)}
.cx-tile:focus-visible{outline:2px solid var(--v3-violet-hi);outline-offset:4px}
.cx-foot{display:block;width:min(70%,900px);height:1px;margin:2.6rem auto 0;background:linear-gradient(90deg,transparent,rgba(201,166,240,.45),transparent)}

/* tablet / phone */
@media(max-width:1100px){.cx-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.hx-copy{margin-left:auto;margin-right:auto}.hx .hero-slides{inset:0}.hx-grade{background:linear-gradient(180deg,rgba(5,6,11,.55),rgba(5,6,11,.82) 60%,var(--abyss)),radial-gradient(40rem 26rem at 100% 0%,rgba(196,106,160,.18),transparent 70%)}}
@media(max-width:900px){.page-frame{display:none}.hx-proof{flex-direction:column;gap:.8rem}.hx-vline{width:44px;height:1px}.hx-pub p{white-space:normal}}
@media(max-width:640px){
  .cx-strip{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}
  .cx-tile,.cx-tile:hover{transform:none}.cx-tile>img,.cx-label{transform:none}
  .hx-btn{transform:none;width:100%;justify-content:center}.hx-btn>span{transform:none}.hx-btn:hover,.hx-btn:active{transform:none}
  .hx h1.hx-title{font-size:clamp(1.75rem,8.2vw,2.5rem);letter-spacing:.02em}.hx-desc{letter-spacing:.2em}
}
@media(prefers-reduced-motion:reduce){.hx-btn,.cx-tile,.hx .hero-slide{transition:none}}

.brand-emblem{width:54px;height:auto;filter:drop-shadow(0 0 8px rgba(155,111,214,.35))}
@media(max-width:900px){.brand-emblem{width:42px}}
@media(max-width:1100px){.hx-copy{text-align:center}.hx-moons,.hx-diamond{margin-left:auto;margin-right:auto}.hx-actions,.hx-proof{justify-content:center}}
@media(min-width:641px) and (max-width:1100px){.hx h1.hx-title{font-size:clamp(2.4rem,6.4vw,3.8rem)}}

/* ===== v3 page-wide system: every section below the collections, plus pricing/thank-you/404 ===== */
.section-pad{position:relative}
/* section separators: the ornament kit replaces the hairline + diamond */
.section-pad:not(.niche):not(.collections)::before{left:50%;right:auto;top:-34px;width:min(460px,80vw);height:70px;transform:translateX(-50%);background:url(/assets/art/divider-trident.webp) no-repeat center/contain}
.section-pad:not(.niche):not(.collections)::after{display:none}
#about.section-pad::before,#services.section-pad::before,#shop.section-pad::before{background-image:url(/assets/art/divider-moons.webp)}

/* headings: engraved silver capitals, violet second line */
.section-head h2,.section-head h1,.niche h2,.about h2,.book h2{font-family:var(--caps);font-weight:500;text-transform:uppercase;letter-spacing:.04em;line-height:1.04;font-size:clamp(2rem,3.6vw,3.6rem);
  background:var(--v3-silver);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
.section-head h2 em,.section-head h1 em,.niche h2 em,.about h2 em,.book h2 em{font-style:normal;background:linear-gradient(180deg,#e8cffb,#a46ee0 60%,#c46aa0);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{font-family:var(--caps);letter-spacing:.32em;color:var(--v3-violet-hi)}
.latest-work-head h3,.archive-head h3,.extras h3,.equipment h3,.process-grid h3,.service-grid h3,.shop-card h3{font-family:var(--caps);text-transform:uppercase;letter-spacing:.04em;font-weight:400;color:#eceef4}
.latest-work-head h3,.archive-head h3{font-size:clamp(1.8rem,3vw,2.8rem)}
.process-grid h3,.service-grid h3{font-size:clamp(1.25rem,1.6vw,1.55rem);line-height:1.15}
.shop-card h3{font-size:clamp(1.5rem,2vw,1.9rem)}

/* framed glass panels with the filigree corner from the kit */
.latest-work,.process-grid article,.equipment,.service-grid article,.credential-stats article,.credential-note,.ledger,.cv-callout,.booking-form,.travel-callout,.ai-note,.shop-card,.extras{border-color:rgba(201,166,240,.28);background:linear-gradient(160deg,rgba(28,18,46,.62),rgba(8,10,20,.82) 55%,rgba(10,32,40,.55));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 22px rgba(155,111,214,.1)}
.latest-work::before,.process-grid article::before,.equipment::before,.service-grid article::before,.ledger::before,.cv-callout::before,.travel-callout::before,.credential-stats article::before,
.latest-work::after,.process-grid article::after,.equipment::after,.service-grid article::after,.ledger::after,.cv-callout::after,.booking-form::after,.travel-callout::after,.credential-stats article::after{
  width:44px;height:46px;border:0;background:url(/assets/art/corner-trident.webp) no-repeat left top/contain;opacity:.9;top:-6px;left:-6px}
.latest-work::after,.process-grid article::after,.equipment::after,.service-grid article::after,.ledger::after,.cv-callout::after,.booking-form::after,.travel-callout::after,.credential-stats article::after{top:auto;left:auto;bottom:-6px;right:-6px;transform:scale(-1)}

/* buttons: angled, glowing, like the hero */
.button{transform:skewX(-12deg);border-radius:0;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.button span,.button b{transform:skewX(12deg)}
.button:active{transform:skewX(-12deg) scale(.98)}
.button-primary{background:linear-gradient(90deg,rgba(120,81,169,.75),rgba(67,36,95,.7));border-color:var(--v3-violet-hi);box-shadow:var(--v3-glow-v)}
.button-ghost{background:rgba(16,58,67,.45);border-color:var(--v3-teal);box-shadow:var(--v3-glow-t)}
.button-primary:hover{box-shadow:0 0 28px rgba(155,111,214,.6),inset 0 0 14px rgba(155,111,214,.25)}
.button-ghost:hover{box-shadow:0 0 26px rgba(63,179,182,.5),inset 0 0 12px rgba(63,179,182,.2)}
.button b{border-left-color:rgba(255,255,255,.22)}

/* portfolio, after design-references/03 */
.work,.services,.shop,.credentials,.process{background:transparent}
.filters{justify-content:center;gap:.2rem;border-block:1px solid rgba(201,166,240,.2);padding:.4rem 0}
.filter{border:1px solid transparent;background:transparent;color:#c9cdd8;letter-spacing:.2em}
.filter:hover{color:#fff;border-color:transparent;text-shadow:0 0 10px rgba(201,166,240,.6)}
.filter.active{transform:skewX(-12deg);border-color:var(--v3-violet-hi);background:rgba(67,36,95,.5);box-shadow:var(--v3-glow-v);color:#fff}
.latest-shot,.shot{border-color:rgba(201,166,240,.3);box-shadow:inset 0 0 0 4px rgba(5,6,11,.9),0 0 14px rgba(155,111,214,.12)}
.latest-shot:hover,.shot:hover{box-shadow:inset 0 0 0 4px rgba(5,6,11,.9),0 0 24px rgba(155,111,214,.4)}
.latest-shot figcaption b,.shot figcaption b{font-family:var(--caps);text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;font-weight:400}

/* services + pricing cards, after design-references/05 */
.price-grid article{text-align:center;align-items:center}
.price-grid article>span{color:var(--v3-violet-hi)}
.price-grid h3{font-family:var(--caps);font-size:clamp(2.2rem,3vw,2.9rem);font-weight:400;background:linear-gradient(180deg,#e8cffb,#a46ee0);-webkit-background-clip:text;background-clip:text;color:transparent}
.price-grid h3 small{-webkit-text-fill-color:#c3c8d4}
.price-list{text-align:left;align-self:stretch}
.price-grid .button{align-self:center}
.price-featured{border-color:var(--v3-violet-hi)!important;box-shadow:0 0 30px rgba(155,111,214,.4),inset 0 0 18px rgba(155,111,214,.16)!important}
.extras td{color:var(--v3-violet-hi)}

/* booking panel, after design-references/05 */
.booking-form{padding-top:clamp(2.6rem,4vw,3.4rem)}
.booking-form::before{content:"";position:absolute;top:-34px;left:50%;width:120px;height:62px;transform:translateX(-50%);border:0;background:url(/assets/art/trident-badge.webp) no-repeat center/contain;filter:drop-shadow(0 0 10px rgba(63,179,182,.45))}
.booking-form input,.booking-form select,.booking-form textarea{border-color:rgba(201,166,240,.28);background:rgba(5,6,11,.62)}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:0;border-color:var(--v3-teal);box-shadow:0 0 0 1px var(--v3-teal),0 0 16px rgba(63,179,182,.35)}
.booking-form .button{justify-self:stretch;justify-content:center}

/* shop + chrome */
.shop-card img{filter:saturate(.85) brightness(.85)}
.shop-card:hover{box-shadow:0 0 26px rgba(155,111,214,.4)}
.storyband{background:linear-gradient(110deg,rgba(20,10,36,.88),rgba(16,58,67,.6)),url('/assets/photos/village-lane.jpg') center/cover}
.storyband p{font-family:var(--caps);text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.8rem,4.4vw,3.8rem);background:var(--v3-silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.marquee{background:rgba(8,10,20,.7);border-color:rgba(201,166,240,.2)}
.site-footer{background:rgba(8,10,20,.82);border-top-color:rgba(201,166,240,.25)}
.lightbox{background:radial-gradient(60rem 40rem at 50% 40%,rgba(67,36,95,.35),transparent 70%),rgba(5,6,11,.97)}
.lightbox img{outline:1px solid rgba(201,166,240,.3);outline-offset:-4.2rem}
.lb-close,.lb-prev,.lb-next{border-color:rgba(201,166,240,.45);box-shadow:var(--v3-glow-v)}

@media(max-width:640px){
  .button,.button span,.button b,.filter.active,.button:active{transform:none}
  .section-pad:not(.niche):not(.collections)::before{top:-26px;height:52px}
}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
