:root{
  --paper:#FAF7F1;
  --ink:#17130E;
  --soft:#6E675C;
  --line:#E4DDD1;
  --accent:#E4452B;
  --sans:'Instrument Sans',sans-serif;
  --serif:'Instrument Serif',serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.05}
em{font-family:var(--serif);font-style:italic;font-weight:400}
.kicker{display:block;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.wrap{width:min(1320px,94%);margin:0 auto}

/* page veil: fluid fade between pages */
#veil{position:fixed;inset:0;background:var(--paper);z-index:115;opacity:0;pointer-events:none;transition:opacity .28s ease}
body.leaving #veil{opacity:1;pointer-events:auto}
main{animation:pageIn .5s ease both}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* loader (home, first visit per session) */
#loader{position:fixed;inset:0;background:var(--paper);z-index:120;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s}
#loader.done{opacity:0;visibility:hidden}
.loader-word{font-family:var(--serif);font-style:italic;font-size:clamp(2rem,6vw,3.4rem);opacity:0;transform:translateY(14px);animation:loadWord .9s ease .1s forwards}
@keyframes loadWord{to{opacity:1;transform:none}}

/* cursor */
#cursor{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--accent);pointer-events:none;z-index:110;transform:translate(-100px,-100px);transition:width .2s,height .2s,opacity .2s;opacity:0;mix-blend-mode:multiply}
@media (hover:none){#cursor{display:none}}
body.cursor-on #cursor{opacity:.85}
#cursor.grow{width:34px;height:34px;opacity:.35}

/* header: solid bar so the nav always reads clearly over the floating art */
#top-bar{position:fixed;top:0;left:0;right:0;z-index:90;background:var(--paper);box-shadow:0 1px 0 var(--line)}
#top-bar.scrolled{background:rgba(250,247,241,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bar{width:min(1320px,94%);margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wordmark{font-weight:700;font-size:1.06rem;letter-spacing:-.01em;white-space:nowrap}
.wordmark em{color:var(--accent)}
.wordmark img{height:46px;width:auto;display:block;transform:rotate(-2deg)}
#top-bar nav{display:flex;gap:1.6rem;font-size:.92rem;font-weight:500}
#top-bar nav a{position:relative;padding:.2rem 0;color:var(--soft);transition:color .2s;white-space:nowrap}
#top-bar nav a:hover,#top-bar nav a[aria-current="page"]{color:var(--ink)}
#top-bar nav a::after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
#top-bar nav a:hover::after,#top-bar nav a[aria-current="page"]::after{transform:scaleX(1)}
.shop-link{color:var(--ink)!important;font-weight:600}
@media (max-width:640px){
  .bar{height:56px}
  .wordmark{font-size:.95rem}
  #top-bar nav{gap:.9rem;font-size:.8rem}
}
@media (max-width:520px){
  #top-bar nav a.trim{display:none}
}

/* home hero: artwork mosaic behind the statement, below the solid bar */
.hero{position:relative;min-height:calc(100svh - 64px);margin-top:64px;display:flex;align-items:center;overflow:hidden}
@media (max-width:640px){.hero{min-height:calc(100svh - 56px);margin-top:56px}}
.mosaic{position:absolute;inset:-6% -2%;z-index:0;pointer-events:none}
.tile{position:absolute;border-radius:10px;overflow:hidden;box-shadow:0 18px 44px rgba(23,19,14,.18);opacity:0;transform:scale(.92) translateY(24px);will-change:transform}
.tile img{width:100%;height:100%;object-fit:cover}
.tile.in{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.t1{left:2%;top:12%;width:15vw;aspect-ratio:3/4}
.t2{left:23%;top:8%;width:12vw;aspect-ratio:4/5}
.t3{left:41%;top:32%;width:12vw;aspect-ratio:1}
.t4{right:24%;top:9%;width:14vw;aspect-ratio:3/4}
.t5{right:3%;top:14%;width:16vw;aspect-ratio:4/5}
.t6{left:-2%;bottom:4%;width:13vw;aspect-ratio:4/5}
.t7{left:18%;bottom:-6%;width:11vw;aspect-ratio:1}
.t8{right:28%;bottom:-3%;width:15vw;aspect-ratio:3/4}
.t9{right:4%;bottom:6%;width:12vw;aspect-ratio:1}
.t10{left:56%;bottom:26%;width:10vw;aspect-ratio:4/5}
@media (max-width:780px){
  .t3{left:36%;top:36%;width:24vw}
  .t7,.t10{display:none}
  .t1{width:30vw}.t2{width:26vw;left:44%}.t4{width:30vw;right:2%;top:2%}.t5{display:none}
  .t6{width:28vw}.t8{width:30vw;right:4%}.t9{display:none}
}
.scroll-cue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);z-index:1;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);animation:cueFloat 2.4s ease-in-out infinite;background:rgba(250,247,241,.7);padding:.4em 1em;border-radius:999px;backdrop-filter:blur(4px)}
@keyframes cueFloat{50%{transform:translateX(-50%) translateY(6px)}}

