/* SOUND FRAME — GUIDE (§14.6). Purchase-decision IA: pricing cards → how → included → process → prepare → revision → delivery → FAQ → CTA.
   Heads are centred (label → h2 → one-line lead); tables / lists / FAQ stay left-aligned. */
.plain { margin-top: 16px; display: grid; max-width: 520px; }
.plain li { padding: 10px 0; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.6; color: rgba(244, 239, 231, .86); }
.plain li:last-child { border-bottom: 1px solid var(--line); }
/* hero: left type centred on the image's vertical axis */
.gd-hero { display: grid; gap: clamp(28px, 4vw, 56px); align-items: center; padding: var(--section-space-sm) var(--gutter) var(--section-space-md); overflow: hidden; }
.gd-hero h1 { margin-top: 22px; font-weight: 300; font-size: clamp(28px, 3.5vw, 54px); line-height: 1.2; letter-spacing: -.03em; }
.gd-hero .sub { margin-top: clamp(18px, 2vw, 28px); max-width: 52ch; font-size: clamp(15px, 1.3vw, 17px); line-height: 1.8; color: rgba(244, 239, 231, .86); }
.gd-hero__vis { margin: 0; }
.gd-hero__vis img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--graphite); }
@media (min-width: 900px) {
.gd-hero { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); }
.gd-hero__vis img { max-height: calc(100svh - var(--hdr) - var(--lnav) - 64px); }
}
@media (min-width: 1280px) {
.gd-hero .sub { max-width: none; white-space: nowrap; font-size: clamp(14px, 1.12vw, 17px); }
}
/* section frame */
.gd-sec { padding: var(--sec-v) var(--gutter); }
.gd-sec--ivory { background: var(--ivory); color: var(--ink); }
.gd-sec--charcoal { background: var(--charcoal); }
.gd-sec--ivory .label, .gd-sec--ivory .meta { color: var(--muted-dark); }
.gd-head { display: grid; gap: 16px; justify-items: center; text-align: center; margin: 0 auto clamp(32px, 4.4vw, 64px); max-width: 1100px; }
.gd-head h2 { font-weight: 300; font-size: clamp(26px, 3.2vw, 48px); line-height: 1.22; letter-spacing: -.03em; }
.gd-head .lead span { display: block; }
.gd-head .lead { max-width: none; font-size: 15px; line-height: 1.8; color: rgba(244, 239, 231, .84); }
.gd-sec--ivory .gd-head .lead { color: #3f3a33; }
/* 1 · pricing — comparison cards grouped DESIGN (2) / WEB (4) */
.pgs { display: grid; gap: clamp(36px, 4vw, 56px); }
.pg__h { padding-bottom: 12px; border-bottom: 1px solid var(--ink); letter-spacing: .22em; color: var(--ink) !important; }
.pg__h span { color: var(--muted-dark); }
.pcs { display: grid; gap: clamp(14px, 1.6vw, 24px); grid-template-columns: minmax(0, 1fr); padding-top: clamp(16px, 2vw, 24px); }
.pc { display: grid; grid-template-columns: 38% minmax(0, 1fr); gap: 16px; background: #fbf8f2; padding: 14px; }
.pc__img { overflow: hidden; background: #e2dcd1; align-self: start; }
.pc__img img { width: 100%; height: auto; display: block; }
.pc__img--sq img { aspect-ratio: 1; object-fit: cover; }
.pc__img--po img { aspect-ratio: 4 / 5; object-fit: cover; }
.pc__img--web img { aspect-ratio: 1425 / 891; object-fit: cover; object-position: top; }
.pc__b { display: flex; flex-direction: column; min-width: 0; }
.pc__b h4 { margin: 6px 0 0; font-weight: 400; font-size: clamp(18px, 1.6vw, 22px); letter-spacing: -.02em; line-height: 1.25; }
.pc__inc { margin-top: 10px; font-size: 13px; line-height: 1.6; color: #3f3a33; }
.pc__fit { margin-top: 10px; font-size: 13px; line-height: 1.6; color: #2c2822; }
.pc__fit span { display: block; font-size: 10.5px; letter-spacing: .2em; color: var(--muted-dark); margin-bottom: 2px; }
.pc__p { margin-top: auto; padding-top: 16px; font-size: clamp(24px, 2.2vw, 32px); font-weight: 300; letter-spacing: -.02em; line-height: 1.1; }
.pc__p span { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted-dark); margin-right: 6px; font-weight: 400; }
.pc__p small { font-size: .5em; margin-left: 2px; letter-spacing: 0; }
@media (min-width: 700px) {
.pcs--design { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pcs--web { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
.pgs { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(14px, 1.6vw, 24px); row-gap: clamp(14px, 1.6vw, 24px); align-items: stretch; }
.pg, .pcs { display: contents; }
.pg__h { grid-row: 1; margin-bottom: 0; }
.pg:first-child .pg__h { grid-column: 1; }
.pg:last-child .pg__h { grid-column: 2 / 4; }
.pcs--design .pc { grid-column: 1; }
.pcs--design .pc:nth-child(1) { grid-row: 2; }
.pcs--design .pc:nth-child(2) { grid-row: 3; }
.pcs--web .pc:nth-child(1) { grid-column: 2; grid-row: 2; }
.pcs--web .pc:nth-child(2) { grid-column: 3; grid-row: 2; }
.pcs--web .pc:nth-child(3) { grid-column: 2; grid-row: 3; }
.pcs--web .pc:nth-child(4) { grid-column: 3; grid-row: 3; }

}
@media (max-width: 480px) {
.pc { grid-template-columns: minmax(0, 1fr); }
.pc__img--po img, .pc__img--sq img { aspect-ratio: 16 / 10; }
}
.pc-x { margin-top: clamp(20px, 2.4vw, 32px); display: grid; gap: 14px 40px; padding: clamp(20px, 2.4vw, 32px) 0; border-block: 1px solid rgba(8, 8, 8, .22); align-items: end; }
.pc-x h4 { margin: 6px 0 0; font-weight: 400; font-size: clamp(18px, 1.6vw, 22px); letter-spacing: -.02em; }
.pc-x p:not(.meta):not(.pc-x__p) { margin-top: 8px; max-width: none; text-wrap: pretty; font-size: 14px; line-height: 1.7; color: #3f3a33; }
.pc-x__p { font-size: clamp(16px, 1.5vw, 20px); letter-spacing: -.01em; }
@media (min-width: 800px) { .pc-x { grid-template-columns: minmax(0, 1fr) auto; } }
.mx-note { margin-top: clamp(24px, 3vw, 40px); max-width: none; text-wrap: pretty; display: grid; gap: 8px; font-size: 14px; line-height: 1.8; color: #3f3a33; }
/* 2 · HOW — two-panel diagram with two real EPK stills */
.hw { display: grid; gap: 0; max-width: 1200px; margin: 0 auto; }
.hw__c { border-top: 1px solid var(--ivory); padding: 22px 0 8px; }
.hw__c h3 { margin: 8px 0 8px; font-weight: 300; font-size: clamp(20px, 2.2vw, 30px); letter-spacing: -.02em; }
.hw__c > p:not(.meta) { font-size: clamp(13px, 1vw, 14.5px); line-height: 1.7; color: rgba(244, 239, 231, .84); }
.hw__f { margin: 18px 0 0; }
.hw__f img { width: 100%; aspect-ratio: 1425 / 891; object-fit: cover; object-position: top; background: var(--graphite); }
.hw__f figcaption { margin-top: 10px; }
.hw__op { font-size: 30px; font-weight: 200; padding: 10px 0; color: var(--muted); text-align: center; }
@media (min-width: 900px) {
.hw { grid-template-columns: 1fr 56px 1fr; }
.hw__op { align-self: center; padding: 0; }
}
/* 3 · INCLUDED — core deliverables cards + compact additional / upgrade / custom */
.core { display: grid; gap: clamp(16px, 2vw, 28px); max-width: 1200px; margin: 0 auto; }
.core__c { border: 1px solid var(--line); padding: clamp(20px, 2.4vw, 32px); }
.core__c h3 { margin: 8px 0 4px; font-weight: 300; font-size: clamp(20px, 2vw, 28px); letter-spacing: -.02em; }
.core__c .plain { max-width: none; }
@media (min-width: 800px) { .core { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.stair { max-width: 1200px; margin: clamp(28px, 3.4vw, 48px) auto 0; display: grid; gap: 0; }
.stair li { border-top: 1px solid var(--line); padding: 18px 0; display: grid; gap: 6px; }
.stair p:not(.meta) { max-width: 52ch; font-size: 14.5px; line-height: 1.75; color: rgba(244, 239, 231, .88); }
.stair .meta { color: var(--ivory); }
@media (min-width: 900px) {
.stair { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(20px, 2.4vw, 40px); }
.stair li { border-top: 1px solid var(--line); }
}
.faq--d { max-width: 1200px; margin: clamp(28px, 3.4vw, 48px) auto 0; border-color: var(--line); }
.faq--d summary { font-size: 12px; letter-spacing: .2em; }
.faq--d .faq__b { padding-bottom: 20px; display: grid; gap: 4px 40px; }
.faq--d .faq__b p { padding: 0 0 12px; color: rgba(244, 239, 231, .86); max-width: 62ch; }
.faq--d .faq__b .plain { margin-top: 0; }
@media (min-width: 800px) { .faq--d .faq__b { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; } }
.faq--d:last-child { border-bottom-color: var(--line); }
/* 4 · PROCESS — six numbered steps, connected line, every description visible */
.st { display: grid; gap: 0; max-width: 1200px; margin: 0 auto; counter-reset: s; }
.st li { position: relative; padding: 0 0 26px 52px; }
.st li::before { content: ""; position: absolute; left: 16px; top: 36px; bottom: 0; width: 1px; background: rgba(244, 239, 231, .24); }
.st li:last-child::before { display: none; }
.st__n { position: absolute; left: 0; top: 0; width: 32px; height: 32px; box-sizing: border-box; border: 1px solid #8d8982; border-radius: 50%; display: grid; place-items: center; font-size: 11px; line-height: 1; letter-spacing: 0; font-variant-numeric: tabular-nums; color: var(--ivory); transform: none; background: transparent; }
.st h3 { margin: 4px 0 6px; font-weight: 400; font-size: clamp(15px, 1.3vw, 17px); letter-spacing: .06em; }
.st p { font-size: 14px; line-height: 1.7; color: rgba(244, 239, 231, .86); max-width: 34ch; }
@media (min-width: 900px) {
.st { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 44px) clamp(14px, 1.6vw, 28px); }
.st li { padding: 48px 0 0; }
.st li { text-align: center; }
.st li::before { left: 0; right: calc(-1 * clamp(14px, 1.6vw, 28px)); top: 16px; bottom: auto; width: auto; height: 1px; }
.st li:nth-child(4n+1)::before { left: 50%; }
.st li:nth-child(4n)::before { display: block; right: 50%; }
.st li:last-child::before { display: block; right: 50%; }
.st__n { left: 50%; margin-left: -16px; background: var(--charcoal); }
.st p { margin-inline: auto; max-width: 30ch; text-wrap: balance; }
.st__n2 { text-align: center; }
}
/* 5 · PREPARE — three categories */
.prep { display: grid; gap: clamp(20px, 2.4vw, 32px); max-width: 1200px; margin: 0 auto; }
.prep li { border-top: 1px solid var(--ink); padding-top: 18px; }
.prep h3 { margin: 6px 0 4px; font-weight: 400; font-size: clamp(18px, 1.7vw, 24px); letter-spacing: -.02em; }
.prep .plain li { border-top: 1px solid rgba(8, 8, 8, .16); font-size: 14.5px; color: #2c2822; padding: 10px 0; }
.prep .plain li:last-child { border-bottom: 1px solid rgba(8, 8, 8, .16); }
@media (min-width: 800px) { .prep { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* 6 · REVISION — three info blocks */
.ledger { display: grid; gap: 0; border-top: 1px solid var(--ivory); max-width: 1200px; margin: 0 auto; }
.ledger__c { padding: 24px 0; border-bottom: 1px solid var(--line); }
.ledger__c h3 { font-weight: 400; font-size: 12px; letter-spacing: .2em; color: var(--muted); }
.ledger__s { margin: 6px 0 14px; font-weight: 300; font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.02em; }
.ledger .plain li { font-size: 14.5px; color: rgba(244, 239, 231, .92); }
.ledger__n { max-width: 1200px; margin: clamp(24px, 3vw, 40px) auto 0; font-size: 14.5px; line-height: 1.8; color: rgba(244, 239, 231, .92); padding-top: 18px; border-top: 1px solid var(--line); }
.ledger__n strong, .dv__n strong { display: block; font-size: 11px; letter-spacing: .2em; font-weight: 400; color: var(--muted); margin-bottom: 6px; text-transform: uppercase; }
@media (min-width: 900px) {
.ledger { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ledger__c { padding: 28px clamp(16px, 2.4vw, 40px) 12px 0; border-bottom: 0; }
.ledger__c + .ledger__c { border-left: 1px solid var(--line); padding-left: clamp(16px, 2.4vw, 40px); }
}
/* 7 · DELIVERY — Design files vs Live link */
.dv { display: grid; gap: clamp(16px, 2vw, 28px); max-width: 1200px; margin: 0 auto; }
.dv__c { border: 1px solid var(--line); padding: clamp(20px, 2.4vw, 32px); }
.dv__c h3 { margin: 8px 0 14px; font-weight: 300; font-size: clamp(20px, 2vw, 28px); letter-spacing: -.02em; }
.dv__c dl { margin: 0; }
.dv__c dl > div { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.dv__c dt { font-size: 11px; letter-spacing: .16em; color: var(--muted); padding-top: 3px; }
.dv__c dd { margin: 0; font-size: 14.5px; line-height: 1.7; color: rgba(244, 239, 231, .92); }
.dv__n { max-width: 1200px; margin: clamp(20px, 2.4vw, 32px) auto 0; display: grid; gap: 14px 40px; font-size: 14px; line-height: 1.75; color: rgba(244, 239, 231, .86); }
@media (min-width: 800px) { .dv, .dv__n { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 400px) { .dv__c dl > div { grid-template-columns: 1fr; gap: 2px; } }
/* FAQ */
.faq-list { max-width: 1200px; margin: 0 auto; }
.faq { border-top: 1px solid rgba(8, 8, 8, .22); }
.faq:last-child { border-bottom: 1px solid rgba(8, 8, 8, .22); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 36px 22px 0; position: relative; font-size: clamp(16px, 1.5vw, 20px); letter-spacing: -.01em; transition: color .25s; min-height: 44px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 0; top: 20px; font-size: 20px; line-height: 1; transition: transform .3s var(--ease); }
.faq[open] summary::after { transform: rotate(45deg); }
.faq summary:hover, .faq summary:focus-visible { color: var(--muted-dark); }
.faq p { padding: 0 0 24px; max-width: min(100%, 62em); word-break: keep-all; overflow-wrap: break-word; text-wrap: pretty; font-size: 15px; line-height: 1.85; color: #3f3a33; }
.gd-sec--charcoal .faq, .gd-sec:not(.gd-sec--ivory) .faq { border-color: var(--line); }
.gd-sec--charcoal .faq summary:hover, .gd-sec:not(.gd-sec--ivory) .faq summary:hover { color: var(--muted); }
/* closing: one headline + the Quick Brief CTA (single decision point) */
.gd-close { position: relative; min-height: clamp(400px, 50vw, 640px); display: grid; place-items: center; text-align: center; padding: var(--sec-v) var(--gutter); overflow: hidden; isolation: isolate; }
.gd-close picture { position: absolute; inset: 0; z-index: -2; }
.gd-close img { width: 100%; height: 100%; object-fit: cover; }
.gd-close::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(8, 8, 8, .62); }
.gd-close h2 { font-weight: 300; font-size: clamp(26px, 4vw, 60px); line-height: 1.2; letter-spacing: -.03em; }
.gd-close h2 span { display: inline-block; }
.gd-close .cta-line { margin-top: clamp(24px, 3vw, 40px); }
/* web cards: device still on top (the screen is the proof) */
.pcs--web .pc { grid-template-columns: minmax(0, 1fr); }
.pcs--web .pc__img img { aspect-ratio: 1425 / 891; }
.pcs--design .pc { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 481px) { .pcs--design .pc__img img, .pcs--design .pc__img--sq img, .pcs--design .pc__img--po img { aspect-ratio: 4 / 3; object-position: 50% 40%; } }

.st__n2 { max-width: 1200px; margin: clamp(20px, 2.4vw, 36px) auto 0; font-size: 13px; line-height: 1.7; color: var(--muted); word-break: keep-all; }
.pc__inc, .gd-hero .sub { word-break: keep-all; }

/* website image support (under the price comparison): plain typography, one hairline, no price */
.wvg { max-width: 1200px; margin: clamp(36px, 4.4vw, 64px) auto 0; padding-top: clamp(22px, 2.6vw, 34px); border-top: 1px solid rgba(8, 8, 8, .22); display: grid; gap: clamp(14px, 1.8vw, 22px); }
.wvg .meta { color: var(--muted-dark); }
.wvg__lead { font-size: clamp(15px, 1.3vw, 18px); line-height: 1.75; color: var(--ink); word-break: keep-all; text-wrap: pretty; max-width: 62em; }
.wvg__l { display: grid; gap: clamp(14px, 1.8vw, 22px) clamp(24px, 3.4vw, 56px); }
.wvg__l h4 { margin: 0; font-size: 15px; font-weight: 500; letter-spacing: -.01em; color: var(--ink); }
.wvg__l p { margin: 6px 0 0; padding: 0; font-size: 14px; line-height: 1.75; color: #3f3a33; word-break: keep-all; text-wrap: pretty; }
.wvg__n { font-size: 14px; line-height: 1.8; color: #3f3a33; }
.wvg__n .lnk { margin-left: 10px; color: var(--ink); }
@media (min-width: 800px) { .wvg__l { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* what's included: web visual support, full width, two intentional lines on desktop */
.wvs { max-width: 1200px; margin: clamp(28px, 3.4vw, 48px) auto 0; padding-top: 18px; border-top: 1px solid var(--line); }
.wvs .meta { color: var(--muted); }
.wvs__t { margin-top: 12px; font-size: clamp(14px, 1.15vw, 16px); line-height: 1.85; color: rgba(244, 239, 231, .88); word-break: keep-all; text-wrap: pretty; }
@media (min-width: 1100px) { .wvs__t span { display: block; } }
/* FAQ answers: as wide as the list so a short answer stays on one line where it fits */
.faq p { max-width: none; text-wrap: pretty; }
.dv__n p, .dv__c dd, .core li, .stair p, .ledger li, .ledger__n, .st p, .prep li, .pc__fit, .gd-head .lead span, .mx-note p { word-break: keep-all; text-wrap: pretty; overflow-wrap: break-word; }
/* INCLUDED reads as typography on the page (no outer boxes) so it differs from DELIVERY's boxed pairs */
.core { gap: clamp(28px, 4vw, 72px); }
@media (min-width: 800px) { .core { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.core__c { border: 0; padding: 0; }

/* PRICING notes: three labelled columns (price note / custom / website image support); one hairline, no cards */
.pn { max-width: 1200px; margin: clamp(32px, 4vw, 56px) auto 0; padding-top: clamp(22px, 2.6vw, 34px); border-top: 1px solid rgba(8, 8, 8, .22); display: grid; gap: clamp(26px, 3vw, 40px) clamp(28px, 4vw, 72px); }
@media (min-width: 900px) { .pn { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pn__c .meta { color: var(--muted-dark); }
.pn__c p:not(.meta) { margin-top: 12px; font-size: 14.5px; line-height: 1.8; color: #3f3a33; word-break: keep-all; text-wrap: pretty; }
.pn__c .pn__s { margin-top: 10px; font-size: 14px; color: var(--ink); }
.pn__c .pn__s strong { font-weight: 600; }
.pn__c .lnk { color: var(--ink); }
/* WHAT TO PREPARE / REVISION lead: one paragraph (no forced line break) */
.gd-head .lead.lead--one { display: block; max-width: min(100%, 64em); margin-inline: auto; text-wrap: balance; word-break: keep-all; }
/* REVISION: separate-check column */
.ledger__c--chk .ledger__s { font-size: clamp(17px, 1.5vw, 22px); line-height: 1.45; }
.ledger__t { margin-top: 14px; font-size: 14.5px; line-height: 1.8; color: rgba(244, 239, 231, .9); word-break: keep-all; text-wrap: pretty; }
.ledger__t--s { color: var(--muted); font-size: 13.5px; }
/* DELIVERY card titles: soft white against the muted explanatory rows (scoped to this section) */
#delivery .dv__c h3 { color: #FBF8F2; }
@media (min-width: 900px) { .pn__c .meta { min-height: 3em; line-height: 1.5; } }

/* ---------------- Patch 04: reading order on dark sections (title White / core text Off-white / label Gray) ---------------- */
:where(.gd-sec:not(.gd-sec--ivory)) h2, :where(.gd-sec:not(.gd-sec--ivory)) h3, .ledger__s { color: var(--text-primary-white); }   /* :where keeps existing label rules (e.g. .ledger__c h3 gray) in charge */
#delivery .dv__c h3 { color: var(--text-primary-white); }
.hw__c > p:not(.meta), .stair p:not(.meta), .ledger .plain li, .dv__c dd, .ledger__t { color: var(--ivory); }   /* short core statements = solid Off-white; long copy keeps its softer alpha */
.ledger__t--s { color: var(--muted); }

/* ---------------- Patch 05: GUIDE three-column rows (existing two columns stay; a third column joins on their right) ---------------- */
/* WHAT'S INCLUDED: DESIGN | WEB | ADDITIONAL / UPGRADE / CUSTOM */
.core__x { margin-top: 10px; }
.core__x li { display: grid; gap: 4px; padding: 14px 0; }
.core__x .meta { color: var(--ivory); }
.core__x p:not(.meta) { max-width: none; font-size: 14px; line-height: 1.75; color: var(--ivory); word-break: keep-all; text-wrap: pretty; }
@media (min-width: 800px) and (max-width: 1099px) { .core__c--x { grid-column: 1 / -1; } .core__x { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; } .core__x li { border-top: 1px solid var(--line); } }
@media (min-width: 1100px) { .core { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3.4vw, 64px); align-items: start; } .core__c + .core__c { border-left: 1px solid var(--line); padding-left: clamp(24px, 3vw, 56px); } .core__c { padding-top: 0; } }
/* DELIVERY: DESIGN FILES | LIVE LINK | USAGE GUIDE · AFTER DELIVERY · OWNERSHIP · MAINTENANCE */
.dv__c--g dl > div { grid-template-columns: 1fr; gap: 3px; }
@media (min-width: 800px) {
  .dv__c dl > div { grid-template-columns: 1fr; gap: 3px; }
}
@media (min-width: 800px) and (max-width: 1099px) { .dv__c--g { grid-column: 1 / -1; } .dv__c--g dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; } }
@media (min-width: 1100px) { .dv { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } .dv__c h3 { font-size: clamp(19px, 1.7vw, 24px); } }
/* PRICING notes: hairline between the three columns so each note reads as its own block on one grid */
@media (min-width: 900px) { .pn__c + .pn__c { border-left: 1px solid rgba(8, 8, 8, .16); padding-left: clamp(24px, 3vw, 48px); } .pn { column-gap: clamp(24px, 3vw, 48px); } }
/* REVISION: the three area names read as titles (White) */
.ledger__c h3 { color: var(--text-primary-white); }
@media (min-width: 1100px) { .core__c h3 { font-size: clamp(18px, 1.55vw, 22px); } }
@media (min-width: 1100px) and (max-width: 1279px) { .core__c h3 { min-height: 2.5em; } }
.gd-hero h1 { color: var(--text-primary-white); }   /* Patch 05: first hero line = the same White token as the other split heroes */
/* Patch 05: ~10% more air between the independent information sections (cards inside keep their density) */
.gd-sec { padding-block: calc(var(--sec-v) * 1.1); }

/* ---------------- Patch 06: wide grids — Pricing notes, WHAT'S INCLUDED (+ WEB VISUAL SUPPORT), REVISION, DELIVERY use the section's full content width ---------------- */
@media (min-width: 900px) {
  .pn, .core, .wvs, .ledger, .ledger__n, .dv, .dv__n { max-width: none; }
}
@media (min-width: 1100px) {
  .core { gap: clamp(28px, 3vw, 56px); }
  .core__c--x .core__x p:not(.meta), .core__c--x h3 { max-width: none; }
  .ledger__c--chk .ledger__s { font-size: clamp(17px, 1.5vw, 22px); }
}

/* Patch 07: REVISION — row dividers of columns 1/2 span the column's full content width (no 520px cap) */
.ledger .plain { max-width: none; width: 100%; }
.ledger__c { min-width: 0; }

/* ---------------- Patch 08: slightly smaller titles ---------------- */
.gd-head h2 { font-size: clamp(23px, 2.8vw, 42px); }
.ledger__c:not(.ledger__c--chk) .ledger__s { font-size: clamp(20px, 2.1vw, 28px); }   /* 통합 수정 1회 / 별도 견적: same size */
#delivery .dv__c h3 { font-size: clamp(18px, 1.75vw, 24px); }
@media (min-width: 1100px) { #delivery .dv__c h3 { font-size: clamp(17px, 1.5vw, 21px); } }

/* Patch 10: first local-nav target (PRICING) — same 20px air above, so its anchor jump lands like every other section */
#pricing { margin-top: 20px; }
