/* Epic Designz — Cloudflare Pages static portfolio */
:root{--bg:#0d0e10;--panel:#16181b;--text:#f5f3ed;--muted:#a6a7a8;--yellow:#f8b540;--blue:#314375;--teal:#53a0a6;--red:#bf2428;--line:#343638;--font:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}body.menu-open,body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}::selection{background:var(--yellow);color:#161616}.container{width:min(1380px,calc(100% - 100px));margin-inline:auto}.section-pad{padding-block:135px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--yellow);line-height:1.7}.site-header{position:fixed;top:0;left:0;right:0;z-index:99;background:rgba(13,14,16,.76);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.075);transition:background .2s}.site-header.scrolled{background:rgba(13,14,16,.95)}.header-inner{height:83px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;min-width:170px}.brand-mark{font-weight:900;font-size:22px;letter-spacing:-.17em;color:var(--yellow)}.brand-mark span:first-child{color:#455c92}.brand-mark span:last-child{color:var(--red)}.brand small{font-size:10px;color:#dfdfdf;font-weight:800;letter-spacing:.27em;margin-left:8px}.nav{display:flex;gap:35px;align-items:center}.nav>a{font-size:12px;font-weight:700;transition:color .2s}.nav>a:hover{color:var(--yellow)}.nav .nav-cta{padding:13px 19px;border:1px solid #555}.nav-cta span{color:var(--yellow)}.menu-toggle{display:none;background:none;border:0;color:#fff;cursor:pointer;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{width:26px;height:2px;background:#fff;transition:transform .2s}.hero{position:relative;min-height:810px;overflow:hidden;padding-top:83px;background:radial-gradient(circle at 70% 25%,#202125 0%,#0d0e10 52%)}.hero-grid{min-height:680px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center}.hero-copy{position:relative;z-index:2;padding-top:20px}.status-dot{display:inline-block;background:#81dcaa;width:7px;height:7px;border-radius:50%;margin-right:9px;box-shadow:0 0 12px #81dcaa}.hero-title{font-size:clamp(64px,7.6vw,122px);letter-spacing:-.085em;line-height:1.01;margin:30px 0 33px;font-weight:900}.h-word{white-space:nowrap}.hero-title i{font-style:normal;background:linear-gradient(115deg,var(--yellow) 15%,#f37052 65%,var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p{font-size:clamp(15px,1.35vw,19px);line-height:1.9;color:#c6c6c6;max-width:520px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:36px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:45px;border:1px solid transparent;padding:19px 24px;font-size:12px;font-weight:800;transition:transform .2s,background .2s;cursor:pointer}.button:hover{transform:translateY(-4px)}.button-light{background:var(--yellow);color:#111}.button-light:hover{background:#ffd17e}.button span{font-size:20px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #555;padding-bottom:7px}.hero-art{height:640px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;animation:art-levitate 7s ease-in-out infinite}.hero-logo{position:relative;z-index:4;width:85%;filter:drop-shadow(0 35px 50px rgba(0,0,0,.48));border-radius:3px;mix-blend-mode:screen}.art-orbit{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;transform:rotate(-25deg);z-index:0}.orbit-a{width:90%;height:80%;animation:spin 32s linear infinite}.orbit-b{width:75%;height:115%;animation:spin 43s linear infinite reverse}.art-disc{position:absolute;border-radius:50%;filter:blur(.1px);z-index:1}.disc-gold{width:220px;height:220px;background:var(--yellow);top:10%;right:5%;animation:float 5s ease-in-out infinite}.disc-teal{width:150px;height:150px;background:var(--teal);bottom:11%;left:5%;animation:float 7s ease-in-out infinite reverse}.disc-red{width:55px;height:55px;background:var(--red);top:15%;left:10%;animation:float 4s ease-in-out infinite}.art-cross{font-size:130px;position:absolute;color:#415585;bottom:1%;right:8%;animation:spin 30s linear infinite}.art-coordinate{position:absolute;bottom:7%;left:38%;font-size:9px;letter-spacing:.3em;color:#929498}.hero-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.21em;color:#929498;padding-bottom:35px}.marquee{background:var(--yellow);color:#101012;white-space:nowrap;overflow:hidden;padding:19px 0;font-size:16px;font-weight:900;letter-spacing:.09em}.marquee-track{width:max-content;animation:marquee 33s linear infinite}.marquee b{margin:0 25px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:50px}.section-heading h2,.about-copy h2,.story-grid h2{font-size:clamp(47px,5vw,79px);letter-spacing:-.07em;line-height:1.09;margin:20px 0 0}.section-heading h2 em,.about-copy h2 em,.story-grid h2 em,.contact-inner h2 em{font-style:normal;color:var(--yellow)}.section-heading>p{max-width:310px;color:var(--muted);line-height:1.8;font-size:14px}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.filter{background:none;color:#bdbebe;border:1px solid #454648;border-radius:50px;padding:13px 20px;font-size:11px;cursor:pointer;transition:background .2s,color .2s}.filter:hover,.filter.active{color:#111;background:var(--yellow);border-color:var(--yellow)}.filter sup{font-size:9px;margin-left:3px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 28px}.project-card{min-width:0}.project-card[hidden]{display:none!important}.card-image{background:var(--project-bg);height:clamp(260px,34vw,510px);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.card-image img{width:100%;height:100%;object-fit:contain;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-card:hover .card-image img{transform:scale(1.045)}.card-badge{position:absolute;right:16px;bottom:16px;background:var(--project-accent);color:#101010;padding:12px 15px;font-size:10px;font-weight:800;transform:translateY(70px);transition:transform .3s}.project-card:hover .card-badge{transform:none}.card-bottom{padding-top:19px;display:flex;justify-content:space-between;align-items:center}.card-index{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--muted)}.card-bottom h3{font-size:clamp(22px,2.5vw,37px);letter-spacing:-.05em;margin:10px 0 0}.card-arrow{font-size:35px;color:var(--project-accent);transition:transform .2s}.project-card:hover .card-arrow{transform:translate(4px,-4px)}.statement{background:#1c2026;padding:120px 0;position:relative;overflow:hidden}.statement-inner{position:relative}.statement p{font-size:clamp(33px,4.9vw,74px);line-height:1.3;letter-spacing:-.06em;margin:28px 0 0}.statement strong{font-weight:900}.statement em{font-style:normal;color:var(--teal)}.statement-star{position:absolute;right:4%;bottom:-80px;font-size:230px;color:#304477;opacity:.5;animation:spin 36s linear infinite}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-visual{position:relative;min-height:570px;background:#1b2227;overflow:hidden}.about-shape{position:absolute;border-radius:50%;width:350px;height:350px}.about-shape-a{background:var(--yellow);top:-150px;left:-90px}.about-shape-b{background:var(--teal);bottom:-165px;right:-100px}.about-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(90px,12vw,210px);font-weight:900;letter-spacing:-.15em;text-shadow:0 15px 40px #1116}.about-number span{color:var(--yellow)}.about-caption{position:absolute;left:38px;bottom:32px;font-size:10px;letter-spacing:.25em}.about-copy p{color:#b5b5b5;line-height:2;font-size:14px}.about-meta{margin-top:40px;padding-top:24px;border-top:1px solid #3b3b3b;display:flex;gap:30px;flex-wrap:wrap}.about-meta span{font-size:10px;color:var(--yellow);line-height:2.2;letter-spacing:.06em}.about-meta strong{font-size:12px;color:white;letter-spacing:0}.services-section{background:#131516}.services-list{margin-top:50px;border-top:1px solid var(--line)}.service-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:80px 1fr 60px;align-items:center;padding:26px 10px;transition:background .2s,padding .2s}.service-row:hover{background:#1b1e21;padding-inline:20px}.service-row>span:first-child{font-size:11px;color:var(--yellow)}.service-row h3{font-size:clamp(19px,2.6vw,38px);letter-spacing:-.04em;margin:0}.service-row>span:last-child{font-size:24px;text-align:right;color:var(--teal)}.contact-section{background:#263e44;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;right:-170px;top:-210px;height:500px;width:500px;border:90px solid rgba(83,160,166,.25);border-radius:50%}.contact-inner{position:relative;display:grid;grid-template-columns:1.35fr 1fr;gap:11%;align-items:center}.contact-inner h2{font-size:clamp(45px,5.5vw,85px);line-height:1.12;letter-spacing:-.075em;margin:22px 0}.contact-inner p{color:#d3dcdd;line-height:1.8;max-width:420px;margin-bottom:30px}.contact-card{border:1px solid rgba(255,255,255,.28);padding:42px 35px;display:flex;flex-direction:column;gap:14px;background:#fff1;backdrop-filter:blur(8px)}.contact-card>span{font-size:10px;color:#ddd;letter-spacing:.14em;font-weight:700;margin-top:17px}.contact-card>a{font-weight:700;font-size:clamp(13px,1.5vw,18px);overflow-wrap:anywhere}.contact-card>a:hover{color:var(--yellow)}.footer{background:#0b0c0e}.footer-main{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-block:90px}.footer-headline{display:block;margin-top:15px;font-size:clamp(60px,8vw,130px);font-weight:900;line-height:1.03;letter-spacing:-.09em}.footer-headline em{font-style:normal;color:var(--yellow)}.footer-headline span{font-size:.5em;color:var(--teal)}.footer-links{display:flex;flex-direction:column;gap:21px;font-weight:700;font-size:13px;padding-bottom:10px}.footer-links a:hover{color:var(--yellow)}.footer-bottom{padding-block:27px;border-top:1px solid #353535;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;color:#9b9b9b;font-size:10px}.back-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:1px solid #b3b3b3;color:#111;background:var(--yellow);z-index:89;cursor:pointer;font-size:25px;opacity:0;pointer-events:none;transform:translateY(15px);transition:.2s}.back-top.visible{opacity:1;pointer-events:auto;transform:none}.cookie-consent{position:fixed;bottom:18px;left:18px;width:min(410px,calc(100% - 36px));padding:19px;background:#f7f6f2;color:#252525;z-index:100;display:flex;gap:16px;align-items:center;box-shadow:0 10px 35px #0009}.cookie-consent[hidden],.cookie-reopen[hidden]{display:none}.cookie-consent p{font-size:11px;line-height:1.6;margin:0}.cookie-consent button{border:0;background:#242424;color:#fff;font-size:11px;cursor:pointer;padding:12px;white-space:nowrap}.cookie-reopen{position:fixed;bottom:22px;left:22px;z-index:88;border:0;background:var(--yellow);color:#161616;border-radius:100%;width:40px;height:40px;cursor:pointer;font-size:21px}.detail-hero{padding:170px 0 95px;background:radial-gradient(circle at 87% 30%,var(--project-bg),#0d0e10 64%)}.detail-hero .eyebrow{display:block;margin-top:40px;color:var(--project-accent)}.back-link{font-size:11px;letter-spacing:.12em;font-weight:700;color:#b2b2b2}.back-link:hover{color:white}.detail-hero h1{font-size:clamp(54px,8.7vw,145px);font-weight:900;letter-spacing:-.085em;line-height:1.02;overflow-wrap:anywhere;margin:24px 0 14px}.detail-period{color:var(--project-accent)}.detail-hero p{font-size:clamp(18px,2.3vw,29px);color:#c4c4c4}.detail-meta{border-top:1px solid #4a4a4a;margin-top:70px;padding-top:27px;display:flex;gap:65px;flex-wrap:wrap}.detail-meta span{font-size:10px;color:#a5a5a5;line-height:2}.detail-meta strong{font-size:13px;color:white}.detail-cover{height:min(74vh,850px);min-height:360px;background:var(--project-bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-cover img{width:100%;height:100%;object-fit:contain}.story-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.story-grid>div:last-child{font-size:15px;line-height:2.15;color:#d0d0d0}.project-note{border-left:3px solid var(--yellow);padding-left:17px;color:#bdbdbd;font-size:13px}.detail-gallery{background:#17191b}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:25px}.gallery-item{border:0;background:#252729;padding:0;cursor:zoom-in;overflow:hidden;position:relative;min-width:0;min-height:260px}.gallery-item img{width:100%;height:auto;max-height:680px;object-fit:contain;transition:transform .45s}.gallery-item:hover img{transform:scale(1.025)}.zoom-label{position:absolute;bottom:12px;right:12px;background:var(--yellow);font-size:10px;font-weight:800;padding:12px;color:#121212;opacity:0;transition:opacity .2s}.gallery-item:hover .zoom-label,.gallery-item:focus-visible .zoom-label{opacity:1}.next-project{padding-block:100px}.next-project a{display:flex;justify-content:space-between;font-size:clamp(39px,6vw,92px);letter-spacing:-.07em;font-weight:900;margin-top:30px}.next-project a:hover{color:var(--yellow)}.next-project a span{color:var(--teal)}.lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:65px 55px;background:rgba(6,7,8,.97);color:#fff;border:none;z-index:110}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#000c}.lightbox img{max-width:calc(100% - 130px);max-height:calc(100% - 70px);width:auto;height:auto;object-fit:contain}.lightbox button{border:1px solid #555;background:#202020;color:#fff;cursor:pointer;position:absolute;width:46px;height:46px;font-size:28px}.lightbox-close{right:22px;top:20px}.lightbox-prev{left:16px;top:50%}.lightbox-next{right:16px;top:50%}.lightbox-caption{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.1em;color:#bbb;white-space:nowrap}.legal-page{padding-top:180px;min-height:80vh}.legal-inner{max-width:790px}.legal-inner h1{font-size:clamp(42px,5vw,75px);letter-spacing:-.06em}.legal-inner h2{margin-top:35px;font-size:20px}.legal-inner p{font-size:14px;line-height:2;color:#ccc}.legal-inner a{color:var(--yellow)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-25px)}}@keyframes art-levitate{50%{transform:translateY(-12px)}}@media(max-width:1100px){.container{width:min(100% - 62px,1380px)}.hero-title{font-size:clamp(55px,7.5vw,90px)}.hero-art{height:550px}.hero-grid{min-height:620px}.about-grid{gap:5%}.about-visual{min-height:450px}}@media(max-width:760px){html{scroll-padding-top:68px}.container{width:calc(100% - 38px)}.section-pad{padding-block:80px}.header-inner{height:68px}.brand{min-width:auto}.menu-toggle{display:flex}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.nav{display:none;position:fixed;left:0;right:0;top:68px;height:calc(100dvh - 68px);background:#101113;flex-direction:column;align-items:stretch;gap:0;padding:28px 22px 70px;overflow-y:auto;overscroll-behavior:contain}.nav.open{display:flex}.nav>a{font-size:23px;border-bottom:1px solid #363636;padding:22px 10px}.nav .nav-cta{margin-top:20px;font-size:16px;text-align:center}.hero{padding-top:68px;min-height:0}.hero-grid{display:flex;flex-direction:column;min-height:0;align-items:stretch;padding-top:68px}.hero-copy{padding-top:0}.hero-title{font-size:clamp(48px,10vw,75px);margin:23px 0}.hero-copy>p{font-size:14px;line-height:1.8}.hero-actions{gap:22px}.hero-art{height:380px;max-width:570px;width:100%;align-self:center;margin-top:18px}.hero-logo{width:80%}.disc-gold{width:125px;height:125px}.disc-teal{width:80px;height:80px}.art-cross{font-size:80px}.hero-bottom{padding-bottom:23px;gap:15px;font-size:8px}.marquee{font-size:13px}.section-heading{align-items:start;flex-direction:column;gap:12px;margin-bottom:30px}.section-heading h2,.about-copy h2,.story-grid h2{font-size:clamp(43px,9vw,65px)}.section-heading>p{margin:0}.project-grid{gap:40px 16px}.card-image{height:clamp(190px,47vw,340px)}.card-index{font-size:9px}.card-bottom h3{font-size:clamp(18px,3.6vw,26px)}.card-arrow{font-size:25px}.statement{padding-block:75px}.statement-star{font-size:130px}.about-grid,.contact-inner,.story-grid{grid-template-columns:1fr;gap:38px}.about-visual{min-height:370px}.about-number{font-size:110px}.service-row{grid-template-columns:42px 1fr 30px;padding:22px 0}.service-row h3{font-size:20px}.footer-main{padding-block:65px;align-items:start;flex-direction:column}.footer-headline{font-size:clamp(57px,12vw,85px)}.detail-hero{padding:130px 0 55px}.detail-hero h1{font-size:clamp(47px,10vw,85px)}.detail-meta{gap:25px;margin-top:35px}.detail-cover{height:55vh;min-height:300px}.gallery-grid{gap:13px}.gallery-item{min-height:150px}.lightbox{padding:60px 5px}.lightbox img{max-width:calc(100% - 85px)}.lightbox button{width:35px;height:42px}.lightbox-prev{left:3px}.lightbox-next{right:3px}}@media(max-width:480px){.hero-title{font-size:clamp(40px,11.5vw,58px)}.hero-art{height:310px}.hero-bottom span:last-child{display:none}.project-grid{grid-template-columns:1fr;gap:35px}.card-image{height:330px}.card-bottom h3{font-size:26px}.gallery-grid{grid-template-columns:1fr}.gallery-item{min-height:220px}.cookie-consent{align-items:stretch;flex-direction:column;gap:9px}.cookie-consent button{align-self:end}.detail-cover{height:340px}.detail-hero h1{font-size:clamp(42px,12vw,65px)}.detail-meta{gap:18px}.footer-bottom{flex-direction:column;gap:12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
/* ===================================================================
   Epic Designz V1.1.0 — one unified upgrade, 13 November 2026
   Premium navigation · two responsive videos · signature logo movement
   Accessible contact page · vibrant cookie · starburst-free presentation
   =================================================================== */
:root { --glass: rgba(15,18,22,.82); --tint:#f8b540; }
body { overflow-x:clip; }
[hidden] { display:none !important; }
/* Desktop floating creative navigation */
.site-header { top:16px;left:22px;right:22px;width:auto; background:rgba(13,15,19,.66); border:1px solid rgba(255,255,255,.14); border-radius:18px; backdrop-filter:blur(26px) saturate(1.5); -webkit-backdrop-filter:blur(26px) saturate(1.5); box-shadow:0 18px 48px #0005; transition:top .3s, background .3s, box-shadow .3s, transform .3s,border-color .3s; }
.site-header.scrolled { top:8px;background:rgba(9,11,14,.96);box-shadow:0 12px 35px #000b;border-color:rgba(83,160,166,.27); }
.site-header::before { content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(112deg,rgba(248,181,64,.09),transparent 30%,transparent 60%,rgba(83,160,166,.1)); }
.header-inner { height:79px; width:min(1480px,calc(100% - 48px));position:relative; }
.site-header.scrolled .header-inner { height:73px; }
.brand { width:184px;max-width:45vw;min-width:0;transition:transform .25s; }
.brand:hover {transform:translateY(-2px);}
.brand-logo {width:100%;height:auto;max-height:76px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 11px rgba(248,181,64,.07));}
.nav { gap:6px;align-items:center; }
.nav>a { padding:13px 16px;border-radius:12px;position:relative;font-weight:750;font-size:12px;letter-spacing:.015em;white-space:nowrap; }
.nav>a:not(.nav-cta)::after {content:"";height:2px;position:absolute;left:16px;right:calc(100% - 16px);bottom:6px;border-radius:4px;background:linear-gradient(90deg,var(--yellow),var(--teal));transition:right .25s ease;}
.nav>a:not(.nav-cta):hover::after,.nav>a[aria-current="page"]::after {right:16px;}
.nav>a[aria-current="page"] {color:var(--yellow);}
.nav .nav-cta {border:0;margin-left:14px;background:linear-gradient(120deg,#ffc057,var(--yellow));color:#191a1e;padding:15px 23px;box-shadow:0 6px 25px rgba(248,181,64,.17);transition:transform .2s,box-shadow .2s,filter .2s;}
.nav .nav-cta span {margin-left:6px;color:#191a1e;}
.nav .nav-cta:hover {color:#121313;filter:brightness(1.08);transform:translateY(-3px);box-shadow:0 10px 32px rgba(248,181,64,.29);}
/* Full-bleed background video with readable editorial headline. */
.hero { min-height:clamp(750px,94svh,1120px);padding-top:119px;background:#080b11;isolation:isolate; }
.hero-video-layer,.contact-video-layer {position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.ambient-video {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-video-layer::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,13,.91) 0%,rgba(5,8,13,.66) 45%,rgba(5,8,13,.16) 100%),linear-gradient(0deg,#090b10 0%,transparent 25%,rgba(8,10,13,.29) 100%);}
.hero-grid {min-height:clamp(660px,calc(94svh - 160px),880px);display:flex;align-items:center;justify-content:flex-start;}
.hero-copy {max-width:870px;padding-block:65px 50px;}
.hero-title {font-size:clamp(70px,9.5vw,146px);margin:32px 0;}
.hero-copy>p {max-width:565px;}
.hero-brandline {display:flex;align-items:center;gap:14px;color:#b7c2c7;font-size:10px;font-weight:800;letter-spacing:.25em;margin-top:52px;}
.hero-brandline-dot {width:48px;height:3px;background:linear-gradient(90deg,var(--yellow),var(--teal),var(--red));border-radius:6px;}
.hero-bottom {position:relative;z-index:2;}
.marquee b {color:var(--blue);font-size:15px;line-height:1;vertical-align:middle;}
/* The old star decorations were removed from HTML, including service row marks. */
.service-row>span:last-child {font-size:16px;color:var(--teal);}
/* Official logo: lively but recognisable, no vector reconstruction. */
.about-logo-stage {background:radial-gradient(ellipse at 50% 40%,rgba(49,67,117,.21),transparent 61%),#0b0e13;border:1px solid #242d36;isolation:isolate;}
.logo-motion-scene {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.logo-motion-scene::before,.logo-motion-scene::after {content:"";position:absolute;width:250px;height:250px;border-radius:50%;filter:blur(110px);opacity:.35;pointer-events:none;animation:ambient-glow 8s ease-in-out infinite alternate;}
.logo-motion-scene::before {background:var(--teal);top:2%;left:-22%;}
.logo-motion-scene::after {background:var(--yellow);bottom:-20%;right:-20%;animation-delay:-4s;}
.motion-logo {width:min(89%,650px);position:relative;z-index:2;animation:logo-sway 8s ease-in-out infinite;transform-origin:center;}
.motion-logo img {width:100%;height:auto;filter:drop-shadow(0 30px 42px #000b);}
.motion-rail {height:5px;width:32%;background:linear-gradient(90deg,transparent,var(--yellow),var(--teal),var(--red),transparent);position:absolute;left:-40%;transform:rotate(-18deg);opacity:.5;animation:rail-drift 10s ease-in-out infinite;}
.motion-rail-top {top:22%;}
.motion-rail-bottom {bottom:16%;animation-delay:-5s;}
.motion-logo-label {position:absolute;bottom:32px;left:30px;right:30px;text-align:center;font-size:10px;letter-spacing:.23em;font-weight:800;color:#9ea8b1;}
@keyframes logo-sway {0%,100% {transform:translateY(3px) rotate(-1.2deg) scale(.97)}50% {transform:translateY(-15px) rotate(1.2deg) scale(1.025)}}
@keyframes ambient-glow {to {transform:translate(50px,-60px);opacity:.58;}}
@keyframes rail-drift {50% {left:90%;opacity:.2;}100% {left:125%;opacity:.0;}}
/* VIDEO 2: replaces precisely the existing Let's Connect coloured background. */
.contact-video-section {background:#091b20;isolation:isolate;}
.contact-video-section::before {display:none;}
.contact-video-layer::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,21,25,.85),rgba(6,20,26,.52)),linear-gradient(0deg,rgba(7,16,21,.55),rgba(7,16,21,.35));}
.contact-video-section .contact-inner {z-index:2;}
.contact-video-section .contact-card {background:rgba(14,25,32,.69);border-color:rgba(255,255,255,.28);box-shadow:0 18px 40px #0005;}
.contact-video-section .contact-inner h2 {text-shadow:0 2px 34px #0008;}
/* EPIC FINALE — signature section sits directly under the existing footer CTA */
.epic-finale {position:relative;isolation:isolate;overflow:hidden;padding:95px 0 110px;border-top:1px solid rgba(255,255,255,.09);text-align:center;background:radial-gradient(circle at 22% 18%,rgba(49,67,117,.27),transparent 35%),radial-gradient(circle at 79% 75%,rgba(83,160,166,.17),transparent 42%),#090b0e;}
.epic-finale::before,.epic-finale::after {content:"";position:absolute;z-index:-1;pointer-events:none;width:min(35vw,400px);height:min(35vw,400px);border-radius:50%;filter:blur(140px);opacity:.45;animation:finale-drift 12s ease-in-out infinite alternate;}
.epic-finale::before {background:#314375;top:-28%;left:-8%;}
.epic-finale::after {background:#53a0a6;bottom:-20%;right:-8%;animation-delay:-5s;}
.finale-inner {display:flex;align-items:center;flex-direction:column;}
.finale-logo-link {display:block;width:min(850px,100%);margin:15px 0 8px;}
.finale-logo-frame {display:block;position:relative;max-width:100%;animation:finale-levitate 9s ease-in-out infinite;}
.finale-logo-frame img {width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 18px 45px rgba(0,0,0,.7));}
.finale-logo-frame::after {content:"";position:absolute;inset:18% 0 18% 0;background:linear-gradient(100deg,transparent 27%,rgba(255,255,255,.35) 47%,transparent 62%);opacity:0;mix-blend-mode:soft-light;pointer-events:none;animation:logo-shine 9s ease-in-out infinite;}
.finale-statement {font-weight:900;letter-spacing:.18em;color:#e9edf1;font-size:clamp(14px,2.1vw,28px);margin:2px 0 13px;}
.finale-statement strong {color:var(--yellow);}
.finale-subtitle {margin:0;color:#aeb9c2;font-size:clamp(12px,1.2vw,15px);line-height:1.75;}
.finale-social {display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:36px;}
.finale-social a {padding:14px 21px;font-size:12px;font-weight:800;letter-spacing:.01em;border:1px solid #3e4a55;border-radius:99px;background:#10171c;transition:transform .25s,background .25s,border-color .25s;}
.finale-social a:hover {background:#21303b;border-color:var(--yellow);transform:translateY(-3px);}
.finale-social a span {color:var(--yellow);}
.finale-stripe {position:absolute;bottom:0;left:0;right:0;display:flex;height:6px;}
.finale-stripe span {flex:1;}.finale-stripe span:nth-child(1){background:var(--yellow)}.finale-stripe span:nth-child(2){background:var(--blue)}.finale-stripe span:nth-child(3){background:var(--teal)}.finale-stripe span:nth-child(4){background:var(--red)}
@keyframes finale-levitate {0%,100%{transform:translateY(0) scale(.985)}50%{transform:translateY(-13px) scale(1.015)}}
@keyframes logo-shine {0%,44%,100%{opacity:0;transform:translateX(-45%)}55%{opacity:.35}72%{opacity:0;transform:translateX(45%)}}
@keyframes finale-drift {to{transform:translate(95px,45px)}}
.footer-bottom {align-items:center;gap:12px;min-height:85px;}
.powered-by {font-size:12px;font-weight:600;letter-spacing:.05em;color:#ced1d5;}
.powered-by a {display:inline-block;font-weight:900;font-size:15px;letter-spacing:.06em;background:linear-gradient(100deg,var(--yellow),var(--teal),#86b0ff,var(--red),var(--yellow));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:powered-shimmer 6s linear infinite;transition:transform .2s;}
.powered-by a:hover {transform:translateY(-2px);}
@keyframes powered-shimmer {to{background-position:300% 0}}
/* Premium cookie illustration (left), keep the existing bottom-right up button. */
.cookie-reopen {width:54px;height:54px;display:grid;place-items:center;background:rgba(18,22,29,.90);border:1px solid rgba(248,181,64,.5);box-shadow:0 8px 30px #0009;border-radius:50%;transition:transform .25s,box-shadow .25s;}
.cookie-reopen img {width:36px;height:36px;filter:drop-shadow(0 2px 3px #0008);}
.cookie-reopen:hover {transform:rotate(-12deg) translateY(-3px);box-shadow:0 8px 35px rgba(248,181,64,.3);}
.cookie-consent {border-radius:14px;border:1px solid #ddc182;box-shadow:0 17px 50px #000c;align-items:center;}
.cookie-consent strong {font-size:13px;}
.cookie-consent a {font-size:11px;text-decoration:underline;color:#4b457b;}
.cookie-consent button {border-radius:7px;background:#283b46;}
/* Contact page hero, lead-capture form, and privacy-safe fallback. */
.contact-page-hero {min-height:590px;padding:210px 0 90px;background:radial-gradient(ellipse at 80% 15%,rgba(49,67,117,.38),transparent 55%),linear-gradient(130deg,#10141b,#08090c);overflow:hidden;}
.contact-page-intro {position:relative;}
.contact-page-intro h1 {position:relative;z-index:1;margin:20px 0 20px;max-width:1180px;font-size:clamp(54px,8.3vw,126px);letter-spacing:-.09em;font-weight:900;line-height:1.03;}
.contact-page-intro h1 em {font-style:normal;background:linear-gradient(90deg,var(--yellow),#eb8d69,var(--teal));color:transparent;background-clip:text;-webkit-background-clip:text;}
.contact-page-intro>p {position:relative;z-index:1;color:#c6c9cd;font-size:clamp(14px,1.45vw,19px);max-width:700px;line-height:1.8;}
.contact-page-ribbon {position:absolute;z-index:0;right:-10%;top:-45%;width:420px;height:420px;transform:rotate(-17deg);opacity:.22;pointer-events:none;display:flex;gap:19px;}
.contact-page-ribbon span {width:80px;transform:skew(-18deg);border-radius:999px;background:var(--yellow);animation:ribbon-float 10s ease-in-out infinite alternate;}
.contact-page-ribbon span:nth-child(2){background:var(--teal);animation-delay:-2s}.contact-page-ribbon span:nth-child(3){background:var(--blue);animation-delay:-3s}.contact-page-ribbon span:nth-child(4){background:var(--red);animation-delay:-5s}
@keyframes ribbon-float {to{transform:skew(-18deg) translateY(55px)}}
.contact-page-body {background:#101317;}
.enquiry-layout {display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.25fr);gap:clamp(32px,7vw,120px);align-items:start;}
.enquiry-aside {position:sticky;top:135px;}
.enquiry-aside h2,.form-intro h2 {font-size:clamp(38px,4vw,63px);line-height:1.1;letter-spacing:-.07em;margin:18px 0;}
.enquiry-aside h2 em,.form-intro h2 em {font-style:normal;color:var(--yellow);}
.enquiry-aside>p,.form-intro>p {color:#b2bbc3;font-size:14px;line-height:1.85;margin-bottom:34px;}
.contact-route {padding:24px 0;border-top:1px solid #35404b;display:flex;align-items:start;flex-direction:column;gap:9px;}
.contact-route>span {font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--teal);}
.contact-route>a {font-size:clamp(14px,1.38vw,19px);font-weight:800;overflow-wrap:anywhere;}
.contact-route>a:hover {color:var(--yellow);}
.contact-route .route-supplement {color:var(--yellow);font-size:12px;font-weight:600;}
.enquiry-logo {max-width:330px;margin:40px 0;}
.enquiry-logo img {width:100%;height:auto;}
.enquiry-form-panel {padding:clamp(24px,4vw,53px);background:linear-gradient(140deg,rgba(31,43,52,.78),rgba(17,22,28,.9));border:1px solid #3b4851;border-radius:22px;box-shadow:0 30px 70px #0005;}
.form-intro h2 {font-size:clamp(34px,3.5vw,52px);}
.form-intro>p {margin-bottom:36px;}
.form-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.field {margin:0 0 23px;min-width:0;display:flex;flex-direction:column;gap:9px;}
.field label {font-size:11px;font-weight:800;color:#e0e7eb;letter-spacing:.04em;}
.field label span,.privacy-check strong {color:var(--yellow);}
.field input,.field select,.field textarea {display:block;width:100%;background:#11181f;border:1px solid #44515d;color:#fff;border-radius:9px;padding:16px 15px;min-height:53px;font-size:14px;outline:0;transition:border-color .2s,box-shadow .2s;font-family:var(--font);}
.field input:focus,.field textarea:focus,.field select:focus {border-color:var(--yellow);box-shadow:0 0 0 3px rgba(248,181,64,.16);}
.field input::placeholder,.field textarea::placeholder {color:#82919a;}
.field input[type="file"] {padding:13px 10px;min-height:53px;font-size:11px;cursor:pointer;}
.field input[type="file"]::file-selector-button {background:#273744;border:0;border-radius:4px;color:#fff;padding:8px 9px;font-weight:700;cursor:pointer;margin-right:10px;}
.field textarea {resize:vertical;min-height:175px;line-height:1.7;}
.field select {appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10'%3E%3Cpath d='m2 2 8 6 8-6' stroke='%23f8b540' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-size:13px auto;background-repeat:no-repeat;background-position:right 17px center;padding-right:40px;}
.field select option {background:#11181f;color:white;}
.field small {font-size:10px;line-height:1.6;color:#a4b3bd;}
.privacy-check {display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.65;color:#c3cdd3;cursor:pointer;margin:2px 0 25px;}
.privacy-check input {appearance:auto;accent-color:var(--yellow);width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;}
.privacy-check a {text-decoration:underline;color:#f9c66a;}
.honeypot {position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.turnstile-container {margin:10px 0 26px;min-height:65px;}
.submit-wrap {display:flex;align-items:center;gap:23px;flex-wrap:wrap;}
.submit-project {padding:18px 27px;background:var(--yellow);color:#0d1014;border:0;border-radius:8px;font-size:13px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:35px;transition:transform .2s,filter .2s;}
.submit-project:hover {transform:translateY(-3px);filter:brightness(1.09);}
.submit-project[disabled] {opacity:.6;cursor:wait;transform:none;}
.submit-help {font-size:11px;max-width:250px;color:#aeb9c2;line-height:1.65;}
.form-config-note {padding:17px 19px;margin-bottom:24px;font-size:12px;line-height:1.7;border:1px solid rgba(248,181,64,.38);border-radius:10px;color:#ffe4b3;background:rgba(248,181,64,.085);}
.form-config-note a {color:#fff;text-decoration:underline;}
.form-status {margin-top:24px;padding:17px 20px;border-radius:9px;font-size:13px;line-height:1.6;background:rgba(83,160,166,.15);border:1px solid var(--teal);color:#e8ffff;}
.form-status.error {background:rgba(191,36,40,.15);border-color:var(--red);}
.contact-endcap {background:#161e26;padding:75px 0;border-top:1px solid #2e3e4b;}
.contact-endcap .container {display:flex;align-items:end;justify-content:space-between;gap:32px;}
.contact-endcap p {font-size:clamp(24px,3.4vw,52px);line-height:1.24;letter-spacing:-.055em;margin:0;}
.contact-endcap p strong {color:var(--teal);}
.contact-endcap a {white-space:nowrap;color:var(--yellow);font-weight:800;font-size:13px;}
.legal-page a {color:var(--yellow);}
@media(max-width:1100px) {
  .header-inner {width:min(100% - 35px,1480px);}
  .brand {width:158px;}
  .nav {gap:0;}.nav>a {padding:12px 11px;}
  .nav .nav-cta {margin-left:8px;padding:14px 17px;}
  .hero {min-height:770px;}
  .hero-title {font-size:clamp(62px,9vw,108px);}
  .enquiry-layout {grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:30px;}
}
@media(max-width:760px) {
  .site-header {left:9px;right:9px;top:9px;border-radius:15px;}
  .site-header.scrolled {top:5px;}
  .header-inner,.site-header.scrolled .header-inner {width:calc(100% - 28px);height:69px;}
  .brand {width:148px;max-width:45%;}
  .menu-toggle {display:flex;position:relative;z-index:2;width:50px;height:50px;border:1px solid #4a5159;border-radius:11px;}
  .nav {top:81px;left:9px;right:9px;width:auto;height:calc(100dvh - 95px);border:1px solid #3d4854;border-radius:16px;background:rgba(12,15,20,.98);padding:15px 18px 40px;z-index:102;box-shadow:0 20px 50px #000b;}
  .site-header.scrolled .nav {top:77px;}
  .nav>a {font-size:21px;padding:20px 12px;border-bottom:1px solid #30363c;border-radius:0;}
  .nav>a:not(.nav-cta)::after {display:none;}
  .nav .nav-cta {margin:24px 0 0;border-radius:11px;padding:19px;text-align:center;font-size:16px;}
  .hero {padding-top:105px;min-height:760px;}
  .hero-grid {min-height:600px;display:flex;padding-top:0;align-items:center;}
  .hero-copy {padding-block:38px 40px;}
  .hero-title {font-size:clamp(52px,11.4vw,86px);}
  .hero-video-layer::after {background:linear-gradient(90deg,rgba(5,8,13,.82),rgba(5,8,13,.32)),linear-gradient(0deg,rgba(5,8,13,.85),transparent 50%);}
  .hero-brandline {margin-top:32px;font-size:9px;}
  .about-logo-stage {min-height:360px;}
  .motion-logo-label {bottom:22px;font-size:9px;}
  .contact-video-section {padding-block:85px;}
  .contact-video-section .contact-card {padding:28px 24px;}
  .epic-finale {padding:60px 0 72px;}
  .finale-logo-link {width:min(600px,100%);margin:18px 0 12px;}
  .finale-statement {letter-spacing:.11em;}
  .finale-social {gap:8px;}
  .finale-social a {padding:12px 15px;font-size:11px;}
  .footer-bottom {min-height:0;padding-block:25px;}
  .cookie-reopen {left:14px;bottom:14px;width:50px;height:50px;}
  .contact-page-hero {padding:164px 0 70px;min-height:470px;}
  .contact-page-intro h1 {font-size:clamp(47px,10.5vw,83px);}
  .contact-page-ribbon {width:220px;height:250px;right:-25%;opacity:.11;}
  .enquiry-layout {grid-template-columns:1fr;gap:48px;}
  .enquiry-aside {position:static;}
  .enquiry-logo {display:none;}
  .enquiry-form-panel {padding:25px 20px;}
  .contact-endcap .container {flex-direction:column;align-items:start;}
}
@media(max-width:480px) {
  .brand {width:132px;}
  .hero {min-height:680px;}
  .hero-grid {min-height:540px;}
  .hero-title {font-size:clamp(48px,12vw,65px);letter-spacing:-.075em;}
  .hero-actions {gap:17px;}
  .hero-brandline {letter-spacing:.12em;}
  .contact-inner h2 {font-size:clamp(45px,11.5vw,61px);}
  .finale-statement {letter-spacing:.04em;}
  .form-row {grid-template-columns:1fr;gap:0;}
  .contact-page-hero {padding:154px 0 62px;min-height:425px;}
  .contact-page-intro h1 {font-size:clamp(42px,11vw,62px);}
  .contact-route>a {font-size:15px;}
  .submit-wrap {align-items:stretch;}
  .submit-project {width:100%;justify-content:space-between;}
}
@media(prefers-reduced-motion:reduce) {
  .motion-logo,.motion-rail,.finale-logo-frame,.powered-by a,.epic-finale::before,.epic-finale::after,.contact-page-ribbon span {animation:none!important;transform:none!important;}
}


/* =======================================================================
   EPIC DESIGNZ V1.2.0 — Selected Work + unified editorial artwork viewer
   ======================================================================= */
.work-section { overflow:visible; isolation:isolate; }
.work-section .section-heading {margin-bottom:clamp(35px,5vw,82px);}
.work-section .section-heading>p {max-width:350px;}
.project-stack {position:relative; display:grid; gap:clamp(18px,2.2vw,34px); padding-bottom:clamp(15px,3vw,60px);}
.stack-project {display:block; position:sticky; top:calc(112px + var(--stack-index) * 10px); z-index:calc(20 + var(--stack-index)); color:var(--text); border-radius:23px; isolation:isolate; text-decoration:none; background:#12161b; box-shadow:0 20px 70px rgba(0,0,0,.54); border:1px solid rgba(255,255,255,.14); overflow:hidden; transition:border-color .3s,box-shadow .3s;}
.stack-project:hover,.stack-project:focus-visible {border-color:var(--project-accent);box-shadow:0 35px 85px rgba(0,0,0,.8);}
.stack-project-inner {display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); min-height:clamp(370px,37vw,540px);}
.stack-artwork {position:relative;display:grid;place-items:center;overflow:hidden;min-width:0;background:linear-gradient(130deg,var(--project-bg),#1c232a 85%);isolation:isolate;}
.stack-artwork::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 54%,rgba(10,12,16,.11));}
.stack-artwork-image {width:100%;height:100%;max-height:540px;object-fit:contain;object-position:center;position:absolute;inset:0;transform:translate3d(0,var(--stack-parallax,0px),0) scale(1.045);transition:transform .3s ease-out;border-radius:18px;}
.stack-project:hover .stack-artwork-image {transform:translate3d(0,var(--stack-parallax,0px),0) scale(1.085);}
.stack-image-number {position:absolute;z-index:1;bottom:22px;left:22px;font-size:10px;font-weight:800;letter-spacing:.17em;padding:12px 14px;border:1px solid rgba(255,255,255,.25);background:rgba(10,12,14,.75);border-radius:30px;}
.stack-copy {position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;padding:clamp(35px,5vw,86px);overflow:hidden;background:linear-gradient(130deg,rgba(28,31,36,.97),#0f1318);}
.stack-copy::before {content:"";height:5px;width:68px;border-radius:30px;background:var(--project-accent);margin-bottom:28px;}
.stack-kicker {color:#c8d1d5;font-weight:800;font-size:10px;line-height:1.9;letter-spacing:.14em;}
.stack-copy h3 {margin:17px 0 22px;max-width:600px;font-size:clamp(39px,4.3vw,74px);line-height:1.05;letter-spacing:-.076em;font-weight:900;overflow-wrap:break-word;}
.stack-dot {color:var(--project-accent);}
.stack-copy>p {color:#bac2c8;font-size:clamp(13px,1.13vw,16px);line-height:1.85;margin:0 0 35px;max-width:450px;}
.stack-action {display:inline-flex;gap:14px;align-items:center;justify-content:space-between;min-width:186px;padding:13px 0;border-bottom:1px solid var(--project-accent);font-weight:800;font-size:11px;letter-spacing:.07em;transition:gap .2s,color .2s;}
.stack-action span {color:var(--project-accent);font-size:24px;font-weight:400;}
.stack-project:hover .stack-action {gap:28px;color:var(--project-accent);}
.stack-sidelabel {position:absolute;right:22px;bottom:22px;color:#78828b;font-size:9px;letter-spacing:.13em;font-weight:700;}
/* Remove old grid presentation, even if an old cached fragment remains. */
.project-grid,.project-filters {display:none!important;}

/* The old billboard-sized hero image is gone from all five project pages. */
.detail-cover {display:none!important;}
.detail-story {padding-block:clamp(74px,8vw,130px);}
.detail-gallery {padding-top:clamp(60px,7vw,115px);background:linear-gradient(170deg,#14191e,#0c0e12);}
.detail-gallery-intro {margin-bottom:36px;}
.project-viewer {max-width:1220px;margin-inline:auto;}
.gallery-main-shell {position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(130deg,#1b2025,var(--project-bg,#20252b));border:1px solid rgba(255,255,255,.13);isolation:isolate;}
.gallery-main-shell::before {content:"";position:absolute;inset:-32px;background-image:var(--active-artwork);background-position:center;background-repeat:no-repeat;background-size:cover;filter:blur(65px) brightness(.30);opacity:.48;pointer-events:none;z-index:-1;transition:background-image .3s;}
.gallery-main-trigger {display:grid;place-items:center;position:relative;width:100%;aspect-ratio:16/10;min-height:320px;max-height:710px;overflow:hidden;background:transparent;border:0;padding:clamp(18px,3.3vw,45px);cursor:zoom-in;color:var(--text);}
.gallery-main-image {display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;object-position:center;border-radius:16px;min-width:0;max-height:100%;padding:clamp(16px,2.4vw,30px);filter:drop-shadow(0 15px 21px #0006);}
.gallery-main-hint {position:absolute;z-index:3;bottom:16px;right:18px;color:#fff;background:#10151be6;border:1px solid #ffffff50;border-radius:100px;padding:10px 16px;font-size:10px;letter-spacing:.12em;font-weight:800;transition:transform .22s,background .22s;}
.gallery-main-hint span{color:var(--project-accent);font-size:15px;margin-left:7px;}
.gallery-main-trigger:hover .gallery-main-hint {transform:translateY(-3px);background:#18232be8;}
.gallery-toolbar {display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;min-height:69px;background:#11161cd9;border-top:1px solid #ffffff20;}
.gallery-counter {font-size:15px;color:#929da7;font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums;}
.gallery-counter strong {color:var(--project-accent);font-size:20px;}
.gallery-steppers {display:flex;gap:9px;}
.gallery-steppers button {height:42px;width:51px;background:#222b33;color:#fff;border:1px solid #49535d;border-radius:10px;font-size:28px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s;}
.gallery-steppers button:hover {background:#33444e;border-color:var(--project-accent);}
.gallery-thumbnails {display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:20px 3px 22px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--project-accent) #222b34;overscroll-behavior-x:contain;}
.gallery-thumb {position:relative;flex:0 0 clamp(100px,11.5vw,148px);height:clamp(84px,8.5vw,110px);display:grid;place-items:center;padding:7px;background:#242b30;border:2px solid transparent;border-radius:13px;overflow:hidden;cursor:pointer;scroll-snap-align:center;transition:transform .2s,border-color .2s,background .2s;}
.gallery-thumb img {width:100%;height:100%;object-fit:contain;object-position:center;border-radius:7px;}
.gallery-thumb .thumb-index {position:absolute;left:5px;bottom:5px;padding:3px 6px;background:#090c10c9;color:#fff;font-size:9px;font-weight:800;border-radius:4px;}
.gallery-thumb:hover {transform:translateY(-2px);background:#354149;}
.gallery-thumb[aria-pressed="true"] {border-color:var(--project-accent);background:#344048;box-shadow:0 0 0 1px var(--project-accent);}
.gallery-explainer {color:#98a4ae;font-size:11px;line-height:1.7;margin:5px 0 0;}
.gallery-main-trigger:focus-visible,.gallery-thumb:focus-visible,.gallery-steppers button:focus-visible {outline:3px solid var(--yellow);outline-offset:3px;}
/* Every portfolio image shares rounded presentation surfaces; artwork files are unmodified. */
.gallery-main-image,.gallery-thumb img,.stack-artwork-image,.lightbox img {border-radius:14px;}
.lightbox img {object-fit:contain;}

@media (min-width:781px) {
  .stack-project:nth-child(1) {top:110px;}
  .stack-project:nth-child(2) {top:122px;}
  .stack-project:nth-child(3) {top:134px;}
  .stack-project:nth-child(4) {top:146px;}
  .stack-project:nth-child(5) {top:158px;}
}
@media (max-width:1000px) {
  .stack-project-inner {min-height:380px;grid-template-columns:1fr 1fr;}
  .stack-copy {padding:35px;}
  .stack-copy h3 {font-size:clamp(30px,4.4vw,52px);}
  .stack-copy>p {font-size:13px;}
  .stack-sidelabel {display:none;}
}
@media (max-width:780px) {
  .work-section .section-heading {margin-bottom:38px;}
  .project-stack {gap:21px;}
  .stack-project {position:relative;top:auto!important;box-shadow:0 12px 32px #0008;border-radius:19px;}
  .stack-project-inner {display:flex;flex-direction:column;min-height:0;}
  .stack-artwork {height:clamp(240px,68vw,390px);}
  .stack-artwork-image {max-height:none;}
  .stack-copy {padding:28px 28px 34px;}
  .stack-copy::before {margin-bottom:19px;height:4px;width:52px;}
  .stack-copy h3 {font-size:clamp(32px,8.2vw,53px);margin:12px 0 14px;}
  .stack-copy>p {font-size:13px;margin-bottom:20px;line-height:1.7;}
  .stack-action {min-width:170px;}
  .stack-image-number {bottom:12px;left:12px;font-size:9px;}
  .gallery-main-trigger {aspect-ratio:4/3;min-height:250px;padding:10px;}
  .gallery-main-image {padding:13px;}
  .gallery-main-hint {right:9px;bottom:10px;font-size:9px;padding:8px 10px;}
  .gallery-toolbar {min-height:61px;padding:10px 14px;}
  .gallery-thumbnails {gap:9px;padding-top:13px;}
  .gallery-thumb {flex-basis:104px;height:85px;}
  .detail-gallery-intro {margin-bottom:22px;}
}
@media (max-width:450px) {
  .stack-artwork {height:245px;}
  .stack-copy {padding:24px 21px 28px;}
  .stack-kicker {letter-spacing:.08em;font-size:9px;}
  .stack-copy h3 {font-size:clamp(30px,8.4vw,42px);}
  .gallery-main-trigger {aspect-ratio:1/1;min-height:240px;}
  .gallery-main-image {padding:9px;}
  .gallery-main-shell {border-radius:14px;}
  .gallery-thumb {flex-basis:90px;height:74px;}
  .gallery-steppers button {width:42px;height:40px;}
  .gallery-explainer {font-size:10px;}
}
@media(prefers-reduced-motion:reduce) {
  .stack-project,.stack-artwork-image,.gallery-thumb,.gallery-main-hint {transition:none!important;transform:none!important;}
}

/* Subtle colour-matched blurred artwork fills letterboxing without cropping the original. */
.stack-artwork::before {content:"";position:absolute;inset:-20px;background-image:var(--stack-artwork);background-position:center;background-size:cover;filter:blur(48px) brightness(.32) saturate(1.15);opacity:.76;pointer-events:none;z-index:-1;}
