@import "https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";:root{--color-ink:#1c1b1a;--color-ink-soft:#55524f;--color-bg:#fafafa;--color-surface:#fff;--color-neutral:#f0f0f0;--color-border:#e4e2df;--color-accent:#d42a1f;--color-accent-hover:#b21d13;--color-on-accent:#fff;--font-display:"Sora", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--space-7:64px;--space-8:96px;--space-9:128px;--radius-sm:8px;--radius-lg:16px;--shadow-1:0 1px 2px #1c1b1a0a, 0 8px 24px #1c1b1a0f;--shadow-2:0 2px 6px #1c1b1a14, 0 18px 42px #1c1b1a1f;--container:1200px;--gutter:clamp(20px, 5vw, 24px);--nav-height:72px;--transition:.2s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:18px;line-height:1.65}@media (width<=600px){body{font-size:16px}}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);margin:0;font-weight:600;line-height:1.14}h1{letter-spacing:-.02em;font-size:clamp(2.8rem,5vw,4.2rem)}h2{letter-spacing:-.015em;font-size:clamp(2rem,3.5vw,2.8rem)}h3{letter-spacing:-.01em;font-size:1.4rem}p{margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin:0 auto}.section{padding-block:var(--space-8);scroll-margin-top:var(--nav-height)}.section--neutral{background:var(--color-neutral)}@media (width<=900px){.section{padding-block:var(--space-7)}}@media (width<=600px){.section{padding-block:var(--space-6)}}.measure{max-width:65ch}.eyebrow{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin:0 0 var(--space-3);font-size:.8rem;font-weight:600;display:inline-block}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-body);letter-spacing:.01em;text-align:center;transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);border:1px solid #0000;padding:14px 26px;font-size:1rem;font-weight:600;line-height:1;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-1)}.btn--primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-2)}.btn--secondary{background:var(--color-ink);color:#fff}.btn--secondary:hover{box-shadow:var(--shadow-2);background:#000}.btn--outline{color:var(--color-ink);border-color:var(--color-border);background:0 0}.btn--outline:hover{border-color:var(--color-ink);box-shadow:var(--shadow-1)}.btn--outline.btn--on-dark{color:#fff;border-color:#ffffff80}.btn--outline.btn--on-dark:hover{background:#ffffff1a;border-color:#fff}.navbar{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);background:#fafafae6;border-bottom:1px solid #0000;position:sticky;top:0}.navbar--scrolled{border-bottom-color:var(--color-border);background:#fafafaf2;box-shadow:0 1px 12px #1c1b1a0d}.navbar__inner{height:var(--nav-height);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.navbar__brand{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);white-space:nowrap;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:inline-flex}.navbar__mark{background:var(--color-accent);border-radius:3px;width:12px;height:12px}.navbar__links{align-items:center;gap:var(--space-5);margin-left:auto;display:flex}.navbar__link{color:var(--color-ink-soft);transition:color var(--transition);font-size:.98rem;font-weight:500}.navbar__link:hover{color:var(--color-ink)}.navbar__cta{flex-shrink:0}.navbar__cta .btn{padding:11px 20px}.navbar__toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:0 0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.navbar__burger,.navbar__burger:before,.navbar__burger:after{content:"";background:var(--color-ink);width:18px;height:2px;transition:transform var(--transition), opacity var(--transition);border-radius:2px;display:block}.navbar__burger:before{transform:translateY(-6px)}.navbar__burger:after{transform:translateY(4px)}.navbar__burger.is-open{background:0 0}.navbar__burger.is-open:before{transform:translateY(1px)rotate(45deg)}.navbar__burger.is-open:after{transform:translateY(-1px)rotate(-45deg)}.navbar__panel{display:none}@media (width<=860px){.navbar__links,.navbar__cta{display:none}.navbar__toggle{display:inline-flex}.navbar__panel{gap:var(--space-4);padding:var(--space-4) var(--gutter) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-1);opacity:0;pointer-events:none;flex-direction:column;max-height:0;transition:max-height .26s,opacity .2s;display:flex;overflow:hidden}.navbar__panel.is-open{opacity:1;pointer-events:auto;max-height:80vh}.navbar__panel-links{flex-direction:column;display:flex}.navbar__panel-link{padding:var(--space-3) 0;font-family:var(--font-display);border-bottom:1px solid var(--color-border);font-size:1.2rem;font-weight:500}.navbar__panel .btn{width:100%;margin-top:var(--space-2)}}.hero{align-items:center;min-height:90vh;display:flex;position:relative;overflow:hidden}.hero__media{z-index:0;position:absolute;inset:0}.hero__media img{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(100deg,#121110e6 0%,#121110bd 42%,#1211106b 100%),linear-gradient(#12111000 60%,#12111073 100%);position:absolute;inset:0}.hero__inner{z-index:1;padding-block:var(--space-9);position:relative}.hero__content{color:#fff;max-width:640px}.hero__eyebrow{color:#fff;opacity:.85}.hero__heading{color:#fff}.hero__subheading{margin-top:var(--space-4);color:#ffffffe6;max-width:46ch;font-size:1.18rem;line-height:1.62}.hero__actions{margin-top:var(--space-6);gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__trust{margin-top:var(--space-5);color:#ffffffc7;padding-top:var(--space-4);border-top:1px solid #fff3;max-width:46ch;font-size:.95rem}@media (width<=600px){.hero{min-height:88vh}.hero__inner{padding-block:var(--space-8)}.hero__actions .btn{flex:auto}}.section-heading{flex-direction:column;display:flex}.section-heading__intro{margin-top:var(--space-4);color:var(--color-ink-soft);font-size:1.05rem}.section-heading--center{text-align:center;align-items:center}.section-heading--center .section-heading__intro{margin-inline:auto}.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);transition:transform var(--transition), box-shadow var(--transition);flex-direction:column;display:flex;overflow:hidden}.service-card:hover{box-shadow:var(--shadow-2);transform:translateY(-4px)}.service-card__media{aspect-ratio:4/3;overflow:hidden}.service-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.service-card:hover .service-card__media img{transform:scale(1.05)}.service-card__body{padding:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.service-card__body p{color:var(--color-ink-soft);font-size:1rem}.services__grid{margin-top:var(--space-7);gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.services__grid>.reveal{display:flex}.services__grid>.reveal>*{width:100%}@media (width<=900px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.services__grid{gap:var(--space-4);grid-template-columns:1fr}}.about__grid{grid-template-columns:5fr 6fr;align-items:center;gap:clamp(32px,6vw,72px);display:grid}.about__media{border-radius:var(--radius-lg);box-shadow:var(--shadow-1);aspect-ratio:4/5;overflow:hidden}.about__media img{object-fit:cover;width:100%;height:100%}.about__text h2{margin-top:var(--space-2)}.about__para{margin-top:var(--space-4);color:var(--color-ink-soft)}@media (width<=860px){.about__grid{grid-template-columns:1fr}.about__media{aspect-ratio:16/10}}.why__list{margin:var(--space-7) auto 0;gap:var(--space-7) var(--space-6);grid-template-columns:repeat(2,1fr);max-width:820px;display:grid}.why__item{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.why__badge{border:1.5px solid var(--color-border);width:88px;height:88px;font-family:var(--font-display);letter-spacing:.02em;color:var(--color-accent);background:var(--color-surface);box-shadow:var(--shadow-1);transition:transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:600;display:grid}.why__item:hover .why__badge{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-2);transform:translateY(-4px)}.why__title{font-size:1.15rem}.why__body{max-width:34ch;color:var(--color-ink-soft);font-size:1rem}@media (width<=560px){.why__list{gap:var(--space-6);grid-template-columns:1fr;max-width:360px}}.testimonials__grid{margin-top:var(--space-7);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.testimonial{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-1);gap:var(--space-4);flex-direction:column;margin:0;display:flex}.testimonial__quote{color:var(--color-ink);margin:0;font-size:1.1rem;line-height:1.6}.testimonial__by{flex-direction:column;gap:2px;display:flex}.testimonial__name{font-family:var(--font-display);font-weight:600}.testimonial__detail{color:var(--color-ink-soft);font-size:.9rem}.contact__grid{margin-top:var(--space-7);grid-template-columns:4fr 5fr;align-items:start;gap:clamp(32px,6vw,64px);display:grid}.contact__list{flex-direction:column;display:flex}.contact__list li{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);flex-direction:column;gap:2px;display:flex}.contact__list li:first-child{padding-top:0}.contact__label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.78rem}.contact__value{font-size:1.1rem;font-weight:500}.contact__link{color:var(--color-accent);transition:color var(--transition)}.contact__link:hover{color:var(--color-accent-hover)}.contact__actions{margin-top:var(--space-5);gap:var(--space-2);flex-wrap:wrap;display:flex}.contact__form{gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);grid-template-columns:1fr 1fr;padding:clamp(20px,4vw,36px);display:grid}.field{gap:var(--space-2);flex-direction:column;display:flex}.field--full{grid-column:1/-1}.field label{color:var(--color-ink);font-size:.9rem;font-weight:600}.field input,.field select,.field textarea{font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);padding:12px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #d42a1f24}.contact__submit{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.contact__submit .btn{width:auto}.contact__ok{color:var(--color-ink-soft);font-size:.95rem}@media (width<=860px){.contact__grid{grid-template-columns:1fr}}@media (width<=520px){.contact__form{grid-template-columns:1fr}}.faq__wrap{max-width:820px}.faq__list{margin-top:var(--space-6);border-top:1px solid var(--color-border)}.faq__item{border-bottom:1px solid var(--color-border)}.faq__question{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) 0;text-align:left;font-family:var(--font-display);color:var(--color-ink);background:0 0;border:0;font-size:1.1rem;font-weight:600;display:flex}.faq__icon{flex-shrink:0;width:16px;height:16px;position:relative}.faq__icon:before,.faq__icon:after{content:"";background:var(--color-accent);transition:transform var(--transition), opacity var(--transition);position:absolute}.faq__icon:before{width:16px;height:2px;top:7px;left:0}.faq__icon:after{width:2px;height:16px;top:0;left:7px}.faq__item.is-open .faq__icon:after{opacity:0;transform:rotate(90deg)}.faq__answer{padding:0 0 var(--space-4);max-width:65ch}.faq__answer p{color:var(--color-ink-soft);font-size:1rem}.footer{background:var(--color-ink);color:#ffffffb8;padding-top:var(--space-8)}.footer__inner{gap:var(--space-6);padding-bottom:var(--space-7);grid-template-columns:2fr 1fr 1fr 1.4fr;display:grid}.footer__wordmark{font-family:var(--font-display);color:#fff;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;display:inline-flex}.footer__mark{background:var(--color-accent);border-radius:3px;width:12px;height:12px}.footer__blurb{margin-top:var(--space-3);max-width:34ch;font-size:.95rem;line-height:1.6}.footer__col{gap:var(--space-2);flex-direction:column;display:flex}.footer__heading{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:#ffffff80;margin-bottom:var(--space-1);font-size:.8rem}.footer__link{color:#ffffffc7;transition:color var(--transition);font-size:.98rem}.footer__link:hover{color:#fff}.footer__muted{color:#ffffff8c;font-size:.95rem}.footer__bottom{justify-content:space-between;gap:var(--space-2);padding-block:var(--space-4);color:#ffffff80;border-top:1px solid #ffffff1f;flex-wrap:wrap;font-size:.85rem;display:flex}@media (width<=860px){.footer__inner{gap:var(--space-5);grid-template-columns:1fr 1fr}}@media (width<=520px){.footer__inner{grid-template-columns:1fr}}
