/* Home-only editorial layout. Existing brand palette and page shell are retained. */
.home-hero { background:#19255a; }
.hero-photo { display:block; position:absolute; inset:0; z-index:0; }
.hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 64%; }
.home-hero::before { display:block; position:absolute; content:""; inset:0; z-index:1; background:linear-gradient(90deg,rgba(25,37,90,.93),rgba(25,37,90,.74) 47%,rgba(25,37,90,.2)); animation:none !important; }
.home-hero .container { z-index:2; }
.home-hero .hero-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
.collection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:330px; }
.collection-grid .visual-card:first-child { grid-column:auto; grid-row:auto; }
.home-panels-section { background:#eef3fb; }
.home-text-link { display:inline-flex; align-items:center; gap:15px; font-size:16px; font-weight:600; color:#19255a; padding:10px 0; }
.home-text-link span { font-size:22px; }
.home-panel-tabs { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.home-panel-tabs button { border:1px solid #c8d5eb; background:#fff; color:#19255a; padding:11px 21px; border-radius:50px; font-size:15px; line-height:1.3; }
.home-panel-tabs button[aria-selected="true"] { background:#19255a; color:#fff; border-color:#19255a; }
.home-panel-viewport { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#9bafd3 transparent; scroll-snap-type:x mandatory; padding:2px 2px 16px; }
.home-panel-track { display:flex; gap:18px; margin:0; padding:0; list-style:none; }
.home-panel-card { flex:0 0 calc((100% - 54px)/4); min-width:0; border:1px solid #d7e1f1; border-radius:16px; overflow:hidden; background:#fff; scroll-snap-align:start; transition:border-color .2s; }
.home-panel-card:hover { border-color:#8da6d2; }
.home-panel-card > a { display:flex; height:100%; flex-direction:column; }
.home-panel-image { display:flex; align-items:center; justify-content:center; height:200px; padding:16px; background:#fff; border-bottom:1px solid #e7edf7; }
.home-panel-image img { display:block; width:100%; height:100%; object-fit:contain; }
.home-panel-body { padding:20px; display:flex; flex:1; flex-direction:column; align-items:start; }
.home-panel-category { color:#607292; font-size:12px; }
.home-panel-body h3 { margin:8px 0 14px; font-size:19px; line-height:1.3; overflow-wrap:anywhere; }
.home-panel-status { color:#345e47; background:#edf6f0; border-radius:6px; padding:4px 8px; font-size:11px; }
.home-panel-price { margin:auto 0 0; padding-top:20px; font-size:24px; font-weight:650; line-height:1.3; color:#19255a; }
.home-panel-price small { margin-left:3px; font-size:13px; font-weight:400; }
.home-panel-more { display:flex; width:100%; justify-content:space-between; gap:15px; border-top:1px solid #e1e8f3; padding-top:14px; margin-top:18px; font-size:13px; font-weight:600; }
.home-panel-footer { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:12px; }
.home-panel-footer p { font-size:12px; margin:0; max-width:600px; }
.home-rail-controls { display:flex; gap:8px; }
.home-rail-controls button,.home-project-controls > button { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; padding:0; border:1px solid #bfd0ec; border-radius:50%; background:#fff; color:#19255a; font-size:21px; }
.home-rail-controls button:disabled { opacity:.35; cursor:default; }
.home-projects-section { background:#19255a; color:#fff; }
.home-projects-layout { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:50px; }
.home-projects-copy .eyebrow { color:#c8d9ff; }
.home-projects-copy h2 { color:#fff; font-size:clamp(30px,3.6vw,46px); line-height:1.15; margin:15px 0 22px; }
.home-projects-copy p { color:#d2def4; font-size:16px; margin-bottom:28px; }
.home-projects-copy .button--outline { background:transparent !important; border-color:#8ca6d8 !important; color:#fff !important; }
.home-projects-copy .button--outline:hover,.home-projects-copy .button--outline:focus-visible { background:#fff !important; color:#19255a !important; }
.home-project-showcase { min-width:0; }
.home-project-stage { position:relative; overflow:hidden; isolation:isolate; aspect-ratio:3/2; border-radius:20px; background:#233872; }
.home-project-stage > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .85s ease; }
.home-project-stage > img.is-current { opacity:1; }
.home-project-stage::after { content:""; position:absolute; inset:50% 0 0; z-index:2; pointer-events:none; background:linear-gradient(transparent,rgba(8,20,50,.88)); }
.home-project-caption { position:absolute; left:28px; right:28px; bottom:28px; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.home-project-caption > span { color:#d9e5ff; font-size:12px; font-variant-numeric:tabular-nums; }
.home-project-caption a { display:flex; align-items:center; gap:25px; color:#fff; font-size:23px; line-height:1.2; font-weight:600; }
.home-project-controls { display:flex; align-items:center; gap:12px; margin-top:18px; }
.home-project-controls[hidden] { display:none; }
.home-project-showcase .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.home-project-controls > button { background:transparent; color:#fff; border-color:#6e89bb; }
.home-project-dots { display:flex; gap:8px; margin-right:auto; }
.home-project-dots button { position:relative; width:26px; height:32px; padding:0; background:transparent; border:0; }
.home-project-dots button::before { position:absolute; content:""; top:12px; left:8px; width:9px; height:9px; border-radius:50%; background:#839dcb; }
.home-project-dots button[aria-pressed="true"]::before { background:#fff; box-shadow:0 0 0 3px rgba(255,255,255,.13); }
.home-project-controls > .home-project-pause { width:auto; padding:0 15px; font-size:12px; border-radius:50px; }
#featured-panels,#home-projects { scroll-margin-top:140px; }
@media(max-width:1000px) { .home-panel-card { flex-basis:calc((100% - 36px)/3); } .home-projects-layout { grid-template-columns:1fr; gap:32px; } .home-projects-copy { max-width:700px; } }
@media(max-width:800px) { .collection-grid { grid-template-columns:1fr; grid-auto-rows:300px; } .home-panel-card { flex-basis:calc((100% - 18px)/2); } .home-project-stage { aspect-ratio:3/2; } #featured-panels,#home-projects { scroll-margin-top:90px; } }
@media(max-width:540px) { .home-hero .hero-products { grid-template-columns:1fr; } .hero-photo img { object-position:center; } .home-hero::before { background:linear-gradient(90deg,rgba(25,37,90,.9),rgba(25,37,90,.58)); } .home-panel-tabs { gap:8px; } .home-panel-tabs button { padding:10px 15px; font-size:14px; } .home-panel-card { flex-basis:84%; } .home-panel-image { height:200px; } .home-panel-footer { align-items:start; gap:16px; } .home-panel-footer p { font-size:11px; } .home-project-caption { left:20px; right:20px; bottom:20px; } .home-project-caption a { font-size:19px; gap:12px; } .home-project-controls { gap:6px; } .home-project-controls > button { width:36px; height:36px; } .home-project-controls > .home-project-pause { padding:0 11px; } .home-project-dots { gap:0; } }
@media(prefers-reduced-motion:reduce) { .home-project-stage > img,.home-panel-card { transition:none; } .home-project-pause { display:none !important; } }
