/* V35: the modern reference appearance with *unchanged* pre-redesign content */
:root{--bg:#f6f2ea;--ink:#13201a;--g:#16301f;--g2:#1f4a30;--lime:#c8f169;--amb:#ff9f2e}
/* Original hero DOM and its complete copy/benefits; no floating price card */
.hero{padding-top:132px;min-height:690px;display:flex;flex-direction:column;justify-content:flex-end}
.hero-layout{display:block;width:min(1200px,calc(100% - 48px));padding-bottom:45px;position:static}
.hero-copy{max-width:860px;position:relative;z-index:2}
.hero-copy h1{font-size:clamp(45px,5vw,70px);line-height:1.07;max-width:840px;text-wrap:balance}
.hero-desc{font-size:18px;line-height:1.64;max-width:685px;margin:24px 0 29px}
.hero-photo{position:absolute;inset:0;margin:0;z-index:-1;overflow:hidden}
.hero-photo img{width:100%;height:100%;opacity:1;object-position:center 57%;object-fit:cover}
.hero-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,23,14,.86),rgba(8,23,14,.56) 47%,rgba(8,23,14,.13)),linear-gradient(0deg,rgba(8,23,14,.64),transparent 62%)}
.hero-photo figcaption{display:flex;position:absolute;z-index:3;top:92px;right:35px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border-radius:999px;padding:8px 14px;color:white;font-size:12px}
.hero-photo figcaption .dot{height:6px;width:6px;flex:none}
.hero .actions{display:flex;gap:12px;margin:0;flex-wrap:wrap}
.hero .actions .btn{min-height:54px;padding:16px 24px;font-size:15px}
.hero .micro{margin-top:17px;opacity:.9;font-size:13px;color:#eef5ed}
.hero-bottom{position:relative;z-index:2;padding-top:16px;padding-bottom:20px;border-top:1px solid rgba(255,255,255,.26);margin-top:0}
.hero-bottom>div{padding:14px 12px 0 0}
.hero-bottom p{margin:0}
.hero-bottom strong{font-size:14px;line-height:1.38}
.hero-bottom span:not(.trust-icon){font-size:12px;line-height:1.5}
/* Compact services: retain every claim, bullet and both actions. */
#services{padding-top:78px;padding-bottom:75px}
#services .section-head{margin-bottom:34px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.service{border-radius:22px;min-width:0;box-shadow:0 12px 30px rgba(13,45,25,.045)}
.service>img{aspect-ratio:auto;height:180px;min-height:0;width:100%;object-fit:cover}
.service-body{padding:21px 22px 22px;gap:9px;flex:1}
.service-body h3{font-size:22px;line-height:1.18;letter-spacing:-.035em}
.service-body p{font-size:14px;line-height:1.5}
.service-body ul{margin:2px 0 4px}
.service-body li{font-size:13px;line-height:1.4;padding:4px 0 4px 21px}
.service-body .text-link{font-size:13px;line-height:1.4;display:inline-flex;align-items:center;margin-top:2px}
.service-body .btn{font-size:14px;min-height:42px;padding:10px 16px;margin-top:8px;width:100%}
.other-works{margin-top:26px}
/* Compact work gallery covers, keep all 160 images in the dialogs */
.work-collections{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.work-collection-image{aspect-ratio:5/5.6}
.work-collection-info{padding:68px 20px 20px}
.work-collection-title{font-size:20px;line-height:1.22}
.work-collection-description{display:block;color:rgba(255,255,255,.75);font-size:12px;margin-top:5px}
.work-collection-arrow{display:none!important}
.work-section-head h2{font-size:clamp(39px,4.5vw,64px);line-height:1.01}
/* Stable typography and contrast for entire original page */
.calc-next,.calc-disclaimer{line-height:1.55}
.calculator h3{color:#fff}
.package-panel,.calculator,.faq-layout,.control-layout,.request-layout{min-width:0}
.section-head>div,.section-head>p{min-width:0}
.work-collection:focus-visible,.btn:focus-visible,.faq summary:focus-visible,.material-tabs button:focus-visible{outline:3px solid var(--amb);outline-offset:3px}
/* FAQ centred and calm */
.faq{min-width:0}
.faq details{width:100%;max-width:100%;box-sizing:border-box}
/* Tablet */
@media(max-width:1080px){
 .hero{min-height:710px;padding-top:115px}
 .hero-layout{width:min(100% - 48px,760px);padding-bottom:26px}
 .hero-copy{max-width:100%}
 .hero-copy h1{font-size:clamp(44px,6.8vw,67px)}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service>img{height:192px}
 .work-collections{grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-collection-image{aspect-ratio:4/3.5}
 .hero-bottom{width:min(100% - 48px,760px)}
}
/* Phone */
@media(max-width:640px){
 .hero{min-height:0;padding-top:112px}
 .hero-layout{width:calc(100% - 40px);padding-bottom:22px}
 .hero-photo img{object-position:75% center}
 .hero-photo:after{background:linear-gradient(90deg,rgba(8,23,14,.84),rgba(8,23,14,.55) 78%,rgba(8,23,14,.35)),linear-gradient(0deg,rgba(8,23,14,.76),transparent 85%)}
 .hero-photo figcaption{display:none}
 .hero .eyebrow{font-size:10px;letter-spacing:.1em}
 .hero-copy h1{font-size:clamp(36px,10vw,48px);line-height:1.09}
 .hero-desc{font-size:15px;line-height:1.6;margin:18px 0 22px}
 .hero .actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 .hero .actions .btn{width:100%;min-height:49px;font-size:14px;padding:12px 16px}
 .hero .micro{font-size:11px;margin-top:12px}
 .hero-bottom{width:calc(100% - 40px);grid-template-columns:1fr;gap:0;padding:7px 0 14px;margin:0 auto}
 .hero-bottom>div{padding:10px 0;gap:12px}
 .hero-bottom strong{font-size:13px}
 .hero-bottom span:not(.trust-icon){font-size:11px}
 #services{padding-top:54px;padding-bottom:58px}
 #services .section-head{margin-bottom:24px}
 .service-grid{grid-template-columns:1fr;gap:16px}
 .service>img{height:175px}
 .service-body{padding:19px 20px;gap:7px}
 .service-body h3{font-size:21px}
 .service-body p{font-size:14px}
 .service-body li{font-size:13px;line-height:1.45}
 .service-body .btn{min-height:44px}
 .work-collections{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .work-collection-image{aspect-ratio:3/4}
 .work-collection-info{padding:55px 11px 14px}
 .work-collection-title{font-size:15px}
 .work-collection-description{display:none}
 .work-section-head h2{font-size:clamp(34px,9.5vw,45px)}
 .faq-section{padding-inline:0}
 .faq-layout{width:calc(100% - 40px);margin-inline:auto;grid-template-columns:minmax(0,1fr)}
 .faq{width:100%;margin-inline:auto}
 .faq details{padding:18px 18px}
 .faq summary{font-size:15px;line-height:1.45}
 .faq details p{font-size:14px}
}
@media(max-width:350px){.brand{font-size:10px}.work-collection-title{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero-photo img{animation:none!important;transform:none!important}}

#services .section-head h2{font-size:clamp(37px,3.4vw,49px)}
@media(max-width:640px){#services .section-head h2{font-size:clamp(30px,8.2vw,39px)}}
