/* Focused V2 component vocabulary. Variants alter structure and hierarchy, not only paint. */
@font-face { font-family:'SFV2 LawnQuoter'; src:url('../fonts/lawnquoter/barlow-condensed-regular.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:'SFV2 LawnQuoter'; src:url('../fonts/lawnquoter/barlow-condensed-extra-bold.ttf') format('truetype'); font-style:normal; font-weight:800; font-display:swap; }
@keyframes sfv2-signal-drift { from { background-position:0 0,9px 9px; } to { background-position:-18px 0,-9px 9px; } }
.sfv2-nav { z-index: 50; border-bottom: 1px solid var(--sf-visual-border); background: color-mix(in srgb,var(--sf-visual-canvas),transparent 4%); }
.sfv2-nav__inner { display:flex; min-height:5.2rem; align-items:center; justify-content:space-between; gap:2rem; }
.sfv2-nav__brand { display:inline-flex; align-items:center; gap:.75rem; font-family:var(--sf-font-heading); font-weight:var(--sf-weight-heading); text-decoration:none; }
.sfv2-nav__mark { display:grid; width:2.3rem; aspect-ratio:1; place-items:center; background:var(--sf-brand-primary); color:var(--sf-brand-on-primary); font-family:var(--sf-font-display); }
.sfv2-nav__menu { display:flex; align-items:center; gap:clamp(1rem,2vw,2rem); font-family:var(--sf-font-utility); font-size:.78rem; font-weight:600; letter-spacing:.035em; }
.sfv2-nav__menu > a:not(.sfv2-button) { padding-block:.75rem; text-decoration:none; }
.sfv2-nav__quote { display:grid; grid-template-columns:minmax(8rem,11rem) auto; align-items:stretch; }
.sfv2-nav__quote input { min-width:0; padding:.65rem .8rem; border:1px solid color-mix(in srgb,currentColor,transparent 58%); border-right:0; background:color-mix(in srgb,var(--sf-visual-canvas),transparent 4%); color:var(--sf-visual-text); }
.sfv2-nav--overlay .sfv2-nav__quote input { border-color:rgba(255,255,255,.5); background:rgba(13,26,47,.72); color:white; }
.sfv2-nav--overlay .sfv2-nav__quote input::placeholder { color:rgba(255,255,255,.74); }
.sfv2-nav__toggle { display:none; width:44px; height:44px; border:1px solid var(--sf-visual-border); background:transparent; }
.sfv2-nav__toggle > span:not(.sfv2-sr-only) { display:block; width:20px; height:2px; margin:4px auto; background:currentColor; }
.sfv2-nav--overlay { position:absolute; inset:0 0 auto; border-color:rgba(255,255,255,.24); background:transparent; color:white; }
.sfv2-nav--overlay .sfv2-nav__brand,.sfv2-nav--overlay .sfv2-nav__menu > a { color:white; }
.sfv2-nav--overlay .sfv2-nav__menu > .sfv2-button { color:var(--sf-brand-on-accent); }
.sfv2-nav--technical { border-top:5px solid var(--sf-brand-accent); }
.sfv2-nav--technical .sfv2-nav__inner { min-height:4.5rem; }
.sfv2-nav--technical .sfv2-nav__mark { clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.sfv2-nav--editorial .sfv2-nav__inner { min-height:7rem; }
.sfv2-nav--editorial .sfv2-nav__brand { font-family:var(--sf-font-display); font-size:1.35rem; font-weight:500; }
.sfv2-nav--signal { position:relative; isolation:isolate; overflow:visible; border:0; background:#0e1226; box-shadow:0 18px 44px rgba(0,0,0,.45); color:white; }
.sfv2-nav--signal::before,.sfv2-nav--signal::after { position:absolute; inset:0; z-index:0; pointer-events:none; content:""; }
.sfv2-nav--signal::before { background-image:radial-gradient(circle,color-mix(in srgb,var(--sf-brand-accent),transparent 80%) 1.5px,transparent 2px),radial-gradient(circle,color-mix(in srgb,var(--sf-brand-accent),transparent 80%) 1.5px,transparent 2px); background-position:0 0,9px 9px; background-size:18px 18px,18px 18px; animation:sfv2-signal-drift 2s linear infinite; }
.sfv2-nav--signal::after { background:linear-gradient(90deg,color-mix(in srgb,var(--sf-brand-accent),transparent 8%) 0%,color-mix(in srgb,var(--sf-brand-accent),transparent 8%) 8%,transparent 30%,transparent 70%,color-mix(in srgb,var(--sf-brand-accent),transparent 8%) 92%,color-mix(in srgb,var(--sf-brand-accent),transparent 8%) 100%); mix-blend-mode:screen; }
.sfv2-nav--signal .sfv2-nav__inner { position:relative; z-index:2; min-height:clamp(6rem,8.2vw,7.375rem); }
.sfv2-nav--signal .sfv2-nav__brand { flex:none; gap:clamp(.6rem,1.2vw,1rem); color:white; }
.sfv2-nav__logo { width:clamp(3.25rem,5.2vw,4.5rem); height:auto; flex:none; }
.sfv2-nav__lockup { display:flex; flex-direction:column; gap:.2rem; }
.sfv2-nav__wordmark { color:#f5f0e8; font-family:'SFV2 LawnQuoter','Arial Narrow',sans-serif; font-size:clamp(1.65rem,2.7vw,2.55rem); font-weight:800; letter-spacing:.015em; line-height:.86; text-shadow:0 0 28px color-mix(in srgb,var(--sf-brand-accent),transparent 72%); white-space:nowrap; }
.sfv2-nav__descriptor { padding-left:.08em; color:var(--sf-brand-accent); font-family:'SFV2 LawnQuoter','Arial Narrow',sans-serif; font-size:clamp(.6rem,.82vw,.76rem); font-weight:800; letter-spacing:.22em; line-height:1; white-space:nowrap; }
.sfv2-nav--signal .sfv2-nav__menu { gap:clamp(.7rem,1.3vw,1.35rem); color:white; font-size:.7rem; }
.sfv2-nav--signal .sfv2-nav__menu > a:not(.sfv2-button) { color:white; }
.sfv2-nav--signal .sfv2-nav__quote { grid-template-columns:minmax(7rem,9rem) auto; }
.sfv2-nav--signal .sfv2-nav__quote input { border-color:rgba(255,255,255,.5); background:rgba(14,18,38,.72); color:white; }
.sfv2-nav--signal .sfv2-nav__quote input::placeholder { color:rgba(255,255,255,.74); }
.sfv2-nav--signal .sfv2-nav__toggle { border-color:rgba(255,255,255,.5); color:white; }

.sfv2-hero { overflow:hidden; background:var(--sf-visual-canvas); }
.sfv2-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(22rem,.9fr); gap:clamp(2rem,6vw,7rem); align-items:center; min-height:clamp(34rem,65vw,48rem); }
.sfv2-hero__copy { position:relative; z-index:2; }
.sfv2-hero__copy .sfv2-lede { max-width:38rem; }
.sfv2-hero__media { position:relative; }
.sfv2-hero__media::before { position:absolute; z-index:-1; right:-4vw; bottom:-3rem; width:65%; height:62%; background:var(--sf-brand-accent); content:''; opacity:.55; }
.sfv2-hero__note { margin-top:2rem; color:var(--sf-visual-text-muted); font-family:var(--sf-font-label); font-size:.78rem; }
.sfv2-hero--operator .sfv2-hero__grid { grid-template-columns:minmax(0,.8fr) minmax(24rem,1.2fr); }
.sfv2-hero--operator .sfv2-hero__copy { order:2; }
.sfv2-hero--operator .sfv2-hero__media { order:1; transform:rotate(-1.5deg); }
.sfv2-hero--immersive { min-height:min(92vh,58rem); display:grid; align-items:end; color:white; }
.sfv2-hero--immersive .sfv2-hero__backdrop,.sfv2-hero--immersive .sfv2-hero__backdrop::after { position:absolute; inset:0; }
.sfv2-hero--immersive .sfv2-hero__backdrop::after { background:var(--sf-image-overlay); content:''; }
.sfv2-hero--immersive .sfv2-media,.sfv2-hero--immersive .sfv2-media__fixture { width:100%; height:100%; border-radius:0; }
.sfv2-hero--immersive .sfv2-media__fixture span,.sfv2-hero--immersive .sfv2-media__fixture small { display:none; }
.sfv2-hero--immersive .sfv2-hero__grid { display:block; min-height:0; padding:clamp(10rem,20vw,16rem) var(--sf-gutter) clamp(4rem,9vw,8rem); }
.sfv2-hero--immersive .sfv2-hero__copy { max-width:65rem; }
.sfv2-hero--immersive h1 { max-width:11ch; color:white; font-size:var(--sf-type-display); }
.sfv2-hero--immersive .sfv2-eyebrow { color:rgba(255,255,255,.82); }
.sfv2-hero--immersive .sfv2-lede,.sfv2-hero--immersive .sfv2-text-link { color:rgba(255,255,255,.82); }

.sfv2-services { background:var(--sf-visual-surface); }
.sfv2-services__list { border-top:1px solid var(--sf-visual-border); }
.sfv2-service { display:grid; grid-template-columns:4rem minmax(15rem,.75fr) minmax(0,1fr); gap:clamp(1.25rem,4vw,4rem); align-items:center; padding-block:clamp(2rem,4vw,3.5rem); border-bottom:1px solid var(--sf-visual-border); }
.sfv2-service__number { align-self:start; color:var(--sf-visual-text-muted); font-family:var(--sf-font-label); font-size:.75rem; letter-spacing:.1em; }
.sfv2-service__media { aspect-ratio:16 / 9; transition:transform var(--sf-motion-base) var(--sf-ease); }
.sfv2-service:hover .sfv2-service__media { transform:scale(.985); }
.sfv2-service__copy h3 { max-width:16ch; }
.sfv2-services--editorial-narrative { background:var(--sf-visual-canvas); }
.sfv2-services--editorial-narrative .sfv2-services__list { display:grid; gap:clamp(.75rem,1.5vw,1.35rem); border-top:0; }
.sfv2-services--editorial-narrative .sfv2-service { position:relative; grid-template-columns:4.5rem minmax(17rem,.82fr) minmax(20rem,1.18fr); gap:0; min-height:22rem; overflow:hidden; padding:0; border:1px solid var(--sf-visual-border); background:var(--sf-visual-surface); box-shadow:var(--sf-shadow-soft); }
.sfv2-services--editorial-narrative .sfv2-service__number { grid-column:1; grid-row:1; align-self:stretch; display:flex; justify-content:center; padding-top:2rem; background:var(--sf-brand-primary); color:var(--sf-brand-accent); }
.sfv2-services--editorial-narrative .sfv2-service__media { grid-column:2; grid-row:1; align-self:stretch; width:100%; height:auto; min-height:22rem; aspect-ratio:auto; }
.sfv2-services--editorial-narrative .sfv2-service__media picture,.sfv2-services--editorial-narrative .sfv2-service__media img { position:absolute; inset:0; }
.sfv2-services--editorial-narrative .sfv2-service__copy { grid-column:3; grid-row:1; display:flex; min-width:0; justify-content:center; flex-direction:column; padding:clamp(2rem,3vw,3rem); }
.sfv2-services--editorial-narrative .sfv2-service__copy h3 { max-width:none; margin-bottom:1rem; text-transform:uppercase; }
.sfv2-services--editorial-narrative .sfv2-service__copy > p:not(.sfv2-label) { color:var(--sf-visual-text-muted); }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(even) .sfv2-service__media { grid-column:3; }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(even) .sfv2-service__copy { grid-column:2; }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(3) { border-color:var(--sf-brand-primary); background:var(--sf-brand-primary); color:var(--sf-brand-on-primary); }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(3) .sfv2-service__number { background:var(--sf-brand-accent); color:var(--sf-brand-on-accent); }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(3) h3,.sfv2-services--editorial-narrative .sfv2-service:nth-child(3) .sfv2-text-link { color:inherit; }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(3) .sfv2-service__copy > p:not(.sfv2-label) { color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 22%); }
.sfv2-service__scope { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0 1.5rem; padding:0; list-style:none; }
.sfv2-service__scope li { padding:.38rem .55rem; border:1px solid var(--sf-visual-border); color:var(--sf-visual-text-muted); font-family:var(--sf-font-label); font-size:.65rem; font-weight:700; letter-spacing:.06em; line-height:1.25; text-transform:uppercase; }
.sfv2-services--editorial-narrative .sfv2-service:nth-child(3) .sfv2-service__scope li { border-color:rgba(255,255,255,.28); color:rgba(255,255,255,.82); }

.sfv2-media-panel { overflow:hidden; background:var(--sf-visual-canvas); }
.sfv2-media-panel__frame { position:relative; min-height:clamp(38rem,70vw,54rem); display:grid; align-items:center; overflow:hidden; }
.sfv2-media-panel--contained-wide .sfv2-media-panel__frame { width:min(100% - (2 * var(--sf-gutter)),var(--sf-container-max)); min-height:clamp(34rem,60vw,46rem); margin-inline:auto; }
.sfv2-media-panel__media,.sfv2-media-panel__frame::after { position:absolute; inset:0; }
.sfv2-media-panel__media .sfv2-media,.sfv2-media-panel__media .sfv2-media__fixture { width:100%; height:100%; border-radius:0; }
.sfv2-media-panel__frame::after { z-index:1; background:linear-gradient(90deg,color-mix(in srgb,var(--sf-brand-primary),transparent 4%) 0%,color-mix(in srgb,var(--sf-brand-primary),transparent 18%) 38%,color-mix(in srgb,var(--sf-brand-primary),transparent 88%) 78%); content:""; pointer-events:none; }
.sfv2-media-panel[data-content-position="right"] .sfv2-media-panel__frame::after { transform:scaleX(-1); }
.sfv2-media-panel__layer { position:relative; z-index:2; display:flex; align-items:center; min-height:inherit; padding-block:clamp(3rem,8vw,7rem); }
.sfv2-media-panel[data-content-position="right"] .sfv2-media-panel__layer { justify-content:flex-end; }
.sfv2-media-panel__copy { width:min(38rem,62%); padding:clamp(2rem,5vw,4.5rem); border-top:.6rem solid var(--sf-brand-accent); background:color-mix(in srgb,var(--sf-brand-primary),transparent 7%); color:var(--sf-brand-on-primary); box-shadow:var(--sf-shadow-lift); }
.sfv2-media-panel[data-accent="secondary"] .sfv2-media-panel__copy { border-color:var(--sf-brand-secondary); }
.sfv2-media-panel[data-accent="none"] .sfv2-media-panel__copy { border-top-width:0; }
.sfv2-media-panel__copy h2,.sfv2-media-panel__copy .sfv2-text-link { color:inherit; }
.sfv2-media-panel__copy .sfv2-eyebrow { color:var(--sf-brand-accent); }
.sfv2-media-panel[data-accent="secondary"] .sfv2-media-panel__copy .sfv2-eyebrow { color:color-mix(in srgb,var(--sf-brand-secondary),white 26%); }
.sfv2-media-panel__copy .sfv2-lede,.sfv2-media-panel__copy li { color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 18%); }
.sfv2-media-panel__copy ul { display:grid; gap:.7rem; margin:1.75rem 0 0; padding:0; list-style:none; }
.sfv2-media-panel__copy li { padding-left:1.25rem; border-left:2px solid var(--sf-brand-accent); }

.sfv2-media-split { overflow:hidden; background:var(--sf-visual-surface-alt); }
.sfv2-media-split__grid { display:grid; gap:clamp(2rem,5vw,5rem); align-items:center; }
.sfv2-media-split--sixty .sfv2-media-split__grid { grid-template-columns:minmax(0,3fr) minmax(18rem,2fr); }
.sfv2-media-split--sixty-five .sfv2-media-split__grid { grid-template-columns:minmax(0,1.85fr) minmax(18rem,1fr); }
.sfv2-media-split--seventy .sfv2-media-split__grid { grid-template-columns:minmax(0,2.33fr) minmax(18rem,1fr); }
.sfv2-media-split[data-media-side="right"] .sfv2-media-split__media { order:2; }
.sfv2-media-split[data-media-side="right"] .sfv2-media-split__copy { order:1; }
.sfv2-media-split[data-content-align="start"] .sfv2-media-split__grid { align-items:start; }
.sfv2-media-split[data-content-align="end"] .sfv2-media-split__grid { align-items:end; }
.sfv2-media-split__media { position:relative; }
.sfv2-media-split__media .sfv2-media { min-height:clamp(32rem,52vw,47rem); }
.sfv2-media-split__media .sfv2-media--wide { min-height:clamp(25rem,39vw,35rem); }
.sfv2-media-split__media .sfv2-media--portrait { min-height:clamp(38rem,58vw,52rem); }
.sfv2-media-split[data-accent="accent"] .sfv2-media-split__media::after,.sfv2-media-split[data-accent="secondary"] .sfv2-media-split__media::after { position:absolute; z-index:-1; right:-1rem; bottom:-1rem; width:72%; height:54%; background:var(--sf-brand-accent); content:""; }
.sfv2-media-split[data-accent="secondary"] .sfv2-media-split__media::after { background:var(--sf-brand-secondary); }
.sfv2-media-split[data-media-side="right"] .sfv2-media-split__media::after { right:auto; left:-1rem; }
.sfv2-media-split__copy { padding-block:clamp(1rem,4vw,3rem); }
.sfv2-media-split__copy h2 { max-width:15ch; font-size:clamp(2rem,3.2vw,3.35rem); hyphens:none; overflow-wrap:normal; text-wrap:balance; word-break:normal; }
.sfv2-media-split__copy > p:not(.sfv2-eyebrow) { color:var(--sf-visual-text-muted); }
.sfv2-media-split__copy dl { margin-top:2.25rem; border-top:1px solid var(--sf-visual-border); }
.sfv2-media-split__copy dl div { display:grid; grid-template-columns:minmax(6rem,.45fr) minmax(0,1fr); gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--sf-visual-border); }
.sfv2-media-split__copy dt { font-family:var(--sf-font-label); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sfv2-media-split__copy dd { margin:0; color:var(--sf-visual-text-muted); }

.sfv2-service-features { overflow:hidden; padding-bottom:0; background:var(--sf-visual-canvas); }
.sfv2-service-features__intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr); gap:clamp(2rem,7vw,7rem); align-items:end; max-width:var(--sf-container-wide); padding-bottom:var(--sf-section-space); }
.sfv2-service-features__intro .sfv2-eyebrow { grid-column:1 / -1; margin-bottom:calc(-1 * var(--sf-space-lg)); }
.sfv2-service-features__intro h2 { margin-bottom:0; }
.sfv2-service-features__intro .sfv2-lede { margin-bottom:.35rem; }
.sfv2-service-features__sequence { display:grid; gap:1px; background:var(--sf-visual-border); }
.sfv2-service-band { position:relative; isolation:isolate; overflow:hidden; background:var(--sf-visual-surface); }
.sfv2-service-band__media .sfv2-media,.sfv2-service-band__media .sfv2-media__fixture { width:100%; height:100%; border-radius:0; }
.sfv2-service-band__copy { position:relative; z-index:2; }
.sfv2-service-band__meta { display:flex; align-items:center; gap:1rem; color:var(--sf-brand-secondary); font-family:var(--sf-font-label); font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.sfv2-service-band__meta span { color:var(--sf-visual-text-muted); font-family:var(--sf-font-numeric); }
.sfv2-service-band__summary { color:var(--sf-visual-text-muted); font-size:var(--sf-type-lead); }
.sfv2-service-band ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.5rem; margin:2rem 0; padding:0; list-style:none; }
.sfv2-service-band li { position:relative; padding:.65rem 0 .65rem 1.25rem; border-bottom:1px solid var(--sf-visual-border); color:var(--sf-visual-text-muted); }
.sfv2-service-band li::before { position:absolute; top:1.35rem; left:0; width:.55rem; height:2px; background:var(--sf-brand-accent); content:""; }
.sfv2-service-band[data-accent="secondary"] li::before { background:var(--sf-brand-secondary); }
.sfv2-service-band__note { margin-top:1.5rem; padding:1rem 0 1rem 1.25rem; border-left:.35rem solid var(--sf-brand-accent); color:var(--sf-visual-text-muted); font-size:.86rem; }
.sfv2-service-band[data-accent="secondary"] .sfv2-service-band__note { border-color:var(--sf-brand-secondary); }
.sfv2-service-band--split { display:grid; min-height:clamp(36rem,62vw,50rem); }
.sfv2-service-band--split[data-ratio="60-40"] { grid-template-columns:minmax(0,3fr) minmax(22rem,2fr); }
.sfv2-service-band--split[data-ratio="65-35"] { grid-template-columns:minmax(0,1.85fr) minmax(22rem,1fr); }
.sfv2-service-band--split[data-ratio="70-30"] { grid-template-columns:minmax(0,2.33fr) minmax(22rem,1fr); }
.sfv2-service-band--split[data-media-side="right"] .sfv2-service-band__media { order:2; }
.sfv2-service-band--split[data-media-side="right"] .sfv2-service-band__copy { order:1; }
.sfv2-service-band--split .sfv2-service-band__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2.5rem,6vw,6rem); }
.sfv2-service-band--background { min-height:clamp(40rem,72vw,56rem); display:flex; align-items:center; }
.sfv2-service-band--background .sfv2-service-band__media,.sfv2-service-band--background::after { position:absolute; inset:0; }
.sfv2-service-band--background::after { z-index:1; background:linear-gradient(90deg,color-mix(in srgb,var(--sf-brand-primary),transparent 2%) 0%,color-mix(in srgb,var(--sf-brand-primary),transparent 18%) 48%,color-mix(in srgb,var(--sf-brand-primary),transparent 86%) 100%); content:""; }
.sfv2-service-band--background[data-content-position="right"]::after { transform:scaleX(-1); }
.sfv2-service-band--background .sfv2-service-band__copy { width:min(40rem,calc(100% - (2 * var(--sf-gutter)))); margin-block:clamp(3rem,8vw,7rem); margin-left:max(var(--sf-gutter),calc((100vw - var(--sf-container-wide)) / 2)); padding:clamp(2.25rem,5vw,4.5rem); border-top:.6rem solid var(--sf-brand-accent); background:color-mix(in srgb,var(--sf-brand-primary),transparent 7%); color:var(--sf-brand-on-primary); box-shadow:var(--sf-shadow-lift); }
.sfv2-service-band--background[data-content-position="right"] .sfv2-service-band__copy { margin-right:max(var(--sf-gutter),calc((100vw - var(--sf-container-wide)) / 2)); margin-left:auto; }
.sfv2-service-band--background[data-accent="secondary"] .sfv2-service-band__copy { border-color:var(--sf-brand-secondary); }
.sfv2-service-band--background h3 { color:inherit; }
.sfv2-service-band--background .sfv2-service-band__summary,.sfv2-service-band--background li,.sfv2-service-band--background .sfv2-service-band__note { color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 18%); }
.sfv2-service-band--background li { border-color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 75%); }
.sfv2-service-band--background .sfv2-service-band__meta span { color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 42%); }
.sfv2-service-band--stacked { width:min(100% - (2 * var(--sf-gutter)),var(--sf-container-max)); margin-inline:auto; }
.sfv2-service-band--stacked .sfv2-service-band__media { height:clamp(27rem,48vw,42rem); }
.sfv2-service-band--stacked .sfv2-service-band__copy { display:grid; grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr); gap:1rem clamp(3rem,8vw,8rem); padding:clamp(2.5rem,6vw,5rem); border-top:.6rem solid var(--sf-brand-accent); }
.sfv2-service-band--stacked[data-accent="secondary"] .sfv2-service-band__copy { border-color:var(--sf-brand-secondary); }
.sfv2-service-band--stacked .sfv2-service-band__meta,.sfv2-service-band--stacked h3,.sfv2-service-band--stacked .sfv2-button { grid-column:1; }
.sfv2-service-band--stacked .sfv2-service-band__summary,.sfv2-service-band--stacked ul,.sfv2-service-band--stacked .sfv2-service-band__note { grid-column:2; }
.sfv2-service-band--stacked .sfv2-service-band__summary { grid-row:1 / span 2; }
.sfv2-service-band--stacked ul { margin-top:0; }

