:root{--paper:#f7f6f2;--ink:#141716;--coral:#ec604b;--teal:#0e5356;--line:#c9cac5;--muted:#5d625f;--pad:clamp(22px,5vw,76px)}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.5}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:var(--coral);color:#fff}
.skip-link{position:absolute;left:12px;top:-80px;padding:10px;background:#fff;z-index:100}
.skip-link:focus{top:12px}
.header{height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 var(--pad);background:var(--paper);position:relative;z-index:20}
.wordmark{display:inline-flex;flex-direction:column;align-items:center;justify-self:start;line-height:1;font-weight:600;letter-spacing:.22em}
.wordmark span{font-size:26px}.wordmark small{font-size:9px;letter-spacing:.52em;margin-top:7px;padding-left:.52em}
.desktop-nav{display:flex;gap:clamp(22px,3vw,54px);align-items:center;font-size:13px}
.desktop-nav a,.header-contact{transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current],.header-contact:hover{color:var(--coral)}
.header-contact{justify-self:end;font-size:13px;border:1px solid var(--ink);padding:9px 16px}
.menu-button,.mobile-menu{display:none}
.section-wrap{width:min(100% - 2*var(--pad),1450px);margin-inline:auto}
.eyebrow{display:block;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.17em}
h1,h2,h3,p{margin-top:0}
.home-hero{display:grid;grid-template-columns:clamp(72px,9.5vw,145px) 1fr;height:clamp(520px,calc(100svh - 200px),760px)}
.hero-rail{background:var(--coral);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:35px 0}
.rail-line{position:absolute;top:38px;bottom:98px;width:1px;background:rgba(255,255,255,.72)}
.hero-rail a{color:white;font-size:27px;line-height:1;z-index:1;transition:transform .25s}.hero-rail a:hover{transform:translateY(7px)}
.hero-main{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}
.hero-top{display:flex;gap:4vw;align-items:end;justify-content:space-between;padding:4px var(--pad) 22px clamp(16px,2vw,34px)}
.hero-top h1{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:800;font-size:clamp(76px,10.4vw,176px);line-height:.75;letter-spacing:0;margin:0;white-space:nowrap}
.hero-top h1>span{display:block}.hero-top h1>span+span{margin-top:.07em}.hero-top h1 .period{display:inline;color:var(--coral)}
.hero-top p{width:205px;flex:none;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(18px,1.55vw,23px);line-height:1.13;margin:0 0 12px}
.hero-photo{height:100%;min-height:0;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:center 53%;animation:hero-in 1.25s both}
.statement{background:var(--teal);color:#fff;padding:clamp(54px,6vw,94px) var(--pad) clamp(60px,7vw,106px);display:grid;grid-template-columns:clamp(72px,9.5vw,145px) 1fr;align-items:start}
.statement-line{height:100%;min-height:110px;width:1px;background:rgba(255,255,255,.58);margin-left:clamp(0px,1vw,10px)}
.statement p{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(37px,5.2vw,78px);line-height:1.03;margin:0;letter-spacing:0}.statement em{font-style:normal}
.home-intro{display:grid;grid-template-columns:1fr 1.35fr;gap:8vw;padding-block:clamp(100px,13vw,190px)}
.home-intro>div{max-width:740px}.home-intro h2,.section-heading h2,.simple-cta h2,.contact-intro h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(44px,5.5vw,82px);font-weight:400;line-height:1.03;margin-bottom:32px}
.home-intro p{font-size:clamp(18px,1.65vw,24px);line-height:1.5;max-width:630px;color:#343b38}
.action-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;margin-top:20px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:14px;font-weight:700;line-height:1.2;text-align:center;transition:background .2s,color .2s,border-color .2s}.action-button:hover{background:transparent;color:var(--ink)}.action-button-light{background:#fff;border-color:#fff;color:var(--ink)}.action-button-light:hover{background:transparent;color:#fff}.action-button-outline{background:transparent;border-color:#fff;color:#fff}.action-button-outline:hover{background:#fff;color:var(--ink)}
.image-break{height:clamp(410px,58vw,790px);position:relative;overflow:hidden}.image-break img{height:100%;object-fit:cover;object-position:center 58%;transition:transform 1.1s}.image-break:hover img{transform:scale(1.035)}
.services-preview{padding-block:clamp(95px,12vw,170px)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:35px;margin-bottom:70px}.section-heading h2{min-width:55%;margin:0}
.service-row{border-top:1px solid var(--line);display:grid;grid-template-columns:48% 1fr;align-items:center;gap:20px;padding:30px 0;transition:padding .25s,color .25s,border-color .25s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:12px;color:var(--teal);border-color:var(--teal)}.service-row h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(27px,3vw,48px);margin:0}.service-row p{max-width:350px;color:var(--muted);font-size:15px;margin:0}
.closing-feature{background:var(--coral);padding:clamp(90px,12vw,180px) 0;color:#fff}.closing-feature h2{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:clamp(66px,11vw,160px);font-weight:800;line-height:.85;margin:28px 0 36px;max-width:1100px}.closing-feature p{font-size:21px;max-width:560px}
.footer{background:#141716;color:#fff;padding:80px var(--pad) 24px}.footer-top{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:80px}.footer-top p{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(40px,5vw,70px);line-height:1.1;margin:0}.footer-bottom{border-top:1px solid #5c6260;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#b8bfbb}.footer-bottom p{margin:0}.footer-logo{font-size:16px;letter-spacing:.12em;color:#fff}.footer-logo span{font-size:10px;letter-spacing:.25em;margin-left:8px}
.page-hero{min-height:clamp(550px,65vw,780px);padding-top:clamp(85px,10vw,140px);padding-bottom:80px}.page-hero h1{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:800;font-size:clamp(82px,12vw,172px);line-height:.83;margin:38px 0 42px}.page-hero h1 span{color:var(--coral)}.page-hero>p{font-size:clamp(18px,1.7vw,24px);max-width:570px;line-height:1.45;margin:0 0 0 auto}
.split-feature,.solution-detail{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.split-image,.solution-photo{overflow:hidden}.split-image img,.solution-photo img{height:100%;object-fit:cover}.split-copy,.solution-copy{background:var(--teal);color:#fff;padding:clamp(55px,8vw,125px) clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.split-copy h2,.solution-copy h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(41px,4.3vw,66px);line-height:1.05;margin:42px 0 28px}.split-copy p,.solution-copy p{font-size:18px;line-height:1.6;max-width:540px}
.process{padding-block:clamp(100px,13vw,180px)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-grid article{border-top:1px solid var(--ink);padding-top:22px}.process-grid span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--coral);font-weight:700}.process-grid h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:30px;margin:50px 0 15px}.process-grid p{max-width:340px;color:var(--muted)}
.simple-cta{padding-block:clamp(100px,12vw,160px);display:flex;align-items:end;justify-content:space-between;gap:30px}.simple-cta h2{margin:0}
.solution-detail{scroll-margin-top:20px}.solution-detail:nth-of-type(odd) .solution-copy{background:#e9eae5;color:var(--ink)}.solution-detail.reverse .solution-photo{order:2}.solution-detail.reverse .solution-copy{order:1}.solution-copy ul{margin:20px 0 0;padding:0;list-style:none;max-width:520px}.solution-copy li{border-top:1px solid currentColor;padding:12px 0;opacity:.83}.solution-copy li:last-child{border-bottom:1px solid currentColor}
.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,7vw,110px);padding-bottom:120px}.project-item:nth-child(2){padding-top:170px}.project-item img{height:clamp(350px,42vw,600px);object-fit:cover}.project-item:nth-child(2) img{height:clamp(300px,33vw,470px)}.project-item div{padding:24px 0}.project-item span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--coral);font-weight:700}.project-item h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(32px,3.5vw,54px);font-weight:400;line-height:1.1;margin:20px 0}.project-item p{max-width:500px;color:var(--muted)}.project-note{border-top:1px solid var(--line);padding-block:90px 140px}.project-note p{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(38px,5vw,70px);max-width:820px;line-height:1.1;margin:50px 0 18px}
.contact-section{display:grid;grid-template-columns:1fr 1.15fr;gap:10vw;padding-block:70px 150px;border-top:1px solid var(--line)}.contact-intro h2{font-size:clamp(40px,4vw,60px);margin:36px 0}.contact-intro p{color:var(--muted);max-width:430px}.contact-form{display:grid;gap:28px}.contact-form label{display:grid;gap:10px;font-size:14px;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid #89928e;background:transparent;border-radius:0;padding:11px 0;color:var(--ink);outline-offset:4px}.contact-form textarea{resize:vertical}.contact-form button{background:var(--teal);color:#fff;border:0;padding:16px 21px;text-align:left;display:flex;justify-content:space-between;align-items:center}.contact-form button:hover{background:#0a4245}.form-result{border-top:1px solid var(--line);padding-top:14px}.form-result p{font-size:14px}.form-result button{background:transparent;color:var(--ink);border:1px solid var(--ink);display:inline-flex;margin-right:12px}.form-result button:hover{background:var(--ink);color:#fff}
.reveal{opacity:1;transform:none}.reveal.is-visible{animation:section-in .8s both}
@keyframes section-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes hero-in{from{opacity:.6;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
@media(max-width:1100px){.hero-top h1{font-size:clamp(72px,10.5vw,130px)}.hero-top p{width:145px}.desktop-nav{gap:20px}}
@media(max-width:760px){.header{height:70px;display:flex;justify-content:space-between;padding:0 22px}.wordmark span{font-size:23px}.desktop-nav,.header-contact{display:none}.menu-button{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:14px 0 14px 14px}.menu-button span{display:block;width:25px;height:1px;background:var(--ink)}.mobile-menu{display:none;position:absolute;top:70px;left:0;right:0;z-index:19;background:var(--paper);padding:20px 22px 36px;border-top:1px solid var(--line);box-shadow:0 16px 28px #00000018}.mobile-menu.is-open{display:grid}.mobile-menu a{font-family:"DM Serif Display",Georgia,serif;font-size:29px;padding:12px 0;border-bottom:1px solid var(--line)}.home-hero{grid-template-columns:38px 1fr;height:auto;min-height:0;max-height:none}.hero-rail{padding:20px 0}.rail-line{top:25px;bottom:70px}.hero-rail a{font-size:22px}.hero-main{grid-template-rows:auto auto}.hero-top{display:block;padding:34px 12px 24px 13px}.hero-top h1{font-size:clamp(49px,10.5vw,79px);line-height:.82}.hero-top p{font-size:17px;width:min(260px,75%);margin:25px 0 0}.hero-photo{height:44svh;min-height:280px}.hero-photo img{object-position:54% center}.statement{grid-template-columns:38px 1fr;padding:55px 20px 60px 0}.statement-line{min-height:90px;margin-left:13px}.statement p{font-size:clamp(34px,8.5vw,58px)}.section-wrap{width:calc(100% - 44px)}.home-intro{display:block;padding-block:90px}.home-intro .eyebrow{margin-bottom:50px}.home-intro h2,.section-heading h2{font-size:48px}.image-break{height:440px}.image-break>div{width:70%;padding:15px 18px}.image-break p{font-size:21px}.services-preview{padding-block:85px}.section-heading{display:block;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:20px}.service-row{grid-template-columns:35px 1fr 24px;gap:10px;padding:24px 0}.service-row h3{font-size:30px}.service-row p{grid-column:2;grid-row:2;font-size:14px}.service-row .row-arrow{grid-column:3;grid-row:1}.closing-feature{padding:90px 0}.closing-feature h2{font-size:clamp(58px,13vw,90px)}.closing-feature p{font-size:18px}.footer{padding:60px 22px 25px}.footer-top{display:block;padding-bottom:70px}.footer-top p{font-size:42px;margin-bottom:35px}.footer-bottom{display:grid;gap:13px}.page-hero{min-height:0;padding-top:75px;padding-bottom:95px}.page-hero h1{font-size:clamp(62px,12vw,95px);margin:35px 0}.page-hero>p{font-size:17px;margin-left:0}.split-feature,.solution-detail{display:flex;flex-direction:column;min-height:0}.split-image,.solution-photo{height:340px}.split-copy,.solution-copy{padding:70px 22px}.solution-detail.reverse .solution-photo,.solution-detail.reverse .solution-copy{order:unset}.split-copy h2,.solution-copy h2{font-size:42px}.process{padding-block:90px}.process-grid{grid-template-columns:1fr;gap:40px}.process-grid h3{margin-top:25px}.simple-cta{display:block;padding-block:90px}.simple-cta h2{font-size:44px;margin-bottom:20px}.project-grid{display:block;padding-bottom:70px}.project-item:nth-child(2){padding-top:50px}.project-item img,.project-item:nth-child(2) img{height:350px}.project-note{padding-block:70px 100px}.contact-section{display:block;padding-block:60px 100px}.contact-intro{margin-bottom:55px}}
@media(max-width:760px){.statement p{font-size:clamp(29px,7.5vw,48px);max-width:100%}}
@media(max-width:760px){.service-row{grid-template-columns:1fr;gap:8px}.service-row p{grid-column:1;grid-row:auto}.action-button{max-width:100%}}
@media(max-width:390px){.hero-top h1{font-size:10.2vw}.hero-top p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal.is-visible,.hero-photo img{animation:none}.image-break img,.service-row,.action-button{transition:none}}

/* Shared visual language for the original Omnia Master pages. */
:root{--navy:#141716;--navy-2:#0e5356;--ink:#141716;--muted:#5d625f;--ivory:#f7f6f2;--paper:#f7f6f2;--mist:#ebede9;--line:#c9cac5;--gold:#ec604b;--bronze:#ec604b;--sea:#0e5356;--shadow:none;--radius:0;--max:1320px;--ease-out:cubic-bezier(.23,1,.32,1)}
body{background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}
body>.skip-link{background:var(--teal);color:#fff;border-radius:0}
h1,h2,h3{letter-spacing:0}
.header{height:84px}.header-contact{white-space:nowrap;transition:background 180ms ease,color 180ms ease}.header-contact:hover{background:var(--ink);color:#fff}
.footer-bottom a:hover{color:#fff;text-decoration:underline}
.redesign-home .home-hero{height:clamp(520px,calc(100svh - 200px),760px)}
.redesign-home .hero-top p{width:245px}
.redesign-home .hero-photo img{object-position:center 54%}
.redesign-home .service-list{margin-bottom:34px}
.method-band{background:#e9ebe7;padding:clamp(90px,11vw,160px) 0}
.method-heading{display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;align-items:start;margin-bottom:80px}
.method-heading h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(45px,5vw,76px);line-height:1.05;font-weight:400;margin:0}
.method-lines{border-top:1px solid #aab0aa}
.method-lines>div{display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;border-bottom:1px solid #aab0aa;padding:27px 0}
.method-lines h3{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(28px,3vw,44px);font-weight:400;margin:0}
.method-lines p{margin:7px 0 0;color:var(--muted);font-size:17px}
.service-index{padding-block:90px 110px}
.service-index .service-row{grid-template-columns:48% 1fr}

/* Legacy content is kept, while its presentation follows the new design. */
.page-hero{background:var(--paper)!important;min-height:0;padding:clamp(70px,7vw,100px) var(--pad) clamp(80px,8vw,120px);border-bottom:1px solid var(--line)}
.page-hero::before,.page-hero::after{display:none!important}
.page-hero .container{width:min(100%,var(--max));max-width:var(--max);margin:auto;padding:0;position:relative}
.page-hero h1{font-family:"Barlow Condensed","Arial Narrow",sans-serif!important;font-size:clamp(62px,7.5vw,112px)!important;font-weight:800;line-height:.88;max-width:1100px;margin:0 0 38px;color:var(--ink)!important}
.page-hero p{color:var(--ink)!important;max-width:650px;margin:0 0 0 auto;font-size:clamp(17px,1.7vw,23px);line-height:1.45}
.page-hero .actions{justify-content:flex-end}
.breadcrumb{display:none}
.container{max-width:var(--max)}
.section{padding:clamp(84px,10vw,145px) var(--pad)}
.section.alt{background:#eceeea}.section.mist{background:var(--paper)}
.section h2,.section-head h2,.copy-stack h2,.cta-band h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(40px,4.9vw,74px);font-weight:400;line-height:1.07;color:var(--ink)}
.section h3,.service-card h3,.card h3,.step h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:var(--ink)}
.section p,.section li{line-height:1.6}
.label,.eyebrow{background:none;border:0;border-radius:0;color:var(--coral);padding:0;letter-spacing:.13em;font-size:11px;font-weight:700;text-transform:uppercase}
.eyebrow::before{display:none}
.section-head{gap:50px}
.section-head p{max-width:560px}
.two-col{gap:clamp(50px,7vw,110px)}
.image-panel,.image-strip img,.gallery figure,.gallery img{border-radius:0;box-shadow:none}
.image-panel::after,.image-note{display:none}
.image-panel img{object-fit:cover}
.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}
.card,.service-card,.testimonial,.policy-box{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:28px 0}
.service-card:hover,.card:hover{transform:none;box-shadow:none}
.service-card .icon,.benefit [data-icon],.quote-mark{display:none}
.service-card h3{font-size:clamp(25px,2.5vw,36px);margin-bottom:13px}
.service-card p,.card p{color:var(--muted)}
.service-card .text-link,.text-link{display:inline-flex;align-items:center;border:1px solid var(--ink);padding:10px 16px;margin-top:15px;font-size:13px;font-weight:700;text-decoration:none;color:var(--ink);transition:background 180ms ease,color 180ms ease}
.service-card .text-link:hover,.text-link:hover{background:var(--ink);color:#fff;transform:none}
.text-link [data-icon="arrow"]{display:none}
.benefit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}
.benefit{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:20px 0;min-height:0}
.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px}
.step{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:26px 0}
.step::before{display:none}
.step h3{font-size:clamp(24px,2.5vw,34px)}
.gallery{gap:14px}.gallery figure{background:transparent}.gallery img{transition:transform 650ms var(--ease-out)}
.gallery figcaption{background:var(--paper);color:var(--ink);position:static;padding:11px 0}
.cta-band{background:var(--coral);color:#fff;padding:clamp(80px,10vw,140px) var(--pad)}
.cta-band h2,.cta-band h3{color:#fff}
.cta-band .label{color:#fff}
.btn,.btn.gold,.btn.light,.btn.ghost{min-height:50px;padding:12px 21px;background:var(--ink);border:1px solid var(--ink);border-radius:0;box-shadow:none;color:#fff;font-family:"DM Sans",Arial,sans-serif;font-size:14px;font-weight:700;transition:background 180ms ease,color 180ms ease,transform 160ms var(--ease-out)}
.btn:hover,.btn.gold:hover,.btn.light:hover,.btn.ghost:hover{background:transparent;color:var(--ink);box-shadow:none;transform:none}
.cta-band .btn{background:#fff;border-color:#fff;color:var(--ink)}
.cta-band .btn:hover{background:transparent;color:#fff}
.btn:active,.action-button:active{transform:scale(.97)}
.accordion{border-top:1px solid var(--line)}
.accordion-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.accordion-trigger{background:transparent;color:var(--ink);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(19px,2vw,26px);font-weight:400}
.accordion-panel{color:var(--muted)}
.form-shell,.form-main,.form-side,.contact-card{border-radius:0;box-shadow:none}
.form-side{background:var(--teal);color:#fff}
.form-side h3{color:#fff}
.step-tab.active{background:var(--coral)}
.field input,.field select,.field textarea{border-radius:0;box-shadow:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal)}

/* A few purposeful motion beats, with no content hidden when JS is unavailable. */
body.motion-ready .cinematic-title>span{animation:title-enter 900ms var(--ease-out) both}
body.motion-ready .cinematic-title>span:nth-child(2){animation-delay:100ms}
body.motion-ready .hero-photo{animation:photo-curtain 1150ms var(--ease-out) 120ms both}
body.motion-ready .hero-top p{animation:copy-enter 700ms var(--ease-out) 350ms both}
@keyframes title-enter{from{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(12%)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes photo-curtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes copy-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@supports (animation-timeline:view()){
  .image-break img{animation:photo-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes photo-drift{from{transform:translateY(-3%) scale(1.08)}to{transform:translateY(3%) scale(1.08)}}
}
@media (hover:hover) and (pointer:fine){.service-row:hover h3{transform:translateX(10px)}.service-row h3{transition:transform 200ms var(--ease-out)}.gallery figure:hover img{transform:scale(1.035)}}
@media(max-width:1100px){.original-header .desktop-nav,.original-header .header-contact{display:none}.original-header .menu-button{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:14px 0 14px 14px}.original-header .menu-button span{display:block;width:25px;height:1px;background:var(--ink)}.mobile-menu{position:absolute;top:84px;left:0;right:0;z-index:19;background:var(--paper);padding:15px var(--pad) 30px;border-top:1px solid var(--line);box-shadow:0 16px 28px #00000018}.mobile-menu.is-open{display:grid}.mobile-menu a{font-family:"DM Serif Display",Georgia,serif;font-size:27px;padding:10px 0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.header{height:70px}.mobile-menu{top:70px}.redesign-home .hero-top p{width:min(260px,75%)}.method-heading,.method-lines>div{grid-template-columns:1fr;gap:14px}.method-heading{margin-bottom:50px}.method-lines>div{padding:23px 0}.grid.cols-3,.grid.cols-4,.benefit-list,.steps{grid-template-columns:1fr}.page-hero{padding:64px 22px 78px}.page-hero h1{font-size:clamp(54px,13vw,84px)!important;margin-bottom:28px}.page-hero p{margin-left:0;font-size:17px}.page-hero .actions{justify-content:flex-start}.section{padding:80px 22px}.section h2,.section-head h2,.copy-stack h2{font-size:clamp(37px,10vw,52px)}.cta-band{padding:80px 22px}.service-index{padding-block:70px 90px}}
@media(prefers-reduced-motion:reduce){body.motion-ready .cinematic-title>span,body.motion-ready .hero-photo,body.motion-ready .hero-top p,.image-break img{animation:none!important}.service-row h3{transition:none}}

/* Restored Omnia palette: navy establishes trust, gold marks value, burgundy carries the call to action. */
:root{--paper:#f4efe4;--ivory:#f4efe4;--ink:#101a2e;--navy:#101a2e;--navy-2:#1b304f;--teal:#1b304f;--sea:#1b304f;--coral:#b98a3f;--gold:#b98a3f;--bronze:#b98a3f;--line:#d3c6ad;--muted:#4f5562}
::selection{background:var(--gold);color:var(--navy)}
.hero-rail,.closing-feature,.cta-band{background:var(--navy)}
.statement,.footer,.form-side{background:var(--navy)}
.method-band{background:#e9e0d0}
.label,.eyebrow{color:var(--gold)}
.desktop-nav a:hover,.desktop-nav a[aria-current],.header-contact:hover{color:var(--coral)}
.header-contact:hover{background:var(--navy);color:#fff}
.action-button,.btn,.btn.gold,.btn.light,.btn.ghost{background:var(--navy);border-color:var(--navy)}
.action-button:hover,.btn:hover,.btn.gold:hover,.btn.light:hover,.btn.ghost:hover{color:var(--navy);border-color:var(--navy)}
.cta-band .btn{color:var(--navy)}
.shared-faq{background:#fff;color:var(--ink);padding:clamp(80px,10vw,145px) 0;border-top:1px solid var(--line)}
.shared-faq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,9vw,150px);align-items:start}
.shared-faq h2{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(44px,5.1vw,76px);font-weight:400;line-height:1.04;margin:24px 0}
.shared-faq-grid>div>p{max-width:420px;color:var(--muted);font-size:17px}
.shared-faq-list{border-top:1px solid var(--line)}
.shared-faq details{border-bottom:1px solid var(--line);padding:0}
.shared-faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;padding:22px 0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(21px,2vw,29px);line-height:1.15;cursor:pointer}
.shared-faq summary::-webkit-details-marker{display:none}
.shared-faq summary::after{content:"+";font-family:"DM Sans",Arial,sans-serif;font-size:25px;font-weight:400;color:var(--gold);transition:transform 180ms ease}
.shared-faq details[open] summary::after{transform:rotate(45deg)}
.shared-faq details p{max-width:630px;margin:0;padding:0 38px 24px 0;color:var(--muted);line-height:1.6}
.project-video{background:#fff}.project-video video{display:block;width:100%;max-width:1040px;aspect-ratio:16/9;margin:0 auto;background:var(--navy);object-fit:cover}
@media(max-width:760px){.shared-faq{padding:75px 0}.shared-faq-grid{grid-template-columns:1fr;gap:42px}.shared-faq h2{font-size:47px}.shared-faq summary{font-size:24px;padding:19px 0}.shared-faq details p{padding-bottom:21px}}

/* Button contrast is contextual: the call to action must never blend into its surface. */
.action-button,.btn,.btn.gold,.btn.light,.btn.ghost{background:var(--navy);border-color:var(--navy);color:#fff}
.action-button:hover,.btn:hover,.btn.gold:hover,.btn.light:hover,.btn.ghost:hover{background:transparent;border-color:var(--navy);color:var(--navy)}
.closing-feature .action-button-light,.cta-band .btn,.form-side .btn,.form-side .btn.gold,.form-side .btn.light{background:var(--paper);border-color:var(--paper);color:var(--navy)}
.closing-feature .action-button-light:hover,.cta-band .btn:hover,.form-side .btn:hover,.form-side .btn.gold:hover,.form-side .btn.light:hover{background:transparent;border-color:#fff;color:#fff}
.action-button-outline,.footer .action-button-outline,.split-copy .action-button-outline,.solution-copy .action-button-outline{background:transparent;border-color:#fff;color:#fff}
.action-button-outline:hover,.footer .action-button-outline:hover,.split-copy .action-button-outline:hover,.solution-copy .action-button-outline:hover{background:var(--paper);border-color:var(--paper);color:var(--navy)}
.footer .action-button:not(.action-button-outline){background:var(--paper);border-color:var(--paper);color:var(--navy)}
.footer .action-button:not(.action-button-outline):hover{background:transparent;border-color:#fff;color:#fff}

/* Readability fixes for legacy blocks that originally sat on dark backgrounds. */
.page-hero .stat{background:#fff!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.page-hero .stat strong{color:var(--gold)!important}
.section .step,.section.alt .step,.section.mist .step{color:var(--ink)!important}
.section .step h3,.section.alt .step h3,.section.mist .step h3{color:var(--ink)!important}
.section .step p,.section.alt .step p,.section.mist .step p{color:var(--muted)!important}
.copy-stack .body-match{font:inherit;font-size:inherit;line-height:1.6;color:var(--ink);letter-spacing:0}
.back-link{grid-column:1/-1;display:flex;align-items:center;gap:12px;width:100%;margin-top:30px;padding:22px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--navy);font:700 14px/1 "DM Sans",Arial,sans-serif;text-align:left;cursor:pointer}
.back-link span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--navy);font-size:20px;transition:background 180ms ease,color 180ms ease}
.back-link:hover span{background:var(--navy);color:#fff}
.back-link:focus-visible{outline:2px solid var(--gold);outline-offset:5px}

/* Final brand header: original supplied logo, navy field and restrained motion. */
.header{position:sticky;top:0;grid-template-columns:220px 1fr auto;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff24;box-shadow:0 8px 30px #101a2e12}
.wordmark{width:204px;height:72px;overflow:hidden;line-height:1;letter-spacing:0}
.brand-logo-crop,.footer-logo-crop{position:relative;display:block;overflow:hidden;background:var(--navy)}
.brand-logo-crop{width:204px;height:72px}
.brand-logo-crop img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none;mix-blend-mode:normal}
.desktop-nav{justify-content:center}.desktop-nav a{position:relative;color:#fff}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--gold);transition:right 220ms var(--ease-out)}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:#fff}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{right:0}
.header-contact{border-color:var(--gold);color:#fff}.header-contact:hover{background:var(--gold);color:var(--navy)}
.menu-button span,.original-header .menu-button span{background:var(--gold)!important}
.footer-logo{width:220px;height:76px;overflow:hidden}
.footer-logo-crop{width:220px;height:76px}
.footer-logo-crop img{position:absolute;left:50%;top:50%;width:330px;height:330px;max-width:none;transform:translate(-50%,-50%);mix-blend-mode:screen}
.section,.method-band,.services-preview,.shared-faq{content-visibility:auto;contain-intrinsic-size:auto 760px}
.image-panel,.hero-photo,.image-break{overflow:hidden}
.image-panel img,.hero-photo img,.image-break img{backface-visibility:hidden;transform:translateZ(0)}
.accordion-panel{display:block!important;max-height:0;overflow:hidden;opacity:0;padding-top:0!important;padding-bottom:0!important;transition:max-height 360ms var(--ease-out),opacity 220ms ease,padding 280ms ease}
.accordion-panel.open{max-height:360px;opacity:1;padding-bottom:22px!important}
.city-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.city-grid span{display:flex;align-items:center;min-height:100px;border-bottom:1px solid var(--line);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(28px,3vw,44px);color:var(--navy)}
.city-grid span:nth-child(odd){border-right:1px solid var(--line)}
.city-grid span:nth-child(even){padding-left:28px}
.error-page{min-height:100svh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px max(24px,8vw);background:var(--navy);color:#fff}
.error-page>img{width:260px;height:100px;object-fit:cover;object-position:center 50%;margin-bottom:50px;background:var(--navy);mix-blend-mode:screen}
.error-page h1{max-width:900px;margin:12px 0 22px;font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:clamp(64px,10vw,138px);line-height:.85}
.error-page>p:not(.eyebrow){max-width:580px;font-size:19px;line-height:1.6;color:#d8dce4}

body.motion-ready .brand-logo-crop{animation:brand-arrival 720ms var(--ease-out) both}
body.motion-ready .page-hero h1{animation:page-title-arrival 760ms var(--ease-out) both}
body.motion-ready .page-hero p{animation:page-copy-arrival 680ms var(--ease-out) 120ms both}
@keyframes brand-arrival{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes page-title-arrival{from{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes page-copy-arrival{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:1100px){
  .header{display:flex;justify-content:space-between}
  .mobile-menu{display:grid!important;visibility:hidden;opacity:0;transform:translateY(-12px);pointer-events:none;background:var(--navy)!important;color:#fff!important;border-color:#ffffff24!important;transition:opacity 180ms ease,transform 220ms var(--ease-out),visibility 0s linear 220ms}
  .mobile-menu.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto;transition-delay:0s}
  .mobile-menu a{color:#fff!important;border-color:#ffffff24!important}
}
@media(max-width:760px){
  .wordmark,.brand-logo-crop{width:162px;height:58px}
  .brand-logo-crop img{width:100%;height:100%}
  .footer-logo,.footer-logo-crop{width:188px;height:66px}
  .footer-logo-crop img{width:285px;height:285px}
  .city-grid{grid-template-columns:1fr}.city-grid span:nth-child(odd){border-right:0}.city-grid span:nth-child(even){padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  body.motion-ready .brand-logo-crop,body.motion-ready .page-hero h1,body.motion-ready .page-hero p{animation:none!important}
  .mobile-menu,.desktop-nav a::after{transition:none!important}
  .accordion-panel{transition:none!important}
}
