.story-page { --story-line:#23282b25; }
.story-hero { position:relative; min-height:580px; height:min(76vh,800px); background:#343a38; color:#fff; overflow:hidden; }
.story-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.story-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#111b19b8,transparent 68%); }
.story-hero-copy { position:absolute; z-index:1; left:max(4.2vw,24px); right:24px; bottom:58px; max-width:970px; }
.story-hero h1 { margin:0; color:inherit; font-size:clamp(44px,5.8vw,86px); font-weight:800; line-height:1.02; letter-spacing:-.055em; max-width:19ch; }
.story-hero p { color:inherit; font-size:18px; max-width:56ch; line-height:1.5; margin:22px 0 0; }
.story-caption { display:block; margin:10px 4.2vw 0; font-size:11px; color:#536673; text-align:right; }
.story-page .ed-section { padding:82px 0; }
.story-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:32px 0 0; }
.story-facts div { border-top: 0; padding-top:16px; }
.story-facts dt { font-size:12px; color:#536673; margin-bottom:8px; }
.story-facts dd { margin:0; font-size:17px; font-weight:500; }
.story-visual { margin:0; min-width:0; }
.story-visual img { display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:4px; }
.story-visual figcaption { color:#536673; font-size:11px; margin:10px 0 0; }
.story-feature { display:grid; grid-template-columns:1.18fr 1fr; align-items:center; gap:70px; }
.story-feature.reverse .story-visual { order:2; }
.story-feature h2 { max-width:16ch; }
.story-feature .ed-list li { padding:14px 0; }
.story-feature .ed-list h3 { font-size:17px; font-weight:500; }
.story-wide { margin:36px 0 0; }
.story-wide img { aspect-ratio:2.2; }
.story-plan { margin:26px 0; padding:22px; background:white; border:1px solid var(--story-line); }
.story-plan img { width:100%; height:auto; aspect-ratio:1.6; object-fit:contain; }
.story-equipment { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; padding:0; list-style:none; }
.story-equipment li { padding:14px 0; border-bottom: 0; font-size:15px; }
.story-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px 34px; }
.story-tile { min-width:0; text-decoration:none; color:inherit; display:block; }
.story-tile figure { margin:0 0 22px; overflow:hidden; border-radius:4px; }
.story-tile img { width:100%; height:auto; display:block; aspect-ratio:1.65; object-fit:cover; transition:transform .5s ease; }
.story-tile:hover img { transform:scale(1.025); }
.story-tile h3 { font-size:clamp(24px,2.4vw,34px); margin:12px 0; }
.story-tile p { font-size:16px; }
.story-stage { display:block; font-size:12px; color:#536673; }
.story-jumps { display:flex; flex-wrap:wrap; gap:10px 24px; margin:30px 0 42px; }
.story-jumps a { font-size:14px; color:inherit; text-underline-offset:5px; }
.story-related { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.story-related a { text-decoration:none; color:inherit; }
.story-related img { width:100%; height:auto; aspect-ratio:1.6; object-fit:contain; background:#eeede8; border-radius:4px; }
.story-related h3 { margin:16px 0 5px; }
.story-related p { font-size:13px; }
.story-note { border-left:2px solid #536673; padding-left:20px; font-size:14px; }
.story-steps { list-style:none; padding:0; counter-reset:story; }
.story-steps li { counter-increment:story; padding:20px 0 20px 52px; position:relative; border-bottom: 0; }
.story-steps li::before { content:counter(story,decimal-leading-zero); position:absolute; left:0; color:#536673; font-size:13px; top:24px; }
.story-steps h3 { font-size:19px; }
.story-steps p { margin:6px 0 0; font-size:15px; }
.story-contact { padding:30px; background:#eeede8; border-radius:4px; }
.story-contact address { font-style:normal; color:#536673; line-height:1.8; }
.story-roles { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.story-roles article { border-top: 0; padding-top:18px; }
.story-roles h3 { font-size:23px; }
.story-roles p { font-size:14px; }
.story-table { width:100%; border-collapse:collapse; font-size:15px; }
.story-table th,.story-table td { padding:17px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--story-line); }
.story-table th:first-child,.story-table td:first-child { padding-left:0; }
.story-table th { font-size:12px; color:#536673; font-weight:500; }
.quote-landing .quote-section { padding-top:72px; }
.quote-landing .quote-copy { top:105px; }
.quote-landing [data-brief-result] { margin-top:32px; border-top: 0; padding-top:26px; }
.quote-landing [data-brief-result][hidden] { display:none; }
.quote-landing [data-brief-summary] dt { font-size:12px; color:#536673; margin-top:18px; }
.quote-landing [data-brief-summary] dd { margin:6px 0 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.quote-landing .brief-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:22px; }
.quote-landing .brief-actions button { font:inherit; font-size:14px; padding:12px 18px; background:#23282b; color:white; border:0; cursor:pointer; }
.quote-landing .brief-actions button:last-child { background:transparent; color:#23282b; text-decoration:underline; }
.quote-landing .brief-note { color:#536673; font-size:12px; line-height:1.6; margin-top:18px; }
@media(max-width:1000px){ .story-feature { gap:36px; grid-template-columns:1fr 1fr; }.story-facts { gap:18px; }.story-hero { min-height:500px; height:65vh; } }
@media(max-width:760px){
 .story-hero { height:620px; min-height:0; max-height:80svh; }
 .story-hero>img { object-position:55% center; }
 .story-hero-copy { left:22px; right:22px; bottom:36px; }
 .story-hero h1 { font-size:clamp(40px,10.5vw,58px); max-width:18ch; }
 .story-hero p { font-size:15px; line-height:1.55; max-width:36ch; }
 .story-page .ed-section { padding:54px 0; }
 .story-feature,.story-grid { grid-template-columns:1fr; gap:30px; }
 .story-feature.reverse .story-visual { order:0; }
 .story-facts { grid-template-columns:1fr; gap:16px; margin-top:24px; }
 .story-facts div { display:grid; grid-template-columns:100px 1fr; gap:18px; }
 .story-facts dd { font-size:15px; }.story-facts dt { margin:0; }
 .story-wide img { aspect-ratio:1.4; }.story-plan { padding:10px; }
 .story-equipment { grid-template-columns:1fr; }
 .story-related { gap:18px; }.story-related h3 { font-size:19px; }
 .story-roles { grid-template-columns:1fr 1fr; gap:20px; }
 .story-contact { padding:24px; }.story-table { font-size:13px; }
 .story-jumps { gap:14px 20px; }.story-grid { row-gap:44px; }
 .quote-landing .quote-section { padding-top:40px; }.quote-landing .quote-copy { position:static; }
}
@media(prefers-reduced-motion:reduce){.story-tile img { transition:none; }}

.quote-landing .quote-copy h1 { font-size:clamp(32px,3.4vw,52px); line-height:1.2; letter-spacing:-.04em; margin:0; max-width:16ch; }
