@font-face{font-family:Aeonik;src:url('assets/fonts/AeonikProTRIAL-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Aeonik;src:url('assets/fonts/AeonikProTRIAL-Medium.otf') format('opentype');font-weight:500;font-display:swap}
:root{--paper:#f4f2e9;--blue:#2424ef;--ink:#202224;--line:#25252530;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Aeonik,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:var(--paper)}.skip-link{position:fixed;top:-100px;left:20px;padding:15px;background:var(--blue);color:white;z-index:20}.skip-link:focus{top:20px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:30px 4vw;color:var(--blue);font-size:13px;font-weight:500}.site-header nav{display:flex;gap:36px}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{padding:30px 4vw 0}.hero h1{font-size:clamp(44px,7.65vw,150px);font-weight:400;letter-spacing:-.058em;line-height:1.02;color:var(--blue);margin:14px 0 40px;white-space:nowrap}.hero-visual{position:relative;width:100%;height:min(64vw,690px);min-height:380px;overflow:hidden;background:#151829}.hero-visual img,.hero-visual canvas{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-visual canvas{opacity:0;transition:opacity .3s;pointer-events:none}.hero-visual.is-ready canvas{opacity:1}.motion-toggle{position:absolute;bottom:20px;right:22px;z-index:2;background:#f4f2e9;color:#2424ef;border:0;padding:10px 14px;font-size:11px;display:flex;gap:20px;align-items:center}.products,.about{margin:0 4vw;padding:100px 0;display:grid;grid-template-columns:1fr 3fr;gap:5vw}.products h2,.about h2{font-size:18px;font-weight:400;color:var(--blue);padding-top:27px}.product-list article{display:grid;grid-template-columns:1.15fr 1fr;align-items:baseline;gap:40px;border-top:1px solid var(--line);padding:27px 0 32px;scroll-margin-top:40px}.product-list article:last-child{border-bottom:1px solid var(--line)}.product-list h3{font-weight:400;font-size:clamp(22px,2.15vw,38px);line-height:1.15;letter-spacing:-.04em}.product-list p{font-size:16px;line-height:1.5;max-width:400px;color:#565857}.about{padding-top:65px;padding-bottom:140px;border-top:1px solid var(--line)}.about h2{padding-top:8px}.about-copy{max-width:880px}.about-copy p{font-size:clamp(20px,2.25vw,34px);line-height:1.4;letter-spacing:-.028em;margin-bottom:28px}.about-copy p:not(:first-child){font-size:20px;line-height:1.6;max-width:730px;letter-spacing:-.01em;color:#565857}.about-copy em{font-style:normal;color:var(--blue)}footer{margin:0 4vw;border-top:1px solid var(--line);padding:30px 0;display:flex;gap:35px;font-size:12px;color:var(--blue)}footer span:nth-child(2){margin-left:auto}
@media(min-width:1800px){.hero-visual{height:760px}.products,.about{padding-top:120px}}
@media(max-width:800px){.site-header{padding:25px 22px;font-size:11px}.site-header nav{gap:22px}.hero{padding:20px 22px 0}.hero h1{font-size:10vw;white-space:normal;max-width:620px;line-height:1.02;margin:5px 0 25px}.hero-visual{height:65svh;min-height:350px;max-height:560px}.hero-visual img{object-position:80% center}.products,.about{margin:0 22px;padding:65px 0;grid-template-columns:1fr;gap:30px}.products h2,.about h2{padding:0;font-size:16px}.product-list article{grid-template-columns:1fr;gap:12px;padding:25px 0}.product-list h3{font-size:28px}.product-list p{font-size:15px;max-width:330px}.about-copy p{font-size:26px}.about-copy p:not(:first-child){font-size:17px}.motion-toggle{bottom:14px;right:14px;font-size:10px}footer{margin:0 22px;flex-wrap:wrap;gap:20px;font-size:10px}footer span:nth-child(2){margin-left:0}footer a{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand{display:inline-flex;align-items:center;gap:14px}.brand-symbol{display:block;width:44px;height:40px;flex-shrink:0;background:var(--blue);-webkit-mask:url('assets/company/logo.png') center / auto 100% no-repeat;mask:url('assets/company/logo.png') center / auto 100% no-repeat}.product-list h3 a{display:inline-flex;flex-direction:column;align-items:flex-start;gap:10px}.product-url{font-size:12px;letter-spacing:0;color:var(--blue)}.product-list h3 a:hover .product-url{text-decoration:underline;text-underline-offset:4px}footer{align-items:center}footer .brand-symbol{width:33px;height:30px}@media(max-width:800px){.site-header .brand{gap:8px;font-size:9px}.site-header .brand-symbol{width:31px;height:28px}.site-header nav{gap:16px}}

/* Logo-only masthead, inline external links, and a restrained print grain. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0}
.site-header{padding-top:26px;padding-bottom:20px}.hero{padding-top:8px}
.product-list article{grid-template-columns:1.15fr 1fr 28px;gap:30px}.product-arrow{color:var(--ink);font-size:25px;align-self:center;justify-self:end;line-height:1;padding:8px;margin:-8px;transition:transform .2s}.product-arrow:hover{transform:translate(2px,-2px)}.product-list sup{font-size:.4em;vertical-align:super;margin-left:4px;letter-spacing:0}
body:after{content:"";position:fixed;inset:0;z-index:15;pointer-events:none;background:url('assets/company/grain.svg') repeat;opacity:.085;mix-blend-mode:multiply}
@media(max-width:800px){.product-list article{grid-template-columns:1fr 28px;column-gap:18px;row-gap:12px}.product-list article h3{grid-column:1}.product-list article p{grid-column:1}.product-arrow{grid-column:2;grid-row:1 / 3}.site-header .brand-symbol{width:40px;height:36px}}

.site-header{justify-content:center}.hero .hero-title{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;margin:0;text-align:center;white-space:normal;font-size:clamp(32px,5.5vw,96px);font-weight:400;line-height:1.05;letter-spacing:-.05em;color:#fff6e9;text-shadow:0 2px 28px #0009;pointer-events:none}.product-arrow .link-icon{display:block;width:24px;height:24px;position:static}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,#0003 50%,transparent 75%);pointer-events:none;z-index:1}@media(max-width:800px){.hero .hero-title{font-size:clamp(32px,9vw,54px);max-width:100%;width:92%}}

/* A larger visual opening, followed by company context and then products. */
.hero-visual{height:calc(100svh - 130px);min-height:600px;max-height:1100px}.about{border-top:0;padding-top:100px;padding-bottom:80px}.products{border-top:1px solid var(--line);padding-top:70px}.hero-visual img{object-position:center}
@media(max-width:800px){.hero-visual{height:76svh;min-height:440px;max-height:800px}.about{padding-top:65px;padding-bottom:55px}.products{padding-top:55px}}

/* The centered mark stays independent of the corner theme switch. */
.site-header{position:relative}.theme-toggle{position:absolute;right:4vw;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px;padding:10px 0 10px 10px;border:0;background:transparent;color:var(--ink)}
.theme-icon{display:block;width:18px;height:18px;background:currentColor;mask:url('assets/icons/lucide/moon.svg') center / contain no-repeat;-webkit-mask:url('assets/icons/lucide/moon.svg') center / contain no-repeat}.theme-track{display:block;width:34px;height:20px;border:1px solid var(--line);border-radius:20px;background:#25252512;padding:3px}.theme-track>span{display:block;width:12px;height:12px;background:var(--ink);border-radius:50%;transition:transform .2s}
html[data-theme=dark]{--paper:#141719;--ink:#efeee8;--blue:#9d9dff;--line:#efeee830;color-scheme:dark}
html[data-theme=dark] .product-list p,html[data-theme=dark] .about-copy p:not(:first-child){color:#b7bcbf}
html[data-theme=dark] .link-icon{filter:invert(1)}html[data-theme=dark] .theme-track>span{transform:translateX(14px)}html[data-theme=dark] .theme-icon{mask-image:url('assets/icons/lucide/sun.svg');-webkit-mask-image:url('assets/icons/lucide/sun.svg')}
html[data-theme=dark] body:after{mix-blend-mode:screen;opacity:.04}
footer .merch-link{width:auto}footer .merch-link:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:800px){.theme-toggle{right:22px}}

/* Lower-third title, framed photography, and a site-wide green wash. */
.hero .hero-title{top:74%;font-weight:500;text-transform:none;font-size:clamp(32px,4.4vw,76px)}
.hero-visual{border:1px solid var(--ink)}
body:before{content:"";position:fixed;inset:0;z-index:14;pointer-events:none;background:#7fbc88;mix-blend-mode:multiply;opacity:.16}
html[data-theme=dark] body:before{background:#52946b;mix-blend-mode:soft-light;opacity:.22}
@media(max-width:800px){.hero .hero-title{top:74%;font-size:clamp(30px,8vw,44px)}}

/* Neutral charcoal background without the green wash. */
body:before{display:none}
html[data-theme=dark]{--paper:#000000;--ink:#eeeeee;--line:#eeeeee30;color-scheme:dark}
html[data-theme=dark] .product-list p,html[data-theme=dark] .about-copy p:not(:first-child){color:#bcbcbc}

/* Full Polaroid frame with a deeper lower margin. */
.hero-visual{border-style:solid;border-color:#eeeae0;border-width:22px 22px 78px;box-shadow:0 8px 28px #0003}
@media(max-width:800px){.hero-visual{border-width:12px 12px 48px}}

html[data-theme=dark] body:after{mix-blend-mode:multiply}

/* Even frame and a two-sided lower-third caption. */
@font-face{font-family:Aeonik;src:url('assets/fonts/AeonikProTRIAL-Light.otf') format('opentype');font-weight:300;font-display:swap}
.hero-visual{border-width:22px}
.hero-caption{position:absolute;z-index:2;left:5%;right:5%;top:74%;transform:translateY(-50%);display:flex;justify-content:space-between;align-items:center;gap:36px;color:#fff6e9;text-shadow:0 2px 24px #000a;pointer-events:none}
.hero .hero-title{position:static;transform:none;width:auto;max-width:72%;text-align:left;font-size:clamp(32px,3.7vw,66px);margin:0;line-height:1.05}
.hero-location{display:flex;flex-direction:column;gap:8px;text-align:right;font-size:clamp(12px,1.05vw,18px);font-weight:300;line-height:1.4;letter-spacing:.035em;white-space:nowrap}
@media(max-width:800px){.hero-visual{border-width:12px}.hero-caption{left:7%;right:7%;top:auto;bottom:8%;transform:none;align-items:flex-start;flex-direction:column;gap:24px}.hero .hero-title{max-width:100%;font-size:clamp(30px,8vw,44px)}.hero-location{align-self:flex-end;font-size:12px;gap:4px}}

/* Stronger chromatic film grain; soft-light preserves the pure-black backdrop. */
body:after,html[data-theme=dark] body:after{background-image:url('assets/company/grain-color.svg');background-size:220px 220px;mix-blend-mode:soft-light;opacity:.38}

/* Single-line signature at the bottom of the image. */
.hero-caption{top:auto;bottom:5%;transform:none;justify-content:flex-end}
.hero-location{display:block;font-weight:500;letter-spacing:.015em;font-size:clamp(12px,1.05vw,18px);white-space:nowrap}
@media(max-width:800px){.hero-caption{left:4%;right:4%;bottom:5%;flex-direction:row;gap:0}.hero-location{font-size:clamp(9px,2.55vw,13px);letter-spacing:0}}

.hero-caption{justify-content:space-between;align-items:baseline;gap:24px}.hero .hero-title{font-size:clamp(24px,2.5vw,44px);font-weight:500;max-width:58%}
@media(max-width:800px){.hero-caption{flex-direction:column;align-items:flex-start;gap:14px}.hero .hero-title{font-size:clamp(23px,6vw,32px);max-width:100%}.hero-location{align-self:flex-end}}

.hero .hero-title{text-transform:uppercase}

.products[hidden]{display:none}

/* Two balanced footer groups, including at narrow widths. */
footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:24px}
footer .brand{width:auto;max-width:50%;gap:12px}footer .brand>span:last-child{line-height:1.4}
.footer-details{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:10px;flex-shrink:0}
footer .footer-details>span{margin:0}.merch-label{display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:4px}
.merch-label img{display:block}html[data-theme=dark] .merch-label img{filter:invert(1)}
@media(max-width:800px){footer{align-items:flex-start;gap:18px}footer .brand{max-width:46%;gap:9px;font-size:11px}footer .brand>span:last-child{max-width:100px}footer .brand-symbol{width:29px;height:27px}.footer-details{font-size:10px;gap:9px}.hero-caption{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:12px}.hero .hero-title{font-size:clamp(15px,4.2vw,24px);max-width:100%;line-height:1.15}.hero-location{align-self:end;text-align:right;white-space:normal;font-size:clamp(9px,2.3vw,12px);line-height:1.5}}

/* Rounded frame, foreground portrait crop, and the lenticular photo surface. */
.hero-visual{border-radius:22px}.hero-visual>img,.hero-visual>canvas{border-radius:3px}
footer .brand{font-size:18px;font-weight:500}footer .brand>span:last-child{max-width:none}
#hero-alternate{opacity:0;pointer-events:none}.hero-visual[data-pose=alternate]:not(.is-ready) #hero-alternate{opacity:1}
.photo-angle{position:absolute;inset:0;z-index:2;width:100%;height:100%;background:transparent;border:0;padding:0;border-radius:3px;cursor:default}.photo-angle:focus-visible{outline:2px solid #fff;outline-offset:-7px}.hero-caption{z-index:3}
@media(max-width:800px){.hero-visual{border-radius:17px;height:70svh;min-height:420px;max-height:640px}.hero-visual img{object-position:75% center}footer .brand{font-size:15px;gap:10px;max-width:49%}footer .brand>span:last-child{max-width:115px}footer .brand-symbol{width:32px;height:30px}}
/* Shared footer links and policy-page typography. */
.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:nowrap;white-space:nowrap}.footer-links a{flex-shrink:0;width:auto;text-decoration:underline;text-underline-offset:4px}.footer-location{white-space:nowrap}
.policy-main{max-width:1240px;margin:0 auto;padding:70px 5vw 120px}.policy-heading{border-bottom:1px solid var(--line);padding-bottom:45px;margin-bottom:55px}.policy-back{font-size:13px;color:var(--blue)}.policy-heading h1{font-size:clamp(48px,7vw,92px);font-weight:400;letter-spacing:-.05em;margin:35px 0 20px}.policy-heading>p{font-size:21px;line-height:1.5}.policy-heading .policy-date{font-size:12px;opacity:.65;margin-top:25px}.policy-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:70px}.policy-toc{display:flex;flex-direction:column;gap:14px;align-self:start;position:sticky;top:35px;font-size:13px;line-height:1.4}.policy-toc a:hover{color:var(--blue)}.policy-copy section{margin-bottom:42px;scroll-margin-top:35px}.policy-copy h2{font-size:25px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin-bottom:16px}.policy-copy p{font-size:17px;line-height:1.75;opacity:.88;overflow-wrap:anywhere}.policy-copy a{text-decoration:underline;text-underline-offset:3px}.policy-copy code{font-size:.85em;border:1px solid var(--line);padding:2px 4px;border-radius:3px}
@media(max-width:800px){.footer-details{max-width:62%;gap:12px}.footer-links{gap:10px;font-size:10px}.footer-location{font-size:9px}footer .brand{min-width:0;max-width:38%;font-size:13px;gap:8px}.policy-main{padding:35px 24px 65px}.policy-heading{margin-bottom:35px;padding-bottom:30px}.policy-heading>p{font-size:18px}.policy-layout{grid-template-columns:1fr;gap:40px}.policy-toc{position:static;display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:12px}.policy-copy h2{font-size:23px}.policy-copy p{font-size:16px}}
@media(max-width:360px){footer .brand{flex-direction:column;align-items:flex-start}.footer-links{gap:8px}.footer-location{font-size:8px}}

/* Fixed lens ribs remain visible on both poses, even without WebGL. */
.hero-visual::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,rgba(255,255,255,.065) 1px,transparent 2px,transparent 4px);border-radius:3px}
.tilt-control{position:absolute;right:16px;top:16px;z-index:4;display:flex;align-items:flex-end;flex-direction:column;gap:7px;max-width:230px}.tilt-control[hidden]{display:none}.tilt-toggle{border:1px solid #ffffff65;border-radius:20px;background:#0009;color:#fff;padding:8px 12px;font-size:11px;backdrop-filter:blur(8px)}.tilt-toggle[aria-pressed=true]{background:#f4f2e9;color:#171717}.tilt-control [role=status]{font-size:11px;line-height:1.4;color:#fff;text-align:right;background:#0009;border-radius:4px;padding:5px 8px}.tilt-control [role=status]:empty{display:none}

@media(max-width:800px){footer{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:16px}footer .brand{max-width:none;width:auto}.footer-details{max-width:none;gap:10px}.footer-links{gap:12px}.footer-location{font-size:9px}}
@media(max-width:360px){footer{gap:12px}footer .brand{font-size:12px}.footer-links{gap:9px}.footer-location{font-size:8px}}
/* Original dot-field intro; content remains available without JavaScript. */
body.is-loading{overflow:hidden}.site-loader{position:fixed;inset:0;z-index:100;pointer-events:auto;opacity:1;transition:opacity .65s ease}.site-loader[hidden]{display:none}.site-loader__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.site-loader__overlay{position:absolute;inset:0;background:#000;z-index:0}.site-loader .site-loader__logo{position:absolute;left:50%;top:50%;width:64px;height:58px;transform:translate(-50%,-50%);background:#f4f2e9;z-index:2;transition:opacity .35s}.site-loader.is-exiting{opacity:0;pointer-events:none}.site-loader.is-exiting .site-loader__logo{opacity:0}@media(prefers-reduced-motion:reduce){.site-loader{display:none}}

.site-loader{--loader-base:#fff;--loader-blue:#2424ef}.site-loader__overlay{background:var(--loader-base)}.site-loader .site-loader__logo{background:var(--loader-blue)}html[data-theme=dark] .site-loader{--loader-base:#000;--loader-blue:#9d9dff}

.site-loader{--loader-blue:#1515c9}html[data-theme=dark] .site-loader{--loader-blue:#b3b3ff}

/* Organization marks follow the complete About section in a single row. */
.about{padding-bottom:65px}.organization-strip{margin:0 4vw;padding:0 0 75px;overflow-x:auto}.organization-logos{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:40px;list-style:none;padding:0;margin:0;color:var(--blue)}.organization{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-height:44px}.organization-mark{display:block;width:148px;height:36px;background:currentColor;mask:var(--organization-logo) center/contain no-repeat;-webkit-mask:var(--organization-logo) center/contain no-repeat}.organization-name{font-size:13px;line-height:1.25;font-weight:500}.organization--e14 .organization-mark{width:36px;height:40px}.organization--harvard .organization-mark{width:138px;height:42px}.organization--scad .organization-mark{width:125px}.organization--elevenlabs .organization-mark{width:143px;height:25px}
.organization--harvard{--organization-logo:url("assets/organizations/harvard.svg")}
.organization--mit{--organization-logo:url("assets/organizations/mit.svg")}
.organization--scad{--organization-logo:url("assets/organizations/scad.svg")}
.organization--elevenlabs{--organization-logo:url("assets/organizations/elevenlabs.svg")}
.organization--e14{--organization-logo:url("assets/organizations/e14.svg")}
.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0}.footer-identity .brand{max-width:none}.footer-social{display:flex;gap:16px;align-items:center}.footer-social-link{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.footer-social-icon{display:block;width:17px;height:17px;fill:currentColor}.footer-social-link:hover{opacity:.65}
@media(max-width:800px){.organization-strip{margin:0 22px;padding-bottom:48px;scrollbar-width:thin}.organization-logos{justify-content:flex-start;gap:30px;padding-bottom:15px}.organization-mark{width:120px;height:30px}.organization--harvard .organization-mark{width:112px;height:34px}.organization--scad .organization-mark{width:100px}.organization--elevenlabs .organization-mark{width:122px;height:23px}.organization--e14 .organization-mark{width:30px;height:34px}.organization-name{font-size:12px}.footer-social{gap:12px}.footer-social-link{width:24px;height:28px}footer{align-items:start}}

/* Three balanced footer groups; mobile marks remain fully visible. */
footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:30px}.footer-identity{justify-self:start}.footer-links{justify-self:center;justify-content:center}.footer-details{justify-self:end;align-items:flex-end;max-width:none}.footer-social{justify-content:flex-end}
@media(max-width:800px){.organization-strip{overflow:visible}.organization-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding:0;justify-items:center}.organization{justify-content:center;min-width:0;max-width:100%}.organization:last-child{grid-column:1/-1}.organization-mark{max-width:100%}footer{grid-template-columns:minmax(0,1fr) auto;gap:24px 16px;align-items:center}.footer-identity{grid-column:1;grid-row:1}.footer-details{grid-column:2;grid-row:1;gap:8px}.footer-links{grid-column:1/-1;grid-row:2;gap:22px;font-size:11px}.footer-social{gap:12px}}

@media(min-width:801px){.organization-logos{justify-content:center;gap:clamp(28px,3.5vw,64px)}}


/* A centered editorial block keeps the heading, statement and detail together. */
.about{width:calc(100% - 8vw);max-width:1040px;margin:0 auto;padding:96px 0 72px;display:block}
.about h2{padding:0;margin:0 0 24px;font-size:16px}
.about-copy{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 56px}
.about-copy p{margin:0}
.about-copy p:first-child{grid-column:1/-1;max-width:960px;font-size:clamp(28px,2.7vw,40px);line-height:1.3;letter-spacing:-.03em}
.about-copy p:not(:first-child){max-width:none;font-size:18px;line-height:1.65}
@media(max-width:800px){.about{width:auto;margin:0 22px;padding:56px 0 48px}.about h2{margin-bottom:20px;font-size:15px}.about-copy{grid-template-columns:1fr;gap:22px}.about-copy p:first-child{font-size:28px;line-height:1.3}.about-copy p:not(:first-child){font-size:17px;line-height:1.6}}

@media(min-width:801px){
  .about{max-width:780px;padding:88px 0 64px}
  .about-copy{grid-template-columns:1fr;gap:24px}
  .about-copy p:first-child{font-size:34px;line-height:1.35;max-width:none;margin-bottom:8px;text-wrap:pretty}
  .about-copy p:not(:first-child){font-size:20px;line-height:1.65;text-wrap:pretty}
}

/* Shared text and logo measure, with more generous reading space. */
@media(min-width:801px){
  .about{padding:120px 0 88px}
  .about-copy{gap:36px}
  .about-copy p:first-child{font-size:36px;line-height:1.4;margin-bottom:8px;text-wrap:balance}
  .about-copy p:not(:first-child){font-size:23px;line-height:1.65}
  .organization-strip{width:calc(100% - 8vw);max-width:780px;margin:0 auto;padding-bottom:104px;overflow:visible}
  .organization-logos{justify-content:space-between;gap:16px}
}
@media(max-width:800px){
  .about{padding:72px 0 64px}
  .about-copy{gap:28px}
  .about-copy p:first-child{font-size:30px;line-height:1.35}
  .about-copy p:not(:first-child){font-size:18px;line-height:1.65}
  .organization-strip{padding-bottom:64px}
}

/* Keep film grain in a viewport-level layer above imagery and page content. */
body::after,html[data-theme=dark] body::after{content:none}
html::after{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;background:url('assets/company/grain-color.svg') repeat;background-size:220px 220px;mix-blend-mode:normal;opacity:.075}
html[data-theme=dark]::after{opacity:.055}

/* Immersive, pointer-responsive atmosphere replaces the photographic print. */
.hero-atmosphere{height:calc(100svh - 150px);min-height:560px;max-height:1050px;border:0;border-radius:18px;box-shadow:none;background:radial-gradient(ellipse at 85% 20%,#a2bdd8 0,transparent 62%),linear-gradient(125deg,#020a1b,#153963 65%,#779abd)}
.hero-atmosphere::after{background:linear-gradient(90deg,#01081745,transparent 80%);border-radius:inherit}
.hero-atmosphere .hero-caption{inset:0;padding:8%;transform:none;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:32px;text-align:left}
.hero-atmosphere .hero-title{font-size:clamp(64px,8vw,144px);font-weight:400;line-height:.98;letter-spacing:-.055em;max-width:100%;width:auto;text-shadow:0 2px 30px #03132b26}
.hero-atmosphere .hero-location{align-self:flex-start;text-align:left;font-size:clamp(12px,1.1vw,17px);font-weight:400;letter-spacing:.045em;white-space:normal;line-height:1.7;max-width:100%;margin:0}
@media(max-width:800px){.hero-atmosphere{height:74svh;min-height:440px;max-height:760px;border:0;border-radius:12px}.hero-atmosphere .hero-caption{padding:8%;gap:26px}.hero-atmosphere .hero-title{font-size:clamp(29px,7.5vw,60px);line-height:1.04;max-width:100%}.hero-atmosphere .hero-location{font-size:10px;max-width:250px;letter-spacing:.035em}}

/* Full-screen brand atmosphere with navigation floating above it. */
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:10;color:#f4f2e9}
.home-page .theme-toggle{color:#f4f2e9}
.home-page .theme-track{border-color:#f4f2e960;background:#f4f2e914}
.home-page .theme-track>span{background:#f4f2e9}
.home-page .hero{padding:0}
.home-page .hero-atmosphere{height:100svh;min-height:560px;max-height:none;border:0;border-radius:0;background:radial-gradient(ellipse at 80% 25%,#a4aaff,transparent 65%),linear-gradient(135deg,#08051c,#2424ef)}
.home-page .hero-atmosphere::after{background:linear-gradient(90deg,#05051a60,transparent 90%)}
.home-page .hero-atmosphere .hero-caption{padding:120px 8vw 70px}
@media(max-width:800px){.home-page .hero-atmosphere{height:100svh;min-height:480px}.home-page .hero-atmosphere .hero-caption{padding:100px 7vw 60px}.home-page .hero-atmosphere .hero-title{font-size:clamp(30px,8.6vw,68px)}}

/* A quiet white signature above the interactive atmosphere. */
.home-page .site-header .brand-symbol{background:#fff;animation:brand-breathe 4.8s ease-in-out infinite}
@keyframes brand-breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.78;transform:scale(.96)}}
.home-page .hero-atmosphere .hero-title{font-size:clamp(38px,5.2vw,100px);white-space:nowrap}
@media(max-width:800px){.home-page .hero-atmosphere .hero-title{font-size:clamp(30px,8.6vw,68px);white-space:normal}.hero-name-break{display:block}}
@media(prefers-reduced-motion:reduce){.home-page .site-header .brand-symbol{animation:none}}

/* Footer identity and a blue introduction. */
footer .brand,footer .footer-social,footer .footer-location{color:#000}
footer .brand-symbol{background:#000}
.about-copy p:first-child{color:#2424ef}

/* Responsive hero typography, with a lower-third composition on phones. */
@media(max-width:800px){
 .home-page .hero-atmosphere .hero-caption{justify-content:flex-end;padding:100px 7vw 19svh;gap:36px}
 .home-page .hero-atmosphere .hero-title{font-size:clamp(34px,11vw,78px);line-height:1.04}
 .home-page .hero-atmosphere .hero-location{font-size:9px;line-height:1.65;max-width:100%;letter-spacing:.025em}
}

/* Center the hero title and supporting line at every screen size. */
.home-page .hero-atmosphere .hero-caption{align-items:center;text-align:center}
.home-page .hero-atmosphere .hero-title{text-align:center}
.home-page .hero-atmosphere .hero-location{align-self:center;text-align:center}

/* Blue social feedback and stable character slots for text scrambling. */
.footer-social-link{transition:color .18s ease,opacity .18s ease}
.footer-links a{display:inline-flex;transition:color .18s ease}
@media(hover:hover) and (pointer:fine){footer .footer-social-link:hover{color:#2424ef;opacity:1}}
footer .footer-social-link:focus-visible{color:#2424ef;opacity:1}
.scramble-glyph{position:relative;display:inline-block;white-space:pre}
.scramble-glyph>span{position:absolute;inset:0;text-align:center;visibility:hidden}
.scramble-running .scramble-glyph{color:transparent}
.scramble-running .scramble-glyph>span{visibility:visible;color:var(--blue)}
@media(prefers-reduced-motion:reduce){.footer-social-link,.footer-links a{transition:none}}

/* Phone safe areas, readable captions and comfortable footer touch targets. */
@media(max-width:800px){
 .home-page .site-header{padding-top:max(25px,env(safe-area-inset-top))}
 .home-page .hero-atmosphere .hero-caption{padding-left:max(7vw,env(safe-area-inset-left));padding-right:max(7vw,env(safe-area-inset-right));padding-bottom:max(19svh,calc(env(safe-area-inset-bottom) + 70px))}
 .home-page .hero-atmosphere .hero-location{font-size:10.5px;max-width:290px;line-height:1.7;text-wrap:balance}
 footer{padding-bottom:max(24px,env(safe-area-inset-bottom));column-gap:14px;row-gap:16px}
 .footer-social{gap:4px}
 .footer-social-link{width:44px;height:44px}
 .footer-social-icon{width:18px;height:18px}
 .footer-location{font-size:10px;line-height:1.5}
 .footer-details{gap:4px}
 .footer-links{gap:24px}
 .footer-links a{min-height:44px;align-items:center;font-size:12px}
}
@media(max-width:360px){
 footer{column-gap:10px}
 footer .brand{flex-direction:row;align-items:center;font-size:11px;gap:6px}
 footer .brand-symbol{width:26px;height:24px}
 .footer-location{font-size:9px}
 .footer-social-link{width:40px}
}

/* Company film shares the reading section without cropping the original frame. */
.about-with-film{max-width:1320px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(40px,5vw,88px)}
.about-with-film .about-copy{gap:28px}
.about-with-film .about-copy p:first-child{font-size:clamp(28px,2.5vw,36px);line-height:1.35}
.about-with-film .about-copy p:not(:first-child){font-size:20px;line-height:1.65}
.about-film{position:relative;min-width:0;aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#111}
.about-film video{display:block;width:100%;height:100%;object-fit:contain}
.film-toggle{position:absolute;right:12px;bottom:12px;min-width:60px;min-height:44px;padding:10px 15px;border:1px solid #ffffff50;border-radius:24px;background:#111d;color:#fff;font-size:12px}
.film-toggle[hidden]{display:none}
@media(max-width:1000px){.about-with-film{display:flex;flex-direction:column;align-items:stretch;max-width:780px;gap:40px}.about-film{width:100%}}
@media(max-width:800px){.about-with-film{gap:36px}.about-with-film .about-copy p:first-child{font-size:30px}.about-with-film .about-copy p:not(:first-child){font-size:18px}.about-film{border-radius:10px}}

/* Fine registration lines frame the hero without obscuring the atmosphere. */
.hero-grid{position:absolute;inset:0 8%;z-index:1;border-left:1px solid #fff2;border-right:1px solid #fff2;pointer-events:none}
.hero-grid::before,.hero-grid::after{content:"";position:absolute;left:-10vw;right:-10vw;height:1px;background:#ffffff20}
.hero-grid::before{top:27%}.hero-grid::after{bottom:23%}
.hero-grid i{position:absolute;width:6px;height:6px;background:#fff;transform:translate(-50%,-50%);opacity:.85}
.hero-grid i:nth-child(1){left:0;top:27%}.hero-grid i:nth-child(2){left:100%;top:27%}
.hero-grid i:nth-child(3){left:0;top:77%}.hero-grid i:nth-child(4){left:100%;top:77%}
@media(max-width:800px){
 .home-page .hero-atmosphere .hero-caption{justify-content:center;padding-top:max(80px,env(safe-area-inset-top));padding-bottom:max(80px,env(safe-area-inset-bottom));gap:32px}
 .hero-grid{inset:0 6%}
 .hero-grid::before{top:29%}.hero-grid::after{bottom:29%}
 .hero-grid i:nth-child(1),.hero-grid i:nth-child(2){top:29%}
 .hero-grid i:nth-child(3),.hero-grid i:nth-child(4){top:71%}
 .hero-grid i{width:5px;height:5px}
}

/* Centered identity with a compact location and studio-detail hierarchy. */
.home-page .hero-atmosphere .hero-caption{padding-top:80px;padding-bottom:80px;gap:20px;justify-content:center}
.home-page .hero-atmosphere .hero-location{display:flex;flex-direction:column;align-items:center;gap:9px;max-width:100%;text-transform:uppercase}
.hero-city{font-size:clamp(17px,1.6vw,25px);line-height:1.35;letter-spacing:.035em}
.hero-meta{font-size:12px;line-height:1.5;letter-spacing:.08em}
@media(max-width:800px){
 .home-page .hero-atmosphere .hero-caption{padding-top:max(80px,env(safe-area-inset-top));padding-bottom:max(80px,env(safe-area-inset-bottom));gap:18px}
 .home-page .hero-atmosphere .hero-location{gap:7px}
 .hero-city{font-size:clamp(14px,3.8vw,20px);letter-spacing:.025em}
 .hero-meta{font-size:10px;letter-spacing:.07em}
}

.footer-links a:focus-visible{outline:none;text-decoration-thickness:2px;text-underline-offset:5px}

/* Click or tap the atmosphere to cycle its palette without moving the layout. */
.home-page .hero-atmosphere .hero-caption{z-index:3;pointer-events:none}
.home-page .hero-atmosphere[data-palette=red]{background:radial-gradient(ellipse at 80% 25%,#ffaaa4,transparent 65%),linear-gradient(135deg,#1c0508,#ef2424)}
.home-page .hero-atmosphere[data-palette=green]{background:radial-gradient(ellipse at 80% 25%,#a4ffaa,transparent 65%),linear-gradient(135deg,#051c08,#24ef24)}

/* Continue the hero rails through the company section. */
.about-with-film{position:relative;isolation:isolate;width:84%;max-width:none;margin:0 auto;padding-left:4vw;padding-right:4vw}
.about-with-film::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-left:1px solid #2424ef20;border-right:1px solid #2424ef20;border-bottom:1px solid #2424ef20}
.about-with-film::after{content:"";position:absolute;inset:auto -3px -3px;height:6px;z-index:-1;pointer-events:none;background:linear-gradient(#2424ef80,#2424ef80) left/6px 6px no-repeat,linear-gradient(#2424ef80,#2424ef80) right/6px 6px no-repeat}
@media(max-width:1000px){.about-with-film{max-width:none}}
@media(max-width:800px){
 .about-with-film{width:88%;margin:0 auto;padding-left:12px;padding-right:12px}
 .hero-city{font-size:clamp(12px,3.45vw,19px);letter-spacing:.01em}
}

/* Carry the rails to the page edge and finish with a full-width divider. */
.home-page footer{position:relative;isolation:isolate;margin-left:0;margin-right:0;padding-left:calc(8% + clamp(18px,1.5vw,30px));padding-right:calc(8% + clamp(18px,1.5vw,30px))}
.home-page footer::before{content:"";position:absolute;inset:0 8%;border-left:1px solid #2424ef20;border-right:1px solid #2424ef20;z-index:-1;pointer-events:none}
.home-page footer .footer-identity,.home-page footer .footer-details{background:var(--paper);position:relative}
@media(max-width:800px){.home-page footer{padding-left:max(22px,calc(6% + 14px));padding-right:max(22px,calc(6% + 14px))}.home-page footer::before{left:6%;right:6%}}
