/* Lovescape brand refresh: official black/white, violet and cyan/mint accents. */
:root{
--ink:#0f0f0f;--surface:#18181b;--raised:#222227;--line:#424249;--text:#ffffff;--muted:#bfc0cb;--accent:#07ffb5;--lift:#07f0ff;--purple:#a855f7;--pink:#f0a0ff;--violet:#cf7aff;--metal:#9b66c4;--shade:rgba(15,15,15,.94);--clear:transparent;--wash:rgba(168,85,247,.04);--halo:rgba(168,85,247,.22);--mint-halo:rgba(7,255,181,.24);--button-halo:rgba(7,240,255,.18);--border-light:rgba(255,255,255,.12);--on-accent:#0f0f0f;
--display:'Sora',sans-serif;--body:'Space Grotesk',sans-serif;--radius:24px;--shadow:0 20px 70px rgba(0,0,0,.38);--small:.875rem;--body-size:1.0625rem;--h1:clamp(2.8rem,6.2vw,5.8rem);--h2:clamp(1.8rem,3.2vw,3.2rem);--h3:1.3rem;--gutter:clamp(1rem,3.5vw,3.5rem);--space:clamp(3rem,6vw,6rem);--measure:66ch;--duration:350ms;--slow:6000ms;--pulse:4500ms;--ease:cubic-bezier(.2,.7,.3,1);--grade:contrast(1.02);--purple-gradient:linear-gradient(125deg,var(--pink),var(--violet),var(--purple));--mint-gradient:linear-gradient(130deg,var(--lift),var(--accent));
}
@font-face{font-family:Sora;src:url('/assets/sora.woff2') format('woff2');font-weight:800;font-display:optional}
@font-face{font-family:'Space Grotesk';src:url('/assets/space.woff2') format('woff2');font-weight:400;font-display:optional}
@font-face{font-family:'Space Grotesk';src:url('/assets/space-bold.woff2') format('woff2');font-weight:600;font-display:optional}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;background:var(--ink);color:var(--text);font:400 var(--body-size)/1.65 var(--body);overflow-wrap:break-word}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}button{font:inherit}button,[data-v]{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img,video{max-width:100%}h1,h2,h3{font:800 1em/1.15 var(--display);text-wrap:balance}h1{font-size:var(--h1);letter-spacing:-.06em;margin:.7rem 0 1.2rem}h2{font-size:var(--h2);letter-spacing:-.045em;margin:0 0 1.3rem}h3{font-size:var(--h3);letter-spacing:-.02em;margin:1.8rem 0 .8rem}p{margin:0 0 1.25rem}p:last-child{margin-bottom:0}.wrap{max-width:1480px;margin:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space)}.eyebrow,.meta{font-size:var(--small);letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}.muted{color:var(--muted)}.skip{position:absolute;left:1rem;top:-5rem;background:var(--accent);color:var(--ink);padding:1rem;z-index:9}.skip:focus{top:1rem}
header{border-bottom:1px solid var(--border-light);background:var(--ink)}.head{min-height:88px;display:flex;gap:2rem;align-items:center;justify-content:space-between}.wordmark{display:flex;min-height:44px;align-items:center;text-decoration:none}.wordmark img{width:148px;height:auto}.nav{display:flex;gap:1.5rem;font-size:var(--small)}.nav a{display:flex;align-items:center;min-height:44px;min-width:44px;text-decoration:none;position:relative}.nav a:hover{color:var(--accent)}
.cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:52px;min-width:44px;padding:.9rem 1.45rem;border:1px solid var(--accent);border-radius:var(--radius);background:var(--mint-gradient);color:var(--on-accent);font-weight:600;text-decoration:none;line-height:1.3;box-shadow:0 0 24px var(--mint-halo);transition:transform var(--duration),box-shadow var(--duration);animation:cta-glow var(--pulse) var(--ease) infinite;overflow:clip}.cta::after{content:'↗';font-size:1.15em;transition:transform var(--duration)}.cta::before{content:'';position:absolute;inset:-100% -50%;z-index:-1;background:linear-gradient(110deg,var(--clear) 40%,var(--border-light) 47%,var(--text) 50%,var(--clear) 57%);opacity:.22;transform:translateX(-80%) rotate(15deg);animation:cta-shine var(--slow) var(--ease) infinite;pointer-events:none}.cta:hover{transform:translateY(-3px);box-shadow:0 0 42px var(--mint-halo)}.cta:hover::after{transform:translate(2px,-2px)}.cta:active{transform:translateY(0)}.cta.ghost{background:var(--clear);color:var(--text);border-color:var(--violet);box-shadow:0 0 18px var(--halo);animation-name:cta-violet;animation-delay:900ms}.cta.ghost::before{background:var(--purple-gradient);opacity:.1}.cta.ghost:hover{background:var(--surface)}.actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin:1.5rem 0}.actions a[href],p a[href],li a[href],a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
@keyframes cta-glow{0%,100%{box-shadow:0 0 18px var(--mint-halo)}50%{box-shadow:0 0 35px var(--button-halo),0 0 12px var(--mint-halo)}}@keyframes cta-violet{0%,100%{box-shadow:0 0 12px var(--halo)}50%{box-shadow:0 0 28px var(--halo)}}@keyframes cta-shine{0%,50%{transform:translateX(-80%) rotate(15deg)}85%,100%{transform:translateX(80%) rotate(15deg)}}
.hero{position:relative;display:grid;grid-template-columns:.95fr 1.25fr;gap:2rem 3rem;align-items:center;padding-top:2.5rem;padding-bottom:0;background:radial-gradient(ellipse at 76% 35%,var(--halo),var(--clear) 58%)}.hero-copy h1{max-width:12ch}.hero-copy h1 span{background:var(--purple-gradient);background-clip:text;-webkit-background-clip:text;color:var(--clear)}.hero-copy .eyebrow{margin:0}.hero-intro{max-width:42ch;color:var(--muted)}.hero-intro p{margin-bottom:.6rem}.hero-copy .actions{margin:1.6rem 0}.provenance{color:var(--muted);font-size:var(--small);line-height:1.5;margin:1rem 0}.rail{min-width:0;position:relative;padding-top:1rem}.rail-inner{display:grid;grid-template-columns:.72fr 1.25fr .72fr;gap:.75rem;align-items:center}.media{position:relative;display:block;overflow:clip;border-radius:var(--radius);background:var(--surface);isolation:isolate;border:1px solid var(--border-light)}.media img,.media video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:var(--grade);transition:transform var(--duration)}.media:hover img{transform:scale(1.035)}.media::after{content:'';position:absolute;inset:0;background:var(--wash);pointer-events:none;z-index:1}.rail .media{height:390px;box-shadow:var(--shadow);transform:rotate(-3deg)}.rail .media:last-child{transform:rotate(3deg)}.rail .media.center{height:500px;transform:none;z-index:2;border-color:var(--violet);box-shadow:0 0 48px var(--halo)}.rail .media img{object-position:50% 18%}.rail-label,.tile-label{position:absolute;z-index:2;inset:auto 0 0;padding:5rem 1rem 1.2rem;background:linear-gradient(var(--clear),var(--shade));display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:var(--small);line-height:1.5}.rail-label{display:block}.rail-label strong{font-size:1rem}.rail-label span,.tile-label span,.tile-label strong{display:block}.tile-label strong+span{margin-top:.2rem}.rail-label span{color:var(--accent);margin-top:.2rem}.rail-control{display:flex;justify-content:center;gap:.5rem;align-items:center;margin:1rem 0 0;font-size:var(--small);flex-wrap:wrap}.control{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;background:var(--surface);color:var(--text)}.control:hover{border-color:var(--accent);background:var(--raised)}.ribbon{grid-column:1/-1;width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-block:1px solid var(--border-light);padding:1rem 0;margin-top:1rem;font-size:var(--small);color:var(--muted)}.ribbon img{width:106px;height:32px}.intro{max-width:var(--measure)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.section-intro .intro{max-width:800px}.section-intro p{color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:1rem;margin:2rem 0 3rem}.gallery>.media{grid-row:span 2}.gallery>.media:nth-child(3n){grid-row:span 1}.gallery>.media:nth-child(6n){grid-column:span 2}.gallery>.media:nth-child(3n) img{object-position:50% 18%}.gallery>.media:nth-child(4n+1){border-color:var(--violet)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.columns h3{margin-top:0}.columns p{max-width:var(--measure)}.rule{border-top:1px solid var(--border-light)}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start}.split>.media{height:650px;position:sticky;top:1rem;box-shadow:var(--shadow)}.split h3:first-child{margin-top:0}.numbered{display:grid;grid-template-columns:.12fr 1fr;gap:1.5rem;margin-top:2rem}.number{font-family:var(--display);font-size:3rem;line-height:1.2;background:var(--purple-gradient);background-clip:text;-webkit-background-clip:text;color:var(--clear)}.timeline{border-left:1px solid var(--violet);padding-left:2rem}.timeline h3{position:relative}.timeline h3::before{content:'';position:absolute;width:12px;height:12px;left:-2.4rem;top:.5rem;background:var(--purple-gradient);border-radius:var(--radius);box-shadow:0 0 18px var(--halo)}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 3rem}.process>div{border:1px solid var(--border-light);border-radius:var(--radius);padding:1.5rem;background:radial-gradient(ellipse at 0 0,var(--halo),var(--surface) 70%)}.process strong{display:block;margin:1rem 0}.feature-band{background:radial-gradient(ellipse at 25% 45%,var(--halo),var(--surface) 70%);padding-block:var(--space)}.scene{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}.scene>.media{height:600px;box-shadow:var(--shadow)}.scene p{max-width:var(--measure)}.kinetic{font-family:var(--display);font-size:clamp(2rem,8vw,8rem);line-height:1.2;letter-spacing:-.055em;white-space:nowrap;overflow:clip;margin:2rem 0 0;user-select:none;color:var(--violet)}.kinetic span{display:block;animation:type-drift var(--slow) var(--ease) 2 alternate;animation-play-state:paused}.kinetic.in-view span{animation-play-state:running}@keyframes type-drift{from{transform:translateX(0)}to{transform:translateX(2rem)}}.access-panel{border:1px solid var(--violet);padding:2rem;border-radius:var(--radius);background:radial-gradient(ellipse at 80% 50%,var(--halo),var(--surface) 75%);margin:2rem 0}.access-panel p{max-width:var(--measure)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}.faq-item{border-top:1px solid var(--border-light);padding:1.5rem 0}.faq-item h3{margin:0 0 1rem;font-size:1.15rem}.final{background:radial-gradient(ellipse at 30% 20%,var(--halo),var(--surface) 70%);border:1px solid var(--violet);border-radius:var(--radius);padding:3rem;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;margin-block:2rem var(--space);box-shadow:var(--shadow)}.final>.media{height:450px}.final h2{max-width:16ch}.task-final{grid-template-columns:1fr}
.breadcrumbs{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:1rem 0;color:var(--muted);font-size:var(--small)}.breadcrumbs a{display:flex;align-items:center;min-height:44px;min-width:44px}.child-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:3rem;padding:1rem 0 3rem;background:radial-gradient(ellipse at 85% 40%,var(--halo),var(--clear) 60%)}.child-hero h1{font-size:clamp(2.5rem,4.5vw,4.3rem)}.child-hero>.media{height:430px;box-shadow:var(--shadow)}.child-hero .media img{object-position:50% 14%}.child-content{max-width:1120px}.child-content .section{padding-block:2.7rem}.child-content>.section:nth-of-type(2){background:var(--surface);padding:2rem;border:1px solid var(--border-light);border-radius:var(--radius)}ol{padding-left:1.5rem}li{margin-bottom:1rem}.steps li::marker{color:var(--violet);font-weight:600}.policy{max-width:var(--measure);padding-bottom:var(--space)}.policy h1{font-size:clamp(2.5rem,5vw,4rem)}.policy h2{font-size:1.65rem;margin-top:2.5rem}.policy h3{font-size:1.1rem}.policy ul{padding-left:1.4rem}.app-stage{position:relative;height:460px;margin:1rem 0}.child-hero .app-stage>.media{position:absolute;height:88%;width:80%;left:0;top:0;transition:transform var(--duration)}.child-hero .app-stage>.media:nth-child(2){height:62%;width:48%;left:auto;right:0;top:auto;bottom:0;z-index:2;border:6px solid var(--ink)}.app-stage>.media:hover{transform:translateY(-4px)}.app-stage .tile-label{display:block}.app-stage>.media:first-child .tile-label{right:35%;padding-inline:.7rem}
footer{border-top:1px solid var(--border-light);padding-block:3rem;font-size:var(--small);color:var(--muted)}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.footer-top>div:first-child p:first-of-type{margin-top:1rem}.footer-nav{display:flex;flex-direction:column;align-items:start;gap:.3rem}.footer-nav a{display:flex;align-items:center;min-width:44px;min-height:44px}.footer-nav a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--border-light);padding-top:1.4rem;margin-top:2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-bottom a{display:flex;align-items:center;min-height:44px;min-width:44px}.date,.noscript{font-size:var(--small);color:var(--muted)}.date{margin-top:2rem}.media-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0}.media-strip>.media{height:360px}.media-strip>.media:nth-child(2){transform:translateY(1rem)}.media-story{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.5rem 0}.media-story>.media{height:390px}.photo-wall{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-block:2rem}.photo-wall>.media{height:330px}.photo-wall>.media:nth-child(even){margin-top:2rem}.photo-wall .tile-label{padding:3rem .7rem .8rem;display:block}
.motion-paused .cta,.motion-paused .cta::before,.motion-paused .kinetic span{animation-play-state:paused}
@media(max-width:1100px){.nav{gap:.8rem}.head{gap:1rem}.hero{grid-template-columns:.9fr 1.1fr;gap:2rem}.hero h1{font-size:4rem}.hero .cta{padding:.85rem 1.1rem}.rail .media{height:310px}.rail .media.center{height:410px}.split,.scene{gap:2rem}.gallery{grid-auto-rows:170px}.photo-wall{grid-template-columns:repeat(4,1fr)}.footer-top{gap:1.5rem}}
@media(max-width:720px){.head{min-height:76px;flex-wrap:wrap;padding-block:.5rem;gap:.3rem}.wordmark img{width:118px;height:auto}.head>.cta{min-height:44px;font-size:.875rem;padding:.7rem 1rem}.nav{width:100%;justify-content:space-between;gap:.25rem;order:2;font-size:.875rem}.hero{display:flex;flex-direction:column;gap:0;padding-top:1.5rem}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(2.8rem,11vw,4rem);margin:.6rem 0 1rem}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.08em}.hero-intro{font-size:1rem}.hero-intro p{margin-bottom:.45rem}.hero-copy .actions{margin:1rem 0;gap:.6rem}.hero-copy .cta{font-size:.875rem;padding:.8rem 1rem;min-height:48px}.provenance{font-size:.75rem;line-height:1.5;margin:.75rem 0}.rail{width:100%;padding-top:.7rem}.rail-inner{gap:.55rem;grid-template-columns:.7fr 1.2fr .7fr}.rail .media{height:220px}.rail .media.center{height:280px}.rail-label{padding:3rem .6rem .8rem}.rail-label strong{font-size:.875rem}.rail .media:not(.center) .rail-label span{display:none}.rail .media:not(.center) .rail-label strong{font-size:.75rem}.rail-label span{font-size:.875rem}.rail-control{gap:.4rem;margin:.8rem 0 0;font-size:.75rem}.rail-control .control{font-size:.875rem;padding:.5rem .6rem}.ribbon{margin-top:1.5rem;padding:.8rem 0;font-size:.75rem;gap:.5rem;flex-wrap:wrap}.ribbon img{width:86px;height:26px}.ribbon span:last-child{flex-basis:100%;text-align:right}.section-intro{display:block}.columns,.split,.scene,.child-hero,.final{grid-template-columns:1fr;gap:2rem}.columns{gap:2.3rem}.split>.media{position:relative;top:auto;height:440px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:.7rem}.gallery>.media,.gallery>.media:nth-child(3n){grid-row:span 2}.gallery>.media:nth-child(6n){grid-column:span 1}.tile-label{padding:3rem .8rem .8rem;display:block}.process{grid-template-columns:1fr}.process>div{padding:1rem 1.3rem}.scene>.media{height:470px}.faq-grid{grid-template-columns:1fr}.final{padding:1.5rem}.final>.media{height:360px}.child-hero{padding:.6rem 0 2rem;gap:1rem}.child-hero h1{font-size:clamp(1.8rem,8vw,2.3rem)}.child-hero>.media{height:300px}.child-hero .actions{margin:1rem 0;gap:.6rem}.child-hero .cta{font-size:.875rem;padding:.8rem 1rem}.breadcrumbs{margin:.6rem 0}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.footer-top>div:first-child{grid-column:span 2}.access-panel{padding:1.5rem}.timeline{padding-left:1.5rem}.timeline h3::before{left:-1.9rem}.numbered{gap:1rem}.number{font-size:2rem}.kinetic{font-size:2.8rem}.section{padding-block:3rem}.app-stage{height:330px;margin-top:0}.child-hero .app-stage>.media{height:90%;width:78%}.child-hero .app-stage>.media:nth-child(2){height:60%;width:44%}.app-stage .tile-label{padding:2.5rem .65rem .7rem}.app-stage .tile-label strong,.app-stage .tile-label span{font-size:.875rem}.media-strip{gap:.6rem}.media-strip>.media{height:210px}.media-strip .tile-label{padding:2rem .5rem .6rem;font-size:.75rem}.media-story>.media{height:280px}.photo-wall{grid-template-columns:repeat(2,1fr);gap:.7rem}.photo-wall>.media{height:300px}.photo-wall>.media:nth-child(even){margin-top:0}}
@media(max-width:360px){.wordmark img{width:106px}.head>.cta{font-size:.8rem;padding:.65rem .75rem}.hero{padding-top:1rem}.hero-copy{display:contents}.hero-copy>.eyebrow{order:0}.hero-copy h1{order:1;font-size:2.7rem;margin:.5rem 0;width:100%}.hero-copy>.actions{order:2;width:100%;margin:.5rem 0}.hero-copy>.provenance{order:3;width:100%;margin:.5rem 0}.hero>.rail{order:4}.hero-copy>.hero-intro{order:5;width:100%;margin-top:1rem}.hero>.ribbon{order:6}.rail .media{height:165px}.rail .media.center{height:210px}.rail-control .control{padding:.5rem}.rail-label strong{font-size:.75rem}.breadcrumbs{flex-wrap:nowrap}.breadcrumbs span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.child-hero .actions{gap:.5rem}.child-hero .cta{font-size:.75rem;padding:.8rem .75rem}.child-hero:has(.app-stage){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:.5rem .8rem}.child-hero:has(.app-stage)>div:first-child{display:contents}.child-hero:has(.app-stage) .eyebrow{grid-column:1/3;margin:0}.child-hero:has(.app-stage) h1{grid-column:1;grid-row:2;margin:0}.child-hero:has(.app-stage)>div:first-child>p:not(.eyebrow):not(.provenance){grid-column:1;grid-row:3;font-size:.875rem;line-height:1.5;margin:0}.child-hero:has(.app-stage) .provenance{grid-column:1/3;grid-row:4;margin:.3rem 0}.child-hero:has(.app-stage) .actions{grid-column:1/3;grid-row:5;margin:.4rem 0}.child-hero:has(.app-stage) .app-stage{grid-column:2;grid-row:2/4;height:150px;margin:0}.app-stage .tile-label{display:none}.gallery{grid-auto-rows:145px}.media-strip{grid-template-columns:1fr 1fr}.media-strip>.media:last-child{grid-column:1/3;height:270px}.media-strip>.media:nth-child(2){transform:none}}
@media(min-width:721px) and (max-height:500px){.hero{padding-top:1rem;gap:1rem 2rem;grid-template-columns:1fr 1fr}.hero h1{font-size:2.7rem;margin:.3rem 0}.hero-copy .eyebrow{font-size:.75rem}.hero-intro{font-size:.875rem}.hero-intro p{margin-bottom:.3rem}.hero-copy .actions{margin:.7rem 0;gap:.6rem}.hero-copy .cta{font-size:.875rem;padding:.7rem 1rem;min-height:48px}.hero .provenance{font-size:.75rem;margin:.5rem 0}.rail{padding-top:0}.rail .media{height:190px}.rail .media.center{height:230px}.rail-label{padding:2rem .6rem .7rem}.rail-label strong,.rail-label span{font-size:.75rem}.rail-control{margin:.5rem 0 0;font-size:.75rem}.rail-control .control{font-size:.75rem;padding:.5rem}.ribbon{margin-top:0}.breadcrumbs{margin:.4rem 0}.child-hero{padding:.5rem 0 1rem;align-items:start;gap:1.5rem}.child-hero h1{font-size:2rem;margin:.4rem 0}.child-hero .eyebrow{margin:0}.child-hero>div>p:not(.eyebrow){font-size:.875rem;line-height:1.5;margin:.5rem 0}.child-hero .actions{margin:.6rem 0}.child-hero .cta{font-size:.875rem;padding:.7rem 1rem}.child-hero>.media{height:240px}.app-stage{height:250px;margin:0}.child-hero .app-stage>.media{height:90%}.child-hero .app-stage>.media:nth-child(2){height:65%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.kinetic span{transform:none}}

.photo-036 img{object-position:60% 23%}
.photo-038 img{object-position:50% 21%}
.photo-047 img{object-position:51% 25%}
.photo-049 img{object-position:55% 24%}
.photo-051 img{object-position:46% 31%}
.photo-059 img{object-position:56% 39%}
.photo-061 img{object-position:51% 24%}
.photo-066 img{object-position:59% 17%}
.photo-067 img{object-position:52% 24%}
.photo-069 img{object-position:58% 20%}
.photo-074 img{object-position:61% 23%}
.photo-078 img{object-position:56% 22%}@media(max-width:360px){.rail .media:not(.center) .rail-label{display:none}.hero-copy>.actions{gap:.4rem}.hero-copy .cta{font-size:.8125rem;padding:.8rem .65rem;gap:.4rem}}

/* Fluid viewport layout, measured sticky header, and stronger body actions. */
:root{--header-height:88px;--body-pulse:2800ms;--dynamic-glow:var(--mint-halo)}
html{scroll-padding-top:calc(var(--header-height) + 1rem)}
.wrap{width:100%;max-width:none;padding-inline:clamp(1rem,3.5vw,4rem)}
.hero>*,.head>*,.columns>*,.split>*,.scene>*,.child-hero>*,.final>*,.footer-top>*,.process>*{min-width:0}
.hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);gap:clamp(1.25rem,3vw,3.5rem)}
.hero-copy h1{font-size:clamp(2.3rem,6.2vw,7.2rem);max-width:none;overflow-wrap:anywhere}
.hero-copy h1 .hero-year{display:table;width:auto;margin-top:.8rem;padding:.3rem .65rem;border:1px solid var(--violet);border-radius:var(--radius);background:var(--halo);color:var(--text);font:600 .95rem/1.4 var(--body);letter-spacing:.08em}
h2,h3{overflow-wrap:anywhere}
header{position:sticky;top:0;z-index:100;background:var(--shade);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 26px var(--wash)}
.skip{z-index:200}
.head{gap:clamp(.75rem,2vw,2rem)}
.head .cta,.head .cta::before{animation:none}
.nav{flex-wrap:wrap;gap:.25rem clamp(.65rem,1.5vw,1.5rem)}
.nav a{flex:0 1 auto}
.cta{max-width:100%;flex-shrink:1;text-align:center;text-wrap:balance}
.rail-inner{grid-template-columns:minmax(0,.72fr) minmax(0,1.25fr) minmax(0,.72fr)}
.rail .media{height:clamp(300px,28vw,540px)}
.rail .media.center{height:clamp(390px,36vw,680px)}
.columns,.faq-grid,.media-story{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,3rem)}
.split{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,4rem)}
.scene{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem)}
.child-hero,.final{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.task-final{grid-template-columns:minmax(0,1fr)}
.process,.media-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15.3vw,300px)}
.footer-top{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
.split>.media{top:calc(var(--header-height) + 1rem);height:clamp(420px,45vw,720px)}
.breadcrumbs{flex-wrap:wrap}.breadcrumbs span{min-width:0}.breadcrumbs span:last-child{white-space:normal;overflow:visible;text-overflow:clip}
main .cta{animation:body-action var(--body-pulse) var(--ease) infinite;animation-play-state:paused;will-change:transform}
main .cta.ghost{--dynamic-glow:var(--halo);animation:body-action var(--body-pulse) var(--ease) infinite;animation-delay:400ms;animation-play-state:paused}
main .cta::before{animation:cta-shine 3200ms var(--ease) infinite;animation-play-state:paused;opacity:.38}
main .cta.ghost::before{background:linear-gradient(110deg,var(--clear) 40%,var(--violet) 50%,var(--clear) 60%);opacity:.35}
main .cta::after{animation:body-arrow 2200ms var(--ease) infinite;animation-play-state:paused}
main .cta.in-view,main .cta.in-view::before,main .cta.in-view::after{animation-play-state:running}
main .cta:hover{animation-play-state:paused;transform:translateY(-3px) scale(1.025)}
@keyframes body-action{0%,20%,100%{transform:translateY(0) scale(1);box-shadow:0 0 20px var(--dynamic-glow)}50%,65%{transform:translateY(-3px) scale(1.025);box-shadow:0 0 38px var(--dynamic-glow)}}
@keyframes body-arrow{0%,100%{transform:translate(0,0)}45%,60%{transform:translate(4px,-3px)}}
.motion-paused main .cta,.motion-paused main .cta::before,.motion-paused main .cta::after{animation-play-state:paused}
@media(max-width:960px){
 :root{--header-height:112px}
 .head{flex-wrap:wrap;gap:.25rem 1rem;padding-block:.5rem;min-height:76px}
 .head .wordmark{max-width:42%}.head .wordmark img{width:132px;max-width:100%}
 .head>.cta{max-width:54%;min-height:44px;font-size:.875rem;padding:.7rem 1rem}
 .nav{flex-basis:100%;width:100%;order:2;justify-content:space-between;font-size:.875rem}
 .hero{display:flex;flex-direction:column;gap:0;padding-top:1.5rem}
 .hero-copy{width:100%;display:block}
 .hero-copy h1{font-size:clamp(2.1rem,9vw,5rem);margin:.6rem 0 1rem}
 .rail{width:100%;padding-top:.7rem}
 .rail .media{height:clamp(220px,40vw,350px)}.rail .media.center{height:clamp(280px,50vw,460px)}
 .rail-label{padding:3rem .7rem 1rem}.rail-label strong{font-size:1rem}
 .ribbon{flex-wrap:wrap;margin-top:1.5rem}
 .split,.scene,.child-hero,.final{grid-template-columns:minmax(0,1fr);gap:2rem}
 .split>.media{position:relative;top:auto;height:clamp(330px,65vw,550px)}
 .scene>.media{height:clamp(350px,65vw,550px)}
 .child-hero>.media{height:clamp(300px,55vw,450px)}
 .final{padding:clamp(1.25rem,4vw,2.5rem)}
 .footer-top{gap:1.25rem}
}
@media(max-width:800px){.columns,.faq-grid{grid-template-columns:minmax(0,1fr)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(145px,22vw,220px)}.gallery>.media,.gallery>.media:nth-child(3n){grid-row:span 2}.gallery>.media:nth-child(6n){grid-column:span 1}.process{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){
 .head .wordmark img{width:118px}.head{gap:.2rem .5rem}.nav{gap:.1rem .5rem}
 .hero-copy .eyebrow{font-size:.75rem}.hero-copy h1{font-size:clamp(2rem,10.8vw,3.5rem)}
 .hero-copy .actions{gap:.5rem;margin:1rem 0}.hero-copy .cta{font-size:.8125rem;padding:.8rem .65rem;gap:.4rem;min-height:48px}
 .hero-copy>.hero-intro{margin-top:0}.hero-copy>.provenance{margin:.75rem 0}
 .rail-inner{gap:.5rem;grid-template-columns:minmax(0,.7fr) minmax(0,1.2fr) minmax(0,.7fr)}
 .rail .media{height:clamp(165px,55vw,240px)}.rail .media.center{height:clamp(210px,72vw,310px)}
 .rail-label strong,.rail-label span{font-size:.875rem}.rail .media:not(.center) .rail-label{display:none}
 .hero-copy h1 .hero-year{font-size:.8rem;margin-top:.6rem}
 .ribbon span:last-child{flex-basis:auto}.ribbon{font-size:.75rem}
 .media-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.media-strip>.media:last-child{grid-column:1/-1;height:280px}.media-strip>.media:nth-child(2){transform:none}
 .media-story{grid-template-columns:minmax(0,1fr)}.media-story>.media{height:360px}
 .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top>div:first-child{grid-column:1/-1}
}
.child-content .intro,.child-content .section>p,.child-content .section>h2{max-width:var(--measure)}
@media(max-width:360px){.hero-copy{display:contents}.hero-copy>.hero-intro{margin-top:1rem}}
@media(min-width:721px) and (max-width:960px) and (max-height:500px){
 .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem 1.5rem;padding-top:.75rem;align-items:start}
 .hero-copy{display:contents}
 .hero-copy>.eyebrow{grid-column:1;grid-row:1;font-size:.75rem}
 .hero-copy h1{grid-column:1;grid-row:2;font-size:2.4rem;margin:.2rem 0}
 .hero-copy h1 .hero-year{font-size:.7rem;margin-top:.3rem;padding:.1rem .5rem}
 .hero-copy>.actions{grid-column:1;grid-row:3;margin:.3rem 0}
 .hero-copy>.provenance{grid-column:1/-1;grid-row:4;margin:.25rem 0;font-size:.75rem}
 .hero>.rail{grid-column:2;grid-row:1/4;padding-top:0}
 .rail .media{height:150px}.rail .media.center{height:190px}
 .rail-control{gap:.3rem;margin:.5rem 0 0}.rail-control .control{font-size:.75rem;padding:.5rem}
 .rail-label{padding:2rem .5rem .5rem}.rail-label strong,.rail-label span{font-size:.75rem}
 .ribbon{grid-row:5;grid-column:1/-1;margin-top:.75rem}
 .hero-copy>.hero-intro{grid-column:1/-1;grid-row:6;margin-top:1rem}
}

main .cta:focus-visible{animation-play-state:paused;transform:translateY(-2px)}
@media(max-width:360px){.head .wordmark img{width:106px}.head>.cta{font-size:.8125rem;padding:.65rem .75rem;max-width:60%}}
@media(min-width:600px) and (max-width:960px) and (max-height:500px){
 .child-hero:has(.app-stage){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:.35rem 1.5rem;padding:.4rem 0 1rem;align-items:start}
 .child-hero:has(.app-stage)>div:first-child{display:contents}
 .child-hero:has(.app-stage) .eyebrow{grid-column:1;grid-row:1;margin:0;font-size:.75rem}
 .child-hero:has(.app-stage) h1{grid-column:1;grid-row:2;margin:0;font-size:clamp(1.4rem,3.5vw,1.9rem)}
 .child-hero:has(.app-stage)>div:first-child>p:not(.eyebrow):not(.provenance){grid-column:1;grid-row:3;margin:.2rem 0;font-size:.875rem;line-height:1.5}
 .child-hero:has(.app-stage) .actions{grid-column:1;grid-row:4;margin:.25rem 0;gap:.5rem}
 .child-hero:has(.app-stage) .actions .cta{font-size:.8125rem;padding:.65rem .7rem;min-height:44px}
 .child-hero:has(.app-stage) .provenance{grid-column:1/-1;grid-row:5;margin:.25rem 0;font-size:.75rem}
 .child-hero:has(.app-stage) .app-stage{grid-column:2;grid-row:1/5;height:180px;margin:0}
 .child-hero:has(.app-stage) .app-stage>.media{height:95%}
 .child-hero:has(.app-stage) .app-stage>.media:nth-child(2){height:70%}
 .child-hero:has(.app-stage) .app-stage .tile-label{display:none}
}

/* Button must not slide out from under the cursor: hover lifted it 3px and
   :active dropped it back during the press, so mouseup landed on the header
   and the click was lost. Header CTA keeps only its glow; others stay lifted. */
.cta:active{transform:translateY(-3px)}
main .cta:active{transform:translateY(-3px) scale(1.025)}
.head .cta:hover,.head .cta:active{transform:none}
