/* =========================================================
   01. TOKENS / BASE START
========================================================= */
:root {
  --color-primary: #0047ab;
  --color-primary-dark: #00347f;
  --color-primary-deep: #082a52;
  --color-primary-soft: #eaf2ff;
  --color-white: #fff;
  --color-bg: #f7f9fc;
  --color-surface: #fff;
  --color-text: #172033;
  --color-text-muted: #5c667a;
  --color-border: #dde3ec;
  --color-accent: #f28c28;
  --color-line: #06c755;
  --color-success: #1f7a4d;
  --shadow-sm: 0 6px 20px rgba(12, 35, 64, .08);
  --shadow-md: 0 16px 50px rgba(12, 35, 64, .14);
  --radius-sm: 10px;
  --radius-card: 18px;
  --radius-large: 24px;
  --container: 1200px;
  --header-height: 68px;
  --section-space: clamp(4rem, 8vw, 7.5rem);
  --font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); scroll-padding-bottom: calc(64px + env(safe-area-inset-bottom) + 16px); }
html.is-jumping-top { scroll-behavior: auto !important; }
body { margin: 0; min-width: 0; overflow-wrap: anywhere; color: var(--color-text); background: var(--color-white); font-family: var(--font-sans); font-size: 1rem; line-height: 1.8; -webkit-font-smoothing: antialiased; }
html.menu-is-open,
body.menu-is-open { overflow: hidden; overscroll-behavior: none; touch-action: none; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a { color: var(--color-primary); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--color-primary-dark); }
p, ul, ol, dl, blockquote { margin-top: 0; }
p:last-child, ul:last-child, ol:last-child, dl:last-child { margin-bottom: 0; }
h1, h2, h3, h4 { margin: 0 0 .75em; color: var(--color-primary-deep); font-weight: 800; line-height: 1.3; letter-spacing: -.035em; }
h1 { font-size: clamp(2.3rem, 5vw, 4.8rem); }
h2 { font-size: clamp(1.85rem, 3.7vw, 3.35rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
::selection { color: var(--color-white); background: var(--color-primary); }
:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 99999; top: 12px; left: 12px; padding: .7rem 1rem; color: var(--color-white); background: var(--color-primary-deep); border-radius: var(--radius-sm); transform: translateY(-160%); }
.skip-link:focus { color: var(--color-white); transform: translateY(0); }
.page-top-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }
.icon { width: 1.35em; height: 1.35em; flex: 0 0 auto; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.container--narrow { max-width: 860px; }
.section { position: relative; padding-block: var(--section-space); }
.section--soft { background: var(--color-bg); }
.section--deep { color: rgba(255,255,255,.82); background: var(--color-primary-deep); }
.section--primary { color: rgba(255,255,255,.88); background: var(--color-primary); }
.section--deep h2, .section--deep h3, .section--primary h2, .section--primary h3 { color: var(--color-white); }
.section--deep .eyebrow, .section--primary .eyebrow { color: #91b9ff; }
.section-heading { max-width: 780px; margin-bottom: clamp(2rem, 5vw, 4rem); }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading h2 { margin-bottom: .45em; }
.section-heading__lead { max-width: 700px; color: var(--color-text-muted); font-size: clamp(1rem, 1.5vw, 1.1rem); }
.section-heading--center .section-heading__lead { margin-inline: auto; }
.section--deep .section-heading__lead, .section--primary .section-heading__lead { color: rgba(255,255,255,.78); }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin-bottom: 1rem; color: var(--color-primary); font-size: .76rem; font-weight: 800; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { width: 28px; height: 2px; content: ""; background: currentColor; }
.section-heading--center .eyebrow { justify-content: center; }
.eyebrow--light { color: #b9d2ff; }
.large-copy { color: var(--color-primary-deep); font-size: clamp(1.08rem, 2vw, 1.3rem); font-weight: 700; line-height: 1.85; }
.section--deep .large-copy, .section--primary .large-copy { color: var(--color-white); }
.role { color: var(--color-primary); font-weight: 800; }
.review-note { margin-top: 1.25rem; padding: .85rem 1rem; color: #69430b; background: #fff5e6; border: 1px solid #f5cf91; border-radius: var(--radius-sm); font-size: .88rem; line-height: 1.65; }
.review-note strong { display: block; margin-bottom: .3rem; }
.review-note--dark { color: #f9ddaa; background: rgba(242,140,40,.1); border-color: rgba(242,140,40,.42); }
.reveal-ready .reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal-ready .reveal.is-visible { opacity: 1; transform: none; }
/* =========================================================
   01. TOKENS / BASE END
========================================================= */

/* =========================================================
   02. COMPONENTS START
========================================================= */
/* 02-01 Buttons and links */
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: .65rem; padding: .78rem 1.35rem; color: var(--color-white); background: var(--color-primary); border: 2px solid transparent; border-radius: var(--radius-sm); font-size: .95rem; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.button:hover { color: var(--color-white); background: var(--color-primary-dark); box-shadow: var(--shadow-sm); transform: translateY(-2px); }
.button--secondary { color: var(--color-primary); background: var(--color-white); border-color: var(--color-primary); }
.button--secondary:hover { color: var(--color-white); background: var(--color-primary); }
.button--white { color: var(--color-primary-deep); background: var(--color-white); border-color: var(--color-white); }
.button--white:hover { color: var(--color-white); background: transparent; }
.button--phone { color: var(--color-white); background: var(--color-primary); }
.button--line { color: var(--color-white); background: var(--color-line); }
.button--line:hover { background: #05a948; }
.button--disabled { color: #6e7787; background: #e8ebf0; border-color: #d7dbe3; cursor: not-allowed; box-shadow: none; transform: none; }
.text-link { display: inline-flex; align-items: center; gap: .6rem; color: var(--color-primary); font-weight: 800; text-decoration: none; }
.text-link .icon { transition: transform .2s ease; }
.text-link:hover .icon { transform: translateX(4px); }
.section-link { margin-top: clamp(2rem, 4vw, 3.25rem); text-align: center; }
.contact-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.contact-actions .button { flex: 1 1 220px; }
.contact-actions--stacked { flex-direction: column; }
.contact-actions--stacked .button { flex-basis: auto; width: 100%; }
.contact-pending { margin-top: .75rem; color: var(--color-text-muted); font-size: .82rem; }

/* 02-02 Media placeholders */
.visual-placeholder { position: relative; display: grid; min-height: 180px; overflow: hidden; background: var(--color-primary-deep); border-radius: var(--radius-large); isolation: isolate; }
.visual-placeholder--hero { aspect-ratio: 16 / 9; }
.visual-placeholder--garden, .visual-placeholder--cleanup, .visual-placeholder--estate, .visual-placeholder--moving, .visual-placeholder--other, .visual-placeholder--about, .visual-placeholder--work { aspect-ratio: 4 / 3; }
.visual-placeholder--owner { aspect-ratio: 4 / 5; }
.visual-placeholder > svg, .visual-placeholder > img { width: 100%; height: 100%; object-fit: cover; grid-area: 1 / 1; }
.visual-placeholder > span { z-index: 1; grid-area: 1 / 1; align-self: end; display: flex; flex-direction: column; align-items: flex-start; padding: 1.3rem; color: var(--color-white); font-size: 1.15rem; font-weight: 800; line-height: 1.35; text-shadow: 0 2px 10px rgba(0,0,0,.2); }
.visual-placeholder > span small { margin-bottom: .35rem; color: #b9d2ff; font-size: .62rem; letter-spacing: .14em; }
.visual-placeholder > span em { margin-top: .5rem; padding: .25rem .55rem; color: var(--color-primary-deep); background: rgba(255,255,255,.9); border-radius: 999px; font-size: .68rem; font-style: normal; }
.visual-placeholder--ready > img { transition: transform .45s ease; }

/* 02-03 Notice, lists and cards */
.legal-note { padding: 1.25rem 1.3rem; color: #304057; background: var(--color-primary-soft); border-left: 4px solid var(--color-primary); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.legal-note strong { display: block; margin-bottom: .35rem; color: var(--color-primary-deep); }
.legal-note--dark { color: rgba(255,255,255,.82); background: rgba(255,255,255,.07); border-color: #72a5ff; }
.legal-note--dark strong { color: var(--color-white); }
.simple-list { display: grid; gap: .7rem; padding: 0; list-style: none; }
.simple-list li { display: flex; gap: .65rem; align-items: flex-start; }
.simple-list .icon { margin-top: .3rem; color: var(--color-primary); }
.check-grid { display: grid; gap: .85rem; padding: 0; list-style: none; }
.check-grid li { display: flex; min-height: 70px; align-items: center; gap: .85rem; padding: 1rem 1.1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); font-weight: 700; }
.check-grid .icon { color: var(--color-success); }
.empty-state { padding: 2.5rem 1.5rem; background: var(--color-bg); border: 1px dashed #b5c1d2; border-radius: var(--radius-card); text-align: center; }
.empty-state--large { padding-block: clamp(3rem, 8vw, 6rem); }
.empty-state h2 { font-size: clamp(1.5rem, 3vw, 2.4rem); }
.entry-card { margin-bottom: 1rem; padding: 1.5rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-card); }
.entry-card h2 { font-size: 1.4rem; }
.entry-card h2 a { color: inherit; text-decoration: none; }

/* 02-04 Breadcrumb */
.breadcrumb { background: var(--color-white); border-bottom: 1px solid var(--color-border); }
.breadcrumb__list { display: flex; gap: .5rem; align-items: center; margin: 0 auto; padding-block: .75rem; overflow-x: auto; list-style: none; color: var(--color-text-muted); font-size: .78rem; white-space: nowrap; }
.breadcrumb__item { display: flex; align-items: center; }
.breadcrumb__item:not(:last-child)::after { margin-left: .5rem; color: #9ca6b7; content: "/"; }
.breadcrumb a { color: var(--color-text-muted); text-decoration: none; }

/* 02-05 FAQ */
.faq-list { border-top: 1px solid var(--color-border); }
.faq-item { border-bottom: 1px solid var(--color-border); }
.faq-item :is(h2, h3) { margin: 0; font-size: 1rem; }
.faq-item__question { width: 100%; min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; background: none; border: 0; cursor: pointer; font-weight: 800; text-align: left; }
.faq-item__question > span { display: flex; align-items: center; gap: .8rem; }
.faq-item__question b, .faq-item__answer b { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; color: var(--color-white); background: var(--color-primary); border-radius: 50%; font-size: .85rem; }
.faq-item__question i { position: relative; width: 22px; height: 22px; flex: 0 0 auto; }
.faq-item__question i::before, .faq-item__question i::after { position: absolute; top: 10px; left: 3px; width: 16px; height: 2px; content: ""; background: var(--color-primary); transition: transform .2s ease; }
.faq-item__question i::after { transform: rotate(90deg); }
.faq-item__question[aria-expanded="true"] i::after { transform: rotate(0); }
.faq-item__answer { padding: 0 0 1.5rem; }
.faq-item__answer > div { display: flex; gap: .8rem; padding: 1rem; background: var(--color-bg); border-radius: var(--radius-sm); }
.faq-item__answer b { color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); }
.faq-item__answer p { margin: 0; }

/* 02-06 Flow */
.flow-list { display: grid; gap: .85rem; padding: 0; list-style: none; counter-reset: flow; }
.flow-card { position: relative; display: flex; gap: 1rem; padding: 1.25rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-card); }
.flow-card > span { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; color: var(--color-white); background: var(--color-primary); border-radius: 50%; font-size: .75rem; font-weight: 800; }
.flow-card h3 { margin: .1rem 0 .35rem; font-size: 1.05rem; }
.flow-card p { color: var(--color-text-muted); font-size: .9rem; line-height: 1.65; }

/* 02-07 Work cards */
.work-grid { display: grid; gap: 1.25rem; }
.work-card { overflow: hidden; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-sm); transition: box-shadow .25s ease, transform .25s ease; }
.work-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }
.work-card__media { display: block; overflow: hidden; color: inherit; }
.work-card__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s ease; }
.work-card:hover .work-card__media img { transform: scale(1.025); }
.work-card__media .visual-placeholder { border-radius: 0; }
.work-card__body { padding: 1.25rem; }
.work-card__tags { margin-bottom: .55rem; color: var(--color-primary); font-size: .76rem; font-weight: 800; }
.work-card__title { margin-bottom: .8rem; font-size: 1.25rem; }
.work-card__title a { color: inherit; text-decoration: none; }
.work-card__meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem; margin-bottom: 1rem; }
.work-card__meta div { padding: .65rem; background: var(--color-bg); border-radius: 8px; }
.work-card__meta dt { color: var(--color-text-muted); font-size: .68rem; }
.work-card__meta dd { margin: .1rem 0 0; font-size: .85rem; font-weight: 800; }

/* 02-08 Pagination */
.navigation.pagination { margin-top: 2.5rem; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.page-numbers { display: grid; min-width: 44px; min-height: 44px; place-items: center; padding: .5rem; color: var(--color-primary); background: var(--color-white); border: 1px solid var(--color-border); border-radius: 8px; text-decoration: none; }
.page-numbers.current { color: var(--color-white); background: var(--color-primary); border-color: var(--color-primary); }
/* =========================================================
   02. COMPONENTS END
========================================================= */

/* =========================================================
   03. HEADER / FOOTER START
========================================================= */
.site-header { position: sticky; z-index: 1000; top: 0; background: var(--color-white); transition: box-shadow .2s ease; }
.site-header.is-scrolled { box-shadow: 0 7px 24px rgba(9,34,67,.12); }
.admin-bar .site-header { top: 46px; }
.site-info-bar { display: none; color: rgba(255,255,255,.82); background: var(--color-primary-deep); }
.site-info-bar__inner { display: flex; justify-content: flex-end; gap: 1.5rem; min-height: 32px; align-items: center; }
.site-info-bar p { margin: 0; font-size: .71rem; line-height: 1.3; }
.site-info-bar span { margin-right: .35rem; color: #91b9ff; font-weight: 700; }
.site-header__main { position: relative; z-index: 1000; border-bottom: 1px solid rgba(221,227,236,.8); }
.site-header__inner { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.site-header__brand { flex: 0 0 auto; }
.site-brand, .custom-logo-link { display: inline-flex; align-items: center; gap: .65rem; color: var(--color-primary-deep); text-decoration: none; }
.site-brand:hover { color: var(--color-primary-deep); }
.site-brand__mark { display: grid; width: 38px; height: 38px; place-items: center; color: var(--color-white); background: var(--color-primary); border-radius: 9px 3px 9px 3px; font-size: 1.35rem; font-weight: 900; font-style: italic; }
.site-brand__text { display: flex; flex-direction: column; line-height: 1; }
.site-brand__text strong { font-size: 1.45rem; letter-spacing: .04em; }
.site-brand__text small { margin-top: .25rem; color: var(--color-text-muted); font-size: .52rem; letter-spacing: .08em; }
.custom-logo { width: auto; height: 48px; max-width: 150px; object-fit: contain; }
.menu-toggle { position: relative; z-index: 1002; display: grid; width: 48px; height: 48px; place-items: center; padding: 0; color: var(--color-primary-deep); background: var(--color-primary-soft); border: 0; border-radius: var(--radius-sm); cursor: pointer; }
.menu-toggle .icon { width: 26px; height: 26px; }
.menu-toggle__close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__close { display: block; }
.no-js .menu-toggle { display: none; }
.site-nav__list { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.site-nav__list a { display: flex; min-height: 52px; align-items: center; padding: .65rem 0; color: var(--color-primary-deep); border-bottom: 1px solid var(--color-border); font-weight: 700; text-decoration: none; }
.site-nav__mobile-contact { padding-top: 1.25rem; }
.site-nav__mobile-contact p { margin-top: .8rem; color: var(--color-text-muted); font-size: .8rem; text-align: center; }
.js .site-nav { position: fixed; z-index: 1001; top: 0; right: 0; bottom: auto; width: min(88vw, 390px); height: 100vh; height: 100dvh; max-height: 100dvh; padding: calc(var(--header-height) + 1.5rem) 1.5rem calc(90px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; background: var(--color-white); box-shadow: -18px 0 50px rgba(8,42,82,.18); transform: translateX(105%); visibility: hidden; transition: transform .28s ease, visibility .28s; }
html.js body.admin-bar .site-nav { top: 46px; }
.js .site-nav.is-open { transform: translateX(0); visibility: visible; }
.no-js .site-nav { width: 100%; padding: 0 20px 1rem; }
.no-js .site-header__inner { flex-wrap: wrap; }
.no-js .site-header__brand { padding-top: .75rem; }
.menu-backdrop { position: fixed; z-index: 999; top: 0; right: 0; bottom: auto; left: 0; height: 100vh; height: 100dvh; background: rgba(6,20,38,.72); }
.site-header__actions { display: none; }

.site-footer { padding-bottom: 0; color: rgba(255,255,255,.72); background: #061d39; }
.site-footer--with-mobile-cta { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
.site-footer__grid { display: grid; gap: 2.5rem; padding-block: 4rem; }
.site-footer .site-brand { color: var(--color-white); }
.site-footer .site-brand__mark { background: #1e67ca; }
.site-footer .site-brand__text small { color: #9db4d0; }
.site-footer__about > p { max-width: 500px; margin-top: 1.4rem; }
.site-footer__details { display: grid; gap: .45rem; margin-top: 1.5rem; }
.site-footer__details div { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; }
.site-footer__details dt { color: #86a9d3; font-size: .8rem; }
.site-footer__details dd { margin: 0; color: var(--color-white); font-size: .88rem; }
.site-footer__nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.site-footer__nav h2 { margin-bottom: 1rem; color: var(--color-white); font-size: .9rem; letter-spacing: .04em; }
.site-footer__nav ul { display: grid; gap: .55rem; padding: 0; list-style: none; }
.site-footer__nav a, .social-links a, .site-footer__bottom a { color: rgba(255,255,255,.74); font-size: .83rem; text-decoration: none; }
.site-footer__nav a:hover, .social-links a:hover, .site-footer__bottom a:hover { color: var(--color-white); }
.social-links { display: flex; gap: 1rem; margin-top: 1.25rem; }
.site-footer__bottom { padding-block: 1.1rem; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__bottom .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; align-items: center; }
.site-footer__bottom p { margin: 0; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.mobile-sticky-cta { position: fixed; z-index: 1100; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: calc(64px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); color: var(--color-white); background: var(--color-primary-deep); box-shadow: 0 -8px 24px rgba(8,42,82,.18); }
.mobile-sticky-cta > * { display: flex; min-width: 0; align-items: center; justify-content: center; gap: .45rem; padding: .65rem; color: var(--color-white); font-size: .85rem; font-weight: 800; line-height: 1.2; text-decoration: none; }
.mobile-sticky-cta__phone { background: var(--color-primary); }
.mobile-sticky-cta__line { background: var(--color-line); }
.mobile-sticky-cta__disabled { color: #667085; background: #e4e8ef; }
.mobile-sticky-cta .icon { width: 20px; height: 20px; }
body.menu-is-open .mobile-sticky-cta { visibility: hidden; pointer-events: none; }
.back-to-top { position: fixed; z-index: 1090; right: max(16px,env(safe-area-inset-right)); bottom: max(18px,env(safe-area-inset-bottom)); display: none; width: 48px; height: 48px; place-items: center; padding: 0; color: var(--color-white); background: var(--color-primary-deep); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 8px 24px rgba(6,20,38,.22); cursor: pointer; }
.back-to-top.is-visible { display: grid; }
.back-to-top--with-mobile-cta { bottom: calc(76px + env(safe-area-inset-bottom)); }
.back-to-top .icon { width: 22px; height: 22px; }
body.menu-is-open .back-to-top { visibility: hidden; pointer-events: none; }
/* =========================================================
   03. HEADER / FOOTER END
========================================================= */

/* =========================================================
   04. HEROES START
========================================================= */
.home-hero { position: relative; overflow: hidden; padding: clamp(2.25rem, 6vw, 5.5rem) 0 0; background: linear-gradient(135deg, #f8fbff 0%, #eaf2ff 100%); }
.home-hero::before { position: absolute; top: -220px; left: -180px; width: 520px; height: 520px; content: ""; border: 1px solid rgba(0,71,171,.1); border-radius: 50%; box-shadow: 0 0 0 70px rgba(0,71,171,.025), 0 0 0 140px rgba(0,71,171,.02); }
.home-hero__grid { position: relative; display: grid; gap: 2.25rem; }
.home-hero__content { align-self: center; }
.hero-label { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1.25rem; padding: .42rem .7rem; color: var(--color-primary); background: var(--color-white); border: 1px solid #c9daf5; border-radius: 999px; font-size: .76rem; font-weight: 800; line-height: 1.4; }
.hero-label span { width: 7px; height: 7px; background: var(--color-accent); border-radius: 50%; }
.home-hero h1 { margin-bottom: .38em; font-size: clamp(2.25rem, 5.1vw, 4.15rem); line-height: 1.12; letter-spacing: -.055em; white-space: nowrap; }
.home-hero h1 em { color: var(--color-primary); font-style: normal; }
.home-hero__lead { max-width: 660px; margin-bottom: 1.6rem; color: #3c4c63; font-size: clamp(1rem, 1.8vw, 1.16rem); font-weight: 500; line-height: 1.9; }
.home-hero__visual { position: relative; }
.home-hero__visual .visual-placeholder { box-shadow: var(--shadow-md); }
.hero-stamp { position: absolute; right: -8px; bottom: -20px; display: flex; width: 118px; height: 118px; flex-direction: column; align-items: center; justify-content: center; color: var(--color-white); background: var(--color-accent); border: 7px solid var(--color-white); border-radius: 50%; box-shadow: var(--shadow-sm); transform: rotate(-7deg); }
.hero-stamp strong { font-size: 1.7rem; line-height: 1; }
.hero-stamp span { margin-top: .3rem; font-size: .55rem; font-weight: 800; line-height: 1.25; letter-spacing: .12em; text-align: center; }
.trust-strip { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin-top: 3rem; background: var(--color-white); border-radius: var(--radius-card) var(--radius-card) 0 0; box-shadow: var(--shadow-sm); }
.trust-strip span { display: flex; min-height: 62px; align-items: center; gap: .45rem; padding: .75rem; border-bottom: 1px solid var(--color-border); font-size: .78rem; font-weight: 800; }
.trust-strip span:nth-child(odd) { border-right: 1px solid var(--color-border); }
.trust-strip .icon { color: var(--color-primary); }

.page-hero { overflow: hidden; padding-block: clamp(3rem, 8vw, 7rem); background: linear-gradient(135deg, #f6faff 0%, var(--color-primary-soft) 100%); }
.page-hero--compact { position: relative; }
.page-hero--compact::after { position: absolute; right: -120px; bottom: -220px; width: 480px; height: 480px; content: ""; border: 70px solid rgba(0,71,171,.05); border-radius: 50%; }
.page-hero--compact .container { position: relative; z-index: 1; }
.page-hero h1, .simple-page-hero h1 { max-width: 900px; margin-bottom: .35em; }
.page-hero__lead { max-width: 760px; color: var(--color-text-muted); font-size: clamp(1rem, 2vw, 1.18rem); line-height: 1.9; }
.page-hero__grid { display: grid; gap: 2.2rem; }
.page-hero__content { align-self: center; }
.page-hero__content .contact-actions { margin-top: 1.5rem; }
.simple-page-hero { padding-block: clamp(3rem, 7vw, 6rem); background: var(--color-primary-soft); }
.error-page { display: grid; min-height: 67vh; place-items: center; padding-block: var(--section-space); background: var(--color-bg); text-align: center; }
.error-page__inner { max-width: 760px; }
.error-page__code { margin: 0; color: rgba(0,71,171,.09); font-size: clamp(7rem, 25vw, 15rem); font-weight: 900; line-height: .7; letter-spacing: -.08em; }
.error-page .eyebrow { justify-content: center; margin-top: -1rem; }
.error-page h1 { font-size: clamp(1.9rem, 5vw, 3.6rem); }
.error-page__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.75rem; }
.error-page .contact-actions { max-width: 560px; margin: 1rem auto 0; }
/* =========================================================
   04. HEROES END
========================================================= */

/* =========================================================
   05. HOME SECTIONS START
========================================================= */
.trouble-grid { display: grid; gap: .75rem; padding: 0; list-style: none; }
.trouble-grid li { display: flex; min-height: 80px; align-items: center; gap: 1rem; padding: 1rem 1.1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-sm); }
.trouble-grid li > span { flex: 0 0 2.4ch; min-width: 2.4ch; overflow-wrap: normal; white-space: nowrap; color: var(--color-primary); font-size: .72rem; font-variant-numeric: tabular-nums; font-weight: 900; letter-spacing: .08em; }
.trouble-grid p { margin: 0; color: var(--color-primary-deep); font-weight: 800; line-height: 1.5; }
.troubles__closing { margin-top: 2rem; text-align: center; }
.troubles__closing strong { color: var(--color-primary); }

.service-card-grid { display: grid; gap: 1.25rem; }
.service-card { overflow: hidden; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-large); box-shadow: var(--shadow-sm); transition: box-shadow .25s ease, transform .25s ease; }
.service-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }
.service-card__media { display: block; overflow: hidden; }
.service-card__media .visual-placeholder { border-radius: 0; }
.service-card:hover .visual-placeholder--ready img { transform: scale(1.025); }
.service-card__body { position: relative; padding: 1.35rem; }
.service-card__number { position: absolute; top: -30px; right: 1.2rem; display: grid; width: 60px; height: 60px; place-items: center; color: var(--color-primary); background: var(--color-white); border-radius: 50%; box-shadow: var(--shadow-sm); font-weight: 900; }
.service-card__label { margin-bottom: .45rem; color: var(--color-primary); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.service-card h3 { margin-bottom: .55rem; }
.service-card__body > p:not(.service-card__label) { color: var(--color-text-muted); font-size: .92rem; }

.values__grid { display: grid; gap: 3rem; }
.value-list { display: grid; gap: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.value-list li { display: grid; grid-template-columns: 50px 1fr; gap: 1rem; padding-block: 1.35rem; border-bottom: 1px solid var(--color-border); }
.value-list > li > span { color: var(--color-primary); font-size: .78rem; font-weight: 900; }
.value-list h3 { margin-bottom: .35rem; }
.value-list p { color: var(--color-text-muted); }

.other-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 0; overflow: hidden; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius-card); list-style: none; }
.other-service-grid li { display: flex; min-height: 70px; align-items: center; gap: .7rem; padding: .9rem; color: var(--color-white); background: var(--color-primary-deep); font-size: .82rem; font-weight: 700; }
.other-service-grid li span { color: #72a5ff; font-size: .64rem; }
.other-services .legal-note { max-width: 850px; margin: 2rem auto 0; }

.home-price__grid { display: grid; gap: 2.5rem; }
.price-panel { padding: clamp(1.5rem, 4vw, 2.5rem); color: rgba(255,255,255,.8); background: var(--color-primary-deep); border-radius: var(--radius-large); box-shadow: var(--shadow-md); }
.price-panel > p:first-child { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.15); font-size: .85rem; font-weight: 700; }
.price-panel > p:first-child span { padding: .25rem .5rem; color: #f9d9a8; background: rgba(242,140,40,.16); border-radius: 999px; font-size: .7rem; }
.price-panel > strong { display: block; margin: 1.4rem 0; color: var(--color-white); font-size: clamp(2.6rem, 8vw, 4.8rem); line-height: 1; }
.price-panel > strong small { display: block; margin-bottom: .7rem; color: #b9d2ff; font-size: .76rem; font-weight: 700; line-height: 1.4; }
.price-panel > strong em { margin-left: .25rem; font-size: 1rem; font-style: normal; }
.price-panel ul { display: grid; gap: .45rem; padding-left: 1.2rem; font-size: .88rem; }

.home-area__grid { display: grid; gap: 2.5rem; }
.area-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; padding: 1px; background: rgba(255,255,255,.25); list-style: none; }
.area-list li { display: flex; min-height: 60px; align-items: center; gap: .75rem; padding: .8rem; color: var(--color-white); background: var(--color-primary); font-weight: 800; }
.area-list span { color: #9fc2fa; font-size: .68rem; }

.home-about__grid { display: grid; gap: 2.5rem; align-items: center; }
.home-about__media { position: relative; max-width: 520px; }
.home-about__quote { position: absolute; right: -10px; bottom: 20px; padding: .75rem 1rem; color: var(--color-white); background: var(--color-primary); border-radius: var(--radius-sm); box-shadow: var(--shadow-md); font-weight: 800; line-height: 1.5; }
/* =========================================================
   05. HOME SECTIONS END
========================================================= */

/* =========================================================
   06. INNER PAGES START
========================================================= */
.split-content { display: grid; gap: 2.5rem; align-items: start; }
.principle-card { padding: clamp(1.5rem,4vw,2.5rem); color: rgba(255,255,255,.8); background: var(--color-primary-deep); border-radius: var(--radius-large); box-shadow: var(--shadow-md); }
.principle-card > span { color: #82adf5; font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.principle-card h3 { margin-top: .75rem; color: var(--color-white); font-size: clamp(1.7rem,4vw,2.7rem); }
.principle-card ol { display: grid; gap: .7rem; padding-left: 1.4rem; }
.principle-card--light { color: var(--color-text-muted); background: var(--color-bg); border: 1px solid var(--color-border); box-shadow: none; }
.principle-card--light h3 { color: var(--color-primary-deep); }
.service-task-grid { display: grid; gap: .75rem; padding: 0; list-style: none; }
.service-task-grid li { display: flex; min-height: 68px; align-items: center; gap: .9rem; padding: 1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-weight: 700; }
.service-task-grid span { color: var(--color-primary); font-size: .68rem; font-weight: 900; }
.price-brief { display: grid; gap: 2rem; align-items: center; }
.price-brief .section-heading { margin-bottom: 0; }
.service-index-grid { display: grid; gap: 1.5rem; }
.service-index-card { overflow: hidden; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-large); box-shadow: var(--shadow-sm); }
.service-index-card__media .visual-placeholder { border-radius: 0; }
.service-index-card__body { padding: 1.5rem; }
.service-index-card__body > span { color: var(--color-primary); font-size: .7rem; font-weight: 900; letter-spacing: .1em; }
.service-index-card h3 { margin-top: .5rem; font-size: clamp(1.45rem,3vw,2.2rem); }

.price-page-grid { display: grid; gap: 2.5rem; align-items: start; }
.price-page-grid h2 { font-size: clamp(1.65rem,3vw,2.5rem); }
.price-page-figure { margin-top: 1.5rem; padding: 1.5rem; color: var(--color-white); background: var(--color-primary); border-radius: var(--radius-large); }
.price-page-figure span { display: block; font-size: .78rem; font-weight: 700; }
.price-page-figure strong { display: block; margin-top: .65rem; font-size: clamp(3rem,10vw,5.5rem); line-height: 1; }
.price-page-figure small { margin-left: .3rem; font-size: 1rem; }
.factor-grid { display: grid; gap: .75rem; padding: 0; list-style: none; }
.factor-grid li { display: flex; min-height: 64px; align-items: center; gap: .8rem; padding: 1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); font-weight: 700; }
.factor-grid span { color: var(--color-primary); font-size: .68rem; font-weight: 900; }
.factor-grid li > span,
.service-task-grid li > span { min-width: 2.4ch; flex: 0 0 2.4ch; white-space: nowrap; overflow-wrap: normal; }
.info-columns { display: grid; gap: 2.5rem; }
.info-columns article { padding-top: 1.5rem; border-top: 3px solid var(--color-primary); }
.info-columns h2 { font-size: clamp(1.5rem,3vw,2.2rem); }

.about-message { display: grid; gap: 2rem; }
.about-message blockquote { margin: 2rem 0 0; padding-left: 1.3rem; color: var(--color-primary); border-left: 4px solid var(--color-primary); font-size: clamp(1.5rem,4vw,2.5rem); font-weight: 900; }
.promise-grid { display: grid; gap: 1rem; }
.promise-grid article { padding: 1.5rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-sm); }
.promise-grid article > span { color: var(--color-primary); font-size: .72rem; font-weight: 900; }
.promise-grid h3 { margin-top: .8rem; }
.company-profile { display: grid; gap: 2.5rem; }
.company-profile dl { margin: 0; border-top: 1px solid rgba(255,255,255,.18); }
.company-profile dl div { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; padding-block: .85rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.company-profile dt { color: #91b9ff; font-size: .82rem; }
.company-profile dd { margin: 0; color: var(--color-white); }

.area-page-grid { display: grid; gap: 2.5rem; align-items: center; }
.area-map-placeholder { position: relative; display: grid; min-height: 390px; place-content: center; overflow: hidden; color: var(--color-white); background: var(--color-primary-deep); border-radius: var(--radius-large); text-align: center; isolation: isolate; }
.area-map-placeholder__rings, .area-map-placeholder__rings::before, .area-map-placeholder__rings::after { position: absolute; z-index: -1; inset: 50% auto auto 50%; width: 170px; height: 170px; content: ""; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; transform: translate(-50%,-50%); }
.area-map-placeholder__rings::before { width: 300px; height: 300px; }
.area-map-placeholder__rings::after { width: 440px; height: 440px; }
.area-map-placeholder strong { font-size: clamp(2rem,6vw,3.5rem); }
.area-map-placeholder small { color: #91b9ff; font-weight: 800; letter-spacing: .13em; }
.area-map-placeholder p { margin-top: 1rem; font-size: .8rem; }
.area-map-placeholder .button { margin-top: .5rem; }
.area-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; padding: 0; list-style: none; }
.area-card-grid li { display: flex; min-height: 105px; flex-direction: column; justify-content: center; padding: 1rem; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.area-card-grid span { color: var(--color-primary); font-size: .65rem; font-weight: 900; }
.area-card-grid strong { color: var(--color-primary-deep); font-size: 1.15rem; }
.area-card-grid small { color: var(--color-text-muted); }

.contact-page-grid { display: grid; gap: 1.25rem; }
.contact-method { padding: clamp(1.5rem,5vw,3rem); background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-large); box-shadow: var(--shadow-sm); }
.contact-method__icon { display: grid; width: 58px; height: 58px; place-items: center; color: var(--color-white); background: var(--color-primary); border-radius: 50%; }
.contact-method--line .contact-method__icon { background: var(--color-line); }
.contact-method__icon .icon { width: 28px; height: 28px; }
.contact-method .eyebrow { margin-top: 1.2rem; }
.contact-method__hours { padding: .8rem 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.contact-method .button { width: 100%; margin-top: 1rem; }
.contact-checklist-grid { display: grid; gap: 2rem; }
.contact-checklist-grid ol { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.contact-checklist-grid li { display: grid; grid-template-columns: 44px 1fr; gap: .8rem; padding: 1rem; background: var(--color-white); border-radius: var(--radius-sm); }
.contact-checklist-grid li > span { color: var(--color-primary); font-size: .68rem; font-weight: 900; }
.contact-checklist-grid li p { margin: 0; color: var(--color-text-muted); font-size: .85rem; }
.contact-checklist-grid li strong { display: block; color: var(--color-primary-deep); font-size: 1rem; }

.policy-content > section { margin-bottom: 2.5rem; }
.policy-content h2 { padding-bottom: .6rem; border-bottom: 2px solid var(--color-primary-soft); font-size: clamp(1.3rem,3vw,1.75rem); }
.policy-content li { margin-bottom: .4rem; }

.work-single__header { padding-block: clamp(3rem,7vw,6rem); background: var(--color-primary-soft); }
.work-single__header h1 { font-size: clamp(2rem,5vw,4rem); }
.work-single__tags { color: var(--color-primary); font-size: .82rem; font-weight: 800; }
.work-single__date { color: var(--color-text-muted); font-size: .8rem; }
.work-single__layout { display: grid; gap: 2rem; padding-block: var(--section-space); }
.work-single__media { margin-bottom: 2rem; overflow: hidden; border-radius: var(--radius-large); }
.work-single__media img { width: 100%; }
.work-summary { padding: 1.35rem; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-card); }
.work-summary h2 { font-size: 1.4rem; }
.work-summary dl { border-top: 1px solid var(--color-border); }
.work-summary dl div { display: grid; grid-template-columns: 80px 1fr; gap: .75rem; padding-block: .65rem; border-bottom: 1px solid var(--color-border); }
.work-summary dt { color: var(--color-text-muted); font-size: .75rem; }
.work-summary dd { margin: 0; font-size: .88rem; font-weight: 700; }
.work-summary .button { width: 100%; margin-top: 1.2rem; }
.post-navigation { display: grid; grid-template-columns: 1fr auto 1fr; gap: .75rem; align-items: center; padding-bottom: var(--section-space); font-size: .82rem; }
.post-navigation > :last-child { text-align: right; }
.entry-header { margin-bottom: 2rem; }
.entry-content > * { max-width: 100%; }
.entry-content img { border-radius: var(--radius-sm); }
.entry-content h2 { margin-top: 2em; font-size: clamp(1.5rem,3vw,2.2rem); }
.entry-content h3 { margin-top: 1.8em; }
.entry-content a { text-decoration: underline; }
.alignwide { width: min(1200px, 100%); margin-inline: auto; }

.final-cta { color: var(--color-white); background: var(--color-primary); overflow: hidden; }
.final-cta::before { position: absolute; top: -160px; right: -120px; width: 420px; height: 420px; content: ""; border: 70px solid rgba(255,255,255,.06); border-radius: 50%; }
.final-cta__inner { position: relative; display: grid; gap: 2rem; align-items: center; }
.final-cta h2 { color: var(--color-white); font-size: clamp(2rem,5vw,4rem); }
.final-cta p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.85); }
.final-cta .button--phone { background: var(--color-white); color: var(--color-primary-deep); }
.final-cta .button--phone:hover { background: var(--color-primary-soft); }
/* =========================================================
   06. INNER PAGES END
========================================================= */

/* =========================================================
   07. RESPONSIVE START
========================================================= */
@media (min-width: 560px) {
  .check-grid, .service-task-grid, .factor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trouble-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-card-grid, .work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .flow-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .promise-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .area-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (min-width: 768px) {
  .admin-bar .site-header { top: 32px; }
  html.js body.admin-bar .site-nav { top: 32px; }
  .site-info-bar { display: block; }
  .home-hero__grid { grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr); align-items: center; }
  .home-hero__visual { margin-right: -6vw; }
  .trust-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .trust-strip span { justify-content: center; border-right: 1px solid var(--color-border); font-size: .85rem; }
  .trust-strip span:last-child { border-right: 0; }
  .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
  .values__grid, .home-price__grid, .home-area__grid, .home-about__grid, .split-content, .price-page-grid, .area-page-grid, .contact-checklist-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .values__grid { gap: clamp(3rem,7vw,6rem); }
  .other-service-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .area-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .work-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .work-grid--archive { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .flow-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .info-columns, .about-message, .company-profile, .contact-page-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-index-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .service-index-card:nth-child(even) .service-index-card__media { order: 2; }
  .service-index-card__media .visual-placeholder { height: 100%; }
  .service-index-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem,4vw,3rem); }
  .company-profile { align-items: start; }
  .final-cta__inner { grid-template-columns: 1.25fr .75fr; }
  .site-footer__grid { grid-template-columns: 1.1fr .9fr; gap: 4rem; }
}

@media (min-width: 1024px) {
  :root { --header-height: 78px; }
  .menu-toggle { display: none; }
  .js .site-nav, .no-js .site-nav { position: static; inset: auto; width: auto; height: auto; max-height: none; flex: 1 1 auto; padding: 0; overflow: visible; box-shadow: none; transform: none; visibility: visible; transition: none; }
  .site-nav__list { flex-direction: row; justify-content: flex-end; gap: clamp(.6rem,1.3vw,1.25rem); }
  .site-nav__list a { position: relative; min-height: var(--header-height); padding: .5rem 0; border: 0; font-size: clamp(.72rem,1vw,.84rem); white-space: nowrap; }
  .site-nav__list a::after { position: absolute; right: 0; bottom: 17px; left: 0; height: 2px; content: ""; background: var(--color-primary); transform: scaleX(0); transition: transform .2s ease; }
  .site-nav__list a:hover::after, .site-nav__list .current-menu-item > a::after { transform: scaleX(1); }
  .site-nav__mobile-contact, .menu-backdrop { display: none; }
  .site-header__actions { display: flex; flex: 0 0 auto; align-items: center; gap: .75rem; }
  .header-phone { display: flex; align-items: center; gap: .45rem; color: var(--color-primary-deep); font-size: 1rem; font-weight: 800; line-height: 1.15; text-decoration: none; }
  .header-phone .icon { color: var(--color-primary); }
  .header-phone small { display: block; margin-bottom: .2rem; color: var(--color-text-muted); font-size: .58rem; font-weight: 500; }
  .button--header { min-height: 46px; padding: .65rem 1rem; font-size: .82rem; }
  .home-hero { min-height: calc(100svh - 110px); display: flex; flex-direction: column; justify-content: center; }
  .page-hero__grid { grid-template-columns: minmax(0,1fr) minmax(380px,.85fr); align-items: center; }
  .page-hero__media { margin-right: 0; }
  .trouble-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-card { display: grid; grid-template-columns: .9fr 1.1fr; }
  .service-card__media .visual-placeholder { height: 100%; }
  .service-card__body { display: flex; min-height: 300px; flex-direction: column; justify-content: center; padding: 2rem; }
  .service-card__number { top: 1rem; right: 1rem; }
  .other-service-grid { grid-template-columns: repeat(7,minmax(0,1fr)); }
  .other-service-grid li { min-height: 95px; flex-direction: column; align-items: flex-start; justify-content: center; }
  .flow-list { grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; }
  .flow-card { flex-direction: column; }
  .flow-card:not(:last-child)::after { position: absolute; z-index: 2; top: 34px; right: -.55rem; width: .7rem; height: 2px; content: ""; background: #9db9df; }
  .price-brief { grid-template-columns: 1fr auto; }
  .work-grid--archive { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .work-single__layout { grid-template-columns: minmax(0,1fr) 300px; align-items: start; }
  .work-single__aside { position: sticky; top: calc(var(--header-height) + 55px); }
  .mobile-sticky-cta { display: none; }
  .site-footer { padding-bottom: 0; }
}

@media (min-width: 1280px) {
  .site-header__inner { width: min(1320px,calc(100% - 48px)); }
  .site-nav__list { gap: 1.3rem; }
  .home-hero__visual { margin-right: -9vw; }
  .page-hero__media { margin-right: 0; }
}

@media (max-width: 374px) {
  .container { width: min(var(--container), calc(100% - 28px)); }
  .site-brand__text small { display: none; }
  .contact-actions { flex-direction: column; }
  .contact-actions .button { flex-basis: auto; width: 100%; }
  .other-service-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  /* WordPress renders the mobile admin bar in normal document flow. */
  .admin-bar .site-header { top: 0; }
  html.js body.admin-bar .site-nav { top: 0; }
}
/* =========================================================
   07. RESPONSIVE END
========================================================= */

/* =========================================================
   08. ACCESSIBILITY / MOTION START
========================================================= */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-ready .reveal { opacity: 1; transform: none; }
}

/* =========================================================
   11. SERVICE SELECTOR / FLYER PRICING / EMBEDDED SOCIAL
========================================================= */
.service-selector-hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  align-items: end;
  padding: clamp(8rem,14vh,11rem) 0 clamp(2.5rem,5vw,5rem);
  color: rgba(255,255,255,.72);
  background:
    radial-gradient(circle at 78% 5%, rgba(21,94,239,.32), transparent 34%),
    linear-gradient(145deg,#061426 0%,#091f38 58%,#061426 100%);
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.service-selector-hero::before {
  position: absolute;
  top: 0;
  right: 8vw;
  bottom: 0;
  width: 1px;
  content: "";
  background: rgba(255,255,255,.1);
}
.service-selector-hero__inner { position: relative; z-index: 1; }
.service-selector-hero__heading { display: grid; grid-template-columns: minmax(180px,.45fr) minmax(280px,.9fr) minmax(320px,1.25fr); gap: clamp(1rem,3vw,3.5rem); align-items: end; margin-bottom: clamp(2rem,4vw,4rem); }
.service-selector-hero__heading > p { margin: 0 0 .4rem; color: #8fb4ff; font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.service-selector-hero__heading h2 { margin: 0; color: var(--color-white); font-size: clamp(2.5rem,4.8vw,5.2rem); line-height: .98; }
.service-selector-hero__heading > span { max-width: 600px; color: rgba(255,255,255,.66); font-size: clamp(.88rem,1.2vw,1rem); line-height: 1.9; }
.service-selector-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.52); border-left: 1px solid rgba(255,255,255,.18); }
.service-selector-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: clamp(310px,30vw,410px);
  flex-direction: column;
  padding: clamp(1.25rem,2.4vw,2.25rem);
  color: var(--color-white);
  background: rgba(255,255,255,.015);
  border-right: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  text-decoration: none;
  transition: color .25s ease, background .25s ease;
}
.service-selector-card:hover { color: var(--color-white); background: rgba(21,94,239,.24); }
.service-selector-card__number { color: #8fb4ff; font-family: "Courier New",monospace; font-size: .68rem; letter-spacing: .12em; }
.service-selector-card__icon { display: grid; width: clamp(72px,8vw,112px); margin: auto 0 clamp(1.3rem,2vw,2rem); color: rgba(143,180,255,.9); }
.service-selector-card__icon svg { width: 100%; }
.service-selector-card > strong { display: block; margin-bottom: .55rem; font-size: clamp(1.15rem,1.8vw,1.75rem); line-height: 1.35; letter-spacing: -.035em; }
.service-selector-card__price { display: block; margin-bottom: .45rem; color: var(--color-white); font-size: clamp(.72rem,1vw,.86rem); font-weight: 700; line-height: 1.5; }
.service-selector-card__detail { display: block; min-height: 3.2em; color: rgba(255,255,255,.54); font-size: clamp(.64rem,.8vw,.75rem); line-height: 1.6; }
.service-selector-card__link { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: 1.2rem; padding-top: .9rem; color: rgba(255,255,255,.75); border-top: 1px solid rgba(255,255,255,.2); font-size: .68rem; }
.service-selector-card__link .icon { width: 1.15rem; }
.service-selector-hero__legal { max-width: 960px; margin: 1.2rem 0 0; color: rgba(255,255,255,.44); font-size: .65rem; line-height: 1.7; }

.service-price-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 2rem; border-top: 1px solid var(--color-primary-deep); border-left: 1px solid var(--color-border); }
.service-price-grid article { display: flex; min-width: 0; min-height: 210px; flex-direction: column; padding: clamp(1.25rem,2.5vw,2.2rem); background: var(--color-surface); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.service-price-grid article > span { color: var(--color-primary-deep); font-size: clamp(1rem,1.5vw,1.25rem); font-weight: 700; }
.service-price-grid article > small { margin-top: .45rem; color: var(--color-text-muted); font-size: .72rem; }
.service-price-grid article > strong { margin-top: auto; padding-top: 1.5rem; color: var(--color-primary); font-size: clamp(1.45rem,2.5vw,2.35rem); line-height: 1.15; overflow-wrap: normal; word-break: keep-all; }
.price-page-figure--cleanup { background: var(--color-primary-deep); }

.referral-campaign { color: rgba(255,255,255,.78); background: #8e1515; }
.referral-campaign::before { position: absolute; top: 0; right: 8vw; bottom: 0; width: 1px; content: ""; background: rgba(255,255,255,.18); }
.referral-campaign__grid { position: relative; display: grid; grid-template-columns: minmax(260px,.7fr) minmax(460px,1.3fr); gap: clamp(2.5rem,7vw,7rem); }
.referral-campaign__intro h2 { color: var(--color-white); font-size: clamp(2.7rem,5vw,5.4rem); line-height: 1; }
.referral-campaign__label { display: inline-block; padding: .35rem .6rem; color: #6a0808; background: #f2d35d; font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.referral-campaign__benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.68); border-left: 1px solid rgba(255,255,255,.25); }
.referral-campaign__benefits article { min-height: 250px; padding: clamp(1.25rem,3vw,2.5rem); border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.referral-campaign__benefits span { display: block; color: rgba(255,255,255,.7); font-size: .76rem; }
.referral-campaign__benefits strong { display: block; margin: 1rem 0 .6rem; color: var(--color-white); font-size: clamp(2.8rem,5vw,5.4rem); line-height: 1; }
.referral-campaign__benefits small { margin-left: .2rem; font-size: .9rem; }
.referral-campaign__terms { grid-column: 1 / -1; display: grid; grid-template-columns: 160px 1fr 1fr; gap: 1.5rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.36); font-size: .78rem; }
.referral-campaign__terms strong { color: #f2d35d; }
.referral-campaign__terms ul { margin: 0; padding-left: 1.1rem; }
.referral-campaign__terms p { color: rgba(255,255,255,.58); }

.sns-instagram__widget,
.sns-tiktok__widget { width: 100%; max-width: 100%; margin-top: 1.5rem; overflow: hidden; border: 1px solid rgba(255,255,255,.2); background: #0a1c31; }
.sns-instagram__widget.is-connected { min-height: 320px; }
.sns-instagram__widget iframe { display: block; width: 100% !important; max-width: 100%; border: 0 !important; }
.sns-tiktok__widget { display: grid; min-height: 430px; place-items: center; padding: clamp(1rem,3vw,2.5rem); }
.sns-tiktok__widget.is-connected { background: var(--color-white); }
.sns-tiktok__widget .tiktok-embed { width: min(100%,780px) !important; min-width: 0 !important; max-width: 780px !important; margin: 0 auto !important; }
.social-widget-placeholder { display: grid; width: min(100%,780px); min-height: 320px; grid-template-columns: minmax(100px,.38fr) minmax(200px,.62fr); align-items: center; gap: clamp(1rem,4vw,4rem); padding: clamp(1.5rem,5vw,4rem); border: 1px solid rgba(255,255,255,.24); }
.social-widget-placeholder > span { color: rgba(143,180,255,.66); font-family: var(--font-editorial); font-size: clamp(4rem,10vw,9rem); line-height: 1; }
.social-widget-placeholder strong { color: var(--color-white); font-size: clamp(1.3rem,2.5vw,2.3rem); }
.social-widget-placeholder p { margin-top: .6rem; color: rgba(255,255,255,.56); }
.contact-method__alternative { margin: 1.25rem 0 .55rem; color: var(--color-text-muted); font-size: .75rem; }
.button--phone-secondary { color: var(--color-primary-deep); background: transparent; border-color: var(--color-primary-deep); }

@media (max-width: 1023px) {
  .service-selector-hero__heading { grid-template-columns: .55fr 1fr; }
  .service-selector-hero__heading > span { grid-column: 1 / -1; }
  .service-selector-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-selector-card { min-height: 310px; }
  .service-price-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .referral-campaign__grid { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .service-selector-hero { min-height: 0; padding: 6.5rem 0 2rem; align-items: start; }
  .service-selector-hero__heading { display: block; margin-bottom: 1.6rem; }
  .service-selector-hero__heading > p { margin-bottom: .65rem; }
  .service-selector-hero__heading h2 { margin-bottom: .8rem; font-size: clamp(2.1rem,10.5vw,3.2rem); }
  .service-selector-hero__heading > span { display: block; font-size: .78rem; line-height: 1.7; }
  .service-selector-card { min-height: 244px; padding: 1rem; }
  .service-selector-card__icon { width: clamp(54px,16vw,72px); margin: 1.2rem 0 auto; }
  .service-selector-card > strong { min-height: 2.7em; margin-top: 1rem; margin-bottom: .35rem; font-size: clamp(.92rem,4vw,1.08rem); }
  .service-selector-card__price { font-size: .65rem; }
  .service-selector-card__detail { min-height: 4.6em; font-size: .56rem; }
  .service-selector-card__link { margin-top: .75rem; padding-top: .6rem; font-size: .58rem; }
  .service-selector-hero__legal { margin-top: .9rem; font-size: .55rem; }
  .service-price-grid { grid-template-columns: 1fr; }
  .service-price-grid article { min-height: 150px; }
  .referral-campaign__benefits { grid-template-columns: 1fr; }
  .referral-campaign__benefits article { min-height: 210px; }
  .referral-campaign__terms { grid-template-columns: 1fr; gap: .8rem; }
  .sns-instagram__widget.is-connected { min-height: 260px; }
  .sns-tiktok__widget { min-height: 380px; padding: .75rem; }
  .social-widget-placeholder { min-height: 300px; grid-template-columns: 1fr; gap: 1rem; text-align: center; }
  .social-widget-placeholder > span { margin-inline: auto; }
}

/* =========================================================
   12. HOME FV — COMPACT SERVICE CARDS OVER PHOTOGRAPH
========================================================= */
.home-hero h1 > span,
.home-hero h1 > em { display: block; white-space: nowrap; }

.home .home-hero--overlay {
  min-height: max(100svh,1160px);
  isolation: isolate;
}
.home-hero--overlay .home-hero__grid,
.home-hero--overlay .home-hero__content { min-height: max(calc(100svh - 82px),1080px); }
.home-hero--overlay .home-hero__content { padding-top: 590px; }
.home-hero--overlay .service-selector-hero--overlay {
  position: absolute;
  z-index: 3;
  top: clamp(7rem,13vh,9rem);
  right: 0;
  left: 0;
  display: block;
  min-height: 0;
  overflow: visible;
  padding: 0;
  color: rgba(255,255,255,.74);
  background: transparent;
  border: 0;
}
.home-hero--overlay .service-selector-hero--overlay::before { display: none; }
.home-hero--overlay .service-selector-hero__heading {
  display: grid;
  grid-template-columns: auto auto minmax(280px,1fr);
  gap: clamp(.75rem,2vw,2rem);
  align-items: center;
  margin-bottom: 1rem;
}
.home-hero--overlay .service-selector-hero__heading > p {
  margin: 0;
  color: #8fb4ff;
  font-size: .65rem;
  white-space: nowrap;
}
.home-hero--overlay .service-selector-hero__heading h2 {
  padding-left: clamp(.75rem,2vw,2rem);
  color: var(--color-white);
  border-left: 1px solid rgba(255,255,255,.34);
  font-size: clamp(1.3rem,2.2vw,2rem);
  line-height: 1;
  white-space: nowrap;
}
.home-hero--overlay .service-selector-hero__heading > span {
  justify-self: end;
  max-width: 580px;
  font-size: .72rem;
  line-height: 1.65;
  text-align: right;
}
.home-hero--overlay .service-selector-grid {
  background: rgba(6,20,38,.1);
  border-top-color: rgba(255,255,255,.48);
  backdrop-filter: blur(3px);
}
.home-hero--overlay .service-selector-card {
  min-height: 292px;
  padding: clamp(1rem,1.8vw,1.5rem);
  background: rgba(6,20,38,.27);
}
.home-hero--overlay .service-selector-card:hover { background: rgba(21,94,239,.42); }
.home-hero--overlay .service-selector-card__icon {
  width: clamp(48px,5vw,68px);
  margin: 1.15rem 0 auto;
}
.home-hero--overlay .service-selector-card > strong {
  min-height: 2.6em;
  margin-bottom: .35rem;
  font-size: clamp(1rem,1.4vw,1.28rem);
}
.home-hero--overlay .service-selector-card__price { font-size: .7rem; }
.home-hero--overlay .service-selector-card__detail { min-height: 3.2em; font-size: .6rem; }
.home-hero--overlay .service-selector-card__link { margin-top: .7rem; padding-top: .55rem; font-size: .6rem; }
.home-hero--overlay .service-selector-hero__legal { margin-top: .65rem; font-size: .58rem; }
.home .home-hero--overlay h1 { max-width: 800px; font-size: clamp(3.4rem,5.25vw,5.3rem); }

@media (min-width: 1024px) {
	.home-hero--overlay .home-hero__content { padding-bottom: 8rem; }
}

@media (max-width: 1023px) {
	.home .home-hero--overlay { min-height: 1120px; }
	.home-hero--overlay .home-hero__grid,
	.home-hero--overlay .home-hero__content { min-height: 1090px; }
	.home-hero--overlay .home-hero__content { padding: 620px 0 8rem; }
	.home-hero--overlay .service-selector-hero--overlay { top: 6.5rem; }
	.home-hero--overlay .service-selector-hero__heading { grid-template-columns: auto 1fr; }
	.home-hero--overlay .service-selector-hero__heading > span { display: none; }
	.home-hero--overlay .service-selector-card { min-height: 218px; padding: .8rem; }
	.home-hero--overlay .service-selector-card__icon { width: 42px; margin: .55rem 0 .5rem; }
	.home-hero--overlay .service-selector-card > strong { min-height: 2.4em; font-size: 1rem; }
	.home-hero--overlay .service-selector-card__price { font-size: .62rem; }
	.home-hero--overlay .service-selector-card__detail { min-height: 3em; font-size: .55rem; line-height: 1.5; }
	.home-hero--overlay .service-selector-card__link { margin-top: auto; padding-top: .4rem; font-size: .54rem; }
}

@media (max-width: 767px) {
	.home .home-hero--overlay { min-height: 860px; }
	.home-hero--overlay .home-hero__grid,
	.home-hero--overlay .home-hero__content { min-height: 830px; }
	.home-hero--overlay .home-hero__content { padding: 430px 0 5rem; }
	.home-hero--overlay .service-selector-hero--overlay { top: 5.35rem; padding: 0; }
  .home-hero--overlay .service-selector-hero__heading {
    display: flex;
    align-items: baseline;
    gap: .65rem;
    margin-bottom: .7rem;
  }
  .home-hero--overlay .service-selector-hero__heading > p { font-size: .54rem; }
  .home-hero--overlay .service-selector-hero__heading h2 {
    margin: 0;
    padding-left: .65rem;
    font-size: 1rem;
  }
	.home-hero--overlay .service-selector-grid { background: rgba(6,20,38,.06); backdrop-filter: blur(2px); }
	.home-hero--overlay .service-selector-card { min-height: 142px; padding: .48rem .55rem; background: rgba(6,20,38,.24); }
	.home-hero--overlay .service-selector-card__number { font-size: .49rem; }
	.home-hero--overlay .service-selector-card__icon { width: clamp(27px,8vw,33px); margin: .28rem 0 .18rem; }
	.home-hero--overlay .service-selector-card > strong { min-height: 2.45em; margin: 0 0 .18rem; font-size: clamp(.68rem,3.15vw,.8rem); line-height: 1.22; }
	.home-hero--overlay .service-selector-card__price { margin-bottom: 0; font-size: .45rem; line-height: 1.35; }
	.home-hero--overlay .service-selector-card__detail {
		display: none;
	}
	.home-hero--overlay .service-selector-card__link { margin-top: auto; padding-top: .24rem; font-size: .43rem; line-height: 1; }
	.home-hero--overlay .service-selector-card__link .icon { width: .8rem; }
	.home-hero--overlay .service-selector-hero__legal { margin-top: .35rem; font-size: .43rem; line-height: 1.45; }
	.home-hero--overlay .hero-label { margin-bottom: .65rem; }
	.home .home-hero--overlay h1 {
		margin-bottom: .35em;
		font-size: clamp(1.9rem,9vw,2.45rem);
		line-height: 1.04;
		letter-spacing: -.06em;
	}
	.home-hero--overlay .home-hero__lead { margin-bottom: 1rem; font-size: .82rem; line-height: 1.65; }
	.home-hero--overlay .home-hero__visual::after { background: linear-gradient(180deg,rgba(6,20,38,.18) 0%,rgba(6,20,38,.58) 48%,rgba(6,20,38,.93) 100%); }
}

@media (max-width: 359px) {
	.home .home-hero--overlay { min-height: 820px; }
	.home-hero--overlay .home-hero__grid,
	.home-hero--overlay .home-hero__content { min-height: 790px; }
	.home-hero--overlay .home-hero__content { padding-top: 410px; }
	.home-hero--overlay .service-selector-card { min-height: 134px; padding: .42rem; }
	.home-hero--overlay .service-selector-card__icon { width: 25px; }
	.home-hero--overlay .service-selector-card > strong { min-height: 2.4em; font-size: .62rem; }
	.home-hero--overlay .service-selector-card__price { font-size: .4rem; }
	.home-hero--overlay .service-selector-hero__legal { font-size: .43rem; }
}

@media (forced-colors: active) {
  .button, .site-brand__mark, .faq-item__question b, .flow-card > span { border: 1px solid ButtonText; }
  .eyebrow::before { border-top: 2px solid currentColor; background: none; }
}
/* =========================================================
   08. ACCESSIBILITY / MOTION END
========================================================= */

/* =========================================================
   09. EDITORIAL INDUSTRIAL DIRECTION
   A restrained, photographic system inspired by industrial
   editorial sites. Existing content, a11y and asset fallbacks
   remain intact; this layer intentionally removes UI-card noise.
========================================================= */
:root {
  --color-primary: #155eef;
  --color-primary-dark: #0b45c6;
  --color-primary-deep: #061426;
  --color-primary-soft: #e8efff;
  --color-bg: #f3f1eb;
  --color-surface: #f8f7f2;
  --color-text: #101828;
  --color-text-muted: #596273;
  --color-border: #cbd1d9;
  --color-accent: #ff7a1a;
  --shadow-sm: none;
  --shadow-md: none;
  --radius-sm: 0;
  --radius-card: 0;
  --radius-large: 0;
  --container: 1240px;
  --section-space: clamp(5rem, 9vw, 9rem);
  --font-sans: "Helvetica Neue", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, Arial, sans-serif;
  --font-editorial: Georgia, "Times New Roman", "Yu Mincho", serif;
}

body { background: var(--color-surface); line-height: 1.75; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -.045em; }
h1 { font-size: clamp(2.8rem, 6vw, 6.4rem); }
h2 { font-size: clamp(2rem, 4.2vw, 4.5rem); }
.section { overflow: hidden; }
.section--soft { background: var(--color-bg); }
.section--deep { background: var(--color-primary-deep); }
.section--primary { background: var(--color-primary); }
.section-heading { max-width: 920px; margin-bottom: clamp(2.75rem, 6vw, 5.5rem); }
.section-heading--center { margin-inline: 0; text-align: left; }
.section-heading--center .section-heading__lead { margin-inline: 0; }
.section-heading h2 { max-width: 860px; margin-bottom: .55em; line-height: 1.13; }
.section-heading__lead { max-width: 650px; line-height: 1.85; }
.eyebrow { gap: .8rem; margin-bottom: 1.25rem; color: var(--color-primary); font-family: "Courier New", monospace; font-size: .72rem; font-weight: 700; letter-spacing: .2em; }
.eyebrow::before { width: 42px; height: 1px; }
/* Buttons: square, direct and typographic. */
.button {
  min-height: 56px;
  padding: .9rem 1.5rem;
  border-width: 1px;
  border-radius: 0;
  font-size: .82rem;
  letter-spacing: .06em;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { box-shadow: none; transform: none; }
.button--secondary { color: var(--color-primary-deep); background: transparent; border-color: var(--color-primary-deep); }
.button--secondary:hover { color: var(--color-white); background: var(--color-primary-deep); border-color: var(--color-primary-deep); }
.button--white { border-color: var(--color-white); }
.text-link { padding-bottom: .25rem; border-bottom: 1px solid currentColor; font-size: .82rem; letter-spacing: .04em; }
.text-link { position: relative; border-bottom: 0; }
.text-link::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; content: ""; background: currentColor; transform: scaleX(.34); transform-origin: left; transition: transform .25s ease; }
.text-link:hover::after { transform: scaleX(1); }

/* Header: transparent over the home hero, solid on interior pages. */
.site-header { background: rgba(248,247,242,.96); }
.site-header.is-scrolled { box-shadow: none; }
.site-header__main { border-color: rgba(6,20,38,.14); }
.site-brand__mark { border-radius: 0; background: var(--color-primary); }
.menu-toggle { border: 1px solid rgba(6,20,38,.18); border-radius: 0; background: transparent; }
.home .site-header { position: absolute; right: 0; left: 0; color: var(--color-white); background: transparent; transition: background-color .24s ease, border-color .24s ease, backdrop-filter .24s ease; }
.home .site-header.is-scrolled { position: fixed; background: rgba(6,20,38,.94); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: none; }
.home .site-header.is-scrolled::before { position: absolute; z-index: 0; content: ""; inset: 0; background: rgba(6,20,38,.94); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(14px); pointer-events: none; }
.home .site-header.is-scrolled .site-header__main { position: relative; z-index: 1000; }
.home .site-header.is-scrolled .site-info-bar { display: none; }
.home .site-info-bar { color: rgba(255,255,255,.7); background: rgba(6,20,38,.4); border-bottom: 1px solid rgba(255,255,255,.14); }
.home .site-info-bar span { color: rgba(255,255,255,.48); }
.home .site-header__main { border-color: rgba(255,255,255,.22); }
.home .site-brand,
.home .site-brand:hover,
.home .site-nav__list a,
.home .header-phone { color: var(--color-white); }
.home .custom-logo,
.site-footer .custom-logo { filter: brightness(0) invert(1); }
.home .site-nav { background: transparent; }
.home .site-brand__text small,
.home .header-phone small { color: rgba(255,255,255,.6); }
.home .site-nav__list a::after { background: var(--color-white); }
.home .button--header { color: var(--color-primary-deep); background: var(--color-white); border-color: var(--color-white); }
.home .button--header:hover { color: var(--color-white); background: transparent; }

/* Hero: image/asset is the canvas; copy sits inside the photograph. */
.home-hero {
  min-height: 100svh;
  padding: 0;
  color: var(--color-white);
  background: var(--color-primary-deep);
}
.home-hero::before { display: none; }
.home-hero__grid { position: relative; display: block; min-height: calc(100svh - 82px); }
.home-hero__visual { position: absolute; z-index: 0; inset: 0 calc((100vw - 100%) / -2); margin: 0; }
.home-hero__visual::after { position: absolute; content: ""; inset: 0; background: linear-gradient(90deg, rgba(6,20,38,.93) 0%, rgba(6,20,38,.72) 42%, rgba(6,20,38,.22) 74%, rgba(6,20,38,.5) 100%); }
.home-hero__visual .visual-placeholder { width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; box-shadow: none; }
.home-hero__visual .visual-placeholder > span { z-index: 2; align-self: start; justify-self: end; width: auto; margin: clamp(8rem,14vh,10rem) clamp(1.25rem,4vw,4rem) 0 0; padding: 0; opacity: .68; }
.home-hero__content { position: relative; z-index: 2; display: flex; max-width: 720px; min-height: calc(100svh - 82px); flex-direction: column; justify-content: flex-end; padding: clamp(10rem,18vh,14rem) 0 clamp(4rem,9vh,7rem); }
.hero-label { margin-bottom: 1.6rem; padding: 0 0 .7rem; color: rgba(255,255,255,.78); background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.28); border-radius: 0; font-family: "Courier New", monospace; font-size: .7rem; letter-spacing: .08em; }
.hero-label span { width: 34px; height: 1px; background: var(--color-primary); border-radius: 0; }
.home-hero h1 { max-width: 820px; margin-bottom: .35em; color: var(--color-white); font-size: clamp(3.4rem,5.7vw,5.8rem); font-weight: 700; line-height: .98; letter-spacing: -.075em; white-space: nowrap; }
.home-hero h1 em { color: #8fb4ff; }
.home-hero h1 em { font-family: var(--font-editorial); font-weight: 400; letter-spacing: -.08em; }
.home-hero__lead { max-width: 590px; margin-bottom: 1.8rem; color: rgba(255,255,255,.76); font-size: clamp(.95rem,1.25vw,1.08rem); font-weight: 400; line-height: 1.9; }
.home-hero .contact-actions { max-width: 560px; }
.home-hero .button { color: var(--color-white); background: rgba(6,20,38,.38); border-color: rgba(255,255,255,.62); backdrop-filter: blur(8px); }
.home-hero .button:hover { color: var(--color-primary-deep); background: var(--color-white); border-color: var(--color-white); }
.home-hero .button--disabled { color: rgba(255,255,255,.5); background: rgba(6,20,38,.38); border-color: rgba(255,255,255,.22); }
.home-hero .contact-pending { color: rgba(255,255,255,.5); }
.hero-stamp { display: none; }
.trust-strip { z-index: 2; width: 100%; margin-top: -28px; color: var(--color-white); background: rgba(6,20,38,.96); border-top: 1px solid rgba(255,255,255,.2); border-radius: 0; box-shadow: none; transform: none; }
.trust-strip span { border-color: rgba(255,255,255,.15); font-size: .72rem; letter-spacing: .03em; }
.trust-strip .icon { color: #8fb4ff; }

/* Problems and values become ruled editorial lists. */
.troubles { background: var(--color-surface); }
.trouble-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 3rem; border-top: 1px solid var(--color-primary-deep); }
.trouble-grid li { min-height: 106px; gap: 1.25rem; padding: 1.35rem 0; background: transparent; border: 0; border-bottom: 1px solid var(--color-border); border-radius: 0; box-shadow: none; }
.trouble-grid li > span { align-self: flex-start; padding-top: .25rem; font-family: "Courier New", monospace; }
.trouble-grid p { font-size: clamp(1rem,1.5vw,1.2rem); font-weight: 600; }
.troubles__closing { max-width: 760px; margin-top: 3rem; padding-left: clamp(1rem,4vw,4rem); border-left: 3px solid var(--color-primary); text-align: left; }
.values { background: var(--color-bg); }
.value-list { border-color: var(--color-primary-deep); }
.value-list li { grid-template-columns: 64px 1fr; padding-block: 2rem; border-color: var(--color-border); }
.value-list > li > span { font-family: "Courier New", monospace; }

/* Four services: a two-by-two photographic mosaic, not white cards. */
.home-services { background: var(--color-primary-deep); }
.home-services .section-heading h2 { color: var(--color-white); }
.home-services .section-heading__lead { color: rgba(255,255,255,.65); }
.home-services .eyebrow { color: rgba(255,255,255,.34); }
.service-card-grid { gap: 1px; background: rgba(255,255,255,.24); }
.service-card { position: relative; display: block; min-height: clamp(420px,44vw,600px); overflow: hidden; background: #0a1d33; border: 0; border-radius: 0; box-shadow: none; }
.service-card:hover { box-shadow: none; transform: none; }
.service-card__media { position: absolute; inset: 0; }
.service-card__media .visual-placeholder { width: 100%; height: 100%; border-radius: 0; transition: transform .55s ease; }
.service-card:hover .visual-placeholder--ready img { transform: scale(1.03); }
.service-card__media .visual-placeholder > span { align-self: start; justify-self: end; margin: 1rem; padding: 0; font-size: 0; text-shadow: none; }
.service-card__media .visual-placeholder > span small { display: none; }
.service-card__media .visual-placeholder > span em { margin: 0; padding: .38rem .55rem; color: var(--color-white); background: rgba(6,20,38,.72); border: 1px solid rgba(255,255,255,.28); border-radius: 0; font-family: "Courier New", monospace; font-size: .62rem; letter-spacing: .08em; backdrop-filter: blur(8px); }
.service-card::after { position: absolute; z-index: 1; content: ""; inset: 0; background: linear-gradient(180deg, rgba(6,20,38,.04) 24%, rgba(6,20,38,.92) 100%); pointer-events: none; }
.service-card__body { position: absolute; z-index: 2; inset: auto 0 0; display: block; min-height: 0; margin: clamp(1.5rem,3vw,2.7rem); padding: 0 0 0 clamp(1rem,2vw,1.6rem); color: rgba(255,255,255,.72); border-left: 1px solid rgba(255,255,255,.52); }
.service-card h3 { max-width: 420px; color: var(--color-white); font-size: clamp(1.65rem,3vw,3rem); }
.service-card__label { color: #8fb4ff; font-family: "Courier New", monospace; }
.service-card__body > p:not(.service-card__label) { max-width: 480px; color: rgba(255,255,255,.68); }
.service-card .text-link { color: var(--color-white); }
.service-card__number { position: static; display: block; width: auto; height: auto; margin-bottom: .35rem; color: #8fb4ff; background: transparent; border-radius: 0; box-shadow: none; font-family: "Courier New", monospace; font-size: .72rem; letter-spacing: .12em; }
.home-services .button--secondary { color: var(--color-white); border-color: rgba(255,255,255,.7); }
.home-services .button--secondary:hover { color: var(--color-primary-deep); background: var(--color-white); }

/* Dense service index, price, flow and area use rules and asymmetry. */
.other-services { color: var(--color-text); background: var(--color-surface); }
.other-services h2,
.other-services h3 { color: var(--color-primary-deep); }
.other-services .eyebrow { color: var(--color-primary); }
.other-services .section-heading__lead { color: var(--color-text-muted); }
.other-service-grid { gap: 0; background: transparent; border: 0; border-top: 1px solid var(--color-primary-deep); border-radius: 0; }
.other-service-grid li { min-height: 86px; color: var(--color-primary-deep); background: transparent; border-bottom: 1px solid var(--color-border); }
.other-service-grid li span { min-width: 2ch; flex: 0 0 2ch; color: var(--color-primary); white-space: nowrap; overflow-wrap: normal; }
.other-services .legal-note { max-width: none; border-radius: 0; }
.other-services .legal-note--dark { color: var(--color-text-muted); background: var(--color-bg); border-color: var(--color-primary); }
.other-services .legal-note--dark strong { color: var(--color-primary-deep); }
.other-services .button--white { color: var(--color-primary-deep); background: transparent; border-color: var(--color-primary-deep); }
.other-services .button--white:hover { color: var(--color-white); background: var(--color-primary-deep); }
.home-price__grid { grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: clamp(3rem,8vw,8rem); align-items: center; }
.price-panel { padding: clamp(2rem,5vw,5rem); border-radius: 0; box-shadow: none; }
.price-panel > p:first-child span { border-radius: 0; }
.flow-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--color-primary-deep); }
.flow-card { min-height: 230px; flex-direction: column; padding: 1.5rem 1.5rem 1.5rem 0; background: transparent; border: 0; border-bottom: 1px solid var(--color-border); border-radius: 0; }
.flow-card > span { width: auto; height: auto; justify-content: start; color: var(--color-primary); background: transparent; border-radius: 0; font-family: "Courier New", monospace; }
.flow-card:not(:last-child)::after { display: none; }
.home-area { background: var(--color-primary); }
.home-area__grid { grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(3rem,8vw,8rem); align-items: center; }
.area-list { gap: 0 2rem; padding: 0; background: transparent; border-top: 1px solid rgba(255,255,255,.55); }
.area-list li { min-height: 74px; padding: .9rem 0; background: transparent; border-bottom: 1px solid rgba(255,255,255,.24); }

/* Other content surfaces retain hierarchy without floating cards. */
.visual-placeholder { border-radius: 0; }
.work-card,
.service-index-card,
.promise-grid article,
.contact-method,
.entry-card { border-radius: 0; box-shadow: none; }
.empty-state { padding-inline: 0; background: transparent; border: 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); border-radius: 0; text-align: left; }
.home-about__quote { right: -20px; bottom: -20px; border-radius: 0; box-shadow: none; }
.home-about__media .visual-placeholder { border-radius: 12px; }
.faq-list { border-color: var(--color-primary-deep); }
.faq-item { border-color: var(--color-border); }
.faq-item__question { min-height: 88px; font-size: clamp(.95rem,1.5vw,1.1rem); }
.faq-item__question b,
.faq-item__answer b { width: auto; height: auto; color: var(--color-primary); background: transparent; border: 0; border-radius: 0; font-family: var(--font-editorial); font-size: 1.25rem; }
.faq-item__answer > div { padding: 0 0 1.75rem 2.1rem; background: transparent; border-radius: 0; }
.final-cta { background: var(--color-primary-deep); }
.final-cta::before { right: 4vw; top: 0; width: 1px; height: 100%; border: 0; border-radius: 0; background: rgba(255,255,255,.18); }

.site-footer { background: #020b15; }
.site-footer .site-brand__mark { border-radius: 0; }
.mobile-sticky-cta { min-height: calc(60px + env(safe-area-inset-bottom)); background: rgba(6,20,38,.96); border-top: 1px solid rgba(255,255,255,.18); box-shadow: none; backdrop-filter: blur(12px); }
.mobile-sticky-cta > * { font-size: .78rem; letter-spacing: .03em; }
.mobile-sticky-cta__disabled { color: rgba(255,255,255,.48); background: transparent; }
.button--line,
.mobile-sticky-cta__line { color: var(--color-white); background: #06c755; border-color: #06c755; opacity: 1; }
.button--line:hover,
.mobile-sticky-cta__line:hover { color: var(--color-white); background: #05a948; border-color: #05a948; }
.home-hero .button--line { color: var(--color-white); background: rgba(6,199,85,.76); border-color: rgba(6,199,85,.9); }
.home-hero .button--line:hover { color: var(--color-white); background: #06c755; border-color: #06c755; }
.button--line.button--disabled:hover { color: var(--color-white); background: #06c755; border-color: #06c755; }
.home-hero .button--line.button--disabled:hover { background: rgba(6,199,85,.76); border-color: rgba(6,199,85,.9); }

@media (min-width: 768px) {
  .admin-bar.home .site-header { top: 32px; }
  .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .other-service-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .flow-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .flow-card:nth-child(3n+2),
  .flow-card:nth-child(3n+3) { padding-left: 1.5rem; border-left: 1px solid var(--color-border); }
}

@media (min-width: 1024px) {
  .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-card { display: block; }
  .service-card__body { display: block; min-height: 0; }
  .other-service-grid { grid-template-columns: repeat(7,minmax(0,1fr)); }
  .other-service-grid li { min-height: 100px; }
  .flow-list { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  :root { --section-space: clamp(4.5rem,18vw,6.5rem); }
  .container { width: min(var(--container), calc(100% - 32px)); }
  .section-heading { margin-bottom: 2.75rem; }
  .section-heading h2 { font-size: clamp(2rem,10vw,3.1rem); }
  .home .site-info-bar { display: none; }
  .custom-logo { height: 42px; max-width: 118px; }
  .home .site-header { top: 0; }
  .home .site-header.is-scrolled { position: fixed; background-color: rgba(6,20,38,.96); border-bottom-color: rgba(255,255,255,.18); backdrop-filter: none; }
  .home .site-header__main { border-color: rgba(255,255,255,.2); }
  .home .menu-toggle { color: var(--color-white); border-color: rgba(255,255,255,.34); background: rgba(6,20,38,.24); backdrop-filter: blur(8px); }
  .home .site-nav { background: var(--color-primary-deep); }
  .home .site-nav__list a { border-color: rgba(255,255,255,.18); }
  .home .site-nav__mobile-contact p { color: rgba(255,255,255,.62); }

  .home-hero { min-height: 0; }
  .home-hero__grid { min-height: 790px; }
  .home-hero__visual { inset: 0 -16px; }
  .home-hero__visual::after { background: linear-gradient(180deg, rgba(6,20,38,.34) 0%, rgba(6,20,38,.74) 45%, rgba(6,20,38,.96) 100%); }
  .home-hero__visual .visual-placeholder > span { margin: 5.5rem 16px 0 0; font-size: .82rem; }
  .home-hero__content { min-height: 790px; padding: 8rem 0 4.25rem; justify-content: flex-end; }
  .hero-label { align-self: flex-start; margin-bottom: 1.3rem; font-size: .62rem; }
  .home-hero h1 { font-size: clamp(3.1rem,16vw,4.5rem); line-height: .98; }
  .home-hero h1 { white-space: normal; }
  .home-hero__lead { margin-bottom: 1.4rem; font-size: .92rem; line-height: 1.8; }
  .home-hero .contact-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.22); }
  .home-hero .contact-actions .button { min-width: 0; min-height: 54px; padding-inline: .55rem; border: 0; font-size: .72rem; }
  .contact-pending { font-size: .7rem; }
  .trust-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-strip span { min-height: 58px; padding: .65rem; font-size: .67rem; }

  .trouble-grid { grid-template-columns: 1fr; gap: 0; }
  .trouble-grid li { min-height: 90px; }
  .service-card-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 470px; }
  .service-card__body > p:not(.service-card__label) { font-size: .86rem; }
  .other-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .other-service-grid li { min-height: 78px; }
  .home-price__grid,
  .home-area__grid { grid-template-columns: 1fr; gap: 3rem; }
  .price-panel { margin-inline: -16px; }
  .flow-list { grid-template-columns: 1fr; }
  .flow-card { min-height: 0; flex-direction: row; padding: 1.35rem 0; }
  .area-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-about__quote { right: 0; bottom: -1rem; }
  .final-cta__inner { gap: 2.5rem; }
  .final-cta .contact-actions { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 1023px) {
  .home .site-header.is-scrolled { transition: background-color .24s ease, border-color .24s ease, transform .24s ease; }
  .home .site-header.is-scrolled.is-hidden { transform: translateY(-110%); }
  .home .site-header.is-scrolled:focus-within,
  body.home.menu-is-open .site-header.is-scrolled { transform: translateY(0); }
  body.menu-is-open .site-header { transform: none !important; }
  body.home.menu-is-open .site-header.is-scrolled::before { backdrop-filter: none; }
}

@media (min-width: 768px) {
  .back-to-top,
  .back-to-top.is-visible { display: none; }
}

/* =========================================================
   10. INNER PAGE HERO — EDITORIAL INDUSTRIAL
========================================================= */
.page-hero,
.simple-page-hero {
  position: relative;
  overflow: hidden;
  color: rgba(255,255,255,.78);
  background: var(--color-primary-deep);
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.18);
  isolation: isolate;
}
.page-hero--compact::after,
.page-hero--service::after {
  position: absolute;
  z-index: -1;
  top: 0;
  right: clamp(1rem,8vw,8rem);
  bottom: auto;
  width: 1px;
  height: 100%;
  content: "";
  background: rgba(143,180,255,.25);
  border: 0;
  border-radius: 0;
}
.page-hero .eyebrow,
.simple-page-hero .eyebrow {
  display: block;
  margin-bottom: clamp(1.5rem,3vw,2.5rem);
  color: rgba(143,180,255,.48);
  font-family: var(--font-editorial);
  font-size: clamp(2.2rem,5vw,5rem);
  font-weight: 400;
  line-height: .85;
  letter-spacing: -.055em;
  text-transform: none;
}
.page-hero .eyebrow::before,
.simple-page-hero .eyebrow::before { display: none; }
.page-hero h1,
.simple-page-hero h1 {
  max-width: 1000px;
  margin-bottom: .42em;
  color: var(--color-white);
  font-size: clamp(3.5rem,7vw,7rem);
  line-height: .98;
  letter-spacing: -.07em;
}
.page-hero__lead {
  max-width: 760px;
  color: rgba(255,255,255,.7);
  font-size: clamp(1rem,1.5vw,1.12rem);
  line-height: 1.9;
}
.page-hero .review-note {
  max-width: 720px;
  margin-top: 1.5rem;
  color: #f9ddaa;
  background: rgba(242,140,40,.1);
  border-color: rgba(242,140,40,.42);
}
.page-hero--service .page-hero__media { position: relative; }
.page-hero--service .page-hero__media::before {
  position: absolute;
  z-index: 2;
  top: -1rem;
  left: -1rem;
  width: 54px;
  height: 1px;
  content: "";
  background: #8fb4ff;
}
.page-hero--service .page-hero__media .visual-placeholder {
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
}

@media (min-width: 768px) {
  .page-slug-privacy-policy .page-hero h1 {
    max-width: 1100px;
    font-size: clamp(3.2rem,5.7vw,6rem);
    word-break: keep-all;
  }
}

/* =========================================================
   20. REAL WORK CASES / SWIPEABLE HOME CAROUSEL
========================================================= */
.home-works { overflow: hidden; background: var(--color-bg); }
.work-carousel { position: relative; min-width: 0; }
.work-carousel__viewport { min-width: 0; overflow: visible; }
.work-carousel__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, calc((100% - 2rem) / 3));
  gap: 1rem;
  padding: .15rem 0 1rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-color: var(--color-primary) rgba(6,20,38,.12);
  scrollbar-width: thin;
  touch-action: pan-x pan-y;
}
.work-carousel__slide { min-width: 0; scroll-snap-align: start; scroll-snap-stop: normal; }
.work-case {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(1.2rem,2.8vw,2rem);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-primary);
}
.work-case__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.2rem; }
.work-case__number { color: var(--color-primary); font-family: "Courier New",monospace; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.work-case__category { padding: .32rem .55rem; color: var(--color-primary-deep); background: #e4ecff; font-size: .68rem; font-weight: 800; line-height: 1.2; }
.work-case__customer { margin: 0 0 .55rem; color: var(--color-primary); font-size: .78rem; font-weight: 800; }
.work-case h3 { min-height: 3.1em; margin: 0; color: var(--color-primary-deep); font-size: clamp(1.12rem,1.8vw,1.42rem); line-height: 1.45; }
.work-case__details { margin: 1.2rem 0 1.25rem; border-top: 1px solid var(--color-border); }
.work-case__details > div { display: grid; grid-template-columns: minmax(88px,.72fr) minmax(0,1.28fr); gap: 1rem; padding: .62rem 0; border-bottom: 1px solid var(--color-border); }
.work-case__details dt { color: var(--color-text-muted); font-size: .68rem; }
.work-case__details dd { min-width: 0; margin: 0; color: var(--color-primary-deep); font-size: .8rem; font-weight: 700; }
.work-case__details .work-case__price { align-items: center; }
.work-case__price dd strong { color: var(--color-primary); font-size: clamp(1.3rem,2.2vw,1.8rem); line-height: 1; white-space: nowrap; }
.work-case > .text-link { margin-top: auto; }

.work-carousel__controls { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; gap: .8rem; align-items: center; margin-top: .75rem; }
.work-carousel__controls button {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  padding: 0;
  color: var(--color-white);
  background: var(--color-primary-deep);
  border: 1px solid var(--color-primary-deep);
  border-radius: 0;
  font-size: 1.15rem;
  cursor: pointer;
}
.work-carousel__controls button:hover { color: var(--color-primary-deep); background: transparent; }
.work-carousel__controls button:focus-visible { outline: 3px solid #8fb4ff; outline-offset: 3px; }
.work-carousel__controls p { margin: 0; color: var(--color-text-muted); font-size: .72rem; text-align: center; }
.work-carousel__hint::before { display: inline-block; margin-right: .45rem; color: var(--color-primary); content: "↔"; font-size: 1rem; vertical-align: -.08em; }

.work-case-archive { padding-block: clamp(2rem,6vw,5rem) var(--section-space); }
.work-case-index { margin-bottom: clamp(3rem,7vw,6rem); border-top: 1px solid var(--color-primary-deep); border-bottom: 1px solid var(--color-border); }
.work-case-index > p { margin: 0; padding: 1rem 0 .75rem; color: var(--color-text-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.work-case-index ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.work-case-index li { min-width: 0; }
.work-case-index a { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: .7rem; padding: 1rem; color: var(--color-primary-deep); border-top: 1px solid var(--color-border); border-right: 1px solid var(--color-border); font-weight: 800; text-decoration: none; }
.work-case-index li:last-child a { border-right: 0; }
.work-case-index a:hover { color: var(--color-white); background: var(--color-primary); }
.work-case-index a span { flex: 0 0 auto; color: var(--color-primary); font-family: "Courier New",monospace; font-size: .62rem; }
.work-case-index a:hover span { color: var(--color-white); }
.work-case-category { padding-block: clamp(2.8rem,7vw,6rem); scroll-margin-top: 96px; border-top: 1px solid var(--color-primary-deep); }
.work-case-category__header { display: grid; grid-template-columns: 70px minmax(0,1fr); gap: clamp(1rem,3vw,2.5rem); align-items: start; margin-bottom: clamp(2rem,5vw,4rem); }
.work-case-category__header > p { margin: .4rem 0 0; color: var(--color-primary); font-family: "Courier New",monospace; font-size: .72rem; font-weight: 800; letter-spacing: .16em; }
.work-case-category__header h2 { margin: 0; color: var(--color-primary-deep); font-size: clamp(2.2rem,5vw,4.8rem); line-height: 1; letter-spacing: -.06em; }
.work-case-category__header div > p { max-width: 760px; margin: 1rem 0 0; color: var(--color-text-muted); }
.work-case-grid--archive { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.work-case--detail h3 { min-height: 2.9em; }
.work-case-category > .review-note { margin: 1.25rem 0 0; }
.work-case-legal-note { margin: 0 0 var(--section-space); }
.added-work-cases { border-top: 1px solid var(--color-border); }

@media (max-width: 1023px) {
  .work-carousel__track { grid-auto-columns: minmax(270px,46%); }
  .work-case-index ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .work-case-index li:nth-child(2n) a { border-right: 0; }
}

@media (max-width: 767px) {
  .work-carousel__track {
    width: calc(100% + 16px);
    grid-auto-columns: min(82vw,310px);
    gap: .75rem;
    padding-right: 16px;
  }
  .work-case { padding: 1.15rem; }
  .work-case h3 { min-height: 0; font-size: 1.05rem; }
  .work-case__details > div { grid-template-columns: 84px minmax(0,1fr); gap: .75rem; padding: .55rem 0; }
  .work-case__details dt { font-size: .64rem; }
  .work-case__details dd { font-size: .76rem; }
  .work-carousel__controls { grid-template-columns: 44px minmax(0,1fr) 44px; }
  .work-carousel__controls button { width: 44px; height: 44px; }
  .work-carousel__controls p { font-size: .65rem; }
  .work-case-archive { padding-top: 1.5rem; }
  .work-case-index { margin-bottom: 3.5rem; }
  .work-case-index a { min-height: 68px; padding: .8rem; font-size: .78rem; }
  .work-case-category { padding-block: 3.5rem; scroll-margin-top: 76px; }
  .work-case-category__header { grid-template-columns: 34px minmax(0,1fr); gap: .8rem; margin-bottom: 2rem; }
  .work-case-category__header h2 { font-size: clamp(2rem,11vw,3rem); }
  .work-case-category__header div > p { font-size: .82rem; }
  .work-case-grid--archive { grid-template-columns: 1fr; }
  .work-case--detail h3 { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .work-carousel__track { scroll-behavior: auto; }
}

@media (max-width: 767px) {
  .page-hero,
  .simple-page-hero { padding-block: clamp(4rem,16vw,5.5rem); }
  .page-hero .eyebrow,
  .simple-page-hero .eyebrow {
    margin-bottom: 1.25rem;
    font-size: clamp(2rem,12vw,3.2rem);
    line-height: .9;
    overflow-wrap: anywhere;
  }
  .page-hero h1,
  .simple-page-hero h1 {
    font-size: clamp(2.8rem,14vw,4rem);
    line-height: 1.02;
    overflow-wrap: normal;
  }
  .page-hero__lead { font-size: .94rem; line-height: 1.8; }
  .page-hero--compact::after,
  .page-hero--service::after { right: 16px; }
  .page-hero--service .page-hero__media { margin-top: 1rem; }
  .page-hero .review-note { font-size: .78rem; }
}

/* =========================================================
   11. EDITABLE TEAM / SOCIAL / DEMO CONTENT
========================================================= */
:root { --lst-demo-height: 36px; }

.demo-notice {
  position: relative;
  z-index: 1002;
  display: flex;
  min-height: var(--lst-demo-height);
  align-items: center;
  justify-content: center;
  gap: .65rem;
  padding: .4rem 1rem;
  color: var(--color-primary-deep);
  background: #a9c6ff;
  border-bottom: 1px solid rgba(6,20,38,.2);
  font-size: .72rem;
  line-height: 1.25;
  letter-spacing: .025em;
  text-align: center;
}
.demo-notice strong { font-family: "Courier New", monospace; font-size: .68rem; letter-spacing: .1em; white-space: nowrap; }
.demo-notice strong::after { display: inline-block; width: 1px; height: .9em; margin-left: .65rem; content: ""; background: rgba(6,20,38,.35); vertical-align: -.08em; }

.lst-demo-mode.home .site-header:not(.is-scrolled) { top: var(--lst-demo-height); }
.lst-demo-mode.home .site-header.is-scrolled { top: 0; }
.admin-bar.lst-demo-mode.home .site-header:not(.is-scrolled) { top: calc(32px + var(--lst-demo-height)); }
.admin-bar.lst-demo-mode.home .site-header.is-scrolled { top: 32px; }
.header-phone--pending { cursor: default; opacity: .68; }
.header-phone--pending .icon { color: #a9c6ff; }
.button--demo-value { display: flex; flex-direction: column; gap: .1rem; }
.button--demo-value small { font-size: .62rem; font-weight: 500; letter-spacing: .04em; }
.is-demo-value { color: rgba(255,255,255,.58); }

.contact-demo-profile {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 1rem;
  border-top: 1px solid var(--color-primary-deep);
  border-bottom: 1px solid var(--color-border);
}
.contact-demo-profile > div { min-width: 0; padding: 1.15rem 1.25rem 1.25rem 0; }
.contact-demo-profile > div + div { padding-left: 1.25rem; border-left: 1px solid var(--color-border); }
.contact-demo-profile dt { margin-bottom: .35rem; color: var(--color-primary); font-family: "Courier New", monospace; font-size: .65rem; letter-spacing: .08em; }
.contact-demo-profile dd { margin: 0; color: var(--color-primary-deep); font-weight: 700; overflow-wrap: anywhere; }
.contact-demo-profile dd small { display: inline-block; margin-left: .5rem; padding: .16rem .35rem; color: var(--color-primary); border: 1px solid currentColor; font-size: .58rem; vertical-align: .12em; }

/* TEAM: portrait-led editorial cards with explicit replacement frames. */
.team-section { position: relative; overflow: hidden; background: var(--color-surface); }
.team-section .container { position: relative; z-index: 1; }
.team-section__intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap: clamp(2rem,6vw,6rem); align-items: end; }
.team-section__intro .section-heading { margin-bottom: 0; }
.team-section__note { max-width: 460px; margin: 0 0 .45rem; padding: 1rem 0 0 1.25rem; color: var(--color-text-muted); border-top: 1px solid var(--color-primary-deep); font-size: .78rem; line-height: 1.8; }
.team-section__note > span { display: inline-block; width: 7px; height: 7px; margin-right: .55rem; background: var(--color-primary); }
.team-grid { display: grid; grid-template-columns: 1fr; gap: clamp(3rem,6vw,5.5rem); margin-top: clamp(3rem,6vw,5.5rem); }
.staff-card { display: grid; min-width: 0; grid-template-columns: minmax(240px,.36fr) minmax(0,.64fr); gap: clamp(2rem,5vw,5rem); background: transparent; border-top: 1px solid var(--color-primary-deep); }
.staff-card--no-image { grid-template-columns: 1fr; }
.staff-card__media { position: relative; overflow: hidden; aspect-ratio: 4 / 5; margin-top: .75rem; background: var(--color-primary-deep); }
.staff-card__image { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: filter .3s ease, transform .55s ease; }
.staff-card:hover .staff-card__image { filter: saturate(1) contrast(1.02); transform: scale(1.025); }
.staff-card__placeholder {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
  overflow: hidden;
  color: var(--color-white);
  background:
    linear-gradient(135deg, transparent 49.8%, rgba(169,198,255,.19) 50%, transparent 50.2%),
    linear-gradient(45deg, transparent 49.8%, rgba(169,198,255,.1) 50%, transparent 50.2%),
    linear-gradient(160deg, #102c4d 0%, #061426 62%, #155eef 160%);
  text-align: center;
}
.staff-card__placeholder::before { position: absolute; content: ""; inset: 1rem; border: 1px solid rgba(255,255,255,.18); }
.staff-card__placeholder::after { position: absolute; top: 50%; left: 50%; width: 42%; aspect-ratio: 1; content: ""; border: 1px solid rgba(169,198,255,.22); border-radius: 50%; transform: translate(-50%,-50%); }
.staff-card__placeholder > * { position: relative; z-index: 1; }
.staff-card__placeholder > span { position: absolute; top: 1.6rem; left: 1.6rem; font-family: "Courier New", monospace; font-size: .68rem; letter-spacing: .08em; }
.staff-card__placeholder strong { font-size: clamp(1.25rem,2.3vw,2rem); font-weight: 800; letter-spacing: .04em; }
.staff-card__placeholder small { margin-top: .35rem; color: rgba(255,255,255,.52); font-family: "Courier New", monospace; font-size: .6rem; letter-spacing: .1em; }
.staff-card__body { min-width: 0; padding: 1.35rem 0 0; }
.staff-card__meta { display: flex; align-items: center; gap: .7rem; margin-bottom: .65rem; color: var(--color-primary); font-family: "Courier New", monospace; font-size: .65rem; font-weight: 700; letter-spacing: .05em; }
.staff-card__meta span { padding-right: .7rem; border-right: 1px solid var(--color-border); }
.staff-card h3 { margin-bottom: .55rem; color: var(--color-primary-deep); font-size: clamp(1.45rem,2.2vw,2rem); }
.staff-card__bio { max-width: 46rem; color: var(--color-text-muted); font-size: .9rem; line-height: 1.9; }
.staff-profile { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.5rem 0 0; border-top: 1px solid var(--color-border); }
.staff-profile__item { min-width: 0; padding: 1.15rem 1.25rem 1.25rem 0; border-bottom: 1px solid var(--color-border); }
.staff-profile__item:nth-child(even) { padding-left: 1.25rem; border-left: 1px solid var(--color-border); }
.staff-profile__item dt { margin-bottom: .45rem; color: var(--color-primary); font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.staff-profile__item dd { margin: 0; color: var(--color-primary-deep); font-size: .88rem; line-height: 1.85; overflow-wrap: anywhere; }
.staff-profile__item:last-child,
.staff-profile__item:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
.team-section--about { background: var(--color-bg); }

/* SOCIAL: SnapWidget / TikTok official embeds with safe fallback cards. */
.social-section { position: relative; overflow: hidden; color: rgba(255,255,255,.72); background: var(--color-primary-deep); }
.social-section::before { position: absolute; top: 0; right: 8vw; bottom: 0; width: 1px; content: ""; background: rgba(255,255,255,.1); }
.social-section .container { position: relative; z-index: 1; }
.social-section__intro { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: clamp(2rem,7vw,7rem); align-items: end; }
.social-section .section-heading { margin: 0; }
.social-section .section-heading h2 { color: var(--color-white); }
.social-section .section-heading__lead { max-width: 720px; color: rgba(255,255,255,.62); }
.social-section .eyebrow { color: rgba(169,198,255,.38); }
.social-section__note { margin: 0 0 .4rem; padding: 1rem 0 0 1.25rem; color: rgba(255,255,255,.52); border-top: 1px solid rgba(255,255,255,.28); font-size: .78rem; line-height: 1.8; }
.social-networks { display: grid; gap: clamp(4rem,8vw,7rem); margin-top: clamp(3.5rem,7vw,6rem); }
.social-network { min-width: 0; }
.social-network__header { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: .9rem; border-top: 1px solid rgba(255,255,255,.65); border-bottom: 1px solid rgba(255,255,255,.16); }
.social-network__identity { display: flex; min-width: 0; align-items: center; gap: 1rem; }
.social-network__mark { display: grid; width: 44px; aspect-ratio: 1; flex: 0 0 auto; place-items: center; color: var(--color-primary-deep); background: #a9c6ff; font-family: "Courier New", monospace; font-size: .65rem; font-weight: 700; }
.social-network--tiktok .social-network__mark { color: var(--color-white); background: var(--color-primary); }
.social-network h3 { margin: 0; color: var(--color-white); font-family: var(--font-editorial); font-size: clamp(1.5rem,2.7vw,2.4rem); font-weight: 400; }
.social-network__identity p { margin: .12rem 0 0; color: rgba(255,255,255,.5); font-family: "Courier New", monospace; font-size: .66rem; letter-spacing: .04em; }
.social-network__header .text-link { color: var(--color-white); }
.social-network__ready { color: rgba(169,198,255,.56); font-family: "Courier New", monospace; font-size: .62rem; letter-spacing: .1em; }
.social-network__status { display: flex; align-items: center; gap: .55rem; margin: 1rem 0 0; color: rgba(255,255,255,.52); font-size: .72rem; }
.social-network__status span { width: 7px; height: 7px; background: #a9c6ff; box-shadow: 0 0 0 4px rgba(169,198,255,.1); }
.social-network__profile-action { display: flex; justify-content: flex-end; margin: 1rem 0 0; }
.button--social-profile { min-width: min(100%,320px); color: var(--color-white); background: transparent; border-color: rgba(255,255,255,.58); }
.button--social-profile:hover { color: var(--color-primary-deep); background: var(--color-white); border-color: var(--color-white); }
.social-feed-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(180px,100%),1fr)); gap: 1px; margin-top: 1.5rem; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.2); }
.social-card { position: relative; display: block; min-width: 0; aspect-ratio: 4 / 5; overflow: hidden; color: var(--color-white); background: #0a1c31; outline-offset: 4px; }
.social-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.social-card--linked:hover img { transform: scale(1.035); }
.social-card__graphic { position: absolute; display: grid; place-content: center; inset: 0; overflow: hidden; background: radial-gradient(circle at 72% 18%, rgba(169,198,255,.2), transparent 32%), linear-gradient(145deg,#0c2745,#061426 66%); }
.social-network--instagram .social-card__graphic::before { position: absolute; width: 66%; aspect-ratio: 1; content: ""; top: 15%; left: 17%; border: 1px solid rgba(169,198,255,.16); border-radius: 50%; }
.social-network--tiktok .social-card__graphic { background: linear-gradient(155deg,#061426 20%,#102b4a 70%,rgba(21,94,239,.72) 160%); }
.social-card__graphic span { position: absolute; top: 1rem; left: 1rem; color: rgba(255,255,255,.46); font-family: "Courier New", monospace; font-size: .62rem; letter-spacing: .08em; }
.social-card__graphic strong { color: rgba(169,198,255,.62); font-family: var(--font-editorial); font-size: clamp(2.8rem,5vw,5.5rem); font-weight: 400; letter-spacing: -.06em; }
.social-card__overlay { position: absolute; display: flex; flex-direction: column; justify-content: flex-end; padding: 3.5rem 1rem 1rem; inset: auto 0 0; background: linear-gradient(transparent,rgba(6,20,38,.94)); }
.social-card__overlay span,
.social-card__empty-copy span { color: #a9c6ff; font-family: "Courier New", monospace; font-size: .58rem; letter-spacing: .09em; }
.social-card__overlay p { margin: .35rem 0 0; color: var(--color-white); font-size: .78rem; line-height: 1.55; }
.social-card__empty-copy { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.22); }
.social-card__empty-copy p { margin: .3rem 0 0; color: rgba(255,255,255,.7); font-size: .72rem; }

@media (max-width: 782px) {
  .admin-bar.lst-demo-mode.home .site-header:not(.is-scrolled) { top: calc(46px + var(--lst-demo-height)); }
  .admin-bar.lst-demo-mode.home .site-header.is-scrolled { top: 46px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .social-feed-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .demo-notice { justify-content: flex-start; overflow-x: auto; padding-inline: 16px; font-size: .65rem; white-space: nowrap; }
  .team-section__intro,
  .social-section__intro { grid-template-columns: 1fr; gap: 1.8rem; }
  .team-section__note,
  .social-section__note { max-width: none; }
	.team-grid { grid-template-columns: 1fr; gap: 2.8rem; }
	.staff-card { display: block; }
	.staff-card__media { aspect-ratio: 5 / 6; }
	.staff-card__placeholder strong { font-size: clamp(1.4rem,7vw,2.1rem); }
	.staff-profile { grid-template-columns: 1fr; }
	.staff-profile__item,
	.staff-profile__item:nth-child(even) { padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--color-border); border-left: 0; }
	.staff-profile__item:last-child { border-bottom: 0; }
  .social-network__header { align-items: flex-end; }
  .social-network__header .text-link { font-size: .68rem; }
  .social-network__ready { font-size: .54rem; }
  .social-network__profile-action { justify-content: stretch; }
  .button--social-profile { width: 100%; min-width: 0; }
  .social-feed-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .social-card { aspect-ratio: 4 / 5; }
  .contact-demo-profile { grid-template-columns: 1fr; }
  .contact-demo-profile > div + div { padding-left: 0; border-top: 1px solid var(--color-border); border-left: 0; }
}

@media (max-width: 390px) {
  .social-network__header { align-items: flex-start; flex-direction: column; }
  .social-network__ready { align-self: flex-end; }
  .social-card__empty-copy { right: .7rem; bottom: .7rem; left: .7rem; }
  .social-card__empty-copy p { font-size: .66rem; }
}

@media (prefers-reduced-motion: reduce) {
  .staff-card__image,
  .social-card img { transition: none; }
  .staff-card:hover .staff-card__image,
  .social-card--linked:hover img { transform: none; }
}

/* =========================================================
   14. COMPACT HOME / WEB CAMPAIGNS / PRICE EXAMPLES
========================================================= */
#campaign-details,
#garden-price-examples { scroll-margin-top: 96px; }

/* First view: campaign, smaller service choices, then the promise. */
.hero-campaign-pop {
  display: grid;
  max-width: none;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .7rem 1.1rem;
  margin-bottom: .8rem;
  padding: .72rem 1rem;
  color: var(--color-primary-deep);
  background: rgba(242,211,93,.96);
  border: 1px solid rgba(255,255,255,.72);
  text-decoration: none;
  box-shadow: 8px 8px 0 rgba(6,20,38,.35);
}
.hero-campaign-pop:hover { color: var(--color-primary-deep); background: #ffe66f; }
.hero-campaign-pop > span { color: #781111; font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.hero-campaign-pop > strong { font-size: clamp(1rem,1.5vw,1.35rem); line-height: 1; }
.hero-campaign-pop > strong em { margin-left: .3rem; color: #b51212; font-size: 1.45em; font-style: normal; }
.hero-campaign-pop > small { display: flex; align-items: center; gap: .45rem; font-size: .62rem; font-weight: 800; white-space: nowrap; }
.hero-campaign-pop .icon { width: 1rem; }

.home .home-hero--overlay { min-height: max(100svh,1000px); }
.home-hero--overlay .home-hero__grid,
.home-hero--overlay .home-hero__content { min-height: max(calc(100svh - 82px),900px); }
.home-hero--overlay .home-hero__content { justify-content: flex-start; padding: 425px 0 8rem; }
.home-hero--overlay .service-selector-card { height: 205px; min-height: 0; padding: .72rem; }
.home-hero--overlay .service-selector-card__icon { width: 38px; margin: .32rem 0 .24rem; }
.home-hero--overlay .service-selector-card > strong { min-height: 2.3em; font-size: 1rem; }
.home-hero--overlay .service-selector-card__price { font-size: .62rem; }
.home-hero--overlay .service-selector-card__detail { min-height: 2.6em; font-size: .54rem; }
.home-hero--overlay .service-selector-card__link { margin-top: auto; padding-top: .4rem; font-size: .54rem; }
.home .home-hero--overlay h1 { font-size: clamp(4rem,5.9vw,6rem); }

/* Replace the repeated photographic service section with three direct routes. */
.home-service-gateway { padding-block: clamp(3.5rem,6vw,5.5rem); color: rgba(255,255,255,.68); background: var(--color-primary-deep); }
.home-service-gateway__grid { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(440px,1.28fr); gap: clamp(2.5rem,7vw,7rem); align-items: center; }
.home-service-gateway .section-heading { margin: 0; }
.home-service-gateway .section-heading h2 { color: var(--color-white); }
.home-service-gateway .section-heading__lead { color: rgba(255,255,255,.62); }
.home-service-gateway__links { border-top: 1px solid rgba(255,255,255,.5); }
.home-service-gateway__links a { display: grid; min-height: 82px; grid-template-columns: 42px 1fr auto; align-items: center; gap: 1rem; color: var(--color-white); border-bottom: 1px solid rgba(255,255,255,.18); text-decoration: none; }
.home-service-gateway__links a:hover { color: #a9c6ff; }
.home-service-gateway__links span { color: #8fb4ff; font-family: "Courier New",monospace; font-size: .62rem; }
.home-service-gateway__links strong { font-size: clamp(1rem,1.6vw,1.25rem); }
.home-service-gateway__links .icon { width: 1.2rem; }

/* Three concise homepage steps; full six-step guidance stays on detail pages. */
.home-flow-compact { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid var(--color-primary-deep); border-left: 1px solid var(--color-border); list-style: none; }
.home-flow-compact li { display: grid; min-height: 145px; grid-template-columns: 42px 1fr; gap: 1rem; padding: 1.35rem; border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.home-flow-compact > li > span { color: var(--color-primary); font-family: "Courier New",monospace; font-size: .66rem; }
.home-flow-compact h3 { margin-bottom: .45rem; font-size: 1.12rem; }
.home-flow-compact p { margin: 0; color: var(--color-text-muted); font-size: .8rem; line-height: 1.7; }

/* Homepage team is a teaser; the About page retains every profile field. */
.team-section--home { padding-block: clamp(3.5rem,7vw,6rem); }
.team-section--home .team-section__intro { grid-template-columns: 1fr; }
.team-section--home .team-section__note { display: none; }
.team-grid--compact { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: clamp(2rem,4vw,3rem); background: var(--color-border); border: 1px solid var(--color-border); }
.team-grid--compact .staff-card { display: block; border: 0; background: var(--color-surface); }
.team-grid--compact .staff-card__media { aspect-ratio: 4 / 3; margin: 0; }
.team-grid--compact .staff-card__image { object-position: center 18%; }
.team-grid--compact .staff-card__body { padding: 1.15rem; }
.team-grid--compact .staff-card h3 { font-size: clamp(1.05rem,1.7vw,1.35rem); }
.team-grid--compact .staff-card__bio { display: -webkit-box; margin: 0; overflow: hidden; font-size: .76rem; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.team-section__detail-link { margin-top: 1.5rem; }

/* Two web-only campaigns share one clear terms block. */
.referral-campaign { background: linear-gradient(135deg,#6f1010 0%,#8e1515 58%,#591010 100%); }
.referral-campaign__grid { grid-template-columns: minmax(250px,.55fr) minmax(560px,1.45fr); }
.referral-campaign__intro h2 { font-size: clamp(2.5rem,4.6vw,4.8rem); }
.campaign-offers { display: grid; min-width: 0; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 1px; background: rgba(255,255,255,.3); border: 1px solid rgba(255,255,255,.3); }
.campaign-offer { min-width: 0; padding: clamp(1.35rem,3vw,2.5rem); }
.campaign-offer > span { display: block; margin-bottom: 1rem; font-family: "Courier New",monospace; font-size: .66rem; font-weight: 700; letter-spacing: .06em; }
.campaign-offer--discount { color: var(--color-primary-deep); background: #f2d35d; }
.campaign-offer--discount > span { color: #781111; }
.campaign-offer--discount > p { margin: 0; font-weight: 800; }
.campaign-offer--discount > strong { display: block; margin: .3rem 0; color: #b51212; font-size: clamp(4rem,8vw,7.2rem); line-height: .85; }
.campaign-offer--discount > strong small { color: #17431f; font-size: .32em; }
.campaign-offer--discount time { font-size: .75rem; font-weight: 800; }
.campaign-offer--referral { color: rgba(255,255,255,.78); background: rgba(6,20,38,.56); }
.campaign-offer--referral > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: rgba(255,255,255,.22); }
.campaign-offer--referral p { display: flex; min-width: 0; min-height: 190px; flex-direction: column; margin: 0; padding: 1rem; background: rgba(6,20,38,.74); font-size: .72rem; }
.campaign-offer--referral strong { display: block; margin: auto 0 .35rem; color: var(--color-white); font-size: clamp(2.25rem,4vw,4rem); line-height: 1; }
.campaign-offer--referral strong small { margin-left: .15rem; font-size: .28em; }
.campaign-offer--referral em { color: rgba(255,255,255,.65); font-size: .65rem; font-style: normal; line-height: 1.5; }

/* Anonymized actual price examples supplied by LST. */
.garden-price-examples { background: var(--color-bg); }
.garden-price-example-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--color-primary-deep); border-left: 1px solid var(--color-border); }
.garden-price-example-grid article { min-width: 0; padding: clamp(1.35rem,3vw,2.5rem); border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.garden-price-example__meta { display: flex; align-items: center; gap: .7rem; color: var(--color-primary); font-size: .68rem; font-weight: 800; }
.garden-price-example__meta span { padding-right: .7rem; border-right: 1px solid var(--color-border); font-family: "Courier New",monospace; }
.garden-price-example-grid h3 { min-height: 2.8em; font-size: clamp(1.15rem,2vw,1.6rem); }
.garden-price-example-grid dl { margin: 1.5rem 0 0; border-top: 1px solid var(--color-border); }
.garden-price-example-grid dl > div { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--color-border); }
.garden-price-example-grid dt { color: var(--color-text-muted); font-size: .68rem; }
.garden-price-example-grid dd { margin: 0; font-size: .88rem; }
.garden-price-example-grid dd strong { color: var(--color-primary); font-size: clamp(1.4rem,2.5vw,2rem); }
.garden-price-examples .review-note { margin-top: 1.25rem; }

@media (min-width: 768px) and (max-width: 1023px) {
  .home .home-hero--overlay { min-height: 1040px; }
  .home-hero--overlay .home-hero__grid,
  .home-hero--overlay .home-hero__content { min-height: 1010px; }
  .home-hero--overlay .home-hero__content { padding: 500px 0 8rem; }
  .home-hero--overlay .service-selector-card { height: 150px; min-height: 0; padding: .55rem; }
  .home-hero--overlay .service-selector-card__icon { width: 32px; margin: .35rem 0 .3rem; }
  .home-hero--overlay .service-selector-card > strong { min-height: 2.2em; font-size: .88rem; }
  .home-hero--overlay .service-selector-card__price { font-size: .54rem; }
  .home-hero--overlay .service-selector-card__detail { display: none; }
  .home-hero--overlay .service-selector-card__link { padding-top: .3rem; font-size: .48rem; }
  .hero-campaign-pop { max-width: none; }
  .home-service-gateway__grid { grid-template-columns: 1fr; }
  .referral-campaign__grid { grid-template-columns: 1fr; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .home-hero--overlay .home-hero__content { padding-top: 385px; }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .home-hero--overlay .home-hero__content { padding-top: 410px; }
}

@media (max-width: 767px) {
  #campaign-details,
  #garden-price-examples { scroll-margin-top: 76px; }
  .home .home-hero--overlay { min-height: 780px; }
  .home-hero--overlay .home-hero__grid,
  .home-hero--overlay .home-hero__content { min-height: 720px; }
  .home-hero--overlay .home-hero__content { justify-content: flex-start; padding: 354px 0 4rem; }
  .home-hero--overlay .service-selector-hero--overlay { top: 4.85rem; }
  .hero-campaign-pop { max-width: none; grid-template-columns: 1fr auto; gap: .15rem .5rem; margin-bottom: .42rem; padding: .38rem .48rem; box-shadow: 4px 4px 0 rgba(6,20,38,.32); }
  .hero-campaign-pop > span { font-size: .43rem; }
  .hero-campaign-pop > strong { grid-column: 1 / -1; grid-row: 2; font-size: .66rem; }
  .hero-campaign-pop > strong em { font-size: 1.45em; }
  .hero-campaign-pop > small { grid-column: 2; grid-row: 1; font-size: .4rem; }
  .hero-campaign-pop .icon { width: .7rem; }
  .home-hero--overlay .service-selector-card { height: 96px; min-height: 0; padding: .3rem .38rem; }
  .home-hero--overlay .service-selector-card__number { font-size: .42rem; }
  .home-hero--overlay .service-selector-card__icon { width: 22px; margin: .18rem 0 .12rem; }
  .home-hero--overlay .service-selector-card > strong { min-height: 2.35em; margin: 0 0 .12rem; font-size: clamp(.59rem,2.85vw,.7rem); line-height: 1.18; }
  .home-hero--overlay .service-selector-card__price { font-size: .38rem; }
  .home-hero--overlay .service-selector-card__link { min-height: 12px; justify-content: flex-end; margin-top: auto; padding: 0; border: 0; font-size: 0; }
  .home-hero--overlay .service-selector-card__link .icon { width: .7rem; }
  .home-hero--overlay .service-selector-hero__legal { margin-top: .28rem; font-size: .39rem; line-height: 1.38; }
  .home-hero--overlay .hero-label { margin-bottom: .45rem; font-size: .58rem; }
  .home .home-hero--overlay h1 { margin-bottom: .28em; font-size: clamp(2.25rem,10.2vw,2.85rem); }
  .home-hero--overlay .home-hero__lead { margin-bottom: .8rem; font-size: .78rem; line-height: 1.58; }

  .home-service-gateway__grid { grid-template-columns: 1fr; gap: 2rem; }
  .home-service-gateway { padding-block: 3rem; }
  .home-service-gateway__links a { min-height: 64px; }
  .home-flow-compact { grid-template-columns: 1fr; }
  .home-flow-compact li { min-height: 92px; padding: 1rem; }

  .team-grid--compact { grid-template-columns: 1fr; }
  .team-grid--compact .staff-card { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 0; }
  .team-grid--compact .staff-card--no-image { grid-template-columns: 1fr; }
  .team-grid--compact .staff-card__media { height: 150px; aspect-ratio: auto; }
  .team-grid--compact .staff-card__body { padding: .8rem; }
  .team-grid--compact .staff-card__meta { margin-bottom: .35rem; font-size: .54rem; }
  .team-grid--compact .staff-card h3 { margin-bottom: .3rem; font-size: .98rem; }
  .team-grid--compact .staff-card__bio { font-size: .65rem; line-height: 1.55; -webkit-line-clamp: 3; }

  .referral-campaign__grid { grid-template-columns: 1fr; gap: 2rem; }
  .campaign-offers { grid-template-columns: 1fr; }
  .campaign-offer--referral > div { grid-template-columns: 1fr 1fr; }
  .campaign-offer--referral p { min-height: 155px; padding: .8rem; }
  .campaign-offer--discount > strong { font-size: clamp(4.6rem,24vw,6rem); }
  .garden-price-example-grid { grid-template-columns: 1fr; }
  .garden-price-example-grid h3 { min-height: 0; }
}

@media (max-width: 359px) {
  .home-hero--overlay .home-hero__content { padding-top: 347px; }
  .home-hero--overlay .service-selector-card { height: 94px; min-height: 0; }
  .home .home-hero--overlay h1 { font-size: 2.02rem; }
  .hero-campaign-pop > small { font-size: .36rem; }
  .team-grid--compact .staff-card { grid-template-columns: 100px minmax(0,1fr); }
}

/* =========================================================
   15. TREE FELLING / MOBILE FV SINGLE ROW / CURRENT OGP PASS
========================================================= */
.wide-support-note {
  margin: 1.4rem 0 0;
  padding-left: 1rem;
  color: rgba(255,255,255,.82);
  border-left: 2px solid #8fb4ff;
  font-size: .82rem;
  line-height: 1.9;
}
.tree-felling-overview { scroll-margin-top: 96px; }
.tree-felling-overview h2 { color: var(--color-white); font-size: clamp(2.4rem,5vw,5.5rem); line-height: 1; }
.tree-felling-points { margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,.5); list-style: none; }
.tree-felling-points li { padding: 1rem 0; color: var(--color-white); border-bottom: 1px solid rgba(255,255,255,.18); font-weight: 700; }

/* The managed social image is global; keep the first-view promise visually dominant. */
.home-hero--overlay .home-hero__content { padding-top: 405px; }
.home .home-hero--overlay h1 { font-size: clamp(4.3rem,6vw,5.45rem); }

@media (min-width: 768px) and (max-width: 1023px) {
  .home-hero--overlay .home-hero__content { padding-top: 480px; }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .home-hero--overlay .home-hero__content { padding-top: 365px; }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .home-hero--overlay .home-hero__content { padding-top: 390px; }
}

@media (max-width: 767px) {
  .home .site-header,
  .home .site-header.is-scrolled,
  .home .site-header.is-scrolled.is-hidden {
    position: fixed;
    right: 0;
    left: 0;
    transform: none !important;
  }

  .has-mobile-sticky-cta .contact-actions { display: none !important; }
  .tree-felling-overview { scroll-margin-top: 76px; }

  .home .home-hero--overlay { min-height: 620px; }
  .home-hero--overlay .home-hero__grid,
  .home-hero--overlay .home-hero__content { min-height: 550px; }
  .home-hero--overlay .home-hero__content { padding: 240px 0 3rem; }
  .home-hero--overlay .service-selector-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .home-hero--overlay .service-selector-card { height: 96px; padding: .28rem .2rem; align-items: center; text-align: center; }
  .home-hero--overlay .service-selector-card__number { align-self: flex-start; font-size: .4rem; }
  .home-hero--overlay .service-selector-card__icon { width: 23px; margin: .18rem auto .28rem; }
  .home-hero--overlay .service-selector-card > strong { width: 100%; min-height: 2.35em; margin: 0; font-size: clamp(.5rem,2.15vw,.58rem); line-height: 1.18; letter-spacing: -.05em; }
  .home-hero--overlay .service-selector-card__detail,
  .home-hero--overlay .service-selector-card__link { display: none; }
  .home-hero--overlay .service-selector-card__price {
    display: block;
    width: 100%;
    margin: auto 0 0;
    color: rgba(255,255,255,.86);
    font-size: clamp(.39rem,1.65vw,.45rem);
    line-height: 1.15;
    letter-spacing: -.035em;
  }

  .home-hero--overlay .hero-label { margin-bottom: .35rem; }
  .home .home-hero--overlay h1 { width: 100%; max-width: none; margin-bottom: .22em; font-size: clamp(2.15rem,10.85vw,2.75rem); letter-spacing: -.1em; }
  .home .home-hero--overlay h1 em { padding-right: .08em; text-align: right; }
  .home-hero--overlay .home-hero__lead { margin-bottom: 0; }
}

@media (max-width: 359px) {
  .home-hero--overlay .home-hero__content { padding-top: 238px; }
  .home-hero--overlay .service-selector-card { height: 94px; }
  .home .home-hero--overlay h1 { font-size: 2.14rem; letter-spacing: -.11em; }
}

/* =========================================================
   16. FV DENSITY / LARGER MOBILE LABELS / ONE-LINE DESKTOP
========================================================= */
@media (min-width: 1024px) {
  .home-hero--overlay .home-hero__grid,
  .home-hero--overlay .home-hero__content { min-height: max(calc(100svh - 82px),820px); }
  .home .home-hero--overlay h1 {
    display: flex;
    width: max-content;
    max-width: calc(100vw - 3rem);
    align-items: baseline;
    font-size: clamp(4.1rem,5.5vw,5.2rem);
    white-space: nowrap;
  }
  .home .home-hero--overlay h1 > span,
  .home .home-hero--overlay h1 > em { display: inline; }
}

@media (max-width: 767px) {
  .home .home-hero--overlay { min-height: 0; }
  .home-hero--overlay .home-hero__grid,
  .home-hero--overlay .home-hero__content { min-height: 0; }
  .home-hero--overlay .home-hero__content { padding: 240px 0 2.25rem; }
  .home-hero--overlay .service-selector-card__number { font-size: .45rem; }
  .home-hero--overlay .service-selector-card__icon { width: 30px; margin: .08rem auto .18rem; }
  .home-hero--overlay .service-selector-card > strong {
    min-height: 2.35em;
    font-size: clamp(.58rem,2.45vw,.68rem);
    line-height: 1.12;
  }
  .home .home-hero--overlay h1 {
    width: calc(100% + 8px);
    margin-left: -4px;
    margin-bottom: .14em;
    font-size: clamp(2.22rem,11.35vw,2.9rem);
    line-height: .96;
    letter-spacing: -.12em;
  }
  .home-hero--overlay .home-hero__lead { line-height: 1.52; }
}

@media (max-width: 359px) {
  .home-hero--overlay .home-hero__content { padding-top: 238px; }
  .home .home-hero--overlay h1 { font-size: 2.22rem; letter-spacing: -.13em; }
}

/* =========================================================
   17. BRAND MARKS / MOBILE FIRST-VIEW BREATHING ROOM
========================================================= */
.site-header__brand { position: relative; }
.site-header__brand-label {
  position: absolute;
  z-index: 2;
  top: -.48rem;
  left: .08rem;
  color: var(--color-primary-deep);
  font-size: .48rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .14em;
  white-space: nowrap;
  pointer-events: none;
}
.home .site-header__brand-label { color: var(--color-white); text-shadow: 0 1px 8px rgba(6,20,38,.72); }
.social-network__mark { overflow: hidden; }
.social-network--instagram .social-network__mark { background: transparent; }
.social-network__brand-icon { display: block; width: 36px; height: 36px; object-fit: contain; }
.social-network__brand-icon--lst { filter: brightness(0) invert(1); }
.social-network__brand-fallback { color: var(--color-white); font-size: .58rem; font-weight: 900; letter-spacing: -.06em; }

@media (max-width: 767px) {
  .home .home-hero--overlay { min-height: 100svh; min-height: 100dvh; }
  .site-header__brand-label { top: -.38rem; font-size: .45rem; }
}

/* =========================================================
   18. PRICE-EXAMPLE PATHS / RESPONSIVE SELECTOR COPY
========================================================= */
#price-examples-garden,
#price-examples-tree-felling,
#price-examples-estate-cleanup,
#price-examples-cleanup { scroll-margin-top: 96px; }

.service-selector-card__price-mobile { display: none; }
.service-selector-card__case-link {
  display: block;
  margin-top: .3rem;
  color: #a9c6ff;
  font-size: .57rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .01em;
}

@media (max-width: 1023px) {
  .home-hero--overlay .service-selector-card__case-link {
    margin-top: .2rem;
    font-size: .48rem;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-hero--overlay .service-selector-card__link { display: none; }
}

@media (max-width: 767px) {
  #price-examples-garden,
  #price-examples-tree-felling,
  #price-examples-estate-cleanup,
  #price-examples-cleanup { scroll-margin-top: 76px; }

  .service-selector-card__price-full { display: none; }
  .service-selector-card__price-mobile { display: inline; }
  .home-hero--overlay .service-selector-card__price { margin-top: auto; }
  .home-hero--overlay .service-selector-card__case-link {
    width: 100%;
    margin-top: .08rem;
    color: #b9d1ff;
    font-size: clamp(.34rem,1.4vw,.39rem);
    line-height: 1;
    letter-spacing: -.07em;
    white-space: nowrap;
  }
}

@media (max-width: 359px) {
  .home-hero--overlay .service-selector-card__icon { width: 27px; }
  .home-hero--overlay .service-selector-card > strong { font-size: .56rem; }
  .home-hero--overlay .service-selector-card__case-link { font-size: .34rem; }
}

/* =========================================================
   19. FINAL MOBILE FV BALANCE
========================================================= */
.site-header__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.site-header__brand-label {
  position: static;
  margin: 0 0 2px .08rem;
  font-size: .96rem;
  line-height: 1;
  letter-spacing: .09em;
}

@media (max-width: 767px) {
  .site-header__brand-label {
    margin: 0 0 2px .08rem;
    font-size: .9rem;
  }
  .home-hero--overlay .home-hero__content {
    padding-top: clamp(19rem, calc(100svh - 22.5rem), 30rem);
    padding-top: clamp(19rem, calc(100dvh - 22.5rem), 30rem);
  }
  .home-hero--overlay .service-selector-card {
    position: relative;
    padding: .22rem .16rem .24rem;
  }
  .home-hero--overlay .service-selector-card__number {
    position: absolute;
    top: .22rem;
    left: .2rem;
    font-size: .45rem;
    line-height: 1;
  }
  .home-hero--overlay .service-selector-card__icon {
    width: clamp(2rem, 8.7vw, 2.25rem);
    margin: .08rem auto .06rem;
  }
  .home-hero--overlay .service-selector-card > strong {
    display: grid;
    min-height: 2.08em;
    place-items: center;
    margin: 0 0 .04rem;
    font-size: clamp(.64rem, 2.75vw, .74rem);
    line-height: 1.04;
    letter-spacing: -.06em;
  }
  .home-hero--overlay .service-selector-card__price {
    margin-top: auto;
    margin-bottom: 0;
    font-size: clamp(.44rem, 1.8vw, .5rem);
    line-height: 1.05;
    letter-spacing: -.04em;
    white-space: nowrap;
  }
  .home-hero--overlay .service-selector-card__case-link {
    margin-top: .08rem;
    font-size: clamp(.36rem, 1.6vw, .43rem);
    line-height: 1;
    letter-spacing: -.08em;
    white-space: nowrap;
  }
}

/* =========================================================
   21. FINAL CASE CAROUSEL / TABLET FV TUNING
========================================================= */
.work-case,
.work-case__details dd { overflow-wrap: anywhere; }
.work-case > .text-link { width: 100%; }

@media (min-width: 768px) and (max-width: 1023px) {
  .home-hero--overlay .home-hero__content { padding-top: 522px; }
}

@media (min-width: 1024px) {
  .work-carousel__track {
    grid-auto-columns: calc((100% - 2rem) / 3);
  }
}

/* =========================================================
   22. STABLE MOBILE VIEWPORT / LIGHTER SCROLLING
========================================================= */
@media (max-width: 767px) {
  .home .home-hero--overlay {
    min-height: 100vh;
    min-height: 100svh;
  }

  .home-hero--overlay .home-hero__content {
    padding-top: clamp(19rem, calc(100svh - 22.5rem), 30rem);
  }

  .service-selector-card--cleanup > strong {
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .home .site-header.is-scrolled::before,
  .home .menu-toggle,
  .mobile-sticky-cta,
  .home-hero--overlay .service-selector-grid {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* =========================================================
   23. FIXED MOBILE HERO CANVAS / STABLE CASE MOVEMENT
========================================================= */
.social-network--tiktok .social-network__mark { background: #000; }
.social-network__brand-icon--tiktok {
  width: 44px;
  height: 44px;
  object-fit: cover;
}
.work-carousel__track { scroll-behavior: auto; }

@media (max-width: 767px) {
  .home .home-hero--overlay,
  .home-hero--overlay .home-hero__grid,
  .home-hero--overlay .home-hero__content {
    min-height: clamp(37.75rem, calc(29.2rem + 43vw), 39.8125rem);
  }

  .home-hero--overlay .home-hero__content {
    padding-top: clamp(19.9rem, calc(10.5rem + 47vw), 22rem);
  }

  .home-hero__visual .visual-placeholder--ready > img {
    transition: none;
    transform: none !important;
  }

  .work-carousel__track {
    scroll-snap-type: x proximity;
  }
}

/* =========================================================
   24. DESKTOP COPY WIDTH / NATURAL LINE BREAKS
========================================================= */
@media (min-width: 1024px) {
  /* Keep the completed mobile composition untouched; use the full desktop canvas. */
  .home-hero--overlay .home-hero__content {
    width: 100%;
    max-width: none;
  }

  .home-hero--overlay .home-hero__lead {
    max-width: none;
    font-size: clamp(.82rem, 1.2vw, 1.08rem);
    white-space: nowrap;
  }

  .home-hero--overlay .home-hero__content .contact-actions {
    width: 560px;
    margin-inline: auto;
  }

  /* Forced mobile/editorial breaks are allowed to reflow naturally on desktop. */
  .section-heading h2 br,
  .referral-campaign h2 br,
  .final-cta h2 br,
  .about-message h2 br,
  .area-page-grid h2 br {
    display: none;
  }

  /* These three messages use intentional, copy-approved two-line breaks. */
  #main-services-title br,
  #values-title br,
  #price-title br {
    display: block;
  }

  .troubles .section-heading {
    max-width: none;
  }

  .troubles .section-heading h2 {
    max-width: none;
    font-size: clamp(2.4rem, 3.4vw, 3rem);
    white-space: nowrap;
  }

  .home-service-gateway__grid {
    grid-template-columns: minmax(340px, .85fr) minmax(440px, 1.15fr);
  }

  .home-service-gateway .section-heading h2,
  .values .section-heading h2,
  .home-price .section-heading h2,
  .home-about__grid .section-heading h2,
  .split-content .section-heading h2,
  .contact-checklist-grid .section-heading h2,
  .about-message h2,
  .area-page-grid h2 {
    font-size: clamp(2.4rem, 3.6vw, 3.5rem);
  }

  .referral-campaign__grid {
    grid-template-columns: minmax(250px, .55fr) minmax(560px, 1.45fr);
  }

  .referral-campaign__intro h2 {
    font-size: clamp(2.35rem, 3.4vw, 3rem);
    line-height: 1.02;
  }

  .home-area__grid {
    grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr);
  }

  .home-area .section-heading h2 {
    font-size: clamp(2.1rem, 2.9vw, 2.6rem);
    line-height: 1.08;
  }

  .team-section:not(.team-section--home) .section-heading h2 {
    font-size: clamp(2.4rem, 3.4vw, 3.25rem);
  }

  .final-cta h2 {
    font-size: clamp(2.4rem, 3.5vw, 3.25rem);
    line-height: 1.08;
  }

  .page-hero--service h1 {
    font-size: clamp(3.4rem, 5.3vw, 4.8rem);
    line-height: 1.02;
  }

  /* Prevent short orphan fragments without changing the completed mobile layout. */
  .home-works .section-heading__lead {
    max-width: none;
    white-space: nowrap;
  }

  .work-case h3,
  .campaign-offer p,
  .home-area .section-heading__lead,
  .social-section .section-heading__lead,
  .final-cta p:not(.eyebrow) {
    text-wrap: balance;
  }

  .final-cta p:not(.eyebrow) {
    max-width: none;
  }
}
