@import"https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{color-scheme:light;--brand: #d81f26;--brand-dark:#9c1414;--brand-2: #f2823a;--accent: #f7941d;--accent-2: #ffd646;--bg: #f7f7f7;--surface: #ffffff;--ink: #1b1b1b;--muted: #55585c;--line: color-mix(in srgb, var(--brand) 12%, transparent);--shadow-ink: color-mix(in srgb, var(--brand) 60%, black);--shadow: 0 24px 80px color-mix(in srgb, var(--shadow-ink) 14%, transparent);--shadow-s: 0 6px 24px color-mix(in srgb, var(--shadow-ink) 10%, transparent);--radius: 12px;--radius-l: 20px;--max: 1200px;--header-h: 98px;--ease-spring: cubic-bezier(.22, 1, .36, 1);--font-display: Sora, sans-serif;--font-body: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--step--1: clamp(.8125rem, .7905rem + .094vw, .875rem);--step-0: clamp(1rem, .956rem + .188vw, 1.125rem);--step-1: clamp(1.125rem, 1.037rem + .376vw, 1.375rem);--step-2: clamp(1.3125rem, 1.1585rem + .657vw, 1.75rem);--step-3: clamp(1.625rem, 1.3169rem + 1.315vw, 2.5rem);--step-4: clamp(2.125rem, 1.5968rem + 2.254vw, 3.625rem);--step-5: clamp(2.625rem, 1.8768rem + 3.192vw, 4.75rem);--space-3xs: clamp(.25rem, .228rem + .094vw, .3125rem);--space-2xs: clamp(.5rem, .456rem + .188vw, .625rem);--space-xs: clamp(.75rem, .684rem + .282vw, .9375rem);--space-s: clamp(1rem, .912rem + .376vw, 1.25rem);--space-m: clamp(1.5rem, 1.368rem + .563vw, 1.875rem);--space-l: clamp(2rem, 1.8239rem + .751vw, 2.5rem);--space-xl: clamp(3rem, 2.7359rem + 1.127vw, 3.75rem);--space-2xl: clamp(4rem, 3.6479rem + 1.502vw, 5rem);--space-3xl: clamp(6rem, 5.4718rem + 2.254vw, 7.5rem);font-family:var(--font-body)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}body{margin:0;font-size:var(--step-0);color:var(--ink);background:var(--bg);min-width:320px;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}ul{list-style:none;margin:0;padding:0}.skip-link{position:absolute;top:-40px;left:16px;z-index:200;background:var(--brand);color:#fff;padding:10px 16px;border-radius:6px;font-weight:600;transition:top .12s}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}:focus-visible{outline:3px solid var(--brand-2);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4,h5{font-family:var(--font-display);font-weight:700;line-height:1.15;margin:0;color:var(--ink)}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2);line-height:1.25}h4{font-size:var(--step-1);line-height:1.3}p{font-size:var(--step-0);line-height:1.7;margin:0 0 1em;color:var(--muted);overflow-wrap:break-word}p:last-child{margin-bottom:0}strong{color:var(--ink);font-weight:700}small{font-size:var(--step--1)}.container{width:min(var(--max),calc(100% - (clamp(1.5rem,5vw,4rem)*2)));margin-inline:auto}.section{padding-block:var(--space-3xl)}.section--alt{background:var(--surface)}.section--brand{background:var(--brand);color:#fff}.section--brand h2,.section--brand h3,.section--brand p{color:color-mix(in srgb,white 95%,transparent)}.btn{display:inline-flex;align-items:center;gap:.5em;padding:clamp(.7rem,1.5vw,.9rem) clamp(1.4rem,3vw,2rem);border-radius:999px;font-family:var(--font-display);font-size:clamp(.95rem,1.1vw,1.05rem);font-weight:700;cursor:pointer;border:none;transition:transform .45s var(--ease-spring),box-shadow .45s var(--ease-spring),background .45s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--ink);box-shadow:0 4px 18px color-mix(in srgb,var(--accent) 35%,transparent)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 85%,var(--ink));box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 45%,transparent)}.btn-secondary{background:var(--brand);color:#fff;box-shadow:0 4px 18px color-mix(in srgb,var(--brand) 22%,transparent)}.btn-secondary:hover{background:var(--brand-dark);box-shadow:0 8px 28px color-mix(in srgb,var(--brand) 32%,transparent)}.btn-ghost{background:transparent;color:var(--brand);border:2px solid var(--brand)}.btn-ghost:hover{background:var(--brand);color:#fff}.btn-ghost-white{background:transparent;color:#fff;border:2px solid color-mix(in srgb,white 70%,transparent)}.btn-ghost-white:hover{background:color-mix(in srgb,white 15%,transparent)}.site-header{position:relative;z-index:50}.header-topbar{background:var(--ink);color:color-mix(in srgb,white 85%,transparent)}.header-topbar .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:.5rem;font-size:clamp(.78rem,1vw,.88rem)}.topbar-info{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem);flex-wrap:wrap}.topbar-info a{display:inline-flex;align-items:center;gap:.4em;font-weight:600;color:#fff}.topbar-info a:hover{color:var(--accent-2)}.topbar-info svg{width:15px;height:15px;flex-shrink:0}.topbar-cta{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-display);font-weight:700;color:var(--accent-2);font-size:clamp(.78rem,1vw,.85rem);white-space:nowrap}.topbar-cta svg{width:15px;height:15px;flex-shrink:0}.header-mainbar{position:sticky;top:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 2px 0 transparent;transition:box-shadow .22s ease,padding .22s ease}.header-mainbar.scrolled{box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-ink) 12%,transparent)}.header-mainbar .container{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,2vw,2rem);padding-block:clamp(.35rem,1vw,.6rem)}.site-brand{display:inline-flex;align-items:center;flex-shrink:0}.site-brand img{height:clamp(56px,8vw,84px);width:auto}.site-nav{display:flex;align-items:center;gap:clamp(.1rem,1vw,.25rem)}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:.25em;padding:.5rem clamp(.6rem,1.2vw,.9rem);font-family:var(--font-display);font-size:clamp(.85rem,1vw,.95rem);font-weight:700;color:var(--ink);border-radius:8px;transition:background .28s ease,color .28s ease;white-space:nowrap}.nav-link:hover,.nav-link[aria-current]{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand)}.nav-caret{width:10px;height:10px;display:inline-block;transition:transform .58s var(--ease-spring)}.nav-item:hover .nav-caret,.nav-item:focus-within .nav-caret{transform:rotate(180deg)}.nav-dropdown{visibility:hidden;opacity:0;pointer-events:none;position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 40px color-mix(in srgb,var(--shadow-ink) 14%,transparent);padding:.75rem .5rem .5rem;z-index:10;transition:opacity .22s ease-out,visibility 0ms .22s}.nav-item:hover .nav-dropdown,.nav-item:focus-within .nav-dropdown{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .22s ease-out}.nav-dropdown a{display:block;padding:.55rem .9rem;font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--ink);border-radius:8px;white-space:nowrap;opacity:0;transform:translate3d(0,-6px,0);will-change:transform,opacity;transition:opacity .15s ease,transform .15s ease,background .12s}.nav-item:hover .nav-dropdown a,.nav-item:focus-within .nav-dropdown a{opacity:1;transform:translateZ(0);transition:opacity .48s var(--ease-spring) calc(.1s + var(--j, 0) * 80ms),transform .48s var(--ease-spring) calc(.1s + var(--j, 0) * 80ms),background .2s}.nav-dropdown a:hover{background:color-mix(in srgb,var(--brand) 8%,transparent);color:var(--brand)}.header-cta{flex-shrink:0}.header-cta .btn{padding-inline:1.25rem}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;padding:8px;cursor:pointer;border-radius:8px;transition:background .12s}.hamburger:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.hamburger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;position:fixed;inset:0;z-index:49;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 22%,#050505),color-mix(in srgb,var(--brand) 10%,#050505));padding:clamp(5.5rem,14vw,7rem) clamp(1.5rem,5vw,3rem) max(2rem,env(safe-area-inset-bottom));overflow-y:auto}.mobile-menu.open,.mobile-menu.closing{display:flex}.mobile-menu.open{animation:menu-in .32s var(--ease-spring) both}.mobile-menu.closing{animation:menu-out .28s ease both}@keyframes menu-in{0%{opacity:0}}@keyframes menu-out{to{opacity:0;transform:translateY(-2.5%)}}.mobile-menu a{display:block;color:#fff;font-family:var(--font-display);font-size:clamp(1.3rem,4vw,1.7rem);font-weight:700;padding:.65rem 0;border-bottom:1px solid color-mix(in srgb,white 10%,transparent);opacity:0;transform:translate(-20px);animation:menu-link .25s forwards;animation-delay:calc(.12s + var(--i, 0) * 45ms)}.mobile-menu a:hover{color:var(--accent-2)}@keyframes menu-link{to{opacity:1;transform:translate(0)}}.mobile-sub-label{font-size:clamp(.7rem,2vw,.8rem);color:color-mix(in srgb,white 40%,transparent);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-display);font-weight:700;padding:1.2rem 0 .3rem}.mobile-sub a{font-size:clamp(1rem,3vw,1.2rem);font-weight:600;padding:.45rem 0 .45rem 1rem;color:color-mix(in srgb,white 80%,transparent)}.mobile-sub a:hover{color:var(--accent-2)}.mobile-menu-foot{margin-top:auto;padding-top:2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap}.mobile-menu-contact{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.mobile-menu-contact a{border-bottom:none;font-size:clamp(.95rem,3vw,1.05rem);font-weight:600;color:color-mix(in srgb,white 70%,transparent);padding:.35rem 0}.mobile-menu-contact a:hover{color:var(--accent-2)}.mobile-menu .btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2rem;font-size:clamp(.95rem,1.1vw,1.05rem);font-weight:700;border-bottom:none}.mobile-menu .btn-primary,.mobile-menu .btn-primary:hover{color:var(--ink)}@media(max-width:900px){.site-nav,.header-cta{display:none}.hamburger{display:flex}}@media(max-width:640px){.header-topbar{display:none}}.site-footer{background:var(--ink);color:color-mix(in srgb,white 85%,transparent);padding-block:clamp(3rem,7vw,5rem)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(2rem,4vw,3rem)}.footer-brand{display:inline-flex;align-items:center;margin-bottom:1.1rem}.footer-brand img{height:44px;width:auto}.footer-tagline{font-size:clamp(.85rem,1vw,.95rem);line-height:1.6;color:color-mix(in srgb,white 60%,transparent);margin:0}.footer-heading{font-family:var(--font-display);font-size:clamp(.8rem,1vw,.9rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2);margin-bottom:.85rem}.footer-links{display:flex;flex-direction:column;gap:.4rem}.footer-links a,.footer-links span,.footer-contact a{font-size:clamp(.85rem,1vw,.95rem);color:color-mix(in srgb,white 70%,transparent);transition:color .35s ease}.footer-contact a{display:flex;align-items:center;gap:.4em;margin-bottom:.5rem}.footer-links a:hover,.footer-contact a:hover{color:var(--accent-2)}.footer-bottom{margin-top:clamp(2rem,4vw,3rem);padding-top:1.5rem;border-top:1px solid color-mix(in srgb,white 10%,transparent);display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;align-items:center;font-size:.82rem;color:color-mix(in srgb,white 40%,transparent)}.footer-bottom a{color:color-mix(in srgb,white 50%,transparent);transition:color .35s ease}.footer-bottom a:hover{color:var(--accent-2)}.hero{position:relative;height:clamp(560px,90vh,920px);min-height:480px;overflow:hidden;display:flex;align-items:center}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,color-mix(in srgb,black 92%,var(--brand) 8%),color-mix(in srgb,black 68%,transparent) 45%,color-mix(in srgb,black 28%,transparent));z-index:1}.hero-content{position:relative;z-index:2;padding:clamp(1rem,4vw,2rem);max-width:720px;color:#fff}.hero-eyebrow{display:inline-block;background:var(--accent);color:var(--ink);font-family:var(--font-display);font-size:clamp(.75rem,1.2vw,.9rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.35em 1em;border-radius:999px;margin-bottom:clamp(.75rem,2vw,1.2rem)}.hero h1{color:#fff;font-size:var(--step-5);text-shadow:0 2px 20px rgba(0,0,0,.35);margin-bottom:clamp(.75rem,2vw,1.2rem)}.hero-sub{font-size:clamp(1rem,1.8vw,1.25rem);color:color-mix(in srgb,white 90%,transparent);line-height:1.6;margin-bottom:clamp(1.5rem,3vw,2.5rem);max-width:52ch}.hero-actions{display:flex;gap:clamp(.75rem,2vw,1.25rem);flex-wrap:wrap}.hero-simple{position:relative;height:clamp(340px,46vw,520px);overflow:hidden;display:flex;align-items:flex-end}.hero-simple-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-simple-overlay{position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,black 88%,var(--brand) 6%) 0%,color-mix(in srgb,black 40%,transparent) 55%,transparent 100%)}.hero-simple-content{position:relative;z-index:1;padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,4vw,3rem);color:#fff;width:100%}.hero-simple-content .hero-eyebrow{margin-bottom:clamp(.5rem,1.5vw,1rem)}.hero-simple-content h1{color:#fff;font-size:clamp(1.9rem,4.2vw,3.1rem);text-shadow:0 2px 12px rgba(0,0,0,.35);max-width:20ch}.hero-simple-content p{color:color-mix(in srgb,white 88%,transparent);max-width:56ch;margin-top:clamp(.5rem,1.5vw,1rem)}.section-header{text-align:center;max-width:680px;margin-inline:auto;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-tag{display:inline-block;font-family:var(--font-display);font-size:clamp(.7rem,1vw,.8rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brand);margin-bottom:.6rem}.section-header h2{margin-bottom:clamp(.75rem,1.5vw,1rem)}.section-header p{max-width:56ch;margin-inline:auto}.section--brand .section-tag{color:var(--accent-2)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(240px,30vw,280px),1fr));gap:clamp(1.25rem,3vw,2rem)}.card-grid--2{grid-template-columns:repeat(auto-fit,minmax(clamp(280px,40vw,400px),1fr))}.card-grid--4{grid-template-columns:repeat(auto-fill,minmax(clamp(220px,22vw,260px),1fr))}.card{background:var(--surface);border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-s);border:1px solid var(--line);transition:transform .7s var(--ease-spring),box-shadow .7s var(--ease-spring);display:flex;flex-direction:column}.card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 20px 60px color-mix(in srgb,var(--shadow-ink) 16%,transparent)}.card-img{aspect-ratio:16/9;overflow:hidden;background:var(--brand)}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-spring)}.card:hover .card-img img{transform:scale(1.07)}.card-body{padding:clamp(1rem,2.5vw,1.5rem);flex:1;display:flex;flex-direction:column;gap:.5rem}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand);margin-bottom:.25rem}.card-icon svg{width:22px;height:22px}.card-tagline{font-family:var(--font-display);font-size:clamp(.75rem,1vw,.85rem);font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.06em}.card h3{font-size:clamp(1.1rem,1.8vw,1.35rem);margin:0}.card p{font-size:clamp(.88rem,1.1vw,.95rem);margin:0}.card-link{margin-top:auto;padding-top:clamp(.75rem,1.5vw,1rem);font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--brand);display:inline-flex;align-items:center;gap:.3em;transition:gap .3s ease}.card-link:hover{gap:.6em}.feature-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}.feature-section.reverse{direction:rtl}.feature-section.reverse>*{direction:ltr}@media(max-width:700px){.feature-section{grid-template-columns:1fr}.feature-section.reverse{direction:ltr}}.feature-img-wrap{border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow)}.feature-img-wrap img{width:100%;max-height:560px;object-fit:cover;transition:transform .9s var(--ease-spring)}.feature-img-wrap:hover img{transform:scale(1.04)}.feature-text{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}.feature-list{display:flex;flex-direction:column;gap:clamp(.6rem,1.5vw,.9rem)}.feature-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:var(--step-0);color:var(--ink);font-weight:600}.feature-list li svg{flex-shrink:0;width:22px;height:22px;color:var(--brand);margin-top:.1em}.badge-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(160px,22vw,220px),1fr));gap:clamp(1rem,2vw,1.5rem)}.badge-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(1.25rem,2.5vw,1.75rem);text-align:center;box-shadow:var(--shadow-s)}.badge-item .card-icon{margin-inline:auto}.badge-item h4{font-size:clamp(.95rem,1.3vw,1.1rem);margin-bottom:.35rem}.badge-item p{font-size:clamp(.8rem,1vw,.88rem)}.emergency-strip{background:linear-gradient(120deg,#0c0c0c,color-mix(in srgb,var(--brand-dark) 70%,black))}.emergency-strip-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(1.25rem,3vw,2rem);padding-block:clamp(1.5rem,3.5vw,2.25rem)}.emergency-strip-text{max-width:44ch}.emergency-strip-tag{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-display);font-weight:700;font-size:clamp(.78rem,1vw,.88rem);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.4rem}.emergency-strip-tag svg{width:16px;height:16px}.emergency-strip-text h2{color:#fff;font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:.35rem}.emergency-strip-text p{color:color-mix(in srgb,white 78%,transparent);margin:0}.emergency-strip-call{display:inline-flex;align-items:center;gap:.85rem;flex-shrink:0;background:var(--accent);color:var(--ink);padding:clamp(.9rem,2vw,1.15rem) clamp(1.5rem,3vw,2rem);border-radius:999px;box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 45%,transparent);transition:transform .45s var(--ease-spring),box-shadow .45s var(--ease-spring)}.emergency-strip-call:hover{transform:translateY(-2px) scale(1.02)}.emergency-strip-call svg{width:30px;height:30px;flex-shrink:0}.emergency-strip-call small{display:block;font-family:var(--font-display);font-size:clamp(.72rem,1vw,.8rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.75}.emergency-strip-call span{font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.55rem);font-weight:800;line-height:1.15}.cta-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(1.25rem,3vw,2rem);background:var(--brand);background-image:linear-gradient(120deg,var(--brand) 0%,var(--brand-dark) 100%);border-radius:var(--radius-l);padding:clamp(1.75rem,4vw,3rem);color:#fff}.cta-banner h2,.cta-banner p{color:#fff}.cta-banner p{color:color-mix(in srgb,white 85%,transparent);margin-top:.4rem}.cta-banner-actions{display:flex;gap:1rem;flex-wrap:wrap}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.75rem,1.5vw,1rem)}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group.wide{grid-column:1 / -1}.form-group label{font-family:var(--font-display);font-size:clamp(.82rem,1vw,.9rem);font-weight:700;color:var(--ink)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:clamp(.65rem,1.2vw,.85rem) clamp(.8rem,1.5vw,1rem);border:1.5px solid var(--line);border-radius:var(--radius);font-size:clamp(.9rem,1vw,1rem);color:var(--ink);background:var(--surface);transition:border-color .12s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 12%,transparent)}.form-group textarea{resize:vertical;min-height:120px}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-s);padding:clamp(1.5rem,3vw,2.5rem)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(190px,24vw,260px),1fr));gap:clamp(.75rem,1.5vw,1.1rem)}.gallery-item{border-radius:var(--radius);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--shadow-s)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-spring)}.gallery-item:hover img{transform:scale(1.06)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s var(--ease-spring),transform .7s var(--ease-spring)}.reveal.visible{opacity:1;transform:translateY(0)}.card.reveal{transition:opacity .7s var(--ease-spring),transform .7s var(--ease-spring),box-shadow .7s var(--ease-spring)}.feature-section.reveal{opacity:1;transform:none;transition:none}.feature-section .feature-text{opacity:0;transform:translate(-55px);transition:opacity .75s var(--ease-spring),transform .75s var(--ease-spring)}.feature-section .feature-img-wrap{opacity:0;transform:translate(55px);transition:opacity .75s var(--ease-spring) .16s,transform .75s var(--ease-spring) .16s}.feature-section.reverse .feature-text{transform:translate(55px)}.feature-section.reverse .feature-img-wrap{transform:translate(-55px)}.feature-section.visible .feature-text,.feature-section.visible .feature-img-wrap{opacity:1;transform:translate(0)}@media(max-width:700px){.feature-section .feature-text,.feature-section .feature-img-wrap,.feature-section.reverse .feature-text,.feature-section.reverse .feature-img-wrap{transform:translateY(30px)}}.text-center{text-align:center}.mt-1{margin-top:var(--space-2xs)}.mt-2{margin-top:var(--space-s)}.mt-3{margin-top:var(--space-m)}.mb-0{margin-bottom:0}.not-found{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-s);padding-block:var(--space-3xl)}.not-found .kicker{font-family:var(--font-display);font-weight:800;font-size:var(--step-5);color:var(--brand);margin:0}
