
    :root{--navy:#111C26;--night:#0A151E;--charcoal:#202A33;--orange:#E38219;--orange-light:#ECA34F;--cream:#F6F3EC;--bone:#E9E6DF;--stone:#D7D4CC;--white:#FFFFFF;--muted:#A8B3BB;--ink:#17242E;--body:'Manrope',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--max:1400px;--gutter:clamp(24px,5.5vw,98px)}
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:95px}
    body{margin:0;background:var(--cream);font-family:var(--body);color:var(--ink);-webkit-font-smoothing:antialiased}
    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button{font:inherit}
    .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
    :focus-visible{outline:3px solid var(--orange-light);outline-offset:4px}
    .wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}
    .overline{display:flex;align-items:center;gap:13px;font-family:var(--display);font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
    .overline::before{content:"";width:31px;height:2px;background:var(--orange);flex:none}
    .eyebrow{font-family:var(--display);font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
    .section-number{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.13em;opacity:.66}
    .header{position:absolute;z-index:50;top:0;left:0;right:0;color:var(--white);border-bottom:1px solid rgba(255,255,255,.19)}
    .header::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,17,26,.76),rgba(7,17,26,0));pointer-events:none}
    .header-inner{height:114px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px}
    .logo-link{display:flex;align-items:center;flex:none}
    .logo-link img{width:265px;height:auto;max-height:77px;object-fit:contain;object-position:left}
    .navigation{display:flex;align-items:center;gap:clamp(27px,3.1vw,55px)}
    .navigation a{font-family:var(--display);font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.075em;position:relative;transition:color .2s}
    .navigation a::after{content:"";position:absolute;bottom:-12px;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}
    .navigation a:hover,.navigation a:focus-visible{color:var(--orange-light)}
    .navigation a:hover::after,.navigation a[aria-current="page"]::after{transform:scaleX(1)}
    .navigation a[aria-current="page"]{color:#fff}
    .header-right{display:flex;align-items:center;gap:21px}
    .nav-cta{display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:0 22px;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:var(--display);font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;transition:background .2s,border .2s}
    .nav-cta:hover{background:var(--orange);border-color:var(--orange);color:var(--navy)}
    .mobile-toggle{display:none;width:47px;height:47px;align-items:center;justify-content:center;gap:5px;flex-direction:column;color:#fff;background:none;border:1px solid rgba(255,255,255,.35);cursor:pointer}
    .mobile-toggle span{width:19px;height:1px;background:currentColor;transition:transform .2s}
    .mobile-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
    .mobile-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
    .hero{min-height:790px;height:min(920px,100svh);max-height:1020px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:#fff}
    .hero-photo{position:absolute;z-index:-3;inset:0;background:url('media/cb-photo-725e24256e6b.webp') center 48% / cover no-repeat;transform:scale(1.025)}
    .hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(6,17,26,.97) 0%,rgba(9,20,30,.91) 24%,rgba(11,22,31,.69) 45%,rgba(7,18,27,.19) 78%),linear-gradient(180deg,rgba(5,15,23,.12) 40%,rgba(6,18,26,.68) 100%)}
    .hero-content{width:100%;position:relative;padding-top:115px;padding-bottom:130px}
    .hero-copy{max-width:800px}
    .hero .overline{color:#DDE6EA;margin-bottom:29px}
    .hero h1{font-family:var(--display);font-size:clamp(64px,7.05vw,110px);font-weight:800;letter-spacing:-.072em;line-height:1.055;max-width:850px;margin:0 0 27px}
    .hero h1 span{color:var(--orange)}
    .hero-lead{font-size:clamp(17px,1.55vw,20px);font-weight:400;line-height:1.8;color:#E3E8E9;max-width:475px;margin:0}
    .hero-actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:37px}
    .btn{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:0 28px;font-family:var(--display);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;transition:background .2s,color .2s,transform .2s,border-color .2s}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:var(--orange);color:#101B23;border:1px solid var(--orange)}
    .btn-primary:hover{background:#F2A044;border-color:#F2A044}
    .btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.025)}
    .btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff}
    .btn svg,.text-link svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
    .hero-bottom{position:absolute;bottom:0;left:0;right:0;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:92px;border-top:1px solid rgba(255,255,255,.18);font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
    .hero-bottom span{opacity:.83}
    .hero-bottom .concept-tag{font-size:10px;color:#fff;background:rgba(14,28,39,.83);padding:11px 13px;border:1px solid rgba(255,255,255,.14);letter-spacing:.13em}
    .side-indicator{position:absolute;right:var(--gutter);top:45%;font-family:var(--display);font-size:10px;letter-spacing:.19em;writing-mode:vertical-rl;opacity:.7}
    .section{position:relative;overflow:hidden}
    .about{background:var(--cream);padding:145px 0 150px}
    .about-grid{display:grid;grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(70px,8vw,150px);align-items:center}
    .about .overline{color:#5A6269}
    .about h2,.value h2,.expertise h2,.projects h2,.contact h2{font-family:var(--display);font-size:clamp(43px,4.4vw,67px);line-height:1.15;letter-spacing:-.058em;font-weight:700;margin:24px 0 33px}
    .about h2{max-width:710px}
    .about-copy{max-width:575px;font-size:16px;line-height:1.94;color:#46545D}
    .about-copy p{margin:0 0 20px}
    .about-copy strong{color:var(--navy);font-weight:700}
    .about-aside{position:relative;padding:0 0 45px 46px}
    .about-aside::before{content:"";position:absolute;left:0;top:8%;height:80%;width:1px;background:#D0C9C1}
    .about-aside img{aspect-ratio:4 / 5;object-fit:cover;object-position:54% center;width:100%;filter:saturate(.88)}
    .aside-caption{position:absolute;left:0;bottom:0;min-width:250px;padding:20px 24px;background:var(--navy);color:#fff;box-shadow:20px -18px 0 rgba(246,243,236,.14)}
    .aside-caption span{display:block;color:var(--orange-light);font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:7px}
    .aside-caption strong{font:700 14px/1.5 var(--display)}
    .thin-rule{border:0;border-top:1px solid currentColor;opacity:.2}
    .value{background:var(--navy);color:#fff;padding:140px 0 155px}
    .value::after{content:"";position:absolute;right:0;bottom:0;width:54%;height:100%;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;opacity:.34;pointer-events:none}
    .value::before{content:"";position:absolute;right:5%;bottom:12%;width:260px;height:260px;border-left:1px solid rgba(227,130,25,.10);border-bottom:1px solid rgba(227,130,25,.10);pointer-events:none}
    .value-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(70px,8vw,155px)}
    .value .overline{color:var(--orange-light)}
    .value h2{max-width:600px;margin-bottom:24px}
    .value-intro{max-width:425px;font-size:17px;line-height:1.85;color:#BFCAD0;margin:0}
    .value-list{padding-top:23px}
    .value-item{border-top:1px solid rgba(255,255,255,.19);padding:29px 0 32px;display:grid;grid-template-columns:57px 1fr;column-gap:20px}
    .value-item:last-child{border-bottom:1px solid rgba(255,255,255,.19)}
    .value-index{font:800 13px var(--display);color:var(--orange);letter-spacing:.08em;padding-top:7px}
    .value-item h3{font:700 clamp(20px,2vw,26px)/1.3 var(--display);letter-spacing:-.035em;margin:0 0 13px}
    .value-item p{color:#B9C3CA;margin:0;font-size:15px;line-height:1.8;max-width:420px}
    .expertise{padding:137px 0 145px;background:#fff}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:58px}
    .section-head h2{margin-bottom:0;max-width:680px}
    .section-head .head-note{max-width:300px;color:#64717B;font-size:15px;line-height:1.8;padding-bottom:10px}
    .service-grid{border-top:1px solid #D6DBDD;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .service{min-height:228px;border-bottom:1px solid #D6DBDD;padding:38px 60px 36px 0;display:flex;align-items:flex-start;gap:28px;position:relative;transition:background .2s}
    .service:nth-child(even){padding-left:52px;padding-right:8px;border-left:1px solid #D6DBDD}
    .service-number{font:800 12px var(--display);color:var(--orange);letter-spacing:.08em;padding-top:7px}
    .service h3{font:700 clamp(21px,2.15vw,28px)/1.32 var(--display);letter-spacing:-.04em;margin:0 0 13px}
    .service p{margin:0;max-width:350px;color:#5E6B74;font-size:15px;line-height:1.8}
    .expertise-bottom{display:flex;justify-content:flex-end;margin-top:34px}
    .text-link{display:inline-flex;gap:16px;align-items:center;font:800 11px/1.4 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--navy);padding-bottom:8px;border-bottom:1px solid var(--orange)}
    .text-link:hover{color:#B66710}
    .projects{padding:133px 0 149px;background:var(--bone)}
    .projects .section-head{margin-bottom:58px}
    .projects h2{max-width:700px}
    .portfolio{display:grid;grid-template-columns:1.17fr .83fr;grid-template-rows:repeat(2,minmax(250px,1fr));gap:20px;min-height:710px}
    .project{position:relative;overflow:hidden;background:var(--navy);color:#fff;isolation:isolate;display:flex;align-items:flex-end;min-height:250px}
    .project-feature{grid-row:span 2}
    .project img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:saturate(.85)}
    .project:hover img{transform:scale(1.035)}
    .project-feature img{object-position:51% 45%}
    .project:nth-child(2) img{object-position:55% 30%}
    .project:nth-child(3) img{object-position:55% 40%}
    .project::after{content:"";z-index:-1;position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,30,.02) 27%,rgba(5,14,21,.82) 100%)}
    .project-content{width:100%;padding:31px 33px 31px}
    .project-feature .project-content{padding:41px 41px 42px}
    .project-label{display:inline-block;margin-bottom:13px;font:800 10px/1.5 var(--display);letter-spacing:.16em;color:#F6C18B;text-transform:uppercase}
    .project h3{font:700 clamp(23px,2.3vw,32px)/1.3 var(--display);letter-spacing:-.045em;margin:0}
    .project-feature h3{font-size:clamp(27px,2.8vw,39px)}
    .project-sub{font-size:13px;color:#D8E1E5;margin-top:9px}
    .projects .project-notice{font-size:13px;line-height:1.7;color:#69737A;max-width:680px;margin:24px 0 0}
    .projects-bottom{margin-top:33px;display:flex;align-items:center;justify-content:space-between;gap:20px}
    .projects-bottom .small-note{font:700 10px/1.6 var(--display);letter-spacing:.14em;color:#7E868B;text-transform:uppercase}
    .contact{background:var(--night);color:#fff;min-height:540px;display:flex;align-items:center;padding:106px 0 121px}
    .contact::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,19,29,.97),rgba(8,19,29,.88)),url('media/cb-photo-2e4a8393c4bb.webp') 50% 45% / cover;z-index:0}
    .contact::after{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:rgba(255,255,255,.2)}
    .contact-grid{position:relative;width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:65px}
    .contact .overline{color:var(--orange-light)}
    .contact h2{max-width:760px;font-size:clamp(44px,5.6vw,79px);margin:22px 0 24px}
    .contact p{max-width:560px;color:#CED8DD;font-size:16px;line-height:1.9;margin:0}
    .contact-cta{display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-bottom:7px}
    .contact-cta small{color:#899AA6;font-size:12px;max-width:300px;text-align:right;line-height:1.6}
    .footer{background:#0A151E;color:#D9E2E7;border-top:1px solid rgba(255,255,255,.13)}
    .footer-main{padding-top:58px;padding-bottom:57px;display:grid;grid-template-columns:1.25fr 1fr;gap:60px}
    .footer-logo{width:250px;height:auto}
    .footer-slogan{margin-top:18px;font:600 14px var(--display);color:#fff}
    .footer-main-right{justify-self:end;text-align:right}
    .footer-location{font:800 10px/1.9 var(--display);letter-spacing:.2em;text-transform:uppercase;color:#D7E1E7}
    .footer-web{display:block;margin-top:10px;font-size:14px;color:#AAB8C0}
    .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;padding-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#8D9EA8;font-size:11px;letter-spacing:.05em}
    .page-only-note{font-size:12px;line-height:1.65;color:#94A4AD}
    .modal-backdrop{position:fixed;z-index:99;inset:0;background:rgba(6,15,23,.8);display:none;align-items:center;justify-content:center;padding:24px}
    .modal-backdrop[data-open="true"]{display:flex}
    .modal-card{width:min(100%,540px);background:var(--cream);color:var(--ink);padding:42px 42px 36px;position:relative;box-shadow:0 35px 100px rgba(0,0,0,.5)}
    .modal-card h2{font:800 28px/1.2 var(--display);letter-spacing:-.04em;margin:20px 0 15px}
    .modal-card p{line-height:1.8;color:#47545E;margin:0 0 24px}
    .modal-card .eyebrow{color:#B26D18}
    .modal-close{position:absolute;right:17px;top:17px;width:37px;height:37px;border:1px solid #B8BEC1;background:transparent;cursor:pointer}
    .modal-contact{font:700 12px var(--display);padding-top:14px;border-top:1px solid #D2D5D6;color:#59666C}
    @media(max-width:1200px){.navigation{gap:24px}.nav-cta{display:none}.logo-link img{width:220px}.hero h1{font-size:clamp(62px,7.4vw,95px)}.about-grid{gap:65px}.value-grid{gap:80px}}
    @media(max-width:900px){.header-inner{height:95px}.logo-link img{width:224px}.mobile-toggle{display:flex}.navigation{position:absolute;z-index:3;top:95px;left:0;right:0;display:none;flex-direction:column;gap:0;align-items:stretch;background:#111C26;padding:14px var(--gutter) 25px;box-shadow:0 24px 40px rgba(0,0,0,.24)}.navigation[data-open="true"]{display:flex}.navigation a{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:14px}.navigation a::after{display:none}.hero{min-height:720px;height:min(860px,100svh)}.hero-content{padding-top:100px;padding-bottom:110px}.hero h1{font-size:clamp(56px,10vw,82px)}.hero-bottom{min-height:80px}.side-indicator{display:none}.about,.value,.expertise,.projects{padding:90px 0}.about-grid,.value-grid{grid-template-columns:1fr;gap:50px}.about-aside{max-width:620px;margin:auto;width:100%}.value-list{padding-top:0}.section-head{align-items:flex-start;flex-direction:column;gap:9px}.section-head .head-note{max-width:600px}.contact-grid{align-items:flex-start;flex-direction:column;gap:35px}.contact-cta{align-items:flex-start}.contact-cta small{text-align:left}.contact{min-height:480px}.portfolio{min-height:600px}}
    @media(max-width:650px){:root{--gutter:24px}.header-inner{height:86px}.navigation{top:86px}.logo-link img{width:205px;max-height:60px}.hero{height:790px;min-height:710px;max-height:none;align-items:center}.hero-photo{background-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(6,17,26,.96),rgba(6,17,26,.77) 47%,rgba(6,17,26,.38)),linear-gradient(0deg,rgba(5,14,23,.8),rgba(5,14,23,0) 65%)}.hero-content{padding-top:92px;padding-bottom:95px}.hero .overline{font-size:10px;max-width:330px;margin-bottom:25px}.hero h1{font-size:clamp(49px,10.4vw,71px);letter-spacing:-.065em}.hero-lead{font-size:16px;line-height:1.75;max-width:365px}.hero-actions{gap:13px;margin-top:31px}.btn{min-height:52px;padding:0 19px;font-size:10px;gap:20px}.hero-bottom{min-height:72px;justify-content:space-between;font-size:9px;gap:7px}.hero-bottom .concept-tag{padding:8px 9px;font-size:8px;max-width:45%;text-align:center}.hero-bottom .built{display:none}.about,.value,.expertise,.projects{padding:75px 0 82px}.about h2,.value h2,.expertise h2,.projects h2{font-size:clamp(39px,8.6vw,53px);margin:17px 0 27px}.about-copy{font-size:15px;line-height:1.88}.about-aside{padding-left:18px;padding-bottom:34px}.aside-caption{min-width:220px;padding:15px 17px}.value-intro{font-size:15px}.value-list{margin-top:0}.value-item{grid-template-columns:36px 1fr;gap:8px;padding:24px 0}.value-item h3{font-size:22px}.value-item p{font-size:14px}.section-head{margin-bottom:35px}.service-grid{grid-template-columns:1fr}.service{min-height:unset;padding:28px 5px 32px 0;gap:18px}.service:nth-child(even){padding-left:0;padding-right:5px;border-left:none}.service h3{font-size:23px}.service p{font-size:14px}.expertise-bottom{justify-content:flex-start}.portfolio{grid-template-columns:1fr;grid-template-rows:370px 250px 250px;gap:12px;min-height:unset}.project-feature{grid-row:span 1}.project-content,.project-feature .project-content{padding:22px 22px 24px}.project h3,.project-feature h3{font-size:24px}.projects-bottom{align-items:flex-start;flex-direction:column}.contact{min-height:460px;padding:85px 0 90px}.contact h2{font-size:clamp(42px,9.1vw,59px)}.contact p{font-size:15px}.footer-main{grid-template-columns:1fr;gap:30px;padding-top:46px;padding-bottom:38px}.footer-main-right{text-align:left;justify-self:start}.footer-logo{width:225px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:11px}.modal-card{padding:36px 25px 28px}}
    @media(max-width:365px){.logo-link img{width:185px}.hero{height:775px}.hero h1{font-size:47px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{justify-content:space-between;max-width:290px}.hero-bottom .concept-tag{font-size:8px}.service{gap:15px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
  

/* SERVICES — extends locked About R05 typography, nav, and footer */
.services-hero{position:relative;min-height:695px;height:min(770px,92svh);color:#fff;background:var(--night);isolation:isolate;overflow:hidden;display:flex;align-items:center}
.services-hero-photo{position:absolute;inset:0;z-index:-3;background:url('media/cb-photo-725e24256e6b.webp') center 53% / cover no-repeat}
.services-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(7,17,25,.97) 0%,rgba(7,18,27,.93) 29%,rgba(7,18,27,.67) 55%,rgba(7,18,27,.2) 100%),linear-gradient(180deg,transparent 48%,rgba(7,18,27,.68))}
.services-hero-copy{position:relative;width:100%;padding-top:145px;padding-bottom:118px}
.services-hero-text{max-width:780px}
.services-hero .overline{color:#E5E9EB;margin-bottom:27px}
.services-hero h1{font:800 clamp(59px,6.15vw,96px)/1.09 var(--display);letter-spacing:-.067em;margin:0 0 25px}
.services-hero h1 em{font-style:normal;color:var(--orange)}
.services-hero p{max-width:510px;font-size:clamp(17px,1.6vw,20px);line-height:1.75;color:#DAE3E7;margin:0 0 34px}
.services-hero-bottom{position:absolute;bottom:0;left:0;right:0;border-top:1px solid rgba(255,255,255,.18);min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 10px var(--display);letter-spacing:.19em;text-transform:uppercase;color:#D1D9DD}
.services-hero-bottom strong{font-weight:700;color:var(--orange-light)}
.service-nav{background:#F0ECE4;border-bottom:1px solid #DCD6CC}
.service-nav-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:86px;align-items:stretch}
.service-nav a{display:flex;align-items:center;gap:13px;padding:20px 15px 20px 0;font:700 12px/1.45 var(--display);color:#2A3843;transition:color .2s}
.service-nav a+a{border-left:1px solid #D8D3CA;padding-left:26px}
.service-nav a:hover{color:#B36B17}
.service-nav a span{font:800 10px var(--display);color:#B46D1D;letter-spacing:.1em}
.services-intro{padding:92px 0 82px;background:var(--cream)}
.services-intro-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end}
.services-intro h2{font:700 clamp(40px,4.1vw,61px)/1.17 var(--display);letter-spacing:-.06em;margin:23px 0 0;max-width:710px}
.services-intro p{font-size:17px;line-height:1.86;color:#55616A;max-width:490px;margin:0 0 4px}
.offer{padding:124px 0 135px;position:relative;overflow:hidden}
.offer.light{background:var(--cream);color:var(--ink)}
.offer.dark{background:var(--navy);color:#fff}
.offer.dark.alt{background:#16232D}
.offer-grid{display:grid;grid-template-columns:minmax(0,1.0fr) minmax(0,1.05fr);gap:clamp(70px,8vw,135px);align-items:center}
.offer.reverse .offer-media{order:2}
.offer.reverse .offer-content{order:1}
.offer-media{position:relative;align-self:stretch;min-height:530px}
.offer-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:filter .3s}
.offer-media::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(6,15,22,.55));pointer-events:none}
.offer-media-note{position:absolute;z-index:1;bottom:18px;left:21px;color:#fff;text-transform:uppercase;letter-spacing:.13em;font:800 9px var(--display);background:rgba(12,28,39,.85);border:1px solid rgba(255,255,255,.22);padding:9px 13px}
.offer .overline{color:#9D6324}
.offer.dark .overline{color:var(--orange-light)}
.offer-index{display:block;font:800 11px var(--display);color:#B96F1D;letter-spacing:.18em;margin:20px 0 11px}
.offer.dark .offer-index{color:var(--orange-light)}
.offer h2{font:700 clamp(42px,4vw,59px)/1.13 var(--display);letter-spacing:-.056em;margin:0 0 25px;max-width:630px}
.offer-intro{font-size:16px;line-height:1.86;color:#4B5963;margin:0 0 27px;max-width:565px}
.offer.dark .offer-intro{color:#CED7DC}
.offer-scope{border-top:1px solid #C9C9C4;border-bottom:1px solid #C9C9C4;padding:21px 0;display:flex;gap:12px 17px;flex-wrap:wrap;align-items:center}
.offer.dark .offer-scope{border-color:rgba(255,255,255,.25)}
.offer-scope span{font:700 11px/1.6 var(--display);letter-spacing:.01em}
.offer-scope span:not(:last-child)::after{content:" /";color:#C37B27;margin-left:16px}
.offer-outcome{margin:30px 0 0;padding:0 0 0 20px;border-left:2px solid var(--orange)}
.offer-outcome .label{display:block;font:800 10px var(--display);color:#A46922;letter-spacing:.17em;text-transform:uppercase;margin-bottom:9px}
.offer.dark .offer-outcome .label{color:var(--orange-light)}
.offer-outcome p{font:600 clamp(17px,1.5vw,20px)/1.65 var(--display);letter-spacing:-.015em;color:#24323A;margin:0;max-width:540px}
.offer.dark .offer-outcome p{color:#fff}
.offer.dark .offer-media:before{content:"";position:absolute;left:-25px;top:27px;width:100%;height:100%;border:1px solid rgba(227,130,25,.32);pointer-events:none}
.services-close{background:#0A151E;color:#fff;padding:100px 0 116px}
.services-close-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}
.services-close h2{font:700 clamp(47px,5vw,75px)/1.12 var(--display);letter-spacing:-.058em;margin:24px 0;max-width:750px}
.services-close h2 em{font-style:normal;color:var(--orange)}
.services-close p{max-width:600px;color:#BECBD2;line-height:1.8;font-size:17px;margin:0}
.services-close-cta{display:flex;flex-direction:column;gap:12px;align-items:flex-end;flex:none}
.services-close-cta small{font-size:11px;line-height:1.6;color:#91A0A9;text-align:right;max-width:270px}
.services-disclaimer{font-size:12px;color:#798B96;padding:20px 0;background:#0A151E;border-top:1px solid rgba(255,255,255,.09)}
@media(max-width:1100px){.service-nav a{font-size:11px}.service-nav a+a{padding-left:15px}.offer-grid{gap:55px}.offer-media{min-height:490px}}
@media(max-width:900px){.services-hero{min-height:690px;height:780px}.services-hero h1{font-size:clamp(58px,8vw,80px)}.services-intro-layout,.offer-grid{grid-template-columns:1fr;gap:45px}.offer{padding:85px 0}.offer-media{min-height:470px;max-height:590px}.offer.reverse .offer-media,.offer.reverse .offer-content{order:initial}.offer-content{max-width:700px}.services-intro{padding:83px 0 72px}.services-close-grid{flex-direction:column;align-items:flex-start;gap:40px}.services-close-cta{align-items:flex-start}.services-close-cta small{text-align:left}.service-nav-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.service-nav a{border-bottom:1px solid #D8D3CA}.service-nav a:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:650px){.services-hero{height:720px;min-height:660px}.services-hero-photo{background-position:60% center}.services-hero-shade{background:linear-gradient(90deg,rgba(7,17,25,.97),rgba(7,18,27,.76) 60%,rgba(7,18,27,.42)),linear-gradient(0deg,rgba(7,18,27,.7),transparent 50%)}.services-hero-copy{padding-top:112px;padding-bottom:98px}.services-hero h1{font-size:clamp(44px,9.5vw,63px)}.services-hero p{font-size:16px}.services-hero-bottom{font-size:8px;letter-spacing:.13em;min-height:67px}.services-hero-bottom span:last-child{display:none}.service-nav a{font-size:10px;padding:18px 12px 18px 0;gap:9px}.service-nav a:nth-child(2n){padding-left:10px}.service-nav a span{font-size:9px}.services-intro{padding:65px 0 55px}.services-intro h2{font-size:43px}.services-intro p{font-size:15px}.offer{padding:65px 0 76px}.offer-grid{gap:34px}.offer-media{min-height:350px;height:440px}.offer h2{font-size:clamp(41px,9vw,53px);margin-bottom:19px}.offer-intro{font-size:15px}.offer-scope{padding:16px 0}.offer-scope span{font-size:10px}.offer-outcome{margin-top:22px}.offer-outcome p{font-size:17px}.services-close{padding:72px 0 83px}.services-close h2{font-size:clamp(42px,10vw,59px)}.services-close p{font-size:15px}}
@media(max-width:365px){.services-hero h1{font-size:40px}.service-nav a{font-size:9px}.offer h2{font-size:40px}}

/* Services R13 refinements — aligned to approved About R12 */
.services-hero-photo{background-image:url('media/cb-photo-a7e270664122.webp')!important;background-position:63% 48%;}
.services-hero h1 em,.services-intro h2 em,.services-close h2 em{font-style:italic!important;color:#E38219}
.offer-media{background:#162a36;overflow:hidden;}
.offer-media img{filter:none;object-fit:cover;object-position:center;}
.offer.dark .offer-media:before{z-index:1;}
.offer-media::after{background:linear-gradient(180deg,transparent 72%,rgba(12,25,33,.17) 100%);}
#development .offer-media{background:#EEEAE3;}
#development .offer-media img{object-position:center 45%;}
#contracting .offer-media img{object-position:54% center;}
#engineering .offer-media img,#controls .offer-media img{object-fit:cover;}
.service-nav a{font-size:clamp(12px,.97vw,15px);}
.service-nav a span{font-size:15px;}
.offer-intro{font-size:clamp(17px,1.35vw,19px);line-height:1.72;}
.offer-scope span{font-size:clamp(12px,.95vw,14px);}
.offer-outcome .label{font-size:12px;}
.offer-index,.overline{font-size:13px;}
.services-hero-bottom{font-size:12px;}
.offer h2{font-weight:800;}
.cb-image-integrity{background:#0A151E;color:#A7B9C3;margin:0;padding:2px clamp(24px,5.5vw,98px) 26px;text-align:center;font:400 12px/1.6 Manrope,Arial,sans-serif;}
@media(max-width:900px){.offer-media{height:auto;min-height:440px}.offer-grid{gap:36px}}
@media(max-width:650px){
 .services-hero-photo{background-position:62% center;}
 .services-hero-bottom{font-size:10px;}
 .offer-media{height:380px;min-height:380px;}
 .offer-intro{font-size:16px;line-height:1.7;}
 .offer-scope span{font-size:12px;}
 .services-hero h1{font-size:clamp(44px,9.5vw,63px);}
 .cb-image-integrity{font-size:11px;line-height:1.5;}
}
@media(max-width:365px){.offer-media{height:330px;min-height:330px;}}

/* CB Edition 04 | shared finishing system | R06 */
:root{--navy:#111C26;--orange:#E38219;--cream:#F6F3EC;--ink:#17242E;--display:'Manrope',Arial,sans-serif;--body:'Manrope',Arial,sans-serif}
.skip-link{position:fixed;z-index:300;top:-100px;left:16px;padding:12px 20px;background:#E38219;color:#111C26;font-weight:700;border-radius:3px}
.skip-link:focus{top:12px}
.footer-nav{display:flex;flex-wrap:wrap;gap:14px 28px;padding-top:20px;padding-bottom:20px;border-top:1px solid rgba(255,255,255,.12);font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.035em}
.footer-nav a{color:#D9E2E7;text-decoration:none;transition:color .2s}
.footer-nav a:hover,.footer-nav a[aria-current="page"]{color:#ECA34F}
.footer-privacy{margin-left:auto}
button,a,input,select,textarea{touch-action:manipulation}
@media(max-width:600px){.footer-nav{gap:16px 20px;font-size:11px}.footer-privacy{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.cb-privacy-note{margin:44px auto 0;padding-top:24px;padding-bottom:28px;border-top:1px solid rgba(27,40,50,.18);font-size:13px;line-height:1.65;color:#5A6570;scroll-margin-top:110px}
.cb-privacy-note strong{font:800 12px var(--display);letter-spacing:.05em;text-transform:uppercase;color:#17242E}
.cb-privacy-note p{max-width:760px;margin:10px 0 0}


/* CB | R08 | Unified Manrope typography and editorial heading system */
:root{
  --body:'Manrope',Arial,sans-serif;
  --display:'Manrope',Arial,sans-serif;
  --type-orange:#E38219;
  --type-orange-light:#B76312;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,button,input,select,textarea{font-family:var(--body)}
h1,h2,h3,h4,.navigation,.btn,.overline,.eyebrow{font-family:var(--display)}
h1 em,h2 em{font-family:var(--display);font-style:italic!important;color:var(--type-orange)}
.hero h1 span{font-style:italic;color:var(--type-orange)}
/* Deep contrast on cream/white panels, signature orange on navy panels. */
.about h2 em,.expertise h2 em,.approach h2 em,.services-intro h2 em,
.offer.light h2 em,.cbp-portfolio-heading h2 em,.cbp-feature.light h2 em,
.enquiry h2 em{color:var(--type-orange-light)!important}
.value h2 em,.contact h2 em,.services-close h2 em,
.cbp-feature.dark h2 em,.cbp-close h2 em,.contact-hero h1 em,
.reach h2 em{color:var(--type-orange)!important}
/* Labels and navigation: understated, never microscopic. */
.overline,.hero .overline,.contact-hero .overline,.cbp-feature-copy .overline{
  font-size:12.5px;line-height:1.5;letter-spacing:.145em;
}
.eyebrow{font-size:12px;letter-spacing:.12em}
.navigation a{font-size:15px;letter-spacing:.04em;font-weight:700}
.nav-cta{font-size:13px;letter-spacing:.03em}
.footer-nav{font-size:14px;letter-spacing:.015em}
.footer-location{font:700 13px/1.75 var(--display)}
.footer-bottom{font-size:13px}
.footer-web{font-size:15px}
.footer-slogan{font-size:15px}
/* Readable working text, measured line length and rhythm. */
.hero-lead,.services-hero-text p,.cbp-hero-intro,.contact-hero p{
  font-size:clamp(17px,1.5vw,20px);line-height:1.7;
}
.about-copy{font-size:18px;line-height:1.8}
.value-intro{font-size:18px;line-height:1.7}
.value-item p{font-size:16.5px;line-height:1.75}
.section-head .head-note,.approach .head-note{font-size:17px;line-height:1.75}
.expertise .service-card p,.expertise .expertise-card p,.expertise article p{font-size:16.5px;line-height:1.7}
.approach-step p{font-size:16.5px;line-height:1.75}
.approach-number{font-size:13px}
.approach-bottom span{font-size:12px;line-height:1.5}
.contact p{font-size:17px;line-height:1.75}
.services-intro p{font-size:18px;line-height:1.75}
.offer-intro{font-size:18px;line-height:1.75}
.offer-scope span{font-size:12px;line-height:1.55}
.offer-outcome .label{font-size:12px}
.offer-outcome p{font-size:18px;line-height:1.65}
.services-close p,.cbp-close p{font-size:17px;line-height:1.75}
.cbp-portfolio-heading p,.cbp-collection-desc{font-size:18px;line-height:1.75}
.cbp-feature-description{font-size:18px;line-height:1.75}
.cbp-feature-type,.cbp-feature-bottom span{font-size:12px}
.cbp-feature-bottom strong{font-size:14px}
.cbp-feature-action{font-size:13px}
.cbp-note p,.cbp-dialog-description{font-size:14px;line-height:1.7}
.cbp-feature-media .cbp-expand,.cbp-view .cbp-view-label{font-size:12px}
.enquiry-side p{font-size:17px;line-height:1.75}
.form-top strong,.form-top span{font-size:13px}
.form-field label{font-size:14px;line-height:1.5}
.form-field input,.form-field select,.form-field textarea{font-size:16px;line-height:1.5}
.form-consent,.form-notice{font-size:14px;line-height:1.65}
.reach-lead{font-size:17px;line-height:1.75}
.reach-info-item span{font-size:12px}
.cb-privacy-note{font-size:14px;line-height:1.75}
.cb-privacy-note strong{font-size:13px}
/* Avoid too-large display styles overflowing compact feature/intro columns. */
.services-intro h2{font-size:clamp(38px,3.75vw,57px);line-height:1.19}
.cbp-hero h1{font-size:clamp(64px,7.4vw,112px);line-height:1.08}
@media(max-width:1200px){
  .navigation a{font-size:14px}
  .nav-cta{font-size:12px}
}
@media(max-width:900px){
  .navigation a{font-size:16px}
  .about-copy{font-size:17px}
  .approach-step p{font-size:16px}
  .services-intro h2{font-size:clamp(39px,5.6vw,55px)}
}
@media(max-width:650px){
  .overline,.hero .overline,.contact-hero .overline,.cbp-feature-copy .overline{font-size:12px;letter-spacing:.11em}
  .eyebrow{font-size:12px}
  .navigation a{font-size:16px}
  .nav-cta{font-size:13px}
  .hero-lead,.services-hero-text p,.cbp-hero-intro,.contact-hero p{font-size:17px;line-height:1.7}
  .about-copy,.value-intro,.value-item p,.section-head .head-note,.approach .head-note,
  .expertise .service-card p,.expertise .expertise-card p,.expertise article p,
  .approach-step p,.services-intro p,.offer-intro,.offer-outcome p,.cbp-feature-description,
  .cbp-portfolio-heading p,.enquiry-side p,.reach-lead{font-size:16px;line-height:1.7}
  .contact p,.services-close p,.cbp-close p{font-size:16px}
  .approach-bottom span{font-size:11px}
  .form-field label{font-size:14px}
  .form-field input,.form-field select,.form-field textarea{font-size:16px}
  .footer-nav{font-size:14px}
  .footer-bottom{font-size:12px}
  .services-intro h2{font-size:clamp(34px,8vw,46px);line-height:1.17}
  .cbp-hero h1{font-size:clamp(48px,9vw,70px)}
}
@media(max-width:390px){
  .contact-hero .btn{gap:12px;padding-inline:16px;letter-spacing:.045em;font-size:11px;max-width:100%;white-space:normal}
  .contact-hero .btn svg{width:14px}
}



/* Services R14 — approved artwork, native landscape presentation */
.offer-grid{gap:clamp(42px,6vw,106px)}
.offer-media{width:100%;height:auto;min-height:0;aspect-ratio:16/10;align-self:center;display:block;border:0;padding:0;text-align:left;background:#EFEAE2;cursor:zoom-in;box-shadow:0 12px 45px rgba(8,22,33,.09)}
.offer-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center!important;filter:none!important;transition:transform .3s ease}
.offer-media:hover img{transform:scale(1.012)}
.offer-media::after{display:none}
.offer.dark .offer-media:before{left:-16px;top:16px;z-index:-1}
#development .offer-media{background:#E8E6DF}
#contracting .offer-media{background:#0A1826}
#engineering .offer-media{background:#F6F0E9}
#controls .offer-media{background:#F6F3EC}
.offer .offer-media:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.cb-zoom-dialog{border:0;padding:0;background:transparent;overflow:visible;max-width:min(94vw,1700px);max-height:94vh;color:#fff}
.cb-zoom-dialog::backdrop{background:rgba(5,14,22,.9);backdrop-filter:blur(6px)}
.cb-zoom-dialog .zoom-frame{display:flex;align-items:center;justify-content:center;position:relative;max-height:94vh;overflow:hidden}
.cb-zoom-dialog img{max-width:94vw;max-height:88vh;width:auto;height:auto;object-fit:contain}
.cb-zoom-dialog button{position:absolute;top:12px;right:12px;width:43px;height:43px;z-index:2;border:1px solid rgba(255,255,255,.55);background:rgba(10,23,34,.92);color:#fff;font-size:29px;line-height:1;cursor:pointer}
.cb-zoom-dialog button:focus-visible{outline:3px solid var(--orange)}
@media (max-width:900px){.offer-media{height:auto!important;min-height:0!important;aspect-ratio:16/10}.offer-grid{gap:30px}}
@media (max-width:650px){.offer-media{height:auto!important;min-height:0!important;aspect-ratio:16/10}.offer{padding:64px 0 74px}.offer-grid{gap:27px}}
@media (prefers-reduced-motion:reduce){.offer-media:hover img{transform:none}}


/* Civil Builders Services R15: no repeated branding inside service images. */
.services-close{
  position:relative;isolation:isolate;min-height:510px;
  display:flex;align-items:center;overflow:hidden;
  background:#0A151E;color:#fff;
}
.services-close::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background: url('media/cb-photo-a5e52d9e3644.webp') 56% 45%/cover no-repeat;
  filter:saturate(.76) contrast(1.1) brightness(.74);
  transform:scale(1.015);
}
.services-close::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(8,19,29,.97) 0%,rgba(8,19,29,.91) 44%,rgba(8,19,29,.72) 72%,rgba(8,19,29,.66) 100%);
}
.services-close-grid{position:relative;z-index:1;width:100%}
.services-close h2{color:#FFFFFF}
.services-close p{color:#D8E1E6;max-width:590px}
.services-close .overline{color:#E38219}
@media(max-width:900px){.services-close{min-height:470px}}
@media(max-width:650px){
 .services-close{padding:82px 0 92px;min-height:0}
 .services-close::before{background-position:58% center}
 .services-close::after{background:linear-gradient(90deg,rgba(8,19,29,.96),rgba(8,19,29,.83) 75%,rgba(8,19,29,.76))}
 .services-close-grid{gap:30px}
 .services-close h2{font-size:clamp(40px,11vw,55px)}
}


/* R16 refinement: clear, unillustrated CTA panel; original solid brand navy retained. */
.services-close{background:#0A151E!important;}
.services-close::before,.services-close::after{content:none!important;display:none!important;background:none!important;}


/* Civil Builders | approved final visual system: scoped, minimal adjustments */
html{scroll-behavior:smooth;scroll-padding-top:100px}
body,button,input,select,textarea{font-family:'Manrope',Arial,sans-serif}
:focus-visible{outline:2px solid #E38219;outline-offset:4px}
/* End sections remain individual by page; shared tone and typography */
.section.contact,.services-close,.cbp-close,.plain-bottom{
  background:#fff!important;color:#111C26!important;min-height:unset!important;
  border-top:1px solid #e9e9e6!important;isolation:isolate;
}
.services-close::before,.services-close::after,.cbp-close::before,.cbp-close::after{content:none!important;display:none!important;background:none!important}
.section.contact h2,.services-close h2,.cbp-close h2,.plain-bottom h2{color:#111C26!important}
.section.contact h2 em,.services-close h2 em,.cbp-close h2 em,.plain-bottom h2 em{color:#C46B10!important;font-style:italic!important}
.section.contact p,.services-close p,.cbp-close p,.plain-bottom p{color:#53616C!important}
.section.contact .overline,.services-close .overline,.cbp-close .overline{color:#B55E09!important}
.section.contact,.services-close,.cbp-close{padding-top:clamp(75px,9vw,130px)!important;padding-bottom:clamp(80px,9vw,130px)!important}
.plain-bottom{padding-top:clamp(70px,8vw,110px)!important;padding-bottom:clamp(75px,8vw,115px)!important}
/* The end CTA reads as editorial light, without shifting the page content */
.section.contact .btn,.services-close .btn,.cbp-close .btn{background:#E38219!important;color:#0A151E!important;border-color:#E38219!important}
.section.contact .btn:hover,.services-close .btn:hover,.cbp-close .btn:hover{background:#f19a34!important;border-color:#f19a34!important}
/* Approved unified footer */
.cb-final-footer{background:#0A151E;color:#fff;padding:65px 0 25px;border-top:0;font-family:'Manrope',Arial,sans-serif}
.cb-final-footer *{box-sizing:border-box}
.cb-final-footer .cbf-wrap{width:min(1440px,calc(100% - 9vw));margin:0 auto}
.cb-final-footer .cbf-footer-top{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:35px}
.cb-final-footer .cbf-footer-logo{width:clamp(220px,23vw,315px);height:auto;display:block;max-width:100%}
.cb-final-footer .cbf-location{text-align:right;text-transform:uppercase;letter-spacing:.2em;line-height:1.8;font-size:12px;font-weight:750}
.cb-final-footer .cbf-location a{display:block;margin-top:12px;font-size:13px;letter-spacing:0;text-transform:none;color:#b9c7d1;text-decoration:none;font-weight:450}
.cb-final-footer .cbf-location a:hover{color:#E38219}
.cb-final-footer .cbf-rule{height:1px;background:#2d3a44;margin:42px 0 30px}
.cb-final-footer .cbf-footer-middle{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.cb-final-footer .cbf-connect-label{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700;color:#b5c2cb}
.cb-final-footer .cbf-socials{display:flex;gap:12px;flex-wrap:wrap}
.cb-final-footer .cbf-social-link{height:48px;width:48px;display:flex;align-items:center;justify-content:center;border:1px solid #354550;background:#13242f;color:#f4f7f9;text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.cb-final-footer .cbf-social-link:hover,.cb-final-footer .cbf-social-link:focus-visible{color:#E38219;border-color:#E38219;background:#1a2d39;transform:translateY(-2px)}
.cb-final-footer .cbf-social-link svg{width:20px;height:20px}
.cb-final-footer .cbf-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:14px;color:#98a9b4;font-size:12px;line-height:1.5}
.cb-final-footer .cbf-footer-bottom a{color:inherit;text-decoration:none}
.cb-final-footer .cbf-footer-bottom a:hover{color:#E38219}
@media(max-width:750px){.cb-final-footer .cbf-wrap{width:calc(100% - 42px)}.cb-final-footer .cbf-footer-top{grid-template-columns:1fr}.cb-final-footer{padding-top:50px}.cb-final-footer .cbf-location{text-align:left}.cb-final-footer .cbf-footer-middle{align-items:flex-start;flex-direction:column}.cb-final-footer .cbf-rule{margin:29px 0}.cb-final-footer .cbf-footer-logo{width:min(280px,85%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cb-final-footer *{transition:none!important}}
/* Fallback for photographic/illustrative project studies: keep transparent portfolio positioning */
.cbf-concept-note{font-size:13px;line-height:1.6;color:#52616B;margin:15px 0 0;max-width:700px}
/* Form state */
#form-status[data-show="true"]{display:block;opacity:1}
.cb-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;height:1px!important;overflow:hidden!important}

/* Civil Builders R02 | Publication refinements: shared typography, responsive hero/header, layout safety */
:root{--cb-navy:#111C26;--cb-orange:#E38219;--cb-paper:#F6F3EC;}
html{scroll-padding-top:96px;scroll-behavior:smooth}
body,button,input,select,textarea{font-family:'Manrope',Arial,sans-serif}
img{max-width:100%}
*,*::before,*::after{box-sizing:border-box}
:focus-visible{outline:3px solid #E38219;outline-offset:3px}
/* Every page uses one header/header typography system */
.header-inner{height:114px!important}
.header .navigation a{font-family:'Manrope',Arial,sans-serif;font-size:14px;letter-spacing:.035em;font-weight:700}
.header .nav-cta{font-size:13px;letter-spacing:.045em;font-weight:800;min-height:45px}
.header .logo-link img{width:265px;max-width:100%;height:auto}
/* Consistent first-fold dimensions, title size and content alignment on desktop */
main>section.hero:first-child,main>section.services-hero:first-child,main>section.cbp-hero:first-child{
  display:flex!important;align-items:center!important;box-sizing:border-box!important;
  min-height:760px!important;height:clamp(760px,83svh,920px)!important;max-height:none!important;
  padding-block:0!important;
}
main>section.hero:first-child .hero-content,
main>section.services-hero:first-child .services-hero-copy,
main>section.cbp-hero:first-child .cbp-hero-inner{padding-block:135px 105px;position:relative;z-index:1;width:100%}
main>section.hero:first-child h1,
main>section.services-hero:first-child h1,
main>section.cbp-hero:first-child h1{
  font-family:'Manrope',Arial,sans-serif!important;font-size:clamp(64px,7vw,104px)!important;
  line-height:1.055!important;letter-spacing:-.07em!important;font-weight:800!important;max-width:920px;
}
/* Footer remains a unified approved dark component; white CTA remains visually distinct */
.cb-final-footer{border-top:0!important}
.cb-final-footer .cbf-footer-logo{height:auto}
.cb-privacy-note{width:min(1100px,calc(100% - 48px));margin:38px auto 0;padding:22px 25px;border-top:1px solid #dfe4e6;color:#46545F;font-size:13px;line-height:1.85}
.cb-privacy-note strong{display:block;color:#111C26;font-weight:800;margin-bottom:6px}
.cb-privacy-note p{margin:0;max-width:850px}
.cb-privacy-note a{color:#A9560A;text-decoration:underline;text-underline-offset:3px}
#privacy-note{scroll-margin-top:115px}
#enquiry{scroll-margin-top:95px}
#project-form button:disabled{opacity:.7;cursor:progress}
/* Prevent mobile 100vw overflow from any scenic layers */
body{min-width:320px;overflow-x:clip}
@media (min-width:901px) and (max-width:1150px){
 .header .navigation{gap:20px!important}
 .header .navigation a{font-size:12px!important}
 .header .logo-link img{width:225px}
}
@media(max-width:900px){
 .header-inner{height:95px!important}
 .header .logo-link img{width:clamp(195px,32vw,240px)}
 main>section.hero:first-child,main>section.services-hero:first-child,main>section.cbp-hero:first-child{
  height:clamp(660px,84svh,810px)!important;min-height:660px!important;
 }
 main>section.hero:first-child .hero-content,
 main>section.services-hero:first-child .services-hero-copy,
 main>section.cbp-hero:first-child .cbp-hero-inner{padding-block:130px 85px}
 main>section.hero:first-child h1,
 main>section.services-hero:first-child h1,
 main>section.cbp-hero:first-child h1{font-size:clamp(51px,8.7vw,78px)!important}
 .header .navigation a{font-size:15px}
}
@media(max-width:600px){
 .header-inner{height:86px!important}
 .header .logo-link img{width:200px}
 main>section.hero:first-child,main>section.services-hero:first-child,main>section.cbp-hero:first-child{
  height:700px!important;min-height:700px!important;max-height:none!important;
 }
 main>section.hero:first-child .hero-content,
 main>section.services-hero:first-child .services-hero-copy,
 main>section.cbp-hero:first-child .cbp-hero-inner{padding-block:112px 86px}
 main>section.hero:first-child h1,
 main>section.services-hero:first-child h1,
 main>section.cbp-hero:first-child h1{
   font-size:clamp(42px,10.7vw,60px)!important;line-height:1.08!important;letter-spacing:-.063em!important;
 }
 main>section.hero:first-child p,
 main>section.services-hero:first-child p,
 main>section.cbp-hero:first-child p{max-width:36ch}
 .cb-privacy-note{width:calc(100% - 38px);padding:18px 0 0}
 .cb-final-footer .cbf-social-link{width:46px;height:46px}
}
@media(max-width:370px){
 .header .logo-link img{width:176px}
 main>section.hero:first-child h1,
 main>section.services-hero:first-child h1,
 main>section.cbp-hero:first-child h1{font-size:41px!important}
 .cb-final-footer .cbf-socials{gap:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Civil Builders R03: consistency fixes, intentionally applied LAST on every page */
:root{--cb-navy:#111C26;--cb-orange:#E38219;--cb-deep:#0A151E;--cb-cream:#F6F3EC}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{overflow-x:clip}
.header{z-index:50}
.header .wrap.header-inner{height:114px!important;min-height:114px!important;display:flex;align-items:center!important;box-sizing:border-box!important}
.header .logo-link{display:flex!important;flex:0 0 auto;align-items:center!important;justify-content:flex-start!important;max-width:265px}
.header .logo-link img{display:block!important;width:265px!important;height:auto!important;max-height:84px!important;object-fit:contain!important}
.header nav.navigation{align-items:center!important;justify-content:center!important;gap:clamp(20px,2.4vw,38px)!important}
.header nav.navigation>a{font-family:'Manrope',Arial,sans-serif!important;font-size:14px!important;font-weight:700!important;letter-spacing:.035em!important;line-height:1.35!important;white-space:nowrap}
.header .header-right .nav-cta{font-family:'Manrope',Arial,sans-serif!important;font-size:13px!important;font-weight:800!important;letter-spacing:.05em!important;line-height:1.25!important}
.header nav.navigation>a[aria-current='page']::after{background:#E38219!important;height:3px!important}
.cb-privacy-note{width:min(1100px,calc(100% - 48px));margin:30px auto 0;padding:18px 0 0;border-top:1px solid #dfe4e6;color:#485660;font-size:13px;line-height:1.7}
.cb-privacy-note strong{font-size:13px;font-weight:800;color:#111C26;margin:0 0 3px}
.cb-privacy-note p{margin:0}
#enquiry,#privacy-note{scroll-margin-top:112px}
@media(min-width:901px) and (max-width:1180px){
 .header .logo-link img{width:225px!important}
 .header .logo-link{max-width:225px}
 .header nav.navigation{gap:clamp(12px,1.8vw,22px)!important}
 .header nav.navigation>a{font-size:12px!important}
}
@media(max-width:900px){
 .header .wrap.header-inner{height:95px!important;min-height:95px!important}
 .header .logo-link img{width:clamp(190px,29vw,235px)!important}
 .header .logo-link{max-width:235px}
 .header nav.navigation>a{font-size:15px!important}
}
@media(max-width:600px){
 .header .wrap.header-inner{height:86px!important;min-height:86px!important}
 .header .logo-link img{width:200px!important}
 .header .logo-link{max-width:200px}
 .cb-privacy-note{width:calc(100% - 38px);padding-top:14px}
}
@media(max-width:370px){.header .logo-link img{width:176px!important}.header .logo-link{max-width:176px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:720px){.services-hero-photo{background-image:url('media/cb-photo-a7e270664122-mobile.webp')!important;}}
