/* Final navigation layer: loaded after the consolidated stylesheet so the responsive menu wins the cascade. */
.nav-group__menu{right:0;left:auto;top:calc(100% + 14px);width:min(650px,calc(100vw - 48px));max-height:calc(100svh - 108px);overflow:auto;padding:18px;grid-template-columns:174px minmax(0,1fr);gap:16px;border-radius:24px;background:linear-gradient(145deg,#20221ff7,#131718f8 58%,#101213f7);border-color:#e0b86780;box-shadow:0 30px 90px #000c,0 0 0 1px #ffffff08 inset;backdrop-filter:blur(24px)}
.nav-panel__intro{gap:11px;padding:8px 16px 8px 4px;border-right:1px solid #d7b36b32;justify-content:center}.nav-panel__intro .nav-group__eyebrow{font-size:10px;line-height:1.45;letter-spacing:.16em;color:#efc86e;font-weight:700}.nav-panel__intro strong{font:600 22px/1.06 Inter,Arial,sans-serif;letter-spacing:-.045em;color:#fff4de}.nav-panel__intro>span:last-child{font-size:12px;line-height:1.55;color:#bfc0b9}
.nav-group__links{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nav-group__links a{min-height:68px;padding:12px 11px;border:1px solid #ffffff0b;border-radius:14px;background:linear-gradient(145deg,#1a1d1c,#121516);font-size:13px;line-height:1.25;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}.nav-group__links a:hover,.nav-group__links a:focus-visible{transform:translateY(-2px);border-color:#e7bf6d75;background:linear-gradient(145deg,#29251b,#171b1a);box-shadow:0 10px 22px #0005}.nav-item__icon{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px;color:#f0c96f}.nav-item__icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-item__arrow{font-size:13px;color:#edc56d;opacity:.85}
@media(min-width:1251px){.nav-group__menu{left:calc(100% + 19px);right:auto;width:min(560px,calc(100vw - 24px - 100% - 19px));grid-template-columns:150px minmax(0,1fr)}.nav-panel__intro{padding-right:14px}.nav-panel__intro strong{font-size:20px}}
@media(min-width:1251px) and (max-width:1400px){.nav-group__menu{position:fixed;top:78px;right:16px;left:auto;width:min(400px,calc(100vw - 32px));grid-template-columns:1fr;padding:16px}.nav-panel__intro{border-right:0;border-bottom:1px solid #d7b36b32;padding:0 0 12px}.nav-group__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1250px) and (min-width:761px){.nav-group__menu{width:min(620px,calc(100vw - 48px));grid-template-columns:156px minmax(0,1fr)}.nav-group__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.primary-nav.is-open{align-items:stretch;gap:6px}.nav-group{width:100%}.nav-group__menu,.nav-group.is-open .nav-group__menu{position:static;width:100%;max-height:none;margin:4px 0 2px;padding:14px;display:grid;grid-template-columns:1fr;gap:12px;overflow:visible;opacity:1;visibility:visible;transform:none;pointer-events:auto;border-radius:18px;background:linear-gradient(145deg,#1b1e1d,#101314);box-shadow:0 16px 42px #0008}.nav-group:not(.is-open) .nav-group__menu{display:none}.nav-panel__intro{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 12px;padding:0 0 11px;border-right:0;border-bottom:1px solid #d7b36b2e;justify-content:initial}.nav-panel__intro .nav-group__eyebrow{grid-column:1/-1}.nav-panel__intro strong{font-size:19px;grid-column:1}.nav-panel__intro>span:last-child{grid-column:2;grid-row:2;align-self:end;text-align:right;max-width:130px}.nav-group__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.nav-group__links a{min-height:58px;padding:10px 9px;font-size:12px;border-radius:12px}.nav-item__icon,.nav-item__icon svg{width:16px;height:16px;flex-basis:16px}}
@media(max-width:390px){.nav-group__menu,.nav-group.is-open .nav-group__menu{padding:12px}.nav-group__links{grid-template-columns:1fr}.nav-group__links a{min-height:48px;font-size:13px}.nav-panel__intro{grid-template-columns:1fr}.nav-panel__intro>span:last-child{grid-column:1;grid-row:auto;text-align:left;max-width:none}}

/* The photo and copy form one card throughout the site. */
.gallery-grid{align-items:stretch;gap:clamp(16px,2vw,26px)}
.gallery-item{display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:8px;border:1px solid #cba66564;border-radius:26px;background:linear-gradient(150deg,#1c1e1b,#111515 65%,#181613)!important;box-shadow:0 16px 42px #0005;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.gallery-item:hover,.gallery-item:focus-within{transform:translateY(-4px);border-color:#e7c47dba;box-shadow:0 22px 50px #0008}
.gallery-item__visual{display:block;position:relative;flex:none;width:100%;aspect-ratio:4/5;overflow:hidden;border-radius:19px;background:#0d1010}
.gallery-item__visual:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,#090b0cc9,transparent);pointer-events:none}
.gallery-item__visual img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 30%;border-radius:0;transition:transform .5s ease,filter .5s ease}
.gallery-item__visual:hover img,.gallery-item__visual:focus-visible img{transform:scale(1.025);filter:saturate(1.08)}
.gallery-item__open{z-index:1;left:16px;bottom:16px;display:inline-flex;align-items:center;min-height:36px;padding:8px 13px;border:1px solid #f3d69591;border-radius:999px;background:#141514c7;color:#fff4d9;font-size:12px;font-weight:650;letter-spacing:.02em;backdrop-filter:blur(10px);box-shadow:0 6px 20px #0005}
.gallery-item__caption{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:0;min-width:0;padding:21px 16px 17px!important;border:0;background:none!important}
.gallery-item__caption .eyebrow{margin:0 0 11px;color:#e9c676;font-size:10px;line-height:1.35;letter-spacing:.15em}
.gallery-item__caption h3{margin:0 0 9px;font:700 clamp(21px,2vw,25px)/1.16 Inter,Arial,sans-serif;letter-spacing:-.035em;color:#fff3e0;overflow-wrap:anywhere}
.gallery-item__caption p{margin:0;color:#cfc8bb;font-size:14px;line-height:1.58;overflow-wrap:anywhere}
.gallery-grid--trio .gallery-item__visual{aspect-ratio:4/4.5}
@media(max-width:900px){.gallery-grid{gap:18px}.gallery-item__caption{padding:19px 15px 16px!important}}
@media(max-width:600px){.gallery-grid{gap:20px}.gallery-item{padding:7px;border-radius:22px}.gallery-item__visual{aspect-ratio:4/4.4;border-radius:16px}.gallery-grid--trio .gallery-item__visual{aspect-ratio:4/4.4}.gallery-item__caption{padding:18px 14px 16px!important}.gallery-item__caption h3{font-size:23px}.gallery-item__open{left:13px;bottom:13px}}
@media(max-width:760px){.primary-nav.is-open{z-index:99;top:calc(100% + 6px);left:16px;right:16px;max-height:calc(100svh - 96px);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid #d4ac6570;border-radius:20px;background:linear-gradient(145deg,#1b1e1dfb,#0e1112fd);box-shadow:0 22px 60px #000d;backdrop-filter:blur(20px)}.primary-nav.is-open>a,.primary-nav.is-open .nav-group__toggle{min-height:48px}.primary-nav.is-open .nav-group__menu{box-shadow:none}}
@media(max-width:360px){.site-header__inner{gap:8px}.brand{min-width:0;gap:8px}.brand__seal{width:34px;height:34px;flex:none}.brand__name{min-width:0}.brand__name strong{font-size:16px;white-space:nowrap}.brand__name small{font-size:9px;letter-spacing:.07em;white-space:nowrap}.menu-toggle{width:40px;height:40px;flex:none}}
@media(prefers-reduced-motion:reduce){.gallery-item,.gallery-item__visual img{transition:none}.gallery-item:hover,.gallery-item:focus-within,.gallery-item__visual:hover img,.gallery-item__visual:focus-visible img{transform:none}}
/* The editorial introduction stays compact until a video is published. */
.stage-section--text{padding-block:clamp(64px,7vw,104px)}
.stage-section--text .stage-layout{min-height:0}
.stage-section--text .stage-copy{max-width:820px}
/* Keep the title, actions and figures entirely in the editorial half of the hero. */
@media(min-width:1001px){.home-showcase__copy{width:min(500px,43%);max-width:500px}.home-showcase h1{max-width:100%;font-size:clamp(50px,4.25vw,68px);line-height:1.02;letter-spacing:-.048em;overflow-wrap:normal}.home-showcase__description{max-width:500px;margin-top:24px}.home-showcase__stats{width:min(500px,43%)}.home-showcase__portrait{width:56%;object-position:64% 38%;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%)}}
@media(min-width:1001px) and (max-width:1250px){.home-showcase__copy,.home-showcase__stats{width:min(475px,43%)}.home-showcase h1{font-size:clamp(48px,4.35vw,57px)}}
@media(min-width:1001px){.home-showcase__copy{top:-48px}.home-showcase h1{font-size:clamp(49px,3.9vw,64px)}.home-showcase__description{line-height:1.55;margin-top:20px}.home-showcase__actions{margin-top:25px}}
/* Two roomy columns leave space for the icon, label and arrow on every format. */
@media(min-width:1401px){.nav-group__menu{width:min(580px,calc(100vw - 32px));grid-template-columns:150px minmax(0,1fr);overflow-x:hidden}.nav-group__links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1400px){.nav-group__menu{overflow-x:hidden}}
.nav-group__links{min-width:0}.nav-group__links a{min-width:0;min-height:74px;gap:10px;overflow:hidden}.nav-group__links a>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.nav-item__icon{width:34px;height:34px;flex:0 0 34px;border:1px solid #d8b36c55;border-radius:11px;background:linear-gradient(145deg,#3b2e19,#211e19);color:#f3cf7b}.nav-item__icon svg{width:20px;height:20px}.nav-item__arrow{flex:none}
@media(max-width:760px){.nav-group__links a{min-height:58px}.nav-item__icon{width:30px;height:30px;flex-basis:30px;border-radius:9px}.nav-item__icon svg{width:18px;height:18px}}
/* Native select retains keyboard and screen reader behavior; the popup follows the dark theme. */
.form-field select{color-scheme:dark;background-color:#111514;color:#fff2d9;border-color:#b9965870;accent-color:#e6bf70;cursor:pointer}
.form-field select option{background:#141715;color:#fff1d6;padding:8px}
.form-field select option:checked{background:#6d542a;color:#fff}
.form-field select:focus-visible{outline:2px solid #f2d385;outline-offset:2px}
.text-link{min-height:44px;display:inline-flex;align-items:center;gap:10px;padding-block:8px}
.reviews-carousel__controls button{min-width:44px;min-height:44px}
.format-card,.footer-project{transition:transform .22s ease}
/* Variable length content must have its real height; estimated offscreen heights overlapped on phones. */
.site-content[data-page="home"]>.about-feature,.site-content[data-page="home"]>.music-preview,.site-content[data-page="home"]>.moments-section,.site-content[data-page="home"]>.voices-section{content-visibility:visible;contain-intrinsic-size:none}
/* Offscreen sections keep realistic reserved space until the browser paints them. */
@media(max-width:360px){.site-content[data-page="home"]>.process-section{contain-intrinsic-size:auto 1280px}.site-content[data-page="home"]>.journal-preview{contain-intrinsic-size:auto 1880px}.site-content[data-page="home"]>.inquiry-section{contain-intrinsic-size:auto 1950px}.site-content[data-page="home"]>.search-copy{contain-intrinsic-size:auto 1790px}}
@media(min-width:361px) and (max-width:480px){.site-content[data-page="home"]>.process-section{contain-intrinsic-size:auto 1100px}.site-content[data-page="home"]>.journal-preview{contain-intrinsic-size:auto 1900px}.site-content[data-page="home"]>.inquiry-section{contain-intrinsic-size:auto 1800px}.site-content[data-page="home"]>.search-copy{contain-intrinsic-size:auto 1300px}}
@media(min-width:481px) and (max-width:600px){.site-content[data-page="home"]>.process-section{contain-intrinsic-size:auto 1100px}.site-content[data-page="home"]>.journal-preview{contain-intrinsic-size:auto 2100px}.site-content[data-page="home"]>.inquiry-section{contain-intrinsic-size:auto 1650px}.site-content[data-page="home"]>.search-copy{contain-intrinsic-size:auto 1100px}}
@media(min-width:561px) and (max-width:600px){.site-content[data-page="home"]>.search-copy{contain-intrinsic-size:auto 900px}}
@media(min-width:601px) and (max-width:900px){.site-content[data-page="home"]>.journal-preview{contain-intrinsic-size:auto 1220px}.site-content[data-page="home"]>.inquiry-section{contain-intrinsic-size:auto 1050px}.site-content[data-page="home"]>.search-copy{contain-intrinsic-size:auto 830px}}
@media(min-width:901px){.site-content[data-page="home"]>.inquiry-section{contain-intrinsic-size:auto 1000px}}
/* The contact page shows the requested details without a second CAPTCHA. */
.contact-details--direct{display:block;padding:clamp(22px,2.5vw,32px);border:1px solid #d8b67469;border-radius:24px;background:linear-gradient(145deg,#1e211e,#101414 72%);box-shadow:0 18px 48px #0004}
.contact-details--direct .eyebrow{margin:0 0 8px;color:#ebc979}
.contact-details--direct h2{margin:0;color:#fff2dc;font-size:clamp(27px,2.5vw,35px);line-height:1.1}
.direct-contacts__intro{margin:12px 0 20px;color:#cbc5b9;font-size:14px;line-height:1.55}
.direct-contacts__list{display:grid;gap:8px}
.direct-contact{display:grid;grid-template-columns:42px minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:64px;padding:10px 13px;border:1px solid #d9ba7a3d;border-radius:14px;background:#141816;color:#f7ead0;text-decoration:none;transition:transform .2s ease,background .2s ease}
.direct-contact:hover,.direct-contact:focus-visible{transform:translateX(3px);background:#29251a}
.direct-contact__symbol{display:grid;width:38px;height:38px;place-items:center;border:1px solid #e4bf7270;border-radius:11px;background:#322717;color:#f4d48d;font-size:20px;line-height:1}
.direct-contact>span:nth-child(2){display:grid;min-width:0;gap:2px}
.direct-contact small{color:#bdb6a7;font-size:11px;letter-spacing:.04em}
.direct-contact strong{overflow-wrap:anywhere;font-size:14px;font-weight:650}
.direct-contact>span:last-child{color:#efca7a;font-size:16px}
@media(max-width:600px){.contact-details--direct{padding:20px;border-radius:20px}.direct-contact{grid-template-columns:36px minmax(0,1fr) 12px;gap:10px;padding:9px 10px}.direct-contact__symbol{width:34px;height:34px;font-size:18px}}
@media(max-width:360px){.direct-contact{grid-template-columns:30px minmax(0,1fr) 10px;gap:7px;padding:8px}.direct-contact__symbol{width:30px;height:30px;font-size:16px}.direct-contact strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.direct-contact{transition:none}.direct-contact:hover,.direct-contact:focus-visible{transform:none}}
