@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,800;1,900&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
@import url('tokens.css');
/* Hallmark · macrostructure: Split Studio · tone: practical · anchor hue: water blue
 * brand: owner-supplied Affordable Services Inc. mark · audience: local homeowners
 * pre-emit critique: P4 H4 E4 S5 R4 V4
 */
:root{--ink:var(--color-ink);--ink2:var(--color-brand-blue-deep);--paper:var(--color-paper);--lime:var(--color-brand-green-bright);--line:var(--color-rule);--muted:var(--color-muted);--white:#fff;--wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 'DM Sans',system-ui,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 40px),var(--wrap));margin-inline:auto}.skip{position:absolute;z-index:100;top:-100px;left:12px;background:#fff;padding:12px}.skip:focus{top:12px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #63cee5;outline-offset:4px}.concept-bar{min-height:27px;padding:3px 20px;display:flex;justify-content:space-between;gap:10px;background:#e4ebd4;color:#365254;font:700 10px/1.4 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase}.site-header{position:relative;z-index:20;background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:20px}.brand{display:block;flex:none}.brand img{width:224px;height:auto}.main-nav{display:flex;align-items:center;gap:30px;font:700 13px/1.3 Manrope,sans-serif}.main-nav>a:not(.nav-call){padding:18px 0;transition:color .2s}.main-nav>a:not(.nav-call):hover{color:#399392}.nav-call{background:var(--ink);color:#fff;padding:17px 21px;border-radius:3px;transition:background .2s,transform .2s}.nav-call:hover{background:#29626a;transform:translateY(-2px)}.menu-toggle{display:none;background:none;border:0;padding:12px;min-width:48px;min-height:48px}.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:var(--ink)}
.hero{position:relative;min-height:650px;display:flex;align-items:stretch;background:#18362e;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background:url('assets/irrigation-hero.webp') center 57%/cover no-repeat;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(7,34,33,.87) 0%,rgba(7,34,33,.69) 39%,rgba(7,34,33,.24) 75%,rgba(7,34,33,.18)),linear-gradient(0deg,rgba(7,34,33,.6),transparent 30%)}.hero-content{position:relative;z-index:1;padding-top:93px;padding-bottom:68px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow,.kicker{font:800 11px/1.4 Manrope,sans-serif;letter-spacing:.23em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:13px;color:#e7f6d3}.eyebrow-line{display:block;width:34px;height:2px;background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,system-ui,sans-serif;letter-spacing:-.075em}h1{max-width:840px;margin:20px 0 25px;font-size:clamp(58px,7.3vw,108px);font-weight:800;line-height:.98}h1 em,.contact h2 em{font-style:normal;color:var(--lime)}.hero-copy{max-width:580px;font-size:20px;line-height:1.55;color:#ecf4ee}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:27px;margin-top:18px}.button{min-height:56px;display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:17px 23px;border-radius:3px;font:800 14px/1.2 Manrope,sans-serif;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.16)}.button:active{transform:translateY(0)}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#ecfb9e}.text-link{font:700 14px Manrope,sans-serif;border-bottom:1px solid rgba(255,255,255,.6);padding:12px 0}.text-link:hover{border-color:#fff;color:var(--lime)}.hero-meta{display:flex;gap:28px;margin-top:75px;font:700 11px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#e9f4ea}.hero-meta span+span{padding-left:28px;border-left:1px solid rgba(255,255,255,.6)}.hero-waterline{position:absolute;right:-70px;bottom:-180px;width:560px;height:560px;pointer-events:none}.hero-waterline span{position:absolute;inset:0;border:1px solid rgba(255,255,255,.26);border-radius:50%}.hero-waterline span:nth-child(2){inset:55px}.hero-waterline span:nth-child(3){inset:110px}
.intro-band{background:var(--lime)}.intro-inner{min-height:145px;display:flex;align-items:center;justify-content:space-between;gap:35px}.intro-inner p{max-width:720px;margin:0;font:500 clamp(22px,2.8vw,33px)/1.28 Manrope,sans-serif;letter-spacing:-.05em}.intro-inner strong{font-weight:800}.intro-index{white-space:nowrap;font:800 10px Manrope,sans-serif;letter-spacing:.16em}.section{padding:113px 0}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;column-gap:70px;align-items:end;margin-bottom:42px}.section-heading .kicker{grid-column:1/-1}.kicker{color:#347e7c;margin-bottom:24px}.section-heading h2,.diagnostic h2,.process h2,.service-area h2,.contact h2{font-size:clamp(43px,5.3vw,74px);line-height:1.05;font-weight:800;margin-bottom:0}.section-heading h2 span{color:#6b8884}.section-heading>p:last-child{max-width:360px;margin:0 0 6px;font-size:17px;color:var(--muted)}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr auto;gap:25px;align-items:start;padding:35px 0 38px;border-bottom:1px solid var(--line)}.service-number{font:800 12px Manrope,sans-serif;color:#4b8d8b;padding-top:9px}.service-row h3{font:800 clamp(24px,2.6vw,34px)/1.2 Manrope,sans-serif;letter-spacing:-.055em;margin-bottom:10px}.service-row p{max-width:640px;color:var(--muted);margin:0}.service-row a{font:800 14px Manrope,sans-serif;border-bottom:1px solid var(--ink);padding:8px 0;min-height:44px;white-space:nowrap}.service-row a:hover{color:#317b79;border-color:#317b79}
.diagnostic{background:#dfece6;padding:100px 0}.diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:start}.diagnostic h2{margin-bottom:24px}.diagnostic-grid>div>p:last-child{max-width:470px;color:#4d6667;font-size:18px}.diagnostic-card{background:#fff;padding:36px 37px;box-shadow:12px 12px 0 rgba(26,77,75,.1)}.diagnostic-card fieldset{padding:0;margin:0 0 25px;border:0}.diagnostic-card legend{font:800 12px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}.diagnostic-card label{display:flex;align-items:center;min-height:57px;gap:13px;padding:12px 5px;border-bottom:1px solid #e3eae5;font-weight:700;cursor:pointer}.diagnostic-card input{accent-color:#246f72;width:20px;height:20px;flex:none}.diagnostic-card .button{width:100%}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#27646b}.fine-print{font-size:12px;color:#657376;margin:14px 0 0}.process{background:#fff}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.process-steps>div{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.process-steps>div:first-child{border-top:1px solid var(--line)}.process-steps span{font:800 12px Manrope,sans-serif;color:#4b8d8b}.process-steps p{margin:0;color:#516569}.process-steps strong{color:var(--ink)}.service-area{overflow:hidden;background:#d0e3d8}.area-grid{min-height:490px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.area-grid>div:last-child p:not(.kicker){max-width:470px;font-size:18px;color:#425f61;margin:22px 0 28px}.area-art{height:490px;position:relative;display:flex;align-items:center;justify-content:center}.area-ring{border:1px solid rgba(29,86,86,.35);border-radius:50%;position:absolute;width:400px;height:400px}.ring-two{width:280px;height:280px}.ring-three{width:155px;height:155px}.area-dot{position:absolute;width:22px;height:22px;border-radius:50%;background:#0d464c;box-shadow:0 0 0 10px #acd2be}.area-label{font:800 12px/1.4 Manrope,sans-serif;letter-spacing:.18em;text-align:center;transform:translateY(90px)}.underlink{font:800 14px Manrope,sans-serif;padding-bottom:8px;border-bottom:1px solid var(--ink)}.underlink:hover{color:#267a79;border-color:#267a79}.contact{background:var(--ink);color:#fff;padding:104px 0}.contact-grid{display:grid;grid-template-columns:1fr 330px;gap:100px;align-items:end}.contact .kicker{color:#9ed6c3}.contact h2{font-size:clamp(55px,6.3vw,90px);margin-bottom:25px}.contact-grid>div>p:last-child{color:#c4d9d7;font-size:18px}.contact-actions{display:grid;gap:12px}.button-outline{border:1px solid #91b0af;color:#fff}.button-outline:hover{background:#244c51}.contact-actions p{font-size:11px;color:#a7c2c0;margin:6px 0 0}.site-footer{background:#09242b;color:#d7e9e4;padding:47px 0 32px}.site-footer .brand img{filter:brightness(0) invert(1)}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-top nav{display:flex;flex-wrap:wrap;gap:26px;font-size:13px;font-weight:700}.footer-top nav a:hover,.footer-bottom a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid #355158;margin-top:42px;padding-top:22px;font-size:12px;color:#a9c2bf}.mobile-action{display:none}
@media(max-width:850px){.main-nav{gap:15px}.main-nav>a:not(.nav-call){display:none}.section-heading,.diagnostic-grid,.process-grid,.area-grid,.contact-grid{gap:42px}.hero{min-height:620px}.section-heading h2,.diagnostic h2,.process h2,.service-area h2{font-size:49px}.area-art{height:400px}.area-ring{width:350px;height:350px}.ring-two{width:250px;height:250px}.ring-three{width:140px;height:140px}}
@media(max-width:680px){.wrap{width:min(calc(100% - 34px),var(--wrap))}.concept-bar{justify-content:center;text-align:center}.concept-bar span+span{display:none}.header-inner{min-height:72px}.brand img{width:185px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:10px 17px 20px;box-shadow:0 18px 30px rgba(0,0,0,.12);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav>a:not(.nav-call){display:block;padding:14px 4px;border-bottom:1px solid var(--line)}.main-nav .nav-call{margin-top:14px;text-align:center}.hero{min-height:calc(100svh - 99px);min-height:min(750px,calc(100svh - 99px))}.hero-image{background-position:84% center}.hero-shade{background:linear-gradient(90deg,rgba(7,34,33,.76),rgba(7,34,33,.39)),linear-gradient(0deg,rgba(7,34,33,.73),transparent 44%)}.hero-content{padding-top:66px;padding-bottom:34px;justify-content:flex-end}.eyebrow{font-size:10px}.eyebrow-line{width:22px}h1{font-size:clamp(50px,13.2vw,72px);margin:16px 0 16px}.hero-copy{font-size:17px;line-height:1.5;max-width:430px}.hero-actions{gap:13px;width:100%;margin-top:7px}.hero-actions .button{width:100%;justify-content:center}.hero-actions .text-link{padding:12px 2px}.hero-meta{margin-top:24px;font-size:9px;gap:15px}.hero-meta span+span{padding-left:15px}.hero-waterline{display:none}.intro-inner{min-height:150px;display:block;padding:27px 0}.intro-inner p{font-size:24px}.intro-index{margin-top:18px}.section{padding:76px 0}.section-heading,.diagnostic-grid,.process-grid,.area-grid,.contact-grid{display:block}.section-heading h2,.diagnostic h2,.process h2,.service-area h2{font-size:clamp(40px,11vw,52px)}.section-heading>p:last-child{margin-top:20px;font-size:16px}.section-heading{margin-bottom:35px}.service-row{grid-template-columns:32px 1fr;gap:14px;padding:29px 0}.service-number{padding-top:5px}.service-row h3{font-size:25px}.service-row p{font-size:15px}.service-row a{grid-column:2;width:max-content;margin-top:6px}.diagnostic{padding:76px 0}.diagnostic-grid>div>p:last-child{font-size:16px;margin-top:20px}.diagnostic-card{margin-top:32px;padding:24px 18px;box-shadow:7px 7px 0 rgba(26,77,75,.1)}.process-steps{margin-top:30px}.area-grid{min-height:auto;padding:67px 0 78px}.area-art{height:245px;margin-bottom:22px}.area-ring{width:225px;height:225px}.ring-two{width:157px;height:157px}.ring-three{width:90px;height:90px}.area-dot{width:15px;height:15px}.area-label{font-size:9px;transform:translateY(59px)}.area-grid>div:last-child p:not(.kicker){font-size:16px}.contact{padding:80px 0 90px}.contact h2{font-size:clamp(55px,15vw,75px)}.contact-grid>div>p:last-child{font-size:16px}.contact-actions{margin-top:30px}.footer-top,.footer-bottom{display:block}.footer-top nav{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.footer-bottom{margin-top:30px}.footer-bottom>*{display:block;margin:9px 0}.site-footer{padding-bottom:90px}.mobile-action{display:none;position:fixed;z-index:40;bottom:0;left:0;right:0;background:var(--paper);padding:10px 17px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px rgba(10,36,43,.14)}.mobile-action.visible{display:block}.mobile-action a{display:flex;justify-content:space-between;align-items:center;min-height:54px;background:var(--lime);padding:13px 17px;border-radius:3px;font:800 14px Manrope,sans-serif}}
@media(max-width:360px){.brand img{width:170px}h1{font-size:48px}.eyebrow{font-size:9px}.hero-copy{font-size:16px}.hero-meta{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Hallmark refinement · existing irrigation palette and layout preserved. */
html,body{overflow-x:clip}section[id]{scroll-margin-top:24px}
.main-nav>a:not(.nav-call),.footer-top nav a,.footer-bottom a,.underlink,.service-row a,.text-link{transition:color .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),opacity .22s cubic-bezier(.16,1,.3,1)}
.menu-toggle span{transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .18s cubic-bezier(.16,1,.3,1)}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.guides-feature{padding:106px 0;background:#ecf2e4}.guides-feature-head{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:42px}.guides-feature h2{font-size:clamp(42px,5.2vw,72px);line-height:1.05;margin:0}.guides-feature-head>p{max-width:340px;margin:0 0 6px;color:var(--muted);font-size:17px}.guide-teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:34px}.guide-teasers a{min-height:268px;display:flex;flex-direction:column;align-items:flex-start;padding:27px;background:#fff;border:1px solid var(--line);transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),border-color .28s cubic-bezier(.16,1,.3,1)}.guide-teasers a:hover{transform:translateY(-5px);border-color:#558381;box-shadow:0 13px 30px rgba(16,44,51,.11)}.guide-teasers a>span:first-child{font:800 10px Manrope,sans-serif;letter-spacing:.13em;color:#3b7472}.guide-teasers strong{margin-top:29px;font:800 clamp(23px,2.2vw,31px)/1.18 Manrope,sans-serif;letter-spacing:-.055em}.guide-arrow{margin-top:auto;align-self:flex-end;font-size:25px;color:#286a69}
@media(max-width:680px){.main-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .23s cubic-bezier(.16,1,.3,1),transform .23s cubic-bezier(.16,1,.3,1),visibility .23s}.main-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.guides-feature{padding:75px 0}.guides-feature-head{display:block;margin-bottom:26px}.guides-feature h2{font-size:clamp(38px,10vw,50px)}.guides-feature-head>p{margin:20px 0 0;font-size:16px}.guide-teasers{grid-template-columns:1fr;gap:10px}.guide-teasers a{min-height:160px;padding:21px}.guide-teasers strong{margin-top:17px;font-size:23px}.guide-arrow{font-size:20px}.mobile-action{display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity .24s cubic-bezier(.16,1,.3,1),transform .24s cubic-bezier(.16,1,.3,1),visibility .24s}.mobile-action.visible{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}}

/* Hallmark · mobile refinement: quieter editorial controls, existing palette retained.
 * pre-emit critique: P4 H4 E4 S4 R4 V3
 */
:root{--call-soft:#e6efb2;--call-soft-hover:#f0f4d0;--band-soft:#e9efdc;--card-hover:#f8faf5;--dark-hover:#22545c}
.button{justify-content:center;gap:0;border-radius:2px;font-weight:700;letter-spacing:.005em;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}
.button:hover,.button:active{transform:none;box-shadow:none}
.button-lime{background:var(--call-soft)}
.button-lime:hover{background:var(--call-soft-hover)}
.button-dark:hover{background:var(--dark-hover)}
.nav-call:hover{transform:none}
.guide-teasers a:hover{transform:none;box-shadow:none;background:var(--card-hover)}
.guide-teasers a::after{content:"Read guide";display:block;margin-top:auto;padding-top:22px;border-bottom:1px solid currentColor;font:700 13px/1.5 Manrope,system-ui,sans-serif}
.guide-teasers a>span:first-child{font-weight:700;letter-spacing:.09em}
.service-row a,.underlink,.text-link{font-weight:700}
.diagnostic-card{box-shadow:none;border:1px solid var(--line)}
@media(max-width:680px){
  .concept-bar{min-height:25px;font-size:9px;letter-spacing:.06em}
  .header-inner{min-height:70px}.brand img{width:175px}
  .menu-toggle{border:1px solid var(--line);border-radius:2px;min-width:46px;min-height:46px}
  .hero{min-height:min(730px,calc(100svh - 95px))}
  .hero-shade{background:linear-gradient(0deg,rgba(7,34,33,.92) 0%,rgba(7,34,33,.66) 47%,rgba(7,34,33,.05) 100%)}
  .hero-content{padding-top:80px;padding-bottom:42px}
  .eyebrow{font-size:10px;letter-spacing:.13em}
  h1{font-size:clamp(46px,12.4vw,64px);line-height:1.03;letter-spacing:-.065em}
  .hero-copy{max-width:360px;font-size:16px;line-height:1.57}
  .hero-actions{align-items:flex-start;gap:17px;margin-top:12px}
  .hero-actions .button{width:auto;min-width:195px;min-height:51px;padding:14px 20px}
  .hero-actions .text-link{font-size:13px;padding:1px 0 4px}
  .hero-meta{margin-top:28px;font-size:9px;letter-spacing:.05em}
  .intro-band{background:var(--band-soft)}
  .intro-inner{min-height:0;padding:32px 0}.intro-inner p{font-size:22px;line-height:1.35}
  .intro-index{display:none}
  .section{padding:68px 0}.kicker{letter-spacing:.15em;margin-bottom:18px}
  .section-heading h2,.diagnostic h2,.process h2,.service-area h2{font-size:clamp(37px,10vw,49px);line-height:1.1}
  .service-row{padding:25px 0}.service-row h3{font-size:23px}
  .diagnostic-card{box-shadow:none}
  .guides-feature{padding:68px 0}.guides-feature h2{font-size:clamp(36px,9.7vw,48px);line-height:1.1}
  .guide-teasers a{min-height:0;padding:22px}.guide-teasers strong{font-size:22px;line-height:1.25}
  .contact{padding:70px 0 84px}.contact h2{font-size:clamp(48px,13vw,68px)}
  .mobile-action{background:#fff;border-top:1px solid var(--line);box-shadow:none}
  .mobile-action a{justify-content:center;background:var(--ink);color:#fff;min-height:50px;border-radius:2px;font-weight:700}
}
@media(prefers-reduced-motion:reduce){.main-nav,.mobile-action,.guide-teasers a,.menu-toggle span{transition-duration:.01ms!important;transform:none!important}}

/* Hallmark · refinement: remove decorative labels and clarify the service area.
 * pre-emit critique: P4 H4 E4 S4 R5 V4
 */
.intro-inner{justify-content:flex-start}
.section-heading h2{min-width:0;overflow-wrap:anywhere}
.service-row{grid-template-columns:minmax(0,1fr) auto}
.guides-feature h2{max-width:780px}
.guides-intro{max-width:510px;margin:23px 0 42px;color:var(--muted);font-size:17px}
.area-grid{min-height:420px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:75px}
.area-coverage{border-top:1px solid var(--ink);padding-top:26px}
.area-coverage>span{display:block;color:var(--muted);font:700 14px/1.4 Manrope,system-ui,sans-serif}
.area-coverage strong{display:block;max-width:440px;margin:13px 0 20px;font:800 clamp(34px,4vw,55px)/1.1 Manrope,system-ui,sans-serif;letter-spacing:-.06em}
.area-coverage strong span{color:var(--muted);font-weight:500}
.area-grid>div.area-coverage p:not(.kicker){max-width:380px;margin:0;color:var(--muted);font-size:16px}
@media(max-width:680px){
  .section-heading{display:block}.section-heading>p:last-child{margin-top:19px}
  .service-row{grid-template-columns:minmax(0,1fr);gap:12px}
  .service-row a{grid-column:1}
  .guides-intro{margin:17px 0 28px;font-size:16px}
  .area-grid{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:65px 0 75px}
  .area-coverage{padding-top:22px}
  .area-coverage strong{font-size:clamp(35px,10vw,48px)}
  .mobile-action.visible{visibility:visible}
}

/* Supplied-brand revision: blue/green identity, split photography, useful mobile flow. */
body{font-family:var(--font-body)}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:var(--color-focus)}
.concept-bar{background:var(--color-paper-blue);color:var(--color-brand-blue-deep)}
.site-header{background:var(--color-paper)}
.header-inner{min-height:86px}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:0;white-space:nowrap}
.brand-icon{position:relative;display:block;width:54px;height:54px;flex:none;overflow:hidden;background:var(--color-paper)}
.brand-icon img{position:absolute;width:190px;max-width:none;height:auto;left:-68px;top:-48px}
.brand-name{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.brand-name strong{font:italic 900 33px/.88 var(--font-display);letter-spacing:-.025em;color:var(--color-brand-green)}
.brand-name small{margin:5px 0 0 2px;font:800 10px/1 var(--font-body);letter-spacing:.26em;text-transform:uppercase;color:var(--color-brand-blue)}
.main-nav>a:not(.nav-call):hover{color:var(--color-brand-blue)}
.nav-call{background:var(--color-brand-blue-deep);border-radius:2px}
.nav-call:hover{background:var(--color-brand-blue)}
.menu-toggle span{background:var(--color-brand-blue-deep)}
.hero{display:grid;grid-template-columns:minmax(0,47%) minmax(0,53%);min-height:630px;background:var(--color-brand-blue-deep);color:var(--color-paper)}
.hero-image{position:relative;grid-column:2;grid-row:1;inset:auto;min-height:630px;background-position:60% center;transform:none}
.hero-shade,.hero-waterline{display:none}
.hero-content{grid-column:1;grid-row:1;width:min(calc(100% - 72px),530px);margin-inline:auto;padding:68px 0;align-items:flex-start}
.eyebrow{color:#d4ecf5;letter-spacing:.12em}
.eyebrow-line{background:var(--color-brand-green-bright)}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;overflow-wrap:anywhere;min-width:0}
h1{max-width:530px;font-size:clamp(70px,7.3vw,110px);font-weight:800;line-height:.9;margin:24px 0 29px}
h1 em,.contact h2 em{color:var(--color-brand-green-bright)}
.hero-copy{max-width:480px;color:#e2f0f5;font-size:18px}
.hero-meta{margin-top:50px;color:#d4e8f0}
.button-lime{background:var(--color-brand-green-bright);color:var(--color-brand-blue-deep)}
.button-lime:hover{background:#b8d95f}
.button-dark{background:var(--color-brand-blue-deep)}
.button-dark:hover{background:var(--color-brand-blue)}
.intro-band{background:var(--color-paper-blue)}
.intro-inner{min-height:134px}
.intro-inner p{max-width:900px;color:var(--color-brand-blue-deep)}
.intro-inner strong{color:var(--color-brand-blue)}
.section-heading h2,.diagnostic h2,.process h2,.service-area h2,.contact h2,.guides-feature h2{font-family:var(--font-display);letter-spacing:-.025em;line-height:.96}
.section-heading h2 span{color:var(--color-brand-blue)}
.service-row h3{font-family:var(--font-display);font-size:clamp(30px,3vw,41px);letter-spacing:-.025em}
.service-row a:hover,.underlink:hover{color:var(--color-brand-blue);border-color:var(--color-brand-blue)}
.diagnostic{background:var(--color-paper-blue)}
.diagnostic-grid>div>p:last-child{color:var(--color-muted)}
.diagnostic-card{background:var(--color-paper);border-color:var(--color-rule)}
.diagnostic-card input{accent-color:var(--color-brand-blue)}
.process{background:var(--color-paper)}
.process-steps span{color:var(--color-brand-blue)}
.guides-feature{background:var(--color-paper-soft)}
.guide-teasers a{border-color:var(--color-rule)}
.guide-teasers a>span:first-child{color:var(--color-brand-blue)}
.guide-teasers strong{font-family:var(--font-display);font-size:clamp(28px,2.7vw,39px);letter-spacing:-.025em;line-height:1.06}
.service-area{background:var(--color-paper-blue)}
.area-coverage{border-color:var(--color-brand-blue)}
.area-coverage strong{font-family:var(--font-display);font-size:clamp(44px,5vw,67px);letter-spacing:-.025em;line-height:.95}
.contact{background:var(--color-brand-blue-deep)}
.contact-grid>div>p:last-child{color:#d3e7ef}
.button-outline{border-color:#89bbd1}
.button-outline:hover{background:#205578}
.site-footer{background:#0a2d4a}
.site-footer .brand{background:var(--color-paper);padding:8px 15px 8px 9px}
.site-footer .brand img{filter:none}
.footer-top nav a:hover,.footer-bottom a:hover{color:var(--color-brand-green-bright)}
.mobile-action a{background:var(--color-brand-blue-deep)}
@media(max-width:850px) and (min-width:681px){
  .hero{grid-template-columns:minmax(0,54%) minmax(0,46%)}
  .hero-content{width:min(calc(100% - 48px),530px)}
  h1{font-size:clamp(65px,8vw,82px)}
  .menu-toggle{display:block;border:1px solid var(--color-rule);min-width:46px;min-height:46px}
  .main-nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;position:absolute;left:0;right:0;top:100%;padding:15px 28px 25px;background:var(--color-paper);box-shadow:0 15px 25px rgba(18,62,99,.13);flex-direction:column;align-items:stretch;gap:0;transition:opacity var(--dur-short) var(--ease-out),visibility var(--dur-short)}
  .main-nav.open{visibility:visible;opacity:1;pointer-events:auto}
  .main-nav>a:not(.nav-call){display:block;padding:13px 4px;border-bottom:1px solid var(--color-rule)}
  .main-nav .nav-call{margin-top:15px;text-align:center}
}
@media(max-width:680px){
  .header-inner{min-height:70px}
  .brand-icon{width:47px;height:47px}
  .brand-icon img{width:165px;left:-59px;top:-42px}
  .brand-name strong{font-size:29px}
  .brand-name small{font-size:9px;letter-spacing:.2em}
  .hero{display:flex;flex-direction:column;min-height:0;background:var(--color-paper);color:var(--color-brand-blue-deep)}
  .hero-image{min-height:290px;width:100%;background-position:60% center}
  .hero-content{width:min(calc(100% - 34px),var(--wrap));padding:39px 0 46px;justify-content:flex-start}
  .eyebrow{color:var(--color-brand-blue);font-size:10px}
  h1{max-width:480px;margin:19px 0 17px;font-size:clamp(57px,15.5vw,79px);line-height:.9}
  h1 em{color:var(--color-brand-green)}
  .hero-copy{color:var(--color-muted);font-size:16px;line-height:1.55}
  .hero-actions{gap:15px;align-items:center;margin-top:10px}
  .hero-actions .button{min-width:0;max-width:280px;width:100%;background:var(--color-brand-green-bright);color:var(--color-brand-blue-deep)}
  .hero-actions .text-link{color:var(--color-brand-blue-deep);border-color:var(--color-brand-blue)}
  .hero-meta{display:none}
  .intro-inner{min-height:0;padding:29px 0}
  .section-heading h2,.diagnostic h2,.process h2,.service-area h2,.guides-feature h2{font-size:clamp(45px,12vw,61px)}
  .service-row h3{font-size:31px}
  .guide-teasers strong{font-size:30px}
  .area-coverage strong{font-size:clamp(43px,12vw,57px)}
  .contact h2{font-size:clamp(61px,16vw,82px)}
  .site-footer .brand{max-width:max-content}
  .mobile-action a{background:var(--color-brand-blue-deep)}
}
@media(max-width:360px){
  .brand-name strong{font-size:26px}
  .brand-name small{font-size:8px}
  .hero-image{min-height:255px}
  h1{font-size:53px}
}

/* Hallmark · phone usability refinement: compact preview notice, generous touch targets. */
@media(max-width:680px){
  .concept-bar{min-height:28px;align-items:center}
  .concept-bar span:first-child{display:none}
  .concept-bar span+span{display:block;white-space:nowrap}
  .hero-actions .button{max-width:none;width:100%}
  .footer-top nav{column-gap:12px;row-gap:0}
  .footer-bottom{margin-top:22px}
  .footer-bottom>*{margin:4px 0}
}
@media(max-width:850px){
  .hero-actions .text-link,.service-row a,.underlink,.footer-top nav a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
  .hero-actions .text-link,.service-row a,.underlink{border-bottom:0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
}

/* Hallmark · interaction refinement: problem-led entry, calm state feedback.
 * pre-emit critique: P4 H4 E4 S5 R5 V4
 */
.hero-content{animation:hero-enter 480ms var(--ease-out) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-chat-open{display:none;min-height:44px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:700 13px var(--font-body);cursor:pointer}
.quick-start{position:relative;z-index:2;background:var(--color-paper-blue);border-bottom:1px solid var(--color-rule)}
.quick-start-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,70px);align-items:center;padding-block:30px}
.quick-start-lead h2{margin:0 0 4px;font:800 clamp(27px,2.7vw,39px)/1 var(--font-display);letter-spacing:-.025em;color:var(--color-brand-blue-deep)}
.quick-start-lead p{margin:0;max-width:340px;font-size:14px;line-height:1.5;color:var(--color-muted)}
.quick-start-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.quick-start-options button{min-height:58px;padding:11px 13px;border:1px solid var(--color-rule);border-radius:2px;background:var(--color-paper);color:var(--color-brand-blue-deep);font:700 13px/1.25 var(--font-body);text-align:left;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),transform 120ms var(--ease-out)}
.quick-start-options button::after{content:"";display:block;width:18px;height:2px;margin-top:8px;background:var(--color-brand-green)}
@media(hover:hover) and (pointer:fine){.quick-start-options button:hover{background:var(--color-paper-soft)}.button:hover{transform:translateY(-1px)}}
.quick-start-options button:active,.button:active{transform:translateY(1px)}
.quick-start-options button:focus-visible{outline:3px solid var(--color-brand-blue);outline-offset:2px}
.service-row:focus-within{background:var(--color-paper-soft)}
.chat-launch{position:fixed;z-index:65;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);display:flex;align-items:center;gap:10px;min-height:54px;padding:0 18px;border:1px solid var(--color-paper);border-radius:28px;background:var(--color-brand-blue-deep);color:var(--color-paper);box-shadow:0 7px 22px rgba(18,62,99,.2);font:700 14px var(--font-body);cursor:pointer;transition:transform 120ms var(--ease-out),background-color var(--dur-short) var(--ease-out)}
.chat-launch::before{content:"?";display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--color-brand-green-bright);color:var(--color-brand-blue-deep);font-weight:800}
@media(hover:hover) and (pointer:fine){.chat-launch:hover{background:var(--color-brand-blue)}}
.chat-launch:active{transform:translateY(1px)}
.chat-launch.is-hidden{visibility:hidden;pointer-events:none}
.chat-launch:focus-visible,.chat-panel button:focus-visible,.chat-panel a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.chat-panel{position:fixed;z-index:66;right:clamp(16px,2vw,28px);bottom:94px;width:min(390px,calc(100% - 32px));max-height:min(660px,calc(100dvh - 115px));overflow:auto;border:1px solid var(--color-rule);border-radius:12px;background:var(--color-paper);color:var(--color-brand-blue-deep);box-shadow:0 18px 60px rgba(10,45,74,.22);animation:chat-enter 240ms var(--ease-out) both}
.chat-panel[hidden]{display:none}
@keyframes chat-enter{from{transform:translateY(8px)}to{transform:none}}
.chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 18px;background:var(--color-paper-blue)}
.chat-head h2{margin:0 0 5px;font:800 31px/1 var(--font-display)}
.chat-head p{margin:0;font-size:12px;color:var(--color-muted)}
.chat-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid var(--color-rule);border-radius:50%;background:var(--color-paper);color:var(--color-brand-blue-deep);font-size:24px;line-height:1;cursor:pointer}
.chat-body{padding:22px}
.chat-intro{margin:0 0 16px;font-size:15px;line-height:1.5}
.chat-question-form{margin-bottom:20px}
.chat-question-form label{display:block;margin-bottom:8px;font:700 13px var(--font-body)}
.chat-question-row{display:flex;gap:8px}
.chat-question-row input{min-width:0;flex:1;min-height:48px;padding:0 12px;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper);color:var(--color-brand-blue-deep);font:400 15px var(--font-body)}
.chat-question-row input::placeholder{color:var(--color-muted)}
.chat-question-row button{min-width:60px;min-height:48px;padding:0 12px;border:0;border-radius:4px;background:var(--color-brand-blue-deep);color:var(--color-paper);font:700 14px var(--font-body);cursor:pointer}
.chat-question-row button:hover{background:var(--color-brand-blue)}
.chat-question-row input:focus-visible,.chat-question-row button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}
.chat-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chat-choices button{min-height:48px;padding:11px 14px;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper);color:var(--color-brand-blue-deep);font:700 14px/1.25 var(--font-body);text-align:left;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out)}
.chat-choices button[aria-pressed="true"],.chat-choices button:hover{background:var(--color-paper-blue)}
.chat-answer{min-height:76px;margin:0 0 20px;padding:16px;border-left:3px solid var(--color-brand-green);background:var(--color-paper-soft);font-size:14px;line-height:1.5}
.chat-answer p{margin:0 0 10px}
.chat-answer a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.chat-note{margin:15px 0 0;color:var(--color-muted);font-size:12px;line-height:1.4}
@media(max-width:680px){.hero{background:var(--color-brand-blue-deep);color:var(--color-paper)}.hero-content{padding-bottom:52px}.hero .eyebrow{color:var(--color-paper-blue)}.hero h1 em{color:var(--color-brand-green-bright)}.hero .hero-copy{color:var(--color-paper-blue)}.hero .text-link,.hero .hero-chat-open{color:var(--color-paper)}.hero-chat-open{display:inline-flex;align-items:center}.quick-start-inner{display:block;padding-block:26px}.quick-start-lead h2{font-size:30px}.quick-start-lead p{font-size:13px}.quick-start-options{grid-template-columns:1fr;margin-top:17px}.quick-start-options button{min-height:50px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.quick-start-options button::after{margin:0 0 0 10px;flex:none}.chat-launch{right:16px;bottom:16px}.has-sticky-call .chat-launch{bottom:calc(84px + env(safe-area-inset-bottom))}.chat-panel{right:16px;bottom:80px;max-height:calc(100dvh - 96px)}.has-sticky-call .chat-panel{bottom:calc(145px + env(safe-area-inset-bottom));max-height:calc(100dvh - 160px)}}
@media(prefers-reduced-motion:reduce){.hero-content,.chat-panel{animation-duration:1ms!important;transform:none!important}.quick-start-options button,.chat-launch,.chat-choices button{transition-duration:1ms!important;transform:none!important}}

/* Affordable booking · practical mobile-first request flow, no implied calendar confirmation. */
.booking{padding:clamp(70px,8vw,120px) 0;background:var(--color-paper-soft)}
.booking-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(38px,7vw,110px);align-items:start}
.booking-intro{position:sticky;top:35px}
.booking-intro h2{max-width:570px;margin:0 0 22px;font:800 clamp(54px,5.8vw,84px)/.96 var(--font-display);letter-spacing:-.025em;color:var(--color-brand-blue-deep)}
.booking-intro>p{max-width:470px;margin:0;color:var(--color-muted);font-size:clamp(17px,1.6vw,19px);line-height:1.6}
.booking-assurance{display:grid;gap:0;max-width:390px;margin-top:38px;border-top:1px solid var(--color-rule)}
.booking-assurance span{padding:14px 0;border-bottom:1px solid var(--color-rule);font-size:14px;font-weight:600;color:var(--color-brand-blue-deep)}
.booking-assurance a,.booking-small a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.booking-form{min-width:0;padding:clamp(24px,3.5vw,44px);background:#fff;border:1px solid var(--color-rule);box-shadow:0 20px 50px rgba(18,62,99,.06)}
.booking-form-head h3{margin:0 0 4px;font:800 43px/1 var(--font-display);color:var(--color-brand-blue-deep)}
.booking-form-head p{margin:0 0 29px;color:var(--color-muted);font-size:14px}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.booking-fields label{display:block;min-width:0;font-size:13px;font-weight:700;color:var(--color-brand-blue-deep)}
.booking-fields .optional{font-weight:400;color:var(--color-muted)}
.booking-fields input,.booking-fields select,.booking-fields textarea{display:block;width:100%;min-width:0;min-height:48px;margin-top:7px;padding:11px 12px;border:1px solid #a9c5d2;border-radius:3px;background:#fff;color:var(--color-brand-blue-deep);font:400 16px/1.4 var(--font-body);transition:border-color 180ms var(--ease-out),background-color 180ms var(--ease-out)}
.booking-fields textarea{min-height:100px;resize:vertical}
.booking-fields input:focus-visible,.booking-fields select:focus-visible,.booking-fields textarea:focus-visible{border-color:var(--color-brand-blue);background:var(--color-paper-soft);outline:3px solid var(--color-focus);outline-offset:2px}
.booking-wide{grid-column:1/-1}
.booking-consent{display:flex;gap:11px;align-items:flex-start;margin:25px 0 12px;font-size:13px;line-height:1.5;color:var(--color-muted);cursor:pointer}
.booking-consent input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--color-brand-blue-deep)}
.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.booking-status{margin:0;color:var(--color-brand-blue-deep);font-size:14px;line-height:1.5}
.booking-status:not(:empty){padding:13px 15px;margin:0 0 14px;background:var(--color-paper-blue);border-left:3px solid var(--color-brand-blue)}
.booking-status[data-tone="error"]{background:#fff0ed;border-color:#b23322;color:#782519}
.booking-submit{width:100%;min-height:54px;border:0;cursor:pointer}
.booking-submit:disabled{opacity:.64;cursor:wait}
.booking-small{margin:12px 0 0;text-align:center;color:var(--color-muted);font-size:12px}
.booking-privacy{padding:19px 0;background:var(--color-paper-blue);color:var(--color-muted);font-size:13px;line-height:1.55}
.booking-privacy a{font-weight:700;color:var(--color-brand-blue-deep);text-decoration:underline;text-underline-offset:3px}
.chat-launch.is-hidden-by-booking{visibility:hidden;pointer-events:none}
.mobile-action{gap:8px}
@media(max-width:850px){.booking-grid{grid-template-columns:1fr}.booking-intro{position:static}.booking-assurance{margin-top:25px}}
@media(max-width:680px){.booking{padding:64px 0 74px}.booking-grid{gap:30px}.booking-intro h2{font-size:clamp(52px,13vw,69px)}.booking-intro>p{font-size:16px}.booking-assurance{margin-top:22px}.booking-form{padding:23px 18px;box-shadow:none}.booking-form-head h3{font-size:40px}.booking-fields{grid-template-columns:1fr;gap:15px}.booking-wide{grid-column:auto}.mobile-action.visible{display:flex}.mobile-action a{flex:1;min-width:0;white-space:nowrap}.mobile-action a+ a{flex:0 0 100px;background:var(--color-paper-blue);color:var(--color-brand-blue-deep)}}
@media(max-width:360px){.booking-intro h2{font-size:49px}.mobile-action a+ a{flex-basis:85px}}
@media(prefers-reduced-motion:reduce){.booking-fields input,.booking-fields select,.booking-fields textarea{transition-duration:1ms}}
