:root{--gold:#c6a76b;--paper:#eee9db;--green:#455148}html,body{height:auto;overflow-x:clip;overflow-y:auto;background:var(--green)}body{color:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:7px}.scene{position:relative;height:100svh;min-height:760px;background:#000}.scene:before{z-index:1;background:rgba(0,0,0,.32)}.film{inset:0;filter:none;opacity:0;animation:none;background:#000;transition:opacity .45s ease}.film video{display:block;width:100%;height:100%;object-fit:cover}.entry-wall{position:absolute;inset:0;z-index:5;background:url('assets/entry-wall.png') center/cover;transition:opacity .25s linear}.entry-copy{position:absolute;z-index:7;left:0;right:0;top:calc(50% + 153px);text-align:center;transition:opacity .4s}.entry-copy h1{font:normal 27px Georgia,serif;letter-spacing:.28em;margin:0 0 0 .28em;color:#d6be89}#enter{border:0;border-bottom:1px solid #b29860;padding:10px 6px 9px 11px;background:none;color:#d6be89;letter-spacing:.38em;font:11px Arial;cursor:pointer}.mast{height:94px;background:var(--green);opacity:0;transition:opacity .7s .6s}.mast img{height:59px}.ladder-button{right:4%;top:11px;color:#986a4c}.ladder-svg{height:47px}.search-button{position:absolute;right:calc(4% + 88px);background:none;border:0;color:var(--paper);font-size:10px;letter-spacing:.32em;padding:13px 22px 13px 8px;display:flex;align-items:center;gap:18px;border-right:1px solid #c6a76b66;cursor:pointer}.search-button span{font-size:24px;margin-left:10px}.stage{inset:0;z-index:6;display:block;pointer-events:none}.mark{position:absolute;inset:0;width:auto;height:auto;animation:none;transform:none!important;pointer-events:none}.win{position:absolute;left:calc(50% - 35.2px)!important;top:calc(50% - 113px)!important;right:auto!important;bottom:auto!important;width:70.4px;height:76.3px;pointer-events:auto;animation:none;transition:filter .55s,opacity .55s,transform .65s cubic-bezier(.2,.8,.2,1)}.win:nth-child(2){left:calc(50% - 114.2px)!important;top:calc(50% - 37px)!important}.win:nth-child(3){left:calc(50% + 43.8px)!important;top:calc(50% - 37px)!important}.win:nth-child(4){top:calc(50% + 39px)!important}.win .mask{border-radius:50% 50% 0 0/42% 42% 0 0;filter:none;outline:1px solid transparent;transition:outline-color .6s}.win .photo{filter:none;transform:scale(1.01);transition:opacity .9s,transform 1.2s}.win .gold{transition:opacity .85s}.win:hover .gold{filter:brightness(1.15)}.label{display:none}.portal-copy{position:absolute;z-index:2;top:auto;bottom:30px;left:2%;width:96%;text-align:center;text-shadow:0 2px 16px #000;opacity:0;transform:translateY(8px);transition:opacity .7s .5s,transform .7s .5s}.portal-copy strong{font:normal clamp(16px,1.55vw,23px) Georgia,serif;letter-spacing:.18em;display:block}.portal-copy i{display:block;width:32px;height:1px;background:var(--gold);margin:16px auto}.portal-copy small{display:block;font:12px/1.6 Georgia,serif;color:#d0d2c5}.positioning{position:absolute;z-index:4;bottom:42px;text-align:center;width:100%;margin:0;font:17px Georgia,serif;letter-spacing:.05em;opacity:0;transition:opacity .8s .7s}.entered .entry-copy{opacity:0;pointer-events:none}.entered .entry-wall{pointer-events:none}.wall-fading .entry-wall{opacity:0}.video-visible .film{opacity:1}.static-background .entry-wall{opacity:1}.static-background .film{opacity:0}.entered .mast,.entered .positioning,.entered .portal-copy{opacity:1}.entered .portal-copy{transform:none}.entered .win .gold{opacity:0}.entered .win .photo{opacity:1}.entered .win .mask{outline-color:#cfbb8a66}.entered .win{left:calc(7vw + var(--index)*22vw)!important;top:calc(50% - 190px)!important;width:20vw;height:min(31vw,380px)}.entered .win:hover,.entered .win:focus-visible{transform:translateY(-7px) scale(1.025);z-index:9}.entered .win:hover .mask,.entered .win:focus-visible .mask{outline-color:#e7ce8e}.entered .win:hover .photo{transform:scale(1.045) translate(var(--px,0px),var(--py,0px))}.mark.has-focus .win:not(.is-focused){opacity:.38;filter:saturate(.3) blur(1.5px)}.atmosphere{inset:94px 0 0;z-index:3;background:#0005;transition:opacity .6s;backdrop-filter:none}.scene.hovering .atmosphere{opacity:1;backdrop-filter:none}.scene.video-visible.hovering .film{opacity:.75}.menu-overlay{z-index:10;inset:94px 0 0;background:#15281ef5}.menu-list{right:8%;width:min(480px,80vw)}.menu-list a{font-size:30px;color:var(--paper)}.scene.menu-open .mark{opacity:.1;filter:blur(3px)}.recent-shelf,.focus-halo,.focus-portal,.hover-glass{display:none!important}.site-footer{background:#101e18;padding:65px 7% 25px}.footer-main{display:flex;justify-content:space-between;gap:50px}.footer-logo{width:185px}.footer-intro p{font:17px/1.6 Georgia,serif;color:#c4c8ba}.site-footer a{color:#d1c9b3;text-decoration:none;font-size:12px;line-height:2.5}.footer-links{display:flex;gap:65px}.footer-col{display:flex;flex-direction:column}.footer-col h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.footer-signoff{border-top:1px solid #b8a06a33;margin-top:50px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#9fa99a}.panel{z-index:32;border:1px solid #baab7b66}.panel-backdrop{z-index:31}.panel img{max-height:75vh}.panel-close{min-width:44px;min-height:44px}.panel-action{min-height:44px}#motion{position:absolute;bottom:22px;right:25px;z-index:8;font-size:9px;letter-spacing:.1em;color:#d0ccb9;background:none;border:0;padding:12px;cursor:pointer}body:not(.entered-body) .site-footer{display:none}dialog{background:#182b22;color:var(--paper);border:1px solid #b6a06b88;width:min(600px,90vw);padding:35px}dialog::backdrop{background:#06110ddd;backdrop-filter:blur(6px)}dialog label{display:block;font:28px Georgia;margin:10px 0 25px}dialog input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--gold);padding:15px 0;color:white;font-size:16px}dialog form button{float:right;color:white;background:none;border:0;font-size:25px;cursor:pointer}#searchResults button{display:block;background:none;color:var(--paper);border:0;padding:18px 0;cursor:pointer;font:20px Georgia}
@media(min-width:701px) and (max-height:800px){.scene{min-height:660px}.entered .win{height:310px;top:calc(50% - 180px)!important}.positioning{bottom:27px}}
@media(max-width:700px){.scene{min-height:620px}.entered.scene{height:auto;min-height:100svh;padding:135px 25px 85px}.entered .stage{position:relative;inset:auto}.entered .mark{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:28px 22px}.entered .win{position:relative;left:auto!important;top:auto!important;width:100%;height:52vw;max-height:360px}.portal-copy{top:auto;bottom:22px;left:2%;width:96%}.portal-copy strong{font-size:15px}.portal-copy small{font-size:11px}.portal-copy i{margin:11px auto}.mast{height:78px}.mast img{height:44px;max-width:43%}.ladder-button{right:7px;top:4px;width:49px}.search-button{right:58px;font-size:0}.search-button span{font-size:23px}.positioning{bottom:58px;font-size:14px}.entry-copy h1{font-size:23px}.menu-overlay{top:78px}.footer-main{flex-direction:column}.footer-links{flex-wrap:wrap;gap:35px}.footer-signoff{flex-direction:column;gap:12px}.panel{grid-template-columns:1fr}.panel img{height:190px;min-height:0}.panel-content{padding:25px}.panel-content h2{font-size:36px}.film{position:absolute}.atmosphere{inset:78px 0 0}.entry-wall{background-position:63% center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.entered .win:hover{transform:none}}

/* Mockup 3.2e refinements */
#enter{position:fixed;top:max(calc(50% + 225px),73svh);left:50%;transform:translateX(-50%);min-height:44px}.search-icon{width:27px;height:27px;flex:none}.portal-copy strong{font-size:clamp(14px,1.55vw,26px);letter-spacing:.2em}.entered .win .mask:after{content:"";position:absolute;inset:56% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}.entry-copy{pointer-events:none}.entry-copy #enter{pointer-events:auto}.entered .entry-copy #enter{pointer-events:none}.entered .portal-copy{transition-delay:.5s}@media(max-width:700px){.portal-copy strong{font-size:clamp(11px,2.8vw,18px);letter-spacing:.12em}.search-button{gap:0;padding:9px 13px 9px 5px}.search-icon{width:23px;height:23px}.entry-copy{top:calc(50% + 151px)}.entry-copy h1{font-size:21px}.scene{min-height:620px}#enter{top:max(calc(50% + 210px),76svh)}}
/* 3.2f/g: brand color, balanced header controls, editorial overlays. */
.site-footer{background:var(--green)}.footer-signoff{color:#e1e4dc}.footer-intro p,.site-footer a{color:#eee9db}.portal-copy,.portal-copy strong{color:#fff}.win{color:#fff}
.mast{--divider-right:calc(4% + 65px);--control-distance:45px}.mast:after{content:"";position:absolute;right:var(--divider-right);top:50%;height:28px;width:1px;background:#c6a76b88;transform:translateY(-50%);pointer-events:none}.search-button{right:calc(var(--divider-right) + var(--control-distance) - 13.5px);padding:0;gap:22px;border:0;top:50%;transform:translateY(-50%);min-height:44px;color:#eee9db}.ladder-button{right:calc(var(--divider-right) - var(--control-distance) - 22px);width:44px;height:60px;top:50%;transform:translateY(-50%)}.search-icon{width:27px;height:27px}.ladder-svg{width:25px;height:47px}
body.navigation-open,body.search-open{overflow:hidden}.menu-overlay{position:fixed;inset:0;background:var(--green);transition:opacity .55s;backdrop-filter:none!important}.menu-hero{position:absolute;inset:0;pointer-events:none}.menu-hero img{width:70%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(90deg,#000 0%,#000 42%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 42%,transparent 100%)}.menu-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 8%,#45514822 30%,#455148d9 57%,#455148 76%),linear-gradient(0deg,#000b,transparent 50%)}.menu-list{top:52%;right:0;width:35%;gap:28px;padding:0}.menu-list a{font:normal clamp(22px,2.3vw,38px) Georgia,serif;color:#fff;padding:0 0 8px 3px;border-bottom:1px solid #fff9;min-height:48px;transition:margin-left .45s cubic-bezier(.2,.8,.2,1),padding .45s}.menu-list a:hover,.menu-list a:focus-visible{margin-left:-9vw;padding-left:3px;color:#fff}.scene.menu-open .mast{background:transparent}.scene.menu-open .mast>img{opacity:0}.scene.menu-open .mast:after{opacity:0}.scene.menu-open .ladder-button{color:#eee9db}.scene.menu-open .search-button{visibility:hidden}
#searchDialog{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:transparent;color:white;overflow:auto}#searchDialog::backdrop{background:rgba(0,0,0,.37);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.search-content{position:absolute;top:46%;left:24%;width:52%;padding-bottom:50px}.search-field{position:relative!important;display:flex!important;align-items:center;gap:22px;margin:0!important;font:inherit!important}.search-field>svg{position:absolute;right:calc(100% + 20px);width:40px;height:40px;top:20px}.search-field #searchInput{width:100%;min-width:0;padding:0 0 10px;border:0;border-bottom:1px solid #eee9dbb3;border-radius:0;background:transparent;color:#fff;font:normal clamp(42px,5vw,80px)/1.2 Georgia,serif;letter-spacing:.06em;outline-offset:10px}.search-field #searchInput::placeholder{color:#fff;opacity:1}.search-shortcuts{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:42px}.search-shortcuts button,.search-shortcuts a{border:0;background:none;color:#fff;text-decoration:none;padding:10px 0;font:12px Arial,sans-serif;letter-spacing:.25em;cursor:pointer;min-height:44px}.search-shortcuts button:hover,.search-shortcuts a:hover{color:#e4d1a5}#searchResults{margin-top:22px;line-height:1.7}#searchResults button{color:#fff;letter-spacing:.08em}.search-field input::-webkit-search-cancel-button{cursor:pointer}
@media(max-width:1000px) and (min-width:701px){.mast img{max-width:31%;margin-right:100px}.mast{--control-distance:35px;--divider-right:calc(4% + 55px)}.search-button{gap:14px;font-size:9px}}
@media(max-width:700px){.mast{--divider-right:67px;--control-distance:29px}.mast img{margin-right:50px}.mast:after{height:23px}.search-button{right:calc(var(--divider-right) + var(--control-distance) - 11.5px);font-size:0;gap:0;padding:0;min-width:30px;justify-content:flex-end}.search-icon{width:23px;height:23px}.ladder-button{right:calc(var(--divider-right) - var(--control-distance) - 22px)}.ladder-svg{height:42px}.menu-hero img{width:100%;object-position:40% center;mask-image:linear-gradient(90deg,#000,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 100%)}.menu-hero:after{background:linear-gradient(90deg,#45514833,#455148ed 85%),linear-gradient(0deg,#000b,transparent)}.menu-list{width:64%;top:52%;gap:25px}.menu-list a{font-size:25px}.menu-list a:hover,.menu-list a:focus-visible{margin-left:-9vw}.search-content{top:34%;left:18%;width:74%}.search-field>svg{width:28px;height:28px;right:calc(100% + 10px);top:12px}.search-field #searchInput{font-size:46px}.search-shortcuts{justify-content:flex-start;gap:10px 22px;margin-top:25px}.search-shortcuts button,.search-shortcuts a{font-size:11px;letter-spacing:.17em}}
@media(prefers-reduced-motion:reduce){.menu-list a{transition:none}#searchDialog::backdrop{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}

/* Search uses only its underline as the focus cue. */
.search-field #searchInput,.search-field #searchInput:focus,.search-field #searchInput:focus-visible{outline:none;box-shadow:none;-webkit-appearance:none;appearance:none}.search-field #searchInput:focus{border-bottom-color:#fff}
/* Saints+ pathway between the cinematic homepage and publisher footer. */
.plus-home-band{background:#080d0b;border-top:1px solid #c6a76b22;border-bottom:1px solid #c6a76b22}.plus-home-band>a{display:flex;align-items:center;justify-content:center;gap:45px;padding:24px 6%;min-height:120px;color:#eee9db}.plus-band-logo{position:relative;display:block;width:189px;height:57px;overflow:hidden;flex:none}.plus-band-logo img{position:absolute;width:209.78px;max-width:none;height:auto;left:-9.07px;top:-30.94px}.plus-band-copy{font:16px/1.5 Georgia,serif;color:#c2c8b8}.plus-band-action{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#d1b578}.plus-band-action>span{margin-left:10px}.plus-home-band>a:hover .plus-band-action{color:#f0dbaf}body:not(.entered-body) .plus-home-band{display:none}.menu-list a.get-saints-plus{border-bottom:0;font:14px Arial,sans-serif;letter-spacing:.13em;color:#d9bc7f;margin:9px 0 0;padding:14px 0 10px 3px;min-height:44px}.menu-list a.get-saints-plus:hover,.menu-list a.get-saints-plus:focus-visible{margin-left:0;padding-left:3px;color:#f0dbaf}@media(max-width:700px){.plus-home-band>a{flex-direction:column;gap:13px;padding:30px 6%}.plus-band-copy{font-size:14px;text-align:center}.plus-band-action{font-size:9px}.menu-list a.get-saints-plus{font-size:12px}}

/* Saints+ footer destination */
.footer-main{display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,1fr) auto;gap:clamp(28px,4vw,65px)}
.footer-links{gap:clamp(24px,3vw,55px)}
.footer-plus-feature{border-left:1px solid #c6a76b55;padding-left:30px;display:flex;align-items:flex-start;flex-direction:column}
.site-footer a.footer-plus-logo{position:relative;display:block;width:172px;height:52px;overflow:hidden;line-height:1}
.footer-plus-logo img{position:absolute;width:191.12px;max-width:none;height:auto;left:-8.26px;top:-28.19px}
.footer-plus-feature p{font:14px/1.65 Georgia,serif;color:#eee9db;margin:16px 0 12px}
.site-footer .footer-plus-action{color:#e4c58b;font-weight:600}
.site-footer a:hover{color:#fff}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;gap:65px}}
@media(max-width:700px){.footer-main{grid-template-columns:1fr}.footer-plus-feature{border-left:0;border-top:1px solid #c6a76b55;padding:28px 0 0}.footer-links{gap:35px}}
/* Keep Saints+ promotion in the single banner above the footer. */
.footer-main{display:flex;justify-content:space-between;gap:50px}
@media(max-width:700px){.footer-main{flex-direction:column}}
/* Text-led Saints+ footer hierarchy. */
.footer-main{display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,1fr) auto;gap:clamp(28px,4vw,65px)}
.site-footer .footer-plus-action{font:600 20px/1.4 Georgia,serif;color:#e4c58b}
.footer-plus-feature p{margin:12px 0 16px}
@media(max-width:1050px){.footer-main{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}}
@media(max-width:700px){.footer-main{grid-template-columns:1fr}}
