@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";@font-face{font-family:ITC Avant Garde Gothic Demi;src:url(/assets/avantgarde_demi-D3YgIhPn.ttf) format("truetype");font-style:normal;font-weight:400 900;font-display:swap}@font-face{font-family:ITC Avant Garde Gothic Bold;src:url(/assets/ITC%20Avant%20Garde%20Gothic%20Bold-BKvNJwdC.otf) format("opentype");font-style:normal;font-weight:700 900;font-display:swap}@font-face{font-family:ITC Avant Garde Gothic Light;src:url(/assets/ITCAvantGardeStd-Md-tsAjxbDs.ttf) format("truetype");font-style:normal;font-weight:300 600;font-display:swap}:root{--base: #F2EDE6;--primary: #1B6E70;--primary-l: #2DAEA3;--secondary: #4A2424;--accent: #EF6B6B;--on-coral: #211616;--ink: color-mix(in oklch, var(--primary) 70%, black);--muted: color-mix(in oklch, var(--primary) 90%, var(--base));--line: color-mix(in oklch, var(--primary) 30%, var(--base));--line-strong: var(--primary);--surface: color-mix(in oklch, var(--base) 55%, white);--teal-deep: color-mix(in oklch, var(--primary) 86%, black);--teal-wash: color-mix(in oklch, var(--primary) 7%, var(--base));--aqua-wash: color-mix(in oklch, var(--primary-l) 12%, var(--base));--on-dark-muted: color-mix(in oklch, var(--base) 80%, var(--secondary));--accent-soft: color-mix(in oklch, var(--accent) 16%, transparent);--font-title: "ITC Avant Garde Gothic Bold", "Arial Rounded MT Bold", system-ui, sans-serif;--font-display: "ITC Avant Garde Gothic Demi", "Avenir Next Rounded MT", "Arial Rounded MT Bold", system-ui, sans-serif;--font-body: "ITC Avant Garde Gothic Light", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--fs-dxl: clamp(3.4rem, 7vw, 7.8rem);--fs-dl: clamp(2.5rem, 5vw, 5.2rem);--fs-hm: clamp(1.8rem, 3vw, 3rem);--fs-lead: clamp(1.05rem, 1.4vw, 1.25rem);--fs-body: 1.0625rem;--fs-meta: .8125rem;--fs-label: .75rem;--cols: 12;--gutter: 24px;--wrap: 1360px;--pad: clamp(24px, 4vw, 48px);--radius-sm: 6px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--base);color:var(--ink);font-family:var(--font-body);font-weight:500;font-size:var(--fs-body);line-height:1.62;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit}p{text-wrap:pretty;margin:0}h1,h2,h3,h4{text-wrap:balance;margin:0}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:2px}.on-dark :focus-visible,.btn-primary:focus-visible{outline-color:var(--base);box-shadow:0 0 0 6px var(--accent-soft)}.skip-link{position:absolute;left:var(--pad);top:-60px;z-index:60;background:var(--primary);color:var(--base);padding:12px 20px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-meta);transition:top .18s ease}.skip-link:focus-visible{top:12px}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}.g{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter)}.section{padding-block:clamp(72px,10vw,144px);position:relative}.section+.section{border-top:1px solid var(--line)}.dxl,.dl{font-family:var(--font-title);font-weight:700;color:var(--primary)}.hm{font-family:var(--font-display);font-weight:600;color:var(--primary)}.hm--bold{font-family:var(--font-title);font-weight:700}.dxl{font-size:var(--fs-dxl);line-height:.98;letter-spacing:-.025em}.dl{font-size:var(--fs-dl);line-height:1.02;letter-spacing:-.02em}.hm{font-size:var(--fs-hm);line-height:1.08;letter-spacing:-.015em}.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ink);max-width:56ch}.body-m{max-width:58ch}.copy-coral{color:var(--accent)}.floating-contact{position:fixed;z-index:80;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:12px}.floating-contact__toggle{display:grid;width:48px;height:48px;min-height:48px;padding:0;place-items:center;border:1.5px solid color-mix(in srgb,var(--primary) 28%,transparent);border-radius:50%;background:var(--base);color:var(--primary);cursor:pointer;box-shadow:0 8px 28px color-mix(in srgb,var(--secondary) 20%,transparent);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.floating-contact__toggle:hover,.floating-contact__toggle:focus-visible{transform:translateY(-3px);background:var(--teal-wash);border-color:var(--teal-wash);color:var(--primary);box-shadow:0 12px 32px color-mix(in srgb,var(--secondary) 28%,transparent)}.floating-contact__toggle:focus-visible,.floating-contact__minimize:focus-visible,.floating-contact__action:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.floating-contact__mark{display:block;width:8px;height:36px}.floating-contact__menu{width:min(250px,calc(100vw - 98px));padding:16px;border:1px solid color-mix(in srgb,var(--primary) 34%,transparent);border-radius:4px;background:var(--base);box-shadow:0 12px 36px color-mix(in srgb,var(--secondary) 22%,transparent);animation:floating-contact-in .2s ease both}.floating-contact__menu[hidden]{display:none}.floating-contact__menu-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.floating-contact__eyebrow{margin:0;color:var(--primary);font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.floating-contact__minimize{display:grid;width:28px;height:28px;padding:0;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:50%;background:transparent;color:var(--primary);cursor:pointer;font-size:1.15rem;line-height:1}.floating-contact__copy{margin:10px 0 14px;color:var(--ink);font-size:.9rem;line-height:1.35}.floating-contact__actions{display:grid;gap:8px}.floating-contact__action{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary);font-size:.86rem;font-weight:600;text-decoration:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.floating-contact__action span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--accent);color:var(--base);font-size:.78rem;font-weight:700}.floating-contact__action:hover{border-color:var(--accent);background:var(--accent);color:var(--base)}@keyframes floating-contact-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.headline-word-underline{display:inline-block;text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:clamp(2px,.13em,5px);text-underline-offset:.12em;text-decoration-skip-ink:none}.hero-copy .k-label{font-family:var(--font-title);font-weight:700;letter-spacing:.12em}.k-label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--primary);margin:0}.k-label--muted{color:var(--muted)}.k-label--ondark{color:var(--on-dark-muted)}.meta{font-family:var(--font-mono);font-size:var(--fs-meta);color:var(--muted)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.rule{border:0;border-top:1px solid var(--line);margin:0}.rule-strong{border:0;border-top:1.5px solid var(--line-strong);margin:0}.meas{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.meas:before,.meas:after{content:"";height:9px;width:1px;background:var(--primary)}.meas>i{flex:1;height:1px;background:var(--line);font-style:normal}.home-section-label{width:min(100%,300px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 28px;border-radius:var(--radius-sm);border:1.5px solid transparent;font-size:1rem;font-weight:600;letter-spacing:.005em;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .06s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--base);border-color:var(--primary)}.btn-primary .btn-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:0;transform:scale(.4);transition:opacity .18s ease,transform .18s ease}.btn-primary:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:var(--base)}.btn-primary:hover .btn-dot{opacity:1;transform:scale(1)}.btn-line{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-line:hover{background:var(--teal-wash);color:var(--primary)}.btn-ai{background:transparent;color:var(--primary);border-color:var(--line);font-weight:500}.btn-ai:hover{border-color:var(--primary);background:transparent}.btn-ai[disabled],.btn-ai[aria-disabled=true]{color:var(--muted);border-color:var(--line);cursor:not-allowed}.lnk{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--line);padding-bottom:3px;transition:border-color .18s ease}.lnk:after{content:"→";transition:transform .18s ease}.lnk:hover{border-color:var(--primary)}.lnk:hover:after{transform:translate(3px)}.topnav{position:sticky;top:0;z-index:50;background:var(--base);border-bottom:1px solid var(--line)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}.brand{color:var(--primary);text-decoration:none;display:inline-flex;align-items:center;min-height:56px;flex:0 0 auto}.brand-logo{width:132px;height:auto;object-fit:contain;border-radius:0}.nav-links{display:flex;align-items:center;gap:30px}.nav-links a{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);font-weight:700;text-decoration:none;padding:10px 2px;position:relative;min-height:44px;display:inline-flex;align-items:center}.nav-links a:hover{color:var(--teal-deep)}.nav-links a[aria-current=page]{color:var(--primary)}.nav-links a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--primary)}.topnav .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--base);font-weight:700;text-transform:uppercase}.topnav .btn-primary:hover{background:var(--primary);border-color:var(--primary);color:var(--base)}.nav-cta{transition:opacity .2s ease}.topnav .nav-cta.is-deferred{background:var(--accent);color:var(--base);border-color:var(--accent)}.topnav .nav-cta.is-deferred:hover{background:var(--primary);color:var(--base);border-color:var(--primary)}.nav-cta.is-deferred .btn-dot{display:none}.nav-toggle{display:none;width:48px;height:48px;background:var(--accent);border:1.5px solid var(--accent);border-radius:50%;color:var(--base);align-items:center;justify-content:center}.nav-toggle svg{width:20px;height:20px}.nav-toggle:hover,.nav-toggle:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--base)}.nav-toggle .ic-close,body.nav-open .nav-toggle .ic-open{display:none}body.nav-open .nav-toggle .ic-close{display:block}.nav-sheet{display:none;position:fixed;inset:72px 0 0;z-index:49;background:var(--base);padding:40px var(--pad) 56px;flex-direction:column;gap:6px;border-top:1px solid var(--line)}body.nav-open .nav-sheet{display:flex}.nav-sheet a{font-family:var(--font-title);font-weight:700;font-size:clamp(1.7rem,7vw,2.4rem);color:var(--primary);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line);min-height:44px}.nav-sheet a .meta{display:block;margin-top:2px}.nav-sheet a[aria-current=page]{color:var(--ink)}.nav-sheet .btn{margin-top:28px;align-self:stretch;color:var(--base);font-family:var(--font-body);font-size:1rem;border-bottom:0}.nav-sheet .btn-primary{background:var(--accent);border-color:var(--accent);color:var(--base);font-weight:700;text-transform:uppercase}.nav-sheet .btn-primary:hover{background:var(--primary);border-color:var(--primary);color:var(--base)}.pagefoot{background:var(--accent);color:var(--base)}.pagefoot .wrap{padding-block:clamp(56px,7vw,96px) 40px}.foot-brand-link{display:inline-flex;border-radius:50%}.foot-brand-logo{width:84px;height:84px;object-fit:cover;border-radius:50%}.foot-brand-label{margin-top:18px;font-family:var(--font-display);font-weight:800;font-size:1.4rem;letter-spacing:.02em;color:var(--base)}.foot-brand-label small{display:block;font-family:var(--font-mono);font-weight:400;font-size:.66rem;letter-spacing:.3em;margin-top:4px}.foot-brand{font-family:var(--font-display);font-weight:800;font-size:1.4rem;letter-spacing:.02em;color:var(--base)}.foot-brand small{display:block;font-family:var(--font-mono);font-weight:400;font-size:.66rem;letter-spacing:.3em;color:var(--base);margin-top:6px}.foot-sign{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--base);margin-top:18px}.foot-nav{display:flex;flex-direction:column;gap:4px}.foot-nav a{color:var(--base);text-decoration:none;font-size:1rem;padding:8px 0;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent;width:fit-content}.foot-nav a:hover{border-color:var(--base)}.foot-loc{color:var(--base);font-size:.95rem;margin-top:20px}.foot-slots{border-top:1px solid color-mix(in oklch,var(--base) 48%,transparent);margin-top:48px;padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 40px}.slot-pending{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--base);display:inline-flex;align-items:center;gap:8px}.slot-pending:before{content:"";width:6px;height:6px;border:1px solid var(--base);border-radius:50%}.fx{position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 31px,var(--line) 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,var(--line) 31px 32px),color-mix(in oklch,var(--primary) 5%,var(--base));border:1px solid var(--line);aspect-ratio:4 / 3}.fx--wide{aspect-ratio:16 / 9}.fx--portrait{aspect-ratio:3 / 4}.fx>.project-image{display:block;width:100%;height:100%;object-fit:cover}.fx--project{aspect-ratio:4 / 3}.project-image--natural{display:block;width:100%;height:auto}.fx-blk{position:absolute;background:var(--primary);opacity:.92}.fx-blk--l{background:var(--primary-l)}.fx-blk--d{background:var(--secondary)}.fx-dim{position:absolute;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--primary);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.fx-dim i{display:inline-block;width:26px;height:1px;background:var(--primary);font-style:normal}.fx-dim--v i{width:1px;height:26px}.fx-tag{position:absolute;top:10px;left:10px;z-index:2;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);background:var(--base);border:1px solid var(--primary);padding:5px 9px;border-radius:3px}.fx-tag--right{left:auto;right:10px}.fx--missing{background:color-mix(in oklch,var(--primary) 3%,var(--base));border:1.5px dashed var(--muted);display:grid;place-items:center;text-align:center;padding:24px}.fx--missing .k-label{color:var(--muted)}.fx-cap{margin-top:12px}.hero-track{position:relative}html.hero-video-lock{overscroll-behavior:none}.hero-stage{position:relative;padding-block:clamp(64px,9vh,120px)}.hero-js .hero-track{height:320vh}.hero-js .hero-stage{position:sticky;top:0;height:100vh;height:100svh;padding-block:0;overflow:clip;display:flex;align-items:stretch}.hero-stage:before{content:"";position:absolute;z-index:1;inset:10% 4% 3% 28%;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--primary) 18%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--primary) 18%,transparent) 1px,transparent 1px);background-size:32px 32px;opacity:.55}.hero-track[data-hero-state=final] .hero-stage:before{background-image:linear-gradient(to right,color-mix(in srgb,var(--accent) 30%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--accent) 30%,transparent) 1px,transparent 1px)}.hero-copy{position:relative;z-index:3;align-self:center;transform:translateY(-1.5vh)}.hero-anchor{max-width:9ch}.hero-title{margin-top:0}.hero-title__accent{color:var(--accent);text-decoration-line:underline;text-decoration-color:var(--accent);text-decoration-thickness:clamp(2px,.22vw,4px);text-underline-offset:.12em;text-decoration-skip-ink:none}.hero-title__mobile-break{display:none}.hero-title__period{color:var(--accent)}.hero-rotator{display:block;min-height:1.45em;margin-top:18px;color:var(--accent);font-size:clamp(1.25rem,1.85vw,1.45rem);letter-spacing:.1em;line-height:1.25;transition:color .2s ease;text-transform:none;white-space:nowrap;overflow:hidden}.hero-copy .hero-rotator{font-family:var(--font-title);font-weight:700}.hero-rotator.is-erasing{color:var(--primary)}.hero-progress{position:absolute;z-index:6;height:3px;min-width:80px;background:var(--line);pointer-events:none;opacity:0;transition:opacity .25s ease,left .2s ease,width .2s ease,top .2s ease}.hero-progress i{display:block;width:0;height:100%;background:var(--accent);transform-origin:left center;transition:width .18s linear}.hero-next{position:absolute;z-index:6;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--secondary);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .25s ease,left .2s ease,width .2s ease,top .2s ease}.hero-next{display:none!important}.hero-next.is-on{opacity:1}.hero-next__arrow{color:var(--accent);font-family:var(--font-body);font-size:1.35rem;line-height:.7;animation:nextdrop 1.3s ease-in-out infinite}@keyframes nextdrop{50%{transform:translateY(5px)}}.hero-swipe-cue{position:absolute;z-index:6;display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;pointer-events:none;transform:translate(-50%);animation:hero-swipe-cue-drop 1.2s ease-in-out infinite}.hero-swipe-cue[hidden]{display:none}.hero-swipe-cue__arrow{color:var(--accent);font-family:var(--font-body);font-size:1.25rem;line-height:.7}@keyframes hero-swipe-cue-drop{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,7px)}}.hero-controls{position:fixed;z-index:7;right:max(var(--pad),calc((100% - var(--wrap)) / 2 + var(--pad)));top:92px;display:flex;align-items:flex-end;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.hero-controls.is-complete{opacity:0;transform:translateY(14px);pointer-events:none}.hero-skip{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--accent) 46%,transparent);border-radius:999px;background:color-mix(in srgb,var(--base) 78%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:.9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-shadow:0 2px 10px color-mix(in srgb,var(--secondary) 12%,transparent);transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .2s ease}.hero-skip:hover{background:color-mix(in srgb,var(--base) 88%,transparent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);opacity:1}.hero-skip:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none;opacity:1}.hero-skip__icon{font-family:var(--font-body);font-size:.9rem;line-height:.7}.hero-skip[hidden]{display:none}.hero-frame{position:relative;z-index:2;width:100%;aspect-ratio:16 / 9;margin-top:56px;border:0;background:transparent;overflow:hidden;isolation:isolate;transition:box-shadow .7s cubic-bezier(.22,.61,.36,1),outline-color .7s ease,background-color .7s ease}.hero-js .hero-frame{position:absolute;margin-top:0;aspect-ratio:auto;left:var(--hl, 50%);top:var(--ht, 50%);width:var(--hw, 46%);height:var(--hh, 56vh);transform:translateY(-50%)}.hero-js .hero-copy,.hero-js .hero-frame{will-change:opacity,transform,width,left}.hero-frame.is-depth{background:color-mix(in srgb,var(--secondary) 13%,var(--base));outline:1px solid color-mix(in srgb,var(--secondary) 28%,transparent);outline-offset:-1px;box-shadow:0 0 0 8px color-mix(in srgb,var(--base) 90%,var(--secondary)),0 0 0 9px color-mix(in srgb,var(--secondary) 22%,transparent),-5px -5px 13px color-mix(in srgb,var(--secondary) 16%,transparent),7px 10px 22px color-mix(in srgb,var(--secondary) 24%,transparent)}.hero-frame:before,.hero-frame:after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0;transition:opacity .7s ease}.hero-frame:before{background:linear-gradient(to bottom,color-mix(in srgb,var(--secondary) 48%,transparent),transparent) top / 100% 12px no-repeat,linear-gradient(to right,color-mix(in srgb,var(--secondary) 38%,transparent),transparent) left / 12px 100% no-repeat,linear-gradient(to top,color-mix(in srgb,white 66%,transparent),transparent) bottom / 100% 12px no-repeat,linear-gradient(to left,color-mix(in srgb,white 56%,transparent),transparent) right / 12px 100% no-repeat;box-shadow:inset 0 0 16px color-mix(in srgb,var(--secondary) 30%,transparent)}.hero-frame:after{inset:11px;border:1px solid color-mix(in srgb,var(--secondary) 30%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,white 58%,transparent),0 0 10px 3px color-mix(in srgb,var(--secondary) 24%,transparent)}.hero-frame.is-depth:before,.hero-frame.is-depth:after{opacity:1}.hero-video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;background:transparent}@media(min-width:1024px){.hero-video{width:auto;max-width:100%;height:100%;aspect-ratio:1080 / 1364;margin-inline:auto}}.hero-fallback{display:none;position:absolute;inset:0;place-items:center;padding:24px;text-align:center;background:var(--aqua-wash)}.hero-track[data-hero-state=failure_fallback] .hero-video{display:none}.hero-track[data-hero-state=failure_fallback] .hero-fallback{display:grid}.hero-final{position:relative;z-index:3;margin-top:32px}.hero-final .hm{font-family:var(--font-title);font-weight:700;color:var(--accent)}.hero-final__accent{color:var(--primary)}.hero-final .hero-final__cta{background:var(--primary);border-color:var(--primary);color:var(--base)}.hero-final .hero-final__cta:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:var(--base)}.hero-final__cta .btn-dot{background:var(--accent);opacity:1;transform:scale(1);animation:hero-cta-dot 1.6s ease-in-out infinite}@keyframes hero-cta-dot{0%,to{opacity:.35;transform:scale(.72)}50%{opacity:1;transform:scale(1.15)}}.hero-js .hero-final{opacity:0;visibility:hidden;margin-top:0}.hero-js .hero-final.is-on{opacity:1;visibility:visible;transition:opacity .3s ease}.hero-loading{position:absolute;inset:0;z-index:6;display:none;place-items:center;background:var(--base)}.hero-loading .k-label{display:inline-flex;align-items:center;gap:10px}.hero-loading .k-label:after{content:"";width:34px;height:1px;background:var(--primary);animation:loadpulse 1.1s ease-in-out infinite}@keyframes loadpulse{50%{transform:scaleX(.35);opacity:.5}}.hero-track[data-hero-state=loading] .hero-loading{display:grid}.hero-track.is-static .hero-stage{position:relative;height:auto;padding-block:clamp(64px,9vh,120px);overflow:visible}.hero-track.is-static .hero-frame{position:relative;left:auto;top:auto;width:100%;height:auto;transform:none;aspect-ratio:16 / 9}.hero-track.is-static .hero-final{opacity:1;visibility:visible;margin-top:32px}.hero-track.is-static .hero-progress,.hero-track.is-static .hero-next,.hero-track.is-static .hero-controls{display:none}.home02{overflow:clip}.home02-text,.home02-rule,.home02-cta{position:relative;z-index:2;transition:transform .72s cubic-bezier(.22,.61,.36,1),opacity .48s ease}.home02-text{grid-column:1 / 7}.home02-rule{grid-column:1 / 7;align-self:start;margin-top:0}.home02-cta{grid-column:1 / 7}.home02-media{position:relative;z-index:3;grid-column:8 / 13;grid-row:1 / 4;min-height:clamp(440px,54vw,700px);overflow:visible}.home02-media__trigger{position:relative;display:block;width:100%;height:100%;min-height:inherit;padding:0;border:0;background:var(--base);cursor:zoom-in;text-align:left;transform:translate(24%);transition:transform .78s cubic-bezier(.22,.61,.36,1),box-shadow .3s ease}.home02-media__trigger img{display:block;width:100%;height:100%;object-fit:cover;object-position:22% 50%}.home02-media__trigger:after{content:"";position:absolute;inset:0;border:1px solid color-mix(in srgb,var(--primary) 34%,transparent);pointer-events:none}.home02-media__hint{position:absolute;left:50%;bottom:18px;display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid color-mix(in srgb,var(--base) 28%,transparent);border-radius:999px;color:var(--base);background:color-mix(in srgb,var(--primary) 30%,transparent);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;opacity:.72;transform:translate(-50%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:opacity .25s ease,background .25s ease}.home02-media__close{position:absolute;z-index:2;top:16px;right:16px;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--accent);border-radius:999px;background:color-mix(in srgb,var(--base) 88%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.home02-media__close[hidden]{display:none}.home02-media__close:hover,.home02-media__close:focus-visible{background:var(--accent);color:var(--base)}.home02-media.is-open{z-index:8}.home02-media.is-open .home02-media__trigger{transform:translate(-14%) scale(1.13);cursor:zoom-out;box-shadow:0 24px 60px color-mix(in srgb,var(--secondary) 18%,transparent)}.home02-media.is-open .home02-media__hint{opacity:0}.home02--media-open .home02-rule,.home02--media-open .home02-text,.home02--media-open .home02-cta{transform:translate(-118%);opacity:0;pointer-events:none}.sit-list{border-top:1.5px solid var(--primary);margin-top:40px}.sit{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}.sit .num{color:var(--muted);font-size:var(--fs-meta);grid-column:1 / 2}.sit p{font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,2vw,1.7rem);color:var(--ink);grid-column:2 / 11;line-height:1.25}.sit:not(.sit--break) .num,.sit:not(.sit--break) p{color:var(--accent)}.sit--break{padding-block:34px}.sit--break .num{color:var(--primary)}.sit--break p{grid-column:3 / 13;font-size:clamp(1.7rem,3.4vw,2.9rem);color:var(--primary);font-weight:600}[data-od-id=home-03-situaciones] .btn-line{background:var(--accent);border-color:var(--accent);color:var(--base)}[data-od-id=home-03-situaciones] .btn-line:hover,[data-od-id=home-03-situaciones] .btn-line:focus-visible{background:var(--primary);border-color:var(--primary);color:var(--base)}.teasers{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);row-gap:64px;margin-top:56px}.teaser{position:relative;display:block;text-decoration:none}.teaser .fx,.teaser .fx--missing{transition:border-color .2s ease}.teaser:hover .fx{border-color:var(--primary)}.teaser-body{position:relative;z-index:6;display:block;padding-top:18px;background:var(--base);text-decoration:none}.teaser-need{font-size:1.02rem;color:var(--ink);margin-top:10px;max-width:40ch}.teaser-res{font-size:.95rem;color:var(--muted);margin-top:8px;max-width:44ch}.teaser-title{font-family:var(--font-display);font-weight:600;font-size:1.35rem;color:var(--primary);line-height:1.15}.teaser .lnk{margin-top:16px;font-size:.95rem}.teaser:hover .lnk{border-color:var(--primary)}.before-after{--before-after-position: 50%;isolation:isolate;background:var(--base);cursor:default}.before-after__pane,.before-after__image{position:absolute;inset:0;width:100%;height:100%}.before-after__pane{overflow:hidden}.before-after__pane--before{z-index:1}.before-after__pane--after{z-index:2;clip-path:inset(0 0 0 var(--before-after-position))}.before-after__image{object-fit:cover}.before-after__divider{position:absolute;z-index:4;top:0;bottom:0;left:var(--before-after-position);width:2px;background:var(--base);box-shadow:0 0 0 1px color-mix(in srgb,var(--secondary) 20%,transparent);pointer-events:none;transform:translate(-50%)}.before-after__handle{position:absolute;top:50%;left:50%;display:grid;width:38px;height:38px;place-items:center;border:1.5px solid var(--base);border-radius:50%;background:var(--accent);color:var(--base);font-family:var(--font-body);padding:0;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ew-resize;font-size:1.1rem;font-weight:700;line-height:1;transform:translate(-50%,-50%);box-shadow:0 2px 12px color-mix(in srgb,var(--secondary) 28%,transparent)}.before-after__range{position:absolute;z-index:5;width:1px;height:1px;margin:-1px;clip-path:inset(50%);opacity:0;pointer-events:none}.before-after__handle:focus-visible{outline:3px solid var(--base);outline-offset:3px}.ixo{position:relative;margin-top:56px}.ixo-visual{margin:0;border:1px solid var(--line);overflow:hidden;background:var(--base)}.ixo-visual .project-image{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.home06{background:var(--teal-wash)}.home06 .btn-ai{background:var(--accent);border-color:var(--accent);color:var(--teal-wash)}.home06 .btn-ai:hover{background:color-mix(in oklch,var(--accent) 88%,black);border-color:color-mix(in oklch,var(--accent) 88%,black);color:var(--teal-wash)}.ai-note{border-left:2px solid var(--primary-l);padding:4px 0 4px 18px;font-size:.95rem;color:var(--ink);max-width:52ch}.ai-note+.ai-note{margin-top:12px}.home07{text-align:left}.home07 .dl{max-width:14ch}.home07 .btn-primary .btn-dot{opacity:1;transform:scale(1);animation:hero-cta-dot 1.6s ease-in-out infinite}.proj-intro{max-width:30ch}.collection{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);row-gap:88px;margin-top:72px}.case-need{border-left:2px solid var(--primary);padding-left:24px}.moment{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);padding-block:clamp(48px,6vw,88px);border-top:1px solid var(--line)}.moment:first-of-type{border-top:0}.moment-head{grid-column:1 / 4}.moment-head .num{font-size:var(--fs-meta);color:var(--muted);display:block;margin-bottom:10px}.moment-body{grid-column:5 / 12}.moment-body p+p{margin-top:14px}.moment-evidence{grid-column:5 / 12;margin-top:32px}.moment--full{grid-column:1 / -1}.case-fullbleed{margin-inline:calc(-1 * var(--pad));border-block:1.5px solid var(--primary)}.case-fullbleed .fx{border:0;aspect-ratio:21 / 9}.case-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter);margin-top:clamp(28px,4vw,56px)}.case-gallery[hidden]{display:none}.case-gallery figure{margin:0}.case-gallery figcaption{margin-top:10px}.proc-line{position:relative;margin-top:72px}.proc-line:before{content:"";position:absolute;top:0;bottom:0;width:1.5px;background:var(--primary);left:calc((100% - (var(--gutter) * 11)) / 12 * 2 + var(--gutter) * 2 - var(--gutter) / 2)}.step{display:grid;grid-template-columns:repeat(var(--cols),1fr);column-gap:var(--gutter);padding-block:44px;position:relative}.step-mark{grid-column:1 / 3;display:flex;align-items:baseline;gap:14px;align-self:start}.step-mark .tick{width:26px;height:1.5px;background:var(--primary);margin-top:.55em}.step-body{grid-column:3 / 11}.step-body h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.35rem,2.4vw,2rem);color:var(--primary)}.step-body p{margin-top:10px;max-width:52ch;color:var(--ink)}.step--break .step-body{grid-column:4 / 13}.step--break .step-mark .num,.step--break .step-body h3{color:var(--accent)}.step--break .step-mark .tick{background:var(--accent)}.step--break .step-body h3{font-size:clamp(1.9rem,3.6vw,3rem)}.pb-field{padding-block:26px;border-top:1px solid var(--line)}.pb-field:first-of-type{border-top:1.5px solid var(--primary)}.pb-preview{border:1.5px solid var(--primary);background:var(--surface);padding:28px;border-radius:var(--radius-sm);position:sticky;top:96px}.pb-preview-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px;flex-wrap:wrap}.pb-line{font-size:.95rem;padding:9px 0;border-bottom:1px dashed var(--line);display:grid;grid-template-columns:130px 1fr;gap:14px}.pb-line dt{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px}.pb-line dd{margin:0;color:var(--ink)}.pb-line dd.is-empty{color:var(--muted);font-style:italic}.confirm-panel{border:1.5px solid var(--primary);border-radius:var(--radius-sm);padding:clamp(28px,4vw,48px);background:var(--surface)}.confirm-panel[hidden]{display:none}.field{display:flex;flex-direction:column;gap:8px}.field label,.field .field-label{font-weight:600;color:var(--primary);font-size:1.02rem;display:block}.field .req{color:var(--accent)}.field .opt-tag{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:3px 7px;margin-left:10px;vertical-align:2px}.field .help{font-size:.88rem;color:var(--muted)}.input,.textarea,.select{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;font-size:1rem;min-height:52px;transition:border-color .16s ease,background .16s ease}.input:hover,.textarea:hover,.select:hover{border-color:var(--muted)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 22%,transparent)}.textarea{min-height:120px;resize:vertical;line-height:1.6}.field.is-optional .input,.field.is-optional .textarea{border-style:dashed}.field.has-error .input,.field.has-error .textarea,.field.has-error .select{border-color:var(--accent);border-width:2px}.field-error{display:none;align-items:center;gap:8px;color:var(--secondary);font-size:.9rem;font-weight:600}.field-error:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.field.has-error .field-error{display:flex}.upload{border:1.5px dashed var(--muted);border-radius:var(--radius-sm);padding:26px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;background:color-mix(in oklch,var(--primary) 3%,var(--base))}.upload.is-over{border-color:var(--primary);background:var(--teal-wash)}.upload-inner{display:flex;flex-direction:column;gap:10px;align-items:flex-start;cursor:pointer}.upload-inner svg{width:28px;height:28px;color:var(--primary)}.upload-list{width:100%;display:flex;flex-direction:column;gap:8px}.upload-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--surface);padding:10px 14px;border-radius:4px;font-size:.92rem}.upload-item .meta{flex:none}.upload-bar{height:3px;background:var(--line);width:100%;border-radius:2px;overflow:hidden}.upload-bar i{display:block;height:100%;width:0;background:var(--primary-l);transition:width .2s ease}.upload-item.is-error{border-color:var(--accent)}.upload-item .u-err{color:var(--secondary);font-size:.85rem;font-weight:600}.form-status{border-radius:var(--radius-sm);padding:22px 24px;margin-top:28px}.form-status[hidden]{display:none}.form-status--ok{border:1.5px solid var(--primary);background:var(--aqua-wash)}.form-status--err{border:1.5px solid var(--accent);background:var(--surface)}.form-status .k-label{margin-bottom:8px;display:block}.form-note{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;color:var(--muted);max-width:52ch}.form-note:before{content:"";width:22px;height:1.5px;background:var(--primary-l);margin-top:.7em;flex:none}.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in oklch,var(--base) 40%,transparent);border-top-color:var(--base);animation:rot .8s linear infinite;flex:none}@keyframes rot{to{transform:rotate(360deg)}}.page-head{padding-block:clamp(64px,9vw,128px) clamp(40px,5vw,72px)}.page-head .dl{max-width:16ch;margin-top:18px}.page-head .lead{margin-top:22px}@media(max-width:1023px){:root{--cols: 8;--gutter: 20px;--pad: 32px}.home02-text,.home02-cta,.home02-rule{grid-column:1 / 6}.home02-media{grid-column:6 / 9}.sit p,.sit--break p{grid-column:2 / 9}.moment-head{grid-column:1 / 3}.moment-body,.moment-evidence{grid-column:3 / 9}.step-mark{grid-column:1 / 2}.step-body,.step--break .step-body{grid-column:2 / 9}.proc-line:before{left:calc((100% - (var(--gutter) * 7)) / 8 * .5)}.teasers>*,.collection>*{grid-column:span 4!important;margin-top:0!important}.ixo-diagram{min-height:300px}}@media(max-width:639px){:root{--cols: 4;--gutter: 16px;--pad: 20px}.nav-links,.topnav .nav-cta{display:none}.nav-toggle{display:inline-flex}.home02 .g{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.home02-text,.home02-cta{grid-column:1}.home02-rule{display:block;grid-column:1 / -1;grid-row:1;margin-top:0;margin-bottom:20px}.home02-text{grid-row:2}.home02-cta{grid-row:3}.home02-media{grid-column:2;grid-row:2 / 5;min-height:min(145vw,620px);margin-top:0;transition:width .78s cubic-bezier(.22,.61,.36,1),transform .78s cubic-bezier(.22,.61,.36,1)}.home02-media__trigger{transform:translate(18%)}.home02-media.is-open{width:min(80vw,360px);transform:translate(-58%)}.home02-media.is-open .home02-media__trigger{transform:scale(1.03)}.home02-media__trigger img{object-position:18% 50%}.sit p,.sit--break p{grid-column:2 / 5}.sit .num{grid-column:1 / 2}.moment{display:block}.moment-head{margin-bottom:16px}.step{display:block;padding-block:32px}.step-mark{margin-bottom:8px}.proc-line:before{left:6px}.proc-line{padding-left:26px}.teasers>*,.collection>*{grid-column:1 / 5!important}.case-gallery{grid-template-columns:1fr}.pb-preview{position:static;margin-top:40px}.pb-line{grid-template-columns:1fr;gap:2px}.case-fullbleed{margin-inline:calc(-1 * var(--pad))}.case-fullbleed .fx{aspect-ratio:4 / 3}.foot-slots{flex-direction:column;gap:10px}.hero-anchor{max-width:100%}.hero-title{font-size:clamp(2.35rem,10.5vw,3rem)}.hero-title__accent{color:var(--primary);text-decoration-color:var(--accent)}.hero-title__mobile-break{display:inline}.hero-js .hero-track{height:280vh}.hero-js .hero-copy{padding-top:10vh}}@media(max-width:1023px){.hero-frame{--hh: 46vh}.hero-controls{right:var(--pad);top:86px}}@media(max-width:639px){.hero-controls{right:var(--pad);left:var(--pad);top:82px;align-items:stretch;flex-direction:column;gap:8px}.hero-skip{align-self:flex-end}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.hero-js .hero-track{height:auto}.hero-js .hero-stage{position:relative;height:auto;padding-block:clamp(64px,9vh,120px);overflow:visible}}.hero-js .hero-stage>.wrap{width:100%;height:100%;align-content:center}.hero-js .hero-copy{grid-column:1 / 7;grid-row:1}.hero-js .hero-final{grid-column:1 / 5;grid-row:1;align-self:center}@media(max-width:1023px){.hero-js .hero-stage>.wrap{align-content:start}.hero-js .hero-copy{grid-column:1 / -1;padding-top:2.5vh}.hero-js .hero-final{grid-column:1 / -1;align-self:start;padding-top:9vh}}@media(max-width:639px){.hero-stage:before{inset:12% 7% 4%;background-size:24px 24px;opacity:.42}.hero-frame.is-depth{box-shadow:0 0 0 9px color-mix(in srgb,var(--base) 90%,var(--secondary)),0 0 0 10px color-mix(in srgb,var(--secondary) 24%,transparent),-5px -5px 13px color-mix(in srgb,var(--secondary) 17%,transparent),8px 12px 24px color-mix(in srgb,var(--secondary) 26%,transparent)}}.fixture-note-text{font-style:italic;color:var(--muted)}.gpt-text{font-family:var(--font-mono);font-size:.85rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;background:var(--base);border:1px solid var(--line);padding:18px;border-radius:var(--radius-sm);margin:14px 0 18px;max-height:260px;overflow:auto}.foot-info{grid-column:1 / 7}.foot-navwrap{grid-column:9 / 13}.ixo-text{grid-column:1 / 6}.ixo-wrap{grid-column:7 / 13}.home06-text,.home06-cta{grid-column:1 / 9}.pb-form{grid-column:1 / 7}.pb-side{grid-column:8 / 13}.case-head-main{grid-column:1 / 9}.case-head-side{grid-column:9 / 13}.form-main{grid-column:1 / 9}.form-side{grid-column:10 / 13}.form-stack>*+*{margin-top:34px}@media(max-width:1023px){.foot-info,.foot-navwrap,.ixo-text,.ixo-wrap,.home06-text,.home06-cta,.pb-form,.pb-side,.case-head-main,.case-head-side,.form-main,.form-side{grid-column:1 / -1}.foot-navwrap,.ixo-wrap,.pb-side,.case-head-side,.form-side{margin-top:40px}}
