:root{--paper:#e3dfdc;--red:#2449ef}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:#2449ef;background:var(--paper);font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif;min-height:100svh}header{position:absolute;top:24px;left:3%;right:3%;display:flex;justify-content:space-between;gap:15px;font:9px/1.5 'Courier New',monospace;letter-spacing:.07em;z-index:3;pointer-events:none}main{position:relative;min-height:calc(100svh - 80px);padding:0 3% 25px;text-align:center;overflow:hidden;touch-action:pan-y}.still-art{height:53svh;min-height:370px;max-height:590px;position:relative;z-index:0;pointer-events:none}.still-art img{position:absolute;left:50%;bottom:0;transform:translateX(-50%) rotate(-5deg);height:94%;width:auto;max-width:90vw;object-fit:contain;transition:opacity .5s}.intro{position:relative;z-index:2;pointer-events:none}.wordmark{position:relative;width:100%;aspect-ratio:5.6;margin:-30px 0 5px;overflow:hidden;pointer-events:none}.wordmark img{position:absolute;left:0;top:-43%;display:block;width:100%;height:auto}.services{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 auto 27px;font-size:clamp(15px,1.8vw,27px);font-weight:700;letter-spacing:-.055em}.services b{font-size:30px;line-height:1;color:var(--red);font-weight:400}.description{font-size:11px;line-height:1.9;margin:0 auto 14px;max-width:620px}.contact{color:var(--red);font-size:11px;text-decoration:none;pointer-events:auto}.contact:hover{text-decoration:underline}#trail{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 3% 25px}.hint{font-size:9px;color:#67615d;margin:0}.hint span{display:none}.controls{display:flex;align-items:center;gap:17px}label{display:flex;align-items:center;gap:10px;font-size:9px;color:#67615d}input[type=range]{width:90px;accent-color:var(--red)}button{font:10px Arial,sans-serif;color:#39332f;border:0;border-bottom:1px solid #9d9791;background:none;padding:5px 0;cursor:pointer}button:hover{color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:5px}.mobile{display:none}
@media(max-width:650px){header{top:20px;left:6%;right:6%;font-size:7px}header span:last-child{max-width:70px;text-align:right}main{padding:0 4% 25px;min-height:calc(100svh - 120px)}.still-art{height:51svh;min-height:330px;max-height:500px}.still-art img{height:86%;max-width:98vw}.wordmark{width:104%;margin:0 -2% 17px;aspect-ratio:5.6}.services{font-size:16px;gap:4px 8px;max-width:340px;margin-bottom:24px}.services b{font-size:21px}.services span{white-space:nowrap}.services b:nth-of-type(2){display:none}.description{font-size:10px;line-height:2}.mobile{display:block}.contact{font-size:10px}footer{padding:10px 6% 28px;flex-direction:column;gap:15px}.hint{font-size:8px}.hint{font-size:0}.hint span{display:block;font-size:8px}.controls{gap:16px}.controls label{font-size:8px}.controls button{font-size:9px}input[type=range]{width:75px}}
@media(prefers-reduced-motion:reduce){.still-art img{transition:none}}

@media(max-width:650px){.services{display:grid;grid-template-columns:repeat(2,max-content);column-gap:16px;row-gap:7px}.services b{display:none}.services span:before{content:"✦";color:var(--red);margin-right:7px}}

/* Blue identity / fixed logo */
.still-art{height:51svh;min-height:300px}.still-art img{height:78%;bottom:6%;transform:translateX(-50%);max-width:75vw}.wordmark{font-family:"aktiv-grotesk-extended","Arial Black",Arial,sans-serif;font-weight:700;font-size:clamp(32px,10.2vw,160px);line-height:1.1;letter-spacing:-.065em;aspect-ratio:auto;margin:0 0 28px;overflow:visible;color:#2449ef;white-space:nowrap}.intro{pointer-events:none}@media(max-width:650px){.still-art{height:47svh;min-height:280px}.still-art img{height:70%;bottom:8%}.wordmark{font-size:10vw;width:100%;margin:0 0 28px;letter-spacing:-.07em}}
.metal-logo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.still-art img[hidden]{display:none}.still-art.metal-ready{overflow:visible}

/* Clean demo: logo and typography in front of the angel trail. */
main{min-height:100svh}.still-art{z-index:2}@media (pointer:fine){html,body,main,a{cursor:url("assets/heart-cursor.svg") 16 14,auto}}

.offer-section{position:relative;z-index:2;background:var(--paper);padding:85px 6% 65px}.offer-heading{display:grid;grid-template-columns:1fr 2fr 1.3fr;gap:25px;align-items:start;margin-bottom:70px}.eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:.1em}.offer-heading h2{font-size:clamp(30px,4vw,60px);line-height:1.35;margin:0;letter-spacing:-.05em}.offer-heading>p:last-child{font-size:12px;line-height:2;margin:0}.offer-row{border-top:1px solid #2449ef55;padding:34px 0;display:grid;grid-template-columns:1.2fr 1.4fr 1fr;gap:40px}.offer-row:last-child{border-bottom:1px solid #2449ef55}.offer-row h3{font-size:clamp(20px,2.1vw,32px);letter-spacing:-.04em;margin:12px 0;font-weight:700}.offer-copy{font-size:12px;line-height:1.95}.offer-copy p{margin:0 0 9px}.offer-price{text-align:right;font-size:clamp(25px,2.8vw,42px);letter-spacing:-.04em;font-weight:700;white-space:nowrap}.offer-price span{display:block;font-size:10px;font-weight:400;margin-top:5px;letter-spacing:0}.offer-price a{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:20px;color:inherit;text-underline-offset:5px}.offer-price.quote{font-size:19px;letter-spacing:0}.offer-note{max-width:790px;font-size:10px;line-height:2;margin:25px 0 0}.offer-contact{text-align:center;margin-top:110px}.offer-contact p{font-size:12px}.offer-contact>a{display:block;font-family:'aktiv-grotesk-extended',Arial,sans-serif;font-weight:700;font-size:clamp(44px,7vw,100px);letter-spacing:-.055em;color:inherit;text-decoration:none}.offer-contact>span{display:block;font-size:11px;margin-top:12px}@media(max-width:650px){.offer-section{padding:45px 6%}.offer-heading{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.offer-row{grid-template-columns:1fr;gap:12px;padding:26px 0}.offer-row h3{margin:8px 0}.offer-price{text-align:left;font-size:32px}.offer-price span{display:inline-block;margin-left:10px}.offer-price a{margin-top:14px}.offer-contact{margin-top:65px}}

.services a{color:inherit;text-decoration:none;pointer-events:auto}.services a:hover{text-decoration:underline;text-underline-offset:5px}.home-links{display:flex;justify-content:center;gap:30px;margin-top:25px;pointer-events:auto}.home-links a,.page-nav a{color:inherit;font-size:11px;text-decoration:none;letter-spacing:.04em}.home-links a:hover,.page-nav a:hover{text-decoration:underline;text-underline-offset:5px}.page-nav{display:flex;justify-content:space-between;padding:28px 6%}.service-main{padding:0;text-align:left;min-height:auto;overflow:visible}.service-main .offer-section{padding-top:65px}.offer-heading h1{font-size:clamp(30px,4vw,60px);line-height:1.35;margin:0;letter-spacing:-.05em}.offer-row{scroll-margin-top:30px}@media(max-width:650px){.service-main .offer-section{padding-top:30px}.home-links{gap:25px}}
.detail-nav{display:flex;gap:25px;padding:15px 6%;flex-wrap:wrap;border-bottom:1px solid #2449ef44}.detail-nav a{color:inherit;font-size:12px;text-decoration:none}.detail-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.detail-wrap{max-width:1500px;margin:auto;padding:60px 6%}.detail-hero{padding:0 0 60px}.detail-hero h1{font-family:'aktiv-grotesk-extended',Arial,sans-serif;font-size:clamp(40px,7vw,105px);line-height:1.1;letter-spacing:-.06em;margin:25px 0 40px}.detail-hero h2,.detail-block h2{font-size:clamp(25px,3vw,42px);line-height:1.5;letter-spacing:-.04em}.detail-hero p,.detail-block p{font-size:13px;line-height:2}.detail-block{padding:45px 0;border-top:1px solid #2449ef55}.detail-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.detail-columns h3{font-size:20px}.price-detail{display:grid;grid-template-columns:1fr 1fr;gap:40px}.price-detail small{font-size:12px;letter-spacing:0;white-space:nowrap}.project-preview{display:block;max-width:900px;color:inherit;text-decoration:none}.project-preview img{width:100%;display:block;margin-top:30px}.client-list>div{display:grid;grid-template-columns:2fr 1fr;gap:30px;border-bottom:1px solid #2449ef33;padding:23px 0;font-size:15px}.client-list dd{margin:0;font-size:12px}.service-directory a{display:flex;justify-content:space-between;padding:25px 0;border-bottom:1px solid #2449ef44;color:inherit;text-decoration:none;font-size:clamp(20px,3vw,40px);font-weight:700}.film-gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;align-items:start}.film-work{margin:0;min-width:0}.film-work.landscape{grid-column:1/-1;grid-row:2}.film-work video{display:block;width:100%;height:auto;max-height:75svh;background:#141414;object-fit:contain}.film-work.portrait video{aspect-ratio:9/16}.film-work.landscape video{aspect-ratio:16/9}.film-work figcaption{display:flex;justify-content:space-between;gap:15px;font-size:10px;padding:12px 0}.film-hint{margin-bottom:30px}@media(max-width:650px){.detail-nav{gap:19px}.detail-nav a{font-size:10px}.detail-wrap{padding-top:30px}.detail-hero{padding-bottom:35px}.detail-hero h1{font-size:clamp(32px,9vw,58px)}.detail-columns,.price-detail{grid-template-columns:1fr;gap:15px}.detail-block{padding:30px 0}.client-list>div{grid-template-columns:1fr;gap:8px}.film-gallery{grid-template-columns:1fr;gap:35px}.film-work.landscape{grid-column:auto;grid-row:auto}.film-work figcaption{font-size:9px}.page-nav{gap:15px}.page-nav a{font-size:10px}}

/* Clearly interactive hero links, keeping the heart cursor. */
#stage .services a,#stage .home-links a{display:inline-block;transition:color .18s ease;text-decoration:none}
#stage .services a:hover,#stage .home-links a:hover,#stage .services a:focus-visible,#stage .home-links a:focus-visible,#stage .services a:active,#stage .home-links a:active{color:#d91972;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
@media(prefers-reduced-motion:reduce){#stage .services a,#stage .home-links a{transition:none}}

/* The first paint and WebGL fallback use the finished silver artwork. */
.still-art{container-type:size;container-name:metal-frame}
.metal-fallback{position:absolute;inset:0}
.metal-fallback[hidden]{display:none}
.still-art .metal-poster{position:absolute;left:50%;top:0;bottom:auto;height:100%;width:auto;max-width:none;transform:translateX(-50%);object-fit:contain;transition:none}
.metal-poster-mobile{display:none}
@container metal-frame (aspect-ratio < 1/1){.metal-poster-desktop{display:none}.metal-poster-mobile{display:block}}
.metal-logo{opacity:0}
.metal-ready .metal-logo{opacity:1}
