:root{--ink:#111827;--muted:#64748b;--wine:#991f45;--wine-dark:#74142f;--paper:#f7f8fa;--line:#e5e7eb;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:#121722;color:#dbe3ef;font-size:.82rem}.topbar .wrap{min-height:40px;display:flex;align-items:center;justify-content:flex-end;gap:22px}.topbar a:hover{color:#fff}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(17,24,39,.08);backdrop-filter:blur(12px)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.logo{width:200px;height:auto}.menu{display:flex;align-items:center;gap:30px}.menu a{font-size:.92rem;font-weight:700;letter-spacing:.02em;position:relative}.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--wine);transition:.25s}.menu a:hover:after,.menu a.active:after{right:0}.quote-link{padding:11px 17px!important;color:#fff!important;background:var(--wine);border-radius:4px}.quote-link:after{display:none}.toggle{display:none;background:none;border:0;padding:8px;font-size:1.6rem}.hero{min-height:640px;display:grid;align-items:center;position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(9,15,27,.89),rgba(9,15,27,.42)),url('/assets/bcgtrok.png') center/cover}.hero:after{content:"";position:absolute;inset:auto -7% -42% auto;width:620px;height:620px;border:96px solid rgba(153,31,69,.75);border-radius:50%}.hero-copy{position:relative;z-index:1;max-width:760px;padding:90px 0}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:#f3a7bd}.eyebrow:before{content:"";width:44px;height:2px;background:currentColor}.hero h1,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.05;margin:.25em 0;font-size:clamp(3rem,7vw,6.3rem)}.hero p{max-width:580px;color:#e2e8f0;font-size:1.1rem}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:4px;font-weight:800;font-size:.88rem;letter-spacing:.04em}.btn.primary{background:var(--wine);color:#fff}.btn.primary:hover{background:var(--wine-dark)}.btn.ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn.ghost:hover{background:#fff;color:var(--ink)}section{padding:92px 0}.section-head{max-width:720px;margin-bottom:40px}.section-head h2,.split h2,.cta h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,4vw,4rem);font-weight:500;line-height:1.12;margin:.22em 0}.section-head p,.split p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card{min-height:460px;position:relative;overflow:hidden;color:#fff;border-radius:6px;display:flex;align-items:flex-end;background:#111}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:.45s}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,10,18,.92))}.service-card:hover img{transform:scale(1.04);opacity:.72}.service-copy{position:relative;z-index:1;padding:38px}.service-copy span{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#efb3c4;font-weight:800}.service-copy h3{font-family:Georgia,"Times New Roman",serif;font-size:2.35rem;margin:.15em 0}.service-copy p{color:#e2e8f0;max-width:520px}.service-copy a{font-weight:800;color:#fff}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.split-media{position:relative}.split-media img{width:100%;height:580px;object-fit:cover;border-radius:5px}.split-media:before{content:"";position:absolute;inset:-18px 42% 35% -18px;background:var(--wine);z-index:-1}.values{background:var(--paper)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.value{background:#fff;padding:42px}.value strong{font-family:Georgia,"Times New Roman",serif;font-size:3rem;color:#cbd5e1}.value h3{font-size:.82rem;letter-spacing:.15em;color:var(--wine);text-transform:uppercase}.page-hero{min-height:440px;display:grid;align-items:end;color:#fff;background:linear-gradient(90deg,rgba(10,16,28,.9),rgba(10,16,28,.35)),var(--hero) center/cover}.page-hero .wrap{padding-bottom:70px}.page-hero p{max-width:650px;font-size:1.1rem;color:#dbe3ef}.content-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.intro-stick{position:sticky;top:124px}.copy h3{font-family:Georgia,"Times New Roman",serif;font-size:2.25rem;line-height:1.2;margin:0 0 18px}.copy p{color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}.gallery img{height:260px;width:100%;object-fit:cover}.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.capability{padding:30px;border:1px solid var(--line);border-top:4px solid var(--wine);background:#fff}.capability h3{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;margin:0 0 12px}.capability ul{padding-left:20px;margin:0;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-card{padding:28px;border:1px solid var(--line);margin-bottom:14px}.contact-card small{display:block;text-transform:uppercase;color:var(--wine);font-weight:800;letter-spacing:.12em}.contact-card a{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem}.contact-form{background:var(--paper);padding:38px}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-size:.84rem;font-weight:800}.field input,.field textarea{width:100%;padding:14px 15px;border:1px solid #d7dce3;background:#fff;font:inherit}.field textarea{min-height:145px;resize:vertical}.cta{padding:70px 0;background:var(--wine);color:#fff}.cta .wrap{display:flex;justify-content:space-between;gap:30px;align-items:center}.cta h2{margin:0;max-width:740px}.footer{background:#0d121c;color:#cbd5e1;padding:68px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:60px}.footer .logo{filter:brightness(0) invert(1);opacity:.95}.footer h4{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.footer nav{display:grid;gap:8px}.footer-bottom{border-top:1px solid #293141;margin-top:50px;padding-top:20px;font-size:.8rem;color:#7f8a9c}@media(max-width:820px){.topbar{display:none}.nav{height:72px}.logo{width:170px}.toggle{display:block}.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:24px 20px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu.open{display:flex}.hero{min-height:600px}.hero:after{width:350px;height:350px;border-width:55px}.service-grid,.split,.content-grid,.contact-grid{grid-template-columns:1fr}.value-grid{grid-template-columns:1fr}.split-media{order:-1}.split-media img{height:400px}.intro-stick{position:static}.capability-grid{grid-template-columns:1fr}.cta .wrap{display:block}.cta .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr;gap:28px}}@media(max-width:520px){.wrap{width:min(100% - 28px,var(--max))}section{padding:68px 0}.hero-copy{padding:70px 0}.service-card{min-height:400px}.service-copy{padding:26px}.gallery{grid-template-columns:1fr}.page-hero{min-height:360px}.contact-form{padding:24px}}
/* Alignment with the original Elemec identity and accessible interaction states. */
:root{--wine:#811638;--wine-dark:#60102a;--ink:#252525;--muted:#575e64}
.hero h1,.page-hero h1,.section-head h2,.split h2,.cta h2,.service-copy h3,.copy h3,.capability h3{font-family:Arial,Helvetica,sans-serif;font-weight:750;letter-spacing:-.035em}
.hero{color:var(--ink);background:#fff url('/assets/bcgtrok.png') center right/cover no-repeat;min-height:580px}.hero:after{display:none}.hero-copy{max-width:610px}.hero h1{font-size:clamp(2.8rem,5.3vw,4.8rem)}.hero p{color:var(--muted);max-width:440px}.hero .eyebrow{color:var(--wine)}.hero .btn.ghost{border-color:var(--wine);color:var(--wine)}.eyebrow{color:var(--wine)}.page-hero .eyebrow{color:#ffbdcf}.page-hero h1{font-size:clamp(2.6rem,5.4vw,4.8rem);max-width:950px}.split-media img{height:auto;min-height:280px;object-fit:contain}.split-media:before{display:none}.section-head h2,.split h2,.cta h2{font-size:clamp(2rem,3.4vw,3rem)}.service-copy h3{font-size:2rem}.footer a:hover{text-decoration:underline}.skip-link{position:fixed;top:-80px;left:16px;padding:14px;background:#fff;color:#811638;z-index:100}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #cc5577;outline-offset:5px}.contact-form h2{margin-top:0;line-height:1.25}.contact-form>p{color:var(--muted)}.contact-form button{cursor:pointer;font:inherit;font-weight:700}.field input:focus,.field textarea:focus{border-color:var(--wine)}
@media(max-width:820px){.hero{background-size:auto 360px;background-position:right bottom;padding-bottom:260px}.hero-copy{padding:40px 0 20px;max-width:none}.hero h1{max-width:650px}.hero p{max-width:550px}.menu a{padding:8px 0}.service-copy h3{font-size:1.8rem}.contact-card a{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Elemec: architectural editorial direction */
:root{--ink:#202928;--wine:#851b3f;--wine-dark:#65112e;--muted:#626965;--paper:#f3f5f3;--max:1240px}
body{font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}.wrap{width:min(var(--max),calc(100% - 72px))}.topbar{background:#263b32;color:#e4ece7;font-size:11px;letter-spacing:.1em}.topbar .wrap{justify-content:flex-end;min-height:36px}.topbar span{margin-right:auto}.nav{height:94px}.menu{gap:25px}.menu a{font-size:13px;letter-spacing:0}.quote-link{border-radius:0;padding:12px 20px!important}.header{position:relative;background:#fff}.hero{background:#f3f5f3;color:var(--ink);padding:0;min-height:0;overflow:visible}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding-top:48px;padding-bottom:48px;align-items:center}.hero-copy{max-width:none;padding:16px 0}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;line-height:1.6}.eyebrow:before{width:24px}.hero h1{font-size:clamp(3.6rem,5.8vw,5.8rem);line-height:.99;letter-spacing:-.055em;margin:28px 0}.hero h1 em{color:var(--wine);font-style:normal}.hero p{font-size:17px;max-width:440px;line-height:1.8}.hero-visual{position:relative;height:545px}.hero-visual>img{height:100%;width:100%;object-fit:cover}.hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(12,24,20,.85))}.image-caption{position:absolute;bottom:28px;left:30px;right:20px;color:white;z-index:1}.image-caption span{font-size:10px;letter-spacing:.18em}.image-caption strong{display:block;font-size:23px;font-weight:500}.btn{border-radius:0;min-height:54px;padding:0 24px;font-size:13px;letter-spacing:.02em}.btn span{margin-left:25px;font-size:22px}.buttons{align-items:center;gap:24px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #b2b9b4;padding:7px 0}.discipline-strip{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid #d3dad5;font-size:11px;font-weight:700;letter-spacing:.13em;color:#53645a}section{padding:100px 0}.section-head{margin-bottom:45px;max-width:850px}.section-head h2,.split h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.13;letter-spacing:-.04em;margin:19px 0}.service-grid{gap:26px}.service-card{border-radius:0;min-height:480px}.service-card img{opacity:.9}.service-card:after{background:linear-gradient(transparent 15%,rgba(8,25,18,.93))}.service-copy{padding:36px}.service-copy h3{font-size:32px;letter-spacing:-.035em}.service-copy span{font-size:10px;color:#e4c6d0}.service-copy p{font-size:16px}.service-copy a{font-size:13px;border-bottom:1px solid #8da095;padding-bottom:7px}.split{gap:85px}.split-media img{height:510px;object-fit:cover;border-radius:0}.split p{font-size:17px}.value-grid{border:0;gap:32px;background:none}.value{padding:0 25px 0 0;background:none;border-top:1px solid #b8c5bc;padding-top:26px}.value strong{font-family:Arial,sans-serif;font-size:15px;color:var(--wine)}.value h3{font-size:13px;margin:25px 0 12px}.value p{font-size:16px;color:var(--muted)}.page-hero{min-height:420px;background:linear-gradient(90deg,rgba(18,40,29,.95),rgba(18,40,29,.35)),var(--hero) center/cover}.page-hero h1{font-size:clamp(3rem,5.8vw,5.1rem);max-width:900px;line-height:1.07}.page-hero .wrap{padding-bottom:0}.page-hero{align-items:center;padding:65px 0}.page-hero p{font-size:17px;max-width:540px}.capability-grid{gap:32px}.capability{padding:0;border:1px solid #dce2dd;border-top:0;overflow:hidden}.capability>img{width:100%;height:260px;object-fit:cover}.capability-body{padding:28px 32px 34px}.cap-number{float:right;color:var(--wine);font-size:13px}.capability h3{font-size:26px;padding-right:30px}.capability ul{list-style:none;padding:0}.capability li{border-bottom:1px solid #e8ece9;padding:8px 0;font-size:16px}.capability li:last-child{border:0}.copy h3{font-size:30px}.gallery img{height:320px}.cta{background:#263f32;padding:65px 0}.cta h2{font-size:clamp(2rem,3.5vw,3rem);letter-spacing:-.04em;max-width:740px}.footer{background:#16271e}.footer-grid{gap:50px}.footer p,.footer nav,.footer a{font-size:14px}.footer-bottom{display:flex;justify-content:space-between;color:#adbdb2;border-color:#3b4d41}.footer-bottom span{color:#d1ded6}.contact-form{background:#f1f4f1;padding:40px;border-top:4px solid var(--wine)}.contact-form h2{font-size:28px;letter-spacing:-.035em}.contact-card{padding:22px 0;border:0;border-bottom:1px solid #dce2dd}.contact-card a{font-family:Arial,sans-serif;font-size:25px}.contact-card small{font-size:11px}.field input,.field textarea{border-color:#ccd5ce}.intro-stick{top:35px}
@media(min-width:821px) and (max-width:1080px){.menu{gap:14px}.menu a{font-size:12px}.hero-layout{gap:30px}.hero h1{font-size:4rem}.hero-visual{height:500px}.buttons{gap:12px}.logo{width:170px}}
@media(max-width:820px){.wrap{width:calc(100% - 40px)}.nav{height:76px}.menu{top:76px;z-index:30}.menu a{font-size:16px}.hero{padding:0}.hero-layout{grid-template-columns:1fr;padding-top:25px;gap:25px}.hero h1{font-size:clamp(3.6rem,10vw,5rem)}.hero h1 br{display:none}.hero h1 br:after{content:' '}.hero h1{max-width:620px}.hero-visual{height:360px}.hero-copy{padding:0}.discipline-strip{gap:20px;font-size:10px;letter-spacing:.05em;flex-wrap:wrap;padding:20px 0}.section-head h2,.split h2{font-size:2.6rem}.split{gap:35px}.split-media img{height:370px}.service-card{min-height:430px}.capability-grid{grid-template-columns:1fr 1fr;gap:18px}.capability>img{height:180px}.capability-body{padding:22px}.capability h3{font-size:22px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:10px}}
@media(max-width:540px){section{padding:65px 0}.hero h1{font-size:3.6rem}.hero-visual{height:300px}.buttons{gap:18px}.service-copy{padding:26px}.capability-grid{grid-template-columns:1fr}.capability>img{height:225px}.contact-form{padding:26px}.discipline-strip{display:grid;gap:8px}.page-hero{min-height:350px}.page-hero h1{font-size:3rem}.value-grid{gap:30px}.section-head h2,.split h2{font-size:2.2rem}}

/* Refined brand presentation, responsive layout and touch interaction. */
:root{--ink:#20272c;--muted:#59636a;--paper:#f4f6f7;--line:#dfe4e7}
body{font-size:1rem;line-height:1.75;-webkit-text-size-adjust:100%}
.wrap{width:min(var(--max),calc(100% - 64px))}
.topbar{background:#202b32;font-size:.75rem;letter-spacing:.065em}
.header{position:sticky;top:0;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}
.nav{height:88px;gap:28px}
.nav>a{flex-shrink:0;display:flex;align-items:center;min-height:48px}
.logo{width:160px;height:40px;object-fit:contain;flex-shrink:0}
.menu{gap:24px}.menu a{font-size:.875rem;letter-spacing:0}
.quote-link{padding:12px 18px!important}
.hero{background:var(--paper)}
.hero-layout{gap:64px;padding-block:56px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hero h1{font-size:clamp(3.2rem,5.6vw,5.25rem);line-height:1.06;letter-spacing:-.045em}
.hero p{font-size:1.0625rem;line-height:1.8;max-width:450px}
.hero-visual{height:530px;box-shadow:0 20px 42px -28px #15233180}
.eyebrow{font-size:.8125rem;letter-spacing:.1em}
.btn,.text-link,.service-copy a{font-size:.875rem}
.buttons{gap:20px}.btn{letter-spacing:0;transition:background .2s,box-shadow .2s}
.btn:hover{box-shadow:0 5px 16px #00000015}
.image-caption span,.service-copy span{font-size:.75rem;letter-spacing:.1em}
.discipline-strip{font-size:.75rem;letter-spacing:.08em;color:#4e5d66;border-color:#d5dde2}
section{padding-block:88px;scroll-margin-top:100px}
.service-card{min-height:450px}
.service-card:after{background:linear-gradient(180deg,#12212c05,#101c29f5)}
.service-copy{padding:34px}.service-copy h3{line-height:1.2;margin:12px 0}
.service-copy a{display:inline-block;min-height:44px;padding-block:8px}
.split{gap:64px}.split-media img{height:460px}
.value-grid{gap:40px}.value{border-color:#c7d0d6}.value h3{font-size:.875rem;letter-spacing:.08em}
.cta{background:#26333c}.cta .btn{flex-shrink:0}
.footer{background:#17232c;color:#cad3d9;padding-top:60px}
.footer-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:18px 22px;border-radius:3px;min-height:76px}
.footer .logo{width:160px;height:40px;filter:none;opacity:1}
.footer-brand p{max-width:285px;line-height:1.8;margin-top:22px}
.footer h4{font-size:.875rem;letter-spacing:.08em;margin-top:0}
.footer nav a{min-height:44px;display:flex;align-items:center}
.footer a[href^="mailto:"]{display:inline-block;padding-block:6px;overflow-wrap:anywhere}
.footer-bottom{font-size:.8125rem;gap:24px;border-color:#35424c}
.contact-card small,.field label{font-size:.875rem}.contact-card a{overflow-wrap:anywhere}
.contact-form{background:var(--paper)}
.hero-copy,.hero-visual,.split>*,.content-grid>*,.contact-grid>*,.footer-grid>*,.capability-grid>*{min-width:0}
h1,h2,h3{overflow-wrap:break-word}input,textarea{min-width:0}
.toggle{width:48px;height:48px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);border:1px solid var(--line);border-radius:3px;flex-shrink:0}
@media(max-width:1080px){
 .topbar{display:none}.nav{height:76px}.toggle{display:flex}
 .menu{display:none;position:absolute;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);overflow-y:auto;background:#fff;padding:20px 32px 28px;flex-direction:column;align-items:stretch;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #17232c12}
 .menu.open{display:flex}.menu a{font-size:1rem;padding:12px 0;min-height:48px}.menu a:after{display:none}.menu a.active:not(.quote-link){color:var(--wine)}.menu .quote-link{margin-top:10px;text-align:center}
 .hero-layout{gap:32px}.hero h1{font-size:clamp(3rem,5.9vw,4.5rem)}
 .hero-visual{height:490px}.hero h1 br{display:initial}
 .buttons{gap:14px}.split,.content-grid,.contact-grid{gap:36px}.footer-grid{gap:32px}
}
@media(max-width:820px){
 .wrap{width:calc(100% - 40px)}.hero-layout{grid-template-columns:1fr;padding-block:32px;gap:32px}
 .hero h1{font-size:clamp(2.8rem,8.5vw,4.5rem);line-height:1.08;margin:22px 0}.hero h1 br{display:none}
 .hero-copy{max-width:640px}.hero-visual{height:360px}.hero p{max-width:560px}
 .discipline-strip{flex-wrap:wrap;gap:14px 24px;letter-spacing:.04em}
 section{padding-block:64px;scroll-margin-top:88px}.service-grid,.split,.content-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}
 .service-card{min-height:420px}.split-media img{height:360px}
 .section-head h2,.split h2{font-size:clamp(2rem,5.5vw,2.8rem)}
 .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:400px}
 .cta .wrap{display:block}.cta .btn{margin-top:24px}.intro-stick{position:static}
}
@media(max-width:540px){
 .wrap{width:calc(100% - 36px)}.menu{padding-inline:18px}.hero h1{font-size:clamp(2.5rem,10.8vw,3.6rem)}
 .hero-visual{height:280px}.image-caption{left:22px;bottom:22px}.image-caption strong{font-size:1.25rem}
 .eyebrow{font-size:.75rem;letter-spacing:.07em}.hero .buttons{align-items:stretch;flex-direction:column}.hero .text-link{align-self:flex-start;min-height:44px}
 .discipline-strip{display:grid;font-size:.75rem;gap:8px}.service-copy{padding:24px}.service-copy h3{font-size:1.8rem}
 .service-card{min-height:400px}.split-media img{height:300px}.capability-grid,.footer-grid{grid-template-columns:minmax(0,1fr)}
 .footer-brand{grid-column:auto}.footer-grid{gap:32px}.footer-bottom{display:flex;flex-direction:column;gap:8px;margin-top:34px}.footer-bottom span{margin:0}
 .page-hero h1{font-size:clamp(2.25rem,9vw,3rem)}.page-hero{min-height:310px;padding-block:48px}
 .contact-form{padding:24px 20px}.contact-card a{font-size:1.25rem}.contact-form button{width:100%}
 .capability-body{padding:24px}.gallery img{height:260px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Consistent finishing details and compact-screen ergonomics. */
section{padding-block:clamp(56px,7vw,96px)}
.hero-layout{padding-block:clamp(30px,5vw,64px)}
.section-head{max-width:820px}.section-head h2,.split h2{font-weight:700}
.page-hero{background:linear-gradient(90deg,rgba(19,31,42,.96),rgba(19,31,42,.48)),var(--hero) center/cover}
.capability{border:1px solid var(--line);background:#fff;box-shadow:0 10px 30px -24px #13233555}
.capability-body{padding:28px}.capability li{padding-block:10px}
.footer-bottom{align-items:center;padding-top:24px}
.bottom-brand{display:inline-flex;align-items:center;gap:13px;min-height:52px;text-decoration:none!important}
.bottom-brand img{width:48px;height:48px;object-fit:contain}
.footer-bottom .bottom-brand span{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;color:#fff;margin:0;line-height:1.2}
.footer-bottom small{font-size:.8125rem}
.menu-icon{display:grid;gap:5px;width:21px}.menu-icon>span{height:2px;width:100%;background:currentColor;transition:transform .18s,opacity .18s}
.toggle[aria-expanded="true"] .menu-icon>span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.toggle[aria-expanded="true"] .menu-icon>span:nth-child(2){opacity:0}
.toggle[aria-expanded="true"] .menu-icon>span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
a,button,input,textarea{-webkit-tap-highlight-color:#851b3f20}button,.btn{touch-action:manipulation}
.field input,.field textarea{font-size:1rem;min-height:48px;border-radius:3px}
@media(hover:hover){.capability{transition:box-shadow .2s}.capability:hover{box-shadow:0 14px 32px -22px #13233566}.footer a:hover{color:white}}
@media(max-width:820px){
 .hero-visual{height:auto;aspect-ratio:16/10}.service-grid{gap:24px}
 .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .capability-body{padding:22px}.capability h3{overflow-wrap:normal;font-size:1.4rem}
}
@media(max-width:600px){
 .capability-grid{grid-template-columns:minmax(0,1fr)}
 .page-hero h1{font-size:clamp(2rem,8.3vw,3rem);line-height:1.12}
 .service-copy span{display:block;line-height:1.7}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}
 .footer nav{gap:2px}.footer h4{margin-bottom:12px}
 .cta .btn{width:100%}.contact-card a{min-height:44px;display:inline-flex;align-items:center}
 .hero-visual{aspect-ratio:6/5}.hero h1{letter-spacing:-.035em}
 .hero p{font-size:1rem}.value-grid{gap:28px}.value{padding-right:0}
}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.hero h1{font-size:2.5rem}.eyebrow{letter-spacing:.025em}.service-copy{padding:20px}.gallery{grid-template-columns:1fr}.footer-logo{padding:16px 18px}}
@media(max-height:500px) and (max-width:1080px){.nav{height:64px}.menu{top:64px;max-height:calc(100dvh - 64px);padding-block:8px}.menu a{padding-block:8px}}

/* QA: readable contact fallback and resilient narrow-screen layouts. */
.direct-email a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;color:var(--wine)}
.footer-brand p{margin-top:12px}
#main:focus{outline:none}
.contact-form,.service-copy{overflow-wrap:break-word}
@media(max-width:1080px){.menu a:focus-visible{outline-offset:2px}}
@media(max-width:360px){.image-caption span{letter-spacing:.04em}.hero .eyebrow{flex-wrap:wrap}}

/* Restored service highlights and contact details from the original site. */
.footer-phones{display:grid;gap:2px}.footer-phones a{display:flex;align-items:center;min-height:44px}
.featured-systems{display:flex;flex-wrap:wrap;gap:12px 28px;padding-bottom:24px}
.featured-systems a{font-size:.875rem;color:var(--wine);text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.field select{width:100%;min-width:0;min-height:48px;padding:14px 15px;border:1px solid #ccd5ce;border-radius:3px;background:#fff;color:var(--ink);font:inherit}
.field select:focus{border-color:var(--wine)}
@media(max-width:600px){.featured-systems{display:grid;gap:2px}}

/* Experience statement from the authoritative WordPress homepage. */
.experience-stat{display:flex;align-items:center;gap:18px;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.experience-stat strong{font-size:clamp(3rem,7vw,4.5rem);line-height:1;font-weight:700;color:var(--wine);letter-spacing:-.04em}
.experience-stat span{font-size:1rem;font-weight:700;color:var(--ink)}

/* Motion and visual hierarchy: progressive enhancement, preserving content. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.header{transition:box-shadow .3s,background .3s;backdrop-filter:blur(16px)}
.header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 8px 30px -20px #17232c70}
.hero-layout{padding-block:64px;gap:72px}
.hero h1{margin-block:24px;text-wrap:balance}
.hero-visual{overflow:hidden;border-radius:3px;box-shadow:0 26px 60px -32px #17232c85}
.hero-visual>img{animation:hero-settle 1.2s var(--ease-out) both}
.hero-copy{animation:copy-enter .8s var(--ease-out) both}
.image-caption{left:32px;bottom:32px;border-left:3px solid #e0a5b8;padding-left:18px}
.image-caption strong{line-height:1.35;margin-top:6px}
.hero-visual:after{pointer-events:none}
.featured-systems{gap:10px;padding-bottom:28px}
.featured-systems a{padding:9px 16px;background:#fff;border:1px solid #dce2e6;text-decoration:none;border-radius:2px;transition:border-color .2s,background .2s,color .2s}
.discipline-strip{padding-block:24px;gap:16px;font-size:.8125rem}
.section-head h2,.split h2,.cta h2{text-wrap:balance}
.section-head p,.copy p{max-width:65ch}
.service-card{isolation:isolate;border-radius:3px;box-shadow:0 12px 30px -24px #17232c80}
.service-card img{transition:transform .75s var(--ease-out),opacity .4s}
.service-card:focus-within img{transform:scale(1.045)}
.service-copy a:before{content:"";position:absolute;inset:0;z-index:2}
.service-copy{position:static;width:100%;padding-top:150px}
.service-copy>*{position:relative;z-index:1}
.service-copy a{position:static}
.service-card:focus-within{outline:3px solid #cc5577;outline-offset:5px}
.service-copy a:focus-visible{outline:none}
.btn,.quote-link{transition:background .2s,box-shadow .25s,transform .25s var(--ease-out)}
.btn span{transition:transform .25s var(--ease-out)}
.btn:active,.quote-link:active{transform:translateY(1px)}
.text-link{transition:color .2s,border-color .2s}
.value{position:relative;padding-top:30px}
.value:before{content:"";position:absolute;left:0;top:-1px;width:42px;height:3px;background:var(--wine)}
.value strong{font-size:1rem}.value h3{margin-top:20px}
.page-hero{background:linear-gradient(90deg,rgba(15,29,41,.94),rgba(15,29,41,.48)),var(--hero) center/cover}
.page-hero .wrap{animation:copy-enter .7s var(--ease-out) both}
.intro-stick{top:120px}
.capability{border-radius:3px;transition:box-shadow .3s,border-color .3s}
.capability>img{transition:filter .3s}
.capability h3{line-height:1.3}.cap-number{font-weight:700;font-size:.875rem}
.gallery img,.split-media img{border-radius:3px}
.cta{border-top:3px solid var(--wine)}
.contact-form{border-radius:3px;box-shadow:0 18px 45px -34px #17232c70}
.field{gap:8px}.field input,.field textarea,.field select{transition:border-color .2s,box-shadow .2s;background:#fff}
.field input:focus,.field textarea:focus,.field select:focus{box-shadow:0 0 0 3px #851b3f12;outline:2px solid var(--wine);outline-offset:2px}
.field:focus-within label{color:var(--wine)}
.contact-card a{transition:color .2s}
.footer nav a{text-decoration:none;transition:color .2s;text-underline-offset:6px}
.footer nav a:hover{text-decoration:underline}
.reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-ready{transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:none}
@keyframes copy-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes hero-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .btn:hover,.quote-link:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px #17232c80}
 .btn:hover span{transform:translateX(4px)}
 .featured-systems a:hover{border-color:var(--wine);background:#fbf5f7}
 .text-link:hover,.contact-card a:hover{color:var(--wine);border-color:var(--wine)}
 .service-card:hover img{transform:scale(1.055)}
 .capability:hover{border-color:#adb9c1;box-shadow:0 18px 40px -26px #17232c70}
}
@media(max-width:1080px){
 .hero-layout{gap:36px}.menu.open{animation:menu-enter .22s var(--ease-out)}
 .menu a:not(.quote-link){padding-inline:14px;border-radius:2px}
 .menu a.active:not(.quote-link){background:#f8eff2;border-left:3px solid var(--wine)}
 .menu a:hover:not(.quote-link){background:#f4f6f7}
}
@media(max-width:820px){
 .hero-layout{padding-block:36px;gap:30px}.image-caption{left:24px;bottom:24px}
 .featured-systems{display:flex;flex-wrap:wrap;gap:8px}.featured-systems a{font-size:.875rem;padding:8px 12px}
 .intro-stick{position:static}.discipline-strip{font-size:.75rem}
}
@media(max-width:600px){
 .hero-layout{padding-top:28px}.service-copy{padding-top:130px}
 .featured-systems{padding-bottom:24px}.featured-systems a{flex-grow:1;justify-content:center}
 .contact-form{padding:24px}.image-caption strong{font-size:1.25rem}
 .page-hero{padding-block:52px}.value{padding-top:24px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}
 .reveal-pending,.reveal-ready{opacity:1;transform:none}
}

/* Continuous photo movement, with stationary text and controls. */
.hero-visual>img{animation:photo-drift 18s ease-in-out infinite alternate;transform-origin:60% 45%}
.service-card img{animation:photo-drift 22s ease-in-out infinite alternate;transform-origin:40% 50%}
.service-card:nth-child(even) img{animation-name:photo-drift-reverse;animation-duration:26s}
.living-image,.split-media{overflow:hidden;border-radius:3px}
.living-image{position:relative;isolation:isolate}
.living-image img{width:100%;height:100%;object-fit:cover;animation:photo-drift 24s ease-in-out infinite alternate}
.capability>.living-image{height:260px}
.gallery>.living-image{height:320px}
.gallery>.living-image img{height:100%;aspect-ratio:auto}
.capability:nth-child(even) .living-image img,.gallery>.living-image:nth-child(even) img{animation-name:photo-drift-reverse;animation-duration:28s}
.split-media img{animation:photo-drift-reverse 24s ease-in-out infinite alternate}
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:#17232c}
.page-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--hero) center/cover;animation:photo-drift 26s ease-in-out infinite alternate}
.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,29,41,.94),rgba(15,29,41,.48));pointer-events:none}
@keyframes photo-drift{from{transform:scale(1.035) translate(-.5%,0)}to{transform:scale(1.14) translate(1%,.5%)}}
@keyframes photo-drift-reverse{from{transform:scale(1.13) translate(.7%,.4%)}to{transform:scale(1.035) translate(-.5%,0)}}
.photo-paused img,.page-hero.photo-paused:before{animation-play-state:paused!important}
@media(max-width:820px){.capability>.living-image{height:180px}.gallery>.living-image{height:auto;aspect-ratio:4/3}}
@media(max-width:600px){.capability>.living-image{height:225px}}
@media(prefers-reduced-motion:reduce){.hero-visual>img,.service-card img,.living-image img,.split-media img,.page-hero:before{animation:none!important;transform:none!important}}
