/* Integration: original brand asset, strict CSP, keyboard and small screens. */
:root{--n-white:var(--i-grow)}
.brand-mark{overflow:hidden;border-radius:6px}
.brand-mark img{display:block;width:38px;height:23px;object-fit:contain}
.footer-top .wordmark::before{background:url('/assets/brand-key.webp') center/cover no-repeat}
.home-label::before{width:5px;border-radius:3px;mask:none;-webkit-mask:none;background:var(--brand-grad)}
.renewal-inline-1{position:absolute}
.renewal-inline-2{color:var(--leaf)}
.renewal-inline-3{background:color-mix(in srgb,var(--leaf) 28%,var(--card))}
.renewal-inline-4{margin-top:28px}
.representative-statement{position:absolute;top:22%;left:10%;right:10%;font-family:var(--font-display);font-weight:900;font-size:clamp(28px,3.2vw,42px);line-height:1.8;color:#2a2e22}
.tel{text-decoration:none}
a,button,input,textarea,select{touch-action:manipulation}
:focus-visible{outline-color:#586b20}
[id]{scroll-margin-top:90px}
html.motion-off{scroll-behavior:auto}
@media(max-width:380px){
  .final .btn-primary{padding:18px 20px;font-size:16px}
  .contact-box{padding:20px 16px}
  .tel b{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.sticky-cta{display:none}body{padding-bottom:0}}

/* Service: reserve the full icon width instead of the legacy 50px track. */
/* Keep the wordmark centered when the mobile caption is hidden. */
@media(max-width:420px){
  :root:root .site-header .brand .brand-mark{grid-column:1;grid-row:1 / span 2}
  :root:root .site-header .brand .wordmark{grid-column:2;grid-row:1 / span 2;align-self:center}
}
:root:root .inner-page .home-service-row{grid-template-columns:84px minmax(0,1fr) minmax(0,1.4fr)}
@media(max-width:1000px){
  :root:root .inner-page .home-service-row{grid-template-columns:84px minmax(0,1fr);gap:24px}
  :root:root .inner-page .home-service-description{grid-column:1 / -1}
}
@media(max-width:700px){
  :root:root .page-intro::after{display:none}
  :root:root .inner-page .home-service-row{grid-template-columns:minmax(0,1fr);gap:24px}
  :root:root .inner-page .home-service-icon{grid-column:1;grid-row:auto}
  :root:root .inner-page .home-service-title,
  :root:root .inner-page .home-service-description{grid-column:1;grid-row:auto}
  :root:root .home-process{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  :root:root .home-process li,
  :root:root .home-process li:last-child{padding:24px;min-height:0}
  :root:root .home-process .process-count{position:static;margin-bottom:14px}
}