:root{--paper:#f4f0e8;--ink:#171714;--muted:#77756d;--line:rgba(23,23,20,.22);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.announcement{height:30px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;gap:11px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.announcement span{opacity:.55}.site-header{height:82px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark,.footer-mark{font-family:var(--serif);font-size:32px;letter-spacing:-.08em;font-weight:700}.wordmark span,.footer-mark span{font:10px var(--sans);vertical-align:top;letter-spacing:0;margin-left:4px}.main-nav{display:flex;gap:34px;margin-left:80px}.main-nav a,.header-cta{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.main-nav a{transition:opacity .2s}.main-nav a:hover{opacity:.5}.header-cta span{margin-left:9px}.menu-toggle{display:none;background:none;border:0;font-size:22px}.hero{padding:34px 5.5% 24px}.hero-topline,.hero-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em}.hero-art{height:min(67vw,690px);min-height:430px;position:relative;margin-top:14px;overflow:hidden;background:#c5b9a9}.hero-image{object-position:center 37%;filter:saturate(.78)}.hero-art:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.24));pointer-events:none}.hero-stamp{position:absolute;z-index:1;left:5%;top:8%;font:clamp(38px,8vw,104px)/.78 var(--serif);letter-spacing:-.09em;color:#f6f1e9}.hero-stamp i{font-size:.36em;letter-spacing:.08em;font-weight:400}.image-credit{position:absolute;z-index:2;bottom:20px;left:22px;color:white;font-size:9px;letter-spacing:.15em}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:37px 3% 42px;align-items:end}.eyebrow{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin:0 0 17px}.hero-copy h1{font:clamp(54px,8.5vw,112px)/.91 var(--serif);font-weight:500;letter-spacing:-.065em;margin:0}.hero-copy h1 em,.intro-statement em,.feature-text h3 em,.duo-card h3 em,.quote-section em,.pixel-copy h2 em,.newsletter h2 em{font-weight:500}.hero-description{display:flex;align-items:end;justify-content:space-between;gap:25px;max-width:430px;padding-bottom:8px}.hero-description p,.pixel-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#5d5a53;max-width:330px}.circle-link{flex:0 0 46px;width:46px;height:46px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:20px;transition:background .2s,color .2s}.circle-link:hover{background:var(--ink);color:var(--paper)}.hero-bottom{border-top:1px solid var(--line);padding-top:15px}.intro-band{padding:95px 8% 100px;background:#e8e1d5;text-align:center}.intro-band .eyebrow{margin-bottom:28px}.intro-statement{font:clamp(38px,6vw,75px)/1.08 var(--serif);letter-spacing:-.05em;margin:0}.intro-small{max-width:410px;margin:24px auto 0;color:#6c685f;font-size:12px;line-height:1.9}.feature-section{padding:95px 8% 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.section-heading h2{font:clamp(42px,6vw,72px)/1 var(--serif);letter-spacing:-.06em;margin:0}.text-link,.underlined-link{font-size:9px;letter-spacing:.13em}.feature-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8%;align-items:center}.feature-image{height:620px;position:relative;display:block;overflow:hidden;background:#d0c5b8}.image-hover img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}.image-hover:hover img{transform:scale(1.035);filter:saturate(.9)}.image-tag{position:absolute;left:18px;bottom:18px;color:white;font-size:9px;letter-spacing:.16em}.feature-text{position:relative;padding:30px 0}.feature-text h3,.duo-card h3{font:clamp(42px,5vw,68px)/1.03 var(--serif);letter-spacing:-.06em;margin:0 0 24px}.feature-text>p:not(.eyebrow){max-width:340px;font-size:12px;line-height:1.9;color:#6c685f;margin-bottom:34px}.underlined-link{display:inline-flex;gap:25px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:12px}.underlined-link span{font-size:15px}.feature-number{display:block;font:italic 150px/.8 var(--serif);color:#e1d9cc;margin-top:70px;text-align:right}.duo-section{padding:35px 13% 115px;display:grid;grid-template-columns:1fr 1fr;gap:12%}.duo-card-offset{margin-top:150px}.duo-image{display:block;height:clamp(340px,48vw,570px);position:relative;overflow:hidden;background:#d3c7ba;margin-bottom:26px}.duo-card:nth-child(1) .duo-image img{object-position:center 30%}.round-arrow{position:absolute;right:16px;bottom:16px;width:42px;height:42px;border-radius:50%;background:var(--paper);display:grid;place-items:center}.duo-card h3{font-size:clamp(39px,4.5vw,60px);margin-bottom:12px}.card-caption{font-size:11px;line-height:1.8;color:#6c685f;max-width:260px}.quote-section{padding:90px 20px 100px;background:#1c1c19;color:var(--paper);text-align:center}.quote-mark{font:90px/.7 var(--serif);color:#bcb09d}.quote-section blockquote{font:clamp(34px,5.5vw,67px)/1.2 var(--serif);letter-spacing:-.045em;margin:28px 0}.quote-section blockquote em{color:#c4b9a8}.quote-section>p{font-size:9px;letter-spacing:.18em;color:#aaa69e;margin:30px 0 0}.pixel-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#ded5c8}.pixel-image{min-height:600px;overflow:hidden}.pixel-image img{object-position:center}.pixel-copy{padding:80px clamp(30px,7vw,100px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.brand-lockup{font:clamp(47px,7vw,90px)/.75 var(--serif);letter-spacing:-.09em;margin:0 0 26px}.brand-lockup em{font-size:.43em;letter-spacing:.1em}.mini-rule{height:1px;width:44px;background:var(--ink);margin:8px 0 27px}.pixel-copy h2,.newsletter h2{font:clamp(42px,5vw,64px)/1.02 var(--serif);letter-spacing:-.055em;margin:0 0 15px}.pixel-copy>p:not(.eyebrow){margin:0 0 28px}.newsletter{text-align:center;padding:100px 20px 105px}.newsletter h2{font-size:clamp(48px,6vw,75px)}.newsletter>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#6c685f;max-width:340px;margin:20px auto 28px}.newsletter form{display:flex;max-width:480px;margin:0 auto;border-bottom:1px solid var(--ink)}.newsletter input{background:transparent;border:0;outline:0;padding:16px 4px;flex:1;min-width:0;font:9px var(--sans);letter-spacing:.13em}.newsletter button{border:0;background:transparent;font:9px var(--sans);letter-spacing:.12em;cursor:pointer;padding:0 4px 0 15px}.form-note{font-size:9px!important;letter-spacing:.08em}.site-footer{background:var(--ink);color:var(--paper);padding:38px 5.5% 25px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px}.footer-mark{font-size:29px}.site-footer>p,.footer-links a,.site-footer small{font-size:8px;letter-spacing:.12em}.site-footer>p{text-align:center;color:#b8b4ab}.footer-links{display:flex;flex-direction:column;gap:10px;text-align:right}.site-footer small{grid-column:1/-1;border-top:1px solid #44443e;padding-top:18px;color:#a8a59d}.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}@media(max-width:760px){.site-header{height:70px;padding:0 5%}.wordmark{font-size:29px}.main-nav{display:none;position:absolute;top:69px;left:0;right:0;margin:0;padding:25px 6%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:22px}.main-nav.open{display:flex}.header-cta{margin-left:auto;margin-right:20px;font-size:9px}.menu-toggle{display:block}.hero{padding:22px 5%}.hero-art{height:125vw;min-height:430px;max-height:620px;margin-top:12px}.hero-copy{grid-template-columns:1fr;gap:18px;padding:30px 0}.hero-copy h1{font-size:clamp(59px,14vw,90px)}.hero-description{max-width:100%}.hero-bottom{font-size:8px;gap:15px}.intro-band{padding:72px 7%}.feature-section{padding:70px 6%}.section-heading{gap:20px}.section-heading h2{font-size:48px}.text-link{max-width:100px;text-align:right;line-height:1.8}.feature-grid{grid-template-columns:1fr;gap:24px}.feature-image{height:115vw;max-height:620px}.feature-text{padding:10px 0}.feature-text h3{font-size:58px}.feature-number{font-size:100px;margin-top:35px}.duo-section{padding:10px 7% 75px;gap:28px;grid-template-columns:1fr 1fr}.duo-card-offset{margin-top:90px}.duo-image{height:65vw;min-height:240px;margin-bottom:18px}.duo-card h3{font-size:clamp(32px,7vw,48px)}.card-caption{font-size:10px}.quote-section{padding:75px 15px}.pixel-section{grid-template-columns:1fr}.pixel-image{min-height:0;height:100vw;max-height:560px}.pixel-copy{padding:60px 8% 70px}.newsletter{padding:75px 7%}.site-footer{grid-template-columns:1fr 1fr;padding:32px 6% 22px}.site-footer>p{display:none}.footer-links{grid-column:2;grid-row:1}.site-footer small{font-size:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Published editor canvas */
.live-magazine-main{background:#f7f3eb;min-height:72vh}
.live-magazine-canvas{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:1440px;height:850px;min-height:0;margin:0 auto;background:#f7f3eb;color:#22221f}
.live-magazine-masthead{height:62px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d9d2c6;font:9px "DM Sans",Arial,sans-serif;letter-spacing:.13em}
.live-magazine-masthead strong{font:500 19px "Playfair Display",Georgia,serif;letter-spacing:0}
.live-magazine-element{position:absolute;box-sizing:border-box;overflow-wrap:anywhere}
.live-magazine-text{white-space:normal;line-height:1.45;padding:3px}
.live-magazine-text.is-heading{line-height:1.02;font-weight:500}
.live-magazine-image{overflow:hidden;margin:0;padding:0;border:0}
.live-magazine-image img{display:block;width:100%;height:100%;object-fit:cover}
.live-magazine-footer{display:flex;justify-content:space-between;gap:18px;padding:24px 5%;font:9px "DM Sans",Arial,sans-serif;letter-spacing:.12em;border-top:1px solid #d9d2c6}
.live-magazine-footer a{color:inherit}
@media(max-width:700px){.live-magazine-footer{font-size:8px;flex-wrap:wrap}}


/* Brand-specific homepage polish, sampled directionally from supplied plum/black logos. */
:root{--plum:#6d315f;--plum-deep:#281323;--plum-soft:#b58aa9;--warm-white:#f5f0e8;--studio-lilac:#e9e0e8}
:root[data-brand="nira"]{--paper:#f4f0e8;--ink:#20151f;--muted:#776975;--line:rgba(45,24,43,.22);--brand-accent:#75406d;--brand-soft:#e9dfe8;--brand-dark:#241622}
:root[data-brand="pixel"]{--paper:#f1ede8;--ink:#171319;--muted:#766b78;--line:rgba(43,24,43,.24);--brand-accent:#6d315f;--brand-soft:#e7dce7;--brand-dark:#1d151f}
:root[data-brand] .wordmark,:root[data-brand] .footer-mark{color:var(--ink)}
:root[data-brand] .wordmark .brand-name{letter-spacing:-.055em}
:root[data-brand] .wordmark .brand-tm{font:9px var(--sans);vertical-align:top;letter-spacing:0;margin-left:4px;color:var(--brand-accent)}
:root[data-brand] .hero-stamp i{color:#ead9e8}
:root[data-brand] .circle-link{border-color:var(--brand-accent)}
:root[data-brand] .circle-link:hover{background:var(--brand-accent);color:#fff}
:root[data-brand] .intro-band{background:var(--brand-soft)}
:root[data-brand] .quote-section{background:var(--brand-dark)}
:root[data-brand] .quote-mark,:root[data-brand] .quote-section blockquote em{color:var(--plum-soft)}
:root[data-brand] .underlined-link{border-color:var(--brand-accent)}
:root[data-brand] .round-arrow{color:var(--brand-accent)}
:root[data-brand] .pixel-section{background:var(--brand-soft)}
:root[data-brand] .mini-rule{background:var(--brand-accent)}
:root[data-brand] .newsletter button{color:var(--brand-accent)}
:root[data-brand] .newsletter form{border-color:var(--brand-accent)}
:root[data-brand] .site-footer{background:var(--brand-dark)}
:root[data-brand] .site-footer small{border-color:rgba(233,220,233,.24)}
:root[data-brand] .hero-image{filter:saturate(.76) contrast(1.02)}
:root[data-brand] .image-tag,:root[data-brand] .image-credit{letter-spacing:.17em}
:root[data-brand="pixel"] .announcement{background:#211621}
:root[data-brand="pixel"] .brand-lockup{color:#271b29}
:root[data-brand="pixel"] .brand-lockup em{color:var(--brand-accent)}
:root[data-brand="pixel"] .pixel-section{background:#e6dce6}
:root[data-brand="pixel"] .hero-art{background:#b8aab7}
:root[data-brand="pixel"] .hero-stamp{color:#f4edf4}
:root[data-brand="pixel"] .intro-band{background:#e9e1e9}
:root[data-brand] a:focus-visible,:root[data-brand] button:focus-visible,:root[data-brand] input:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}
@media(max-width:760px){:root[data-brand] .main-nav.open{box-shadow:0 12px 20px rgba(30,18,30,.08)}:root[data-brand] .hero-copy h1{letter-spacing:-.07em}:root[data-brand] .newsletter form{gap:8px}}


/* Homepage hero refinement — preview-only branch */
.hero{padding-top:30px}
.hero-topline{color:var(--brand-accent);align-items:center}
.hero-topline span:first-child{display:inline-flex;align-items:center;gap:10px}
.hero-topline span:first-child:before{content:"";display:inline-block;width:22px;height:1px;background:currentColor}
.hero-art{isolation:isolate;border-radius:2px;background:var(--brand-soft);box-shadow:0 18px 46px rgba(35,18,34,.08)}
.hero-art:before{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.24);pointer-events:none}
.hero-art:after{z-index:0;inset:30% 0 0;background:linear-gradient(180deg,transparent 5%,rgba(20,10,20,.48) 100%)}
.hero-image{object-position:center 32%;transform:scale(1.015);transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s}
.hero-art:hover .hero-image{transform:scale(1.045)}
.hero-stamp{top:7%;left:5.2%;text-shadow:0 2px 24px rgba(20,10,20,.16);z-index:2}
.image-credit{z-index:2;display:flex;align-items:center;gap:10px}
.image-credit:before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;opacity:.8}
.hero-copy{padding-top:42px;padding-bottom:38px}
.hero-copy .eyebrow{color:var(--brand-accent);margin-bottom:20px}
.hero-copy h1{max-width:800px;text-wrap:balance}
.hero-copy h1 em{color:var(--brand-accent)}
.hero-description p{max-width:360px}
.hero-bottom{color:var(--muted);padding-top:17px}
:root[data-brand="nira"] .hero-art{background:#c9b9c5}
:root[data-brand="nira"] .hero-stamp{color:#fbf5ed}
:root[data-brand="nira"] .hero-copy h1 em{color:#75406d}
:root[data-brand="pixel"] .hero-art{background:#b9a9b9}
:root[data-brand="pixel"] .hero-image{filter:saturate(.58) contrast(1.08) brightness(.9)}
:root[data-brand="pixel"] .hero-art:after{background:linear-gradient(180deg,rgba(24,14,25,.04) 0%,rgba(24,14,25,.64) 100%)}
:root[data-brand="pixel"] .hero-stamp{color:#fff8ff;letter-spacing:-.075em}
:root[data-brand="pixel"] .hero-copy h1 em{color:#6d315f}
:root[data-brand="pixel"] .hero-topline{color:#6d315f}
@media(max-width:760px){
  .hero{padding-top:22px}
  .hero-topline{font-size:8px;letter-spacing:.13em}
  .hero-art{border-radius:1px;box-shadow:0 12px 30px rgba(35,18,34,.07)}
  .hero-stamp{top:7%;left:5%;font-size:clamp(42px,12vw,76px)}
  .hero-copy{padding-top:30px;padding-bottom:30px}
  .hero-copy .eyebrow{margin-bottom:15px}
  .hero-description p{font-size:12px;line-height:1.75}
  .hero-bottom{align-items:flex-start}
}

/* Restrained motion for published canvas elements. */
.live-magazine-element{--anim-duration:800ms;--anim-delay:0ms}
.live-magazine-element[data-animation="fade-in"][data-trigger="load"]{animation:editorial-fade-in var(--anim-duration) ease both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="fade-up"][data-trigger="load"]{animation:editorial-fade-up var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="slide-left"][data-trigger="load"]{animation:editorial-slide-left var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="slide-right"][data-trigger="load"]{animation:editorial-slide-right var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="zoom-in"][data-trigger="load"]{animation:editorial-zoom-in var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="reveal"][data-trigger="load"]{animation:editorial-reveal var(--anim-duration) ease both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="fade-in"][data-trigger="scroll"]{opacity:0}
.live-magazine-element[data-animation="fade-up"][data-trigger="scroll"]{opacity:0;transform:translateY(22px)}
.live-magazine-element[data-animation="slide-left"][data-trigger="scroll"]{opacity:0;transform:translateX(24px)}
.live-magazine-element[data-animation="slide-right"][data-trigger="scroll"]{opacity:0;transform:translateX(-24px)}
.live-magazine-element[data-animation="zoom-in"][data-trigger="scroll"]{opacity:0;transform:scale(.96)}
.live-magazine-element[data-animation="reveal"][data-trigger="scroll"]{opacity:0;clip-path:inset(0 0 0 100%)}
.live-magazine-element[data-animation="fade-in"][data-trigger="scroll"].is-visible{animation:editorial-fade-in var(--anim-duration) ease both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="fade-up"][data-trigger="scroll"].is-visible{animation:editorial-fade-up var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="slide-left"][data-trigger="scroll"].is-visible{animation:editorial-slide-left var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="slide-right"][data-trigger="scroll"].is-visible{animation:editorial-slide-right var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="zoom-in"][data-trigger="scroll"].is-visible{animation:editorial-zoom-in var(--anim-duration) cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--anim-delay)}
.live-magazine-element[data-animation="reveal"][data-trigger="scroll"].is-visible{animation:editorial-reveal var(--anim-duration) ease both;animation-delay:var(--anim-delay)}
@keyframes editorial-fade-in{from{opacity:0}to{opacity:1}}
@keyframes editorial-fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes editorial-slide-left{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes editorial-slide-right{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:translateX(0)}}
@keyframes editorial-zoom-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes editorial-reveal{from{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.live-magazine-element[data-animation]{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}}


/* Editorial story layout refinement — preview branch */
.feature-section{padding-top:clamp(72px,9vw,128px);padding-bottom:clamp(78px,10vw,138px)}
.section-heading{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:42px}
.section-heading .eyebrow{color:var(--brand-accent);margin-bottom:15px}
.section-heading h2{line-height:.98}
.section-heading .text-link{padding-bottom:7px;white-space:nowrap}
.feature-grid{grid-template-columns:minmax(0,1.12fr) minmax(270px,.88fr);gap:clamp(34px,7vw,108px)}
.feature-image{height:clamp(430px,56vw,690px);box-shadow:0 18px 42px rgba(35,18,34,.07)}
.feature-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(24,15,24,.28));pointer-events:none}
.feature-image .image-tag{z-index:1;left:22px;bottom:22px}
.feature-text{padding:clamp(10px,2vw,28px) 0}
.feature-text .eyebrow{color:var(--brand-accent);margin-bottom:22px}
.feature-text h3{font-size:clamp(44px,5.4vw,76px);line-height:.99;max-width:520px;text-wrap:balance}
.feature-text>p:not(.eyebrow){font-size:13px;line-height:1.95;max-width:330px}
.feature-number{font-size:clamp(100px,12vw,160px);color:var(--brand-soft);margin-top:clamp(45px,7vw,90px)}
.duo-section{padding-top:18px;padding-bottom:clamp(80px,11vw,140px);gap:clamp(30px,8vw,120px)}
.duo-card{min-width:0}
.duo-card .eyebrow{color:var(--brand-accent);margin-top:5px;margin-bottom:15px}
.duo-image{box-shadow:0 15px 36px rgba(35,18,34,.06)}
.duo-card-offset{margin-top:clamp(80px,12vw,165px)}
.duo-card h3{line-height:1.01}
.card-caption{max-width:300px;font-size:12px;line-height:1.9}
.quote-section{position:relative;overflow:hidden}
.quote-section:before,.quote-section:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(197,176,197,.15);border-radius:50%;pointer-events:none}
.quote-section:before{left:-105px;top:-105px}
.quote-section:after{right:-105px;bottom:-105px}
.pixel-section{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}
.pixel-image img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.pixel-section:hover .pixel-image img{transform:scale(1.025)}
.pixel-copy .eyebrow{color:var(--brand-accent)}
.pixel-copy h2{line-height:.98}
.newsletter{position:relative}
.newsletter .eyebrow{color:var(--brand-accent)}
.newsletter form{transition:border-color .25s;gap:12px}
.newsletter input{font-size:10px}
.newsletter input::placeholder{color:#8b818b;opacity:1}
.newsletter button{white-space:nowrap}
.site-footer{row-gap:24px}
@media(max-width:760px){
  .feature-section{padding-top:68px;padding-bottom:78px}
  .section-heading{margin-bottom:28px;padding-bottom:17px}
  .feature-grid{grid-template-columns:minmax(0,1fr);gap:25px}
  .feature-image{height:112vw;max-height:620px;min-height:360px}
  .feature-text{padding-top:3px}
  .feature-text h3{font-size:clamp(46px,12vw,66px)}
  .feature-number{font-size:100px;margin-top:34px}
  .duo-section{padding:0 6% 76px;gap:26px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .duo-card-offset{margin-top:78px}
  .duo-image{height:66vw;min-height:220px;margin-bottom:18px}
  .duo-card .eyebrow{font-size:8px;line-height:1.7;letter-spacing:.12em}
  .duo-card h3{font-size:clamp(30px,7.2vw,44px);overflow-wrap:anywhere}
  .card-caption{font-size:10px;line-height:1.75}
  .quote-section:before,.quote-section:after{width:130px;height:130px}
  .pixel-copy{padding:54px 7% 62px}
  .newsletter{padding-top:76px;padding-bottom:80px}
  .newsletter form{gap:7px}
  .newsletter button{font-size:8px;padding-left:6px}
}
@media(max-width:380px){
  .duo-section{gap:18px;padding-left:5%;padding-right:5%}
  .duo-card h3{font-size:29px}
  .duo-image{min-height:195px}
  .card-caption{font-size:9px}
  .hero-bottom span{max-width:48%;line-height:1.7}
}


/* Live homepage editorial redesign — preview branch */
:root[data-brand] .site-header{background:var(--paper);border-bottom-color:var(--line)}
:root[data-brand] .main-nav a{position:relative;padding:8px 0}
:root[data-brand] .main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--brand-accent);transition:right .25s ease}
:root[data-brand] .main-nav a:hover:after{right:0}
.live-magazine-main{padding-bottom:0}
.live-magazine-stage{margin-bottom:0!important}
.live-magazine-masthead{background:rgba(255,255,255,.2);border-bottom-color:rgba(32,21,31,.25);padding:0 5.5%;letter-spacing:.16em}
.live-magazine-masthead strong{letter-spacing:-.035em;font-size:22px}
.intro-band{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);column-gap:8%;align-items:center;text-align:left;padding:clamp(78px,10vw,138px) 9%}
.intro-band .eyebrow{grid-column:1/-1;margin-bottom:30px;color:var(--brand-accent)}
.intro-statement{grid-column:1;font-size:clamp(44px,6.1vw,84px);max-width:850px}
.intro-small{grid-column:2;max-width:340px;margin:0;font-size:13px;line-height:2;color:var(--muted);border-left:1px solid var(--line);padding-left:clamp(20px,3vw,44px)}
.feature-section{padding-left:9%;padding-right:9%}
.section-heading{align-items:end}
.section-heading h2{font-size:clamp(46px,6.3vw,86px)}
.feature-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(35px,7vw,100px)}
.feature-image{order:2;height:clamp(440px,58vw,730px)}
.feature-text{order:1;align-self:center}
.feature-text h3{font-size:clamp(48px,6vw,84px)}
.feature-number{display:block;line-height:.8}
.duo-section{padding-left:9%;padding-right:9%;align-items:start}
.duo-image{display:block;overflow:hidden;position:relative}
.duo-image img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.duo-image:hover img{transform:scale(1.035)}
.quote-section{padding-left:8%;padding-right:8%}
.pixel-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.pixel-image{order:2;min-height:620px}
.pixel-copy{order:1;padding:clamp(56px,8vw,120px) 10%}
.pixel-copy .brand-lockup{font-size:clamp(64px,9vw,116px);line-height:.76}
.pixel-copy h2{font-size:clamp(42px,5vw,68px)}
.newsletter{padding-left:8%;padding-right:8%}
.newsletter h2{font-size:clamp(50px,6.5vw,84px)}
.live-magazine-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
@media(max-width:760px){
  .intro-band{grid-template-columns:minmax(0,1fr);padding:72px 7% 78px;row-gap:20px}
  .intro-band .eyebrow{grid-column:1;margin-bottom:8px}
  .intro-statement{grid-column:1;font-size:clamp(42px,11vw,62px)}
  .intro-small{grid-column:1;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;margin:0;max-width:420px}
  .feature-section{padding-left:7%;padding-right:7%}
  .feature-grid{grid-template-columns:minmax(0,1fr);gap:25px}
  .feature-image{order:1;height:112vw;max-height:620px;min-height:360px}
  .feature-text{order:2}
  .duo-section{padding-left:6%;padding-right:6%}
  .pixel-section{grid-template-columns:minmax(0,1fr)}
  .pixel-image{order:1;min-height:0;height:95vw;max-height:580px}
  .pixel-copy{order:2;padding:54px 7% 64px}
  .newsletter{padding-left:7%;padding-right:7%}
}


/* Brand palettes sampled from the Pixel Studios and Nira logo artwork */
:root[data-brand="pixel"]{
  --paper:#E8E2D9;
  --ink:#171219;
  --muted:#716773;
  --line:rgba(48,25,48,.22);
  --brand-accent:#54204F;
  --brand-soft:#C9B8C9;
  --brand-plum:#351433;
  --brand-highlight:#8B5688;
}
:root[data-brand="nira"]{
  --paper:#FFFCF7;
  --ink:#171116;
  --muted:#786C75;
  --line:rgba(62,28,53,.2);
  --brand-accent:#71365F;
  --brand-soft:#E6D6E1;
  --brand-plum:#4C1E43;
  --brand-highlight:#B57C9F;
}
:root[data-brand="pixel"] .announcement{background:#211620;color:#F1EAE1}
:root[data-brand="nira"] .announcement{background:#4C1E43;color:#FFFCF7}
:root[data-brand="pixel"] .intro-band{background:#DCD2D7}
:root[data-brand="nira"] .intro-band{background:#F3EAEF}
:root[data-brand="pixel"] .quote-section{background:#291B2A;color:#F4ECE4}
:root[data-brand="pixel"] .quote-section p{color:#D5C5D4}
:root[data-brand="nira"] .quote-section{background:#4C1E43;color:#FFFCF7}
:root[data-brand="nira"] .quote-section p{color:#E8D7E2}
:root[data-brand="pixel"] .hero-stamp{color:#F1EAE1}
:root[data-brand="nira"] .hero-stamp{color:#FFFCF7}
:root[data-brand="pixel"] .circle-link:hover{background:#54204F;border-color:#54204F;color:#fff}
:root[data-brand="nira"] .circle-link:hover{background:#71365F;border-color:#71365F;color:#fff}
:root[data-brand="pixel"] .underlined-link:after,:root[data-brand="pixel"] .text-link:after{background:#54204F}
:root[data-brand="nira"] .underlined-link:after,:root[data-brand="nira"] .text-link:after{background:#71365F}
:root[data-brand="pixel"] .newsletter{background:#E0D6D9}
:root[data-brand="nira"] .newsletter{background:#F3EAEF}
:root[data-brand="pixel"] .newsletter button{background:#351433;color:#F1EAE1}
:root[data-brand="nira"] .newsletter button{background:#4C1E43;color:#FFFCF7}
:root[data-brand="pixel"] .live-magazine-masthead{background:#DCD2D7;color:#211620}
:root[data-brand="nira"] .live-magazine-masthead{background:#F3EAEF;color:#4C1E43}
:root[data-brand="pixel"] .live-magazine-footer{background:#E8E2D9;color:#171219}
:root[data-brand="nira"] .live-magazine-footer{background:#FFFCF7;color:#171116}


/* Logo-inspired type systems: high-contrast Didone serif lettering */
:root[data-brand="pixel"]{
  --serif:"Bodoni Moda","Didot","Bodoni MT",serif;
  --sans:"DM Sans",Arial,sans-serif;
}
:root[data-brand="nira"]{
  --serif:"GFS Didot","Bodoni Moda","Didot",serif;
  --sans:"DM Sans",Arial,sans-serif;
}
:root[data-brand="pixel"] .wordmark,
:root[data-brand="pixel"] .footer-mark,
:root[data-brand="pixel"] .hero-stamp,
:root[data-brand="pixel"] .hero-copy h1,
:root[data-brand="pixel"] .intro-statement,
:root[data-brand="pixel"] .section-heading h2,
:root[data-brand="pixel"] .feature-text h3,
:root[data-brand="pixel"] .duo-card h3,
:root[data-brand="pixel"] .quote-section blockquote,
:root[data-brand="pixel"] .pixel-copy h2,
:root[data-brand="pixel"] .newsletter h2{
  font-family:"Bodoni Moda","Didot","Bodoni MT",serif;
}
:root[data-brand="nira"] .wordmark,
:root[data-brand="nira"] .footer-mark,
:root[data-brand="nira"] .hero-stamp,
:root[data-brand="nira"] .hero-copy h1,
:root[data-brand="nira"] .intro-statement,
:root[data-brand="nira"] .section-heading h2,
:root[data-brand="nira"] .feature-text h3,
:root[data-brand="nira"] .duo-card h3,
:root[data-brand="nira"] .quote-section blockquote,
:root[data-brand="nira"] .pixel-copy h2,
:root[data-brand="nira"] .newsletter h2{
  font-family:"GFS Didot","Bodoni Moda","Didot",serif;
}
:root[data-brand="pixel"] .live-magazine-masthead strong,
:root[data-brand="nira"] .live-magazine-masthead strong{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:.025em;
}
:root[data-brand="pixel"] .eyebrow,
:root[data-brand="nira"] .eyebrow{
  letter-spacing:.19em;
}

/* The old static hero must never flash while published brand canvas loads. */
.hero[aria-hidden="true"]{display:none!important}


/* Published photo gallery and editorial story viewer */
.photo-gallery-main{background:var(--paper);min-height:70vh}
.gallery-intro{padding:clamp(54px,8vw,112px) 7% 42px;border-bottom:1px solid var(--line)}
.gallery-kicker{font:9px var(--sans);letter-spacing:.19em;text-transform:uppercase;color:var(--brand-accent);margin:0 0 20px}
.gallery-intro h1{font:clamp(48px,8vw,112px)/.95 var(--serif);font-weight:400;letter-spacing:-.065em;max-width:1000px;margin:0}
.gallery-intro h1 em{color:var(--brand-accent);font-weight:400}
.gallery-intro>p:last-child{font:13px/1.8 var(--sans);color:var(--muted);max-width:430px;margin:22px 0 0}
.photo-gallery-grid{padding:clamp(30px,5vw,72px) 7% clamp(60px,9vw,120px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(24px,4vw,58px) clamp(14px,2.2vw,32px);align-items:start}
.gallery-card{grid-column:span 4;border:0;padding:0;background:none;color:inherit;text-align:left;cursor:pointer;min-width:0}
.gallery-card-2{grid-column:span 5;margin-top:clamp(35px,7vw,100px)}
.gallery-card-3{grid-column:span 3;margin-top:clamp(10px,2vw,32px)}
.gallery-card-4{grid-column:span 4;margin-top:-20px}
.gallery-card-5{grid-column:span 5;margin-left:8%;margin-top:clamp(25px,5vw,70px)}
.gallery-card-image{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--brand-soft);position:relative}
.gallery-card-2 .gallery-card-image{aspect-ratio:4/5}
.gallery-card-3 .gallery-card-image{aspect-ratio:2/3}
.gallery-card-4 .gallery-card-image{aspect-ratio:4/5}
.gallery-card-image img{transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s;object-fit:cover}
.gallery-card:hover .gallery-card-image img{transform:scale(1.035)}
.gallery-card-meta{display:grid;grid-template-columns:1fr auto;gap:10px 12px;padding-top:14px}
.gallery-card-index,.gallery-card-count{font:8px var(--sans);letter-spacing:.15em;color:var(--muted)}
.gallery-card-title{grid-column:1/-1;font:clamp(22px,3vw,38px)/1.1 var(--serif);letter-spacing:-.035em}
.gallery-card-count{grid-column:2;grid-row:1;text-align:right;align-self:center}
.gallery-bottom{padding:22px 7%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font:8px var(--sans);letter-spacing:.15em;color:var(--muted)}
.gallery-empty{padding:100px 8%;text-align:center;color:var(--muted);font:14px/1.8 var(--sans)}
.story-overlay,.photo-lightbox{position:fixed;inset:0;z-index:1000;background:var(--paper);overflow:auto}
.story-overlay[hidden],.photo-lightbox[hidden]{display:none!important}
.story-close,.lightbox-close{position:fixed;top:18px;right:22px;z-index:1010;border:1px solid currentColor;background:var(--paper);color:var(--ink);width:44px;height:44px;border-radius:50%;font:30px/1 var(--sans);cursor:pointer}
/* Always-visible navigation for the full-screen journal gallery and photo viewer. */
.story-close,.lightbox-close{left:22px;right:auto;width:auto;min-width:44px;height:44px;padding:0 17px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font:600 9px/1 var(--sans);letter-spacing:.12em;white-space:nowrap;box-shadow:0 4px 18px rgba(20,18,15,.08)}
.story-close span:first-child,.lightbox-close span:first-child{font-size:17px;line-height:1;letter-spacing:0}
.story-close:hover,.lightbox-close:hover{background:var(--ink);color:var(--paper)}
.story-close:focus-visible,.lightbox-close:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}
@media(max-width:520px){.story-close,.lightbox-close{top:12px;left:12px;height:42px;padding:0 13px;font-size:8px;z-index:1020}.story-dialog{padding-top:76px}}
.story-dialog{max-width:1400px;margin:0 auto;padding:clamp(70px,9vw,120px) 7% 70px}
.story-copy{max-width:760px;padding-bottom:clamp(35px,6vw,75px)}
.story-title{font:clamp(42px,7vw,88px)/.98 var(--serif);letter-spacing:-.06em;font-weight:400;margin:0 0 22px}
.story-description{max-width:520px;font:14px/1.9 var(--sans);color:var(--muted)}
.story-position{font:8px var(--sans);letter-spacing:.16em;color:var(--brand-accent);margin-top:28px}
.story-photos{columns:2;column-gap:clamp(14px,3vw,40px)}
.story-photo{display:block;width:100%;break-inside:avoid;margin:0 0 clamp(14px,3vw,40px);padding:0;border:0;background:var(--brand-soft);position:relative;cursor:zoom-in;color:white;text-align:left}
.story-photo img{width:100%;height:auto;max-height:none;object-fit:cover}
.story-photo span{position:absolute;left:12px;bottom:12px;font:8px var(--sans);letter-spacing:.14em;text-shadow:0 1px 5px #222;opacity:0;transition:opacity .2s}
.story-photo:hover span,.story-photo:focus-visible span{opacity:1}
.photo-lightbox{background:rgba(17,14,17,.97);display:flex;align-items:center;justify-content:center;overflow:hidden}
.lightbox-image{width:auto;height:auto;max-width:calc(100vw - 160px);max-height:calc(100vh - 100px);object-fit:contain}
.lightbox-close{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;background:transparent;color:white;font:56px/1 var(--serif);cursor:pointer}
.lightbox-prev{left:20px}.lightbox-next{right:20px}
.lightbox-counter{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff;font:9px var(--sans);letter-spacing:.18em}
.gallery-modal-open{overflow:hidden}
:root[data-brand="pixel"] .gallery-intro h1 em,:root[data-brand="pixel"] .gallery-kicker{color:#54204F}
:root[data-brand="nira"] .gallery-intro h1 em,:root[data-brand="nira"] .gallery-kicker{color:#71365F}
@media(max-width:700px){.gallery-intro{padding:48px 6% 30px}.photo-gallery-grid{padding:28px 5% 70px;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 12px}.gallery-card,.gallery-card-2,.gallery-card-3,.gallery-card-4,.gallery-card-5{grid-column:span 3;margin:0}.gallery-card-2,.gallery-card-5{margin-top:42px}.gallery-card-3{margin-top:-12px}.gallery-card-title{font-size:25px}.gallery-card-count{font-size:7px}.gallery-bottom{padding:18px 5%;font-size:7px}.story-dialog{padding:75px 5% 40px}.story-photos{columns:1}.lightbox-image{max-width:calc(100vw - 36px);max-height:calc(100vh - 120px)}.lightbox-prev{left:2px}.lightbox-next{right:2px}.lightbox-prev,.lightbox-next{width:36px;font-size:42px}.story-close,.lightbox-close{right:12px;top:12px}}

/* Public page uses the same positioned canvas geometry as the editor. */
.published-layout-main{width:100%;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(20px,4vw,64px)}
.published-editorial-canvas{position:relative;width:100%;max-width:100%;overflow:hidden;container-type:inline-size;isolation:isolate;margin:0 auto;background-size:cover!important;background-position:center!important}
.published-canvas-text{min-width:0}
.published-canvas-image{display:block;appearance:none;-webkit-appearance:none;line-height:0}
.published-canvas-image img{display:block}
@media(max-width:720px){.published-layout-main{gap:18px}.published-editorial-canvas{width:100%;}}

/* Cinematic editorial reveal: restrained, staggered, scroll-driven. */
.published-editorial-canvas{position:relative;isolation:isolate;overflow:hidden}
.published-editorial-canvas.gallery-enter,.published-editorial-canvas.gallery-enter.gallery-visible{opacity:1;transform:none}
.published-canvas-image{display:block;appearance:none;-webkit-appearance:none;line-height:0;transform:translateZ(0);transition:filter .45s ease,box-shadow .45s ease}
.published-canvas-image img{display:block;transform:scale(1.075);transition:transform 1.2s cubic-bezier(.22,.61,.36,1),filter .55s ease;will-change:transform}
.published-canvas-image.gallery-image-enter img{clip-path:inset(0 0 100% 0);transform:scale(1.075)}
.published-canvas-image.gallery-image-enter.gallery-visible img{clip-path:inset(0);transform:scale(1);transition:clip-path 1s cubic-bezier(.77,0,.18,1),transform 1.45s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--gallery-order,0)*90ms)}
.published-canvas-text.gallery-text-enter{opacity:0;transform:translateY(12px);transition:opacity .7s ease,transform .8s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--gallery-order,0)*90ms)}
.published-canvas-text.gallery-text-enter.gallery-visible{opacity:1;transform:translateY(0)}
.published-canvas-image:hover{z-index:50!important;filter:drop-shadow(0 12px 20px rgba(20,10,18,.12))}
.published-canvas-image:hover img{transform:scale(1.035)}
.published-canvas-image:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}
.published-canvas-image:active img{transform:scale(1.015)}
.story-overlay:not([hidden]){animation:gallery-overlay-in .45s ease both}
.story-overlay:not([hidden]) .story-dialog{animation:gallery-story-in .8s cubic-bezier(.22,.61,.36,1) both}
.story-overlay:not([hidden]) .story-photo{animation:gallery-photo-in .85s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--gallery-order,0)*95ms)}
.story-overlay:not([hidden]) .story-photo:nth-child(2n){--gallery-order:1}
.photo-lightbox:not([hidden]) .lightbox-image{animation:gallery-lightbox-in .55s cubic-bezier(.22,.61,.36,1) both}
@keyframes gallery-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes gallery-story-in{from{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gallery-photo-in{from{opacity:0;clip-path:inset(0 0 8% 0);transform:translateY(10px) scale(1.015)}to{opacity:1;clip-path:inset(0);transform:translateY(0) scale(1)}}
@keyframes gallery-lightbox-in{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.published-editorial-canvas.gallery-enter,.published-canvas-image,.published-canvas-image img,.published-canvas-text.gallery-text-enter,.story-overlay:not([hidden]),.story-overlay:not([hidden]) .story-dialog,.story-overlay:not([hidden]) .story-photo,.photo-lightbox:not([hidden]) .lightbox-image{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;clip-path:none!important}}


/* Floating editorial gallery — spring-inspired motion with persistent site chrome. */
body.gallery-modal-open .announcement{position:fixed;top:0;left:0;right:0;z-index:1102}
body.gallery-modal-open .site-header{position:fixed;top:30px;left:0;right:0;z-index:1102;background:var(--paper);box-shadow:0 8px 28px rgba(24,14,24,.05)}
body.gallery-modal-open .site-footer{position:fixed;bottom:0;left:0;right:0;z-index:1102;padding-top:14px;padding-bottom:12px;min-height:64px;box-shadow:0 -8px 28px rgba(24,14,24,.05)}
body.gallery-modal-open .site-footer small{display:none}
.story-overlay:not([hidden]){position:fixed;inset:122px 3.2% 86px;z-index:1100;background:rgba(244,240,232,.97);border:1px solid rgba(109,49,95,.22);border-radius:3px;box-shadow:0 28px 90px rgba(25,12,24,.22);overflow:auto;overscroll-behavior:contain;transform-origin:50% 45%;backdrop-filter:blur(14px);animation:gallery-float-spring 720ms cubic-bezier(.2,1.35,.35,1) both}
.story-overlay:not([hidden]) .story-dialog{padding:clamp(34px,5vw,68px) clamp(22px,5vw,72px) 48px;animation:gallery-dialog-spring 780ms cubic-bezier(.2,1.28,.35,1) both}
.story-overlay:not([hidden]) .story-close{position:sticky;top:14px;float:right;margin:14px 16px -58px 0;background:var(--paper);box-shadow:0 5px 18px rgba(25,12,24,.12)}
.story-overlay:not([hidden]) .story-photo{animation:gallery-photo-spring 850ms cubic-bezier(.18,1.22,.3,1) both;animation-delay:calc(var(--gallery-order,0)*70ms)}
.story-overlay:not([hidden]) .story-photo:hover img{transform:scale(1.035);transition:transform 600ms cubic-bezier(.2,1.2,.35,1)}
.photo-lightbox:not([hidden]){z-index:1110}
.photo-lightbox:not([hidden]) .lightbox-image{animation:gallery-image-spring 680ms cubic-bezier(.18,1.3,.32,1) both}
@keyframes gallery-float-spring{0%{opacity:0;transform:translateY(28px) scale(.94)}58%{opacity:1;transform:translateY(-5px) scale(1.008)}78%{transform:translateY(2px) scale(.997)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gallery-dialog-spring{0%{opacity:0;transform:translateY(18px)}62%{opacity:1;transform:translateY(-3px)}82%{transform:translateY(1px)}100%{opacity:1;transform:translateY(0)}}
@keyframes gallery-photo-spring{0%{opacity:0;transform:translateY(18px) scale(.985)}65%{opacity:1;transform:translateY(-2px) scale(1.004)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gallery-image-spring{0%{opacity:0;transform:scale(.91) translateY(10px)}65%{opacity:1;transform:scale(1.012) translateY(-2px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:700px){
  body.gallery-modal-open .site-header{top:30px;height:62px}
  body.gallery-modal-open .site-footer{min-height:54px;padding:10px 5%;gap:8px}
  body.gallery-modal-open .footer-mark{font-size:22px}
  body.gallery-modal-open .footer-links{gap:5px}
  body.gallery-modal-open .footer-links a{font-size:7px}
  .story-overlay:not([hidden]){inset:102px 3% 66px;border-radius:2px}
  .story-overlay:not([hidden]) .story-dialog{padding:34px 5% 30px}
  .story-overlay:not([hidden]) .story-close{top:8px;margin:8px 8px -52px 0;width:38px;height:38px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .story-overlay:not([hidden]),.story-overlay:not([hidden]) .story-dialog,.story-overlay:not([hidden]) .story-photo,.photo-lightbox:not([hidden]) .lightbox-image{animation:none!important;transition:none!important;transform:none!important}
}

/* Premium editorial cover — a deliberate pause before the portfolio. */
.editorial-cover{min-height:calc(100svh - 112px);padding:clamp(14px,2.2vw,30px) clamp(14px,3vw,42px);background:#211a20;color:#f5f0e8;position:relative;isolation:isolate;overflow:hidden}
.editorial-cover::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(90deg,rgba(20,13,20,.88) 0%,rgba(20,13,20,.65) 45%,rgba(20,13,20,.12) 100%),var(--cover-image,linear-gradient(135deg,#55434f,#211a20));background-size:cover;background-position:center 38%;transform:scale(1.045);animation:cover-image-arrive 1.5s cubic-bezier(.2,.65,.25,1) both}
.editorial-cover::after{content:"";position:absolute;inset:12px;z-index:-1;border:1px solid rgba(245,240,232,.28);pointer-events:none}
.cover-frame{min-height:calc(100svh - 150px);display:flex;flex-direction:column;justify-content:space-between;position:relative;padding:clamp(20px,3vw,42px) clamp(12px,3vw,44px)}
.cover-overline,.cover-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;font:9px var(--sans);letter-spacing:.18em;color:rgba(245,240,232,.8)}
.cover-main{max-width:900px;padding:clamp(42px,8vh,100px) 0;animation:cover-copy-arrive 1s .18s cubic-bezier(.2,.75,.25,1) both}
.cover-kicker{font:9px var(--sans);letter-spacing:.24em;color:#d6b9d0;margin:0 0 22px}
.cover-main h1{font:400 clamp(56px,10vw,142px)/.88 var(--serif);letter-spacing:-.065em;max-width:900px;margin:0;text-wrap:balance}
.cover-description{font:13px/1.8 var(--sans);color:rgba(245,240,232,.78);max-width:380px;margin:26px 0 30px}
.cover-enter{display:inline-flex;align-items:center;gap:34px;padding:14px 0;border:0;border-bottom:1px solid rgba(245,240,232,.6);background:transparent;color:#f5f0e8;font:9px var(--sans);letter-spacing:.18em;cursor:pointer;transition:gap .35s cubic-bezier(.2,1.2,.35,1),border-color .3s}
.cover-enter:hover{gap:48px;border-color:#d6b9d0}.cover-enter span:last-child{font-size:17px}
.cover-index{position:absolute;right:clamp(20px,4vw,56px);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font:10px var(--sans);letter-spacing:.3em;color:rgba(245,240,232,.5)}
.cover-leaving{animation:cover-exit .48s cubic-bezier(.6,0,.8,.2) both;pointer-events:none}
@keyframes cover-image-arrive{from{opacity:.45;transform:scale(1.09)}to{opacity:1;transform:scale(1.045)}}
@keyframes cover-copy-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes cover-exit{to{opacity:0;transform:translateY(-14px) scale(.985);visibility:hidden}}
@media(max-width:700px){.editorial-cover{min-height:calc(100svh - 96px);padding:10px}.cover-frame{min-height:calc(100svh - 120px);padding:22px 12px}.editorial-cover::after{inset:8px}.cover-overline,.cover-bottom{font-size:7px;letter-spacing:.11em}.cover-main{padding:50px 0}.cover-main h1{font-size:clamp(52px,15vw,88px);max-width:100%}.cover-description{font-size:12px;max-width:280px}.cover-index{right:14px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.editorial-cover::before,.cover-main,.cover-leaving{animation:none!important}.cover-enter{transition:none!important}}

/* Brand-specific logo typography extends through the cover and every gallery/story title. */
:root[data-brand="nira"] .editorial-cover .cover-main h1,
:root[data-brand="nira"] .gallery-intro h1,
:root[data-brand="nira"] .gallery-preview-panel h3,
:root[data-brand="nira"] .gallery-card-title,
:root[data-brand="nira"] .story-title {
  font-family:"GFS Didot","Bodoni Moda","Didot",serif;
  font-weight:400;
  letter-spacing:-.045em;
}
:root[data-brand="pixel"] .editorial-cover .cover-main h1,
:root[data-brand="pixel"] .gallery-intro h1,
:root[data-brand="pixel"] .gallery-preview-panel h3,
:root[data-brand="pixel"] .gallery-card-title,
:root[data-brand="pixel"] .story-title {
  font-family:"Bodoni Moda","Didot","Bodoni MT",serif;
  font-weight:400;
  letter-spacing:-.055em;
}
:root[data-brand="nira"] .wordmark,
:root[data-brand="nira"] .footer-mark {
  font-family:"GFS Didot","Bodoni Moda","Didot",serif;
  font-weight:400;
  letter-spacing:-.035em;
}
:root[data-brand="pixel"] .wordmark,
:root[data-brand="pixel"] .footer-mark {
  font-family:"Bodoni Moda","Didot","Bodoni MT",serif;
  font-weight:500;
  letter-spacing:-.055em;
}


/* Luxury editorial footer — distinct from a conventional site footer. */
.editorial-footer{display:block;padding:24px 6% 16px;background:var(--brand-dark,var(--ink));color:var(--paper);border-top:1px solid rgba(235,224,235,.18)}
.editorial-footer .footer-topline{display:flex;justify-content:space-between;gap:18px;.padding-bottom:22px;border-bottom:1px solid rgba(235,224,235,.22);font:8px var(--sans);letter-spacing:.16em;color:#c7bdc8}
.editorial-footer .footer-topline i{font-style:normal;opacity:.65;padding:0 5px}
.editorial-footer .footer-center{text-align:center;padding:20px 12px 18px}
.editorial-footer .footer-mark{display:inline-block;color:var(--paper);font-family:var(--serif);font-size:clamp(38px,5vw,56px);font-weight:400;letter-spacing:-.065em}
.editorial-footer .footer-mark span{font:9px var(--sans);vertical-align:top;letter-spacing:0;margin-left:5px}
.editorial-footer .footer-tagline{margin:13px 0 8px;font:clamp(29px,4.5vw,52px)/1.06 var(--serif);letter-spacing:-.045em;color:#f5eee5}
.editorial-footer .footer-description{margin:0;color:#c8bdc7;font:9px var(--sans);letter-spacing:.18em;text-transform:uppercase}
.editorial-footer .footer-nav-row{display:grid;grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:16px;padding:12px 0;border-top:1px solid rgba(235,224,235,.22);border-bottom:1px solid rgba(235,224,235,.22)}
.editorial-footer .footer-brand-links,.editorial-footer .footer-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.editorial-footer .footer-links{justify-content:center;flex-direction:row}
.editorial-footer .footer-brand-links a,.editorial-footer .footer-links a,.editorial-footer .footer-backtop{font:8px var(--sans);letter-spacing:.12em;color:#f0e7ed;transition:opacity .2s}
.editorial-footer .footer-brand-links a:hover,.editorial-footer .footer-links a:hover,.editorial-footer .footer-backtop:hover{opacity:.62}
.editorial-footer .footer-backtop{text-align:right;white-space:nowrap}
.editorial-footer .footer-bottom{display:flex;justify-content:space-between;gap:14px;padding-top:12px;color:#b8acb8}
.editorial-footer .footer-location,.editorial-footer .footer-copyright{font:8px var(--sans);letter-spacing:.1em}
.editorial-footer .footer-copyright{border:0;padding:0;color:#b8acb8}
:root[data-brand="nira"] .editorial-footer .footer-tagline{font-family:"GFS Didot","Bodoni Moda","Didot",serif}
:root[data-brand="pixel"] .editorial-footer .footer-tagline{font-family:"Bodoni Moda","Didot","Bodoni MT",serif}
body.gallery-modal-open .editorial-footer{position:fixed;bottom:0;left:0;right:0;z-index:1102;padding:10px 5%;min-height:0;box-shadow:0 -8px 28px rgba(24,14,24,.12)}
body.gallery-modal-open .editorial-footer .footer-topline,body.gallery-modal-open .editorial-footer .footer-center,body.gallery-modal-open .editorial-footer .footer-bottom{display:none}
body.gallery-modal-open .editorial-footer .footer-nav-row{display:flex;justify-content:space-between;gap:14px;padding:0;border:0}
body.gallery-modal-open .editorial-footer .footer-brand-links{display:none}
body.gallery-modal-open .editorial-footer .footer-links{justify-content:flex-start;gap:14px}
body.gallery-modal-open .editorial-footer .footer-backtop{margin-left:auto}
@media(max-width:760px){
 .editorial-footer{padding:20px 5% 14px}
 .editorial-footer .footer-topline{font-size:7px;letter-spacing:.1em;gap:10px}
 .editorial-footer .footer-topline span:last-child{text-align:right}
 .editorial-footer .footer-center{padding:18px 4px 16px}
 .editorial-footer .footer-tagline{font-size:34px}
 .editorial-footer .footer-description{font-size:8px;letter-spacing:.13em}
 .editorial-footer .footer-nav-row{grid-template-columns:1fr 1fr;gap:12px;padding:12px 0}
 .editorial-footer .footer-brand-links{flex-direction:column;align-items:flex-start;gap:12px}
 .editorial-footer .footer-links{grid-column:2;flex-direction:column;align-items:flex-end;gap:12px}
 .editorial-footer .footer-backtop{grid-column:1/-1;text-align:left}
 .editorial-footer .footer-bottom{flex-direction:column;gap:6px}
 body.gallery-modal-open .editorial-footer{padding:10px 4%}
 body.gallery-modal-open .editorial-footer .footer-links{gap:9px}
 body.gallery-modal-open .editorial-footer .footer-links a,body.gallery-modal-open .editorial-footer .footer-backtop{font-size:7px;letter-spacing:.07em}
}
@media(prefers-reduced-motion:reduce){.editorial-footer a{transition:none}}


/* Editorial motion system: gentle movement, deliberate pacing, no gimmicks. */
:root{--motion-ease:cubic-bezier(.22,.72,.22,1)}
.editorial-motion-ready .site-header{animation:motion-header-in .75s var(--motion-ease) both}
.editorial-motion-ready .announcement{animation:motion-fade-in .7s ease both}
.editorial-motion-ready .editorial-cover .cover-overline{animation:motion-rise-in .8s .08s var(--motion-ease) both}
.editorial-motion-ready .editorial-cover .cover-kicker{animation:motion-rise-in .8s .22s var(--motion-ease) both}
.editorial-motion-ready .editorial-cover .cover-description{animation:motion-rise-in .8s .46s var(--motion-ease) both}
.editorial-motion-ready .editorial-cover .cover-enter{animation:motion-rise-in .8s .58s var(--motion-ease) both}
.editorial-motion-ready .editorial-cover .cover-bottom{animation:motion-fade-in 1s .75s ease both}
.motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--motion-ease),transform .95s var(--motion-ease);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-reveal.motion-in{opacity:1;transform:translateY(0);will-change:auto}
.motion-reveal.motion-from-left{transform:translateX(-24px)}
.motion-reveal.motion-from-left.motion-in{transform:translateX(0)}
.motion-reveal.motion-from-right{transform:translateX(24px)}
.motion-reveal.motion-from-right.motion-in{transform:translateX(0)}
.editorial-footer.motion-reveal{transform:translateY(22px)}
.editorial-footer.motion-reveal.motion-in{transform:translateY(0)}
.editorial-cover .cover-enter{transition:transform .35s var(--motion-ease),background .35s ease,box-shadow .35s ease}
.editorial-cover .cover-enter:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.18)}
.gallery-card{transition:transform .55s var(--motion-ease)}
.gallery-card:hover{transform:translateY(-5px)}
.gallery-card-image{background:var(--brand-soft)}
.gallery-card-image:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);pointer-events:none;opacity:0;transition:opacity .5s ease}
.gallery-card:hover .gallery-card-image:after{opacity:1}
.gallery-card-image img{will-change:transform}
.story-photo{transition:transform .45s var(--motion-ease),box-shadow .45s ease}
.story-photo:hover{transform:translateY(-3px);box-shadow:0 14px 35px rgba(28,16,28,.12)}
.story-photo img{transition:transform 1s var(--motion-ease)}
.story-photo:hover img{transform:scale(1.025)}
.editorial-footer .footer-mark{transition:letter-spacing .45s var(--motion-ease),opacity .3s ease}
.editorial-footer .footer-mark:hover{letter-spacing:-.015em;opacity:.85}
.editorial-footer.motion-in .footer-tagline{animation:footer-line-arrive .8s .12s var(--motion-ease) both}
@keyframes motion-header-in{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@keyframes motion-fade-in{from{opacity:0}to{opacity:1}}
@keyframes motion-rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes footer-line-arrive{from{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.motion-reveal{transform:translateY(18px);transition-duration:.7s}.gallery-card:hover,.story-photo:hover{transform:none}.story-photo:hover{box-shadow:none}}
@media(prefers-reduced-motion:reduce){
 .editorial-motion-ready .site-header,.editorial-motion-ready .announcement,.editorial-motion-ready .editorial-cover .cover-overline,.editorial-motion-ready .editorial-cover .cover-kicker,.editorial-motion-ready .editorial-cover .cover-description,.editorial-motion-ready .editorial-cover .cover-enter,.editorial-motion-ready .editorial-cover .cover-bottom,.editorial-footer.motion-in .footer-tagline{animation:none!important}
 .motion-reveal,.motion-reveal.motion-in{opacity:1!important;transform:none!important;transition:none!important;will-change:auto}
 .gallery-card,.gallery-card:hover,.story-photo,.story-photo:hover,.story-photo img,.story-photo:hover img{transition:none!important;transform:none!important}
}


/* Header navigation: keep the brand menu accessible on tablets and phones. */
@media (max-width: 900px){.site-header{position:relative}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:22px 6%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:20px;z-index:20}.main-nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;cursor:pointer}.header-cta{margin-left:auto;margin-right:16px}}
@media (min-width: 901px){.main-nav{display:flex;gap:clamp(18px,3vw,34px);margin-left:auto;margin-right:30px}.menu-toggle{display:none}}


/* About and contact panels */
.info-section{padding:clamp(64px,9vw,120px) 8%;scroll-margin-top:24px}
.info-section .info-eyebrow{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.info-section h2{font:clamp(42px,7vw,84px)/.98 var(--serif);font-weight:500;letter-spacing:-.065em;max-width:850px;margin:0 0 28px}
.info-section .info-body{max-width:650px;font-size:13px;line-height:1.95;color:#625e56}
.info-section .info-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}
.info-section .info-links a{font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:10px}
#about-us{background:#e8e1d5}
#contact-us{background:var(--paper)}
@media(max-width:900px){
 .main-nav{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(84vw,370px);height:100dvh;max-height:100dvh;overflow-y:auto;padding:100px 34px 40px!important;gap:0!important;border:0!important;border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(20,18,15,.18);z-index:1200!important;transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.7,.2,1);background:var(--paper)}
 .main-nav.open{display:flex!important;transform:translateX(0)}
 .main-nav a{font:clamp(22px,6vw,30px)/1.2 var(--serif)!important;letter-spacing:-.025em!important;text-transform:none!important;padding:19px 0!important;border-bottom:1px solid var(--line);width:100%}
 .main-nav a:after{display:none}
 .menu-toggle{position:relative;z-index:1201}
 .main-nav.open{box-shadow:-30px 0 80px rgba(20,18,15,.18),0 0 0 100vmax rgba(20,18,15,.22)}
}
@media(prefers-reduced-motion:reduce){.main-nav{transition:none!important}}

.standalone-page .info-body{font-size:13px;line-height:1.95;color:#625e56;max-width:650px;margin:22px 0}
.standalone-page #contactDetails a{border-bottom:1px solid var(--line)}


/* Cinematic full-page transition system */
.page-transition-curtain{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--paper,#f4f0e8);color:var(--ink,#201e1a);transform:scaleY(0);transform-origin:top;pointer-events:none;will-change:transform;transition:transform .96s cubic-bezier(.65,0,.35,1)}
.page-transition-curtain span{font:500 clamp(10px,1.2vw,13px)/1.2 var(--serif,"Bodoni Moda",serif);letter-spacing:.2em;text-align:center;opacity:0;transform:translateY(12px);transition:opacity .22s ease .12s,transform .35s ease .12s}
.page-transition-curtain i{font-style:normal;margin:0 .45em;color:#8b7764}
body.page-leaving .page-transition-curtain{transform:scaleY(1);transform-origin:top}
body.page-leaving .page-transition-curtain span{opacity:1;transform:translateY(0)}
body.page-arriving .page-transition-curtain{transform:scaleY(1);transform-origin:top;transition-duration:.96s}
body.page-arriving .page-transition-curtain span{opacity:1;transform:translateY(0)}
body.page-arrived .page-transition-curtain{transform:scaleY(0);transform-origin:top}
@keyframes editorial-side-reveal{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
body.page-content-reveal main,body.page-content-reveal .site-footer{animation:editorial-side-reveal .88s cubic-bezier(.22,.61,.36,1) .08s both}
@media(prefers-reduced-motion:reduce){.page-transition-curtain{display:none!important}body.page-content-reveal main,body.page-content-reveal .site-footer{animation:none!important}}


/* Hero refinement: stronger magazine hierarchy, controlled image reveal, brand-aware accents. */
.editorial-cover{--hero-accent:#d6b9d0;min-height:calc(100svh - 112px);background:#211a20}
:root[data-brand="nira"] .editorial-cover{--hero-accent:#d6b9d0}
:root[data-brand="pixel"] .editorial-cover{--hero-accent:#d6c0a2}
.editorial-cover::before{background-image:linear-gradient(90deg,rgba(22,15,22,.94) 0%,rgba(22,15,22,.78) 34%,rgba(22,15,22,.32) 66%,rgba(22,15,22,.06) 100%),var(--cover-image,linear-gradient(135deg,#55434f,#211a20));background-position:center 38%;transform:scale(1.035);transition:transform 1.2s cubic-bezier(.2,.65,.25,1),filter 1.2s ease}
.editorial-cover:hover::before{transform:scale(1.055);filter:saturate(.92)}
.editorial-cover::after{inset:14px;border-color:rgba(245,240,232,.34)}
.cover-frame{padding:clamp(24px,3.4vw,48px) clamp(16px,3.5vw,50px)}
.cover-overline,.cover-bottom{font-size:9px;letter-spacing:.2em}
.cover-main{max-width:min(790px,72%);padding:clamp(48px,8vh,105px) 0}
.cover-kicker{color:var(--hero-accent);margin-bottom:24px}
.cover-main h1{font-size:clamp(64px,9.1vw,136px);line-height:.86;max-width:760px;text-wrap:balance}
.cover-description{max-width:350px;margin-top:30px;margin-bottom:32px;font-size:13px;line-height:1.9}
.cover-enter{gap:28px;border-bottom-color:var(--hero-accent);padding:16px 0;color:#f5f0e8}
.cover-enter:hover{gap:42px;border-color:var(--hero-accent)}
.cover-enter span:last-child{color:var(--hero-accent)}
.cover-index{color:rgba(245,240,232,.72);right:clamp(24px,4vw,58px)}
@media(max-width:700px){
 .editorial-cover{min-height:calc(100svh - 96px)}
 .editorial-cover::before{background-image:linear-gradient(90deg,rgba(22,15,22,.78),rgba(22,15,22,.42)),linear-gradient(0deg,rgba(22,15,22,.72),transparent 72%),var(--cover-image,linear-gradient(135deg,#55434f,#211a20));background-position:center 38%}
 .cover-frame{min-height:calc(100svh - 120px);padding:22px 12px}
 .cover-overline,.cover-bottom{font-size:7px;letter-spacing:.1em}
 .cover-main{max-width:100%;padding:clamp(36px,8vh,70px) 0}
 .cover-main h1{font-size:clamp(54px,14vw,86px);max-width:100%;line-height:.9}
 .cover-description{max-width:280px;font-size:12px;margin-top:22px;margin-bottom:25px}
 .cover-index{right:12px;top:45%;font-size:7px}
}
@media(prefers-reduced-motion:reduce){.editorial-cover::before,.editorial-cover:hover::before{transition:none!important;transform:none!important;filter:none!important}}


/* Gallery motion pass — slower image reveals, intentional stagger, restrained interaction. */
.published-editorial-canvas{
  transform:translateY(22px);
  opacity:.88;
  transition:opacity .9s cubic-bezier(.22,.72,.22,1),transform 1s cubic-bezier(.22,.72,.22,1);
  transition-delay:calc(var(--gallery-order,0)*80ms);
}
.published-editorial-canvas.gallery-visible{opacity:1;transform:translateY(0)}
.published-canvas-image.gallery-image-enter img{
  clip-path:inset(0 0 100% 0);
  transform:scale(1.065);
  filter:saturate(.82);
}
.published-canvas-image.gallery-image-enter.gallery-visible img{
  clip-path:inset(0);
  transform:scale(1);
  filter:saturate(1);
  transition:clip-path 1.15s cubic-bezier(.7,0,.2,1),transform 1.65s cubic-bezier(.22,.72,.22,1),filter 1.1s ease;
  transition-delay:calc(var(--gallery-order,0)*130ms);
}
.published-canvas-image{overflow:hidden;transition:filter .45s ease,box-shadow .45s ease}
.published-canvas-image img{backface-visibility:hidden}
.published-canvas-image:hover img{transform:scale(1.045);filter:saturate(1.04)}
.published-canvas-image.gallery-image-pressed img{transform:scale(1.015)}
.story-overlay:not([hidden]){animation:gallery-overlay-in .5s cubic-bezier(.22,.72,.22,1) both}
.story-overlay:not([hidden]) .story-dialog{animation:gallery-story-in .75s .08s cubic-bezier(.22,.72,.22,1) both}
.story-overlay:not([hidden]) .story-copy>*{animation:gallery-copy-in .65s cubic-bezier(.22,.72,.22,1) both}
.story-overlay:not([hidden]) .story-copy>*:nth-child(2){animation-delay:.09s}
.story-overlay:not([hidden]) .story-copy>*:nth-child(3){animation-delay:.17s}
.story-overlay:not([hidden]) .story-copy>*:nth-child(4){animation-delay:.24s}
.story-overlay:not([hidden]) .story-photo{opacity:0;transform:translateY(16px);animation:gallery-photo-in .7s cubic-bezier(.22,.72,.22,1) both;animation-delay:calc(.12s + var(--gallery-order,0)*75ms)}
.story-overlay:not([hidden]) .story-photo:nth-child(1){--gallery-order:0}
.story-overlay:not([hidden]) .story-photo:nth-child(2){--gallery-order:1}
.story-overlay:not([hidden]) .story-photo:nth-child(3){--gallery-order:2}
.story-overlay:not([hidden]) .story-photo:nth-child(4){--gallery-order:3}
.story-overlay:not([hidden]) .story-photo:nth-child(5){--gallery-order:4}
.story-overlay:not([hidden]) .story-photo:nth-child(6){--gallery-order:5}
.story-overlay:not([hidden]) .story-photo:nth-child(n+7){--gallery-order:6}
.story-photo img{transform:scale(1.025);transition:transform 1.1s cubic-bezier(.22,.72,.22,1)}
.story-photo:hover img{transform:scale(1.065)}
.photo-lightbox:not([hidden]){animation:gallery-overlay-in .3s ease both}
.photo-lightbox:not([hidden]) .lightbox-image{animation:gallery-lightbox-in .45s cubic-bezier(.22,.72,.22,1) both}
.photo-lightbox .lightbox-prev,.photo-lightbox .lightbox-next{transition:opacity .25s ease,transform .3s ease}
.photo-lightbox .lightbox-prev:hover{transform:translateX(-3px)}
.photo-lightbox .lightbox-next:hover{transform:translateX(3px)}
@keyframes gallery-overlay-in{from{opacity:0}to{opacity:1}}
@keyframes gallery-story-in{from{opacity:0;transform:translateY(18px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes gallery-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes gallery-photo-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes gallery-lightbox-in{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
@media(max-width:720px){
  .published-editorial-canvas{transform:translateY(14px);transition-duration:.75s}
  .published-canvas-image.gallery-image-enter.gallery-visible img{transition-duration:.85s,1.1s,.8s}
  .story-overlay:not([hidden]) .story-photo{animation-duration:.55s}
}
@media(prefers-reduced-motion:reduce){
  .published-editorial-canvas,.published-editorial-canvas.gallery-visible,.published-canvas-image img,.published-canvas-image:hover img,
  .story-overlay:not([hidden]),.story-overlay:not([hidden]) .story-dialog,.story-overlay:not([hidden]) .story-copy>*,
  .story-overlay:not([hidden]) .story-photo,.story-photo img,.photo-lightbox:not([hidden]),.photo-lightbox:not([hidden]) .lightbox-image{
    animation:none!important;transition:none!important;transform:none!important;opacity:1!important;clip-path:none!important;filter:none!important
  }
}


/* Dedicated close control on the full-screen gallery image viewer. */
.photo-lightbox .lightbox-dismiss{
  position:fixed;top:18px;right:22px;z-index:1120;
  display:grid;place-items:center;width:44px;height:44px;padding:0;
  border:1px solid rgba(255,255,255,.6);border-radius:50%;
  background:rgba(17,14,17,.45);color:#fff;
  font:300 30px/1 var(--sans);cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.photo-lightbox .lightbox-dismiss:hover{background:#fff;color:#211a20;border-color:#fff;transform:rotate(90deg)}
.photo-lightbox .lightbox-dismiss:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:520px){.photo-lightbox .lightbox-dismiss{top:12px;right:12px;width:42px;height:42px;font-size:28px}}
@media(prefers-reduced-motion:reduce){.photo-lightbox .lightbox-dismiss{transition:none!important}}


/* Hide site chrome while the floating gallery is open so its navigation stays unobstructed. */
body.gallery-modal-open .announcement,
body.gallery-modal-open .site-header{display:none!important}
.story-overlay:not([hidden]){inset:24px 3.2% 86px}
@media(max-width:700px){.story-overlay:not([hidden]){inset:10px 10px 76px}.story-overlay:not([hidden]) .story-close{top:8px;margin:8px 8px -58px 0}}


/* Tighten the floating gallery: use the viewport instead of leaving large chrome gutters. */
body.gallery-modal-open .site-footer{display:none!important}
.story-overlay:not([hidden]){inset:12px 12px 12px!important;border-radius:4px}
.story-overlay:not([hidden]) .story-dialog{padding:30px clamp(20px,4vw,56px) 36px}
.story-overlay:not([hidden]) .story-copy{padding-bottom:24px}
.story-overlay:not([hidden]) .story-position{margin-top:14px}
.story-overlay:not([hidden]) .story-photos{column-gap:clamp(12px,2vw,26px)}
.story-overlay:not([hidden]) .story-photo{margin-bottom:clamp(12px,2vw,26px)}
.story-overlay:not([hidden]) .story-close{top:8px;margin:8px 8px -54px 0}
@media(max-width:700px){
 .story-overlay:not([hidden]){inset:7px!important}
 .story-overlay:not([hidden]) .story-dialog{padding:62px 16px 24px}
 .story-overlay:not([hidden]) .story-copy{padding-bottom:20px}
 .story-overlay:not([hidden]) .story-title{font-size:clamp(38px,10vw,58px);margin-bottom:12px}
 .story-overlay:not([hidden]) .story-description{font-size:12px;line-height:1.7}
 .story-overlay:not([hidden]) .story-photos{columns:2;column-gap:10px}
 .story-overlay:not([hidden]) .story-photo{margin-bottom:10px}
 .story-overlay:not([hidden]) .story-close{top:6px;left:auto;right:6px;margin:6px 6px -54px 0}
}


/* Mobile viewport fix: keep the opened story inside the visible screen and prevent page canvas showing through. */
body.gallery-modal-open{position:fixed!important;inset:0!important;width:100%!important;overflow:hidden!important;overscroll-behavior:none}
.story-overlay:not([hidden]){position:fixed!important;inset:0!important;width:100vw;height:100vh;height:100dvh;max-height:100dvh;margin:0!important;border:0;border-radius:0;z-index:1105;background:var(--paper);overflow-x:hidden;overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.story-overlay:not([hidden]) .story-close{position:sticky;top:8px;z-index:1115}
.photo-lightbox:not([hidden]){position:fixed!important;inset:0!important;width:100vw;height:100vh;height:100dvh;z-index:1125;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.photo-lightbox .lightbox-image{max-width:calc(100vw - 84px);max-height:calc(100vh - 112px);max-height:calc(100dvh - 112px);object-fit:contain}
@media(max-width:700px){
 .story-overlay:not([hidden]) .story-dialog{padding:64px 14px 24px}
 .story-overlay:not([hidden]) .story-close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:12px;right:auto;float:none;margin:0}
 .photo-lightbox .lightbox-image{max-width:calc(100vw - 32px);max-height:calc(100dvh - 124px)}
 .photo-lightbox .lightbox-close{top:calc(env(safe-area-inset-top,0px) + 10px);left:12px}
 .photo-lightbox .lightbox-dismiss{top:calc(env(safe-area-inset-top,0px) + 10px);right:12px}
}

/* Hero editor controls: brand-specific brightness and fallback colour. */
.editorial-cover::before{filter:brightness(var(--hero-brightness,1));}
