.bubble-reveal{width:100%}.custom-ribbon-row{display:grid;align-items:center;gap:clamp(18px,5vw,30px)}@media (min-width:860px){.custom-ribbon-row{grid-template-columns:minmax(200px,.82fr) 1.6fr;gap:clamp(28px,4vw,60px)}}.custom-prompt{max-width:30ch;margin-inline:auto;font-size:clamp(21px,17px + .7vw,27px);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--color-fg);text-align:center;text-wrap:balance}@media (min-width:860px){.custom-prompt{max-width:24ch;margin-inline:auto 0;text-align:right}}.bubble-stage{list-style:none;margin:0;padding:4px;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;gap:clamp(9px,1.1vw,14px);min-height:clamp(320px,42vw,470px)}.bubble-pos{--s:1;display:inline-flex}.bubble{--t:1;display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center;text-wrap:balance;max-width:clamp(150px,19vw,230px);padding:.6em 1.05em;border-radius:999px;background:rgba(255,255,255,.075);color:var(--color-fg);font-size:var(--text-body);font-weight:500;line-height:1.22;letter-spacing:-.01em;box-shadow:inset 0 1px 0 rgba(255,255,255,calc(.05 + .09 * var(--t))),0 calc(6px + 10px * var(--t)) calc(16px + 14px * var(--t)) -18px rgba(0,0,0,.9);transform:scale(var(--s,1));transition:color .25s var(--ease-out),background-color .25s var(--ease-out);cursor:inherit;-webkit-user-select:none;user-select:none}.bubble-pos.is-feature .bubble{max-width:clamp(170px,23vw,280px);background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-fg);font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,calc(.1 + .08 * var(--t))),0 calc(8px + 10px * var(--t)) calc(20px + 14px * var(--t)) -20px color-mix(in srgb,var(--color-accent) 55%,#000)}.bubble-pos.is-hot .bubble,.bubble:hover{color:var(--color-fg);background:color-mix(in srgb,var(--color-accent) 14%,rgba(255,255,255,.05))}.bubble-pos.is-feature.is-hot .bubble,.bubble-pos.is-feature:hover .bubble{background:color-mix(in srgb,var(--color-accent) 24%,transparent)}.bubble-stage.is-live{display:block;position:relative;width:100%;height:clamp(320px,42vw,470px);min-height:0;margin:0;padding:0;overflow:clip;touch-action:pan-y;cursor:grab}.bubble-stage.is-live:active{cursor:grabbing}.bubble-stage.is-live .bubble-pos{position:absolute;left:0;top:0;display:block;opacity:0;will-change:transform,opacity}.portfolio-section{--navbar-height:var(--nav-h);--tab-h:32px;background:var(--home-pillars)}.portfolio-content,.portfolio-section{position:relative;z-index:1}.portfolio-card{--card-color:var(--color-accent);--tab-color:var(--color-accent);position:sticky;top:var(--navbar-height);min-height:calc(100svh - var(--navbar-height));width:100%}.card-tab-row{display:grid;grid-template-columns:1fr auto;height:var(--tab-h);max-width:var(--max-w-page);margin:0 auto;padding:0 16px}.card-tab{position:relative;display:flex;align-items:center;justify-content:flex-start;grid-column:var(--tab-col);gap:6px;padding:0 14px;height:100%;border:none;cursor:pointer;color:var(--color-on-accent);text-decoration:none;background:var(--tab-color);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,0 100%);transition:filter .2s ease}@media (max-width:768px){.tab-project{grid-column:1}.tab-cta{grid-column:2}}.card-tab.tab-cta:hover{filter:brightness(1.05)}.tab-label{font-size:var(--text-body);white-space:nowrap}.card-tab.tab-cta{color:var(--color-fg);clip-path:polygon(10px 0,100% 0,100% 100%,0 100%);justify-content:center}.tab-cta-spacer{visibility:hidden;pointer-events:none}.tab-arrow{width:14px;height:14px;opacity:.7}.portfolio-card-body{background:var(--color-bg);border-top:1px solid color-mix(in srgb,var(--card-color) 45%,var(--color-border));height:calc(100svh - var(--navbar-height) - var(--tab-h) - 2px);overflow:hidden}.portfolio-card-inner{position:relative;z-index:1;max-width:var(--max-w-page);margin:0 auto;padding:32px var(--gutter);height:100%;box-sizing:border-box}.pf-layout{display:flex;flex-direction:column;gap:24px;height:100%}.pf-info{display:grid;grid-template-columns:1fr auto;gap:20px}.pf-info .pf-header{grid-column:1;grid-row:1}.pf-info .pf-visit-desktop{grid-column:2;grid-row:1;align-self:center}.pf-info .pf-body{grid-column:1/-1;grid-row:2}.pf-media{flex:1;gap:20px;min-height:0}.pf-header,.pf-media{display:flex;flex-direction:column}.pf-header{gap:10px}.pf-meta{font-size:var(--text-micro);color:var(--color-muted)}.pf-desc{font-size:clamp(18px,15px + .6vw,22px);line-height:1.55}.pf-body{display:flex;flex-direction:column;gap:24px}.pf-tags{display:flex;flex-wrap:wrap;gap:clamp(8px,.5vw + 5px,12px)}.pf-tag{font-size:var(--text-micro);color:var(--color-muted);padding:clamp(7px,.4vw + 5px,10px) clamp(14px,1vw + 10px,20px);border:1px solid var(--color-border);border-radius:100px;background:rgba(255,255,255,.03);transition:border-color .2s ease,color .2s ease,background .2s ease}.pf-tag:hover{border-color:var(--card-color);color:var(--card-color);background:color-mix(in srgb,var(--card-color) 8%,transparent)}@media (max-height:520px) and (max-width:1024px),(max-width:768px){.pf-body,.pf-info{min-width:0}.pf-tags{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;--edge-l:#000;--edge-r:#000;-webkit-mask:linear-gradient(90deg,var(--edge-l) 0,#000 28px,#000 calc(100% - 28px),var(--edge-r) 100%);mask:linear-gradient(90deg,var(--edge-l) 0,#000 28px,#000 calc(100% - 28px),var(--edge-r) 100%)}.pf-tags::-webkit-scrollbar{display:none}.pf-tags[data-edge-l]{--edge-l:transparent}.pf-tags[data-edge-r]{--edge-r:transparent}.pf-tags[data-marquee]{scroll-snap-type:none;--edge-l:transparent;--edge-r:transparent}.pf-tag{flex-shrink:0;scroll-snap-align:start}}@media (min-width:769px){.portfolio-section{--tab-h:36px}.card-tab-row{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 var(--gutter)}.card-tab{padding:0 18px;gap:8px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 100%,0 100%)}.card-tab.tab-cta{clip-path:polygon(14px 0,100% 0,100% 100%,0 100%)}.portfolio-card-inner{padding:40px 32px}}@media (min-width:1024px){.portfolio-section{--tab-h:40px}.card-tab{padding:0 20px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 100%,0 100%)}.card-tab.tab-cta{clip-path:polygon(16px 0,100% 0,100% 100%,0 100%)}.portfolio-card-inner{padding:56px var(--gutter-md)}.pf-layout{flex-direction:row;gap:64px}.pf-info{flex:0 0 40%;max-width:480px;align-content:center}.pf-media{justify-content:center}}.pf-visit-desktop{display:inline-flex}.pf-visit-desktop.accent-link{font-size:var(--text-body);font-weight:600}.pf-visit-desktop.accent-link:after{height:2px}.pf-visit-desktop.accent-link svg{width:1.15em;height:1.15em}@media (max-width:768px){.pf-info{flex:1;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto}.pf-info .pf-body{justify-content:space-evenly}}@media (max-width:768px) and (min-height:750px){.pf-info{flex:unset;grid-template-rows:auto auto}.pf-info .pf-body{justify-content:unset}}@media (max-width:768px){.portfolio-card-body{overflow-y:auto;overscroll-behavior:contain}.portfolio-card-inner{height:auto;min-height:100%;display:flex;flex-direction:column}.pf-layout{height:auto;flex:1 0 auto}}@media (max-height:520px) and (max-width:1024px){.portfolio-card-body{overflow-y:auto}.portfolio-card-inner{height:auto;min-height:100%;padding:14px 24px}.pf-layout{flex-direction:row;align-items:flex-start;gap:20px;height:auto}.pf-info{flex:1 1 0;min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:start;gap:8px 14px}.pf-header{gap:4px}.pf-header h2{font-size:var(--text-h3)}.pf-body{gap:10px}.pf-tag{padding:5px 11px}.pf-media{flex:0 0 42%;min-width:0;justify-content:center}.pf-video{aspect-ratio:16/9}}@media (max-height:600px){.portfolio-card-body{overflow-y:auto}.portfolio-card-inner{height:auto;min-height:100%}}.pf-video-container{position:static;flex:1;opacity:1;pointer-events:auto;background:transparent;border-radius:0;padding:0;min-height:0;max-width:100%;overflow:visible}.pf-video{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.05),0 24px 48px -30px rgba(0,0,0,.8);transition:box-shadow .45s var(--ease-out),transform .45s var(--ease-out)}.pf-video:after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.12) 32%,rgba(255,255,255,.03) 70%,rgba(255,255,255,.02));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}@media (hover:hover){.pf-video:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 30px 56px -28px rgba(0,0,0,.85)}}@media (prefers-reduced-motion:reduce){.pf-video{transition:none}.pf-video:hover{transform:none}}.portfolio-section .portfolio-card-body{background:var(--home-pillars)}.portfolio-section .card-tab.tab-cta{background:rgba(255,255,255,.07)}.portfolio-section .card-tab.tab-cta:hover{background:rgba(255,255,255,.13)}.portfolio-section .card-tab.tab-project{transition:background-color .35s ease,color .35s ease,opacity .35s ease,filter .2s ease}.portfolio-section .card-tab.tab-project.is-dimmed{background:rgba(255,255,255,.06);color:var(--color-muted)}.portfolio-section .card-tab-row{pointer-events:none}.portfolio-section .card-tab{pointer-events:auto}.portfolio-section .portfolio-card{pointer-events:none}.portfolio-section .portfolio-card-body{pointer-events:auto}.portfolio-card .pf-body,.portfolio-card .pf-header,.portfolio-card .pf-media,.portfolio-card .pf-visit-desktop{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease-out),transform .95s var(--ease-out)}.portfolio-card.is-in .pf-body,.portfolio-card.is-in .pf-header,.portfolio-card.is-in .pf-media,.portfolio-card.is-in .pf-visit-desktop{opacity:1;transform:none}.portfolio-card.is-in .pf-header{transition-delay:.05s}.portfolio-card.is-in .pf-media{transition-delay:.13s}.portfolio-card.is-in .pf-body{transition-delay:.2s}.portfolio-card.is-in .pf-visit-desktop{transition-delay:.27s}@media (prefers-reduced-motion:reduce){.portfolio-card .pf-body,.portfolio-card .pf-header,.portfolio-card .pf-media,.portfolio-card .pf-visit-desktop{opacity:1;transform:none;transition:none}}.home-faq-fade{position:absolute;left:0;right:0;bottom:0;height:var(--faq-tail);z-index:0;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--home-deep))}.home-faq{position:relative}.faq-list{border-top:1px solid var(--color-border)}.faq-item{border-bottom:1px solid var(--color-border);--rise-y:22px}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(20px,2.5vh,28px) 0;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-fg)}.faq-q-text{font-weight:600;line-height:1.35;transition:color var(--hover-dur) var(--ease-out)}.faq-q:hover .faq-q-text{color:var(--color-accent)}.faq-plus{flex-shrink:0;width:22px;height:22px;background-color:var(--color-fg);opacity:.5;-webkit-mask:url(/assets/faq-plus.svg) center/contain no-repeat;mask:url(/assets/faq-plus.svg) center/contain no-repeat;transition:transform .3s cubic-bezier(.25,1,.5,1),opacity .2s ease,background-color var(--hover-dur) var(--ease-out)}.faq-q:hover .faq-plus{background-color:var(--color-accent);opacity:1}.faq-plus.is-open{transform:rotate(45deg)}.faq-a{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s cubic-bezier(.25,1,.5,1),opacity .3s ease}.faq-a.is-open{grid-template-rows:1fr;opacity:1}.faq-a-clip{overflow:hidden}.faq-a-text{margin:0;padding-bottom:clamp(20px,2.5vh,28px);max-width:60ch;line-height:1.65}.ms-spine{--ms-node:clamp(38px,2.2vw + 28px,46px);--ms-gap:clamp(26px,3vw,44px);list-style:none;margin:0;padding:0}@media (min-width:768px){.ms-left{position:sticky;top:calc(var(--scroll-mt) + .5rem);align-self:start}}.ms-step,.ms-step-row{position:relative}.ms-step-row{display:grid;grid-template-columns:var(--ms-node) 1fr auto;column-gap:clamp(14px,1.4vw,20px);padding-bottom:var(--ms-gap)}.ms-step:last-child .ms-step-row{padding-bottom:0}.ms-node{position:relative;z-index:1;grid-column:1;align-self:start;width:var(--ms-node);height:var(--ms-node);display:grid;place-items:center;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--mc) 28%,var(--color-border));background:color-mix(in srgb,var(--color-fg) 3%,transparent);color:var(--color-faint);font-size:var(--text-small);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;opacity:0;transform:translate3d(var(--cine-x,30px),0,0);will-change:transform,opacity}.cine.is-in .ms-node{opacity:1;transform:none;border-color:var(--mc);color:var(--color-fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--mc) 12%,transparent);transition:opacity .55s var(--ease-out),transform .6s var(--ease-out),border-color .45s var(--ease-out),color .45s var(--ease-out),box-shadow .45s var(--ease-out);transition-delay:calc(var(--cine-lead, 0s) + var(--i, 0) * var(--cine-beat, .24s))}.ms-conn{position:absolute;top:var(--ms-node);bottom:0;left:calc(var(--ms-node) / 2 - .75px);width:1.5px;background:color-mix(in srgb,var(--color-border) 70%,transparent);opacity:0}.cine.is-in .ms-conn{opacity:1;transition:opacity .4s var(--ease-out);transition-delay:calc(var(--cine-lead, 0s) + var(--i, 0) * var(--cine-beat, .24s))}.ms-conn:after{content:"";position:absolute;inset:0;background:var(--mc);box-shadow:0 0 8px color-mix(in srgb,var(--mc) 45%,transparent);transform:scaleY(0);transform-origin:top}.cine.is-in .ms-conn:after{transform:scaleY(1);transition:transform .6s var(--ease-out);transition-delay:calc(var(--cine-lead, 0s) + var(--i, 0) * var(--cine-beat, .24s) + .14s)}.ms-content{grid-column:2;min-width:0;padding-top:clamp(5px,.5vw,9px)}.ms-ico{grid-column:3;align-self:start;margin-top:clamp(2px,.4vw,6px);display:grid;place-items:center;width:clamp(40px,2.4vw + 30px,48px);height:clamp(40px,2.4vw + 30px,48px);border-radius:30%;background:#eef2f8;border:1px solid color-mix(in srgb,var(--mc) 40%,rgba(255,255,255,.65));box-shadow:0 2px 6px rgba(0,0,0,.35),inset 0 1px 0 #fff,0 0 0 3px color-mix(in srgb,var(--mc) 11%,transparent);transform:rotate(var(--rot,0deg));opacity:0;will-change:transform,opacity;transition:transform .25s var(--ease-spring),box-shadow .25s var(--ease-out),border-color .25s var(--ease-out)}.ms-ico-glyph{width:62%;height:62%;background:#141414;-webkit-mask:var(--ico) center /contain no-repeat;mask:var(--ico) center /contain no-repeat}.cine.is-in .ms-ico{opacity:1;animation:ms-wobble-pop .85s var(--ease-out) backwards;transition-delay:calc(var(--cine-lead, 0s) + var(--i, 0) * var(--cine-beat, .24s) + .12s);animation-delay:calc(var(--cine-lead, 0s) + var(--i, 0) * var(--cine-beat, .24s) + .12s)}.cine.is-in .ms-ico:hover{transform:rotate(0deg) translateY(var(--hover-lift-y)) scale(1.12);box-shadow:0 6px 14px -4px rgba(0,0,0,.4),inset 0 1px 0 #fff}@keyframes ms-wobble-pop{0%{opacity:0;transform:scale(.8) rotate(var(--rot,0deg));animation-timing-function:var(--ease-spring)}14%{opacity:1;transform:scale(1.12) rotate(calc(var(--rot, 0deg) + 12deg))}32%{transform:scale(1.06) rotate(calc(var(--rot, 0deg) - 9deg))}50%{transform:scale(1.03) rotate(calc(var(--rot, 0deg) + 7deg))}68%{transform:scale(1.015) rotate(calc(var(--rot, 0deg) - 4deg))}84%{transform:scale(1.005) rotate(calc(var(--rot, 0deg) + 2deg))}to{opacity:1;transform:scale(1) rotate(var(--rot,0deg))}}.ms-title{font-size:var(--text-h3);font-weight:600;letter-spacing:-.01em;line-height:1.2;color:var(--color-fg);text-wrap:balance}.ms-tag{display:inline-flex;align-items:center;gap:8px;margin-top:7px;font-size:var(--text-small);color:var(--color-muted)}.ms-tag:before{content:"";flex-shrink:0;width:5px;height:5px;border-radius:999px;background:var(--mc);opacity:.75}.ms-text{margin-top:12px;max-width:48ch;font-size:var(--text-body);line-height:1.6;color:var(--color-muted)}@media (max-width:767.98px) and (prefers-reduced-motion:no-preference){.cine.is-in .cine-step:not(.is-in) .ms-conn,.cine.is-in .cine-step:not(.is-in) .ms-node{opacity:0;transition:none}.cine.is-in .cine-step:not(.is-in) .ms-node{transform:translate3d(var(--cine-x,30px),0,0)}.cine.is-in .cine-step:not(.is-in) .ms-conn:after{transform:scaleY(0);transition:none}.cine.is-in .cine-step:not(.is-in) .ms-ico{opacity:0;animation:none}}@media (prefers-reduced-motion:reduce){.cine.is-in .ms-node,.ms-node{opacity:1;transform:none;border-color:var(--mc);color:var(--color-fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--mc) 12%,transparent);transition:none}.cine.is-in .ms-conn,.ms-conn{opacity:1;transition:none}.cine.is-in .ms-ico,.ms-ico{opacity:1;animation:none;transition:none}.cine.is-in .ms-conn:after,.ms-conn:after{transform:scaleY(1);transition:none}}.cine-el{opacity:0;will-change:transform,opacity}.cine-from-right{transform:translate3d(var(--cine-x,30px),0,0)}.cine-from-top{transform:translate3d(0,calc(-1 * var(--cine-y, 18px)),0)}.cine.is-in .cine-el{opacity:1;transform:none;transition:opacity var(--cine-dur,.6s) var(--ease-out),transform var(--cine-dur,.62s) var(--ease-out);transition-delay:var(--cine-delay,0s)}.cine-s0{--cine-delay:calc(var(--cine-lead, 0ms) + var(--i, 0) * var(--cine-beat, 240ms))}.cine-s1{--cine-delay:calc(var(--cine-lead, 0ms) + var(--i, 0) * var(--cine-beat, 240ms) + var(--cine-sub, 80ms))}.cine-s2{--cine-delay:calc(var(--cine-lead, 0ms) + var(--i, 0) * var(--cine-beat, 240ms) + 2 * var(--cine-sub, 80ms))}@media (prefers-reduced-motion:reduce){.cine-el,.cine.is-in .cine-el{opacity:1;transform:none;transition:none}}@media (max-width:767.98px) and (prefers-reduced-motion:no-preference){.cine-step{--cine-lead:0ms;--cine-beat:0ms}.cine.is-in .cine-step:not(.is-in) .cine-el{opacity:0;transition:none}.cine.is-in .cine-step:not(.is-in) .cine-from-right{transform:translate3d(var(--cine-x,30px),0,0)}.cine.is-in .cine-step:not(.is-in) .cine-from-top{transform:translate3d(0,calc(-1 * var(--cine-y, 18px)),0)}.cine.is-in .cine-step:not(.is-in) .reveal-btn-pop{animation:none;opacity:0}.cine.is-in .cine-step.is-in .reveal-btn.is-in .reveal-btn-pop{animation-delay:0s}}.reveal-btn{display:flex;justify-content:flex-start}.reveal-btn--center{justify-content:center}.reveal-btn-pop{opacity:0;transform:translateY(10px) scale(.95);transform-origin:center;will-change:transform,opacity;pointer-events:none}.reveal-btn.is-in .reveal-btn-pop{animation:reveal-btn-pop .55s var(--ease-spring) var(--pop-delay,0s) both}@keyframes reveal-btn-pop{0%{opacity:0;transform:translateY(10px) scale(.95);pointer-events:none}60%{opacity:1;transform:translateY(0) scale(1.04);pointer-events:auto}to{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}}@media (prefers-reduced-motion:reduce){.reveal-btn-pop{opacity:1;transform:none;pointer-events:auto;animation:none}}.home-hero-topfade{--topfade-color:var(--home-a);--topfade-amt:62%}.home-hero-stage{padding:calc(var(--nav-h) + clamp(10px, 2.2vh, 28px)) clamp(24px,5vw,80px) clamp(10px,2.2vh,28px)}.hero-copy{display:flex;flex-direction:column;gap:var(--hero-gap)}.home-hero-figure{position:absolute;z-index:3;left:clamp(24px,6vw,104px);top:50%;transform:translateY(-50%);width:clamp(240px,26vw,420px);pointer-events:none;display:none}@media (min-width:1100px){.home-hero-figure{display:block}}.home-hero-nex{display:block;width:100%;height:auto;opacity:0;transform:translateY(22px) scale(.97);filter:drop-shadow(0 20px 44px rgba(0,0,0,.5));transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,1,.36,1);transition-delay:.32s;will-change:opacity,transform}.home-hero.is-in .home-hero-nex{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.home-hero-nex{transition:opacity .4s ease;transform:none}}.home-hero.is-in .hero-copy>*{opacity:1;transform:none;filter:none}.home-hero.is-in .hero-copy>:first-child{transition-delay:.04s}.home-hero.is-in .hero-copy>:nth-child(2){transition-delay:.18s}.home-hero.is-in .hero-copy>:nth-child(3){transition-delay:.32s}@media (max-height:600px){.hero-copy p{font-size:min(var(--text-lead),5vh)}}:root{--home-a:var(--tone-1);--home-pillars:var(--tone-2);--home-gallery:var(--tone-3);--home-custom:var(--tone-4);--home-deep:var(--tone-5);--home-faq:var(--tone-5);--faq-tail:clamp(140px,22vh,300px);--hero-gap:clamp(14px,5vh,56px)}.home-root{background:var(--home-a)}.home-a{position:relative;z-index:0;--room-l:var(--l-1)}.home-a-atmos{position:absolute;inset:0;z-index:0;overflow:clip;pointer-events:none}.home-a-atmos-layer{position:sticky;top:0;height:100svh}.home-a>:not(.home-a-atmos){position:relative;z-index:1}.home-a-atmos-layer:after,.home-a-atmos-layer:before{content:"";position:absolute;border-radius:50%}.home-a-atmos-layer:before{width:94%;height:122%;top:-12%;right:-16%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--color-accent) 64%,transparent) 0,color-mix(in srgb,var(--color-accent) 24%,transparent) 34%,transparent 68%);opacity:.28}.home-a-atmos-layer:after{width:80%;height:80%;bottom:-10%;left:-16%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--color-accent-strong) 52%,transparent) 0,transparent 62%);opacity:.13}@media (prefers-reduced-motion:no-preference){.home-a-atmos-layer:before{animation:home-atmos-1 34s var(--ease-out) infinite}.home-a-atmos-layer:after{animation:home-atmos-2 40s var(--ease-out) infinite}}@keyframes home-atmos-1{0%,to{transform:translate(0)}50%{transform:translate(-3%,3%)}}@keyframes home-atmos-2{0%,to{transform:translate(0)}50%{transform:translate(4%,-3%)}}.home-gallery{--room-l:var(--l-3)}.home-custom,.home-gallery{position:relative;z-index:1}.home-custom{--room-l:var(--l-4)}.home-pillars{--room-l:var(--l-2)}.home-faq-room{--room-l:var(--l-5)}.loc-panel{display:flex;flex-direction:column;margin:0;width:100%;border-radius:20px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 24px 60px -30px rgba(0,0,0,.76)}.loc-map-holder{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--home-a)}@media (max-width:1024px){.loc-map-holder{aspect-ratio:16/9}}@media (max-height:520px) and (max-width:1024px){.loc-panel{max-width:640px}.loc-map-holder{max-height:52svh}}.loc-map{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s var(--ease-out)}.loc-map-holder[data-shown=true] .loc-map{opacity:1}.loc-map-holder:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 32%,rgba(255,255,255,.06) 50%,transparent 68%);background-size:220% 100%;background-position:180% 0;animation:loc-shimmer 1.8s var(--ease-out) infinite;opacity:1;transition:opacity .6s var(--ease-out)}.loc-map-holder[data-shown=true]:after{opacity:0;animation:none}@keyframes loc-shimmer{to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.loc-map-holder:after{animation:none}}.loc-map .maplibregl-ctrl-attrib{background:rgba(10,16,36,.66);border-radius:6px 0 0 0;font-size:10px;line-height:1.5}.loc-map .maplibregl-ctrl-attrib a{color:rgba(255,255,255,.5)}.loc-map .maplibregl-ctrl-attrib-button{filter:invert(1);opacity:.5}.loc-map .maplibregl-ctrl-attrib.maplibregl-compact,.loc-map .maplibregl-ctrl-attrib.maplibregl-compact-show{background-color:rgba(10,16,36,.72);border-radius:6px;color:rgba(255,255,255,.55)}.loc-map .maplibregl-cooperative-gesture-screen{background:rgba(8,13,30,.55);color:rgba(255,255,255,.92);font-family:inherit;font-size:var(--text-small);letter-spacing:.01em}.loc-marker{position:relative;display:grid;width:18px;height:18px;place-items:center;pointer-events:none}.loc-marker-dot{position:relative;width:12px;height:12px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 3px rgba(10,16,36,.92),0 0 14px 2px color-mix(in srgb,var(--color-accent) 70%,transparent)}.loc-marker-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--color-accent) 60%,transparent)}@media (prefers-reduced-motion:no-preference){.loc-marker-ring{animation:loc-pulse 2.8s var(--ease-out) infinite}}@keyframes loc-pulse{0%{transform:scale(.6);opacity:.85}70%{transform:scale(2.5);opacity:0}to{transform:scale(2.5);opacity:0}}.loc-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.9rem 1.1rem .9rem 1.2rem;border-top:1px solid var(--color-border)}.loc-place{display:flex;flex-direction:column;gap:.05rem}.loc-addr{color:var(--color-fg);font-weight:500;line-height:1.3;white-space:nowrap}.loc-region{font-size:var(--text-small);color:var(--color-muted)}.loc-dir{flex-shrink:0;white-space:nowrap}.closer-map{display:grid;align-items:center;gap:clamp(2.5rem,5vw,4.5rem)}.closer-map-copy{display:flex;flex-direction:column;gap:var(--gap-head-body);width:100%;max-width:640px;margin-inline:auto;text-align:center}.closer-actions,.closer-head{align-items:center}.closer-actions{display:flex;flex-direction:column;gap:1.25rem}.closer-actions-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1rem}@media (min-width:1024px){.closer-map{grid-template-columns:minmax(0,1fr) minmax(0,440px)}.closer-map-copy{max-width:none;margin-inline:0;text-align:left}.closer-actions,.closer-head{align-items:flex-start}.closer-actions-row{justify-content:flex-start}}@media (max-width:1023px){.closer-map{gap:2rem}.loc-panel{max-width:520px;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.loc-map{transition:none}}@keyframes nex-breathe{0%,to{translate:0 0}50%{translate:0 -9px}}.nex-section{position:relative;min-height:160svh;--p:0}.nex-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center}.nex-halo{width:min(720px,92vw);height:56vh;transform:translate(-50%,-50%) translateY(-28vh) scale(calc(1 + min(var(--p), .85) * .1));background:radial-gradient(50% 46% at 50% 42%,color-mix(in srgb,var(--color-accent) 38%,transparent),transparent 70%);filter:blur(40px);opacity:calc(.5 + min(var(--p), .85) * .35)}.nex-avatar,.nex-halo{position:absolute;top:50%;left:50%;pointer-events:none}.nex-avatar{height:min(78vh,680px);width:auto;max-width:none;transform-origin:50% 50%;--nex-enter:0;transform:translate(-50%,-50%) translateY(calc((1 - var(--nex-enter)) * 56px)) scale(calc(.82 + var(--nex-enter) * .18));transition:--nex-enter 1.15s cubic-bezier(.34,1.45,.5,1);animation:nex-breathe 7s ease-in-out infinite;will-change:transform,translate,opacity;opacity:calc((1 - min(1, max(0, var(--p) - .35) / .5) * (1 - var(--nex-avatar-dim))) * var(--nex-enter));filter:saturate(.72) contrast(1.05) brightness(.97) drop-shadow(0 34px 60px rgba(0,0,0,.5)) blur(max(0px,(1 - var(--nex-enter)) * 10px));user-select:none}.nex-avatar.is-in{--nex-enter:1}.nex-scrim{inset:0;background:linear-gradient(to bottom,transparent 0,transparent 52%,color-mix(in srgb,var(--home-gallery) 52%,transparent) 80%,var(--home-gallery) 100%)}.nex-meet,.nex-scrim{position:absolute;pointer-events:none}.nex-meet{top:clamp(24px,5.5vh,60px);left:50%;transform:translateX(-50%);z-index:3;margin:0;width:max-content;max-width:92vw;text-align:center;white-space:nowrap}.nex-copy{position:relative;z-index:2;width:min(640px,90vw);display:flex;flex-direction:column;align-items:center;gap:var(--gap-head);text-align:center;transform:translateY(calc(max(0px, (.85 - var(--p)) * 34vh)));opacity:calc((var(--p) - .2) * 3);will-change:transform,opacity}.nex-copy:before{content:"";position:absolute;inset:-12% -16%;z-index:-1;background:radial-gradient(62% 58% at 50% 52%,color-mix(in srgb,var(--home-deep) 78%,transparent),transparent 76%);filter:blur(12px);pointer-events:none}.nex-copy .nex-title{max-width:18ch}.nex-copy .nex-body{max-width:48ch;color:var(--color-muted)}.nex-copy .nex-cta{margin-top:6px}@media (prefers-reduced-motion:reduce){.nex-copy{transform:translateY(0);opacity:1}.nex-avatar{--nex-enter:1;transform:translate(-50%,-50%);opacity:1;transition:none;animation:none}.nex-halo{transform:translate(-50%,-50%) translateY(-28vh)}}@media (max-width:768px){.nex-avatar{height:auto;width:min(78vw,calc(56vh * .6667))}}@media (max-height:520px) and (max-width:1024px){.nex-section{min-height:0}.nex-pin{position:static;height:auto;overflow:visible;flex-direction:column;gap:clamp(14px,3.5vh,26px);padding:var(--section-py) var(--gutter-md)}.nex-halo,.nex-scrim{display:none}.nex-meet{white-space:normal}.nex-avatar,.nex-meet{position:static;transform:none}.nex-avatar{height:auto;width:min(36vw,168px);opacity:1;margin:0 auto;--nex-enter:1;animation:none}.nex-copy{position:static;width:min(640px,92vw);margin:0 auto;transform:translateY(28px);opacity:0;transition:transform .7s var(--ease-out),opacity .7s var(--ease-out)}.nex-copy.is-in{transform:none;opacity:1}}@media (max-height:520px) and (max-width:1024px) and (prefers-reduced-motion:reduce){.nex-copy{transform:none;opacity:1;transition:none}}