.road-detail { margin:0; color:#272923; background:#171b19; --road-paper:#f1ebdf; --road-ink:#272923; --road-muted:#62645b; --road-accent:#a94b28; }
.road-detail .page-shell { width:100%; max-width:none; margin:0; padding:0; background:transparent; }
.road-detail .topbar { color:#fff; }
.road-detail .road-project-tabs { background:#202620 !important; }
.road-case { width:min(1200px,100%); margin:0 auto; background:var(--road-paper); color:var(--road-ink); box-shadow:0 0 40px 12px #0005; }
.road-detail .road-case .road-heading h2 { color:var(--road-ink) !important; -webkit-text-fill-color:var(--road-ink) !important; }
.road-detail .road-case .road-dark .road-heading h2 { color:#f1ebdf !important; -webkit-text-fill-color:#f1ebdf !important; }
.road-case img { display:block; width:100%; height:auto; }
.road-case figure { margin:0; }
.road-case a,.road-case button { -webkit-tap-highlight-color:transparent; }
.road-case :focus-visible { outline:3px solid #c9673c; outline-offset:5px; }
.road-hero { position:relative; color:#fff; background:#293d42; }
.road-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#14272c99,transparent 65%,#151b19b3); pointer-events:none; }
.road-hero-title,.road-hero-bottom { position:absolute; z-index:1; left:6%; right:6%; }
.road-hero-title { top:17%; }
.road-hero-title p { font-size:11px; font-weight:600; letter-spacing:.28em; }
.road-hero-title h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(40px,5.7vw,84px); font-weight:400; font-style:italic; letter-spacing:-.045em; line-height:1.13; margin:16px 0; }
.road-hero-title h1 span { display:block; font:400 15px/1.8 'Segoe UI',sans-serif; letter-spacing:.14em; margin-top:22px; }
.road-hero-bottom { bottom:5%; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.road-hero-bottom>span { font-size:10px; letter-spacing:.2em; }
.road-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:1px solid currentColor; border-radius:0; color:inherit; font-size:13px; font-weight:600; text-decoration:none; transition:background .2s,color .2s; }
.road-button:hover { background:var(--road-paper); color:var(--road-ink); }
.road-chapters { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:18px 6%; border-bottom:1px solid #27292326; background:var(--road-paper); }
.road-chapters a { color:var(--road-muted); padding:10px 0; font-size:12px; text-decoration:none; }
.road-chapters a:hover { color:var(--road-accent); }
.road-section { padding:80px 6%; scroll-margin-top:100px; }
.road-section+.road-section { border-top:1px solid #27292326; }
.road-heading>p:first-child,.road-kicker { margin:0 0 22px; color:var(--road-accent); font-size:11px; font-weight:600; letter-spacing:.18em; }
.road-heading h2 { margin:0; color:inherit; font-size:clamp(30px,3.2vw,44px); line-height:1.3; font-weight:600; letter-spacing:-.045em; }
.road-heading-wide { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:0 60px; margin-bottom:36px; }
.road-heading-wide>p:first-child { grid-column:1/-1; }
.road-heading-note { color:var(--road-muted); font-size:14px; line-height:1.9; margin:0; }
.road-concept { display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.road-concept-copy>p { color:var(--road-muted); font-size:14px; line-height:1.95; }
.road-concept-copy .road-lead { color:var(--road-ink); font-size:23px; line-height:1.7; margin:0 0 24px; }
.road-facts { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:32px 0 0; padding-top:24px; border-top:1px solid #27292330; }
.road-facts dt { font-size:11px; color:var(--road-muted); }.road-facts dd { font-size:13px; margin:6px 0 0; }
.road-wide figcaption { display:flex; justify-content:space-between; gap:16px; font-size:10px; color:var(--road-muted); letter-spacing:.08em; padding:14px 0; }
.road-palette { display:grid; grid-template-columns:repeat(4,1fr); margin:20px 0 45px; gap:12px; }
.road-palette span { color:var(--road-muted); font-size:9px; letter-spacing:.13em; }
.road-palette span::before { content:""; display:block; height:6px; margin-bottom:10px; background:var(--swatch); }
.road-assets { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.road-character { margin:0 0 36px !important; }
.road-character figcaption { padding:18px 0; }
.road-character b { font-size:10px; color:var(--road-accent); letter-spacing:.13em; }
.road-character p { color:var(--road-muted); font-size:13px; line-height:1.9; }
.road-assets img { background:#e4e4e4; }
.road-assets figcaption { padding-top:20px; }.road-assets b { font-size:10px; letter-spacing:.13em; color:var(--road-accent); font-weight:500; }
.road-case h3 { font-size:21px; line-height:1.5; margin:10px 0; font-weight:600; }
.road-assets p { color:var(--road-muted); font-size:13px; line-height:1.9; max-width:390px; }
.road-dark { background:#202620; color:#f1ebdf; --road-muted:#b8b9ac; --road-accent:#d89770; }
.road-shot-viewer figure { background:#151a16; }
.road-shot-viewer figcaption { padding:24px 26px; min-height:108px; }
.road-shot-viewer figcaption>span { font-size:14px; font-weight:600; }
.road-shot-viewer figcaption p { font-size:13px; color:var(--road-muted); margin:8px 0 0; line-height:1.9; }
.road-shot-controls { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid #ffffff29; }
.road-shot-controls button { cursor:pointer; font:inherit; min-height:70px; color:#b8b9ac; background:transparent; border:0; border-right:1px solid #ffffff29; font-size:12px; }
.road-shot-controls button:last-child { border-right:0; }.road-shot-controls button span { margin-right:14px; font-size:10px; color:#d89770; }
.road-shot-controls button[aria-pressed="true"] { color:#202620; background:#e6dbc8; }.road-shot-controls button[aria-pressed="true"] span { color:#884624; }
.road-shot-controls button:hover { box-shadow:inset 0 -3px #d89770; }
.road-shot-notes { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding:40px 0 50px; }
.road-shot-notes span { color:#d89770; font-size:10px; letter-spacing:.13em; }.road-shot-notes h3 { font-size:19px; }.road-shot-notes p { font-size:13px; line-height:1.9; color:var(--road-muted); }
.road-sign figcaption { text-align:center; font:italic 26px/1.4 Georgia,serif; padding:26px 0 0; }
.road-process { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:40px 0 56px; border-top:1px solid #27292330; }
.road-process li { padding:25px 20px 0 0; }.road-process span { font-size:12px; color:var(--road-accent); }.road-process h3 { font-size:19px; }.road-process p { color:var(--road-muted); font-size:13px; line-height:1.8; }
.road-prompt { display:grid; grid-template-columns:1fr 1.4fr; gap:46px; background:#e5ddcc; padding:36px; }.road-prompt h3 { font-size:27px; }.road-prompt p:not(.road-kicker) { font-size:13px; color:var(--road-muted); line-height:1.9; }.road-prompt dl { margin:0; }.road-prompt dl>div { border-bottom:1px solid #27292326; padding:14px 0; }.road-prompt dl>div:first-child { padding-top:0; }.road-prompt dl>div:last-child { border:0; }.road-prompt dt { font-size:11px; color:var(--road-accent); }.road-prompt dd { margin:7px 0 0; font-size:13px; line-height:1.8; }
.road-consistency { margin-top:56px; display:grid; grid-template-columns:1.4fr 1fr; align-items:center; gap:36px; }.road-consistency h3 { font-size:30px; }.road-consistency p:not(.road-kicker) { font-size:13px; color:var(--road-muted); line-height:1.95; }
.road-final { display:grid; grid-template-columns:1fr 1.2fr; gap:50px; align-items:center; background:#dcd7c7; }
.road-final h2 { font:italic clamp(32px,4vw,52px)/1.15 Georgia,serif; margin-bottom:28px; }.road-final .road-heading>p:not(:first-child) { font-size:13px; color:#62645b; }.road-final .road-button { background:#272923; color:#fff; border-color:#272923; margin-top:12px; }.road-final .road-button:hover { background:#475343; }.road-final small { display:block; color:#62645b; font-size:10px; margin-top:16px; }
.road-final-poster { position:relative; display:block; box-shadow:0 12px 30px #27292326; }.road-final-poster>span { position:absolute; bottom:20px; right:20px; background:#f1ebdf; color:#272923; padding:10px 14px; font-size:10px; letter-spacing:.1em; }
.road-footer { padding:28px 6%; display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:11px; color:var(--road-muted); }.road-footer a { color:inherit; text-decoration:none; min-height:44px; display:flex; align-items:center; }
.road-detail .road-project-tabs { position:relative; margin:0; padding:16px 6%; width:100%; border-radius:0; background:#202620; overflow-x:auto; }.road-detail .road-project-tabs a { color:#c6c6b9; white-space:nowrap; }.road-detail .road-project-tabs a.active { color:#fff; }
@media(max-width:760px) { .road-hero-title { top:24%; }.road-hero-title h1 { font-size:clamp(28px,6.4vw,46px); }.road-hero-title p { font-size:8px; letter-spacing:.12em; }.road-hero-title h1 span { font-size:11px; margin-top:10px; }.road-hero-bottom>span { display:none; }.road-hero-bottom { justify-content:flex-end; }.road-hero .road-button { min-height:44px; padding:8px 12px; font-size:11px; }.road-chapters { justify-content:flex-start; gap:8px 18px; }.road-section { padding:46px 6%; }.road-concept,.road-heading-wide,.road-final,.road-prompt,.road-consistency { grid-template-columns:1fr; gap:28px; }.road-heading h2 { font-size:30px; }.road-assets { gap:18px; }.road-shot-notes { gap:16px; }.road-shot-notes h3 { font-size:16px; }.road-shot-controls button span { display:block; margin:0; }.road-process { grid-template-columns:1fr 1fr; }.road-prompt { padding:24px; }.road-footer>span { display:none; }.road-wide figcaption { font-size:8px; }.road-hero-title { left:6%; }.road-final small { line-height:1.7; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.road-case * { transition:none !important; } }
