/* Emme's editorial story carousel and floating albums. */
@font-face{font-family:EmmeScriptHairline;src:url('assets/brand/emme-script-hairline.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap}
:root{--story-divider-size:clamp(52px,5.8vw,92px)}
.home-stories.hs-section{padding:0;margin-top:calc(-.5 * var(--story-divider-size) - 2px);overflow:hidden;position:relative;z-index:2;background:transparent;color:var(--paper)}
/* Blend across the portrait's clipped edge before it crosses the moving words. */
.home-stories.hs-section::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,var(--ink) calc(var(--story-divider-size) * .5 - 12px))}
.hs-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hs-marquee{overflow:hidden;padding:2px 0;border:0}
.hs-marquee-track{display:flex;width:max-content;animation:hs-marquee 84s linear infinite;will-change:transform}
.hs-marquee-track>span{display:block;flex:none;white-space:nowrap;font:200 var(--story-divider-size)/1.15 EmmeScriptHairline,cursive;font-synthesis:none;letter-spacing:0;color:var(--paper);opacity:.85;-webkit-text-stroke:0;text-shadow:none}
.hs-marquee-track i{font:400 .62em/1 var(--serif);padding:0 .5em;color:var(--accent);-webkit-text-stroke:0}

.motion-paused .hs-marquee-track,body:has(dialog[open]) .hs-marquee-track{animation-play-state:paused}
@keyframes hs-marquee{to{transform:translateX(-50%)}}
.hs-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding:72px 4.5vw 16px}
.story-search{width:310px;max-width:100%;font-family:EmmeMontserrat,Arial,sans-serif}
.story-search>label{display:flex;align-items:center;gap:9px;font-size:7px;line-height:1.6;letter-spacing:1.4px;text-transform:uppercase;cursor:text}
.story-search>label .story-search-mark{width:13px;height:13px;color:var(--accent);stroke-width:1}
.story-search>div{position:relative;display:flex;align-items:center;gap:12px;padding-bottom:3px}
.story-search>div:after{content:'';position:absolute;bottom:0;left:0;width:44px;height:1px;background:var(--accent);transition:width .45s ease,background .45s ease;pointer-events:none}
.story-search input{display:block;width:100%;min-width:0;min-height:44px;padding:6px 0;border:0;background:none;color:inherit;border-radius:0;font:400 28px/1.2 var(--serif);letter-spacing:-.025em;outline-offset:4px;-webkit-appearance:none;appearance:none}
.story-search input::placeholder{color:inherit;opacity:.72}.story-search button{flex:none;display:grid;place-items:center;min-width:44px;height:44px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.story-search input:focus{outline:none;box-shadow:none}
.story-search>div:focus-within:after,.story-search>div:has(input:not(:placeholder-shown)):after{width:calc(100% - 56px);background:var(--paper)}
.story-search input::selection{background:var(--paper);color:var(--ink)}
.story-search input{-webkit-tap-highlight-color:transparent}
.story-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:14px;height:14px;margin-inline:8px;background:currentColor;opacity:.7;cursor:pointer;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 5 14 14M19 5 5 19' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 5 14 14M19 5 5 19' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center/contain no-repeat}
.story-search svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1;transition:transform .3s ease}
.story-search button:focus-visible{outline:1px solid currentColor;outline-offset:1px}
/* A photographic folio: title, wide image, inset cover, then the complete story. */
.hs-stage{display:block;min-width:0;padding:0 4.5vw 72px}
.hs-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;margin:0 0 27px}
.hs-title-block{min-width:0}
.hs-name{font:400 clamp(52px,7.2vw,112px)/1.02 var(--serif);letter-spacing:-.045em;margin:0;white-space:nowrap;overflow-wrap:normal}
.hs-meta{font:8px/1.7 EmmeMontserrat,Arial,sans-serif;letter-spacing:1.2px;margin:16px 0 0;text-transform:uppercase}
.hs-meta:empty{display:none}
.hs-photographs{position:relative}
.hs-cover{position:absolute;z-index:2;width:21%;max-width:300px;right:5%;bottom:-76px;aspect-ratio:4/5;margin:0;border:0;padding:6px;background:var(--paper);box-shadow:0 14px 36px #0003;pointer-events:none}
.hs-cover img{display:block;width:100%;height:100%;object-fit:cover}
.hs-narrative{display:grid;grid-template-columns:26px minmax(0,1fr);gap:18px;width:65%;max-width:790px;margin:30px 0 0}
.hs-narrative-mark{padding-top:3px;color:var(--accent)}
.hs-narrative-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:.85}
.hs-excerpt{font:300 13px/1.65 EmmeMontserrat,Arial,sans-serif;margin:0;text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}
.hs-navigation{display:grid;grid-template-columns:44px max-content 44px;gap:16px;align-items:center;justify-content:end;margin:0 0 2px;padding:0}
.hs-navigation button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:0;color:inherit;background:transparent;cursor:pointer}
.hs-navigation button:disabled{opacity:.35;cursor:default}.hs-navigation svg{width:28px;height:28px;stroke:currentColor;stroke-width:.85;fill:none;transition:transform .3s ease}
.hs-navigation output{position:relative;display:block;min-width:88px;padding:7px 0 10px;font:400 26px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.025em;white-space:nowrap;text-align:center}
.hs-navigation output:after{content:'';position:absolute;bottom:0;left:50%;width:24px;height:1px;transform:translateX(-50%);background:var(--accent);opacity:.7}
@media(hover:hover){.hs-navigation button[data-hs-prev]:hover:not(:disabled) svg{transform:translateX(-3px)}.hs-navigation button[data-hs-next]:hover:not(:disabled) svg{transform:translateX(3px)}}
.hs-feature{position:relative;display:block;min-width:0;min-height:0;aspect-ratio:1.95;max-height:730px;overflow:hidden;color:var(--paper);background:#202020}
.hs-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;transition:transform .9s ease}
.hs-feature:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#10100e99);pointer-events:none}
.hs-open-label{position:absolute;bottom:28px;left:32px;z-index:1;display:flex;align-items:center;gap:20px;min-height:48px;padding:0 0 7px;color:#efeee7;font:400 32px/1.15 var(--serif);letter-spacing:-.025em;text-shadow:0 1px 12px #0008}
.hs-open-label:after{content:'';position:absolute;left:0;bottom:0;width:38px;height:1px;background:currentColor;opacity:.65;transition:width .4s ease}
.hs-open-label svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:.9;transition:transform .4s ease}
.hs-feature:focus-visible,.hs-section button:focus-visible,.story-album button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.hs-feature:focus-visible{outline-offset:-7px;outline-color:var(--paper)}
@media(hover:hover){.hs-feature:hover>img{transform:scale(1.025)}.hs-feature:hover .hs-open-label:after{width:100%}.hs-feature:hover .hs-open-label svg{transform:translate(2px,-2px)}.story-search button:hover svg{transform:translateX(3px)}}
.hs-feature:focus-visible .hs-open-label:after{width:100%}
/* Reveal each photograph only when it is decoded and reaches the viewport. */
.hs-photo-reveal{opacity:0;transform:translateY(18px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.22,.61,.36,1)}
.hs-cover.hs-photo-reveal{transform:translateY(24px);transition-delay:.12s}
.hs-photo-reveal.is-revealed{opacity:1;transform:none}
.hs-stage.is-photo-changing .hs-photo-reveal{opacity:0;transform:translateY(6px);transition-duration:.22s;transition-delay:0s}
.hs-stage.is-changing .hs-heading,.hs-stage.is-changing .hs-narrative{animation:hs-exposure .65s ease both}
@keyframes hs-exposure{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.motion-paused .hs-photo-reveal,.motion-paused .hs-stage.is-photo-changing .hs-photo-reveal{opacity:1;transform:none;transition:none}
.motion-paused .hs-stage.is-changing .hs-heading,.motion-paused .hs-stage.is-changing .hs-narrative{animation:none}
.hs-search-status{font:300 9px/1.6 EmmeMontserrat,Arial,sans-serif;margin:8px 0 0;letter-spacing:0;text-align:left}
.hs-search-status:empty{display:none}
.hs-no-results{min-height:420px;display:grid;align-content:center;justify-items:center;padding:60px 6vw;text-align:center}
.hs-no-results p{font:400 clamp(44px,6vw,90px)/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 30px}
.hs-no-results button{display:flex;gap:20px;align-items:center;font:11px/1.6 EmmeMontserrat,Arial,sans-serif;min-height:44px;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;cursor:pointer}
.hs-no-results svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.2}
.stories-index-tools{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:25px;margin:0 0 44px;padding-bottom:25px;border-bottom:1px solid #d7d5ce44}
.stories-index-tools>p{font:10px/1.8 EmmeMontserrat,Arial,sans-serif;max-width:360px;overflow-wrap:anywhere}
.story-card-open{display:flex;align-items:center;gap:10px;font:9px/1.5 EmmeMontserrat,Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;margin-top:16px}
.story-card-open svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.1}
.story-album{position:fixed;inset:24px;margin:auto;width:calc(100% - 48px);height:calc(100dvh - 48px);max-width:1700px;max-height:none;padding:0;border:0;background:var(--paper);color:var(--ink);font-family:EmmeMontserrat,Arial,sans-serif;overscroll-behavior:contain}
.story-album::backdrop{background:#171717b8;backdrop-filter:blur(9px)}
.story-album *{box-sizing:border-box}.story-album [hidden]{display:none!important}
.sa-shell{height:100%;display:flex;flex-direction:column;overflow:hidden}
.sa-header{flex:none;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:12px 35px;border-bottom:1px solid #2d2d2e30}
.sa-header>div{min-width:0}.sa-eyebrow{font:8px/1.6 EmmeMontserrat,Arial,sans-serif;letter-spacing:1.5px}
.sa-header h2{font:400 clamp(26px,2.3vw,36px)/1.05 var(--serif);letter-spacing:-.04em;margin:4px 0 0;overflow-wrap:anywhere;max-width:1100px}
.sa-close{flex:none;display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.sa-close svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.2;fill:none}
.sa-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:30px 35px 55px}
.sa-loading,.sa-error{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;font:12px/1.9 EmmeMontserrat,Arial,sans-serif}
.sa-error button{padding:12px 20px;border:1px solid currentColor;background:none;color:inherit;font:11px/1.6 EmmeMontserrat,Arial,sans-serif;cursor:pointer}
.sa-album-facts{display:flex;gap:12px 28px;flex-wrap:wrap;font:9px/1.8 EmmeMontserrat,Arial,sans-serif;letter-spacing:.8px;margin-bottom:22px;text-transform:uppercase}
.sa-album-copy{max-width:720px;margin:0 auto 40px;font:300 14px/1.9 EmmeMontserrat,Arial,sans-serif;overflow-wrap:anywhere}
.sa-album-copy p{margin:0 0 18px}.sa-gallery{--album-columns:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;align-items:start;gap:4px}
.sa-gallery.is-packed{display:block;position:relative}.sa-gallery.is-packed>.sa-photo{position:absolute}
.sa-photo{display:block!important;min-width:0;overflow:hidden;width:100%;padding:0!important;margin:0!important;border:0!important;background:transparent!important;cursor:zoom-in!important}
.sa-photo img{display:block;width:100%;height:auto;max-width:100%;transition:opacity .25s}
.sa-photo:hover img{opacity:.88}.sa-album-ending{text-align:center;font:9px/1.8 EmmeMontserrat,Arial,sans-serif;letter-spacing:1px;padding-top:30px}
.story-album.is-viewing{inset:0;margin:0;width:100%;height:100dvh;max-width:none;background:transparent;color:var(--paper);overflow:hidden}
.story-album.is-viewing::backdrop,.chapter-lightbox.photo-viewer::backdrop{background:#0b0b0bed;backdrop-filter:blur(6px)}
.story-album.is-viewing .sa-header{display:none}.sa-viewer.photo-viewer{position:relative;flex:1;min-height:0;width:100%;height:100%;overflow:hidden;color:var(--paper)}
.chapter-lightbox.photo-viewer{inset:0;margin:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;background:transparent;color:var(--paper);overflow:hidden}
.chapter-lightbox.photo-viewer[open]{display:block}
.photo-viewer .photo-viewer-stage{position:absolute;inset:0;margin:0;padding:0;overflow:hidden;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.photo-viewer.is-zoomed .photo-viewer-stage{cursor:grab}.photo-viewer.is-zoomed .photo-viewer-stage:active{cursor:grabbing}
.photo-viewer .photo-viewer-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;background-position:center;background-size:contain;background-repeat:no-repeat;transform-origin:center;will-change:transform;pointer-events:none;user-select:none;-webkit-user-select:none}
.photo-viewer .photo-viewer-stage>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:85%;padding:10px 16px;background:#151515b8;color:#fff;font:11px/1.8 EmmeMontserrat,Arial,sans-serif;text-align:center;pointer-events:none}
.photo-viewer .photo-viewer-stage>span:empty{display:none}
.photo-viewer button{display:grid;place-items:center;width:48px;height:48px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer;z-index:2}
.photo-viewer button:hover{background:transparent}.photo-viewer button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.photo-viewer button svg{display:block;width:25px;height:25px;stroke:currentColor;stroke-width:.85;fill:none;filter:drop-shadow(0 1px 3px #000b)}
.photo-viewer .photo-viewer-zoom{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}
.photo-viewer .photo-viewer-close{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}
.photo-viewer.is-zoomed .zoom-plus{display:none}
.photo-viewer .photo-viewer-controls{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,env(safe-area-inset-left));pointer-events:none}
.photo-viewer .photo-viewer-controls button{pointer-events:auto;border:0;border-radius:0;background:transparent}
.photo-viewer .photo-viewer-controls button:hover{background:transparent}
.photo-viewer .photo-viewer-controls svg{width:28px;height:28px;stroke-width:.85;filter:drop-shadow(0 1px 3px #000b);transition:transform .3s ease}
.photo-viewer .photo-viewer-counter{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);min-width:96px;padding:7px 0 10px;border-radius:0;background:transparent;color:#efeee7;font:400 26px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.025em;white-space:nowrap;text-align:center;text-shadow:0 1px 10px #000b,0 1px 2px #000b;pointer-events:none}
.photo-viewer .photo-viewer-counter:after{content:'';position:absolute;bottom:0;left:50%;width:24px;height:1px;transform:translateX(-50%);background:currentColor;opacity:.55}
@media(hover:hover){.photo-viewer-controls button:first-child:hover svg{transform:translateX(-3px)}.photo-viewer-controls button:last-child:hover svg{transform:translateX(3px)}}
@media(max-width:700px){.photo-viewer button{width:44px;height:44px}.photo-viewer button svg{width:23px;height:23px}.photo-viewer .photo-viewer-controls{padding-inline:9px}.photo-viewer .photo-viewer-zoom{left:max(9px,env(safe-area-inset-left));top:max(9px,env(safe-area-inset-top))}.photo-viewer .photo-viewer-close{right:max(9px,env(safe-area-inset-right));top:max(9px,env(safe-area-inset-top))}}
body:has(.story-album[open]){overflow:hidden}
@media(min-width:701px) and (max-width:1000px){.hs-heading{gap:20px}.hs-name{font-size:7.1vw}.hs-navigation{gap:8px}.hs-navigation output{min-width:72px;font-size:23px}.hs-cover{width:23%;right:4%;bottom:-55px}.hs-narrative{width:65%;gap:13px}.hs-excerpt{font-size:12px}.hs-feature{aspect-ratio:1.6}}
@media(max-width:1000px){.sa-gallery{--album-columns:2;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  :root{--story-divider-size:14vw}
  .hs-toolbar{padding:20px 6vw 29px;display:block}.hs-toolbar>.story-eyebrow{display:block;margin-bottom:22px}.story-search{width:100%}.story-search input{font-size:28px;min-height:46px}
  .hs-stage{padding:0 6vw 46px}.hs-heading{display:block;margin-bottom:20px}.hs-name{font-size:clamp(36px,10.4vw,72px)}.hs-meta{font-size:7px;line-height:1.8;letter-spacing:.7px;margin-top:12px}
  .hs-navigation{justify-content:end;margin:14px -7px -5px 0;padding:0;gap:9px}.hs-navigation output{min-width:78px;font-size:24px}
  .hs-feature{min-height:0;aspect-ratio:4/5;height:auto;max-height:640px;margin:0}.hs-open-label{left:14px;bottom:22px;font-size:clamp(20px,6.4vw,30px);gap:8px}.hs-open-label svg{width:18px;height:18px}
  .hs-cover{width:37%;max-width:210px;right:18px;bottom:-57px;padding:4px}
  .hs-narrative{display:grid;grid-template-columns:18px minmax(0,1fr);gap:13px;width:100%;max-width:none;margin:85px 0 0}.hs-narrative-mark svg{width:18px;height:18px}.hs-excerpt{font-size:12px;line-height:1.65;margin:0}
  .hs-no-results{min-height:320px}.hs-no-results p{font-size:13vw}
  .stories-index-tools{margin-bottom:30px;gap:20px}.stories-index-tools>p{font-size:9px}
  .story-album{inset:8px;width:calc(100% - 16px);height:calc(100dvh - 16px)}.sa-header{padding:10px 18px;gap:15px}.sa-header h2{font-size:26px;line-height:1.05}.sa-eyebrow{font-size:7px}.sa-close{min-width:44px;font-size:0;gap:0}.sa-close svg{width:24px;height:24px}
  .sa-scroll{padding:22px 14px 35px}.sa-gallery{gap:3px}.sa-photo{margin:0!important}.sa-album-facts{font-size:8px;gap:8px 18px}.sa-album-copy{font-size:12px;line-height:1.9;margin-bottom:27px}
}
@media(max-width:360px){.hs-name{font-size:10vw}.hs-excerpt{font-size:11px}.sa-gallery{--album-columns:1;grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.hs-marquee-track{animation:none;transform:none;will-change:auto}.hs-stage.is-changing .hs-heading,.hs-stage.is-changing .hs-narrative{animation:none}.hs-photo-reveal,.hs-stage.is-photo-changing .hs-photo-reveal{opacity:1;transform:none;transition:none}.hs-feature>img,.hs-navigation button,.hs-navigation svg,.sa-photo img,.story-search>div:after,.story-search svg,.hs-open-label:after,.hs-open-label svg,.photo-viewer-controls svg{transition:none}}
@media print{.home-stories.hs-section{margin-top:0}.hs-marquee-track{animation:none;transform:none}.hs-photo-reveal{opacity:1;transform:none;transition:none}.story-album,.hs-navigation,.story-search{display:none!important}}
html[data-input-mode="pointer"] :is(button,a,[tabindex]):focus{outline:none}