.sfv2-proof-summary { border-block:1px solid var(--sf-visual-border); background:var(--sf-visual-surface-alt); }
.sfv2-proof-summary__inner { display:grid; grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); }
.sfv2-proof-summary__item { display:flex; min-height:9rem; flex-direction:column; justify-content:center; padding:1.5rem clamp(1rem,3vw,2.4rem); border-right:1px solid var(--sf-visual-border); }
.sfv2-proof-summary__item:last-child { border-right:0; }
.sfv2-proof-summary__item strong { color:var(--sf-brand-primary); font-family:var(--sf-font-numeric,var(--sf-font-display)); font-size:clamp(1.8rem,4vw,3.4rem); line-height:1; }
.sfv2-proof-summary__item span { margin-top:.6rem; font-family:var(--sf-font-utility); font-size:.8rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.sfv2-proof-summary__item small { color:var(--sf-visual-text-muted); }
.sfv2-proof-summary--ledger { background:var(--sf-visual-surface-strong); color:white; }
.sfv2-proof-summary--ledger .sfv2-proof-summary__item { border-color:rgba(255,255,255,.18); }
.sfv2-proof-summary--ledger .sfv2-proof-summary__item strong { color:var(--sf-brand-accent); }

.sfv2-testimonial__inner { display:grid; grid-template-columns:.35fr 1fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.sfv2-testimonial figure { margin:0; }
.sfv2-testimonial blockquote { margin:0 0 1.5rem; font-family:var(--sf-font-display); font-size:clamp(2rem,4.5vw,4.2rem); font-weight:var(--sf-weight-display); letter-spacing:var(--sf-heading-tracking); line-height:1.08; }
.sfv2-testimonial figcaption { color:var(--sf-visual-text-muted); font-family:var(--sf-font-label); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.sfv2-testimonial--split .sfv2-testimonial__inner { grid-template-columns:1fr 1fr; }
.sfv2-testimonial--split blockquote { font-size:clamp(2rem,3.5vw,3.2rem); }

.sfv2-project { background:var(--sf-visual-surface-alt); }
.sfv2-project__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr); gap:clamp(2rem,7vw,7rem); align-items:center; }
.sfv2-project__copy dl { margin-top:2.5rem; border-top:1px solid var(--sf-visual-border); }
.sfv2-project__copy dl div { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--sf-visual-border); }
.sfv2-project__copy dt { font-family:var(--sf-font-label); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.sfv2-project__copy dd { margin:0; text-align:right; }
.sfv2-project--field-note .sfv2-project__grid { grid-template-columns:.7fr 1.3fr; }
.sfv2-project--field-note .sfv2-project__copy { padding:clamp(2rem,5vw,4rem); border:1px solid var(--sf-visual-border); background:var(--sf-visual-surface); }

.sfv2-before-after { background:var(--sf-visual-surface); }
.sfv2-before-after__stage { position:relative; overflow:hidden; }
.sfv2-before-after__before,.sfv2-before-after__after { position:relative; }
.sfv2-before-after__after { position:absolute; inset:0 auto 0 0; width:var(--sfv2-compare); overflow:hidden; border-right:3px solid var(--sf-brand-accent); }
.sfv2-before-after__after .sfv2-media { width:calc(100vw - (2 * var(--sf-gutter))); max-width:var(--sf-container-wide); }
.sfv2-before-after__stage > div > span { position:absolute; z-index:2; top:1rem; left:1rem; padding:.4rem .65rem; background:var(--sf-visual-surface-strong); color:white; font-family:var(--sf-font-label); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.sfv2-before-after__after > span { right:1rem; left:auto; }
.sfv2-before-after__stage input { position:absolute; z-index:5; inset:auto 1rem 1rem; width:calc(100% - 2rem); accent-color:var(--sf-brand-accent); }

.sfv2-neighborhood { overflow:hidden; }
.sfv2-neighborhood__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); align-items:start; }
.sfv2-inline-list { display:flex; flex-wrap:wrap; gap:.6rem; padding:0; list-style:none; }
.sfv2-inline-list li { padding:.45rem .75rem; border-bottom:2px solid var(--sf-brand-secondary); font-family:var(--sf-font-label); font-size:.74rem; letter-spacing:.06em; }
.sfv2-neighborhood--band { background:var(--sf-brand-primary); color:var(--sf-brand-on-primary); }
.sfv2-neighborhood--band h2,.sfv2-neighborhood--band .sfv2-lede { color:inherit; }
.sfv2-neighborhood--band .sfv2-eyebrow { color:var(--sf-brand-accent); }
.sfv2-neighborhood--band .sfv2-inline-list li { border-color:var(--sf-brand-accent); }

