:root{--yellow:#ffd400;--ink:#181a1b;--charcoal:#242728;--muted:#6a6e70;--line:#dfe1e0;--paper:#f5f5f1;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;background:#fff}a{color:inherit;text-decoration:none}p{color:#565b5d}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px);border-bottom:1px solid var(--line);position:relative;background:#fff;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:15px;letter-spacing:.08em;font-weight:800}.brand b{display:block;font-size:11px;letter-spacing:.24em}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-weight:900;letter-spacing:-.08em}.site-header nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.site-header nav>a:not(.btn):hover,.text-link:hover{border-bottom-color:var(--yellow)}.site-header nav>a:not(.btn),.text-link{border-bottom:2px solid transparent}.menu{display:none}.btn{display:inline-block;background:var(--yellow);color:#111!important;padding:15px 22px;font-weight:800;border:none;cursor:pointer}.btn:hover{background:#ffe24d}.btn-small{padding:11px 16px}.hero{display:grid;grid-template-columns:54% 46%;min-height:660px}.hero-copy{padding:100px max(5vw,36px) 70px}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:900;color:#343839}.hero h1,.page-hero h1{font-size:clamp(48px,6.2vw,96px);line-height:.95;letter-spacing:-.055em;margin:22px 0 30px;max-width:850px}.hero h1 em,.page-hero h1 em{font-style:normal;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:10px;text-underline-offset:-5px}.lead{font-size:20px;max-width:640px}.actions{display:flex;align-items:center;gap:28px;margin:35px 0}.text-link{font-weight:800;font-size:14px}.trust-row{display:flex;gap:26px;font-size:12px;font-weight:800;margin-top:45px}.hero-visual{background:linear-gradient(135deg,#575c5d,#202425);min-height:620px;position:relative;display:grid;place-items:center;color:#b8baba;font-size:11px;letter-spacing:.18em}.hero-visual:before{content:"";position:absolute;inset:10%;border:1px solid #747879}.stat{position:absolute;left:-55px;bottom:45px;background:#fff;color:var(--ink);padding:24px 30px;box-shadow:0 15px 45px #0003}.stat b,.stat small{display:block}.stat small{color:var(--muted);margin-top:5px}.client-strip{display:flex;justify-content:space-around;gap:25px;padding:24px 4vw;background:var(--paper);font-size:11px;letter-spacing:.13em;color:#676b6b}.section{padding:100px max(6vw,35px)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw}.intro h2,.section h2,.cta h2{font-size:clamp(36px,4vw,62px);line-height:1.08;letter-spacing:-.04em;margin:15px 0}.intro>div:last-child{padding-top:45px;font-size:18px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9dbd9;padding-top:0;padding-bottom:0}.services article{background:var(--paper);padding:42px;min-height:310px;display:flex;flex-direction:column}.services .featured-card{grid-column:span 3;min-height:400px;background:var(--yellow);display:grid;grid-template-columns:1fr 2fr}.services h3{font-size:27px;margin-top:auto}.services article a{font-size:13px;font-weight:800;text-decoration:underline}.number{font-weight:900}.dark{background:var(--charcoal);color:white}.dark p{color:#c9cbca}.yellow{color:var(--yellow)!important}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.split>div:first-child{max-width:620px}.check-list p{border-bottom:1px solid #555;padding:19px 0;margin:0;font-size:18px;color:#fff}.check-list b{color:var(--yellow);font-size:12px;margin-right:25px}.section-head{display:flex;justify-content:space-between;align-items:end}.work-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:270px 270px;gap:18px;margin-top:35px}.photo-placeholder{background:linear-gradient(135deg,#d9dbd8,#aeb3af);display:grid;place-items:center;color:#696d6a;font-size:10px;letter-spacing:.18em}.photo-placeholder.tall{grid-row:span 2;background:linear-gradient(135deg,#545958,#222)}.testimonial{background:var(--yellow);padding:38px}.testimonial blockquote{font-size:22px;margin:20px 0}.testimonial small{font-weight:800}.stars{letter-spacing:.15em}.cta{text-align:center;background:var(--yellow);padding:100px 25px}.cta p{color:#242424}.dark-btn{background:var(--ink);color:#fff!important}.dark-btn:hover{background:#383b3c}footer{background:#17191a;color:#fff;padding:65px max(6vw,35px) 25px;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:45px}footer p,footer span,footer small{color:#aeb1b1}footer div{display:flex;flex-direction:column;gap:10px}footer div>b{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--yellow);margin-bottom:10px}footer a{font-size:13px}.footer-bottom{grid-column:1/-1;border-top:1px solid #3e4142;padding-top:24px;margin-top:30px;display:flex;flex-direction:row;justify-content:space-between;font-size:11px}.page-hero{background:var(--paper);padding:90px max(6vw,35px);min-height:500px;display:flex;flex-direction:column;justify-content:center}.page-hero p{max-width:700px;font-size:19px}.page-hero h1{font-size:clamp(46px,6vw,82px)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.content-grid h2{font-size:clamp(34px,4vw,56px)}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.feature-list article{background:white;padding:32px}.feature-list h3{font-size:20px}.feature-list .icon{color:#111;background:var(--yellow);width:35px;height:35px;display:grid;place-items:center;font-weight:900}.band{padding:65px max(6vw,35px);background:var(--yellow);display:flex;justify-content:space-between;align-items:center}.band h2{margin:0;font-size:clamp(30px,4vw,52px)}.steps{counter-reset:step}.steps article{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:70px 1fr}.steps article:before{counter-increment:step;content:"0" counter(step);font-weight:900;color:#999}.quote-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}.quote-form{background:var(--paper);padding:40px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:12px;font-weight:800}input,select,textarea{border:1px solid #c8ccca;background:#fff;padding:14px;font:inherit;width:100%}textarea{min-height:130px}.form-note{font-size:12px}.success{display:none;background:#e8f6dc;border-left:4px solid #62a830;padding:14px;margin-top:18px}.success.show{display:block}.location-links{display:flex;gap:9px;flex-wrap:wrap}.location-links span{border:1px solid var(--line);padding:7px 12px;font-size:12px}.active{border-bottom:2px solid var(--yellow)!important}
@media(max-width:900px){.site-header{height:72px}.menu{display:block;background:none;border:1px solid #bbb;padding:9px 12px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:24px;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0002}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 25px}.hero-visual{min-height:420px}.stat{left:20px}.trust-row{flex-wrap:wrap}.client-strip{overflow:auto;justify-content:flex-start}.intro,.split,.content-grid,.quote-layout{grid-template-columns:1fr}.services{grid-template-columns:1fr}.services .featured-card{grid-column:auto;grid-template-columns:1fr;min-height:330px}.work-grid{grid-template-columns:1fr;grid-template-rows:350px 240px auto}.photo-placeholder.tall{grid-row:auto}.section{padding:70px 25px}.band{align-items:flex-start;gap:25px;flex-direction:column}footer{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.page-hero{padding:70px 25px}}@media(max-width:560px){.hero h1{font-size:49px}.lead{font-size:17px}.actions{align-items:flex-start;flex-direction:column}.trust-row{flex-direction:column;gap:8px}.feature-list,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section-head{align-items:flex-start;gap:15px;flex-direction:column}footer{grid-template-columns:1fr}.footer-bottom{grid-column:auto}}
.brand-logo{display:block;width:148px;height:56px;object-fit:cover;object-position:center 56%;border-radius:3px}.client-section{background:#fff}.client-wall{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:38px}.client-wall span{min-height:90px;display:grid;place-items:center;text-align:center;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:850}.client-wall span:nth-child(4n+1){background:var(--paper)}.client-note{font-size:11px;margin-top:15px}@media(max-width:900px){.client-wall{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.brand-logo{width:128px;height:48px}.client-wall{grid-template-columns:repeat(2,1fr)}.client-wall span{min-height:70px;padding:12px;font-size:12px}}
.site-header .brand{width:252px;height:68px;padding:5px 12px 5px 6px;gap:12px;overflow:visible;background:#fff}.brand-icon{flex:0 0 58px;width:58px!important;height:58px!important;object-fit:contain!important;border-radius:50%}.brand-copy{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:900;letter-spacing:.1em;line-height:1;white-space:nowrap}.brand-copy small{display:block;margin:0;font-size:9px;letter-spacing:.2em}footer .brand-copy small{color:#aeb1b1}.brand-full{display:block;width:160px;height:160px;object-fit:contain;background:#000;border-radius:8px}@media(max-width:560px){.site-header .brand{width:198px;height:60px;padding:6px}.brand-icon{flex-basis:48px;width:48px!important;height:48px!important}.brand-copy{font-size:12px;gap:5px}.brand-copy small{font-size:7px;letter-spacing:.15em}}
.footer-logo{width:212px!important;height:auto!important;max-height:158px;background:transparent!important;border-radius:0!important;object-fit:contain;object-position:left center}
.site-header .brand{width:auto;min-width:252px;height:72px;padding:4px 10px 4px 0;gap:14px;align-items:center}.site-header .brand-icon{flex:0 0 64px;width:64px!important;height:64px!important}.site-header .brand-copy{height:64px;justify-content:center;align-items:flex-start;gap:7px;line-height:1;text-align:left}@media(max-width:560px){.site-header .brand{width:auto;min-width:205px;height:62px;padding:4px 6px 4px 0;gap:11px}.site-header .brand-icon{flex-basis:54px;width:54px!important;height:54px!important}.site-header .brand-copy{height:54px;justify-content:center;gap:5px}}

/* Shared card language across service and process pages */
.services,.feature-list{counter-reset:shared-card;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;background:#eef0ed;padding:70px max(6vw,35px)}
.services article,.feature-list article,.steps article{counter-increment:shared-card;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;min-height:310px;padding:46px 32px 30px;background:#fff;border:0;border-top:6px solid var(--yellow);border-radius:16px;box-shadow:0 16px 36px rgba(20,26,24,.07)}
.services article:after,.feature-list article:after,.steps article:after{content:"0" counter(shared-card);position:absolute;right:26px;top:19px;font-size:12px;font-weight:900;letter-spacing:.14em;color:#202425}
.services article:before,.feature-list article:before,.steps article:before{display:grid;place-items:center;width:56px;height:56px;margin-bottom:42px;border-radius:50%;background:var(--yellow);color:#111;font-size:22px;font-weight:900}
.services article:nth-child(1):before{content:"C"}.services article:nth-child(2):before{content:"O"}.services article:nth-child(3):before{content:"P"}.services article:nth-child(4):before{content:"S"}
.feature-list article:before{content:"✓"}.steps article:before{content:counter(shared-card)}
.services article:after,.services .number,.feature-list .icon{font-size:0}.services article:after{font-size:12px}.services .number,.feature-list .icon{display:none}
.services .featured-card{grid-column:auto;grid-template-columns:1fr;min-height:310px;background:#242829;color:#fff}.services .featured-card:after,.services .featured-card h3,.services .featured-card p,.services .featured-card a{color:#fff}.services .featured-card>div{display:flex;flex-direction:column;align-items:flex-start;height:100%}.services article h3,.feature-list article h3,.steps article h3{margin:0 0 12px;font-size:26px;line-height:1.12}.services article p,.feature-list article p,.steps article p{margin:0 0 28px}.services article a{margin-top:auto;font-weight:800;border-bottom:2px solid var(--yellow)}
.feature-list article:nth-child(3){background:#242829;color:#fff}.feature-list article:nth-child(3):after,.feature-list article:nth-child(3) h3,.feature-list article:nth-child(3) p{color:#fff}
.steps{counter-reset:shared-card;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.steps article{display:flex;grid-template-columns:none;min-height:280px}.steps article:before{position:static;font-size:18px}.steps article:after{display:block}
@media(max-width:900px){.services,.feature-list{grid-template-columns:1fr;padding:55px 25px}.steps{grid-template-columns:1fr}.services article,.feature-list article,.steps article{min-height:270px}}
.quote-layout .steps{grid-template-columns:1fr}.quote-layout .steps article{min-height:220px;padding:36px 30px 28px}.quote-layout .steps article:before{margin-bottom:28px}

/* Whole-site visual rhythm */
.service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card-grid article{min-height:328px;padding:46px 32px 30px;border-radius:16px;box-shadow:0 16px 36px rgba(20,26,24,.07)}
.section-head{gap:50px}.section-head>p{max-width:520px}.section-head h2{line-height:1.02}.band,.cta{border-top:1px solid rgba(0,0,0,.04)}
.btn,.dark-btn{border-radius:0;transition:transform .18s ease,background-color .18s ease}.btn:hover,.dark-btn:hover{transform:translateY(-2px)}
.page-hero{border-bottom:1px solid var(--line)}.page-hero .eyebrow,.section .eyebrow{margin-bottom:18px}
@media(max-width:900px){.service-card-grid{grid-template-columns:1fr}.service-card-grid article{min-height:290px}.section-head{gap:18px}}

/* Unified rounded component system */
:root{--radius-lg:16px;--radius-md:12px;--radius-sm:8px}
.btn,.dark-btn,button,input,select,textarea,.quote-form,.testimonial,.photo-placeholder,.location-links span,.client-strip,.reference-card,.review-card,.case-card,.success{border-radius:var(--radius-sm)}
.quote-form,.testimonial,.reference-grid blockquote,.work-grid>*{border-radius:var(--radius-md);overflow:hidden}
.services article,.feature-list article,.steps article,.service-card-grid article{border-radius:var(--radius-lg)}
.hero-visual img,.work-grid img,.project-image,.case-study img{border-radius:var(--radius-md)}
.btn,.dark-btn{border-radius:var(--radius-sm)}
