:root{--ink:#1e2527;--muted:#687174;--paper:#fff;--soft:#f2f3f1;--line:#dfe2df;--accent:#c84634;--accent-dark:#9e3123;--dark:#141a1b;--shell:min(1180px,calc(100% - 40px));--shadow:0 18px 50px rgba(22,29,31,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Segoe UI",Aptos,Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.18em}button{font:inherit}.shell{width:var(--shell);margin-inline:auto}.narrow{max-width:850px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:12px;z-index:9999;padding:10px 14px;background:#fff;color:#111;transform:translateY(-150%);box-shadow:var(--shadow)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(20,26,27,.09);backdrop-filter:blur(14px)}.header-inner{width:min(1420px,calc(100% - 36px));min-height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;flex:0 1 310px}.brand-logo{width:310px;max-height:76px;object-fit:contain;object-position:left center}.menu-toggle{display:none;width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}.menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:22px;height:2px;background:var(--ink);margin:auto;content:"";transition:.2s}.menu-lines::before{transform:translateY(-7px)}.menu-lines::after{transform:translateY(5px)}.nav-list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.nav-list>li>a,.nav-group-label>a{display:block;padding:32px 13px 29px;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;font-size:14px;white-space:nowrap;border-bottom:3px solid transparent}.nav-list a:hover,.nav-list a:focus-visible,.nav-list a.is-active,.nav-group.is-active>.nav-group-label>a,.nav-group-label>a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}.nav-group{position:relative}.nav-group-label{display:flex;align-items:center}.submenu-toggle{width:28px;height:44px;border:0;background:transparent;cursor:pointer;margin-left:-8px;padding:0}.submenu-toggle span{display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);margin:auto}.submenu{position:absolute;left:0;top:calc(100% - 3px);min-width:275px;margin:0;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}.submenu li a{display:block;padding:10px 12px;border-radius:5px;text-decoration:none;font-size:15px}.submenu li a:hover,.submenu li a:focus-visible{background:var(--soft);color:var(--accent)}.nav-group:hover .submenu,.nav-group:focus-within .submenu,.nav-group.is-open .submenu{opacity:1;visibility:visible;transform:none}
.home-hero{position:relative;min-height:clamp(560px,68vh,760px);overflow:hidden;background:var(--dark);isolation:isolate}.hero-media,.hero-shade{position:absolute;inset:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(12,17,18,.87) 0%,rgba(12,17,18,.68) 40%,rgba(12,17,18,.22) 72%,rgba(12,17,18,.08) 100%)}.hero-inner{position:relative;z-index:2;min-height:inherit;display:flex;align-items:center}.hero-panel{width:min(700px,72%);padding:42px 46px;border-left:4px solid var(--accent);border-radius:0 14px 14px 0;background:rgba(15,20,21,.63);color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.25);backdrop-filter:blur(8px)}.hero-panel h1{max-width:650px;margin:.08em 0 .25em;font-size:clamp(44px,5.2vw,76px);line-height:1.03;font-weight:350;letter-spacing:-.035em}.hero-panel>p:not(.eyebrow){max-width:610px;margin:0 0 26px;color:rgba(255,255,255,.86);font-size:clamp(18px,2vw,24px);line-height:1.45}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.hero-panel .eyebrow{color:#ff7864}.button-row{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 19px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#fff;text-decoration:none;font-weight:650;line-height:1.2;transition:.18s}.button:hover,.button:focus-visible{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-1px)}.button-secondary{background:transparent;color:var(--accent)}.hero-panel .button-secondary{color:#fff;border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.04)}.hero-panel .button-secondary:hover{background:#fff;color:var(--ink);border-color:#fff}.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-strip .shell{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:22px}.trust-strip span{text-align:center;color:var(--muted);font-size:15px}.trust-strip strong{color:var(--ink)}
.section{padding-block:clamp(70px,8vw,112px)}.section-muted{background:var(--soft)}.section-heading{max-width:820px;margin-bottom:40px}.section-heading h2,.cta-band h2{margin:.05em 0 .25em;font-size:clamp(34px,4.4vw,55px);line-height:1.12;font-weight:350;letter-spacing:-.025em}.section-heading>p:last-child{margin:0;color:var(--muted);font-size:19px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.feature-card{padding:40px;border-top:4px solid var(--accent);border-radius:8px;background:#fff;box-shadow:var(--shadow);border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-number{display:block;margin-bottom:22px;color:var(--accent);font-weight:800;letter-spacing:.1em}.feature-card h3,.service-overview h2{margin:0 0 14px;font-size:clamp(30px,3vw,42px);font-weight:350;letter-spacing:-.02em}.feature-card p{min-height:84px;color:var(--muted)}.split-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.split-section .section-heading{margin-bottom:25px}.split-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:var(--shadow)}.check-list{margin:0;padding:0;list-style:none}.check-list li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--line)}.check-list li::before{position:absolute;left:2px;top:14px;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);content:""}.check-list.compact li{padding-block:7px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-grid figure{margin:0;overflow:hidden;border-radius:7px;background:#fff;box-shadow:0 8px 30px rgba(20,26,27,.08)}.project-grid a{display:block;overflow:hidden}.project-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.project-grid a:hover img{transform:scale(1.025)}.project-grid figcaption{padding:14px 16px;color:var(--muted);font-size:14px}.centered-action{margin-top:34px;text-align:center}.cta-band{padding-block:55px;background:var(--dark);color:#fff}.cta-band .shell{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{margin:0}.cta-band .eyebrow{color:#ff7864}.cta-band .button{flex:0 0 auto}
.breadcrumbs{margin-bottom:40px}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:14px}.breadcrumbs li+li::before{content:"/";margin-right:8px;color:#a6adaf}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--accent)}.page-hero{padding-block:45px 70px;background:var(--soft);border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px}.page-hero-copy h1,.simple-hero h1{margin:.05em 0 .24em;font-size:clamp(44px,6vw,76px);line-height:1.04;font-weight:350;letter-spacing:-.035em}.page-hero-copy>p:last-child,.simple-hero .narrow>p:last-child{margin:0;color:var(--muted);font-size:20px}.page-hero-media{overflow:hidden;border-radius:8px;box-shadow:var(--shadow);background:#d9dcda}.page-hero-media img{width:100%;aspect-ratio:1.55;object-fit:cover}.simple-hero{padding-block:50px 78px;background:var(--soft);border-bottom:1px solid var(--line)}.simple-hero .breadcrumbs{margin-bottom:45px}.simple-hero .narrow{margin-inline:auto;text-align:center}.simple-hero .breadcrumbs ol{justify-content:center}.wide-image{height:clamp(320px,42vw,580px);overflow:hidden}.wide-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-overview article{padding:42px;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;box-shadow:var(--shadow)}.service-overview .check-list{margin:24px 0 30px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-grid article{padding-top:22px;border-top:3px solid var(--accent)}.process-grid strong{color:var(--accent)}.process-grid h3{margin:12px 0 6px;font-size:22px}.process-grid p{margin:0;color:var(--muted);font-size:15px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 36px rgba(20,26,27,.07)}.card-media{overflow:hidden;background:#d9dcda}.card-media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .35s}.service-card:hover .card-media img{transform:scale(1.025)}.service-card-body{padding:26px}.service-card h3{margin:0 0 10px;font-size:25px;font-weight:450}.service-card p{margin:0 0 18px;color:var(--muted);font-size:15px}.text-link{color:var(--accent);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.detail-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:80px;align-items:start}.detail-copy h2{margin:.05em 0 .45em;font-size:clamp(34px,4vw,50px);font-weight:350}.detail-copy p{color:var(--muted);font-size:18px}.facts-card{padding:32px;border-top:4px solid var(--accent);border-radius:7px;background:var(--soft)}.facts-card h2{margin:0 0 18px;font-size:24px}.facts-card ul{margin:0;padding:0;list-style:none}.facts-card li{padding:11px 0;border-bottom:1px solid #d6d9d6}.facts-card li:last-child{border-bottom:0}.person-card{display:flex;align-items:center;gap:22px;padding:26px;background:var(--soft);border-radius:8px}.person-card img{width:160px;height:160px;border-radius:50%;object-fit:cover;image-rendering:auto}.person-card h2{margin:0;font-size:24px}.person-card p{margin:2px 0 12px;color:var(--muted)}blockquote{margin:36px 0 0;padding:22px 28px;border-left:4px solid var(--accent);background:var(--soft);font-size:22px;font-weight:350}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value-grid article{padding:30px;background:#fff;border-radius:7px}.value-grid h3{margin:0 0 8px;font-size:26px}.value-grid p{margin:0;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-card{padding:42px;border-top:4px solid var(--accent);border-radius:8px;background:var(--soft)}.contact-card h2{margin:.1em 0 .5em;font-size:34px;font-weight:350}.contact-card address{font-style:normal}.contact-card a{color:var(--accent)}.contact-card .button{color:#fff}.contact-card .button-secondary{color:var(--accent)}.contact-note{padding:28px 0}.contact-note h2{font-size:36px;font-weight:350}.contact-note>p:last-child{margin-top:28px;color:var(--muted)}.legal-copy{max-width:850px}.legal-copy h2{margin:2em 0 .4em;font-size:26px}.legal-copy h2:first-child{margin-top:0}.legal-copy p{color:#4e575a}
.site-footer{padding-top:65px;background:#edf0ed;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:70px;padding-bottom:50px}.footer-grid h2{margin:0 0 14px;font-size:16px;text-transform:uppercase;letter-spacing:.1em}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:var(--accent)}.footer-brand strong{font-size:22px;line-height:1.3}.footer-brand p{max-width:420px;color:var(--muted)}.footer-grid address{font-style:normal}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid #d5d9d5;color:var(--muted);font-size:13px}.footer-bottom span:last-child{display:flex;gap:20px}
:focus-visible{outline:3px solid rgba(200,70,52,.45);outline-offset:3px}
@media (max-width:1120px){.header-inner{width:calc(100% - 28px)}.brand{flex-basis:255px}.brand-logo{width:255px}.nav-list>li>a,.nav-group-label>a{padding-inline:9px;font-size:13px}.page-hero-grid{gap:40px}}
@media (max-width:960px){html{scroll-padding-top:84px}.header-inner{min-height:78px}.brand{flex-basis:240px}.brand-logo{width:240px;max-height:64px}.menu-toggle{display:block}.site-nav{position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 78px);overflow:auto;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 30px rgba(20,26,27,.12);display:none}.site-header.nav-open .site-nav{display:block}.nav-list{display:block;padding:12px 20px 24px}.nav-list>li{border-bottom:1px solid var(--line)}.nav-list>li>a,.nav-group-label>a{padding:15px 6px;border-bottom:0;font-size:15px}.nav-list a:hover,.nav-list a:focus-visible,.nav-list a.is-active,.nav-group.is-active>.nav-group-label>a,.nav-group-label>a[aria-current="page"]{border-bottom-color:transparent}.nav-group-label{justify-content:space-between}.submenu-toggle{width:46px;margin-left:0}.submenu{position:static;min-width:0;padding:0 0 12px 18px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}.nav-group.is-open .submenu{display:block}.nav-group:hover .submenu:not(.force-closed){display:none}.nav-group.is-open:hover .submenu{display:block}.hero-panel{width:min(720px,88%)}.feature-grid,.split-section,.service-overview,.page-hero-grid,.detail-grid,.contact-grid{grid-template-columns:1fr}.page-hero-grid{gap:35px}.page-hero-copy{max-width:760px}.page-hero-media{max-width:760px}.split-section{gap:40px}.card-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{gap:42px}.facts-card{max-width:620px}.contact-grid{gap:35px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}}
@media (max-width:680px){:root{--shell:calc(100% - 28px)}body{font-size:16px}.header-inner{width:calc(100% - 22px)}.brand{flex-basis:210px}.brand-logo{width:210px}.home-hero{min-height:620px}.hero-shade{background:linear-gradient(90deg,rgba(12,17,18,.82),rgba(12,17,18,.45))}.hero-inner{align-items:flex-end;padding-bottom:34px}.hero-panel{width:100%;padding:28px 24px;background:rgba(15,20,21,.72);border-radius:0 10px 10px 0}.hero-panel h1{font-size:clamp(39px,12vw,56px)}.hero-panel>p:not(.eyebrow){font-size:18px}.button-row .button{width:100%}.trust-strip .shell{grid-template-columns:1fr;gap:8px;padding-block:16px}.section{padding-block:64px}.section-heading>p:last-child{font-size:17px}.feature-grid,.card-grid,.project-grid,.process-grid,.value-grid{grid-template-columns:1fr}.feature-card{padding:28px}.feature-card p{min-height:0}.split-section{gap:32px}.cta-band .shell{align-items:flex-start;flex-direction:column}.cta-band .button{width:100%}.page-hero{padding-block:28px 48px}.page-hero .breadcrumbs{margin-bottom:28px}.page-hero-copy h1,.simple-hero h1{font-size:clamp(40px,12vw,58px)}.page-hero-copy>p:last-child,.simple-hero .narrow>p:last-child{font-size:18px}.page-hero-media img{aspect-ratio:4/3}.simple-hero{padding-block:34px 58px}.simple-hero .breadcrumbs{margin-bottom:30px}.service-overview article{padding:28px}.wide-image{height:300px}.detail-copy p{font-size:17px}.person-card{align-items:flex-start;flex-direction:column}.contact-card{padding:28px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{align-items:flex-start;flex-direction:column}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