.sfv2-service-area { background:var(--sf-visual-surface); }
.sfv2-service-area__grid { display:grid; grid-template-columns:.75fr 1.25fr; grid-template-areas:'intro map' 'lists map'; gap:clamp(2rem,5vw,5rem); }
.sfv2-service-area__intro { grid-area:intro; }
.sfv2-service-area__map { position:relative; grid-area:map; min-height:30rem; overflow:hidden; border:1px solid var(--sf-visual-border); background:repeating-linear-gradient(0deg,transparent 0 3rem,color-mix(in srgb,var(--sf-visual-border),transparent 40%) 3rem calc(3rem + 1px)),repeating-linear-gradient(90deg,transparent 0 3rem,color-mix(in srgb,var(--sf-visual-border),transparent 40%) 3rem calc(3rem + 1px)),var(--sf-visual-surface-alt); }
.sfv2-service-area__map span,.sfv2-service-area__map i,.sfv2-service-area__map b { position:absolute; border:2px solid var(--sf-brand-primary); border-radius:50%; }
.sfv2-service-area__map span { inset:16% 18% 25% 12%; transform:rotate(-8deg); }
.sfv2-service-area__map i { inset:29% 29% 13% 24%; transform:rotate(15deg); }
.sfv2-service-area__map b { top:45%; left:51%; width:1rem; height:1rem; border:0; background:var(--sf-brand-secondary); box-shadow:0 0 0 .6rem color-mix(in srgb,var(--sf-brand-secondary),transparent 70%); }
.sfv2-service-area__map em { position:absolute; right:1rem; bottom:1rem; padding:.4rem .6rem; background:var(--sf-visual-surface); font-family:var(--sf-font-label); font-size:.7rem; font-style:normal; letter-spacing:.08em; text-transform:uppercase; }
.sfv2-service-area__lists { grid-area:lists; display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.sfv2-service-area__lists h3 { font-size:1rem; }
.sfv2-service-area__lists ul { padding-left:1.1rem; color:var(--sf-visual-text-muted); }
.sfv2-service-area--list-rail { background:var(--sf-visual-surface-alt); }
.sfv2-service-area--list-rail .sfv2-service-area__grid { grid-template-columns:minmax(17rem,.8fr) minmax(15rem,.7fr) minmax(22rem,1.2fr); grid-template-areas:'intro lists map'; gap:0; overflow:hidden; background:var(--sf-brand-primary); color:var(--sf-brand-on-primary); box-shadow:var(--sf-shadow-lift); }
.sfv2-service-area--list-rail .sfv2-service-area__intro { padding:clamp(2rem,4vw,4rem); }
.sfv2-service-area--list-rail .sfv2-service-area__intro h2,.sfv2-service-area--list-rail .sfv2-service-area__lists h3 { color:inherit; }
.sfv2-service-area--list-rail .sfv2-service-area__intro h2 { max-width:13ch; font-size:clamp(2rem,3.15vw,3.25rem); }
.sfv2-service-area--list-rail .sfv2-service-area__intro > p:not(.sfv2-eyebrow) { color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 24%); }
.sfv2-service-area--list-rail .sfv2-service-area__lists { align-content:center; gap:0; padding:clamp(2rem,4vw,4rem) clamp(1.5rem,3vw,3rem); border-inline:1px solid rgba(255,255,255,.2); }
.sfv2-service-area--list-rail .sfv2-service-area__lists > div + div { margin-top:2rem; }
.sfv2-service-area--list-rail .sfv2-service-area__lists ul { margin:0; padding:0; color:inherit; list-style:none; }
.sfv2-service-area--list-rail .sfv2-service-area__lists li { border-top:1px solid rgba(255,255,255,.18); }
.sfv2-service-area--list-rail .sfv2-service-area__lists a { display:flex; min-height:2.7rem; align-items:center; justify-content:space-between; gap:1rem; color:inherit; font-family:var(--sf-font-utility); font-size:.78rem; font-weight:700; text-decoration:none; text-transform:uppercase; }
.sfv2-service-area--list-rail .sfv2-service-area__lists a span:last-child { color:var(--sf-brand-accent); }
.sfv2-service-area--list-rail .sfv2-service-area__map { min-height:28rem; border:0; background:repeating-linear-gradient(0deg,transparent 0 3rem,rgba(16,33,22,.12) 3rem calc(3rem + 1px)),repeating-linear-gradient(90deg,transparent 0 3rem,rgba(16,33,22,.12) 3rem calc(3rem + 1px)),color-mix(in srgb,var(--sf-brand-accent),white 72%); }
.sfv2-service-area--list-rail .sfv2-service-area__map span,.sfv2-service-area--list-rail .sfv2-service-area__map i { border-color:var(--sf-brand-primary); }
.sfv2-service-area--list-rail .sfv2-service-area__map em { background:var(--sf-brand-accent); color:var(--sf-brand-on-accent); font-weight:700; }

