
    :root{color-scheme:dark;--ink:#0b0a25;--blue:#181440;--violet:#381267;--pink:#ff48b7;--white:#f8f3ff;--muted:#c9bfd9}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--ink);color:var(--white);font:400 1rem/1.55 Arial,Helvetica,sans-serif;overflow-x:hidden}
    body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 8%,#41217c80,transparent 38%),radial-gradient(ellipse at 8% 75%,#151e6180,transparent 40%),#0b0a25}
    a{color:inherit;text-decoration:none}
    button,input,textarea{font:inherit}
    button,a{ -webkit-tap-highlight-color:transparent}
    :focus-visible{outline:2px solid var(--pink);outline-offset:5px}
    .shell{width:min(100% - 3rem,1350px);margin:auto}
    .topbar{display:flex;align-items:center;justify-content:space-between;padding:1.6rem 0;gap:1rem}
    .wordmark{font:700 1.05rem/1 Georgia,serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
    .wordmark span{color:var(--pink)}
    nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.7rem);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
    nav a{transition:color .2s}
    nav a:hover{color:var(--pink)}
    .nav-contact{border:1px solid #ff48b790;border-radius:100px;padding:.72rem 1.3rem}
    .hero{position:relative;min-height:min(750px,calc(100svh - 80px));display:flex;align-items:center;padding:3rem 0 6rem;isolation:isolate}
    .hero::before{content:"";position:absolute;width:min(54vw,610px);aspect-ratio:1;right:2%;top:10%;border:1px solid #ff48b742;border-radius:50%;box-shadow:0 0 0 2rem #9c3bae0b,0 0 0 5rem #9c3bae08;transform:rotate(-22deg);z-index:-1}
    .hero::after{content:"";position:absolute;width:min(42vw,500px);aspect-ratio:1;right:9%;top:18%;border-radius:50%;background:radial-gradient(circle at 68% 33%,#ff55bdba,transparent 10%),radial-gradient(circle at 33% 65%,#3946b4,transparent 50%),linear-gradient(135deg,#1b1647,#591778 60%,#1b1544);box-shadow:inset 0 0 8rem #0b0a256b,0 0 8rem #7d26ac35;z-index:-2}
    .flourish{position:absolute;right:4%;bottom:13%;width:31%;height:21%;border:1px solid #ff48b755;border-top:0;border-left:0;border-radius:0 0 100% 0;transform:rotate(-12deg);pointer-events:none}
    .flourish::before,.flourish::after{content:"";position:absolute;border:1px solid #ff48b755;border-top:0;border-left:0;border-radius:0 0 100% 0;width:70%;height:70%;right:9%;bottom:14%}
    .flourish::after{width:38%;height:35%;right:21%;bottom:28%}
    .hero-content{position:relative;max-width:900px}
    .eyebrow{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--pink);font-weight:700;margin:0 0 1.8rem}
    h1,h2,h3,p{margin-top:0}
    h1{font:400 clamp(5rem,13vw,12.5rem)/.8 Georgia,'Times New Roman',serif;letter-spacing:-.085em;margin:0 0 2.8rem;text-shadow:0 4px 30px #09051b80}
    h1 span{display:block}
    h1 span:last-child{font-style:italic;padding-left:.28em;color:transparent;-webkit-text-stroke:1.5px var(--white);text-shadow:none}
    .hero-line{font:400 clamp(1.35rem,2.5vw,2.15rem)/1.3 Georgia,serif;max-width:530px;margin:0 0 1.8rem}
    .disciplines{max-width:560px;color:var(--muted);font-size:.9rem;line-height:1.9;letter-spacing:.08em;text-transform:uppercase}
    .disciplines span{color:var(--pink);padding:0 .45em}
    .hero-actions{display:flex;gap:1.3rem;align-items:center;margin-top:2.5rem}
    .button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:.9rem 1.8rem;border-radius:100px;background:var(--pink);color:#160b2c;border:1px solid var(--pink);font-size:.79rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;transition:background .2s,transform .2s}
    .button:hover{background:#fff;transform:translateY(-2px)}
    .text-link{font-size:.79rem;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid var(--pink);padding:.6rem 0}
    section{scroll-margin-top:2rem}
    .section-rule{height:1px;background:linear-gradient(90deg,transparent,#ff48b78c,transparent)}
    .portfolio{padding:6rem 0 8rem}
    .section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
    .section-head h2,.contact h2{font:400 clamp(3.5rem,8vw,7rem)/.95 Georgia,serif;letter-spacing:-.065em;margin:0}
    .section-head p{max-width:280px;margin:0;color:var(--muted);font-size:.9rem}
    .portfolio-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1rem}
    .work{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(310px,36vw,470px);padding:1.5rem;overflow:hidden;border:1px solid #e2bcf435;background:#171137}
    .work::before{content:"";position:absolute;inset:0;z-index:0;transition:transform .5s}
    .work:nth-child(1)::before{background:radial-gradient(circle at 62% 43%,#fd4bc283 0 1%,transparent 22%),radial-gradient(circle at 50% 50%,transparent 0 25%,#ff58cc52 25.2% 25.5%,transparent 25.7% 39%,#f55aca60 39.2% 39.4%,transparent 39.7%),linear-gradient(145deg,#13113a,#452071 58%,#141634)}
    .work:nth-child(2)::before{background:radial-gradient(ellipse at 90% 0%,#f23fba93,transparent 37%),linear-gradient(155deg,#161344 20%,#273b94 54%,#0e0b30 100%)}
    .work:nth-child(3)::before{background:radial-gradient(ellipse at 15% 83%,#ff4fae8a,transparent 31%),repeating-radial-gradient(circle at 72% 40%,transparent 0 28px,#a17ae140 29px 30px),linear-gradient(140deg,#251059,#0f173d)}
    .work>*{position:relative;z-index:1}
    .work-no{font-size:.75rem;letter-spacing:.25em;color:#fff9;text-transform:uppercase}
    .work h3{font:italic 400 clamp(2.5rem,4vw,4.5rem)/1 Georgia,serif;letter-spacing:-.05em;margin:0}
    .work p{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#f9e6f5b5;margin:.75rem 0 0}
    .about{padding:6rem 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,9vw,9rem);align-items:center}
    .about h2{font:400 clamp(3.5rem,7vw,6.5rem)/.95 Georgia,serif;letter-spacing:-.065em;margin:0}
    .about h2 em{color:var(--pink);font-weight:400}
    .about-copy{font:400 clamp(1.2rem,2.1vw,1.65rem)/1.5 Georgia,serif;color:var(--white);margin:0}
    .contact{padding:6rem 0 8rem;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem)}
    .contact-intro{max-width:490px;color:var(--muted);margin:2rem 0 0}
    .contact-form{display:grid;gap:1.1rem;align-content:start}
    label{display:grid;gap:.45rem;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
    input,textarea{width:100%;border:1px solid #a682bd6c;border-radius:0;background:#ffffff08;color:var(--white);padding:.9rem 1rem;outline:none;font-size:1rem;letter-spacing:normal;text-transform:none}
    textarea{min-height:140px;resize:vertical}
    input:focus,textarea:focus{border-color:var(--pink)}
    .form-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
    .form-footer .button{cursor:pointer}
    .form-note{font-size:.82rem;color:var(--muted);margin:0}
    footer{border-top:1px solid #a682bd46;padding:2rem 0;display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
    @media(max-width:900px){.hero{min-height:720px}.portfolio-grid{grid-template-columns:1fr 1fr}.work:first-child{grid-column:span 2}.work{min-height:340px}.about,.contact{grid-template-columns:1fr}}
    @media(max-width:600px){.shell{width:min(100% - 2.2rem,1350px)}.topbar{padding:1.2rem 0}.topbar nav>a:first-child{display:none}nav{gap:.5rem}.nav-contact{padding:.6rem .9rem}.hero{min-height:680px;align-items:end;padding:6rem 0 5rem}.hero::before{width:75vw;top:10%;right:-24%;}.hero::after{width:68vw;top:13%;right:-17%;opacity:.7}.flourish{display:none}.eyebrow{margin-bottom:1.4rem}h1{font-size:clamp(4.5rem,18vw,7rem);margin-bottom:2rem}.hero-line{font-size:1.45rem}.disciplines{font-size:.76rem;line-height:2}.hero-actions{margin-top:2rem}.portfolio{padding:4.5rem 0 5rem}.section-head{display:block}.section-head p{margin-top:1.2rem}.portfolio-grid{grid-template-columns:1fr}.work:first-child{grid-column:auto}.work{min-height:310px}.about{padding:4.5rem 0}.contact{padding:4.5rem 0 5rem}footer{flex-direction:column}}
    @media(max-width:390px){h1{font-size:17vw}.hero-actions{gap:.8rem}.button{padding:.8rem 1.1rem}.text-link{font-size:.7rem}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
    .wordmark{display:block;line-height:0}
    .wordmark img{display:block;width:125px;height:auto}
    h1.brand-title{width:min(660px,80vw);margin:0 0 2.8rem;padding:0;line-height:1;letter-spacing:normal}
    .brand-title img{display:block;width:100%;height:auto}
    @media(max-width:600px){.wordmark img{width:108px}h1.brand-title{width:100%;max-width:480px;margin-bottom:2rem}.hero-content{width:100%}}
  
.hero-content{max-width:68%}.hero-portrait{position:absolute;right:0;bottom:0;width:32%;height:auto;max-height:85%;object-fit:contain;object-position:bottom;pointer-events:none;mask-image:linear-gradient(#000 85%,transparent)}
.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.2rem}.project-card{display:block}.project-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid #a682bd55;transition:filter .2s}.project-card:hover img{filter:brightness(1.12)}.project-card h3{font:400 1.8rem/1.2 Georgia,serif;margin:.8rem 0 .4rem;letter-spacing:-.03em}.project-card p{color:var(--muted);font-size:.9rem;margin:0}.project-card .eyebrow{font-size:.75rem;color:var(--pink);margin:.9rem 0 0}.stories{padding:5rem 0 6rem}.stories-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.stories-grid img{aspect-ratio:3/4;object-fit:cover}.section-head p{max-width:400px}.project-intro{padding:4rem 0 3rem;max-width:850px}.project-intro h1{font:400 clamp(2.8rem,7vw,6rem)/1.05 Georgia,serif;letter-spacing:-.055em;margin:1.5rem 0}.project-intro>p{font-size:1.1rem;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;padding-bottom:4rem}.project-gallery a{display:block}.project-gallery img{display:block;width:100%;height:auto}.project-gallery a:first-child{grid-column:1/-1}.reading{max-width:760px;margin:0 auto 6rem;font:400 1.18rem/1.85 Georgia,serif}.reading p{margin:0 0 1.2rem}.reading a{text-decoration:underline;text-underline-offset:4px;color:#ff95d8}.reading h2{font-size:2rem}.story-head{margin:auto}.story-cover{display:block;max-width:320px;width:100%;margin:0 auto 3rem}.back{font-size:.875rem;color:var(--pink)}.contact-address{margin-top:1.5rem;overflow-wrap:anywhere}.contact-address a{text-decoration:underline;text-underline-offset:5px}.copy-button{border:1px solid #ff86cf70;border-radius:100px;background:none;color:var(--white);padding:10px 16px;min-height:44px;cursor:pointer;font:inherit;margin-top:1rem}.copy-result{font-size:.875rem;color:var(--muted)}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-content{max-width:72%}.hero-portrait{width:30%}}
@media(max-width:600px){nav{font-size:.75rem;letter-spacing:.04em;gap:1rem}.topbar nav>a:first-child{display:block}.topbar nav .optional{display:none}.hero{min-height:auto;display:block;padding-top:3rem;padding-bottom:0}.hero-content{max-width:none}.hero-portrait{display:block;position:relative;width:68%;max-height:none;margin:1.5rem 0 0 auto}.hero-actions{flex-wrap:wrap}.portfolio-grid,.stories-grid,.project-gallery{grid-template-columns:1fr}.project-gallery a:first-child{grid-column:auto}.project-card img{aspect-ratio:4/3}.stories-grid img{aspect-ratio:3/4;max-height:430px;object-fit:contain;background:#181440}.project-intro{padding-top:2rem}.reading{font-size:1.1rem}.stories{padding:4rem 0}}

/* Complete landscape story thumbnails and a compact portrait selection. */
.stories-grid .project-card img{aspect-ratio:auto;width:100%;height:auto;max-height:none;object-fit:contain;background:transparent}
.story-head{max-width:760px;padding:4rem 0 2.5rem}
.story-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3rem,7vw,6rem);line-height:1.08;letter-spacing:-.055em;color:var(--white)}
.boudoir-card img{object-position:50% 25%}
.boudoir-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(100%,620px);padding-bottom:4rem;align-items:start}
.boudoir-collage img{display:block;width:100%;height:290px;object-fit:cover;object-position:50% 10%}
.boudoir-collage img:nth-child(2){margin-top:34px;object-position:50% 0%}
@media(max-width:600px){.boudoir-collage{gap:10px;max-width:420px}.boudoir-collage img{height:220px}.story-head{padding-top:2.5rem}}

.boudoir-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(100%,760px);padding-bottom:4rem;align-items:stretch}
.boudoir-collage a{display:block;position:relative;height:195px;overflow:hidden;border-radius:18px;outline-offset:4px;background:#22153b}
.boudoir-collage img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;transition:filter .2s;transform-origin:50% 0}
.boudoir-collage a:hover img{filter:brightness(1.13)}
.boudoir-collage a:nth-child(1) img{object-position:50% 12%}
.boudoir-collage a:nth-child(2) img{transform:scale(2.15)}
.boudoir-collage a:nth-child(3) img{transform:scale(2.1);transform-origin:50% 100%;object-position:50% 100%}
.boudoir-collage a:nth-child(4) img{transform:scale(1.8)}
.boudoir-collage a:nth-child(5) img{transform:scale(2.1)}
.boudoir-collage a:nth-child(6) img{transform:scale(1.8)}
.project-card img,.project-gallery img{border-radius:16px}
@media(max-width:600px){.boudoir-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.boudoir-collage a{height:175px;border-radius:14px}}

/* Full-aspect boudoir series; the quiet cover keeps the first view restrained. */
.boudoir-showcase{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:0 0 6rem;max-width:900px}
.boudoir-feature{display:block;width:100%;height:auto;border-radius:18px}
.boudoir-intro>p:not(.eyebrow){font:400 clamp(1.1rem,2vw,1.45rem)/1.5 Georgia,serif;color:var(--muted);margin-bottom:2rem}
.boudoir-details{grid-column:1/-1}.boudoir-details summary{display:inline-flex;align-items:center;gap:.7rem;min-height:52px;padding:.75rem 1.35rem;border:1px solid #ff86cf;border-radius:100px;color:var(--white);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none}.boudoir-details summary::-webkit-details-marker{display:none}.boudoir-details summary:focus-visible{outline:2px solid var(--pink);outline-offset:5px}.boudoir-details[open] summary span{transform:rotate(45deg)}
.boudoir-masonry{columns:2 280px;column-gap:1.3rem;margin-top:2.5rem}.boudoir-masonry a{display:block;break-inside:avoid;margin:0 0 1.3rem;border-radius:18px;overflow:hidden;outline-offset:5px}.boudoir-masonry img{display:block;width:100%;height:auto;border-radius:18px;transition:filter .2s}.boudoir-masonry a:hover img{filter:brightness(1.1)}
@media(max-width:600px){.boudoir-showcase{grid-template-columns:1fr;gap:1.5rem}.boudoir-feature{max-width:240px}.boudoir-details{grid-column:auto}.boudoir-masonry{columns:1}.boudoir-masonry a,.boudoir-masonry img{border-radius:14px}}

.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-footer .button:disabled{opacity:.65;cursor:wait}

/* Floating creative disciplines behind the hero portrait. */
.hero-icons{position:absolute;right:-3%;top:4%;width:min(61vw,780px);height:auto;pointer-events:none;z-index:0;filter:drop-shadow(0 12px 40px #ff48b724);opacity:.74}.hero-portrait{z-index:1}.hero-content{z-index:2}
@media(max-width:900px){.hero-icons{width:65vw;right:-10%;top:10%;opacity:.54}}
@media(max-width:600px){.hero-icons{width:90%;right:-22%;top:auto;bottom:4%;opacity:.48}}
/* A quiet book surface for long-form reading. */
.story-head{max-width:760px;text-align:center;padding:5.5rem 0 3.5rem}.story-head .back{display:block;text-align:left}.story-head .story-kicker{margin:3rem 0 1.3rem}.story-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(3.4rem,8vw,6.4rem);line-height:1.04;letter-spacing:-.06em;margin:0 auto 1.3rem;max-width:11ch}.story-head>p:last-child{font:italic 1.15rem/1.4 Georgia,serif;color:#e5c7e4}.story-head:after{content:'✦';display:block;color:var(--pink);font-size:1.5rem;margin-top:2rem}
.reading{max-width:820px;margin:0 auto 7rem;padding:clamp(2rem,6vw,5.5rem);background:linear-gradient(155deg,#f8f1e4,#efe4d4);color:#272039;border:1px solid #f8ead5;box-shadow:0 16px 45px #04020e5c, inset 0 0 70px #9f755a12;border-radius:4px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.08rem,1.5vw,1.22rem);line-height:1.85;letter-spacing:.005em;overflow-wrap:break-word;hyphens:auto}.reading p{max-width:68ch;margin:0 0 1.15em}.reading p + p{text-indent:1.4em}.reading p:first-of-type{text-indent:0}.reading>div:first-child>p:first-of-type:first-letter{float:left;font-size:3.7em;line-height:.78;padding:.08em .1em 0 0;color:#7b345d}.reading a{color:#812d62;text-decoration-thickness:1px;text-underline-offset:4px}.reading blockquote{border-left:2px solid #b57591;margin:1.5rem 0;padding-left:1.2rem;font-style:italic}.reading h2,.reading h3{font-family:Georgia,serif;color:#422843;line-height:1.2;margin-top:2em}
@media(max-width:600px){.story-head{padding:2.5rem 0 2rem}.story-head .story-kicker{margin-top:2rem}.reading{margin-left:-1.1rem;margin-right:-1.1rem;padding:2rem 1.5rem 3rem;border-radius:0;font-size:1.08rem;line-height:1.75}.reading p + p{text-indent:1em}}

/* The disciplines sit with the small logo; the portrait anchors the illustration ring. */
.topbar{gap:clamp(1rem,2vw,2.5rem)}.header-disciplines{font:400 .76rem/1.5 Arial,Helvetica,sans-serif;letter-spacing:.095em;text-transform:uppercase;color:var(--muted);margin:0;white-space:nowrap}.header-disciplines span{color:var(--pink);padding:0 .3em}.topbar nav{margin-left:auto}.hero-content .brand-title{width:min(740px,100%);margin-bottom:1.5rem}.hero-content .hero-actions{margin-top:1.6rem}.hero-portrait{right:11%;width:36%;max-height:92%;}.hero-icons{right:0;width:min(58vw,780px)}
@media(max-width:1180px){.header-disciplines{font-size:.66rem;letter-spacing:.04em}.header-disciplines span{padding:0 .15em}.topbar nav{gap:1rem;font-size:.7rem;letter-spacing:.07em}}
@media(max-width:850px){.topbar{flex-wrap:wrap}.header-disciplines{order:3;width:100%;white-space:normal;max-width:none;text-align:center}.topbar nav{order:2}.hero-portrait{right:8%;width:42%}.hero-icons{right:-8%;width:67vw}}
@media(max-width:600px){.header-disciplines{font-size:.71rem;line-height:1.75}.hero-portrait{width:70%;right:8%;margin:1rem 0 0 auto}.hero-icons{width:95%;right:-13%;bottom:4%;top:auto}.hero-content .brand-title{width:100%}}
/* Compensate for transparent padding inside the generated wordmark. */
.hero-content .brand-title{transform:translateX(-10%)}

/* All case imagery is visible as a compact, non-interactive contact sheet. */
.case-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:1060px;padding-bottom:5rem}.case-gallery figure{margin:0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:180px;padding:.55rem;background:#1b1539;border:1px solid #a682bd44;border-radius:16px}.case-gallery img{display:block;width:100%;height:auto;max-height:235px;object-fit:contain;border-radius:10px}.boudoir-grid{max-width:900px}.boudoir-grid figure{background:#140f2d}.boudoir-grid img{max-height:250px}
@media(max-width:900px){.case-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.case-gallery figure{min-height:130px;padding:.35rem;border-radius:12px}.case-gallery img{max-height:180px;border-radius:8px}}
/* Match the painted E to the eyebrow, while leaving air around the illustrations. */
.hero-content .brand-title{width:min(690px,100%);transform:translateX(-21%)}
@media(max-width:600px){.hero-content .brand-title{width:100%;transform:translateX(-10%)}}

/* One balanced project strip on wide screens; wrap only when space gets tight. */
@media(min-width:901px){.case-gallery.row-4{grid-template-columns:repeat(4,minmax(0,1fr))}.case-gallery.row-5{grid-template-columns:repeat(5,minmax(0,1fr))}.case-gallery.row-4 figure,.case-gallery.row-5 figure{min-height:200px}.case-gallery.row-4 img,.case-gallery.row-5 img{max-height:230px}}

.hero-subtitle{font:400 clamp(1.25rem,2.3vw,1.8rem)/1.35 Georgia,'Times New Roman',serif;color:var(--white);margin:0;max-width:28ch}
@media(max-width:600px){.hero-subtitle{font-size:1.35rem}}

/* Case gallery: small overview, full image on request. */
.gallery-hint{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.case-gallery{padding-bottom:5rem}
.case-gallery figure{overflow:hidden}
.gallery-item{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;border-radius:10px}
.gallery-item img{transition:transform .25s ease,filter .25s ease}
.gallery-item:hover img{transform:scale(1.035);filter:brightness(1.08)}
.gallery-item:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:clamp(.7rem,2vw,1.5rem);border:0;background:#080718f4;color:var(--white);overflow:hidden}
.lightbox::backdrop{background:#080718e8}
.lightbox-frame{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lightbox-image{display:block;max-width:min(100%,1400px);max-height:calc(100dvh - 6rem);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 18px 60px #0008}
.lightbox button{position:absolute;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:#1b1539df;color:white;cursor:pointer;font:400 2rem/1 Arial,sans-serif}
.lightbox button:hover{background:#733474}
.lightbox button[hidden]{display:none}
.lightbox-close{top:0;right:0}
.lightbox-prev{left:0;top:50%;transform:translateY(-50%)}
.lightbox-next{right:0;top:50%;transform:translateY(-50%)}
.lightbox-count{position:absolute;bottom:0;left:50%;transform:translateX(-50%);margin:0;color:#f8f3ffb8;font-size:.85rem;letter-spacing:.13em}
.hero-pitch{max-width:36ch;margin:1rem 0 0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.5}
@media(max-width:600px){.header-disciplines{text-align:left;order:3;font-size:.67rem;letter-spacing:.025em}.lightbox-image{max-width:100%;max-height:calc(100dvh - 7rem)}.lightbox button{width:44px;height:44px}.lightbox-prev{left:.1rem}.lightbox-next{right:.1rem}.hero-pitch{font-size:1rem}}

.form-privacy{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}

.about-text{max-width:640px}.about-ai{margin-top:2rem;padding:1.35rem 0 0;border-top:1px solid #ff48b760}.about-ai .eyebrow{margin:0 0 .7rem;font-size:.72rem}.about-ai p:last-child{margin:0;color:var(--muted);font-size:1rem;line-height:1.65;max-width:58ch}@media(max-width:600px){.about-ai{margin-top:1.6rem}.about-ai p:last-child{font-size:1rem}}

/* The mobile homepage is a focused introduction. The contact form opens as a panel. */
.mobile-contact-close{display:none}
@media(max-width:600px){
  .home-page .topbar,.home-page .section-rule,.home-page .portfolio,.home-page .about,.home-page .stories,.home-page footer{display:none}
  .home-page .shell{width:100%;max-width:none}
  .home-page .hero{display:block;position:relative;min-height:100svh;height:100svh;padding:0;overflow:hidden;isolation:isolate}
  .home-page .hero-content{position:static;width:100%;max-width:none;padding-top:max(2.5rem,7svh);text-align:center}
  .home-page .hero .eyebrow,.home-page .hero-subtitle,.home-page .hero-pitch,.home-page .hero .text-link{display:none}
  .home-page .hero-content .brand-title{width:min(90vw,480px);max-width:none;margin:0 auto;transform:none}
  .home-page .hero-portrait{position:absolute;display:block;width:min(94vw,440px);max-height:65svh;right:50%;bottom:10svh;margin:0;transform:translateX(50%);object-fit:contain;object-position:bottom;z-index:2}
  .home-page .hero-icons{position:absolute;width:min(125vw,650px);max-width:none;right:50%;bottom:12svh;top:auto;transform:translateX(50%);opacity:.76;z-index:1}
  .home-page .hero-actions{position:absolute;left:50%;bottom:max(2rem,4svh);transform:translateX(-50%);margin:0;z-index:3;white-space:nowrap}
  .home-page .hero-actions .button{min-height:50px;box-shadow:0 8px 30px #09051b99}
  .home-page .hero::before{width:80vw;right:10%;top:29%;opacity:.6}
  .home-page .hero::after{width:70vw;right:15%;top:36%;opacity:.55}
  .home-page .contact{display:none}
  .home-page .contact:target{display:block;position:fixed;inset:0;z-index:30;width:100%;height:100dvh;overflow-y:auto;padding:4rem 1.5rem 2.5rem;background:radial-gradient(circle at 85% 0%,#381267,#0b0a25 55%);overscroll-behavior:contain}
  .home-page .contact:target>div:first-of-type{max-width:560px;margin:0 auto}
  .home-page .contact h2{font-size:clamp(2.8rem,12vw,4rem)}
  .home-page .contact-intro{margin:.75rem 0 1.5rem}
  .home-page .contact-form{max-width:560px;margin:0 auto}
  .home-page .contact:target .mobile-contact-close{display:grid;place-items:center;position:absolute;top:.7rem;right:1rem;width:44px;height:44px;font:2rem/1 Arial,sans-serif;color:var(--white);z-index:2}
}
@media(max-width:600px) and (max-height:650px){.home-page .hero-content{padding-top:1.5rem}.home-page .hero-content .brand-title{width:min(72vw,340px)}.home-page .hero-portrait{max-height:58svh;bottom:11svh}.home-page .hero-icons{width:min(105vw,500px)}}

.hero-subtitle{font-size:clamp(1rem,1.5vw,1.25rem);max-width:none;white-space:nowrap;letter-spacing:.015em}

/* Editorial portfolio: give the commercial cases room, then shift into personal work. */
.editorial-work{padding:7rem 0 8rem}
.editorial-work .work-heading{align-items:end;margin-bottom:3rem}
.editorial-work .work-heading h2{font-size:clamp(3.7rem,8.2vw,7.2rem);line-height:.94}
.editorial-work .work-heading h2 em{font-weight:400;color:var(--pink)}
.editorial-work .work-heading>p{max-width:370px;font-size:1rem;line-height:1.65}
.showcase-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem}
.showcase{display:grid;grid-template-rows:minmax(340px,31vw) auto;min-width:0;overflow:hidden;border:1px solid #a682bd5a;border-radius:22px;background:#181337;transition:border-color .25s,transform .25s,box-shadow .25s}
.showcase:hover{border-color:#ff48b7a0;transform:translateY(-5px);box-shadow:0 25px 55px #05031370}
.showcase-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;background:radial-gradient(circle at 55% 55%,#53419665,transparent 62%),linear-gradient(145deg,#10153b,#29154d)}
.showcase-art:after{content:'';position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,#18133760);pointer-events:none}
.showcase-art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.showcase:hover .showcase-art img{transform:scale(1.025)}
.showcase-myla .showcase-art img{width:auto;max-width:100%;object-position:center bottom}
.showcase-katie .showcase-art{background:radial-gradient(ellipse at 50% 80%,#914b7c50,transparent 65%),#17112c}
.showcase-katie .showcase-art img{width:94%;height:94%}
.showcase-copy{padding:clamp(1.4rem,2.6vw,2.5rem);display:grid;align-content:start;min-height:300px}
.showcase-index{color:var(--pink);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase}
.showcase-type{color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin:1.5rem 0 .5rem}
.showcase-copy h3{font:400 clamp(2.5rem,4vw,4.4rem)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:0 0 1.15rem}
.showcase-description{max-width:35ch;color:var(--muted);font-size:1rem;line-height:1.55;margin:0 0 1.7rem}
.showcase-link,.personal-link{display:inline-flex;align-items:center;gap:.7rem;justify-self:start;margin-top:auto;color:var(--white);border-bottom:1px solid var(--pink);padding-bottom:.35rem;font-size:.77rem;letter-spacing:.13em;text-transform:uppercase}
.showcase-link span,.personal-link span{color:var(--pink);font-size:1.3rem;line-height:1;transition:transform .25s}
.showcase:hover .showcase-link span,.personal-work .project-card:hover .personal-link span{transform:translate(3px,-3px)}
.personal-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:6.5rem 0 2rem;padding-top:1.5rem;border-top:1px solid #b994d65c}
.personal-heading .eyebrow{margin:0 0 1rem}
.personal-heading h3{font:400 clamp(2.6rem,5vw,4.6rem)/1 Georgia,serif;letter-spacing:-.055em;margin:0}
.personal-heading h3 span{color:var(--pink)}
.personal-heading>p{color:var(--muted);margin:0 0 .35rem}
.personal-work{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.personal-work .project-card{display:flex;flex-direction:column;min-width:0;padding:0 0 1rem}
.personal-work .personal-art{display:flex;align-items:center;justify-content:center;aspect-ratio:1.35;background:radial-gradient(circle at center,#48306f4d,#17122f 65%);border:1px solid #a682bd55;border-radius:18px;overflow:hidden}
.personal-work .personal-art img{width:100%;height:100%;max-height:none;object-fit:contain;border:0;border-radius:0;transition:transform .3s,filter .3s}
.personal-work .project-card:hover .personal-art img{transform:scale(1.035)}
.personal-work .poster-art{background:#10122d}
.personal-work .boudoir-art{background:#241a33}
.personal-work .project-card .eyebrow{margin:1.2rem 0 .6rem}
.personal-work .project-card h3{font-size:clamp(1.45rem,2.1vw,2rem);margin:0 0 .65rem}
.personal-work .project-card>p:not(.eyebrow){font-size:.93rem;line-height:1.55;margin:0 0 1.4rem;max-width:34ch}
.personal-work .personal-link{margin-top:auto}
.about{align-items:start;gap:clamp(2rem,7vw,7rem)}
.about-heading{position:relative}
.about-lead{font:italic 400 clamp(1.3rem,2.2vw,1.85rem)/1.35 Georgia,serif;color:var(--muted);max-width:19ch;margin:2.4rem 0 0}
.about-origin{color:var(--muted);font-size:1rem;line-height:1.7;max-width:58ch;margin:1.4rem 0 0}
.about-skills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.about-skills span{border:1px solid #ff48b766;border-radius:100px;padding:.5rem .85rem;color:var(--white);font-size:.73rem;letter-spacing:.07em;text-transform:uppercase}
@media(max-width:900px){.showcase-grid{grid-template-columns:1fr 1fr}.showcase{grid-template-rows:300px auto}.showcase-copy{min-height:320px}.personal-work{gap:1rem}.about-lead{max-width:none}}
@media(max-width:700px){.editorial-work .work-heading{display:block}.editorial-work .work-heading>p{margin-top:1.5rem}.showcase-grid{grid-template-columns:1fr}.showcase{grid-template-rows:320px auto}.showcase-copy{min-height:0}.personal-work{grid-template-columns:1fr 1fr}.personal-heading{display:block}.personal-heading>p{margin-top:1rem}}
@media(max-width:600px){.personal-work{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.showcase,.showcase-art img,.personal-work .personal-art img,.showcase-link span,.personal-link span{transition:none}}

.mobile-disciplines{display:none}
@media(max-width:600px){.home-page .mobile-disciplines{display:block;margin:.55rem auto 0;width:max-content;max-width:96vw;white-space:nowrap;color:var(--white);font-size:clamp(.49rem,2.15vw,.7rem);line-height:1.3;letter-spacing:.035em;font-weight:700;text-align:center}.home-page .mobile-disciplines span{color:var(--pink);padding:0 .18em}.home-page .hero-portrait{max-height:61svh}}
@media(max-width:600px) and (max-height:650px){.home-page .hero-portrait{max-height:54svh}}

/* Let the portfolio images and names lead; no explanatory copy beside the headings. */
.editorial-work .work-heading{display:block;max-width:850px}
.showcase{grid-template-rows:minmax(390px,34vw) auto}
.showcase-copy{min-height:0;padding:1.8rem clamp(1.5rem,3vw,2.8rem) 2rem}
.showcase-type{margin:1.1rem 0 .65rem}
.showcase-copy h3{font-size:clamp(3rem,4.6vw,5rem);margin:0 0 1.6rem}
.showcase-link{margin-top:0}
.personal-heading{display:block}
.personal-work .project-card{padding-bottom:.5rem}
.personal-work .project-card h3{margin-bottom:1rem}
@media(max-width:900px){.showcase{grid-template-rows:330px auto}}
@media(max-width:700px){.showcase{grid-template-rows:320px auto}}

/* Case pages: a composed contact sheet with every image visible at once. */
.case-page .project-intro{max-width:1000px;padding:4.5rem 0 2.4rem}
.case-page .project-intro h1{font-size:clamp(3.4rem,7.4vw,7.2rem);line-height:.94;margin:1.25rem 0 1.5rem}
.case-page .project-intro>p{max-width:680px;line-height:1.65;color:var(--muted)}
.case-gallery-meta{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;max-width:1120px;padding:1rem 0 1.35rem;border-top:1px solid #aa7dc36b;color:var(--muted);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.case-gallery-meta span:first-child{color:var(--pink);font-weight:700}
.case-page .case-gallery{counter-reset:case-image;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1120px;padding:0 0 6rem}
.case-page .case-gallery.row-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.case-page .case-gallery.row-5{grid-template-columns:repeat(6,minmax(0,1fr))}
.case-page .case-gallery.row-5 figure{grid-column:span 2}
.case-page .case-gallery.row-5 figure:nth-child(4){grid-column:2/span 2}
.case-page .case-gallery.row-5 figure:nth-child(5){grid-column:4/span 2}
.case-page .case-gallery.boudoir-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px}
.case-page .case-gallery:not(.row-4):not(.row-5):not(.boudoir-grid){grid-template-columns:minmax(0,460px)}
.case-page .case-gallery figure{counter-increment:case-image;position:relative;display:flex;align-items:center;justify-content:center;height:230px;min-height:0;margin:0;padding:1.25rem;border:1px solid #ae84c05c;border-radius:18px;background:radial-gradient(circle at 50% 60%,#49306b45,transparent 65%),linear-gradient(150deg,#211942,#100e29);box-shadow:0 12px 32px #03020e3b;overflow:hidden}
.case-page .case-gallery figure:nth-child(even){background:radial-gradient(circle at 65% 35%,#26387855,transparent 65%),linear-gradient(150deg,#161b43,#130d29)}
.case-page .case-gallery figure::after{content:counter(case-image,decimal-leading-zero);position:absolute;top:.7rem;left:.85rem;color:#f8f3ff99;font-size:.67rem;letter-spacing:.1em;pointer-events:none}
.case-page .case-gallery .gallery-item{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:10px}
.case-page .case-gallery img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:8px}
.case-page .case-gallery.boudoir-grid figure{height:215px}
@media(max-width:900px){.case-page .case-gallery.row-5{grid-template-columns:repeat(2,minmax(0,1fr))}.case-page .case-gallery.row-5 figure,.case-page .case-gallery.row-5 figure:nth-child(4),.case-page .case-gallery.row-5 figure:nth-child(5){grid-column:auto}.case-page .case-gallery.row-5 figure:last-child{grid-column:1/-1;max-width:calc(50% - .5rem);width:100%;justify-self:center}.case-page .case-gallery.boudoir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.case-page .project-intro{padding:2.5rem 0 1.8rem}.case-page .project-intro h1{font-size:clamp(2.8rem,13vw,4.6rem)}.case-gallery-meta{font-size:.67rem;letter-spacing:.05em}.case-page .case-gallery,.case-page .case-gallery.row-4,.case-page .case-gallery.row-5,.case-page .case-gallery.boudoir-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.case-page .case-gallery figure,.case-page .case-gallery.boudoir-grid figure{height:160px;padding:.65rem;border-radius:12px}.case-page .case-gallery.row-5 figure:last-child{max-width:calc(50% - .3rem)}.case-page .case-gallery:not(.row-4):not(.row-5):not(.boudoir-grid){grid-template-columns:minmax(0,1fr);max-width:320px}}

/* Homepage: a compact selection of images, with context on the case pages. */
.curated-work{padding:6.5rem 0 7rem}
.curated-heading{margin-bottom:2.5rem}
.curated-heading .eyebrow{margin-bottom:1.2rem}
.curated-heading h2{font:400 clamp(3.6rem,7.5vw,6.7rem)/.95 Georgia,serif;letter-spacing:-.06em;margin:0}
.curated-heading h2 span{color:var(--pink)}
.curated-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2.2rem 1.25rem;max-width:1220px}
.curated-item{grid-column:span 2;min-width:0;display:block}
.curated-item:nth-child(4){grid-column:2/span 2}
.curated-item:nth-child(5){grid-column:4/span 2}
.curated-image{height:clamp(205px,19vw,275px);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #aa82be55;border-radius:18px;background:radial-gradient(circle at 50% 50%,#3e2b635e,transparent 65%),#15112f;transition:border-color .25s,box-shadow .25s}
.curated-item:nth-child(even) .curated-image{background:radial-gradient(circle at 55% 40%,#273b7b50,transparent 65%),#17112e}
.curated-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s,filter .3s}
.curated-item:hover .curated-image{border-color:#ff48b7b8;box-shadow:0 16px 36px #04020e80}
.curated-item:hover img{transform:scale(1.035);filter:brightness(1.07)}
.curated-caption{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:.9rem .15rem 0}
.curated-caption span:first-child{color:var(--pink);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.curated-caption h3{font:400 clamp(1.35rem,2vw,1.8rem)/1.15 Georgia,serif;letter-spacing:-.025em;margin:.4rem 0 0}
.curated-arrow{color:var(--pink);font-size:1.45rem;line-height:1;transition:transform .25s}
.curated-item:hover .curated-arrow{transform:translate(3px,-3px)}
@media(max-width:900px){.curated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curated-item,.curated-item:nth-child(4),.curated-item:nth-child(5){grid-column:auto}.curated-item:nth-child(5){grid-column:1/-1;width:calc(50% - .625rem);justify-self:center}.curated-image{height:250px}}
@media(max-width:650px){.curated-grid{grid-template-columns:1fr}.curated-item,.curated-item:nth-child(4),.curated-item:nth-child(5){grid-column:auto;width:100%}.curated-image{height:260px}}
@media(prefers-reduced-motion:reduce){.curated-image,.curated-image img,.curated-arrow{transition:none}}

/* Quiet finish: fewer labels and no decorative frames around the work. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-page .section-rule{display:none}
.home-page .hero::before,.home-page .hero::after{opacity:.45}
.home-page .hero-icons{opacity:.43}
.home-page .portfolio{padding:6rem 0 7rem}
.home-page .curated-heading{margin-bottom:2rem}
.home-page .curated-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}
.home-page .curated-item,.home-page .curated-item:nth-child(4),.home-page .curated-item:nth-child(5){grid-column:auto;width:auto}
.home-page .curated-image{height:clamp(230px,23vw,325px);border:0;border-radius:12px;background:transparent}
.home-page .curated-item:nth-child(even) .curated-image{background:transparent}
.home-page .curated-image img{border-radius:12px}
.home-page .curated-item:hover .curated-image{border:0;box-shadow:none}
.home-page .curated-caption{padding:.95rem 0 0}
.home-page .curated-caption h3{font-size:clamp(1.35rem,2.2vw,2rem)}
.more-work{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);flex-wrap:wrap;margin-top:3.4rem;padding-top:1.15rem;border-top:1px solid #a682bd5a}
.more-work>span{color:var(--muted);font-size:.75rem;letter-spacing:.17em;text-transform:uppercase}
.more-work a{font:400 1rem/1.4 Georgia,serif;border-bottom:1px solid transparent;transition:border-color .2s}
.more-work a:hover{border-color:var(--pink)}
.more-work a span{color:var(--pink)}
.home-page .about{padding:6rem 0 7rem}
.home-page .about-copy{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.55}
.home-page .about-origin{margin-top:1.5rem}
.home-page .about-ai{margin-top:2rem}
.home-page .stories{padding:6rem 0 7rem}
.home-page .stories-grid .project-card .eyebrow{display:none}
.home-page .stories-grid .project-card h3{margin-top:1rem}
.case-page .case-gallery-meta{display:none}
.case-page .case-gallery{align-items:start;gap:1.6rem 1.8rem}
.case-page .case-gallery figure,.case-page .case-gallery.boudoir-grid figure{position:relative;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;align-items:flex-start}
.case-page .case-gallery figure:nth-child(even){background:none}
.case-page .case-gallery figure::after{display:none}
.case-page .case-gallery .gallery-item{width:100%;height:auto;min-height:0;border-radius:12px}
.case-page .case-gallery img{width:100%;height:auto;max-height:310px;object-fit:contain;border-radius:12px}
.case-page .case-gallery.boudoir-grid img{max-height:280px}
.case-page .case-gallery:not(.row-4):not(.row-5):not(.boudoir-grid){max-width:460px}
@media(max-width:900px){.home-page .curated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .curated-item:nth-child(3){grid-column:1/-1;width:calc(50% - .675rem);justify-self:center}.home-page .curated-image{height:260px}}
@media(max-width:600px){.home-page .hero-icons{opacity:.76}.case-page .case-gallery{gap:.85rem}.case-page .case-gallery figure,.case-page .case-gallery.boudoir-grid figure{height:auto;padding:0}.case-page .case-gallery img,.case-page .case-gallery.boudoir-grid img{max-height:210px;border-radius:10px}}

/* Continuous portfolio strip: imagery leads, case links stay easy to reach. */
.moving-work{padding:6rem 0 7rem}
.moving-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}
.moving-heading .eyebrow{margin-bottom:1rem}
.moving-heading h2{font:400 clamp(3.8rem,8vw,7rem)/.95 Georgia,serif;letter-spacing:-.06em;margin:0}
.moving-heading h2 span{color:var(--pink)}
.marquee-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;margin-bottom:.3rem;border:1px solid #a682bd80;border-radius:50%;background:transparent;color:var(--white);cursor:pointer;font:1rem Arial,sans-serif}
.marquee-toggle:hover{border-color:var(--pink)}
.work-marquee{width:100vw;max-width:none;margin-left:calc(50% - 50vw);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.work-track{display:flex;width:max-content;align-items:center}
.work-loop{display:flex;align-items:center;gap:1rem;padding-right:1rem;flex:none;width:max-content}
.work-slide{position:relative;display:block;flex:none;height:clamp(190px,22vw,280px);width:auto;overflow:hidden;border-radius:12px;outline-offset:5px}
.work-slide img{display:block;width:auto;height:100%;max-width:460px;object-fit:contain;border-radius:12px;transition:filter .25s}
.work-slide:hover img,.work-slide:focus-visible img{filter:brightness(.72)}
.slide-label{position:absolute;left:1rem;bottom:.8rem;padding:.35rem .6rem;border-radius:4px;background:#0b0a25d9;color:var(--white);font:400 .9rem/1.2 Georgia,serif;opacity:0;transition:opacity .25s}
.work-slide:hover .slide-label,.work-slide:focus-visible .slide-label{opacity:1}
.work-marquee.is-ready .work-track{animation:portfolio-flow var(--marquee-duration,55s) linear infinite}
.work-marquee.is-paused .work-track,.work-marquee:hover .work-track,.work-marquee:focus-within .work-track{animation-play-state:paused}
@keyframes portfolio-flow{to{transform:translateX(-50%)}}
.work-index{display:flex;flex-wrap:wrap;gap:.7rem 2rem;margin-top:1.8rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.work-index a{border-bottom:1px solid transparent;padding:.25rem 0}
.work-index a:hover{color:var(--white);border-color:var(--pink)}
@media(max-width:900px){.work-slide{height:230px}.work-index{gap:.5rem 1.3rem}}
@media(max-width:600px){.home-page .moving-work{display:none}}
@media(prefers-reduced-motion:reduce){.work-marquee.is-ready .work-track{animation:none}.work-marquee{overflow-x:auto;mask-image:none}.marquee-toggle{display:none}}
.work-marquee{overflow-x:auto}
.work-marquee.is-ready{overflow:hidden}

/* Restore EnvyMedia's vivid hero while retaining the moving work strip. */
@media(min-width:601px){.home-page .hero-icons{opacity:.88;filter:drop-shadow(0 14px 45px #ff48b750)}.home-page .hero::before,.home-page .hero::after{opacity:.9}.home-page .section-rule{display:block;opacity:.58}}
