/* Shared navigation and buyer-page layouts. */
.site-header {height:auto; min-height:82px}
.header-inner {min-height:82px}
.site-header nav {align-items:center; gap:28px}
.page-menu {position:relative}
.page-menu summary {cursor:pointer; list-style:none; display:flex; align-items:center; gap:8px; padding:12px 0}
.page-menu summary::-webkit-details-marker {display:none}
.page-menu summary::after {content:''; width:7px; height:7px; border-right:2px solid; border-bottom:2px solid; transform:rotate(45deg); margin-top:-4px}
.page-menu[open] summary::after {transform:rotate(225deg); margin-top:4px}
.page-menu-list {position:absolute; top:100%; left:50%; transform:translateX(-50%); width:300px; background:white; border:1px solid #ddd; border-radius:8px; box-shadow:0 12px 32px #0002; padding:8px; z-index:30}
.site-header .page-menu-list a {display:block; padding:11px 14px; font-size:15px; border-radius:4px; line-height:1.5}
.page-menu-list a:hover,.page-menu-list a[aria-current=page] {background:#f7e9ea; color:#b50610}
a:focus-visible,button:focus-visible,summary:focus-visible {outline:3px solid #e50914; outline-offset:5px}
.buyer-page .header-cta {font-size:15px}
.buyer-page h1 {font-size:50px; max-width:870px; line-height:1.12}
.buyer-page h2 {font-size:36px; line-height:1.2}
.buyer-page h3 {font-size:21px}
.buyer-page main * {min-width:0}
.buyer-page .section {padding:88px 0}
.buyer-hero {position:relative; min-height:700px; color:#fff; background:#111; display:flex; align-items:center; isolation:isolate; overflow:hidden}
.buyer-hero>.hero-photo {position:absolute; inset:0; height:100%; width:100%; object-fit:cover; z-index:-2}
.buyer-hero::before {content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#000e 0%,#000b 47%,#0002 100%)}
.buyer-hero .shell {padding-block:86px 48px}
.buyer-hero .hero-line {max-width:650px; margin:22px 0 0}
.buyer-hero .hero-actions {margin-top:28px}
.journey-rail {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:650px; margin-top:58px; border-top:1px solid #ffffff70}
.journey-rail span {position:relative; padding:20px 12px 0 0; font-size:15px}
.journey-rail b {font:700 12px var(--heading); display:block; color:#ff737c; margin-bottom:4px}
.journey-rail span::before {content:''; position:absolute; top:-2px; left:0; width:60%; height:3px; background:#e50914; transform:scaleX(.15); transform-origin:left; animation:journey-progress 6s ease-in-out infinite}
.journey-rail span:nth-child(2)::before {animation-delay:2s}
.journey-rail span:nth-child(3)::before {animation-delay:4s}
@keyframes journey-progress {0%,100%{transform:scaleX(.15);opacity:.5}40%{transform:scaleX(1);opacity:1}}
.buyer-section-nav {background:#fff; border-bottom:1px solid #ddd}
.buyer-section-nav .shell {display:flex; gap:28px; flex-wrap:wrap; padding-block:18px}
.buyer-section-nav a {font-size:14px; font-weight:700; text-decoration:none}
.buyer-section-nav a:hover {color:#e50914}
.buyer-answer {background:#fff}
.buyer-answer .answer-grid {gap:64px; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.buyer-answer .answer-copy p {margin:0}
.buyer-intro {border-top:1px solid #ddd; margin-top:50px; padding-top:32px; display:grid; grid-template-columns:1fr 1.1fr; gap:64px}
.buyer-intro p {margin:0 0 14px; font-size:16px; color:#555}
.buyer-formats {background:#f3f4f5}
.buyer-formats .format-grid {gap:20px}
.buyer-format {padding:26px; background:#fff; border:1px solid #dedfe2; border-radius:8px; transition:transform .25s}
.buyer-format:hover {transform:translateY(-4px)}
.buyer-format .format-number {display:block; margin-bottom:24px}
.buyer-format p {font-size:16px; color:#56565e; line-height:1.7; margin:16px 0 0}
.buyer-proof {background:#fff}
.project-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px}
.project {border:1px solid #ddd; border-radius:8px; overflow:hidden; background:#fff; display:flex; flex-direction:column}
.project-visual {aspect-ratio:4/3; overflow:hidden; background:#eee}
.project-visual img {width:100%; height:100%; object-fit:contain; display:block; transition:transform .45s}
.project:hover .project-visual img {transform:scale(1.025)}
.project-content {padding:25px; display:flex; flex-direction:column; flex:1}
.project-content h3 {font-size:20px}
.project-content p {font-size:15px; color:#555; line-height:1.7; margin:16px 0 24px}
.project-content a {margin-top:auto; font-weight:700; color:#b30610; text-underline-offset:5px; font-size:15px}
.project-no-photo {background:#141417; color:white; border-color:#141417}
.project-no-photo p {color:#ccc}
.project-no-photo a {color:#ff8890}
.case-stories {margin-top:50px; display:grid; grid-template-columns:1fr 1fr; gap:36px; border-top:1px solid #ccc; padding-top:36px}
.case-stories h3 {font-size:22px}
.case-stories p {font-size:16px; color:#555}
.case-stories a {font-size:15px; font-weight:700; text-underline-offset:5px}
.buyer-process {background:#101013; color:white}
.buyer-process .path-layout {gap:64px}
.buyer-process .path-intro {position:static}
.buyer-faq {background:#f4f4f5}
.buyer-faq .faq-layout {gap:64px}
.buyer-cta {background:#fff}
.buyer-cta-grid {display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:start}
.buyer-cta p {color:#555; font-size:17px; margin-bottom:26px}
.brief-list {padding:0; margin:0; list-style:none; border-top:1px solid #ccc}
.brief-list li {padding:18px 0; border-bottom:1px solid #ccc; display:flex; gap:18px; font-size:16px}
.brief-list b {font-family:var(--heading); color:#b30610}
.related-routes {border-top:1px solid #ddd; margin-top:50px; padding-top:28px}
.related-routes h3 {font-size:18px; margin-bottom:18px}
.related-routes ul {padding:0; margin:0; list-style:none; display:flex; flex-wrap:wrap; gap:12px 28px}
.related-routes a {font-size:15px; text-underline-offset:4px}
.buyer-page section[id] {scroll-margin-top:24px}
.buyer-page[data-buyer=C] .project-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.buyer-page[data-buyer=C] .project-no-photo {grid-column:1/-1}
.buyer-page[data-buyer=C] .project-no-photo .project-content {max-width:850px}
.buyer-page[data-buyer=B] .format-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.buyer-page[data-buyer=B] .buyer-format {display:grid; grid-template-columns:42px 1fr; gap:8px 16px}
.buyer-page[data-buyer=B] .buyer-format p {grid-column:2}
.buyer-page[data-buyer=B] .buyer-format .format-number {margin:0}
.buyer-page[data-buyer=D] .buyer-hero {text-align:center}
.buyer-page[data-buyer=D] .buyer-hero::before {background:linear-gradient(0deg,#000c,#0008)}
.buyer-page[data-buyer=D] .buyer-hero h1,.buyer-page[data-buyer=D] .hero-line,.buyer-page[data-buyer=D] .journey-rail {margin-inline:auto}
.buyer-page[data-buyer=D] .buyer-hero .eyebrow,.buyer-page[data-buyer=D] .hero-actions {justify-content:center}
.buyer-page[data-buyer=E] .buyer-formats {background:#eaf0f0}
.buyer-page[data-buyer=E] .buyer-format {border-top:3px solid #497372}
.buyer-page[data-buyer=D] .buyer-formats {background:#eeeef2}
.buyer-page[data-buyer=A] .buyer-proof {background:#f8f8f8}
@media(max-width:1100px){.header-inner{gap:16px}.site-header nav{gap:22px}.buyer-page h1{font-size:44px}.project-grid{grid-template-columns:1fr 1fr}.project:last-child{grid-column:1/-1}.project:last-child:not(.project-no-photo){display:grid;grid-template-columns:1fr 1fr}.buyer-hero{min-height:640px}}
@media(max-width:980px){.site-header nav{order:3;width:100%;justify-content:center}.header-inner{padding-block:12px}.buyer-page h1{font-size:42px}.buyer-page h2{font-size:32px}.buyer-answer .answer-grid,.buyer-intro,.buyer-cta-grid{grid-template-columns:1fr;gap:28px}.buyer-hero::before{background:linear-gradient(90deg,#000d,#0007)}.buyer-hero .shell{padding-block:70px 40px}.buyer-page .faq-layout,.buyer-page .path-layout{grid-template-columns:1fr;gap:36px}.buyer-page .section{padding:68px 0}}
@media(max-width:600px){.buyer-page h1{font-size:30px}.buyer-page h2{font-size:28px}.buyer-page h3{font-size:20px}.buyer-page .header-cta{font-size:12px}.buyer-page .brand img{width:145px}.site-header nav{gap:20px;font-size:14px}.page-menu-list{width:280px;max-width:calc(100vw - 30px)}.buyer-hero{min-height:650px}.buyer-hero .shell{padding-block:58px 38px}.buyer-hero .hero-line{font-size:18px}.journey-rail{margin-top:36px}.journey-rail span{font-size:13px}.buyer-section-nav .shell{gap:12px 20px}.buyer-section-nav a{font-size:13px}.buyer-page .format-grid,.buyer-page[data-buyer=B] .format-grid,.project-grid,.buyer-page[data-buyer=C] .project-grid,.case-stories{grid-template-columns:1fr}.project:last-child:not(.project-no-photo){display:flex}.buyer-page .project:last-child{grid-column:auto}.buyer-page[data-buyer=B] .buyer-format{display:block}.buyer-page[data-buyer=B] .buyer-format .format-number{margin-bottom:18px}.buyer-page .section{padding:58px 0}.buyer-format{padding:24px}.buyer-intro{margin-top:32px}.buyer-page .section-heading{margin-bottom:32px}.case-stories{gap:30px}.buyer-cta-grid{gap:32px}}
@media(prefers-reduced-motion:reduce){.journey-rail span::before{animation:none;transform:none}.project-visual img,.buyer-format{transition:none}}