.sfv2-company__grid { display:grid; grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,8vw,8rem); align-items:center; }
.sfv2-company__copy > p:not(.sfv2-eyebrow) { color:var(--sf-visual-text-muted); font-size:var(--sf-type-lead); }
.sfv2-company__signature { margin-top:2rem; color:var(--sf-visual-text)!important; font-family:var(--sf-font-display); font-size:1.7rem!important; font-style:italic; }
.sfv2-company--editorial .sfv2-company__media { order:2; }
.sfv2-company--editorial .sfv2-company__copy { order:1; }

.sfv2-quote__inner { display:grid; grid-template-columns:minmax(0,.8fr) minmax(22rem,1.2fr); gap:clamp(2rem,6vw,6rem); align-items:end; padding:clamp(2rem,5vw,4rem); background:var(--sf-visual-surface-strong); color:white; }
.sfv2-quote h2 { color:white; }
.sfv2-quote__copy p { color:rgba(255,255,255,.75); }
.sfv2-quote__copy .sfv2-eyebrow { color:var(--sf-brand-accent); }
.sfv2-quote__form label { display:block; margin-bottom:.6rem; font-family:var(--sf-font-label); font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sfv2-quote__form > div { display:grid; grid-template-columns:1fr auto; }
.sfv2-quote__form input { min-width:0; min-height:50px; padding:.8rem 1rem; border:2px solid transparent; border-radius:var(--sf-radius-sm) 0 0 var(--sf-radius-sm); background:white; color:#17201c; }
.sfv2-quote__form .sfv2-button { border-radius:0 var(--sf-radius-sm) var(--sf-radius-sm) 0; }
.sfv2-quote__result { margin:.65rem 0 0; color:rgba(255,255,255,.68); font-size:.76rem; }
.sfv2-quote--integrated { background:linear-gradient(180deg,var(--sf-visual-surface-strong) 0 42%,var(--sf-visual-surface-alt) 42% 100%); }
.sfv2-quote--integrated .sfv2-quote__inner { position:relative; overflow:hidden; border-top:.5rem solid var(--sf-brand-accent); box-shadow:var(--sf-shadow-lift); }
.sfv2-quote--integrated .sfv2-quote__inner::after { position:absolute; top:-7rem; right:-5rem; width:18rem; height:18rem; border:3.5rem solid color-mix(in srgb,var(--sf-brand-accent),transparent 78%); border-radius:50%; content:""; pointer-events:none; }
.sfv2-quote--integrated .sfv2-quote__copy,.sfv2-quote--integrated .sfv2-quote__form { position:relative; z-index:1; }
.sfv2-quote--precision .sfv2-quote__inner { grid-template-columns:1fr; padding:2rem; border-left:.5rem solid var(--sf-brand-accent); }
.sfv2-quote--minimal .sfv2-quote__inner { display:block; padding:2rem 0; border-block:1px solid var(--sf-visual-border); background:transparent; color:var(--sf-visual-text); }
.sfv2-quote--minimal h2 { color:var(--sf-visual-text); }
.sfv2-quote--minimal .sfv2-quote__copy p,.sfv2-quote--minimal .sfv2-quote__result { color:var(--sf-visual-text-muted); }
.sfv2-quote--minimal .sfv2-quote__copy { margin-bottom:2rem; }

.sfv2-process { background:var(--sf-visual-surface-alt); }
.sfv2-process__list { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:0; padding:0; border-top:1px solid var(--sf-visual-border); list-style:none; }
.sfv2-process__list li { min-height:16rem; padding:2rem; border-right:1px solid var(--sf-visual-border); border-bottom:1px solid var(--sf-visual-border); }
.sfv2-process__list li > span { display:block; margin-bottom:3rem; color:var(--sf-brand-secondary); font-family:var(--sf-font-label); font-size:.75rem; }
.sfv2-process__list p { color:var(--sf-visual-text-muted); }
.sfv2-process--timeline .sfv2-process__list { display:block; margin-left:clamp(0rem,18vw,14rem); border-left:1px solid var(--sf-visual-border); }
.sfv2-process--timeline .sfv2-process__list li { display:grid; grid-template-columns:5rem 1fr; min-height:0; padding:1.8rem 0 1.8rem 2rem; border-right:0; }
.sfv2-process--timeline .sfv2-process__list li > span { margin:0; }

.sfv2-faq__grid { display:grid; grid-template-columns:minmax(15rem,.65fr) minmax(0,1.35fr); gap:clamp(2rem,8vw,8rem); }
.sfv2-faq__items { border-top:1px solid var(--sf-visual-border); }
.sfv2-faq details { border-bottom:1px solid var(--sf-visual-border); }
.sfv2-faq summary { display:flex; min-height:4.5rem; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; font-family:var(--sf-font-heading); font-size:1.15rem; font-weight:var(--sf-weight-heading); list-style:none; }
.sfv2-faq summary::-webkit-details-marker { display:none; }
.sfv2-faq summary span { color:var(--sf-brand-secondary); font-family:var(--sf-font-body); font-size:1.4rem; font-weight:400; transition:transform var(--sf-motion-fast) var(--sf-ease); }
.sfv2-faq details[open] summary span { transform:rotate(45deg); }
.sfv2-faq details p { padding:0 2rem 1.5rem 0; color:var(--sf-visual-text-muted); }
.sfv2-faq--editorial .sfv2-faq__grid { display:block; }
.sfv2-faq--editorial header { margin-bottom:3rem; }

.sfv2-long-form { background:var(--sf-visual-surface); }
.sfv2-long-form__body { color:var(--sf-visual-text-muted); }
.sfv2-long-form__body article { margin-bottom:3rem; }
.sfv2-long-form--columns .sfv2-long-form__body { columns:2 22rem; column-gap:5rem; }
.sfv2-long-form--columns article { break-inside:avoid; }

.sfv2-final { overflow:hidden; }
.sfv2-final__inner { position:relative; z-index:2; padding:clamp(3rem,8vw,7rem); background:var(--sf-brand-primary); color:var(--sf-brand-on-primary); }
.sfv2-final h2 { max-width:13ch; color:inherit; }
.sfv2-final__inner > p:not(.sfv2-eyebrow) { color:color-mix(in srgb,var(--sf-brand-on-primary),transparent 20%); font-size:var(--sf-type-lead); }
.sfv2-final .sfv2-eyebrow { color:var(--sf-brand-accent); }
.sfv2-final .sfv2-text-link { color:inherit; }
.sfv2-final--immersive .sfv2-final__media { position:absolute; inset:0; }
.sfv2-final--immersive .sfv2-final__media::after { position:absolute; inset:0; background:var(--sf-image-overlay); content:''; }
.sfv2-final--immersive .sfv2-media,.sfv2-final--immersive .sfv2-media__fixture { width:100%; height:100%; border-radius:0; }
.sfv2-final--immersive .sfv2-media__fixture span,.sfv2-final--immersive .sfv2-media__fixture small { display:none; }
.sfv2-final--immersive .sfv2-final__inner { background:transparent; }
.sfv2-final--editorial .sfv2-final__inner { padding-inline:0; border-block:1px solid var(--sf-visual-border); background:transparent; color:var(--sf-visual-text); }
.sfv2-final--editorial .sfv2-final__inner > p:not(.sfv2-eyebrow) { color:var(--sf-visual-text-muted); }

.sfv2-footer { border-top:1px solid var(--sf-visual-border); background:var(--sf-visual-surface-strong); color:rgba(255,255,255,.72); }
.sfv2-footer__main { display:flex; justify-content:space-between; gap:3rem; padding-block:3rem; }
.sfv2-footer__brand { margin-bottom:.4rem; color:white; font-family:var(--sf-font-heading); font-size:1.35rem; }
.sfv2-footer nav { display:flex; flex-wrap:wrap; gap:1.5rem; align-items:start; }
.sfv2-footer nav a { font-family:var(--sf-font-utility); font-size:.75rem; font-weight:600; letter-spacing:.05em; text-decoration:none; text-transform:uppercase; }
.sfv2-footer__legal { display:flex; justify-content:space-between; gap:1rem; padding-block:1rem; border-top:1px solid rgba(255,255,255,.14); font-size:.7rem; }
.sfv2-footer--editorial .sfv2-footer__main { min-height:15rem; align-items:end; }
.sfv2-footer--editorial .sfv2-footer__brand { font-family:var(--sf-font-display); font-size:2rem; }

[data-sf-visual="local-bold"] .sfv2-service__number { font-size:1rem; font-weight:700; }
[data-sf-visual="local-bold"] .sfv2-hero--immersive h1 { text-transform:uppercase; }
[data-sf-visual="local-bold"] .sfv2-hero--immersive .sfv2-eyebrow { color:var(--sf-brand-accent); }
[data-sf-visual="local-bold"] .sfv2-button { border-color:var(--sf-brand-primary); box-shadow:.35rem .35rem 0 var(--sf-brand-primary); }
[data-sf-visual="local-warm"] .sfv2-service { border-color:color-mix(in srgb,var(--sf-visual-border),transparent 25%); }
[data-sf-visual="local-warm"] .sfv2-process__list li { border-right:0; }
[data-sf-visual="local-warm"] .sfv2-process__list li:nth-child(even) { transform:translateY(1.5rem); }
[data-sf-visual="local-precision"] .sfv2-project__copy dl,[data-sf-visual="local-precision"] .sfv2-proof-summary__item { font-family:var(--sf-font-label); }
[data-sf-visual="local-refined"] .sfv2-services__list { margin-left:clamp(0rem,10vw,9rem); }
[data-sf-visual="local-refined"] .sfv2-testimonial blockquote { font-style:italic; }

@media (max-width: 62rem) {
    .sfv2-nav__toggle { display:block; }
    .sfv2-nav__menu { position:absolute; z-index:60; top:100%; right:var(--sf-gutter); left:var(--sf-gutter); display:none; align-items:stretch; flex-direction:column; gap:0; padding:1rem; border:1px solid var(--sf-visual-border); background:var(--sf-visual-surface); box-shadow:var(--sf-shadow-lift); color:var(--sf-visual-text); }
    .sfv2-nav__menu > a:not(.sfv2-button) { padding:1rem; border-bottom:1px solid var(--sf-visual-border); color:var(--sf-visual-text); }
    .sfv2-nav__quote { grid-template-columns:1fr auto; margin-top:.75rem; }
    .sfv2-nav--overlay .sfv2-nav__quote input { border-color:var(--sf-visual-border); background:var(--sf-visual-canvas); color:var(--sf-visual-text); }
    .sfv2-nav--overlay .sfv2-nav__quote input::placeholder { color:var(--sf-visual-text-muted); }
    .sfv2-nav.is-open .sfv2-nav__menu { display:flex; }
    .sfv2-nav--overlay .sfv2-nav__toggle { border-color:rgba(255,255,255,.5); color:white; }
    .sfv2-nav--signal .sfv2-nav__menu { border-color:rgba(255,255,255,.22); background:#0e1226; color:white; }
    .sfv2-nav--signal .sfv2-nav__menu > a:not(.sfv2-button) { border-color:rgba(255,255,255,.18); color:white; }
    .sfv2-nav--signal .sfv2-nav__quote input { border-color:rgba(255,255,255,.42); background:rgba(255,255,255,.08); color:white; }
    .sfv2-hero__grid,.sfv2-hero--operator .sfv2-hero__grid { grid-template-columns:1fr; min-height:0; }
    .sfv2-hero--operator .sfv2-hero__copy { order:1; } .sfv2-hero--operator .sfv2-hero__media { order:2; }
    .sfv2-service { grid-template-columns:3rem minmax(12rem,.65fr) minmax(0,1fr); }
    .sfv2-services--editorial-narrative .sfv2-service { grid-template-columns:3.25rem minmax(14rem,.8fr) minmax(0,1.2fr); }
    .sfv2-project__grid,.sfv2-project--field-note .sfv2-project__grid,.sfv2-company__grid,.sfv2-service-area__grid,.sfv2-service-area--list-rail .sfv2-service-area__grid,.sfv2-media-split__grid { grid-template-columns:1fr; grid-template-areas:none; }
    .sfv2-media-split--sixty .sfv2-media-split__grid,.sfv2-media-split--sixty-five .sfv2-media-split__grid,.sfv2-media-split--seventy .sfv2-media-split__grid { grid-template-columns:1fr; }
    .sfv2-service-area__intro,.sfv2-service-area__map,.sfv2-service-area__lists { grid-area:auto; }
    .sfv2-service-area--list-rail .sfv2-service-area__intro { order:1; }
    .sfv2-service-area--list-rail .sfv2-service-area__lists { order:2; }
    .sfv2-service-area--list-rail .sfv2-service-area__map { order:3; }
    .sfv2-company--editorial .sfv2-company__media { order:1; } .sfv2-company--editorial .sfv2-company__copy { order:2; }
    .sfv2-media-split[data-media-side="right"] .sfv2-media-split__media { order:1; }
    .sfv2-media-split[data-media-side="right"] .sfv2-media-split__copy { order:2; }
    .sfv2-service-features__intro { grid-template-columns:1fr; }
    .sfv2-service-features__intro .sfv2-eyebrow { margin-bottom:0; }
    .sfv2-service-band--split,.sfv2-service-band--split[data-ratio="60-40"],.sfv2-service-band--split[data-ratio="65-35"],.sfv2-service-band--split[data-ratio="70-30"] { grid-template-columns:1fr; min-height:0; }
    .sfv2-service-band--split .sfv2-service-band__media { min-height:30rem; }
    .sfv2-service-band--split[data-media-side="right"] .sfv2-service-band__media { order:1; }
    .sfv2-service-band--split[data-media-side="right"] .sfv2-service-band__copy { order:2; }
}
@media (max-width: 48rem) {
    .sfv2-nav__inner { min-height:4.5rem; } .sfv2-nav--editorial .sfv2-nav__inner { min-height:5.3rem; }
    .sfv2-nav--signal .sfv2-nav__inner { min-height:6.1rem; gap:.75rem; }
    .sfv2-nav--signal .sfv2-nav__brand { min-width:0; flex:1 1 auto; gap:.5rem; }
    .sfv2-nav--signal .sfv2-nav__logo { width:2.75rem; }
    .sfv2-nav--signal .sfv2-nav__wordmark { font-size:clamp(1.15rem,5.5vw,1.45rem); }
    .sfv2-nav--signal .sfv2-nav__descriptor { font-size:.5rem; letter-spacing:.34em; }
    .sfv2-hero__grid { gap:2.5rem; }
    .sfv2-service,.sfv2-services--editorial-narrative .sfv2-service { grid-template-columns:2.75rem 1fr; min-height:0; }
    .sfv2-service__media { grid-column:1 / -1; grid-row:2; }
    .sfv2-services--editorial-narrative .sfv2-service__media,.sfv2-services--editorial-narrative .sfv2-service:nth-child(even) .sfv2-service__media { grid-column:1 / -1; grid-row:1; height:clamp(14rem,62vw,20rem); min-height:0; }
    .sfv2-services--editorial-narrative .sfv2-service__number { grid-column:1; grid-row:2; padding-top:1.75rem; }
    .sfv2-services--editorial-narrative .sfv2-service__copy,.sfv2-services--editorial-narrative .sfv2-service:nth-child(even) .sfv2-service__copy { grid-column:2; grid-row:2; padding:1.75rem 1.25rem 2rem; }
    .sfv2-service__scope { display:grid; grid-template-columns:1fr; }
    .sfv2-media-panel__frame,.sfv2-media-panel--contained-wide .sfv2-media-panel__frame { min-height:0; display:block; }
    .sfv2-media-panel--contained-wide .sfv2-media-panel__frame { width:calc(100% - (2 * var(--sf-gutter))); }
    .sfv2-media-panel__media { position:relative; height:clamp(19rem,72vw,27rem); }
    .sfv2-media-panel__frame::after { display:none; }
    .sfv2-media-panel__layer { width:100%; min-height:0; padding:0; }
    .sfv2-media-panel__copy { width:100%; padding:2rem var(--sf-gutter) 2.5rem; box-shadow:none; }
    .sfv2-media-panel--contained-wide .sfv2-media-panel__copy { padding-inline:1.5rem; }
    .sfv2-media-split__media .sfv2-media,.sfv2-media-split__media .sfv2-media--wide,.sfv2-media-split__media .sfv2-media--portrait { min-height:clamp(20rem,85vw,27rem); }
    .sfv2-media-split__copy { padding-top:1.5rem; }
    .sfv2-service-features__intro { padding-bottom:3rem; }
    .sfv2-service-band--split .sfv2-service-band__media,.sfv2-service-band--stacked .sfv2-service-band__media { height:clamp(20rem,78vw,28rem); min-height:0; }
    .sfv2-service-band--split .sfv2-service-band__copy { padding:2rem var(--sf-gutter) 2.75rem; }
    .sfv2-service-band--background { min-height:0; display:block; }
    .sfv2-service-band--background .sfv2-service-band__media { position:relative; height:clamp(22rem,82vw,30rem); }
    .sfv2-service-band--background::after { display:none; }
    .sfv2-service-band--background .sfv2-service-band__copy,.sfv2-service-band--background[data-content-position="right"] .sfv2-service-band__copy { width:100%; margin:0; padding:2rem var(--sf-gutter) 2.75rem; box-shadow:none; }
    .sfv2-service-band--stacked { width:100%; }
    .sfv2-service-band--stacked .sfv2-service-band__copy { display:block; padding:2rem var(--sf-gutter) 2.75rem; }
    .sfv2-service-band ul { grid-template-columns:1fr; gap:0; }
    .sfv2-service-band .sfv2-button { width:100%; }
    .sfv2-testimonial__inner,.sfv2-testimonial--split .sfv2-testimonial__inner,.sfv2-neighborhood__grid,.sfv2-faq__grid,.sfv2-quote__inner { grid-template-columns:1fr; }
    .sfv2-proof-summary__inner { grid-template-columns:1fr 1fr; }
    .sfv2-proof-summary__item { min-height:7.5rem; border-bottom:1px solid var(--sf-visual-border); }
    .sfv2-process__list { grid-template-columns:1fr; }
    .sfv2-process__list li { min-height:0; border-right:0; }
    [data-sf-visual="local-warm"] .sfv2-process__list li:nth-child(even) { transform:none; }
    .sfv2-process--timeline .sfv2-process__list { margin-left:0; }
    .sfv2-quote__form > div { grid-template-columns:1fr; gap:.5rem; }
    .sfv2-quote__form input,.sfv2-quote__form .sfv2-button { border-radius:var(--sf-radius-sm); }
    .sfv2-service-area__map { min-height:20rem; }
    .sfv2-service-area--list-rail .sfv2-service-area__intro,.sfv2-service-area--list-rail .sfv2-service-area__lists { padding:2rem 1.5rem; }
    .sfv2-service-area--list-rail .sfv2-service-area__lists { grid-template-columns:1fr; border-block:1px solid rgba(255,255,255,.2); border-inline:0; }
    .sfv2-footer__main,.sfv2-footer__legal { flex-direction:column; }
}
