:root{--color-paper: oklch(15% .025 240);--color-paper-2: oklch(19% .03 240);--color-paper-3: oklch(24% .035 240);--color-ink: oklch(95% .012 230);--color-ink-2: oklch(78% .018 230);--color-muted: oklch(66% .025 230);--color-rule: oklch(39% .04 235);--color-rule-2: oklch(30% .035 235);--color-accent: oklch(66% .13 65);--color-accent-ink: oklch(16% .02 60);--color-blue: oklch(67% .14 235);--color-focus: oklch(78% .16 230);--color-error: oklch(67% .18 28);--color-success: oklch(70% .12 150);--color-nav-glass: oklch(17% .03 240 / .92);--color-nav-deep: oklch(11% .035 240 / .88);--color-blue-deep: oklch(20% .045 238);--color-blue-glow: oklch(68% .12 235 / .45);--color-grid: oklch(62% .08 235 / .45);--color-form: oklch(27% .045 235);--color-form-field: oklch(31% .042 235);--color-form-rule: oklch(48% .045 235);--color-cta: oklch(19% .055 237);--color-cta-rule: oklch(49% .08 235 / .6);--color-cta-arrow: oklch(70% .12 235);--color-footer: oklch(10% .035 240);--color-footer-rule: oklch(32% .04 235);--color-logo-surface: oklch(91% .018 232);--color-logo-surface-glass: oklch(94% .014 232 / .94);--color-logo-ink: oklch(18% .035 238);--color-logo-copy: oklch(34% .035 238);--color-logo-rule: oklch(64% .045 235);--color-logo-shadow: oklch(12% .03 240 / .22);--color-photo-wash: oklch(20% .07 238 / .24);--color-photo-warm: oklch(58% .12 65 / .08);--color-accent-deep: oklch(48% .13 65);--color-overlay-strong: oklch(10% .03 240 / .93);--color-overlay-soft: oklch(10% .03 240 / .52);--color-overlay-deep: oklch(10% .03 240 / .95);--color-modal: oklch(8% .02 240 / .96);--color-shadow: oklch(8% .02 240 / .35);--color-input-paper: oklch(97% .008 230);--color-input-ink: oklch(18% .02 235);--font-display: "Tomorrow", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--text-xs: .875rem;--text-sm: 1rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.953rem;--text-2xl: 2.441rem;--text-3xl: 3.052rem;--text-4xl: 3.815rem;--text-display: clamp(3rem, 7vw, 6rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-hair: 1px;--radius-sm: .25rem;--radius-pill: 999px;--page-gutter: clamp(1rem, 4vw, 4rem);--page-max: 90rem;--banner-height: 7rem;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-sticky-nav: 210;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.hidden{display:none}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-paper);overflow-x:clip}body{background:var(--color-paper);min-width:320px;color:var(--color-ink);font-family:var(--font-body);margin:0;line-height:1.6;overflow-x:clip}small{font-size:var(--text-xs)}body:after{content:"";pointer-events:none;z-index:900;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{overflow-wrap:anywhere;min-width:0;font-family:var(--font-display);text-transform:uppercase;text-wrap:balance;line-height:1.03}h1{font-size:var(--text-display);letter-spacing:-.045em}h2{letter-spacing:-.04em;font-size:clamp(2.25rem,5vw,4.75rem)}h3{font-size:var(--text-lg)}em{color:var(--color-accent);font-style:italic;font-weight:600}main,.footer{z-index:2;position:relative}.eyebrow{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:600;display:block}.section-tone{background:var(--color-paper-2);color:var(--color-ink)}.section-tone--blue{background:var(--color-blue-deep);color:var(--color-ink)}.ambient{z-index:0;pointer-events:none;background:var(--color-paper);position:fixed;inset:0;overflow:hidden}.ambient__grid{opacity:.12;background-image:linear-gradient(var(--color-grid) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);background-size:84px 84px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 20% 80%,#0000);mask-image:linear-gradient(#0000,#000 20% 80%,#0000)}.ambient__beam{background:linear-gradient(90deg,transparent,var(--color-blue-glow),transparent);opacity:.12;width:18vw;height:130vh;animation:drift 15s var(--ease-in-out) infinite alternate;position:absolute;top:-15vh;transform:rotate(16deg)}.ambient__beam--one{left:12%}.ambient__beam--two{animation-duration:20s;animation-delay:-7s;right:8%}.ambient__frame{aspect-ratio:1.35;border:1px solid var(--color-rule-2);width:min(46vw,42rem);box-shadow:inset 0 0 0 36px transparent,inset 0 0 0 37px var(--color-rule-2);opacity:.22;animation:frameFloat 18s var(--ease-in-out) infinite alternate;position:absolute;top:24%;right:-8rem;transform:skewY(-9deg)}@keyframes drift{to{opacity:.22;transform:translate(12vw,4vh)rotate(16deg)}}@keyframes frameFloat{to{opacity:.34;transform:translate(-3vw,3vh)skewY(-9deg)}}.progress{z-index:1000;transform-origin:0;background:var(--color-accent);height:2px;position:fixed;inset:0 0 auto}.nav{z-index:var(--z-sticky-nav);padding:0;position:fixed;inset:0 0 auto}.nav__inner{width:100%;max-width:none;height:7rem;padding:.35rem var(--page-gutter);border-bottom:1px solid var(--color-logo-rule);background:var(--color-logo-surface);color:var(--color-logo-ink);transition:height var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out);align-items:center;gap:clamp(1rem,2.6vw,2.5rem);margin:0;display:flex}.nav.is-floating{padding:0}.nav.is-floating .nav__inner{background:var(--color-logo-surface-glass);border-color:var(--color-logo-rule);height:6rem;box-shadow:0 16px 40px var(--color-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{flex:none;align-self:stretch;place-items:center;width:clamp(13.5rem,17vw,17.5rem);display:grid;overflow:visible}.brand img{object-fit:contain;width:100%;height:6.55rem;filter:drop-shadow(0 5px 8px var(--color-logo-shadow));transform:none}.nav.is-floating .brand img{height:5.55rem}.navlinks{align-items:center;gap:clamp(.8rem,1.4vw,1.4rem);margin-inline-start:auto;display:flex}.navlinks>a,.services-menu>a{font-size:var(--text-sm);color:var(--color-logo-copy);padding:.6rem 0;position:relative}.navlinks>a:after,.services-menu>a:after{content:"";background:var(--color-accent);transform-origin:0;height:1px;transition:transform var(--dur-short) var(--ease-out);position:absolute;inset:auto 0 0;transform:scaleX(0)}.navlinks>a:hover:after,.navlinks>a.active:after,.services-menu>a:hover:after,.services-menu>a.active:after{transform:scaleX(1)}.services-menu{position:relative}.services-menu>a svg{margin-left:.25rem;font-size:.65rem}.dropdown{border:1px solid var(--color-rule);background:var(--color-blue-deep);opacity:0;pointer-events:none;width:17rem;transition:opacity var(--dur-short),transform var(--dur-short);padding:.5rem;position:absolute;top:calc(100% + .55rem);left:-1.25rem;transform:translateY(8px)}.services-menu:hover .dropdown,.services-menu:focus-within .dropdown{opacity:1;pointer-events:auto;transform:none}.dropdown a{color:var(--color-ink-2);font-size:var(--text-sm);justify-content:space-between;padding:.75rem;display:flex}.dropdown a:hover{color:var(--color-ink);background:var(--color-paper-3)}.nav-call{white-space:nowrap;border-left:1px solid var(--color-logo-rule);font-size:var(--text-sm);align-items:center;gap:.55rem;padding:.55rem 0 .55rem 1.2rem;display:flex}.nav-call svg{color:var(--color-accent)}.menu-toggle{width:44px;height:44px;color:var(--color-logo-ink);background:0 0;border:0;display:none}.button{border:1px solid var(--color-accent);background:var(--color-accent);min-height:50px;color:var(--color-accent-ink);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.055em;white-space:nowrap;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-short);justify-content:center;align-items:center;gap:.85rem;padding:.82rem 1.35rem;font-weight:600;display:inline-flex}.button svg{transition:transform var(--dur-short) var(--ease-out)}.button--secondary{border-color:var(--color-ink-2);color:var(--color-ink);background:0 0}.button:hover{transform:translateY(-2px)}.button:hover svg{transform:translate(4px)}.button--secondary:hover{background:var(--color-ink);color:var(--color-paper)}.button-row{flex-wrap:wrap;gap:.8rem;display:flex}.hero{min-height:92svh;padding:calc(var(--banner-height) + var(--space-2xl)) var(--page-gutter) var(--space-2xl);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-shade{background:linear-gradient(90deg,var(--color-overlay-strong) 0%,var(--color-overlay-soft) 42%,transparent 72%);position:absolute;inset:0}.hero-copy{z-index:1;gap:1.4rem;max-width:48rem;display:grid;position:relative}.hero-copy h1{font-size:clamp(3.5rem,8vw,7rem)}.hero-copy p{font-size:var(--text-md);max-width:34ch}.hero-copy small{color:var(--color-ink-2)}.trust-rail{padding-inline:var(--page-gutter);border-block:1px solid var(--color-rule);background:var(--color-paper-2);grid-template-columns:repeat(3,1fr);display:grid}.trust-rail span{border-right:1px solid var(--color-rule);min-height:6rem;font-size:var(--text-sm);justify-content:center;align-items:center;gap:.75rem;display:flex}.trust-rail span:last-child{border:0}.trust-rail svg,.trust-rail b{color:var(--color-accent);font-size:var(--text-lg)}.story{max-width:var(--page-max);padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);grid-template-columns:minmax(17rem,.68fr) minmax(0,1.32fr);margin:auto;display:grid}.story-intro{align-self:start;gap:1.35rem;display:grid;position:sticky;top:8rem}.story-intro p{max-width:38ch;color:var(--color-ink-2)}.story-intro .button{justify-self:start}.story-list{gap:var(--space-xl);display:grid}.story-card{align-items:flex-end;min-height:72svh;display:flex;position:relative;overflow:hidden}.story-card>img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out);position:absolute;inset:0}.story-card:after{content:"";background:linear-gradient(transparent,var(--color-overlay-deep));position:absolute;inset:25% 0 0}.story-card>div{z-index:1;max-width:40rem;padding:var(--space-xl);gap:.75rem;display:grid;position:relative}.story-card span{color:var(--color-accent)}.story-card p{color:var(--color-ink-2)}.story-card a{border-bottom:1px solid var(--color-accent);justify-self:start}.story-card:hover>img{transform:scale(1.025)}.hero>img,.story-card>img,.about-hero__image img,.services-hero__media img,.service-row__image img,.detail-hero__media img,.project-fit__image img,.contact-hero__image img,.masonry img{filter:saturate(.82)contrast(1.06)}.about-hero__image:after,.services-hero__media:after,.service-row__image:after,.detail-hero__media:after,.project-fit__image:after,.contact-hero__image:after,.masonry button:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(135deg,var(--color-photo-wash),transparent 58%,var(--color-photo-warm));position:absolute;inset:0}.about-hero__image small,.services-hero__media small,.detail-hero__media>div,.contact-hero__image span,.masonry span{z-index:2}.service-area{margin:0 var(--page-gutter) var(--space-2xl);padding:var(--space-3xl);border:1px solid var(--color-rule);background:var(--color-paper-2);align-items:center;gap:var(--space-xl);grid-template-columns:1fr auto;display:grid}.service-area p{max-width:52ch;color:var(--color-ink-2);margin-top:1rem}.area-ring{aspect-ratio:1;text-align:center;border:1px solid var(--color-accent);border-radius:50%;place-content:center;width:12rem;display:grid}.area-ring span{color:var(--color-accent);font:800 4rem/1 var(--font-display)}.area-ring small{text-transform:uppercase;letter-spacing:.08em}.inner-hero{padding:calc(var(--banner-height) + 5.5rem) var(--page-gutter) var(--space-3xl);min-height:88svh;max-width:var(--page-max);margin:auto;position:relative}.about-hero{grid-template-columns:.92fr .5fr 1.08fr;align-items:center;gap:clamp(1rem,3vw,3.5rem);display:grid}.about-hero__copy{z-index:1;gap:1.4rem;display:grid}.about-hero__copy p{max-width:40ch;color:var(--color-ink-2);font-size:var(--text-md)}.about-hero__copy .button{justify-self:start}.about-hero__number{color:var(--color-accent);align-self:end;padding-bottom:8rem;display:grid}.about-hero__number strong{font:500 clamp(8rem,17vw,16rem)/.7 var(--font-display);letter-spacing:-.1em}.about-hero__number span{border-left:1px solid var(--color-accent);text-transform:uppercase;letter-spacing:.12em;font-size:var(--text-sm);margin-top:1.2rem;padding-left:1rem}.about-hero__image{align-self:stretch;min-height:35rem;position:relative}.about-hero__image img{object-fit:cover;width:100%;height:100%}.about-hero__image:before{content:"";border:1px solid var(--color-rule);z-index:-1;position:absolute;inset:-1.5rem 1.5rem 1.5rem -1.5rem}.about-hero__image small{background:var(--color-nav-glass);text-transform:uppercase;letter-spacing:.12em;padding:.75rem 1rem;position:absolute;inset:auto 0 0}.about-story{padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);grid-template-columns:.8fr 1.2fr;display:grid}.about-story>div:first-child{max-width:42rem}.about-story__body{gap:var(--space-xl);max-width:48rem;color:var(--color-ink-2);font-size:var(--text-md);display:grid}.proof-list{max-width:var(--page-max);padding:var(--space-4xl) var(--page-gutter);margin:auto}.proof-item{gap:var(--space-lg);padding:var(--space-xl) 0;border-top:1px solid var(--color-rule);grid-template-columns:3rem 3rem .8fr 1.2fr;align-items:start;display:grid}.proof-item>span{color:var(--color-accent)}.proof-item>svg{color:var(--color-blue);font-size:var(--text-lg)}.proof-item p{color:var(--color-ink-2)}.services-hero{gap:var(--space-xl);grid-template-rows:1fr auto;grid-template-columns:.72fr .8fr 1.2fr;align-items:center;display:grid}.services-hero__title{gap:1.2rem;display:grid}.services-hero__title p{color:var(--color-ink-2);max-width:34ch}.services-hero__index{align-content:center;display:grid}.services-hero__index a{border-top:1px solid var(--color-rule);grid-template-columns:2.5rem 2rem 1fr;align-items:center;gap:.8rem;padding:1.1rem 0;display:grid}.services-hero__index a:last-child{border-bottom:1px solid var(--color-rule)}.services-hero__index b{color:var(--color-accent);font-family:var(--font-display)}.services-hero__index svg{color:var(--color-blue)}.services-hero__index span{text-transform:uppercase;letter-spacing:.06em;font-size:var(--text-sm)}.services-hero__media{grid-area:1/3/3;height:66svh;position:relative}.services-hero__media img{object-fit:cover;width:100%;height:100%}.services-hero__media small{background:var(--color-nav-glass);text-transform:uppercase;letter-spacing:.12em;padding:.8rem 1rem;position:absolute;inset:auto 0 0}.service-index{max-width:var(--page-max);padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);margin:auto;display:grid}.service-row{border-top:1px solid var(--color-rule);grid-template-columns:1.22fr .78fr;min-height:31rem;display:grid}.service-row--reverse{grid-template-columns:.78fr 1.22fr}.service-row--reverse .service-row__image{order:2}.service-row__image{position:relative;overflow:hidden}.service-row__image img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out)}.service-row__image:hover img{transform:scale(1.025)}.service-row__copy{padding:var(--space-2xl);background:var(--color-paper-2);align-content:center;gap:1rem;display:grid}.service-row__copy>span{color:var(--color-accent);font-family:var(--font-display)}.service-row__copy>svg{color:var(--color-blue);font-size:var(--text-xl)}.service-row__copy p{color:var(--color-ink-2)}.service-row__copy a{border-bottom:1px solid var(--color-accent);justify-self:start;margin-top:.75rem}.process-band{padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);grid-template-columns:.75fr 1.25fr;display:grid}.process-band>div:last-child{grid-template-columns:repeat(3,1fr);display:grid}.process-step{padding:0 var(--space-lg);border-left:1px solid var(--color-rule);align-content:start;gap:.8rem;display:grid}.process-step b{color:var(--color-accent)}.process-step svg{color:var(--color-blue);font-size:var(--text-xl)}.process-step p{color:var(--color-ink-2)}.detail-hero{gap:var(--space-3xl);grid-template-columns:.8fr 1.2fr;align-items:center;display:grid}.detail-hero__copy{gap:1.35rem;display:grid}.detail-hero__copy>svg{color:var(--color-blue);font-size:var(--text-2xl)}.detail-hero__copy p{max-width:44ch;color:var(--color-ink-2);font-size:var(--text-md)}.detail-hero__copy .button{justify-self:start}.detail-hero__media{height:66svh;position:relative}.detail-hero__media img{object-fit:cover;width:100%;height:100%}.detail-hero__media>div{background:var(--color-nav-glass);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:auto 0 0}.detail-hero__media span{border-right:1px solid var(--color-rule);text-align:center;text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.08em;padding:1rem}.detail{padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);grid-template-columns:.6fr 1.4fr;display:grid}.detail>div:last-child{display:grid}.detail-item{gap:var(--space-md);padding:var(--space-xl) 0;border-top:1px solid var(--color-rule);grid-template-columns:2rem 2rem .8fr 1.2fr;display:grid}.detail-item>span,.detail-item>svg{color:var(--color-accent)}.detail-item p{color:var(--color-ink-2)}.project-fit{padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);grid-template-columns:1.1fr .9fr;align-items:center;display:grid}.project-fit__image{height:65svh;position:relative;overflow:hidden}.project-fit__image img{object-fit:cover;width:100%;height:100%}.project-fit__copy{gap:var(--space-lg);display:grid}.project-fit__copy>div{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.project-fit__copy p{border-top:1px solid var(--color-rule);color:var(--color-ink-2);padding-top:1rem}.project-fit__copy b{color:var(--color-ink);text-transform:uppercase;margin-bottom:.5rem;display:block}.project-fit__copy small{color:var(--color-muted)}.gallery-head{gap:var(--space-3xl);grid-template-columns:1.2fr .8fr;align-items:end;min-height:66svh;display:grid}.gallery-head__aside{gap:var(--space-lg);display:grid}.gallery-head__aside p{color:var(--color-ink-2);font-size:var(--text-md)}.filters{flex-wrap:wrap;gap:.5rem;display:flex}.filters button{border:1px solid var(--color-rule);min-height:44px;color:var(--color-ink);cursor:pointer;background:0 0;padding:.55rem .9rem}.filters button.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.masonry{padding:0 var(--page-gutter);columns:3;column-gap:var(--space-md)}.masonry button{width:100%;margin:0 0 var(--space-md);color:var(--color-ink);cursor:zoom-in;break-inside:avoid;background:0 0;border:0;padding:0;position:relative;overflow:hidden}.masonry img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s var(--ease-out)}.masonry button:nth-child(3n) img{aspect-ratio:4/5}.masonry button:hover img{transform:scale(1.025)}.masonry span{text-align:left;background:linear-gradient(transparent,var(--color-overlay-deep));padding:2.5rem 1rem 1rem;position:absolute;inset:auto 0 0}.gallery-note{margin:var(--space-lg) var(--page-gutter);color:var(--color-muted);font-size:var(--text-sm)}.lightbox{z-index:var(--z-modal);padding:var(--space-xl);background:var(--color-modal);place-items:center;display:grid;position:fixed;inset:0}.lightbox img{max-width:90vw;max-height:88svh}.lightbox button{border:1px solid var(--color-rule);background:var(--color-paper-2);width:48px;height:48px;color:var(--color-ink);position:absolute;top:1.5rem;right:1.5rem}.contact-hero{gap:var(--space-3xl);grid-template-columns:.82fr 1.18fr;align-items:center;min-height:78svh;display:grid}.contact-hero>div:first-child{gap:1.3rem;display:grid}.contact-hero>div:first-child p{color:var(--color-ink-2);font-size:var(--text-md)}.contact-hero__image{height:56svh;position:relative}.contact-hero__image img{object-fit:cover;width:100%;height:100%}.contact-hero__image span{background:var(--color-nav-glass);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-xs);padding:1rem;position:absolute;inset:auto 0 0}.contact{padding:var(--space-4xl) var(--page-gutter);gap:var(--space-3xl);background:var(--color-blue-deep);color:var(--color-ink);grid-template-columns:.7fr 1.3fr;display:grid}.contact-info{align-self:start;gap:var(--space-lg);flex-direction:column;display:flex}.contact-info>a,.contact-info>span:not(.eyebrow){overflow-wrap:anywhere;align-items:start;gap:1rem;display:flex}.contact-info svg{width:1rem;color:var(--color-accent);margin-top:.3rem}.contact-info small{padding-top:var(--space-lg);border-top:1px solid var(--color-rule);color:var(--color-muted)}.estimate-form{border:1px solid var(--color-form-rule);background:var(--color-form);color:var(--color-ink);box-shadow:0 24px 70px var(--color-shadow);padding:clamp(1.5rem,4vw,3.5rem)}.form-head{margin-bottom:var(--space-xl);gap:.65rem;display:grid}.form-head h2{font-size:clamp(2rem,4vw,3.5rem)}.form-head p{color:var(--color-ink-2);font-size:var(--text-sm)}.form-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}label{color:var(--color-ink-2);font-size:var(--text-sm);gap:.5rem;font-weight:500;display:grid}.full{grid-column:1/-1}input,select,textarea{border:1px solid var(--color-form-rule);outline-offset:1px;background:var(--color-form-field);width:100%;min-height:50px;color:var(--color-ink);outline:2px solid #0000;padding:.8rem}textarea{resize:vertical;min-height:8rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--color-focus);border-color:#0000}input::placeholder,textarea::placeholder{color:var(--color-muted)}.form-status{margin:var(--space-md) 0;border-left:2px solid;padding:.75rem}.form-status.error{color:var(--color-error)}.form-status.success{color:var(--color-success)}.form-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.form-privacy{font-size:var(--text-xs);color:var(--color-ink-2);margin-top:1rem}.estimate-form button:disabled{opacity:.65;cursor:wait;transform:none}.estimate-form>.button{margin-top:var(--space-lg)}.contact-facts{padding:var(--space-xl) var(--page-gutter);border-top:1px solid var(--color-rule);grid-template-columns:repeat(3,1fr);display:grid}.contact-facts span{border-right:1px solid var(--color-rule);justify-content:center;gap:.7rem;padding:1rem;display:flex}.contact-facts span:last-child{border:0}.contact-facts svg{color:var(--color-accent)}.cta{width:100%;min-height:34rem;margin:var(--space-3xl) 0;padding:var(--space-3xl) var(--page-gutter);gap:var(--space-xl);border-block:1px solid var(--color-cta-rule);background:var(--color-cta);color:var(--color-ink);grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);align-items:end;display:grid;position:relative;overflow:hidden}.cta:before,.cta:after{content:"";pointer-events:none;border:1px solid var(--color-cta-rule);position:absolute;transform:rotate(-12deg)}.cta:before{width:34rem;height:18rem;top:-6rem;right:-8rem}.cta:after{width:34rem;height:18rem;top:1rem;right:-1rem}.cta__copy{z-index:1;gap:1rem;display:grid;position:relative}.cta__copy p{color:var(--color-ink-2);font-size:var(--text-md)}.cta__actions{z-index:1;justify-items:start;gap:1.2rem;display:grid;position:relative}.cta__phone{border-bottom:1px solid var(--color-accent);align-items:center;gap:.7rem;display:flex}.cta__phone svg{color:var(--color-accent)}.cta__arrow{color:var(--color-cta-arrow);opacity:.12;font-size:clamp(8rem,22vw,20rem);position:absolute;bottom:8%;right:4%}.footer{padding:var(--space-2xl) var(--page-gutter) calc(2rem + env(safe-area-inset-bottom));align-items:center;gap:3rem var(--space-2xl);border-top:1px solid var(--color-logo-rule);background:var(--color-logo-surface);color:var(--color-logo-ink);grid-template-columns:minmax(12rem,.65fr) minmax(0,1.35fr);display:grid}.footer-mark{background:0 0;border:0;justify-self:start;width:min(100%,19rem);padding:0;display:block}.footer-mark img{width:100%;height:auto}.footer-intro{justify-items:start;gap:1.25rem;display:grid}.footer-statement{font:700 clamp(2.2rem,4.5vw,4.4rem)/1.08 var(--font-display);letter-spacing:-.04em;text-transform:uppercase;text-wrap:balance;max-width:21ch}.footer-estimate{border-bottom:1px solid var(--color-accent-deep);align-items:center;gap:1.5rem;padding-block:.65rem;font-weight:600;display:inline-flex}.footer-estimate svg{color:var(--color-accent-deep);transition:transform var(--dur-short) var(--ease-out)}.footer-estimate:hover svg{transform:translate(4px)}.footer-grid{border-block:1px solid var(--color-logo-rule);grid-column:1/-1;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.6fr) minmax(0,.7fr);align-items:start;gap:2rem;padding-block:2.5rem;display:grid}.footer-grid>div,.footer-grid>nav{min-width:0;color:var(--color-logo-copy);flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.footer-grid .eyebrow{margin-bottom:.6rem}.footer-grid a{overflow-wrap:anywhere;transition:color var(--dur-short)}.footer-grid a:hover,.footer-estimate:hover{color:var(--color-accent-deep)}.footer-grid .footer-phone{color:var(--color-logo-ink);font:600 clamp(1.4rem,2.2vw,2rem)/1.2 var(--font-display);letter-spacing:-.04em}.footer-contact p{font-size:var(--text-xs);margin-top:.5rem}.footer a:focus-visible{outline:2px solid var(--color-accent-deep);outline-offset:5px}.footer .eyebrow{color:var(--color-accent-deep)}.footer-meta{color:var(--color-logo-copy);font-size:var(--text-xs);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:1rem 2rem;display:flex}.floating-call{display:none}.floating-whatsapp{right:max(1.5rem,env(safe-area-inset-right));bottom:calc(1.5rem + env(safe-area-inset-bottom));z-index:var(--z-sticky);color:#fff;isolation:isolate;width:60px;height:60px;transition:transform var(--dur-short) var(--ease-out),background-color var(--dur-short);background:#128c4e;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 6px 24px #0004}.floating-whatsapp svg{width:31px;height:31px}.floating-whatsapp:before,.floating-whatsapp:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;border:2px solid #25d366;animation:3s ease-out infinite whatsapp-shockwave;position:absolute;inset:0}.floating-whatsapp:after{animation-delay:.6s}.floating-whatsapp:hover{background:#0c753f;transform:translateY(-3px)}.floating-whatsapp:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}@keyframes whatsapp-shockwave{0%{opacity:.65;transform:scale(1)}65%,to{opacity:0;transform:scale(1.8)}}.background-hero{isolation:isolate;max-width:none;min-height:90svh;padding:calc(var(--banner-height) + 5rem) var(--page-gutter) 0;justify-content:flex-end;gap:var(--space-xl);flex-direction:column;margin:0;display:flex;position:relative;overflow:hidden}.background-hero__image{z-index:-2;object-fit:cover;filter:saturate(.82)contrast(1.08);width:100%;height:100%;position:absolute;inset:0}.background-hero__shade{z-index:-1;background:linear-gradient(90deg,var(--color-overlay-strong) 0%,oklch(10% .03 240/.78) 43%,oklch(10% .03 240/.2) 78%),linear-gradient(0deg,var(--color-overlay-deep) 0%,transparent 46%);position:absolute;inset:0}.background-hero__content{align-content:end;gap:1.35rem;width:min(100%,69rem);padding-bottom:clamp(2rem,6vh,4.5rem);display:grid}.background-hero__content h1{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;text-wrap:balance;max-width:15ch;font-size:clamp(3.6rem,7.4vw,7rem)}.background-hero__content p{max-width:52ch;color:var(--color-ink-2);font-size:var(--text-md)}.background-hero__content .button{justify-self:start}.background-hero__content>svg{color:var(--color-blue);font-size:var(--text-2xl)}.background-hero__rail{width:calc(100% + 2 * var(--page-gutter));margin-inline:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);border-top:1px solid var(--color-rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00050cc7;background:oklch(11% .035 240/.78)}.background-hero .about-hero__copy,.background-hero .services-hero__title,.background-hero .detail-hero__copy{grid-template-columns:1fr;display:grid}.background-hero .about-hero__number{min-height:7rem;color:var(--color-ink);grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;padding-block:1rem;display:grid}.background-hero .about-hero__number strong{font:600 4.5rem/.8 var(--font-display);letter-spacing:-.08em;color:var(--color-accent)}.background-hero .about-hero__number span{border-left:1px solid var(--color-rule);font-size:var(--text-sm);margin:0;padding-left:1.25rem}.background-hero .about-hero__number small{color:var(--color-ink-2);text-transform:uppercase;letter-spacing:.1em;justify-self:end}.background-hero .services-hero__index{grid-template-columns:repeat(4,1fr);display:grid}.background-hero .services-hero__index a{border:0;border-left:1px solid var(--color-rule);grid-template-columns:auto auto 1fr;min-height:7rem;padding:1rem}.background-hero .services-hero__index a:first-child{border-left:0}.background-hero .services-hero__index a:last-child{border-bottom:0}.background-hero .detail-hero__proof{grid-template-columns:repeat(3,1fr);align-items:center;min-height:7rem;display:grid}.background-hero .detail-hero__proof span{border-left:1px solid var(--color-rule);text-align:center;text-transform:uppercase;letter-spacing:.08em;padding:1rem}.background-hero .detail-hero__proof span:first-child{border-left:0}.background-hero.gallery-head{align-items:stretch;min-height:82svh;display:flex}.background-hero .gallery-head__aside{align-items:center;min-height:6.5rem;display:flex}.background-hero .filters{width:100%}.background-hero.contact-hero{align-items:stretch;min-height:82svh;display:flex}.background-hero .contact-hero__proof{min-height:6.5rem;color:var(--color-ink-2);text-transform:uppercase;letter-spacing:.08em;align-items:center;display:flex}@media(max-width:68rem){.navlinks{padding:8rem var(--page-gutter) 2rem;background:var(--color-blue-deep);flex-direction:column;align-items:flex-start;display:none;position:fixed;inset:0}.navlinks.open{display:flex}.navlinks.open>a,.navlinks.open .services-menu>a,.navlinks.open~.menu-toggle{color:var(--color-ink)}.navlinks>a,.services-menu>a{font:700 var(--text-xl)/1.2 var(--font-display);text-transform:uppercase}.dropdown{opacity:1;pointer-events:auto;background:0 0;border:0;width:auto;position:static;transform:none}.nav-call{margin-left:auto}.nav-call span{display:none}.menu-toggle{z-index:1;display:block}.about-hero{grid-template-columns:1fr .55fr}.about-hero__image{grid-column:1/-1;min-height:28rem}.about-hero__number{padding-bottom:0}.services-hero{grid-template-columns:.75fr 1.25fr}.services-hero__media{grid-area:auto/1/auto/-1;height:48svh}.detail-hero,.contact-hero{grid-template-columns:1fr 1.15fr}.detail,.about-story,.process-band,.contact{grid-template-columns:1fr}.process-band>div:last-child{margin-top:var(--space-xl)}.proof-item{grid-template-columns:2rem 2rem 1fr}.proof-item p{grid-column:3}.project-fit{grid-template-columns:1fr}.project-fit__image{height:48svh}.cta{grid-template-columns:1fr}.cta__actions{grid-column:auto}.footer,.footer-grid{grid-template-columns:1fr 1fr}.background-hero .services-hero__index{grid-template-columns:repeat(2,1fr)}.background-hero .services-hero__index a:nth-child(3){border-left:0;border-top:1px solid var(--color-rule)}.background-hero .services-hero__index a:nth-child(4){border-top:1px solid var(--color-rule)}}@media(max-width:48rem){:root{--page-gutter:1rem;--banner-height:5.8rem}h1{font-size:clamp(2.9rem,13vw,4.6rem)}.nav{padding:0}.nav__inner,.nav.is-floating .nav__inner{height:5.8rem;padding-inline:.65rem}.brand{width:12rem}.brand img,.nav.is-floating .brand img{height:5.35rem;transform:none}.nav-call{display:none}.hero{min-height:88svh;padding-bottom:var(--space-xl)}.hero-copy h1{font-size:clamp(3rem,16vw,4.6rem)}.button-row{flex-direction:column;width:100%}.button-row .button{width:100%}.trust-rail{grid-template-columns:1fr}.trust-rail span{border-right:0;border-bottom:1px solid var(--color-rule);justify-content:flex-start;min-height:4.5rem}.story{padding-block:var(--space-3xl);gap:var(--space-2xl);grid-template-columns:1fr}.story-intro{position:static}.story-card{min-height:auto;display:block}.story-card>img{aspect-ratio:16/10;position:static}.story-card:after{display:none}.story-card>div{background:var(--color-paper-2)}.service-area{padding:var(--space-xl);grid-template-columns:1fr;margin-inline:0}.area-ring{width:9rem}.inner-hero{min-height:auto;padding-top:calc(var(--banner-height) + 3.5rem)}.about-hero,.services-hero,.detail-hero,.gallery-head,.contact-hero{grid-template-columns:1fr}.about-hero__number{justify-self:start}.about-hero__number strong{font-size:9rem}.about-hero__image,.services-hero__media,.detail-hero__media,.contact-hero__image{grid-column:auto;height:43svh;min-height:0}.about-hero__image:before{display:none}.about-story,.proof-list,.service-index,.process-band,.detail,.project-fit,.contact{padding-block:var(--space-3xl)}.proof-item{grid-template-columns:2rem 2rem 1fr}.service-row,.service-row--reverse{grid-template-columns:1fr;min-height:0}.service-row--reverse .service-row__image{order:initial}.service-row__image img{aspect-ratio:16/10}.service-row__copy{padding:var(--space-xl)}.process-band>div:last-child{grid-template-columns:1fr}.process-step{padding:var(--space-lg) 0;border-left:0;border-top:1px solid var(--color-rule)}.detail-item{grid-template-columns:2rem 2rem 1fr}.detail-item p{grid-column:3}.detail-hero__media>div{grid-template-columns:1fr}.detail-hero__media span{border-right:0;border-top:1px solid var(--color-rule);padding:.45rem}.project-fit__copy>div{grid-template-columns:1fr}.gallery-head{gap:var(--space-xl)}.masonry{columns:1}.contact{gap:var(--space-2xl)}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.contact-facts{grid-template-columns:1fr}.contact-facts span{border-right:0;border-bottom:1px solid var(--color-rule);justify-content:flex-start}.cta{min-height:0;margin:var(--space-2xl) 0;padding:var(--space-xl);grid-template-columns:1fr}.cta__actions{grid-column:auto}.cta__arrow{font-size:9rem}.footer{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div{grid-column:1/-1}.footer-mark{width:13rem}.footer{padding-bottom:calc(6rem + env(safe-area-inset-bottom));gap:2rem}.footer-meta{flex-direction:column}.floating-call{right:1rem;bottom:calc(6rem + env(safe-area-inset-bottom));z-index:var(--z-sticky);background:var(--color-accent);min-height:48px;color:var(--color-accent-ink);box-shadow:0 8px 30px var(--color-shadow);border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex;position:fixed}.floating-whatsapp{right:max(1rem,env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom))}.background-hero,.background-hero.gallery-head,.background-hero.contact-hero{min-height:88svh;padding-top:calc(var(--banner-height) + 3.25rem);gap:1.5rem}.background-hero__content{padding-bottom:1.5rem}.background-hero__content h1{max-width:100%;font-size:clamp(2.35rem,10vw,3.75rem)}.background-hero__content p{font-size:var(--text-base)}.background-hero .about-hero__number{grid-template-columns:auto 1fr}.background-hero .about-hero__number strong{font-size:3.5rem}.background-hero .about-hero__number small{display:none}.background-hero .services-hero__index a{grid-template-columns:auto 1fr;gap:.45rem .65rem;min-height:5.5rem;padding:.8rem .6rem}.background-hero .services-hero__index a svg{display:none}.background-hero .services-hero__index span{overflow-wrap:normal;word-break:normal}.background-hero .detail-hero__proof{min-height:5.5rem}.background-hero .detail-hero__proof span{font-size:var(--text-xs);letter-spacing:.04em;padding:.65rem .35rem}.background-hero .gallery-head__aside,.background-hero .contact-hero__proof{min-height:5.5rem}.background-hero .filters button{flex:calc(50% - .5rem)}}@media(prefers-reduced-motion:reduce){.floating-whatsapp:before,.floating-whatsapp:after{display:none}html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ambient__beam,.ambient__frame{animation:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
