:root{--bg: #0a0a0b;--surface: #0f1011;--surface-raised: #141517;--surface-hover: #191a1d;--line: #26272b;--line-soft: #1c1d20;--text: #f3f2ef;--text-secondary: #a2a19c;--text-tertiary: #6f6e69;--cyan: #46e0f5;--cyan-deep: #17b4cc;--violet: #8b5cff;--accent: var(--cyan);--on-accent: #04191d;--danger: #ff6b6b;--font-display: "Bricolage Grotesque", "Sora", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-eyebrow: .75rem;--fs-body: 1.0625rem;--fs-body-lg: 1.1875rem;--fs-small: .9375rem;--fs-h1: clamp(2.7rem, 6.2vw + .4rem, 5.25rem);--fs-h2: clamp(2rem, 3.6vw + .6rem, 3.25rem);--fs-h3: clamp(1.4rem, 1.6vw + .7rem, 1.9rem);--fs-h4: clamp(1.1rem, .6vw + .9rem, 1.3rem);--lh-tight: .98;--lh-snug: 1.08;--lh-body: 1.62;--container: 1180px;--container-narrow: 760px;--container-wide: 1360px;--gutter: clamp(1.25rem, 4vw, 3.25rem);--section-y: clamp(4.5rem, 9vw, 9rem);--radius-sm: 2px;--radius: 3px;--radius-lg: 4px;--radius-pill: 2px;--shadow-card: 0 24px 60px -40px rgba(0, 0, 0, .85);--ease: cubic-bezier(.2, .7, .2, 1);--dur-fast: .14s;--dur: .28s;--dur-slow: .56s;--header-h: 76px}@media (max-width: 640px){:root{--fs-body: 1rem;--header-h: 62px}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}#root{position:relative;z-index:1;isolation:isolate}img,picture,video,canvas,svg{display:block;max-width:100%}img,video{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:var(--lh-snug);letter-spacing:-.025em;text-wrap:balance}p{text-wrap:pretty}ul[role=list],ol[role=list]{list-style:none;padding:0}:target{scroll-margin-top:calc(var(--header-h) + 20px)}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}::selection{background:#46e0f540;color:#fff}.skip-link{position:absolute;left:12px;top:-80px;z-index:200;background:var(--cyan);color:var(--on-accent);padding:.7rem 1.1rem;border-radius:var(--radius-sm);font-weight:600;transition:top var(--dur) var(--ease)}.skip-link:focus{top:12px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.section{position:relative;padding-block:var(--section-y)}.section--tight{padding-block:clamp(2.5rem,5vw,4rem)}.section--surface{background:var(--surface)}.section--raised{background:var(--surface-raised)}.section--hairline{border-top:1px solid var(--line-soft)}.section>.container{position:relative;z-index:1}.eyebrow{display:block;font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:1.1rem}.eyebrow--accent{color:var(--cyan-deep)}h1,.h1{font-size:var(--fs-h1);font-weight:800;line-height:var(--lh-tight)}h2,.h2{font-size:var(--fs-h2)}h3,.h3{font-size:var(--fs-h3)}h4,.h4{font-size:var(--fs-h4)}.lead{font-size:var(--fs-body-lg);color:var(--text-secondary);max-width:58ch}.muted{color:var(--text-secondary)}.measure{max-width:60ch}.accent-word{color:var(--cyan)}.center{text-align:center}.center .lead,.center .eyebrow{margin-inline:auto}.section-head{max-width:720px;margin-bottom:clamp(2.25rem,4vw,3.5rem)}.section-head.center{margin-inline:auto}.section-head p{color:var(--text-secondary);font-size:var(--fs-body-lg);margin-top:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-body);font-weight:600;font-size:.98rem;letter-spacing:.01em;line-height:1;padding:.95rem 1.6rem;border-radius:var(--radius);border:1px solid transparent;background:var(--surface-raised);color:var(--text);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);min-height:50px;text-align:center}.btn svg{flex-shrink:0}.btn--primary{background:var(--cyan);color:var(--on-accent);font-weight:700}.btn--primary:hover{background:#6fe9f8}.btn--secondary{background:transparent;border-color:var(--line);color:var(--text)}.btn--secondary:hover{border-color:var(--text-secondary)}.btn--ghost{background:transparent;color:var(--text);padding-inline:.25rem}.btn--ghost:hover{color:var(--cyan)}.btn--block{width:100%}.btn--lg{padding:1.1rem 2rem;font-size:1.02rem}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-weight:600;color:var(--text);padding-bottom:.2rem;border-bottom:1px solid var(--line);transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.link-arrow svg{color:var(--cyan);transition:transform var(--dur) var(--ease)}.link-arrow:hover{color:var(--cyan);border-color:var(--cyan)}.link-arrow:hover svg{transform:translate(3px)}.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}.btn-row.center{justify-content:center}.card{position:relative;background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden}.card--pad{padding:clamp(1.5rem,3vw,2.1rem)}.card--hover{transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.card--hover:hover{border-color:var(--line);background:var(--surface-hover)}.icon-tile{display:inline-flex;align-items:center;color:var(--cyan);margin-bottom:1.1rem}.icon-tile svg{width:26px;height:26px}.label{display:inline-block;font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary)}.label--accent{color:var(--cyan-deep)}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .8rem;border-radius:var(--radius);border:1px solid var(--line-soft);color:var(--text-secondary);font-size:var(--fs-small)}.grid{display:grid;gap:clamp(1rem,2.5vw,1.75rem)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width: 960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,4.5rem);align-items:center}.split--media-first .split__media{order:-1}@media (max-width: 860px){.split{grid-template-columns:1fr}.split--media-first .split__media{order:0}}.reveal{opacity:0;transform:translateY(12px);transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}}.media-frame{position:relative;width:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line-soft)}.media-frame__img{width:100%;height:100%;object-fit:cover}.vimeo-frame{border:0;object-fit:fill}.placeholder{position:relative;width:100%;height:100%;min-height:180px;display:grid;place-items:center;padding:1.5rem;background:var(--surface);border-radius:inherit;overflow:hidden;text-align:center}.placeholder__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(162,161,156,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(162,161,156,.06) 1px,transparent 1px);background-size:32px 32px}.placeholder__beams{display:none}.placeholder__body{position:relative;z-index:1;max-width:36ch}.placeholder__icon{display:inline-flex;color:var(--text-tertiary);margin-bottom:.75rem}.placeholder__label{font-family:var(--font-display);font-weight:600;color:var(--text-secondary);font-size:.95rem;margin-bottom:.5rem;line-height:1.4}.placeholder__file{display:inline-block;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.76rem;color:var(--cyan-deep);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.3rem .6rem;word-break:break-all}.placeholder__hint{margin-top:.7rem;font-size:.8rem;color:var(--text-tertiary)}.video-player__play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;background:linear-gradient(180deg,#0a0a0b1a,#0a0a0b73);color:var(--text);font-family:var(--font-body);font-weight:600;font-size:1rem;border:0;transition:background var(--dur) var(--ease)}.video-player__play:hover{background:linear-gradient(180deg,#0a0a0b0d,#0a0a0b66)}.video-player__play-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--cyan);color:var(--on-accent);padding-left:3px;transition:transform var(--dur) var(--ease)}.video-player__play:hover .video-player__play-icon{transform:scale(1.05)}.accordion{border-top:1px solid var(--line)}.accordion__item{border-bottom:1px solid var(--line)}.accordion__heading{margin:0;font-size:inherit;font-family:var(--font-body)}.accordion__trigger{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;padding:1.4rem .25rem;background:transparent;border:0;font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--text);transition:color var(--dur) var(--ease)}.accordion__trigger:hover{color:var(--cyan)}.accordion__icon{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;color:var(--text-tertiary);transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}.accordion__item.is-open .accordion__icon{transform:rotate(45deg);color:var(--cyan)}.accordion__panel{padding:0 .25rem 1.6rem;max-width:74ch;color:var(--text-secondary)}.note{display:flex;align-items:flex-start;gap:.7rem;padding:1.1rem 1.25rem;border-radius:var(--radius);border:1px solid var(--line-soft);border-left:2px solid var(--line);background:var(--surface);color:var(--text-secondary);font-size:var(--fs-small)}.note svg{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.tick-list{display:grid;gap:.8rem;padding:0;list-style:none}.tick-list li{display:flex;align-items:flex-start;gap:.7rem;color:var(--text-secondary)}.tick-list li strong{color:var(--text);font-weight:600}.tick-list svg{color:var(--cyan);flex-shrink:0;margin-top:3px}.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),backdrop-filter var(--dur) var(--ease);border-bottom:1px solid transparent}.site-header.is-solid{background:var(--bg);border-bottom-color:var(--line-soft)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:var(--header-h)}.logo{display:inline-flex;align-items:center;gap:.55rem}.logo__mark{flex-shrink:0}.logo__word{font-family:var(--font-display);font-weight:800;font-size:1.28rem;letter-spacing:-.02em;color:var(--text)}.logo__word-accent{color:var(--cyan)}.site-header__nav{margin-left:auto}.site-header__nav ul{display:flex;gap:.35rem;list-style:none;margin:0;padding:0}.site-header__link{display:inline-flex;align-items:center;padding:.55rem .85rem;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--text-secondary);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.site-header__link:hover{color:var(--text);background:#ffffff0a}.site-header__link.is-active{color:var(--cyan)}.site-header__actions{display:flex;align-items:center;gap:.75rem}.site-header__cta{padding:.7rem 1.15rem;min-height:44px}.site-header__toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:var(--radius);border:1px solid var(--line);background:#ffffff08;color:var(--text)}.mobile-menu{display:none}@media (max-width: 1024px){.site-header__nav,.site-header__cta{display:none}.site-header__toggle{display:inline-flex}.mobile-menu.is-open{display:block;position:fixed;inset:var(--header-h) 0 0 0;z-index:99;background:var(--bg);padding:1.5rem var(--gutter) 2.5rem;overflow-y:auto;animation:menu-in var(--dur) var(--ease)}.mobile-menu__nav ul{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.35rem}.mobile-menu__link{display:flex;align-items:center;padding:1rem;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--text);border:1px solid transparent;min-height:56px}.mobile-menu__link:hover,.mobile-menu__link.is-active{border-color:var(--line);color:var(--cyan)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.mobile-menu{animation:none}}main{outline:none}.mobile-action-bar{display:none}@media (max-width: 768px){.mobile-action-bar{position:fixed;inset:auto 0 0;z-index:90;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line)}main{padding-bottom:76px}}.mobile-action-bar__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;border:1px solid var(--line);background:var(--surface-raised);color:var(--text)}.mobile-action-bar__btn[disabled]{opacity:.55}.mobile-action-bar__btn--primary{background:var(--cyan);color:var(--on-accent);border-color:transparent}.site-footer{position:relative;background:var(--surface);border-top:1px solid var(--line-soft);padding-block:clamp(3rem,6vw,5rem) 2rem;margin-top:2rem}.site-footer__top{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:clamp(2rem,5vw,4rem);padding-bottom:2.5rem;border-bottom:1px solid var(--line-soft)}.site-footer__blurb{color:var(--text-secondary);margin:1.25rem 0 .75rem;max-width:42ch}.site-footer__legal-line{color:var(--text-tertiary);font-size:var(--fs-small);margin-bottom:1.5rem}.site-footer__heading{font-family:var(--font-display);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:1.1rem}.site-footer__col ul{display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.site-footer__col a{color:var(--text-secondary);transition:color var(--dur) var(--ease)}.site-footer__col a:hover{color:var(--cyan)}.site-footer__contact li{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary)}.site-footer__contact svg{color:var(--cyan);flex-shrink:0}.placeholder-text{color:var(--text-tertiary);font-style:italic}.site-footer__social{display:flex;gap:.6rem;margin-top:1.35rem}.site-footer__social-link{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);border:1px solid var(--line);color:var(--text-secondary);transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.site-footer__social-link:hover{color:var(--cyan);border-color:var(--cyan)}.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.75rem}.site-footer__company{color:var(--text-tertiary);font-size:var(--fs-small);max-width:60ch}.site-footer__legal{display:flex;flex-wrap:wrap;gap:1.25rem;list-style:none;margin:0;padding:0}.site-footer__legal a{color:var(--text-secondary);font-size:var(--fs-small)}.site-footer__legal a:hover{color:var(--cyan)}@media (max-width: 860px){.site-footer__top{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1 / -1}}@media (max-width: 560px){.site-footer__top{grid-template-columns:1fr}}.hero{position:relative;min-height:min(94vh,900px);display:flex;align-items:flex-end;padding-top:calc(var(--header-h) + 2rem);padding-bottom:clamp(3rem,8vh,6.5rem);overflow:hidden;border-bottom:1px solid var(--line-soft)}.hero__media{position:absolute;inset:0;z-index:0}.hero__poster,.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__poster--fallback{background:linear-gradient(180deg,#101113,#0a0a0b)}.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0b80,#0a0a0b4d 40%,#0a0a0bb8 82%,#0a0a0bf5)}.hero__beams{display:none}.hero__inner{position:relative;z-index:1;width:100%}.hero__title{max-width:18ch;margin-bottom:1.75rem}.hero__lead{font-size:clamp(1.1rem,1.2vw + .75rem,1.4rem);color:var(--text);max-width:56ch;margin-bottom:2rem;line-height:1.5}.hero__sub{color:var(--text-secondary);max-width:58ch;margin-bottom:2rem}.hero__services{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-family:var(--font-body);font-weight:500;font-size:.9rem;letter-spacing:.04em;color:var(--text-secondary);text-transform:uppercase}.hero__services span{color:var(--text-tertiary);padding:0 .5rem}.hero__scroll{display:none}.trust-bar{padding-block:clamp(1.1rem,2.5vw,1.5rem);background:var(--bg);border-bottom:1px solid var(--line-soft)}.trust-bar__list{display:flex;flex-wrap:wrap;gap:.6rem 2rem;list-style:none;margin:0;padding:0}.trust-bar__item{display:flex;align-items:center;gap:.6rem;color:var(--text-secondary);font-size:var(--fs-small);font-weight:500}.trust-bar__item svg{color:var(--cyan-deep);flex-shrink:0;width:17px;height:17px}@media (max-width: 720px){.trust-bar__list{display:grid;grid-template-columns:1fr 1fr;gap:.85rem 1.25rem}}.services-index{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1rem,4vw,3.5rem);align-items:center;padding:clamp(1.75rem,3.5vw,2.75rem) 0;border-bottom:1px solid var(--line);transition:background var(--dur) var(--ease)}.service-row:hover{background:linear-gradient(90deg,var(--surface),transparent 80%)}.service-row__num{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-tertiary);font-feature-settings:"tnum"}.service-row__main{max-width:52ch}.service-row__title{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin-bottom:.6rem}.service-row__title h3{font-size:clamp(1.5rem,2.4vw,2.1rem)}.service-row__text{color:var(--text-secondary)}.service-row__cta{white-space:nowrap}@media (max-width: 760px){.service-row{grid-template-columns:auto 1fr;gap:.75rem 1.25rem}.service-row__cta{grid-column:2}}.seasonal__apps{margin:1.75rem 0}.event-index{border-top:1px solid var(--line);columns:2;column-gap:clamp(2rem,5vw,4.5rem)}.event-item{break-inside:avoid;padding:1.5rem 0;border-bottom:1px solid var(--line)}.event-item h3{font-size:1.2rem;margin-bottom:.5rem}.event-item p{color:var(--text-secondary);font-size:var(--fs-small)}@media (max-width: 680px){.event-index{columns:1}}.case-study__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.case-study__gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.case-study__meta{display:grid;gap:.75rem;list-style:none;padding:0 0 1.75rem;margin:0 0 1.75rem;border-bottom:1px solid var(--line)}.case-study__meta li{display:flex;align-items:flex-start;gap:.6rem;color:var(--text-secondary)}.case-study__meta svg{color:var(--cyan-deep);flex-shrink:0;margin-top:4px}.case-study__dl{display:grid;gap:1.4rem;margin-bottom:2rem}.case-study__dl dt{font-family:var(--font-body);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.4rem}.case-study__dl dd{margin:0;color:var(--text-secondary)}.is-placeholder{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;color:var(--text-tertiary);border-left:2px solid var(--line);padding:.15rem 0 .15rem .75rem}@media (max-width: 860px){.case-study__grid{grid-template-columns:1fr}}.previs__compare{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem)}.previs__panel figcaption{margin-top:.85rem;font-family:var(--font-body);font-weight:500;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.previs__foot{margin-top:2.5rem;display:grid;gap:1.25rem}.previs__chips{max-width:70ch}@media (max-width: 720px){.previs__compare{grid-template-columns:1fr}}.package{display:flex;flex-direction:column;height:100%;position:relative;border-top:2px solid var(--line);background:transparent;border-radius:0;border-left:0;border-right:0;border-bottom:0;padding:1.75rem 0 0}.package--featured{border-top-color:var(--cyan)}.package__flag{position:absolute;top:-1.6rem;left:0}.package__lasers{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.package__name{font-size:1.7rem;margin:.5rem 0 .6rem}.package__summary{margin-bottom:1.25rem;min-height:3em}.package__list{display:grid;gap:.55rem;list-style:none;padding:1.25rem 0 0;margin:auto 0 0;border-top:1px solid var(--line-soft)}.package__list li{display:flex;align-items:center;gap:.55rem;color:var(--text-secondary);font-size:var(--fs-small)}.package__list svg{color:var(--cyan-deep);flex-shrink:0}.packages__additions{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.packages__additions-title{font-family:var(--font-body);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:1rem}.packages__note{max-width:74ch;margin:2rem 0 0}.project-card{height:100%;border:0;background:transparent;border-radius:0}.project-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--line-soft)}.project-card__img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease)}.project-card:hover .project-card__img{transform:scale(1.03)}.project-card__label{position:absolute;left:0;bottom:0;z-index:1;font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.4rem .7rem;background:var(--bg);color:var(--text-secondary)}.project-card__body{padding:1rem 0 0}.project-card__title{font-size:1.2rem;margin-bottom:.4rem}.project-card__loc{display:flex;align-items:center;gap:.4rem;color:var(--text-tertiary);font-size:var(--fs-small)}.project-card__loc svg{color:var(--cyan-deep);flex-shrink:0}.capabilities__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem)}.capabilities__card{padding:2rem 0 0;border-top:2px solid var(--line)}.capabilities__card h3{margin:.85rem 0 .75rem}@media (max-width: 780px){.capabilities__grid{grid-template-columns:1fr}}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.why-panel{padding:1.9rem clamp(1.5rem,3vw,2.5rem) 1.9rem 0;border-bottom:1px solid var(--line)}.why-panel:nth-child(odd){border-right:1px solid var(--line);padding-right:clamp(1.5rem,3vw,2.5rem)}.why-panel:nth-child(2n){padding-left:clamp(1.5rem,3vw,2.5rem)}.why-panel__num{font-family:var(--font-display);font-weight:700;font-size:.8rem;color:var(--cyan-deep);letter-spacing:.1em}.why-panel h3{margin:.75rem 0 .6rem;font-size:1.3rem}@media (max-width: 640px){.why-grid{grid-template-columns:1fr}.why-panel,.why-panel:nth-child(odd){padding:1.6rem 0;border-right:0}.why-panel:nth-child(2n){padding-left:0}}.safety__list{margin:1.75rem 0}.testimonials__empty{max-width:640px;padding:2.5rem 0 0;border-top:1px solid var(--line);display:grid;gap:.75rem}.testimonials__empty svg{color:var(--text-tertiary)}.testimonials__empty p:first-of-type{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--text)}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process__step{padding:2rem clamp(1.25rem,2vw,1.75rem) 2rem 0;border-right:1px solid var(--line)}.process__step:last-child{border-right:0;padding-right:0}.process__num{font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.1em;color:var(--cyan-deep)}.process__title{margin:1rem 0 .6rem;font-size:1.2rem}.process__reassure{display:flex;align-items:center;gap:.55rem;margin-top:2.5rem;font-family:var(--font-body);font-weight:500;color:var(--text-secondary);font-size:var(--fs-small)}.process__reassure svg{color:var(--cyan-deep)}@media (max-width: 900px){.process{grid-template-columns:1fr 1fr}.process__step:nth-child(2){border-right:0;padding-right:0}}@media (max-width: 520px){.process{grid-template-columns:1fr}.process__step{border-right:0;padding-right:0;border-bottom:1px solid var(--line)}}.final-enquiry{position:relative;background:var(--surface);border-top:1px solid var(--line-soft)}.final-enquiry__bg,.final-enquiry__beams{display:none}.final-enquiry__card{max-width:920px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg)}.page-hero{position:relative;padding-top:calc(var(--header-h) + clamp(2.5rem,6vw,5rem));padding-bottom:clamp(2.5rem,6vw,4.5rem);overflow:hidden;background:var(--bg);border-bottom:1px solid var(--line)}.page-hero__grid{display:none}.page-hero--center{text-align:center}.page-hero--center .eyebrow,.page-hero--center .page-hero__intro,.page-hero--center .btn-row{margin-inline:auto;justify-content:center}.page-hero__title{max-width:20ch}.page-hero--center .page-hero__title{margin-inline:auto}.page-hero__intro{margin-top:1.4rem;max-width:60ch}.page-hero__actions{margin-top:2.25rem}.breadcrumbs{margin-bottom:1.75rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;list-style:none;padding:0;margin:0;font-size:var(--fs-small)}.breadcrumbs li{display:flex;align-items:center;gap:.5rem;color:var(--text-tertiary)}.breadcrumbs a{color:var(--text-secondary)}.breadcrumbs a:hover{color:var(--cyan)}.breadcrumbs svg{color:var(--text-tertiary)}.cta-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;padding:clamp(1.75rem,4vw,2.75rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta-banner__beams{display:none}.cta-banner__content{max-width:56ch}.cta-banner__content h2{font-size:var(--fs-h3)}.cta-banner__content p{margin-top:.6rem}.cta-banner__btn{flex-shrink:0}.route-fallback{min-height:60vh;display:grid;place-items:center}.route-fallback__spinner{width:34px;height:34px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--cyan);animation:spin .8s linear infinite}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.route-fallback__spinner,.spin{animation-duration:1.4s}}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line);padding-bottom:1.25rem}.filter-chip{padding:.4rem 0;border:0;background:transparent;color:var(--text-tertiary);font-family:var(--font-body);font-weight:600;font-size:.92rem;letter-spacing:.02em;border-bottom:2px solid transparent;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.filter-chip:hover{color:var(--text)}.filter-chip.is-active{color:var(--text);border-bottom-color:var(--cyan)}.filter-count{font-size:var(--fs-small);margin-bottom:1.75rem;color:var(--text-tertiary)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}.contact-aside__title{font-size:var(--fs-h3);margin-bottom:1.75rem}.contact-aside__list{display:grid;gap:1.4rem;list-style:none;padding:0 0 1.75rem;margin:0 0 1.75rem;border-bottom:1px solid var(--line)}.contact-aside__list li{display:flex;align-items:flex-start;gap:.9rem}.contact-aside__list li>svg{color:var(--cyan-deep);flex-shrink:0;margin-top:3px}.contact-aside__list>li>div{display:grid;gap:.2rem}.contact-aside__label{font-family:var(--font-body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.contact-aside__list a:hover{color:var(--cyan)}.contact-aside__note{font-size:var(--fs-small);max-width:40ch}.contact-form-wrap{padding:clamp(1.5rem,3.5vw,2.5rem)}@media (max-width: 900px){.contact-layout{grid-template-columns:1fr}}.prose{max-width:72ch}.prose h2{font-size:var(--fs-h3);margin-top:2.5rem;margin-bottom:1rem}.prose h3{font-size:1.2rem;margin-top:1.75rem;margin-bottom:.75rem}.prose p,.prose li{color:var(--text-secondary)}.prose p{margin-bottom:1rem}.prose ul{margin:0 0 1.25rem 1.25rem;display:grid;gap:.5rem}.prose a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--text)}.prose__updated{color:var(--text-tertiary);font-size:var(--fs-small);margin-bottom:2rem}.enquiry-form{display:grid;gap:1.5rem}.enquiry-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{display:grid;gap:.45rem}.field--full{grid-column:1 / -1}.field label,.field__label{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--text)}.req{color:var(--cyan)}.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:1rem;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);min-height:50px}.field textarea{resize:vertical;min-height:120px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #35e7ff33}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2335E7FF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.field input[type=date]{color-scheme:dark}.field__error{display:inline-flex;align-items:center;gap:.35rem;color:var(--danger);font-size:.85rem}.file-drop{display:flex;align-items:center;gap:.7rem;padding:1rem 1.15rem;border:1px dashed var(--line);border-radius:var(--radius);background:#ffffff05;color:var(--text-secondary);cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.file-drop:hover{border-color:var(--cyan);color:var(--text)}.file-drop svg{color:var(--cyan);flex-shrink:0}.file-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-drop__clear{justify-self:start;display:inline-flex;align-items:center;gap:.3rem;background:none;border:0;color:var(--text-tertiary);font-size:var(--fs-small);padding:.25rem 0}.file-drop__clear:hover{color:var(--danger)}.field--consent{gap:.3rem}.consent{display:flex;align-items:flex-start;gap:.75rem;font-family:var(--font-body);font-weight:400;color:var(--text-secondary);font-size:var(--fs-small);line-height:1.55;cursor:pointer}.consent input[type=checkbox]{width:22px;height:22px;min-height:0;margin-top:2px;flex-shrink:0;accent-color:var(--cyan);cursor:pointer}.consent a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}.field--consent.has-error .consent{color:var(--text)}.enquiry-form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.enquiry-form__reassure{color:var(--text-tertiary);font-size:var(--fs-small)}.form-status{display:flex;align-items:flex-start;gap:.7rem;padding:1rem 1.15rem;border-radius:var(--radius);font-size:var(--fs-small)}.form-status svg{flex-shrink:0;margin-top:2px}.form-status--warn{background:#8b5cff1a;border:1px solid rgba(139,92,255,.4);color:var(--text-secondary)}.form-status--warn svg{color:var(--violet)}.form-status--warn a{color:var(--cyan)}.form-status--error{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.4);color:var(--text)}.form-status--error svg{color:var(--danger)}.hp-field{display:none}.form-success{display:grid;justify-items:center;gap:.7rem;text-align:center;padding:clamp(1.5rem,4vw,2.75rem) 1rem}.form-success svg{color:var(--cyan)}.form-success h3{font-size:var(--fs-h3)}.form-success p{color:var(--text-secondary);max-width:48ch}.form-success a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}@media (max-width: 600px){.enquiry-form__grid{grid-template-columns:1fr}}
