/* Owner-approved Concept B presentation layer; scoped to the two pilot routes. */
:root { --cb-ink:#07121a; --cb-deep:#0c1c27; --cb-warm:#f5f0e7; --cb-gold:#d7a950; --cb-line:#b9aa8c; }
.concept-b-r2 { background:var(--cb-warm); color:var(--cb-ink); }
.concept-b-r2 .site-header { position:relative; z-index:10; background:var(--cb-ink); border-bottom:1px solid rgba(255,255,255,.15); }
.concept-b-r2 .brand-name,.concept-b-r2 .brand-tag,.concept-b-r2 .one-roof-primary-nav>a,.concept-b-r2 .header-link { color:#fff; }
.concept-b-r2 .one-roof-page-hero { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(42rem,72vw,56rem); display:grid; align-items:center; background:linear-gradient(115deg,rgba(4,13,20,.98),rgba(7,22,31,.91) 50%,rgba(7,22,31,.42)),url('/assets/concept-b/mas-cb-01.png') 75% 43%/cover; color:#fff; }
.concept-b-r2[data-page="roof-record"] .one-roof-page-hero { background-image:linear-gradient(115deg,rgba(4,13,20,.98),rgba(7,22,31,.89) 51%,rgba(7,22,31,.32)),url('/assets/concept-b/mas-cb-05.png'); }
.concept-b-r2 .one-roof-page-hero::after { content:""; position:absolute; inset:auto -10% -28% 42%; height:70%; z-index:-1; border:1px solid rgba(215,169,80,.4); background:linear-gradient(135deg,rgba(215,169,80,.22),transparent 55%); transform:rotate(-8deg); }
.concept-b-r2 .one-roof-hero-grid { position:relative; z-index:1; gap:clamp(2rem,6vw,7rem); }
.concept-b-r2 .one-roof-hero-copy { max-width:48rem; }
.concept-b-r2 .eyebrow,.concept-b-r2 .one-roof-section-intro>span,.concept-b-r2 .one-roof-section-heading>span { color:var(--cb-gold); font-weight:800; letter-spacing:.15em; }
.concept-b-r2 h1 { max-width:13ch; font-size:clamp(3.1rem,6.7vw,6.6rem); line-height:.93; letter-spacing:-.055em; }
.concept-b-r2 .one-roof-hero-copy>p { max-width:42rem; font-size:clamp(1.05rem,1.55vw,1.32rem); line-height:1.65; color:#e8edf0; }
.concept-b-r2 .one-roof-map-card { border:1px solid rgba(215,169,80,.65); box-shadow:0 28px 70px rgba(0,0,0,.4); transform:translateY(2rem); }
.concept-b-r2 .one-roof-map-toolbar,.concept-b-r2 .one-roof-map-footer { background:#0b202b; color:#f7f0df; }
.concept-b-r2 .btn { border-radius:0; font-weight:800; letter-spacing:.035em; }
.concept-b-r2 .btn-primary { background:var(--cb-gold); border-color:var(--cb-gold); color:#101b22; }
.concept-b-r2 .btn-secondary,.concept-b-r2 .btn-tertiary { border-color:#f7e5bb; color:#fff; background:rgba(7,18,26,.2); }
.concept-b-r2 .one-roof-role-strip { background:#132e3b; color:#fff; border-bottom:1px solid rgba(215,169,80,.25); }
.concept-b-r2 .one-roof-role-nav>a { background:var(--cb-warm); color:#102235; border-color:rgba(255,255,255,.38); }
.concept-b-r2 .one-roof-role-nav>a:hover,.concept-b-r2 .one-roof-role-nav>a.is-active,.concept-b-r2 .one-roof-role-nav>a[aria-current="page"] { background:var(--cb-gold); border-color:var(--cb-gold); color:#102235; }
.concept-b-r2 .one-roof-role-nav>a:focus-visible { background:#fff9ed; border-color:var(--cb-gold); color:#102235; outline:3px solid #f7e5bb; outline-offset:3px; }
.concept-b-r2 .one-roof-content-section { position:relative; padding-block:clamp(4.5rem,8vw,8rem); background:var(--cb-warm); }
.concept-b-r2 .one-roof-content-section:nth-of-type(even) { background:#eae4d8; }
.concept-b-r2 .one-roof-content-section::before { content:""; position:absolute; top:0; left:max(1rem,calc((100vw - 76rem)/2)); width:4rem; height:3px; background:var(--cb-gold); }
.concept-b-r2 .one-roof-section-intro { max-width:68rem; margin-bottom:3.2rem; }
.concept-b-r2 .one-roof-section-intro h2,.concept-b-r2 .one-roof-section-heading h2 { max-width:20ch; font-size:clamp(2rem,4vw,4rem); line-height:1; letter-spacing:-.045em; color:var(--cb-ink); }
.concept-b-r2 .one-roof-section-grid { gap:clamp(2rem,6vw,7rem); }
.concept-b-r2 .one-roof-section-heading { border-top:1px solid var(--cb-line); padding-top:1rem; }
.concept-b-r2 .one-roof-card-grid { gap:1px; background:var(--cb-line); border:1px solid var(--cb-line); }
.concept-b-r2 .one-roof-info-card { min-height:15rem; padding:clamp(1.35rem,2.7vw,2.5rem); border:0; border-radius:0; background:#fbf8f1; box-shadow:none; }
.concept-b-r2 .one-roof-info-card:hover { background:#fff; transform:none; }
.concept-b-r2 .one-roof-info-card>span { color:#957130; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.concept-b-r2 .one-roof-leak-story,.concept-b-r2 .one-roof-final-cta { background:linear-gradient(110deg,rgba(5,16,23,.98),rgba(12,34,44,.88)),url('/assets/concept-b/mas-cb-03.png') center/cover; color:#fff; }
.concept-b-r2[data-page="roof-record"] .one-roof-final-cta { background-image:linear-gradient(110deg,rgba(5,16,23,.98),rgba(12,34,44,.85)),url('/assets/concept-b/mas-cb-07.png'); }
.concept-b-r2 .one-roof-leak-story h2,.concept-b-r2 .one-roof-final-cta h2 { color:#fff; font-size:clamp(2.2rem,4.5vw,4.8rem); line-height:.98; }
.concept-b-r2 .asset-history-comparison { border:1px solid #a69676; background:#fbf8f1; overflow:auto; }
.concept-b-r2 .asset-history-labels { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(18rem,1.7fr); background:#122c38; color:#f5f0e7; }
.concept-b-r2 .asset-history-labels span { padding:1rem 1.25rem; font-size:.7rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.concept-b-r2 .asset-history-labels span+span { border-left:1px solid rgba(255,255,255,.28); }
.concept-b-r2 .asset-history-comparison th { background:#e7dece; color:var(--cb-ink); }
.concept-b-r2 .maintenance-rhythm { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:2rem 0; padding:0; list-style:none; border-top:0; }
.concept-b-r2 .maintenance-rhythm li { position:relative; display:grid; align-content:start; gap:.65rem; min-width:0; min-height:11.5rem; padding:2.5rem 1rem 1rem; border:0; border-top:2px solid var(--cb-gold); }
.concept-b-r2 .maintenance-rhythm li::before { content:""; position:absolute; top:-.55rem; left:50%; width:.85rem; height:.85rem; border:3px solid var(--cb-warm); border-radius:50%; background:var(--cb-gold); box-shadow:0 0 0 1px var(--cb-gold); transform:translateX(-50%); }
.concept-b-r2 .maintenance-rhythm span { color:#74551f; font-size:.72rem; font-weight:800; letter-spacing:.11em; line-height:1.35; text-transform:uppercase; overflow-wrap:anywhere; }
.concept-b-r2 .maintenance-rhythm strong { color:var(--cb-ink); font-size:.92rem; line-height:1.45; overflow-wrap:anywhere; }
.concept-b-r2 .contractor-workflow-section { background:linear-gradient(90deg,#f5f0e7,rgba(245,240,231,.84) 46%,rgba(245,240,231,.16)),url('/assets/concept-b/mas-cb-04.png') right/48% auto no-repeat; }
.concept-b-r2[data-page="roof-record"] .one-roof-content-section:nth-of-type(4) { background:linear-gradient(90deg,#eae4d8,rgba(234,228,216,.88) 53%,rgba(234,228,216,.15)),url('/assets/concept-b/mas-cb-06.png') right/48% auto no-repeat; }
.concept-b-r2 .capability-band { background:#0d202b; color:#eee3cb; padding-block:1.45rem; }
.concept-b-r2 .site-footer { background:#07131b; color:#e7dfcf; border-top:3px solid var(--cb-gold); }
.concept-b-r2 .site-footer h2,.concept-b-r2 .site-footer a { color:#fff; }
.concept-b-r2 .footer-kicker { color:var(--cb-gold); }
@media (max-width:900px) { .concept-b-r2 .one-roof-page-hero{min-height:auto;padding-block:6rem 4rem;background-position:65% center}.concept-b-r2 .one-roof-map-card{transform:none}.concept-b-r2 .contractor-workflow-section,.concept-b-r2[data-page="roof-record"] .one-roof-content-section:nth-of-type(4){background-image:none}.concept-b-r2 .one-roof-section-grid{grid-template-columns:1fr}.concept-b-r2 .maintenance-rhythm{grid-template-columns:repeat(3,minmax(0,1fr))}.concept-b-r2 h1{max-width:15ch} }
@media (max-width:620px) { .concept-b-r2 .one-roof-page-hero{background-position:72% center}.concept-b-r2 .asset-history-labels{grid-template-columns:1fr}.concept-b-r2 .asset-history-labels span+span{border-left:0;border-top:1px solid rgba(255,255,255,.28)}.concept-b-r2 .maintenance-rhythm{grid-template-columns:1fr;gap:.6rem}.concept-b-r2 .maintenance-rhythm li{min-height:0;padding:1rem 1rem 1rem 2rem;border-top:0;border-left:2px solid var(--cb-gold)}.concept-b-r2 .maintenance-rhythm li::before{top:1.35rem;left:-.55rem;transform:none}.concept-b-r2 .split-actions{gap:.75rem}.concept-b-r2 .btn{width:100%;justify-content:center} }

/* Roof Record uses its existing data-page hook so its protected document remains untouched. */
body[data-page="roof-record"] { background:var(--cb-warm); color:var(--cb-ink); }
body[data-page="roof-record"] .site-header { background:var(--cb-ink); border-bottom:1px solid rgba(255,255,255,.15); }
body[data-page="roof-record"] .brand-name,body[data-page="roof-record"] .brand-tag,body[data-page="roof-record"] .one-roof-primary-nav>a,body[data-page="roof-record"] .header-link { color:#fff; }
body[data-page="roof-record"] .one-roof-page-hero { position:relative; isolation:isolate; overflow:hidden; min-height:clamp(42rem,72vw,56rem); display:grid; align-items:center; background:linear-gradient(115deg,rgba(4,13,20,.98),rgba(7,22,31,.89) 51%,rgba(7,22,31,.32)),url('/assets/concept-b/mas-cb-05.png') center/cover; color:#fff; }
body[data-page="roof-record"] .one-roof-hero-grid { position:relative; z-index:1; gap:clamp(2rem,6vw,7rem); }
body[data-page="roof-record"] h1 { max-width:13ch; font-size:clamp(3.1rem,6.7vw,6.6rem); line-height:.93; letter-spacing:-.055em; }
body[data-page="roof-record"] .one-roof-hero-copy>p { color:#e8edf0; font-size:clamp(1.05rem,1.55vw,1.32rem); line-height:1.65; }
body[data-page="roof-record"] .one-roof-map-card { border:1px solid rgba(215,169,80,.65); box-shadow:0 28px 70px rgba(0,0,0,.4); transform:translateY(2rem); }
body[data-page="roof-record"] .btn { border-radius:0; font-weight:800; } body[data-page="roof-record"] .btn-primary { background:var(--cb-gold); border-color:var(--cb-gold); color:#101b22; } body[data-page="roof-record"] .btn-secondary { border-color:#f7e5bb; color:#fff; background:rgba(7,18,26,.2); }
body[data-page="roof-record"] .one-roof-role-strip,body[data-page="roof-record"] .capability-band { background:#132e3b; color:#fff; } body[data-page="roof-record"] .one-roof-role-nav>a { color:#fff; border-color:rgba(255,255,255,.22); }
body[data-page="roof-record"] .one-roof-content-section { position:relative; padding-block:clamp(4.5rem,8vw,8rem); background:var(--cb-warm); } body[data-page="roof-record"] .one-roof-content-section:nth-of-type(even) { background:#eae4d8; } body[data-page="roof-record"] .one-roof-content-section::before { content:""; position:absolute; top:0; left:max(1rem,calc((100vw - 76rem)/2)); width:4rem; height:3px; background:var(--cb-gold); }
body[data-page="roof-record"] .one-roof-section-heading { border-top:1px solid var(--cb-line); padding-top:1rem; } body[data-page="roof-record"] .one-roof-section-heading h2 { color:var(--cb-ink); font-size:clamp(2rem,4vw,4rem); line-height:1; letter-spacing:-.045em; }
body[data-page="roof-record"] .one-roof-card-grid { gap:1px; background:var(--cb-line); border:1px solid var(--cb-line); } body[data-page="roof-record"] .one-roof-info-card { min-height:15rem; border:0; border-radius:0; background:#fbf8f1; box-shadow:none; } body[data-page="roof-record"] .one-roof-info-card>span { color:#957130; font-weight:800; }
body[data-page="roof-record"] .one-roof-final-cta { background:linear-gradient(110deg,rgba(5,16,23,.98),rgba(12,34,44,.85)),url('/assets/concept-b/mas-cb-07.png') center/cover; color:#fff; } body[data-page="roof-record"] .one-roof-final-cta h2 { color:#fff; font-size:clamp(2.2rem,4.5vw,4.8rem); line-height:.98; }
body[data-page="roof-record"] .site-footer { background:#07131b; color:#e7dfcf; border-top:3px solid var(--cb-gold); } body[data-page="roof-record"] .site-footer h2,body[data-page="roof-record"] .site-footer a { color:#fff; }
@media (max-width:900px) { body[data-page="roof-record"] .one-roof-page-hero{min-height:auto;padding-block:6rem 4rem;background-position:65% center} body[data-page="roof-record"] .one-roof-map-card{transform:none} body[data-page="roof-record"] .one-roof-section-grid{grid-template-columns:1fr} }
