/* Premium mobile editorial treatment. Desktop composition stays intact. */
.hero-mobile-title{display:none}
.gkc-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.13em;color:inherit}
.text-link .gkc-arrow{margin-left:.35em}
.project-meta .gkc-arrow{width:18px;height:18px}
.hero .text-link .gkc-arrow,.cta .btn .gkc-arrow,.contact-link .gkc-arrow{width:20px;height:20px}
@media(min-width:768px){.hero-mobile-title>span{display:inline}}
@media(max-width:767px){
 .hero-mobile-title>span{display:block}
 .hero .hero-top{padding-top:52px;padding-bottom:100px}
 .hero .hero-top h1{font-size:clamp(44px,14.5vw,82px);line-height:1.025;letter-spacing:-.045em}
 .hero .hero-top .eyebrow{max-width:270px;font-size:9px;line-height:1.9;letter-spacing:.25em;margin-bottom:30px}
 .hero .hero-top .intro{margin-top:30px}
 .hero .hero-top .intro p{font-size:15px;line-height:1.8}
 .hero .hero-top .text-link{min-height:60px;padding:18px 24px}
 .hero-image img{object-position:60% center}
}
@media(max-width:1100px){
 header{height:96px;padding:0 6%;border-bottom:1px solid #ffffff24}
 header .brand-logo{width:250px;height:54px;max-width:calc(100vw - 130px);object-fit:cover}
 .menu{min-height:46px;padding:12px 15px;font-size:13px;letter-spacing:.02em;border-color:#ffffff65}
 nav{top:100%;padding:25px 6% 30px;gap:4px}
 nav>a{font-size:18px;padding:15px 0;border-bottom:1px solid #ffffff20}
 nav .contact-link{padding:16px;margin-top:18px;border:1px solid #C5A047;font-size:15px}
 .hero-desktop-title{display:none}.hero-mobile-title{display:block}
 .hero{display:grid;grid-template-columns:minmax(0,1fr)}
 .hero-top{position:relative;inset:auto;grid-area:1/1;align-self:start;max-width:none;margin:0;padding:66px 6% 108px;pointer-events:auto}
 .hero-image{grid-area:1/1;min-height:100%;height:100%;width:100%;position:relative}
 .hero-image img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:60% center}
 .hero-image:after{background:linear-gradient(90deg,rgba(16,22,15,.79),rgba(16,22,15,.22)),linear-gradient(0deg,rgba(16,22,15,.42),transparent 60%)}
 .hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(60px,9.4vw,88px);font-weight:400;letter-spacing:-.045em;line-height:1.01;max-width:830px;margin:0;text-wrap:balance}
 .hero .eyebrow{max-width:540px;margin-bottom:34px;font-size:10px;letter-spacing:.25em;line-height:1.9;color:#e4c06b}
 .hero .intro{margin-top:34px;padding:0;max-width:540px}
 .hero .intro p{font-size:17px;line-height:1.8;color:#F5F2EB;margin-bottom:25px}
 .hero .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:60px;margin-top:6px;padding:19px 25px;font-size:15px;background:#C5A047;color:#181A18}
 .hero .text-link span{font-size:23px}
 .hero .image-label{bottom:24px;left:6%;right:auto;font-size:9px;letter-spacing:.12em}
 .hero .trust{grid-area:2/1;display:flex;padding:23px 6%;gap:14px 24px;flex-wrap:wrap;font-size:9px;line-height:1.7;letter-spacing:.12em}
 .wrap{padding-left:6%;padding-right:6%}.wrap.hero{padding-left:0;padding-right:0}
 .section{padding-top:78px;padding-bottom:78px}
 .section-head h2,.split h2,.cta h2{font-size:clamp(38px,5.5vw,60px);letter-spacing:-.035em;line-height:1.1}
 .section-head .eyebrow{font-size:10px;line-height:1.8;letter-spacing:.19em}
 .project-meta{padding:19px 0;font-size:16px}.project-meta small{font-size:11px;line-height:1.7}
 .project-meta>span{width:42px;height:42px;font-size:21px;flex-shrink:0}
 .project-grid{gap:42px 26px}.project-card img{height:auto;aspect-ratio:4/3}
 .split p,.local-columns p,.service-row p,.gkc-area-grid p,.process p,.local-faq p{font-size:16px;line-height:1.85}
 .gkc-area-grid h3{font-size:26px}.gkc-area-grid .text-link{font-size:14px;line-height:1.6}
 .cta{padding:74px 6%;gap:30px}.cta .btn{min-height:58px;font-size:15px}
 footer{padding:55px 6% 28px}.footer-top p,.footer-top a{font-size:14px;line-height:1.9}
 .page-intro h1{font-size:clamp(44px,7vw,68px);line-height:1.08;letter-spacing:-.035em}
 .page-intro p{font-size:17px;line-height:1.8}.contact-grid label{font-size:14px}
}
@media(max-width:767px){
 header{height:94px}header .brand-logo{width:225px;height:48px;max-width:calc(100vw - 123px)}
 .hero-top{padding-top:52px;padding-bottom:99px}
 .hero h1{font-size:clamp(44px,14vw,76px);line-height:1.025;letter-spacing:-.045em;text-wrap:initial}
 .hero .eyebrow{max-width:310px;font-size:9px;line-height:1.9;margin-bottom:30px}
 .hero .intro{margin-top:34px;max-width:100%}
 .hero .intro p{font-size:16px;line-height:1.8}
 .hero .text-link{font-size:14px;min-height:60px;padding:18px 24px;gap:27px}
 .hero .trust{display:grid;grid-template-columns:1fr;gap:9px;font-size:9px;padding:23px 6%}
 .section{padding-top:65px;padding-bottom:65px}
 .section-head h2,.split h2,.cta h2{font-size:clamp(35px,9.8vw,52px)}
 .section-head{gap:22px;margin-bottom:32px}
 .project-card:nth-child(2){padding-top:0}
 .project-card img,.project-card:nth-child(3) img{height:auto;aspect-ratio:4/3}
 .service-row{padding:30px 0}.service-row h3{font-size:24px;line-height:1.3}
 .process{gap:32px}.process h3{font-size:24px;line-height:1.3}
 .gkc-area-grid{gap:35px}.gkc-area-note{font-size:13px;line-height:1.8}
 .local-faq summary{font-size:18px;line-height:1.6}
 .footer-top{grid-template-columns:1fr;gap:35px}.footer-top>a{grid-column:auto}
 .footer-top .brand-logo{width:255px;max-width:100%;height:54px;object-fit:cover}
 .footer-bottom{font-size:11px;line-height:1.8}
 .gkc-contact-form .wpcf7-turnstile{max-width:100%;margin-bottom:25px}
}
@media(max-width:360px){
 header{padding-left:5%;padding-right:5%}header .brand-logo{width:190px;height:41px}
 .menu{padding:11px 12px;min-width:61px}
 .hero h1{font-size:13.7vw}.hero .intro p{font-size:15px}
}

/* Keep service descriptions in the wide content column on small screens. */
@media(max-width:1100px){
 .service-row{grid-template-columns:35px minmax(0,1fr)}
 .service-row>.num{grid-column:1;grid-row:1}
 .service-row>h3,.service-row>div,.service-row>p{grid-column:2 / -1;min-width:0}
 .service-row>p{width:100%;max-width:65ch;overflow-wrap:normal;word-break:normal}
 .service-row>div{width:100%;max-width:none}
 .service-row>div p{max-width:65ch;overflow-wrap:normal;word-break:normal}
}
