*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#f8fafc;background:#080b12;min-width:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}main{--accent:#60a5fa;--accent-two:#8b5cf6;--background:#080b12;--surface:#121724;--surface-angle:135deg;--scroll-progress:0;background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 36%), var(--background);min-height:100vh;position:relative}main.typography-humanist{font-family:Segoe UI,Calibri,ui-sans-serif,system-ui,sans-serif}main.typography-technical{font-family:Bahnschrift,Arial Narrow,Inter,ui-sans-serif,system-ui,sans-serif}main.spacing-balanced .section{padding-block:104px}main.spacing-compact .section{padding-block:88px}main.cards-grid .card:nth-child(2n){transform:none}main.motion-restrained [data-reveal]{transition-duration:.36s}main.motion-restrained .reveal-pending{translate:0 10px}main.layout-structured .section{width:min(100%,1440px);margin-inline:auto}main.layout-structured .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}main.layout-immersive .section:nth-of-type(2n){background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 78%, transparent), transparent 72%)}main.hero-focused .hero-content{max-width:720px}main.hero-focused .scene{opacity:.7}main.hero-focused h1{font-size:clamp(3.7rem,8vw,7.4rem)}main.hero-technical .hero:before{opacity:.34;background-size:48px 48px}main.hero-technical h1{letter-spacing:-.045em}@media (hover:hover) and (prefers-reduced-motion:no-preference){main.motion-restrained .card:hover{translate:0 -2px}}.hero{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:1;pointer-events:none;opacity:.2;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 38% 100%);mask-image:linear-gradient(90deg,#0000,#000 38% 100%)}.scene{opacity:.9;position:absolute;inset:0}.scene canvas{touch-action:pan-y;display:block}.scene:after{content:"";pointer-events:none;background:linear-gradient(90deg,#04070cf0 0%,#04070ca3 42%,#04070c1f 100%);position:absolute;inset:0}.nav{z-index:10;justify-content:space-between;align-items:center;padding:28px clamp(24px,6vw,100px);display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:-.02em;font-weight:800}.nav-links{color:#cbd5e1;align-items:center;gap:24px;margin-left:auto;margin-right:24px;font-size:.86rem;font-weight:700;display:flex}.nav-links a{transition:color .18s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--accent)}.nav-cta{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff2b;border-radius:999px;padding:11px 18px}.hero-content{z-index:5;max-width:850px;padding:120px clamp(24px,6vw,100px);position:relative}.eyebrow,.section-label{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:800}h1{letter-spacing:-.075em;max-width:900px;margin:18px 0;font-size:clamp(4rem,10vw,9rem);line-height:.86}.hero-copy{color:#cbd5e1;max-width:700px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65}.hero-direction{border-left:2px solid var(--accent);color:#94a3b8;max-width:620px;margin:16px 0 0;padding-left:18px;font-size:.92rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-weight:800;transition:transform .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#020617;background:linear-gradient(135deg, var(--accent), var(--accent-two))}.button-secondary{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff0b;border:1px solid #ffffff29}.scroll-indicator{z-index:6;color:#94a3b8;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;position:absolute;bottom:28px;right:clamp(24px,6vw,100px)}.scroll-rail{z-index:20;background:#ffffff21;width:2px;height:min(34vh,260px);position:fixed;top:50%;right:22px;overflow:hidden;transform:translateY(-50%)}.scroll-rail span{background:linear-gradient(to bottom, var(--accent), var(--accent-two));width:100%;height:100%;transform:scaleY(var(--scroll-progress));transform-origin:top;display:block}.section{padding:120px clamp(24px,6vw,100px)}.section h2,.cta-section h2{letter-spacing:-.055em;max-width:850px;margin:14px 0 42px;font-size:clamp(2.7rem,6vw,5.8rem);line-height:.98}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.card{background:linear-gradient(var(--surface-angle), #ffffff12, #ffffff05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff17;border-radius:24px;min-height:280px;padding:30px}.card:nth-child(2n){transform:translateY(22px)}.card:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);width:46px;height:2px;margin-top:28px;display:block}.card-number{color:var(--accent);font-size:.78rem;font-weight:800}.card h3{margin-top:80px;font-size:1.5rem}.card p{color:#94a3b8;line-height:1.65}.feature-section{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:start;gap:70px;display:grid}.feature-list{gap:12px;display:grid}.feature{border-left:2px solid var(--accent);background:#ffffff09;padding:22px 24px}.improvement-list{gap:12px;display:grid}.improvement{border-bottom:1px solid #ffffff17;grid-template-columns:48px 1fr;gap:20px;padding:20px 0;display:grid}.improvement span{color:var(--accent);font-weight:900}.improvement p{color:#cbd5e1;margin:0}.cta-section{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 22%, var(--surface)), var(--surface));border-radius:34px;margin:80px clamp(24px,6vw,100px);padding:clamp(38px,6vw,80px)}.cta-section p:not(.section-label){color:#cbd5e1;max-width:650px;margin-bottom:32px;font-size:1.1rem;line-height:1.7}.concept-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:860px;display:grid}.concept-form label{color:#cbd5e1;gap:9px;font-size:.84rem;font-weight:800;display:grid}.concept-form input,.concept-form textarea{color:#f8fafc;width:100%;font:inherit;background:#02061757;border:1px solid #ffffff24;border-radius:14px;outline:none;padding:15px 16px}.concept-form input:focus,.concept-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.concept-form .form-message,.concept-form .form-status{grid-column:1/-1}.concept-form .button{cursor:pointer;border:0}.form-status{color:#cbd5e1;min-height:1.6em;margin:0;font-size:.9rem}footer{color:#64748b;border-top:1px solid #ffffff14;justify-content:space-between;gap:20px;padding:40px clamp(24px,6vw,100px);font-size:.85rem;display:flex}.qa-banner{color:#bbd5fb;text-align:center;letter-spacing:.03em;background:#111b2b;border-bottom:1px solid #60a5fa40;padding:12px 24px;font-size:.75rem;line-height:1.5}[data-reveal]{transition:opacity .55s,translate .55s}.reveal-pending{opacity:0;translate:0 18px}[id]{scroll-margin-top:24px}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.hero-actions,.contact-actions{flex-wrap:wrap;gap:14px;display:flex}.button,.nav-cta{transition:transform .18s,box-shadow .18s,border-color .18s}.button:active,.nav-cta:active{transform:translateY(1px)scale(.99)}.button-primary:hover{box-shadow:0 8px 28px #60a5fa26}.card{overflow-wrap:anywhere;transition:translate .22s,border-color .22s,background .22s}.card:focus-within{border-color:#60a5fa70}@media (hover:hover) and (prefers-reduced-motion:no-preference){.card:hover{border-color:#60a5fa70;translate:0 -5px}}.service-icon{width:34px;height:34px;color:var(--accent);margin:26px 0 18px;display:block}.card:has(.service-icon) h3{margin-top:0}.service-detail{border-top:1px solid #ffffff12;margin-top:22px;padding-top:16px;font-size:.85rem}.service-detail summary{cursor:pointer;color:#cbd5e1;justify-content:space-between;gap:12px;list-style:none;display:flex}.service-detail summary::-webkit-details-marker{display:none}.service-detail summary span{transition:transform .18s}.service-detail[open] summary span{transform:rotate(45deg)}.text-link{color:#a8c9fa;gap:12px;padding:18px 0 4px;font-size:.88rem;display:inline-flex}.text-link:hover{color:#fff}.section-intro{color:#a5b4cb;max-width:720px;margin:-18px 0 48px;font-size:1.05rem;line-height:1.75}.about-copy{font-size:clamp(1.05rem,2vw,1.25rem)}.trust-section{border-block:1px solid #ffffff0d}.trust-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:32px;margin-top:44px;display:grid}.trust-grid dt{color:#8caddc;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.trust-grid dd{white-space:pre-line;margin:12px 0 0;font-size:1.2rem;line-height:1.5}blockquote{border-left:2px solid var(--accent);margin:40px 0 0;padding-left:24px;line-height:1.7}blockquote cite{color:#94a3b8;font-size:.85rem}.faq-section{border-bottom:1px solid #ffffff0d}.faq-list{border-top:1px solid #ffffff18;max-width:960px}.faq-item{border-bottom:1px solid #ffffff18}.faq-item summary{cursor:pointer;color:#e2e8f0;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:clamp(1rem,2vw,1.2rem);font-weight:750;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-toggle{color:var(--accent);letter-spacing:.08em;flex:none;font-size:.76rem}.faq-item p{color:#94a3b8;max-width:760px;margin:-4px 0 26px;line-height:1.75}.faq-item[open] .faq-toggle{color:#f8fafc}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;display:grid}.gallery-grid figure{margin:0}.gallery-image{background:var(--surface);border-radius:20px;position:relative;overflow:hidden}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;border-radius:20px;width:100%;display:block}.gallery-badge{color:#fff;letter-spacing:.04em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05080ed1;border:1px solid #fff3;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:760;position:absolute;bottom:14px;left:14px}.gallery-grid figcaption{color:#cbd5e1;padding:12px 4px;line-height:1.6}.verified-contact{overflow-wrap:anywhere}.verified-contact>p{margin:18px 0}.verified-contact a:not(.button):hover{text-underline-offset:4px;text-decoration:underline}.quote-form{text-align:left;border-top:1px solid #ffffff1a;margin-top:42px;padding-top:36px}.quote-form h3{margin:0 0 8px;font-size:clamp(1.3rem,3vw,1.8rem)}.quote-form select{color:#f8fafc;width:100%;min-width:0;font:inherit;background:#111a2a;border:1px solid #ffffff26;border-radius:12px;padding:14px}.quote-form input,.quote-form textarea,.quote-form label,.quote-form>*{min-width:0}.quote-note{color:#a5b4cb;font-size:.78rem;line-height:1.6}.footer-grid{overflow-wrap:anywhere;color:#94a3b8;grid-template-columns:1.2fr 1fr 1fr;gap:48px;width:100%;line-height:1.7;display:grid}.footer-grid>*{min-width:0}.footer-grid strong{color:#f8fafc;font-size:1.15rem}.footer-grid h3{color:#cbd5e1;margin:0 0 16px;font-size:.85rem}.footer-grid a{width:fit-content;padding:5px 0;display:block}.footer-grid a:hover{color:#fff}.footer-note{border-top:1px solid #ffffff0d;grid-column:1/-1;padding-top:22px;font-size:.72rem}@media (width<=800px){.footer-grid{grid-template-columns:1fr;gap:28px}.contact-actions{flex-direction:column;align-items:stretch}.nav{gap:12px}.brand{min-width:0}.nav-cta{text-align:center;max-width:50%;font-size:.78rem}.scene:has(canvas){opacity:1}}@media (prefers-reduced-motion:reduce){[data-reveal],.reveal-pending{opacity:1;transition:none;translate:none}.card,.button,.nav-cta,.service-detail summary span{transition:none}}@media (width<=800px){.scene:after{background:linear-gradient(#04070c73,#04070cf0 72%)}.hero{align-items:flex-end}.hero-content{padding-top:190px}.feature-section{grid-template-columns:1fr}.scroll-indicator{display:none}.scroll-rail{height:120px;right:8px}.nav-links{display:none}.concept-form{grid-template-columns:1fr}.card:nth-child(2n){transform:none}footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.scroll-rail{display:none}}@font-face{font-family:Inter;src:url(/fonts/inter-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--sans:Inter, "Segoe UI", ui-sans-serif, system-ui, sans-serif;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif}main{font-family:var(--sans)}.no-3d .hero:before{display:none}.hero-media{z-index:0;background-position:50%;background-size:cover;position:absolute;inset:0}.no-photo .hero-media{background:radial-gradient(60% 70% at 78% 40%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%), radial-gradient(40% 50% at 90% 85%, color-mix(in srgb, var(--accent-two) 22%, transparent), transparent 70%), var(--background)}.hero-media:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--background) 94%, transparent) 0%, color-mix(in srgb, var(--background) 70%, transparent) 48%, color-mix(in srgb, var(--background) 25%, transparent) 100%);position:absolute;inset:0}.no-photo .hero-media:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E")}.hero-glow{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 38%, transparent), transparent 68%);filter:blur(30px);border-radius:50%;width:min(42vw,520px);position:absolute;top:18%;right:8%}.has-photo .hero-glow{display:none}.hero-content{z-index:2;position:relative}.hero-statement{letter-spacing:-.02em;color:#f8fafc;margin:0 0 18px;font-size:clamp(2.6rem,7vw,5.6rem);line-height:.98}.hero-statement span{margin-right:.24em;display:inline-block}.has-statement .hero-content h1{letter-spacing:0;color:color-mix(in srgb, var(--accent) 80%, #fff);margin:0 0 12px;font-size:clamp(1.2rem,2.6vw,1.7rem)}.hero-effect{opacity:.85;position:absolute;inset:0}.hero-effect>*{width:100%;height:100%}.effect-dither_veil{opacity:1}.has-photo .hero-media:has(.effect-dither_veil){background-image:none!important}.style-spotlight .hero-statement{text-transform:uppercase;font-weight:800}.style-spotlight .hero-statement span:first-letter{color:inherit}.style-spotlight .button,.style-spotlight .nav-cta{border-radius:999px}.style-spotlight .card:nth-child(3n){background:var(--accent);border-color:var(--accent);color:#111}.style-spotlight .card:nth-child(3n) h3,.style-spotlight .card:nth-child(3n) p,.style-spotlight .card:nth-child(3n) .service-detail summary,.style-spotlight .card:nth-child(3n) a{color:#111}.style-editorial .hero-statement,.style-editorial .section h2,.style-editorial .hero-content h1{font-family:var(--serif);letter-spacing:-.01em;font-weight:400}.style-editorial .hero-statement{font-size:clamp(3rem,8vw,6.4rem)}.style-editorial #about{color:#1f1a16;background:#efe7dc}.style-editorial #about h2,.style-editorial #about p,.style-editorial #about .section-label{color:#1f1a16}.style-editorial .button,.style-editorial .nav-cta{border-radius:8px}.style-executive .hero-statement{letter-spacing:-.03em;font-weight:600}.style-executive .button,.style-executive .nav-cta{text-transform:uppercase;letter-spacing:.06em;border-radius:2px;font-size:.78rem}.style-executive .card:first-child{background:var(--accent);border-color:var(--accent);color:#111}.style-executive .card:first-child h3,.style-executive .card:first-child p,.style-executive .card:first-child .service-detail summary,.style-executive .card:first-child a{color:#111}.style-calm .hero-statement,.style-calm .section h2{font-family:var(--serif);font-style:italic;font-weight:400}.style-calm .card{border-radius:28px}.style-calm .button,.style-calm .nav-cta{border-radius:999px}.style-calm #about{color:#22302a;background:#f1ede4}.style-calm #about h2,.style-calm #about p,.style-calm #about .section-label{color:#22302a}@media (prefers-reduced-motion:no-preference){.style-calm [data-reveal]{transition-duration:.9s}}@media (width<=760px){.hero-statement{font-size:clamp(2.2rem,11vw,3.4rem)}.hero-glow{width:90vw;top:4%;right:-20%}}main.has-statement .hero-content h1{font-family:var(--sans);letter-spacing:-.03em;font-size:clamp(2.15rem,5vw,4rem);font-weight:700;line-height:1.02}.cards .card{isolation:isolate;position:relative}.cards .card:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,0%), color-mix(in srgb, var(--accent) 18%, transparent), transparent 62%);transition:opacity .3s;position:absolute;inset:0}.cards .card:hover:before{opacity:1}.cards .card:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.card-cover{aspect-ratio:16/10;background:var(--surface);cursor:zoom-in;border:0;border-radius:16px;width:100%;margin:0 0 22px;padding:0;display:block;position:relative;overflow:hidden}.card-cover img{object-fit:cover;width:100%;height:100%;transition:scale .9s cubic-bezier(.2,.7,.1,1);display:block}.card-cover:hover img,.card-cover:focus-visible img{scale:1.07}.card-cover-count{color:#fff;letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05080ec7;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700;position:absolute;bottom:12px;left:12px}.card-actions{flex-wrap:wrap;align-items:center;gap:10px 22px;display:flex}.card-actions button.text-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.viewer{z-index:60;-webkit-backdrop-filter:blur(12px);background:#030509db;place-items:center;padding:24px;animation:.26s echo-viewer-in;display:grid;position:fixed;inset:0}.viewer-panel{background:var(--background);border:1px solid #ffffff1f;border-radius:24px;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);width:min(1180px,100%);max-height:calc(100vh - 48px);display:grid;position:relative;overflow:auto;box-shadow:0 40px 120px #00000080}.viewer-stage{background:#000;place-items:center;min-height:320px;display:grid;position:relative}.viewer-stage img{object-fit:contain;width:100%;max-height:78vh;animation:.3s echo-viewer-in;display:block}.viewer-arrow{color:#fff;cursor:pointer;background:#05080e99;border:1px solid #ffffff40;border-radius:999px;width:46px;height:46px;font-size:1.6rem;line-height:1;position:absolute;top:50%;translate:0 -50%}.viewer-prev{left:14px}.viewer-next{right:14px}.viewer-count{color:#fff;background:#05080eb3;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700;position:absolute;bottom:14px;left:14px}.viewer-info{flex-direction:column;gap:14px;padding:34px 28px;display:flex}.viewer-info h3{margin:0;font-size:clamp(1.4rem,2.6vw,2rem)}.viewer-info p{color:#cbd5e1;margin:0;line-height:1.7}.viewer-info .section-label{color:var(--accent)}.viewer-info .button{align-self:flex-start;margin-top:auto}.viewer-thumbs{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.viewer-thumbs button{aspect-ratio:1;background:var(--surface);cursor:pointer;opacity:.6;border:2px solid #0000;border-radius:10px;padding:0;transition:opacity .2s,border-color .2s;overflow:hidden}.viewer-thumbs button.active,.viewer-thumbs button:hover{opacity:1;border-color:var(--accent)}.viewer-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.viewer-close{z-index:2;color:#fff;cursor:pointer;background:#05080eb3;border:1px solid #ffffff40;border-radius:999px;width:42px;height:42px;font-size:1.5rem;line-height:1;position:absolute;top:12px;right:12px}@keyframes echo-viewer-in{0%{opacity:0}to{opacity:1}}@media (width<=800px){.viewer{place-items:stretch stretch;padding:0}.viewer-panel{border-radius:0;grid-template-columns:1fr;max-height:100vh}.viewer-stage{min-height:240px}.viewer-info{padding:24px 20px 32px}}.nav{z-index:40;transition:background .3s,padding .3s,translate .45s cubic-bezier(.2,.7,.1,1),box-shadow .3s;position:fixed}.nav-hidden .nav{translate:0 -130%}.nav-glass .nav{background:color-mix(in srgb, var(--background) 62%, transparent);-webkit-backdrop-filter:blur(16px)saturate(140%);border:1px solid #ffffff24;border-radius:999px;max-width:1120px;margin-inline:auto;padding:10px 10px 10px 22px;top:14px;left:14px;right:14px}.nav-glass.is-scrolled .nav{background:color-mix(in srgb, var(--background) 88%, transparent);box-shadow:0 18px 50px #00000059}.nav-split .nav-links{margin-inline:auto}.nav-split.is-scrolled .nav,.nav-smart.is-scrolled .nav,.nav-line.is-scrolled .nav{background:color-mix(in srgb, var(--background) 90%, transparent);-webkit-backdrop-filter:blur(14px);padding-block:14px;box-shadow:0 10px 40px #0000004d}.nav-line .nav{border-bottom:1px solid #ffffff1f}.nav-line .nav-links a{padding-block:4px;position:relative}.nav-line .nav-links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:scale .3s;position:absolute;bottom:0;left:0;right:0;scale:0 1}.nav-line .nav-links a:hover:after,.nav-line .nav-links a:focus-visible:after{transform-origin:0;scale:1}.menu-toggle{color:#f8fafc;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;flex:none;align-content:center;gap:5px;width:44px;height:44px;display:none}.menu-toggle span{background:currentColor;width:18px;height:1.5px;margin:0 auto;transition:translate .25s,rotate .25s;display:block}.menu-open .menu-toggle span:first-child{translate:0 3.25px;rotate:45deg}.menu-open .menu-toggle span:last-child{translate:0 -3.25px;rotate:-45deg}.mobile-menu{z-index:35;background:color-mix(in srgb, var(--background) 95%, transparent);-webkit-backdrop-filter:blur(18px);visibility:hidden;opacity:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:96px 28px 40px;transition:opacity .3s,visibility 0s linear .3s;display:flex;position:fixed;inset:0}.mobile-menu.open{visibility:visible;opacity:1;transition:opacity .3s}.mobile-menu a:not(.button){font-family:var(--serif);color:#f8fafc;font-size:clamp(2rem,9vw,3rem);line-height:1.3}.mobile-menu a{opacity:0;transition:translate .45s cubic-bezier(.2,.7,.1,1),opacity .45s;translate:0 18px}.mobile-menu.open a{opacity:1;translate:0}.mobile-menu.open a:nth-child(2){transition-delay:50ms}.mobile-menu.open a:nth-child(3){transition-delay:.1s}.mobile-menu.open a:nth-child(4){transition-delay:.15s}.mobile-menu.open a:nth-child(5){transition-delay:.2s}.mobile-menu.open a:nth-child(6){transition-delay:.25s}.mobile-menu-cta{margin-top:28px}@media (width<=800px){.menu-toggle{display:grid}.nav{gap:10px}.brand{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-cta{margin-left:auto}.nav-glass .nav{padding:8px 8px 8px 16px;top:10px;left:10px;right:10px}.btn-arrow .nav-cta:after{display:none}}@media (width<=430px){.nav-cta{padding:9px 12px;font-size:.72rem}}@media (width>=801px){.mobile-menu{display:none}}.btn-magnetic .button,.btn-magnetic .nav-cta{translate:var(--mx,0px) var(--my,0px);transition:translate .25s cubic-bezier(.2,.7,.1,1),transform .18s,box-shadow .18s}.btn-shine .button,.btn-shine .nav-cta{isolation:isolate;position:relative;overflow:hidden}.btn-shine .button:after,.btn-shine .nav-cta:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff80 50%,#0000 65%);transition:translate .75s;position:absolute;inset:0;translate:-110%}.btn-shine .button:hover:after,.btn-shine .button:focus-visible:after,.btn-shine .nav-cta:hover:after{translate:110%}.btn-fill .button-secondary,.btn-fill .nav-cta{background-image:linear-gradient(var(--accent), var(--accent));background-repeat:no-repeat;background-size:0% 100%;transition:background-size .4s cubic-bezier(.2,.7,.1,1),color .3s,transform .18s}.btn-fill .button-secondary:hover,.btn-fill .button-secondary:focus-visible,.btn-fill .nav-cta:hover,.btn-fill .nav-cta:focus-visible{color:#111;background-size:100% 100%}.btn-fill .button-primary:hover{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 35%, transparent)}.btn-arrow .button-primary:after,.btn-arrow .nav-cta:after{content:"→";margin-left:.55em;transition:translate .25s;display:inline-block}.btn-arrow .button-primary:hover:after,.btn-arrow .button-primary:focus-visible:after,.btn-arrow .nav-cta:hover:after{translate:5px}.img-parallax .gallery-grid img{scale:1.14;translate:0 calc(var(--drift,0) * -28px);transition:translate .12s linear}.img-mask .gallery-grid img{clip-path:inset(0);transition:clip-path 1.1s cubic-bezier(.7,0,.2,1),scale 1.6s cubic-bezier(.2,.7,.1,1)}.img-mask .reveal-pending img{clip-path:inset(0 0 100%);scale:1.18}.img-zoom .gallery-grid img{transition:scale 1.4s cubic-bezier(.2,.7,.1,1)}.img-zoom .gallery-grid figure:hover img{scale:1.07}.img-zoom.has-photo .hero-media{animation:22s ease-in-out infinite alternate echo-slow-zoom}@keyframes echo-slow-zoom{0%{scale:1}to{scale:1.08}}.img-tilt .gallery-grid figure{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s cubic-bezier(.2,.7,.1,1)}.img-tilt .gallery-grid figure:hover .gallery-image{box-shadow:0 30px 60px #00000059}.ribbon{background:var(--surface);border-block:1px solid #ffffff14;padding:22px 0;position:relative;overflow:hidden}.ribbon-track{width:max-content;animation:38s linear infinite echo-ribbon;display:flex}.ribbon span{white-space:nowrap;color:#e2e8f0;align-items:center;gap:28px;padding-right:28px;font-size:clamp(1.1rem,2.4vw,1.8rem);font-weight:600;display:inline-flex}.ribbon i{color:var(--accent);font-size:.7em;font-style:normal}.style-editorial .ribbon span,.style-calm .ribbon span{font-family:var(--serif);font-style:italic;font-weight:400}@keyframes echo-ribbon{to{translate:-50%}}@media (prefers-reduced-motion:reduce){.ribbon-track,.img-zoom.has-photo .hero-media{animation:none}.img-mask .reveal-pending img{clip-path:none;scale:1}.nav-hidden .nav{translate:none}}
