@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Noto+Serif+JP:wght@500;600;700;800;900&display=swap');
:root{--ink:#061a29;--ink2:#0a2539;--paper:#f6f0e2;--red:#f2462f;--muted:#b9c4ca;--sans:'Noto Sans JP',sans-serif;--serif:'Noto Serif JP',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.site-head{position:absolute;z-index:20;top:0;left:0;right:0;height:92px;padding:0 clamp(22px,5vw,84px);display:flex;align-items:center;gap:clamp(18px,3vw,52px);border-bottom:1px solid #ffffff28;background:linear-gradient(180deg,#04152280,#04152200)}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:800;letter-spacing:.08em;white-space:nowrap}.brand img{width:40px;height:40px;object-fit:contain}.head-links{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:12px;letter-spacing:.05em}.head-links a,.classic-link{transition:color .2s}.head-links a:hover,.classic-link:hover{color:#ff977f}.classic-link{display:flex;gap:10px;align-items:center;border:1px solid #fff7;padding:12px 16px;border-radius:99px;font-size:11px;white-space:nowrap}.classic-link span{color:var(--red);font-size:16px}
.opening{height:min(920px,100svh);min-height:680px;position:relative;isolation:isolate;overflow:hidden;background:#172d3b}.opening-photo{position:absolute;inset:-3%;z-index:-3;background:url('../../public/panorama-yard.jpg') center 48%/cover no-repeat;filter:saturate(1.2) contrast(1.08);animation:hero-arrive 1.4s cubic-bezier(.2,.7,.2,1) both}.opening-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061a29e8 0%,#061a29a6 35%,#061a2940 72%,#061a2940),linear-gradient(0deg,#061a29d9 0%,transparent 40%,#061a2966)}.opening-grain{position:absolute;inset:0;z-index:-1;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.opening:after{content:"";position:absolute;z-index:-1;width:90vw;height:8vw;left:-3vw;bottom:11%;transform:rotate(-8deg);background:linear-gradient(180deg,#ff8061,#f2462f 56%,#b92d29);clip-path:polygon(0 28%,7% 20%,15% 36%,25% 15%,38% 30%,50% 7%,64% 25%,78% 0,91% 16%,100% 8%,98% 70%,86% 81%,75% 68%,62% 92%,49% 76%,37% 100%,22% 73%,11% 91%,1% 70%);opacity:.92}.opening-copy{position:absolute;left:clamp(30px,10vw,160px);top:50%;transform:translateY(-42%);max-width:min(700px,74vw);animation:copy-arrive .8s .15s both}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.22em;color:#d6e1e5;margin:0 0 26px}.eyebrow span{width:30px;height:2px;background:var(--red)}h1,h2{font-family:var(--serif);margin:0;font-weight:800;letter-spacing:.045em}h1{font-size:clamp(48px,8vw,110px);line-height:1.28;text-shadow:0 8px 30px #00101d99}h1 em{font-style:normal;color:#fff0d2;white-space:nowrap} .opening-lead{margin:26px 0 0;font-size:clamp(14px,1.35vw,18px);line-height:2;letter-spacing:.06em;color:#e9ecea}.scroll-cue{position:absolute;top:calc(100% + 100px);left:0;display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:.2em}.scroll-cue i{width:1px;height:54px;background:linear-gradient(var(--red),#ffffff24);animation:cue 1.7s ease-in-out infinite}.opening-index{position:absolute;right:5vw;bottom:8%;display:grid;justify-items:end;gap:5px;color:#ffffffb7;font-size:9px;letter-spacing:.18em}.opening-index b{font:500 44px var(--serif);color:var(--paper)}
.scenes{min-height:870px;padding:100px 0 112px;background:radial-gradient(ellipse at 50% 52%,#12324a 0,#091e30 42%,#061a29 76%);overflow:hidden}.scenes-heading{text-align:center;padding:0 20px 48px}.scenes-heading .eyebrow{justify-content:center;margin-bottom:15px}.scenes-heading h2{font-size:clamp(32px,4vw,54px);letter-spacing:.08em}.scenes-heading>p:last-child{color:#b9c7cd;font-size:13px;margin-top:16px;letter-spacing:.04em}.carousel{position:relative;width:100%;max-width:1440px;margin:0 auto;perspective:1400px}.carousel-stage{height:clamp(360px,44vw,540px);position:relative;overflow:hidden;touch-action:pan-y;outline:none;cursor:grab;perspective:1300px;perspective-origin:50% 48%;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.carousel-stage:active{cursor:grabbing}.carousel-ring{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.22,.72,.2,1)}.scene-card{position:absolute;top:50%;left:50%;width:min(56vw,760px);height:min(37vw,460px);min-height:320px;transform-style:preserve-3d;transform-origin:center;translate:-50% -50%;overflow:hidden;background:#0c2639;border:1px solid #fff8;box-shadow:0 34px 80px #0008;transition:filter .7s,opacity .7s,box-shadow .7s}.scene-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s}.scene-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#031321e8 0%,#061a2940 30%,transparent 65%),linear-gradient(90deg,#061a2933,transparent 45%,#061a2933);pointer-events:none}.scene-card:hover img{transform:scale(1.04)}.card-number{position:absolute;z-index:2;top:22px;left:24px;font-size:10px;letter-spacing:.2em;color:#fff}.card-copy{position:absolute;z-index:2;left:clamp(22px,4vw,56px);bottom:clamp(24px,4vw,52px);display:grid;gap:8px}.card-copy b{font:700 clamp(23px,3.2vw,42px) var(--serif);letter-spacing:.06em}.card-copy small{font-size:12px;letter-spacing:.04em;color:#d9e1e4}.card-link{position:absolute;z-index:2;right:26px;bottom:34px;font-size:11px;letter-spacing:.05em;padding:12px 16px;border:1px solid #fff9;border-radius:99px;opacity:0;transform:translateY(7px);transition:.25s}.scene-card:hover .card-link,.scene-card:focus-visible .card-link{opacity:1;transform:none}.carousel-ui{max-width:980px;margin:24px auto 0;padding:0 clamp(28px,8vw,90px);display:grid;grid-template-columns:52px 1fr auto 52px;align-items:center;gap:22px}.arrow{width:48px;height:48px;border-radius:50%;border:1px solid #fff7;background:#ffffff08;color:#fff;font-size:21px;cursor:pointer;transition:background .2s,transform .2s}.arrow:hover{background:var(--red);transform:scale(1.06)}.carousel-label{display:grid;gap:5px}.carousel-label b{font:700 20px var(--serif);letter-spacing:.05em}.carousel-label span{font-size:11px;color:#bdcbd0}.carousel-count{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.12em;color:#9cacb4}.carousel-count .current-index{font-size:17px;color:#fff;font-weight:700}.carousel-count i{width:32px;height:1px;background:var(--red)}.drag-hint{display:none}
.bridge{min-height:670px;display:grid;grid-template-columns:1.05fr .95fr;background:#f0eadb;color:var(--ink);position:relative}.bridge-image{min-height:670px;background:url('../../public/panorama-store.jpg') center/cover no-repeat;position:relative}.bridge-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,#f0eadb 100%),linear-gradient(0deg,#061a2940,transparent 45%)}.bridge-copy{padding:clamp(60px,8vw,120px) clamp(30px,8vw,115px) 80px clamp(15px,3vw,44px);align-self:center}.bridge-copy .eyebrow{color:#35505d}.bridge-copy h2{font-size:clamp(38px,5vw,66px);line-height:1.35}.bridge-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#334b58;margin:22px 0 30px}.route-links{display:grid;border-top:1px solid #0b27332c}.route-links a{height:58px;display:grid;grid-template-columns:40px 1fr 22px;align-items:center;border-bottom:1px solid #0b27332c;transition:padding .25s,color .25s}.route-links a:hover{padding-left:8px;color:#cb392b}.route-links a span{font-size:10px;color:#b34435;letter-spacing:.1em}.route-links a b{font-size:12px}.route-links a i{font-style:normal;color:#b34435}.site-foot{min-height:106px;padding:24px clamp(22px,5vw,84px);display:flex;align-items:center;gap:24px;color:#afbec6;font-size:10px;background:#041521}.site-foot .brand{color:#fff;margin-right:auto;font-size:12px}.site-foot .brand img{width:30px;height:30px}.site-foot>a:last-child{border-bottom:1px solid #73818a;padding-bottom:4px}
@keyframes cue{0%,100%{transform:scaleY(.45);transform-origin:top;opacity:.55}50%{transform:scaleY(1);transform-origin:top;opacity:1}}@keyframes hero-arrive{from{transform:scale(1.05);filter:saturate(.9) brightness(.8)}to{transform:scale(1);filter:saturate(1.2) contrast(1.08)}}@keyframes copy-arrive{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.site-head{height:72px;padding:0 18px;gap:12px}.brand{font-size:12px;gap:8px}.brand img{width:34px;height:34px}.head-links{display:none}.classic-link{margin-left:auto;padding:10px 12px;font-size:9px}.opening{height:88svh;min-height:640px;max-height:820px}.opening-photo{background-position:53% center}.opening-photo:after{background:linear-gradient(90deg,#061a29c9,#061a2955 76%),linear-gradient(0deg,#061a29d9 0%,transparent 55%,#061a2966)}.opening:after{width:125vw;height:13vw;bottom:15%;left:-12vw}.opening-copy{left:7vw;top:47%;max-width:88vw}.opening h1{font-size:clamp(47px,12vw,76px)}.opening-lead{font-size:13px}.opening-index{right:6vw;bottom:6%}.opening-index b{font-size:32px}.scroll-cue{top:calc(100% + 72px)}.scenes{min-height:760px;padding:76px 0 80px}.scenes-heading{padding-bottom:30px}.scenes-heading>p:last-child{font-size:11px}.carousel-stage{height:390px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.scene-card{width:76vw;height:58vw;min-height:275px;max-height:340px}.scene-card img{filter:saturate(.93)}.card-number{top:15px;left:16px;font-size:9px}.card-copy{left:20px;bottom:22px;gap:5px}.card-copy b{font-size:clamp(22px,6vw,32px)}.card-copy small{font-size:10px}.card-link{display:none}.carousel-ui{margin-top:10px;padding:0 6vw;grid-template-columns:42px 1fr auto 42px;gap:12px}.arrow{width:40px;height:40px;font-size:18px}.carousel-label b{font-size:16px}.carousel-label span{font-size:10px}.carousel-count{gap:7px;font-size:9px}.carousel-count i{width:20px}.carousel-count .current-index{font-size:14px}.drag-hint{display:block;text-align:center;font-size:8px;letter-spacing:.2em;color:#8197a1;margin:20px 0 0}.drag-hint span{color:var(--red);font-size:13px;padding-left:7px}.bridge{display:block}.bridge-image{min-height:280px;height:58vw;max-height:410px}.bridge-image:after{background:linear-gradient(0deg,#f0eadb,transparent 58%)}.bridge-copy{padding:16px 8vw 66px}.bridge-copy h2{font-size:42px}.bridge-copy>p:not(.eyebrow){font-size:12px}.site-foot{min-height:96px;flex-wrap:wrap;gap:10px 18px;padding:20px 6vw}.site-foot .brand{width:100%;margin:0}.site-foot>span{margin-right:auto}.site-foot>a:last-child{font-size:9px}}

/* Compact navigation additions: keep the poster-led page focused while making the next action clear. */
.hours-link{color:#dce9ec!important;font-size:11px!important;white-space:nowrap}.hours-link span{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:4px;border:1px solid #8eb1bd;border-radius:50%;color:#fff}.route-card{background:linear-gradient(145deg,#17455b,#071b2a 72%);border:1px solid #8eb2bd!important}.route-card:after{background:linear-gradient(135deg,#ffffff18,transparent 50%,#0008)!important}.route-card-inner{position:absolute;inset:0;z-index:2;display:grid;align-content:center;gap:13px;padding:clamp(26px,4vw,58px);color:#fff}.route-card-number{font:500 42px var(--serif);color:#ff735d}.route-card-inner strong{font:700 clamp(23px,3.2vw,42px) var(--serif);letter-spacing:.06em}.route-card-inner small{font-size:12px;color:#d2e2e5}.route-card-inner a{justify-self:start;margin-top:12px;border:1px solid #fff9;border-radius:99px;padding:11px 16px;font-size:11px}.concierge-dock{position:fixed;z-index:40;right:clamp(16px,4vw,54px);bottom:22px;width:min(360px,calc(100vw - 32px));color:#082236}.concierge-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #fff;border-radius:99px;background:#fff;box-shadow:0 10px 35px #0007;color:#082236;cursor:pointer}.concierge-toggle img{width:34px;height:34px;object-fit:contain}.concierge-toggle span{font-weight:800;font-size:12px;margin-right:auto}.concierge-toggle b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:18px}.concierge-menu{margin-bottom:10px;padding:18px;border:1px solid #ffffffaa;border-radius:18px;background:#f5f8f7f5;box-shadow:0 20px 60px #0008}.concierge-menu p{margin:0 0 10px;font-weight:800;font-size:13px}.concierge-menu>a{display:block;padding:11px 12px;margin-top:7px;border:1px solid #b4cbd0;border-radius:9px;background:#fff;color:#0b405a;font-size:12px}.concierge-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.concierge-actions a{padding:10px;border-radius:9px;background:#092a3d;color:#fff;text-align:center;font-size:11px}.concierge-actions small{font-size:10px;color:#b9d6df}
.footer-location{position:fixed;z-index:40;right:clamp(16px,4vw,54px);bottom:22px;display:inline-flex;align-items:center;gap:10px;padding:0;border:0;border-radius:0;color:#fff;font-size:14px;font-weight:800;transition:transform .2s ease,filter .2s ease}.footer-location:hover,.footer-location:focus-visible{transform:scale(1.06);filter:brightness(1.12)}.footer-location img{width:96px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 7px #0009)}
.hours-widget{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;display:grid;grid-template-columns:auto auto;align-items:center;gap:12px;min-width:330px;padding:8px 10px;border:1px solid #9fc1cc;border-radius:10px;background:#eef7fbd9;color:#06344c;box-shadow:0 8px 24px #00152233}.hours-status{display:flex;align-items:center;gap:8px;min-width:0}.hours-status strong{font-size:12px;white-space:nowrap}.hours-detail{font-size:10px;color:#486675;white-space:nowrap}.hours-dot{width:10px;height:10px;flex:none;border-radius:50%;background:#6e7f88;box-shadow:0 0 0 4px #6e7f8824}.hours-widget.open .hours-dot{background:#13a538;box-shadow:0 0 0 4px #13a53824}.hours-widget.break .hours-dot{background:#ff9d00;box-shadow:0 0 0 4px #ff9d0029}.hours-toggle{justify-self:end;padding:8px 11px;border:1px solid #7da5bb;border-radius:6px;background:transparent;color:#064a70;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.hours-toggle::after{content:' ＋'}.hours-widget.is-open .hours-toggle::after{content:' −'}.hours-toggle:hover{background:#fff}.hours-popover{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(430px,calc(100vw - 32px));padding:18px;border:1px solid #bfd0d9;border-radius:12px;background:#fff;color:#173f52;box-shadow:0 18px 50px #002a4630}.hours-popover p{display:grid;grid-template-columns:105px 1fr;gap:10px;margin:0;padding:10px 0;border-bottom:1px solid #e1e9ed;font-size:13px}.hours-popover p b{color:#003b63}.hours-popover small{display:block;margin:12px 0;color:#667b86;font-size:10px}.hours-popover>a{display:block;padding:11px 12px;border-radius:6px;background:#0068a6;color:#fff;font-size:12px;font-weight:800;text-align:center}.hours-widget[hidden],.hours-popover[hidden]{display:none}
.route-card:before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.72) brightness(.78);opacity:.9}.route-card:after{background:linear-gradient(90deg,#061a29d9 0%,#061a2988 45%,#061a2966 100%),linear-gradient(0deg,#061a29dd,transparent 65%)!important}.route-material:before{background-image:url('../../public/gbp-block-yard.jpg')}.route-consult:before{background-image:url('../../public/panorama-store-original.jpg')}.route-field:before{background-image:url('../target-guides/assets/forklift-yard.jpg')}
.route-card:before{display:none}.route-card .route-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.02) brightness(.9);opacity:1}.route-card:after{z-index:1;background:linear-gradient(180deg,#061a2933 0%,#061a2918 42%,#061a29e8 100%),linear-gradient(90deg,#061a2948,#061a2908 65%,#061a2966)!important}.route-card-inner{z-index:3;align-content:end;min-height:100%;padding:clamp(24px,4vw,54px)}.route-card-number{font-size:clamp(42px,5vw,70px);line-height:.9;color:#ff735d;letter-spacing:.02em}.route-card-inner strong{font-size:clamp(24px,3.1vw,42px);line-height:1.2;text-shadow:0 3px 18px #00111dcc}.route-card-inner small{font-size:clamp(11px,1.15vw,15px);color:#eef5f5}.route-card-inner a{position:absolute;right:clamp(20px,4vw,56px);bottom:clamp(24px,4vw,54px);margin:0;border-color:#fff;background:#061a2930;color:#fff;z-index:4}.route-card-inner a:hover{background:#f2462f;border-color:#f2462f}
.scene-card>img,.route-card .route-photo{transition:transform .72s cubic-bezier(.2,.78,.18,1),filter .72s ease}.scene-card.is-active>img,.scene-card.is-active .route-photo{transform:scale(1.07);filter:saturate(.92) contrast(1.04) brightness(.98)}.scene-card.is-side>img,.scene-card.is-side .route-photo{filter:saturate(.68) brightness(.68)}.scene-card.is-active .card-copy,.scene-card.is-active .route-card-inner{transform:translateY(-2px)}
.scene-card:hover>img,.scene-card:hover .route-photo,.scene-card:focus-within>img,.scene-card:focus-within .route-photo{transform:scale(1.1);filter:saturate(1) contrast(1.05) brightness(1.02)}.scene-card.is-active:hover>img,.scene-card.is-active:hover .route-photo,.scene-card.is-active:focus-within>img,.scene-card.is-active:focus-within .route-photo{transform:scale(1.14)}.scene-card:hover,.scene-card:focus-within{cursor:pointer}
@media(min-width:701px){.site-head .hours-link{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;padding:9px 14px;border:1px solid #8eb1bd;border-radius:99px;background:#08283a99;text-align:center}.site-head .hours-link span{vertical-align:middle}}
@media(max-width:700px){.site-head{height:124px;align-items:flex-start;padding-top:13px;background:linear-gradient(180deg,#041522ee 0%,#041522dd 78%,#04152200 100%)}.site-head .head-links{display:block;position:static;margin:0}.site-head .head-links>a:not(.hours-link){display:none}.hours-widget{left:50%;top:82px;transform:translateX(-50%);display:block;min-width:0;width:calc(100vw - 32px);padding:7px 9px;border-radius:9px}.hours-status{justify-content:center;margin-bottom:6px}.hours-status strong{font-size:12px}.hours-detail{font-size:10px}.hours-toggle{display:block;width:100%;padding:7px;font-size:11px}.hours-popover{position:fixed;top:132px;right:16px;left:16px;width:auto}.hours-popover p{grid-template-columns:88px 1fr}.route-card{width:76vw!important;height:58vw!important;min-height:275px!important;max-height:340px!important}.route-card-inner{padding:25px}.route-card-inner strong{font-size:25px}.concierge-dock{right:16px;bottom:14px}.site-foot{padding-bottom:96px}.footer-location{right:16px;bottom:14px;order:3;width:auto;justify-content:flex-end}.footer-location img{width:112px;height:66px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.opening-photo{background-image:url('../../output/edited-media/top-yard-center-crop-16x9-extended-poster.jpg');filter:saturate(1.34) contrast(1.03) brightness(1.24)}.opening-photo:after{background:linear-gradient(90deg,#061a29bc 0%,#061a2978 35%,#061a2918 72%,#061a2910),linear-gradient(0deg,#061a2990 0%,transparent 48%,#061a2920)}@keyframes hero-arrive{from{transform:scale(1.05);filter:saturate(1.15) brightness(1.05)}to{transform:scale(1);filter:saturate(1.34) contrast(1.03) brightness(1.24)}}
.scene-card{translate:none}
.brand img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 1px 5px #00101daa)}

/* Photo-first guidance: contrast halo preserves the transparent blue mark. */
.brand img{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #f6f0e2cc) drop-shadow(0 2px 8px #00101dcc)}
.opening-pin,.bridge-pin{position:absolute;z-index:8;display:block;width:28px;height:28px;color:#fff;outline:none}

/* Final carousel sizing: the center image reads first; both neighbors remain visible. */
.scenes .carousel-stage{width:100%;max-width:none;overflow:hidden;mask-image:none;perspective:1400px}
.scenes .scene-card{width:min(38vw,570px);height:min(26vw,390px);min-height:250px;max-height:390px;overflow:visible;border:0;background:transparent;box-shadow:none}
.scenes .scene-card>img{display:block;width:100%;height:100%;object-fit:cover;border:1px solid #f6f0e2cc;box-shadow:0 18px 46px #0008}
.scenes .scene-card:after{inset:0;border:1px solid #f6f0e255}
.scenes .scene-card.is-active,.scenes .scene-card.is-side{box-shadow:none}
.scenes .scene-card.is-side{filter:saturate(.82) brightness(.82)}
.scenes .scene-card-panorama{width:min(38vw,570px);height:min(26vw,390px);min-height:250px;max-height:390px}
.scenes .scene-card-panorama>img{object-fit:cover}
.scenes .carousel-edge-control{top:50%;left:auto;right:auto;width:48px;height:48px;padding:0;display:grid;place-items:center;line-height:1;transform:translateY(-50%)}
.scenes .carousel-edge-control.is-previous{left:10px;right:auto}
.scenes .carousel-edge-control.is-next{right:10px;left:auto}
@media(max-width:700px){
  .scenes .carousel-stage{height:clamp(310px,82vw,390px)}
  .scenes .scene-card,.scenes .scene-card-panorama{width:48vw;height:34vw;min-height:0;max-height:250px}
  .scenes .carousel-edge-control{width:42px;height:42px}
  .scenes .carousel-edge-control.is-previous{left:6px}
  .scenes .carousel-edge-control.is-next{right:6px}
}
.opening-pin{top:55%}.pin-gravel-25{left:70%;top:43%}.pin-crushed-13-20{left:34%;top:50%}
.pin-dot{position:absolute;inset:0;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 4px 15px #00152299;font:700 14px/1 var(--sans);transition:transform .2s,box-shadow .2s}
.opening-pin:before,.bridge-pin:before{content:"";position:absolute;inset:-7px;border:1px solid #fff9;border-radius:50%;animation:pin-ring 2.2s ease-out infinite}
.opening-pin:hover .pin-dot,.opening-pin:focus-visible .pin-dot,.opening-pin[aria-expanded="true"] .pin-dot,.bridge-pin:hover .pin-dot,.bridge-pin:focus-visible .pin-dot,.bridge-pin[aria-expanded="true"] .pin-dot{transform:scale(1.12);box-shadow:0 0 0 5px #f2462f44,0 6px 18px #001522aa}
.pin-float{position:absolute;left:38px;top:-13px;display:grid;gap:5px;width:205px;padding:13px 15px;background:#fff9ec;color:#0a2539;border-left:3px solid var(--red);box-shadow:0 12px 30px #00152288;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}
.pin-float b{font:700 14px var(--serif)}.pin-float small{font-size:10px;color:#45606b}.pin-float i{font-style:normal;font-size:10px;color:#c33c2b;font-weight:800;margin-top:2px}
.opening-pin:hover .pin-float,.opening-pin:focus-visible .pin-float,.opening-pin[aria-expanded="true"] .pin-float,.bridge-pin:hover .pin-float,.bridge-pin:focus-visible .pin-float,.bridge-pin[aria-expanded="true"] .pin-float{opacity:1;visibility:visible;transform:none}
.bridge{min-height:0;background:#071d2b;color:var(--paper)}
.bridge{display:block}
.bridge-scene{position:relative;isolation:isolate;width:100%;height:min(88svh,860px);min-height:640px;overflow:hidden;background:#0a2131}
.bridge-photo-main{position:absolute;z-index:-2;inset:0;background:url('../../public/panorama-store.jpg') center 48%/cover no-repeat;filter:saturate(.88) contrast(1.04)}
.bridge-scene:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#061a293b 0%,#061a2924 58%,#061a2933),linear-gradient(0deg,#061a2988 0%,transparent 35%,#061a291c)}
.bridge-photo-inset{position:absolute;right:8%;bottom:9%;width:35%;height:42%;background:url('../../public/gbp-block-yard.jpg') center/cover no-repeat;border:5px solid var(--paper);box-shadow:0 22px 70px #0009;transform:rotate(2.2deg)}
.bridge-cue{position:absolute;left:clamp(22px,7vw,100px);top:clamp(24px,5vh,58px);margin:0;padding:8px 12px;background:#061a29c9;border-left:2px solid var(--red);font-size:11px;letter-spacing:.09em}
.bridge-pin-stock{left:31%;top:46%}.bridge-pin-consult{left:56%;top:64%}.bridge-pin-field{right:24%;bottom:32%}
.bridge-pin-field .pin-float{left:auto;right:38px;top:-13px}
@keyframes pin-ring{0%{transform:scale(.75);opacity:.85}85%,100%{transform:scale(1.6);opacity:0}}
/* Balanced 3D carousel: one strong center image, two clearly visible previews. */
.carousel-stage{mask-image:none;perspective:1400px;perspective-origin:50% 48%}
.scene-card{width:min(36vw,540px);height:min(25vw,380px);min-height:260px;max-height:380px;overflow:visible;border:0;background:transparent;box-shadow:none;backface-visibility:hidden}
.scene-card>img{width:100%;height:100%;object-fit:cover;border:1px solid #f6f0e2cc;box-shadow:0 18px 46px #0008}
.scene-card:after{inset:0;border:1px solid #f6f0e255}
.scene-card-panorama{width:min(44vw,660px);height:min(20vw,300px);min-height:0;max-height:300px}
.scene-card-panorama>img{object-fit:cover}
.scene-card.is-active{box-shadow:none}
.scene-card.is-side{box-shadow:none;filter:saturate(.82) brightness(.82)}
.carousel-edge-control{top:50%;width:50px;height:50px;font-size:31px;line-height:1;display:grid;place-items:center}
.carousel-edge-control.is-previous{left:clamp(10px,2.5vw,36px)}
.carousel-edge-control.is-next{right:clamp(10px,2.5vw,36px)}
.carousel-edge-control:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){
  .scene-card{width:52vw;height:38vw;min-height:0;max-height:230px}
  .scene-card-panorama{width:52vw;height:26vw;min-height:0;max-height:190px}
  .carousel-edge-control{width:46px;height:46px;font-size:29px}
  .carousel-edge-control.is-previous{left:7px}
  .carousel-edge-control.is-next{right:7px}
}
/* Swapped to match the two materials' actual positions in the hero photograph. */
.pin-gravel-25{left:34%;top:50%}
.pin-crushed-13-20{left:70%;top:43%}
/* Three-panel ellipse carousel: broad side previews, no detached arrow controls. */
.scenes{padding-left:0;padding-right:0}
.scenes-heading{padding-bottom:28px}
.scenes-heading h2{font-size:clamp(30px,3.7vw,49px)}
.carousel{max-width:none;width:100%}
.carousel-stage{height:clamp(390px,50vw,620px);overflow:hidden;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y;mask-image:none;perspective:1300px;perspective-origin:50% 48%}
.carousel-stage:active{cursor:grabbing}
.carousel-ring{position:absolute;inset:0;transform-style:preserve-3d;transition:none}
.scene-card{width:min(56vw,760px);height:min(37vw,460px);min-height:320px;max-height:460px;border:1px solid #f6f0e2aa;transition:transform .78s cubic-bezier(.2,.78,.18,1),filter .7s,opacity .5s,box-shadow .45s;transform-origin:center center;backface-visibility:visible}
.scene-card-panorama{width:min(72vw,960px);height:min(22vw,280px);min-height:0}
.scene-card-panorama img{object-fit:contain}
.scene-card.is-active{box-shadow:0 30px 90px #0009}
.scene-card.is-side{box-shadow:0 24px 60px #0008}
.scene-card.is-side .card-point{opacity:0;visibility:hidden;pointer-events:none}
.scene-card .card-copy{left:22px;bottom:18px;gap:0}
.scene-card .card-copy b{font-size:clamp(24px,3.1vw,42px);line-height:1.2;text-shadow:0 2px 12px #00111d}
.scene-card .card-point{position:absolute;z-index:7;left:66%;top:43%;width:28px;height:28px;display:block;color:#fff;opacity:1;visibility:visible;transition:opacity .2s,visibility .2s}
.scene-card-panorama .card-point-pc{left:44%;top:49%}.scene-card-panorama .card-point-tools{left:78%;top:45%}
.scene-card .card-point-tools>span{left:auto;right:38px}
.scene-card.is-hidden{opacity:0!important;visibility:hidden;pointer-events:none;z-index:0!important}
.carousel-edge-control{position:absolute;z-index:12;top:50%;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #fff9;border-radius:50%;background:#061a29b8;color:#fff;font:400 34px/1 Arial,sans-serif;cursor:pointer;transform:translateY(-50%);transition:background .18s,border-color .18s,scale .18s}
.carousel-edge-control.is-previous{left:clamp(10px,2vw,28px)}.carousel-edge-control.is-next{right:clamp(10px,2vw,28px)}
.carousel-edge-control:hover,.carousel-edge-control:focus-visible{background:var(--red);border-color:#fff;scale:1.08;outline:none}
.card-point:before{content:"";position:absolute;inset:-7px;border:1px solid #fff9;border-radius:50%;animation:pin-ring 2.2s ease-out infinite}
.scene-card .card-point>i{position:absolute;inset:0;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--red);box-shadow:0 4px 15px #001522aa;font:700 14px/1 var(--sans);font-style:normal;transition:transform .2s,box-shadow .2s}
.scene-card .card-point>span{position:absolute;left:38px;top:-13px;display:grid;gap:5px;width:205px;padding:13px 15px;background:#fff9ec;color:#0a2539;border-left:3px solid var(--red);box-shadow:0 12px 30px #00152299;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}
.scene-card .card-point b{font:700 14px var(--serif)}.scene-card .card-point small{font:10px var(--sans);color:#45606b}.scene-card .card-point em{font:800 10px var(--sans);font-style:normal;color:#c33c2b;margin-top:2px}
.scene-card.is-active .card-point:hover>span,.scene-card.is-active .card-point:focus-visible>span,.scene-card.is-active .card-point[aria-expanded="true"]>span{opacity:1;visibility:visible;transform:none}
.scene-card.is-active .card-point:hover>i,.scene-card.is-active .card-point:focus-visible>i,.scene-card.is-active .card-point[aria-expanded="true"]>i{transform:scale(1.12);box-shadow:0 0 0 5px #f2462f44,0 6px 18px #001522aa}
.carousel-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.scenes{min-height:650px;padding-top:66px;padding-bottom:70px}.scenes-heading{padding-bottom:14px}.scenes-heading h2{font-size:clamp(27px,7vw,38px)}.carousel-stage{height:clamp(310px,82vw,390px);perspective:900px}.scene-card{width:58vw;height:48vw;min-height:205px;max-height:250px}.scene-card-panorama{width:88vw;height:27vw;min-height:0;max-height:190px}.carousel-edge-control{width:42px;height:42px;font-size:30px}.carousel-edge-control.is-previous{left:8px}.carousel-edge-control.is-next{right:8px}.scene-card .card-copy{left:13px;bottom:12px}.scene-card .card-copy b{font-size:15px}.scene-card .card-point{left:63%;top:40%;transform:scale(.88)}.scene-card-panorama .card-point-pc{left:44%;top:49%}.scene-card-panorama .card-point-tools{left:78%;top:45%}.scene-card .card-point>span{width:176px;padding:10px 11px}.scene-card.is-active .card-point>span{left:34px;top:-10px}.scene-card.is-active .card-point-tools>span{left:auto;right:34px}.scene-card.is-active:nth-child(2) .card-point>span{left:auto;right:34px}.carousel-ui{display:none}}

/* The two visually distinct aggregate piles each get one direct product link. */
.opening-pin{top:auto;width:30px;height:30px}
.pin-crushed-13-20{left:27%;top:19%}
.pin-gravel-25{left:58%;top:24%}
.pin-gravel-25 .pin-float{left:auto;right:38px}
.opening-pin .pin-float{z-index:2}
@media(max-width:700px){
  .opening-pin{width:26px;height:26px}
  .pin-crushed-13-20{left:18%;top:19%}
  .pin-gravel-25{left:70%;top:24%}
  .opening-pin .pin-float{width:min(190px,62vw);padding:10px 12px}
  .pin-crushed-13-20 .pin-float{left:34px;right:auto}
  .pin-gravel-25 .pin-float{left:auto;right:34px}
}

/* Drag/swipe panorama: the yard itself is the navigation surface. */
.opening-photo{inset:0;z-index:0;overflow:hidden;background:#071b2a;cursor:grab;touch-action:pan-y;outline:none}
.opening-photo.is-panning{cursor:grabbing}
.opening-photo:after{z-index:1;pointer-events:none;background:linear-gradient(90deg,#061a2990 0%,#061a294a 38%,#061a291c 72%,#061a2940),linear-gradient(0deg,#061a29a8 0%,transparent 48%,#061a2966)}
.opening-photo-track{position:absolute;z-index:2;top:-30vh;left:0;width:max-content;height:140vh;max-height:none;transition:transform .42s cubic-bezier(.2,.7,.2,1);will-change:transform;isolation:isolate}
.opening-photo-track.is-dragging{transition:none}
.opening-photo-track:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#6aa9dc}
.opening-panorama-image{position:relative;z-index:1;display:block;height:100%;width:auto;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none;filter:saturate(1.12) contrast(1.03)}
/* The panorama now contains its own integrated sky and flare; keep only the real photo layer. */
.site-head{background:linear-gradient(180deg,#041522ee 0%,#041522c4 78%,#04152212 100%)}
.opening-photo{filter:none;animation:hero-panorama-arrive 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes hero-panorama-arrive{from{transform:scale(1.035);filter:brightness(.84)}to{transform:scale(1);filter:none}}
.opening-photo>.opening-pan-control{position:absolute;z-index:5;top:15%;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #fff9;border-radius:50%;background:#061a29b8;color:#fff;font:400 34px/1 Arial,sans-serif;cursor:pointer;transform:translateY(-50%);transition:background .18s,opacity .18s,scale .18s}
.opening-photo>.opening-pan-control svg{display:block;width:19px;height:19px;overflow:visible}
.opening-photo>.opening-pan-control svg path{fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.opening-pan-control.is-previous{left:clamp(12px,3vw,42px)}.opening-pan-control.is-next{right:clamp(12px,3vw,42px)}
.opening-photo>.opening-pan-control:hover:not(:disabled),.opening-photo>.opening-pan-control:focus-visible{background:var(--red);scale:1.08;outline:2px solid #fff;outline-offset:3px}
.opening-photo>.opening-pan-control:disabled{opacity:0;pointer-events:none}
.opening:after{z-index:2}
.opening-copy,.opening-index{z-index:4}
/* Keep the title visually above the photo, but let the photo's hotspots receive the pointer. */
.opening-copy{pointer-events:none}
.opening-copy .scroll-cue{pointer-events:auto}
.opening .opening-photo-track .opening-pin{top:78%;width:32px;height:32px}
.opening .opening-photo-track .pin-aggregate-east{left:9%}
.opening .opening-photo-track .pin-crushed-13-20{left:25%}
.opening .opening-photo-track .pin-gravel-25{left:52%}
.opening .opening-photo-track .pin-aggregate-west{left:77%}
.opening .opening-photo-track .pin-gravel-25 .pin-float,.opening .opening-photo-track .pin-aggregate-west .pin-float{left:auto;right:42px}
.opening>a.opening-pin{display:none}
.opening .opening-photo-track .opening-pin .pin-float{z-index:3}
.opening-copy{top:36%}
@media(max-width:700px){
  .opening-photo-track{top:-28vh;height:130vh;max-height:none}
  .opening-photo:after{background:linear-gradient(90deg,#061a2970,#061a2920 68%,#061a2940),linear-gradient(0deg,#061a29a8 0%,transparent 54%,#061a2966)}
  .opening-photo>.opening-pan-control{top:16%;width:40px;height:40px;font-size:29px}
  .opening-pan-control.is-previous{left:8px}.opening-pan-control.is-next{right:8px}
  .opening .opening-photo-track .opening-pin{top:74%;width:28px;height:28px}
  .opening .opening-photo-track .opening-pin .pin-float{width:min(190px,62vw);padding:10px 12px;left:34px;right:auto}
  .opening .opening-photo-track .pin-gravel-25 .pin-float,.opening .opening-photo-track .pin-aggregate-west .pin-float{left:auto;right:34px}
  .opening-copy{top:34%}
}

/* Hotspot detail floats above the title/photo stacking layers, matching the cream callout sample. */
.opening-pin-tooltip-portal{position:fixed!important;z-index:1000!important;display:grid!important;gap:6px!important;width:min(266px,calc(100vw - 32px))!important;padding:16px 18px!important;background:#fff9ec!important;color:#0a2539!important;border-left:4px solid var(--red)!important;box-shadow:0 14px 36px #00152270!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:none!important}
.opening-pin-tooltip-portal b{font:700 17px var(--serif)!important}
.opening-pin-tooltip-portal small{font-size:12px!important;color:#45606b!important}
.opening-pin-tooltip-portal i{font-style:normal!important;font-size:12px!important;color:#c33c2b!important;font-weight:800!important;margin-top:2px!important}

/* Opening-photo callouts are rendered once in the body portal, never both in-place and in the portal. */
.opening-photo-track .opening-pin .pin-float{display:none!important}

/* Product links are attached to the panorama image, so they travel with the pile when dragged. */
.opening .opening-photo-track>.opening-pin{position:absolute;z-index:7;top:var(--pin-y,48%);left:var(--pin-x);width:32px;height:32px;cursor:pointer;transform:translate3d(var(--opening-pin-offset,0px),0,0)}
.opening .opening-photo-track>.opening-pin[hidden]{display:none}
.opening .opening-photo-track>.pin-yamasuna{--pin-x:7%}
.opening .opening-photo-track>.pin-crushed-40{--pin-x:23%}
.opening .opening-photo-track>.pin-crushed-13-20{--pin-x:38%}
.opening .opening-photo-track>.pin-gravel-25{--pin-x:49%;--pin-y:52%}
.opening .opening-photo-track>.pin-gravel-15{--pin-x:87%}
.opening .opening-photo-track>.pin-sanage-gravel{--pin-x:76%}
.opening .opening-photo-track>.pin-washed-sand{--pin-x:61%;--pin-y:50%}
.opening-copy{padding:18px 28px 24px;border-left:4px solid var(--red);border-radius:0 18px 18px 0;background:linear-gradient(90deg,#061a29b8 0%,#061a296e 72%,transparent 100%);text-shadow:0 3px 12px #001522e6}
.opening-copy .eyebrow,.opening-copy .opening-lead{color:#fff8e9;text-shadow:0 2px 8px #001522e6}
.opening-copy h1{ text-shadow:0 4px 18px #001522f2,0 1px 2px #001522 }
.opening .opening-photo-track>.pin-aggregate-east{--pin-x:51%;top:69%}
.opening .opening-photo-track>.pin-gravel-15 .pin-float,.opening .opening-photo-track>.pin-sanage-gravel .pin-float,.opening .opening-photo-track>.pin-washed-sand .pin-float,.opening .opening-photo-track>.pin-aggregate-west .pin-float{left:auto;right:42px}
.opening-photo>.opening-pan-control.is-next{top:38%;right:4%}
.opening-photo>.opening-pan-control.is-previous{top:38%;left:clamp(12px,2.2vw,20px)}
.opening .opening-photo-track>.opening-pin .pin-float{z-index:8}
@media(max-width:700px){
  .opening .opening-photo-track>.opening-pin{width:29px;height:29px}
  .opening-photo>.opening-pan-control.is-next{top:38%;right:8px}
  .opening-photo>.opening-pan-control.is-previous{top:38%;left:12px}
}
/* Consultation navigation stays centered at the bottom on every viewport. */
.concierge-dock{left:50%;right:auto;transform:translateX(-50%)}
@media(max-width:700px){.concierge-dock{left:50%;right:auto;transform:translateX(-50%)}}
/* Reduce the dark copy-panel overlay while keeping the text readable. */
.opening-copy{background:linear-gradient(90deg,#061a293f 0%,#061a2924 72%,transparent 100%)}
/* Keep every embedded URL visibly identifiable as a link. */
.site-foot a,.route-card-inner a,.card-point,.card-link,.concierge-menu a,.concierge-actions a,.classic-link,.head-links a{text-decoration:underline;text-underline-offset:4px}
/* Keep route-card links below the descriptive copy on every carousel card. */
.route-card-inner a{bottom:clamp(10px,2vw,28px)}
/* The store card has one direct consultation action, visible like the route cards. */
.scene-card-panorama .storefront-consult-link{opacity:1;transform:none;right:clamp(20px,4vw,56px);bottom:clamp(10px,2vw,28px);background:#061a2930;color:#fff;z-index:4}
@media(max-width:700px){.scene-card-panorama .storefront-consult-link{display:block;right:14px;bottom:12px;padding:9px 12px;font-size:10px}}
