:root{--navy: #1c2128;--footer: #14181d;--red: #6d655c;--red-dark: #3e4650;--on-dark: #d4cfc6;--text: #5a5f66;--beige: #f3f2f0;--line: #e3e1dc;--white: #ffffff;--container: 1140px;--header-h: 92px;--font: "Open Sans", "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--footer)}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--white);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.75}.site-footer{margin-top:auto}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font);color:var(--navy);font-weight:600;line-height:1.2;margin:0 0 .45em}p{margin:0 0 1em}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.rule{display:block;width:46px;height:3px;margin:0 0 18px;background:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;border:2px solid var(--navy);border-radius:40px;background:var(--navy);color:#fff;font-family:var(--font);font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.btn:hover{background:#2c333c;border-color:#2c333c;color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px #1c212829}.btn-ghost{background:transparent;border-color:#fff;color:#fff}.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}.btn-light{background:#fff;border-color:#fff;color:var(--navy)}.btn-light:hover{background:var(--navy);border-color:var(--navy);color:#fff}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:600;font-size:15px}.text-link:after{content:"→";transition:transform .25s ease}.text-link:hover:after{transform:translate(5px)}.text-link:hover{color:var(--red-dark)}.site-header{position:sticky;top:0;z-index:40;height:var(--header-h);background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .3s ease}.site-header.is-scrolled{box-shadow:0 10px 28px #14181d14}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{height:34px;width:auto;transition:transform .35s ease}.logo:hover img{transform:scale(1.04)}.header-tools{display:flex;align-items:center;gap:22px}.header-phone{color:var(--navy);font-size:14px;font-weight:600;white-space:nowrap}.header-phone:hover{color:#000}.nav-toggle{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{display:block;width:22px;height:2px;margin:0 auto;background:var(--navy);position:relative;transition:transform .25s ease,top .25s ease,background .2s ease}.nav-toggle[aria-expanded=true] span{background:transparent}.nav-toggle[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0}.nav-toggle span:before{top:-7px}.nav-toggle span:after{top:7px}.site-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.site-nav a{display:block;position:relative;padding:10px 11px;color:var(--navy);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:11px;right:11px;bottom:6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}.site-nav a:not(.nav-cta):hover:after,.site-nav a:not(.nav-cta)[aria-current=page]:after{transform:scaleX(1)}.site-nav a:hover,.site-nav a[aria-current=page]{color:#000}.nav-cta-item{margin-left:8px}.site-nav a.nav-cta{display:inline-flex;padding:14px 28px;color:#fff;font-size:14px;text-transform:none}.site-nav a.nav-cta:hover,.site-nav a.nav-cta[aria-current=page]{color:#fff;text-decoration:none}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:680px;display:flex;align-items:center;background:#101624;color:#fff}.hero:before{content:"";position:absolute;inset:-6% -2% -6% -10%;z-index:0;background:url(/images/hero.jpg) right center / cover no-repeat;transform-origin:right center;animation:hero-drift 22s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#101624d6,#10162480 34%,#10162414 58%,#10162400 74%)}.hero .container{position:relative;z-index:2}.hero-copy{max-width:620px;padding:80px 0}.hero h1{margin:0 0 18px;color:#fff;font-size:64px;font-weight:600;line-height:1.05}.hero .rule{margin-bottom:22px}.hero p{max-width:500px;margin-bottom:32px;color:#ffffffeb;font-size:18px;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.intro{padding:100px 0 80px;background:#fbf8f6}.intro-grid,.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px 64px;align-items:start}.intro h2,.section-heading,.qualifications h2,.contact-form-wrap h2{font-size:40px}.lead{font-size:18px;color:var(--navy)}.services{padding:90px 0 100px;background:var(--beige)}.section-heading{margin-bottom:42px}.service-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;align-items:stretch}.service-card{grid-column:span 2;display:flex;flex-direction:column;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 12px 30px #1821320d;transition:transform .4s ease,box-shadow .4s ease}.service-card:nth-child(4){grid-column:2 / span 2}.service-card:nth-child(5){grid-column:4 / span 2}.service-card:hover{box-shadow:0 22px 44px #1821321f}.service-card img{width:100%;height:210px;object-fit:cover;transition:transform .7s ease}.service-card:hover img{transform:scale(1.06)}.service-card div{display:flex;flex-direction:column;flex:1;padding:26px 26px 30px}.service-card h3{font-size:22px;margin-bottom:10px}.service-card p{margin-bottom:16px;flex:1}.service-card .text-link{margin-top:auto}.band{background:var(--navy);color:#fff}.band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:54px 0}.band h2{margin:0;color:#fff;font-size:32px;max-width:640px}.band-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.band-phone{color:#fff;font-size:18px;font-weight:600;white-space:nowrap}.band-phone:hover{color:var(--on-dark)}.page-hero{background:var(--navy);padding:72px 0 60px}.page-hero h1{margin:0;color:#fff;font-size:48px;font-weight:600}.about-split{padding:90px 0}.about-grid img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:8px}.qualifications{background:var(--beige);padding:90px 0 100px}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin-top:10px}.services-page{background:var(--beige);padding:70px 0 90px}.service-row{scroll-margin-top:calc(var(--header-h) + 20px);display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;margin:0 auto 28px;width:min(var(--container),calc(100% - 48px));background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 12px 30px #1821320d}.service-row img{width:100%;height:100%;min-height:280px;object-fit:cover;transition:transform .8s ease}.service-row:hover img{transform:scale(1.05)}.service-copy{padding:42px 46px}.service-copy h2{font-size:30px}.service-copy ul{margin:0;padding:0;list-style:none}.service-copy li{position:relative;margin:0 0 .7em;padding-left:18px}.service-copy li:before{content:"";position:absolute;left:0;top:.65em;width:7px;height:2px;background:var(--red)}.members-intro{width:min(760px,calc(100% - 48px));margin:0 auto;padding:80px 0 10px;text-align:left}.members-intro .rule{margin-inline:0}.member-grid{width:min(var(--container),calc(100% - 48px));margin:28px auto 90px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.member-grid a{display:block;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 10px 28px #1821320f;transition:transform .35s ease,box-shadow .35s ease}.member-grid a:hover{transform:translateY(-6px);box-shadow:0 18px 36px #1821321f}.member-grid img{width:100%;transition:transform .6s ease}.member-grid a:hover img{transform:scale(1.04)}.contact-page{background:var(--beige);padding:70px 0 90px}.contact-layout{width:min(var(--container),calc(100% - 48px));margin:0 auto 28px;display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch}.contact-card,.contact-form-wrap,.map{background:#fff;border-radius:8px;box-shadow:0 12px 30px #1821320d}.contact-card{padding:36px 34px}.contact-item{margin-bottom:26px;padding-left:74px;background-repeat:no-repeat;background-position:left top;background-size:54px}.contact-item:last-child{margin-bottom:0}.contact-item h2{font-size:18px;color:var(--navy);margin-bottom:4px}.contact-item p{margin:0}.contact-item a:hover{color:var(--navy)}.map{overflow:hidden;min-height:100%}.map iframe{width:100%;height:100%;min-height:420px;border:0}.contact-form-wrap{width:min(var(--container),calc(100% - 48px));margin:0 auto;padding:42px 40px 36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1 / -1}input,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);font:inherit;padding:14px 16px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px #6d655c29}textarea{min-height:150px;resize:vertical}.form-note{display:none;margin:16px 0 0;color:var(--red-dark);font-weight:600}.form-note.is-visible{display:block}.site-footer{background:radial-gradient(900px 280px at 100% 0%,rgba(255,255,255,.05),transparent 60%),var(--footer);color:#ffffffc7}.footer-main{display:grid;grid-template-columns:1.35fr .7fr 1.05fr;gap:48px 40px;align-items:start;padding:72px 0 56px}.footer-logo{height:42px;width:auto;margin-bottom:22px}.footer-lead{max-width:400px;margin:0 0 26px;color:#ffffffd1;font-size:16px;line-height:1.75}.footer-cta{background:transparent;border-color:#ffffff73;color:#fff}.footer-cta:hover{background:#fff;border-color:#fff;color:var(--navy)}.site-footer h2{margin:0 0 18px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.site-footer h2:before{content:"";display:block;width:28px;height:2px;margin-bottom:14px;background:var(--red)}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:0;border-top:1px solid rgba(255,255,255,.08)}.site-footer li:last-child{border-bottom:1px solid rgba(255,255,255,.08)}.site-footer li a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;transition:color .2s ease,padding .25s ease}.site-footer li a:after{content:"→";opacity:0;transform:translate(-6px);transition:opacity .2s ease,transform .25s ease}.site-footer a:hover{color:#fff}.site-footer li a:hover{padding-left:6px}.site-footer li a:hover:after{opacity:1;transform:none}.footer-contact{padding:28px 28px 22px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px}.footer-contact address{display:flex;flex-direction:column;margin:0 0 18px;font-style:normal;line-height:1.65}.footer-mail{display:inline-block;margin-bottom:22px;color:#fff;font-weight:600;word-break:break-word}.footer-phones{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.footer-phones a{display:flex;flex-direction:column;gap:2px;color:#fff;font-weight:600}.footer-phones span{color:#ffffff80;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.footer-bottom{display:flex;justify-content:space-between;gap:16px 32px;padding:18px 0 28px;border-top:1px solid rgba(255,255,255,.08);font-size:14px}.footer-bottom p{margin:0}.footer-bottom a{color:var(--on-dark)}.prose{padding:80px 0;text-align:center}@media(max-width:980px){.intro-grid,.about-grid,.split,.service-row,.contact-layout,.footer-main,.service-cards{grid-template-columns:1fr 1fr}.service-card,.service-card:nth-child(4),.service-card:nth-child(5){grid-column:auto}.service-card:last-child{grid-column:1 / -1;width:calc(50% - 14px);justify-self:center}.intro-grid,.about-grid,.split,.contact-layout,.footer-main,.service-row,.band-inner,.form-grid{grid-template-columns:1fr}.service-row.reverse .service-copy{order:2}.band-inner{flex-direction:column;align-items:flex-start}.hero h1,.page-hero h1{font-size:42px}.member-grid{grid-template-columns:1fr 1fr}}@media(max-width:1080px){.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.header-phone{display:none}.nav-cta-item{margin:8px 22px 0}.site-nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:8px 0 18px}.site-nav.is-open{display:block}.site-nav ul{flex-direction:column;align-items:stretch}.site-nav li{opacity:0;transform:translateY(10px)}.site-nav.is-open li{animation:menu-in .45s cubic-bezier(.22,1,.36,1) both}.site-nav.is-open li:nth-child(1){animation-delay:.04s}.site-nav.is-open li:nth-child(2){animation-delay:.08s}.site-nav.is-open li:nth-child(3){animation-delay:.12s}.site-nav.is-open li:nth-child(4){animation-delay:.16s}.site-nav.is-open li:nth-child(5){animation-delay:.2s}.site-nav a:not(.nav-cta):after{right:auto;width:36px}}@media(max-width:760px){.hero{min-height:560px}.hero h1{font-size:38px}.service-cards,.member-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto;width:auto}.band-inner{align-items:flex-start}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-phones{grid-template-columns:1fr}}@keyframes hero-drift{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes rise{0%{opacity:0;transform:translate3d(0,64px,0)}to{opacity:1;transform:none}}@keyframes slide-left{0%{opacity:0;transform:translate3d(-72px,0,0)}to{opacity:1;transform:none}}@keyframes slide-right{0%{opacity:0;transform:translate3d(72px,0,0)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translate3d(0,48px,0) scale(.92)}to{opacity:1;transform:none}}@keyframes draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes menu-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.js .hero .reveal,.js .page-hero .reveal{animation:rise 1.05s cubic-bezier(.16,1,.3,1) both}.js .hero .reveal-rule,.js .page-hero .reveal-rule{animation-name:draw;transform-origin:left center}.js .hero-copy>:nth-child(1){animation-delay:.05s}.js .hero-copy>:nth-child(2){animation-delay:.28s}.js .hero-copy>:nth-child(3){animation-delay:.46s}.js .hero-copy>:nth-child(4){animation-delay:.64s}.js .page-hero .reveal-rule{animation-delay:.05s}.js .page-hero h1{animation-delay:.22s}.js .reveal:not(.is-in){opacity:0;transform:translate3d(0,64px,0)}.js .hero .reveal:not(.is-in),.js .page-hero .reveal:not(.is-in){opacity:1;transform:none}.js .reveal.is-in{animation:rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d, 0ms)}.js .reveal-left.is-in{animation-name:slide-left}.js .reveal-right.is-in{animation-name:slide-right}.js .reveal-pop.is-in{animation-name:pop-in}.js .reveal-rule{transform-origin:left center}.js .reveal-rule.is-in{animation-name:draw}.js .service-copy .reveal.is-in{animation-name:rise;animation-duration:.7s}.js .reveal.is-settled{animation:none;opacity:1;transform:none}.js .service-card.reveal.is-settled:hover,.js .member-grid a.reveal.is-settled:hover{transform:translateY(-8px)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.site-nav.is-open li,.js .hero .reveal,.js .page-hero .reveal,.js .reveal.is-in{animation:none}.js .reveal,.js .reveal-left,.js .reveal-right,.js .reveal-pop,.js .reveal-rule,.js .service-copy .reveal{opacity:1;transform:none}}