/* scroll story: the statement reveals word by word, colours from the prints */
:root{--print-blue:#2743B3;--print-green:#3E7C4F;--print-pink:#DE7BA4}
.story{height:260vh;position:relative}
.story-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.story-inner{width:min(1100px,90%);margin:0 auto}
.story-text{font-size:clamp(2.1rem,5.4vw,4.4rem);font-weight:600;letter-spacing:-.02em;line-height:1.18;max-width:22ch}
.story-text .w{opacity:.1;display:inline-block;transform:translateY(.18em);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.story-text .w.lit{opacity:1;transform:none}
.story-text .c-blue{color:var(--print-blue)}
.story-text .c-red{color:var(--accent)}
.story-text .c-pink{color:var(--print-pink)}
.story-text .c-green{color:var(--print-green)}
.story-text .it{font-family:var(--serif);font-style:italic;font-weight:400}
.story-cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:2.4rem;font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:.2rem;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.story-cta.lit{opacity:1;transform:none}
.story-cta:hover{color:var(--accent)}
.story-sub{margin-top:1.6rem;color:var(--soft);font-size:1rem;opacity:0;transition:opacity .5s ease .15s}
.story-sub.lit{opacity:1}

/* index rows: big type, floating preview follows the cursor */
.rows{padding:5rem 0 6rem}
.rows-head{margin-bottom:2.5rem}
.row{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding:2.6rem 1rem;border-top:1px solid var(--line);transition:background .3s ease,padding-left .3s ease}
.row:last-of-type{border-bottom:1px solid var(--line)}
.row h2{font-size:clamp(2.2rem,6vw,4.6rem);font-weight:600;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.row .row-meta{display:flex;align-items:baseline;gap:1.6rem;color:var(--soft);font-size:.95rem;white-space:nowrap}
.row .n{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:1.4rem}
.row .go{font-weight:600;color:var(--ink);transition:transform .3s ease;display:inline-block}
.row:hover{background:#F3EEE3;padding-left:2rem}
.row:hover h2{transform:skewX(-3deg)}
.row:hover .go{transform:translateX(8px)}
#float-prev{position:fixed;left:0;top:0;width:220px;aspect-ratio:4/5;border-radius:12px;overflow:hidden;pointer-events:none;z-index:85;opacity:0;transform:translate(-200px,-200px) scale(.85) rotate(-3deg);transition:opacity .25s ease;box-shadow:0 24px 60px rgba(23,19,14,.3)}
#float-prev img{width:100%;height:100%;object-fit:cover}
#float-prev.show{opacity:1}
@media (hover:none){#float-prev{display:none}}

/* selected strip: horizontal scroll with snap */
.strip-sec{padding:2rem 0 6rem}
.strip-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.8rem}
.strip-head h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
.strip-head a{font-weight:600;font-size:.94rem;color:var(--soft);transition:color .2s}
.strip-head a:hover{color:var(--accent)}
.strip{display:flex;gap:1.3rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 3% 1.5rem;scrollbar-width:none;cursor:grab}
.strip::-webkit-scrollbar{display:none}
.strip.dragging{cursor:grabbing;scroll-snap-type:none}
.strip .card{flex:0 0 min(320px,72vw);scroll-snap-align:start;margin-bottom:0}

/* work grid (collection pages) */
.col-hero{padding:9rem 0 3rem}
.col-hero h1{font-size:clamp(2.4rem,6vw,4.6rem);max-width:16ch}
.col-hero p{margin-top:1.2rem;color:var(--soft);max-width:58ch;font-size:1.06rem}
.crumb{padding-top:5.5rem;font-size:.8rem;color:var(--soft)}
.crumb a{border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}
.crumb a:hover{color:var(--accent);border-color:var(--accent)}
.crumb span{margin:0 .5em}
.col-hero .crumb{padding-top:0;margin-bottom:1.6rem}
.switch{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2.2rem}
.switch a{font-size:.9rem;font-weight:500;color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:.42em 1.05em;transition:all .2s}
.switch a:hover{color:var(--ink);border-color:var(--ink)}
.switch a.on{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.grid{width:min(1320px,94%);margin:2.2rem auto 0;column-count:4;column-gap:1.3rem}
@media (max-width:1080px){.grid{column-count:3}}
@media (max-width:780px){.grid{column-count:2}}
@media (max-width:480px){.grid{column-count:1}}
.card{display:block;break-inside:avoid;margin-bottom:2.1rem;opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.card.in{opacity:1;transform:none}
.card .frame{position:relative;overflow:hidden;border-radius:10px;background:#EFEAE0}
.card img{width:100%;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .4s ease}
.card .alt{position:absolute;inset:0;object-fit:cover;height:100%;opacity:0}
.card:hover img.main{transform:scale(1.04)}
.card:hover .alt{opacity:1}
.card:hover .alt ~ img.main{opacity:0}
.card .view{position:absolute;right:10px;bottom:10px;background:var(--paper);border-radius:999px;font-size:.78rem;font-weight:600;padding:.4em 1em;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.sold-dot{position:absolute;left:10px;top:10px;background:var(--accent);color:#fff;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.4em 1em}
.is-sold .frame img{opacity:.92}
.is-sold:hover img.main{transform:none}
.is-sold .meta .price{color:var(--accent);font-weight:600}
.card:hover .view{opacity:1;transform:none}
.meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.7rem}
.meta h3{font-size:.98rem;font-weight:600;line-height:1.3}
.meta .price{font-size:.94rem;color:var(--soft);white-space:nowrap}
.meta .cat{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:.15rem;font-weight:600}
.grid-note{width:min(1320px,94%);margin:0 auto;padding:1.6rem 0 3rem;color:var(--soft);font-size:.88rem}

/* about */
.about{padding:9rem 0 6rem}
.about-inner{width:min(1100px,94%);margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:4rem;align-items:start}
.about h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1.4rem}
.about p{color:var(--soft);font-size:1.08rem;margin-bottom:1.1rem;max-width:56ch}
.about .pull{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--ink);border-left:3px solid var(--accent);padding-left:1.2rem;margin:1.8rem 0}
.about-photo{margin-top:1rem}
.ph-placeholder{aspect-ratio:4/5;border:1.5px dashed var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--soft);font-size:.85rem;background:#F3EEE5;padding:1rem;text-align:center}
.about-photo figcaption{margin-top:.6rem;font-size:.8rem;color:var(--soft)}
@media (max-width:780px){.about-inner{grid-template-columns:1fr}}

/* commissions */
.commissions{padding:9rem 0 6rem}
.comm-inner{width:min(1100px,94%);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.commissions h1{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:1.2rem;max-width:18ch}
.commissions p{color:var(--soft);max-width:44ch;margin-bottom:1rem}
@media (max-width:780px){.comm-inner{grid-template-columns:1fr}}
.field{margin-bottom:1.1rem}
label{display:block;font-weight:600;font-size:.86rem;margin-bottom:.4rem}
input,textarea{width:100%;padding:.85rem 1rem;border:1.5px solid var(--line);border-radius:9px;font-family:var(--sans);font-size:.98rem;background:#fff;color:var(--ink);transition:border-color .2s}
input:focus,textarea:focus{outline:none;border-color:var(--ink)}
input.err,textarea.err{border-color:var(--accent)}
.err-msg{color:var(--accent);font-size:.8rem;margin-top:.3rem;display:none}
.err ~ .err-msg{display:block}
.hidden-field{display:none}
.send{font-family:var(--sans);font-size:1rem;font-weight:600;background:var(--ink);color:var(--paper);border:0;border-radius:999px;padding:.95rem 2rem;cursor:pointer;transition:background .2s,transform .2s}
.send:hover{background:var(--accent);transform:translateY(-2px)}
.form-ok{display:none;padding:1.5rem 0}
.form-ok.show{display:block}
.form-ok h3{font-family:var(--serif);font-style:italic;font-size:1.6rem;margin-bottom:.3rem}
.form-ok p{color:var(--soft)}

/* home about teaser */
.teaser{border-top:1px solid var(--line);padding:6rem 0}
.teaser-inner{width:min(900px,94%);margin:0 auto;text-align:center}
.teaser .big{font-family:var(--serif);font-style:italic;font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.3}
.teaser .big span{color:var(--accent)}
.teaser a.more{display:inline-block;margin-top:1.8rem;font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:.2rem;transition:color .2s}
.teaser a.more:hover{color:var(--accent)}

/* ---- paper-daisy inspired home: colour-wash bands, her lino palette ---- */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:root{
  --pd-cream:#FBEFE2;
  --navy:#2743B3;--brand-pink:#DE7BA4;--brand-cream:#FFF8DE;
  --wash-blue:#DEE5F9;--wash-pink:#F9E0EC;--wash-green:#E2EFE4;--wash-lilac:#F1E6F3;--wash-yellow:#FBF0D2;
}
.wash-yellow{background:var(--wash-yellow)}
.wash-blue{background:var(--wash-blue)}
.wash-pink{background:var(--wash-pink)}
.wash-green{background:var(--wash-green)}
.wash-lilac{background:var(--wash-lilac)}

/* photo hero: full-bleed shop photo, logo over it, like the reference */
.pd-hero2{position:relative;min-height:78svh;margin-top:64px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pd-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.pd-hero2::after{content:"";position:absolute;inset:0;background:rgba(23,19,14,.24);z-index:1}
.pd-hero2-inner{position:relative;z-index:2;text-align:center;padding:3rem 1rem 6rem}
.pd-logo2{width:min(430px,74vw);filter:drop-shadow(0 10px 30px rgba(23,19,14,.35));transform:rotate(-2deg)}
.pd-est2{display:block;margin-top:1.3rem;color:var(--brand-cream);font-weight:700;letter-spacing:.28em;font-size:clamp(.95rem,2vw,1.15rem);text-transform:uppercase;text-shadow:0 2px 12px rgba(23,19,14,.45)}
@media (max-width:640px){.pd-hero2{margin-top:56px;min-height:62svh}}

/* pink band curving up over the photo */
.pd-intro{position:relative;z-index:2;background:var(--brand-pink);border-radius:100% 100% 0 0/110px 110px 0 0;margin-top:-90px;padding:5.5rem 0 3.8rem;text-align:center}
@media (max-width:700px){.pd-intro{border-radius:100% 100% 0 0/48px 48px 0 0;margin-top:-46px;padding-top:3.6rem}}
.pd-tag2{color:var(--ink);font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.6;max-width:44ch;margin:0 auto 1.7rem;font-weight:500}
.pd-intro .pd-ctas{justify-content:center}
.pd-btn.navy-line{background:transparent;color:var(--navy);border-color:var(--navy)}
.pd-btn.navy-line:hover{background:var(--navy);color:#fff}

/* gallery */
.gallery{padding:9rem 0 5rem}
.gallery h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:.8rem}
.gallery .crumb{padding-top:0;margin-bottom:1.4rem}
.gal-intro{color:var(--soft);max-width:52ch}
.gal-grid{column-count:3;column-gap:1.3rem;margin-top:2.4rem}
.gal-item{break-inside:avoid;margin:0 0 1.3rem}
.gal-item img{border-radius:12px;width:100%}
.gal-item figcaption{font-size:.8rem;color:var(--soft);margin-top:.45rem}
@media (max-width:900px){.gal-grid{column-count:2}}
@media (max-width:540px){.gal-grid{column-count:1}}

/* the reel, now on the about page */
.about-reel{max-width:300px}
.reel-frame{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;box-shadow:0 18px 44px rgba(23,19,14,.18)}
.reel-frame video{width:100%;height:100%;object-fit:cover}

/* hero band: her logo colours, bold like By The People */
.pd-hero{background:var(--navy)}
.pd-hero-inner{position:relative;z-index:2;width:min(1100px,92%);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;padding:4.5rem 0 4rem}
.pd-hero-copy{position:relative;padding:2rem 0}
.pd-hero-copy::before{content:"";position:absolute;inset:-14% -18%;background:radial-gradient(closest-side,var(--navy) 55%,rgba(19,35,97,0));z-index:-1}
.pd-logo{width:min(330px,72%);transform:rotate(-2deg)}
.pd-est{display:inline-block;margin:1.1rem 0 0;font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--brand-pink);border:1.5px solid var(--brand-pink);border-radius:999px;padding:.3em 1em;transform:rotate(-2deg)}
.pd-tag{margin-top:1.4rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55;max-width:34ch;color:var(--brand-cream)}
.pd-tag em{font-weight:600;font-style:normal;font-family:var(--sans);color:var(--brand-pink)}
.pd-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.8rem}
.pd-btn{display:inline-block;background:var(--print-blue);color:#fff;font-weight:600;font-size:.95rem;border-radius:999px;padding:.8em 1.7em;transition:transform .2s,background .2s;border:1.5px solid var(--print-blue)}
.pd-btn:hover{transform:translateY(-2px);background:#1d3390}
.pd-btn.alt{background:transparent;color:var(--accent);border-color:var(--accent)}
.pd-btn.alt:hover{background:var(--accent);color:#fff}
.pd-btn.pink{background:var(--brand-pink);border-color:var(--brand-pink);color:var(--navy)}
.pd-btn.pink:hover{background:#ffb1c4;border-color:#ffb1c4}
.pd-btn.cream{background:transparent;border-color:var(--brand-cream);color:var(--brand-cream)}
.pd-btn.cream:hover{background:var(--brand-cream);color:var(--navy)}
.pd-btn.small{padding:.55em 1.2em;font-size:.85rem}
.pd-hero-reel{position:relative;width:min(300px,80%);justify-self:center;aspect-ratio:9/16;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(23,19,14,.28);transform:rotate(2deg)}
.pd-hero-reel video{width:100%;height:100%;object-fit:cover}
.pd-hero-reel .vid-sound,.reel-frame .vid-sound{position:absolute;right:10px;bottom:10px;background:var(--paper);color:var(--ink);border:0;border-radius:999px;font-family:var(--sans);font-size:.78rem;font-weight:600;padding:.45em 1.05em;cursor:pointer;box-shadow:0 6px 18px rgba(23,19,14,.25);transition:transform .2s,color .2s}
.pd-hero-reel .vid-sound:hover,.reel-frame .vid-sound:hover{transform:translateY(-2px);color:var(--accent)}
.pd-hero .mosaic .tile{opacity:0}
.pd-hero .mosaic .tile.in{opacity:.55}
@media (max-width:880px){
  .pd-hero-inner{grid-template-columns:1fr;gap:2.4rem;text-align:center;padding-top:3rem}
  .pd-hero-copy{padding:0}
  .pd-logo{width:min(260px,70%)}
  .pd-tag{margin-left:auto;margin-right:auto}
  .pd-ctas{justify-content:center}
  .pd-hero-reel{width:min(240px,64%)}
}

/* section headings */
.pd-h2{font-size:clamp(1.9rem,4.2vw,3rem);margin:.4rem 0 2rem}

/* collection cards, like the events cards */
.pd-work{padding:5.5rem 0 4rem}
.pd-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.pd-card{display:flex;flex-direction:column;gap:.45rem;border-radius:18px;padding:1.2rem 1.2rem 1.5rem;transition:transform .3s ease,box-shadow .3s ease}
.pd-card:nth-child(odd){transform:rotate(-1deg)}
.pd-card:nth-child(even){transform:rotate(1deg)}
.pd-card:hover{transform:rotate(0) translateY(-6px);box-shadow:0 22px 50px rgba(23,19,14,.16)}
.pd-card-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;margin-bottom:.6rem}
.pd-card-img img{width:100%;height:100%;object-fit:cover}
.pd-card h3{font-size:1.55rem}
.pd-card p{color:var(--soft);font-size:.92rem;line-height:1.5}
.pd-card .pd-btn{margin-top:auto;align-self:flex-start}
@media (max-width:880px){.pd-cards{grid-template-columns:1fr;max-width:440px;margin:0 auto}}

/* what's on band */
.pd-on{background:var(--wash-yellow);padding:5rem 0}
.pd-on-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.pd-on-card{background:#fff;border-radius:18px;padding:1.8rem 1.8rem 1.6rem}
.pd-chip{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.35em 1em;margin-bottom:.9rem}
.pd-on-card h3{font-size:1.5rem;margin-bottom:.5rem}
.pd-on-card p{color:var(--soft);margin-bottom:.9rem;max-width:46ch}
.pd-on-card a{font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:.15rem;transition:color .2s}
.pd-on-card a:hover{color:var(--accent)}
.pd-shown{margin-top:1.6rem;font-family:var(--serif);font-style:italic;color:var(--soft)}
@media (max-width:780px){.pd-on-cards{grid-template-columns:1fr}}

/* kind words */
.pd-words{padding:5.5rem 0 4.5rem}
.pd-quotes{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.pd-quote{border-radius:18px;padding:1.7rem 1.8rem}
.pd-quote:nth-child(odd){transform:rotate(-.6deg)}
.pd-quote:nth-child(even){transform:rotate(.6deg)}
.pd-quote p{font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.45}
.pd-quote cite{display:block;margin-top:.7rem;font-style:normal;font-size:.84rem;color:var(--soft)}
@media (max-width:680px){.pd-quotes{grid-template-columns:1fr}}

/* keep in the know, with the cat-in-a-martini mascot */
.pd-know{background:var(--brand-cream);padding:4.5rem 0}
.pd-know-grid{display:grid;grid-template-columns:1fr 1fr 190px;gap:3rem;align-items:center}
.pd-know h3{font-size:1.6rem;margin-bottom:.6rem}
.pd-know p{color:var(--soft);margin-bottom:1.2rem;max-width:40ch}
.pd-mascot{margin:0}
.pd-mascot img{width:100%;transform:rotate(4deg);mix-blend-mode:multiply}
@media (max-width:780px){.pd-know-grid{grid-template-columns:1fr;gap:2.4rem}.pd-mascot{max-width:170px;margin:0 auto}}

/* browse dropdown, all sections in one card */
.browse{position:relative}
.browse-btn{font-family:var(--sans);font-size:.92rem;font-weight:500;color:var(--soft);background:none;border:0;cursor:pointer;padding:.2rem 0;display:inline-flex;align-items:center;gap:.35em;transition:color .2s}
.browse-btn:hover,.browse-btn[aria-expanded="true"]{color:var(--ink)}
.browse-btn .chev{font-size:.8em;transition:transform .25s ease}
.browse-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.browse-menu{position:absolute;top:calc(100% + 16px);left:-1rem;width:min(340px,88vw);background:var(--paper);border-radius:16px;box-shadow:0 26px 70px rgba(23,19,14,.25);padding:.7rem;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:95}
.browse-menu.open{opacity:1;transform:none;pointer-events:auto}
.browse-menu a{display:block;padding:.65rem .9rem;border-radius:11px;transition:background .15s}
.browse-menu a:hover{background:var(--pd-cream)}
.browse-menu a[aria-current="page"] .bm-name{color:var(--accent)}
.bm-name{display:block;font-size:.9rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.bm-meta{display:block;font-size:.78rem;color:var(--soft);margin-top:.1rem}
@media (max-width:640px){
  .browse-menu{position:fixed;left:3%;right:3%;top:60px;width:auto}
}

/* reveal helper */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* hero video tile: the reel playing centre stage as the site loads */
.tile video{width:100%;height:100%;object-fit:cover}
.t-video{
  --vidw:min(20vw,34svh);
  width:var(--vidw);aspect-ratio:9/16;
  left:calc(50% - var(--vidw)/2);top:calc(50svh - var(--vidw)*0.89);
  z-index:2;box-shadow:0 30px 70px rgba(23,19,14,.28);
  border-radius:12px;
}
/* clear the middle for the centred reel */
.t3{left:24%;top:36%}
.t10{left:64%;bottom:24%}
/* artwork recedes so the reel leads; tiles float on the lazy physics loop */
.hero .tile.in:not(.t-video){opacity:.8}
.hero .tile:not(.t-video){box-shadow:0 12px 30px rgba(23,19,14,.12)}
/* sound toggle on the reel (parent mosaic is pointer-events:none) */
.t-video .vid-sound{position:absolute;right:10px;bottom:10px;pointer-events:auto;background:var(--paper);color:var(--ink);border:0;border-radius:999px;font-family:var(--sans);font-size:.78rem;font-weight:600;padding:.45em 1.05em;cursor:pointer;box-shadow:0 6px 18px rgba(23,19,14,.25);transition:transform .2s,color .2s}
.t-video .vid-sound:hover{transform:translateY(-2px);color:var(--accent)}
@media (max-width:780px){
  .t-video{--vidw:min(46vw,34svh)}
  .t3{left:2%;top:40%;width:22vw}
}

/* from the studio: real Instagram moments */
.moments{border-top:1px solid var(--line);padding:5rem 0 4rem}
.moments-head h2{font-size:clamp(1.8rem,4vw,2.8rem)}
.moments-sub{color:var(--soft);margin-top:.9rem;max-width:54ch}
.moments-head{margin-bottom:2rem}
.moments-strip{align-items:flex-start}
.mom-card{flex:0 0 min(260px,64vw);scroll-snap-align:start}
.mom-frame{border-radius:10px;overflow:hidden;background:#EFEAE0;aspect-ratio:4/5}
.mom-frame img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.mom-card:hover .mom-frame img{transform:scale(1.05)}
.mom-quote{font-family:var(--serif);font-style:italic;font-size:1.16rem;line-height:1.3;margin-top:.85rem}
.mom-meta{font-size:.82rem;color:var(--soft);margin-top:.25rem}
.moments-follow{margin-top:1.6rem}
.follow-cta{display:inline-block;font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:.2rem;transition:color .2s}
.follow-cta:hover{color:var(--accent)}

/* about photo stack */
.about-photos{display:flex;flex-direction:column;gap:1.8rem;margin-top:1rem}
.about-photo img{border-radius:12px;box-shadow:0 18px 44px rgba(23,19,14,.12)}

/* footer: navy bookend in her logo colours */
footer{background:var(--navy);color:var(--brand-cream);padding:4rem 0 0;overflow:hidden}
.foot-cols{width:min(1100px,94%);margin:0 auto 3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.foot-cols h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-pink);margin-bottom:.9rem;font-weight:600}
.foot-cols a{display:block;padding:.18rem 0;color:var(--brand-cream);font-size:.95rem;transition:color .2s}
.foot-cols a:hover{color:var(--brand-pink)}
.foot-cols p{color:var(--brand-cream);font-size:.95rem}
@media (max-width:640px){.foot-cols{grid-template-columns:1fr}}
.foot-mark{font-family:var(--serif);font-style:italic;font-size:clamp(4rem,14vw,11rem);line-height:.9;text-align:center;color:var(--brand-pink);opacity:.16;user-select:none;transform:translateY(12%)}
.foot-base{border-top:1px solid rgba(255,248,222,.25);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;width:min(1320px,94%);margin:0 auto;padding:1.2rem 0 1.4rem;font-size:.84rem;color:rgba(255,248,222,.8)}
.ranso-credit{border-bottom:1px solid rgba(255,248,222,.4);transition:color .2s,border-color .2s}
.ranso-credit:hover{color:var(--brand-pink);border-color:var(--brand-pink)}
