/* Warehouse direction: shared brand tokens, documentary media, industrial scale. */
.storage-page main h2 { font-size:clamp(34px,3.5vw,52px); }
.storage-page .section { padding-block:88px; }
.storage-page .storage-lead { font-size:17px; line-height:1.7; color:var(--muted); }
.storage-note { font-size:13px; line-height:1.65; color:var(--muted); }
.breadcrumbs { display:flex; align-items:center; gap:12px; min-height:44px; color:#c7ccc3; font-size:11px; }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; }
.breadcrumbs a:hover { color:var(--accent); }
.storage-hero { padding:0 0 42px; }
.storage-hero .hero-layout { min-height:0; grid-template-columns:1fr 1.06fr; gap:52px; padding-top:18px; padding-bottom:0; }
.storage-hero .hero-copy { padding-block:12px; }
.storage-hero h1 { font-size:clamp(43px,4vw,60px); line-height:1.09; }
.storage-hero .eyebrow { margin-bottom:20px; }
.storage-hero .hero-lead { font-size:15px; max-width:500px; margin-top:22px; }
.storage-hero .hero-actions { flex-wrap:nowrap; gap:12px; margin-top:26px; }
.storage-hero .hero-actions .btn { font-size:13px; gap:18px; padding-inline:18px; }
.storage-hero .hero-note { margin-top:20px; }
.storage-photo { position:relative; min-width:0; margin:0; }
.storage-photo>a { display:block; position:relative; overflow:hidden; height:100%; background:#d5d8ce; }
.storage-photo img { width:100%; height:100%; object-fit:cover; }
.storage-photo figcaption { font-size:11px; line-height:1.5; color:var(--muted); margin-top:12px; }
.photo-open { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:42px; height:42px; background:var(--paper); color:var(--ink); font-size:23px; transition:transform 220ms var(--ease-enter),background 220ms; }
.storage-photo>a:focus-visible { outline-offset:5px; }
.storage-photo>a:focus-visible .photo-open { background:var(--accent); }
@media(hover:hover) and (pointer:fine) { .storage-photo>a:hover .photo-open { transform:translate(2px,-2px); background:var(--accent); } }
.storage-hero .hero-media { min-height:470px; overflow:visible; border-radius:0; }
.storage-hero .hero-media>a { position:absolute; inset:0 0 34px; height:auto; }
.storage-hero .hero-media img { object-position:45% center; }
.storage-hero .hero-media figcaption { position:absolute; bottom:0; padding:0; margin:0; background:none; color:#c7ccc3; text-transform:none; letter-spacing:0; }
.storage-hero .hero-media .photo-open { bottom:16px; }
.storage-proof { background:var(--night-deep); color:var(--paper); padding:30px 0; }
.storage-stats { display:grid; grid-template-columns:1fr 1.2fr .8fr 1.2fr .75fr; gap:26px; }
.storage-stats p { font-size:14px; line-height:1.1; white-space:nowrap; }
.storage-stats strong { font:500 clamp(34px,3.5vw,50px)/1.1 var(--display); }
.storage-stats span { display:block; margin-top:10px; max-width:170px; font-size:11px; color:#bdc4b9; line-height:1.6; }
.storage-heading { max-width:940px; }
.storage-heading .storage-lead { max-width:670px; margin-top:24px; }
.storage-overview-media { display:grid; grid-template-columns:1.9fr 1fr; align-items:end; gap:32px; margin-top:44px; }
.overview-main { height:500px; }
.overview-detail { height:340px; }
.storage-overview-media .storage-photo figcaption { display:none; }
.overview-caption { display:flex; justify-content:space-between; gap:24px; margin-top:18px; font-size:12px; color:var(--muted); }
.closed-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.closed-photo { height:560px; }
.closed-photo>a { height:calc(100% - 30px); }
.closed-photo img { object-position:47% center; }
.closed-copy .storage-lead { margin-top:24px; }
.closed-specs { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-block:30px; }
.closed-specs dt { font-size:12px; color:var(--muted); margin-bottom:6px; }
.closed-specs dd { font-size:17px; line-height:1.45; font-weight:650; }
.closed-copy .btn { margin-top:24px; }
.outdoor-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.outdoor-number { padding:42px; background:var(--accent); color:#221c14; }
.outdoor-number>span { display:block; font-size:14px; }
.outdoor-number>p { display:flex; align-items:baseline; gap:12px; font:500 clamp(100px,11vw,166px)/1.15 var(--display); letter-spacing:-.04em; margin:24px 0 14px; }
.outdoor-number small { font:500 40px var(--display); letter-spacing:0; }
.outdoor-copy .storage-lead { margin-top:24px; }
.outdoor-copy>p:not(.storage-lead) { margin-top:18px; font-size:16px; color:var(--muted); }
.outdoor-copy .text-link { margin-top:24px; }
.storage-rail { background:var(--night); color:var(--paper); }
.rail-heading { display:grid; grid-template-columns:1.3fr 1fr; column-gap:90px; align-items:end; }
.rail-heading .eyebrow { grid-column:1/-1; color:var(--accent); }
.storage-rail .storage-lead { color:#c2c8be; font-size:16px; }
.rail-system { display:grid; grid-template-columns:1fr 70px 1fr 70px 1fr; align-items:center; margin:60px 0 40px; }
.rail-glyph { display:block; font:500 clamp(65px,6.3vw,95px)/1.2 var(--display); color:var(--accent); margin-bottom:22px; }
.rail-stage strong { font-size:17px; font-weight:650; }
.rail-stage p { font-size:13px; color:#bdc4b9; margin-top:8px; }
.rail-connector { height:6px; border-block:1px solid #758073; margin:0 20px 44px 0; }
.rail-foot { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.rail-foot p { max-width:470px; font-size:12px; color:#bdc4b9; }
.storage-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px; list-style:none; margin-top:42px; }
.storage-flow li>span { display:block; font:500 36px var(--display); color:#7a8573; margin-bottom:18px; }
.storage-flow h3 { font-size:17px; line-height:1.35; }
.storage-flow p { font-size:14px; color:var(--muted); margin-top:14px; }
.infra-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:110px; }
.infra-power { margin-block:30px; }
.infra-power strong { display:block; font:500 74px/1.1 var(--display); }
.infra-power small { font-size:32px; }
.infra-power>span { display:block; font-size:13px; margin-top:10px; color:var(--muted); }
.infra-layout .storage-lead { max-width:450px; font-size:16px; }
.utility-list { display:grid; grid-template-columns:1fr 1fr; list-style:none; gap:30px 24px; padding-top:50px; font-size:18px; font-weight:600; }
.utility-list li { padding-left:18px; position:relative; }
.utility-list li::before { content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; background:#6c785d; }
.admin-copy { margin-top:50px; max-width:480px; }
.admin-copy h3 { font:500 28px var(--display); }
.admin-copy p { font-size:16px; color:var(--muted); margin-top:16px; }
.use-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 40px; list-style:none; margin-top:44px; font:500 25px/1.3 var(--display); }
.international { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; padding:44px; background:#dfe5d7; margin-top:60px; }
.international h3 { font:500 34px/1.2 var(--display); }
.international p { font-size:16px; }
.international p+p { margin-top:18px; }
.international .eyebrow { font-size:11px; }
.international .text-link { margin-top:20px; }
.gallery-heading { display:flex; justify-content:space-between; gap:50px; align-items:end; margin-bottom:40px; }
.gallery-heading>p { max-width:370px; font-size:14px; color:var(--muted); }
.storage-gallery-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:32px; }
.gallery-tall { grid-row:span 2; }
.gallery-tall>a { height:calc(100% - 30px); }
.gallery-wide>a { aspect-ratio:2; height:auto; }
.gallery-wide img { position:absolute; inset:0; }
.location-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:110px; }
.location-layout .storage-lead { margin-top:24px; max-width:460px; }
.location-address { padding-left:30px; border-left:3px solid var(--accent); }
.location-address>span { font-size:12px; color:var(--muted); }
.location-address address { font:500 31px/1.4 var(--display); margin-top:14px; }
.location-address p { font-size:15px; color:var(--muted); margin-top:24px; max-width:360px; }
.location-address .text-link { margin-top:18px; }
.faq-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; }
.storage-faq-item { border-bottom:1px solid #c8cfc0; }
.storage-faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:64px; padding:20px 0; font-size:17px; line-height:1.4; font-weight:650; }
.storage-faq-item summary>span { font:400 25px var(--body); flex-shrink:0; }
.storage-faq-item[open] summary>span { transform:rotate(45deg); }
.storage-faq-item p { max-width:650px; color:var(--muted); font-size:16px; padding:0 36px 24px 0; }
.storage-contact .contact-copy>.text-link { margin-top:18px; }
.storage-contact .contact-copy>.storage-note { font-size:13px; }
.storage-contact .form-hint { max-width:470px; }
.storage-contact .form-submit { margin-top:4px; }
.storage-page .footer .brand-name small { white-space:nowrap; }
/* Native dialog stays modal until exit completes; no duplicated accessible images. */
.storage-lightbox { width:min(1240px,calc(100% - 48px)); max-width:none; max-height:calc(100dvh - 40px); padding:24px; background:var(--night); color:var(--paper); border-radius:0; }
.lightbox-top { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:18px; }
.storage-lightbox h2 { font:500 23px var(--display); }
.lightbox-stage { height:min(64dvh,720px); display:flex; justify-content:center; align-items:center; overflow:hidden; }
.lightbox-stage img { width:100%; height:100%; object-fit:contain; }
.lightbox-bottom { display:flex; justify-content:space-between; align-items:center; gap:26px; margin-top:18px; }
.lightbox-bottom>p { font-size:13px; color:#d1d6cd; }
.gallery-controls { display:flex; align-items:center; gap:18px; flex-shrink:0; }
#galleryCount { font-size:12px; font-variant-numeric:tabular-nums; }
@media(max-width:1100px) {
  .storage-hero .hero-layout { gap:32px; }
  .storage-hero h1 { font-size:45px; }
  .storage-hero .hero-actions { flex-wrap:wrap; }
  .storage-hero .hero-actions .btn { min-height:48px; padding:12px 16px; font-size:12px; gap:14px; }
  .closed-layout,.outdoor-layout,.rail-heading,.infra-layout,.location-layout { gap:44px; }
  .storage-stats { gap:20px; }
  .storage-stats p { font-size:12px; }
  .storage-stats strong { font-size:38px; }
  .storage-stats span { font-size:10px; }
  .overview-main { height:430px; }
  .overview-detail { height:290px; }
  .outdoor-number { padding:30px; }
  .outdoor-number>p { font-size:112px; }
  .rail-system { grid-template-columns:1fr 40px 1fr 40px 1fr; }
  .rail-stage strong { font-size:15px; }
  .rail-glyph { font-size:69px; }
  .rail-connector { margin-right:12px; }
  .storage-flow { gap:22px; }
  .storage-flow h3 { font-size:15px; }
  .storage-flow p { font-size:13px; }
  .international { gap:40px; padding:32px; }
  .faq-layout { gap:40px; }
}
@media(min-width:701px) and (max-width:860px) {
  .storage-hero .hero-layout { grid-template-columns:1.1fr 1fr; gap:26px; }
  .storage-hero h1 { font-size:39px; }
  .storage-hero .hero-lead { font-size:14px; }
  .storage-hero .hero-actions { flex-direction:column; align-items:start; }
  .storage-hero .hero-actions .btn { width:220px; justify-content:space-between; }
  .storage-stats { grid-template-columns:repeat(3,1fr); gap:26px 34px; }
  .storage-stats>div:last-child { grid-column:span 2; }
  .closed-layout { grid-template-columns:.9fr 1.1fr; gap:30px; }
  .closed-photo { height:530px; }
  .closed-specs { gap:20px; }
  .closed-specs dd { font-size:15px; }
  .outdoor-number { padding:26px; }
  .outdoor-number>p { font-size:84px; }
  .outdoor-number small { font-size:28px; }
  .outdoor-copy h2 { font-size:34px; }
  .rail-heading { column-gap:32px; }
  .rail-heading h2 { font-size:36px; }
  .rail-glyph { font-size:58px; }
  .storage-flow { grid-template-columns:repeat(3,1fr); gap:30px; }
  .infra-layout { grid-template-columns:1fr 1fr; gap:36px; }
  .utility-list { font-size:16px; grid-template-columns:1fr; gap:14px; padding-top:0; }
  .admin-copy { margin-top:30px; }
  .international { grid-template-columns:1fr; gap:24px; }
  .international h3 br { display:none; }
  .gallery-heading { display:block; }
  .gallery-heading>p { margin-top:20px; max-width:none; }
  .location-layout { grid-template-columns:1fr 1fr; gap:32px; }
  .location-address address { font-size:26px; }
  .faq-layout { grid-template-columns:.55fr 1.45fr; gap:26px; }
}
@media(max-width:700px) {
  .storage-page .section { padding-block:54px; }
  .storage-page main h2 { font-size:34px; }
  .storage-page .storage-lead { font-size:16px; }
  .storage-hero { padding-bottom:28px; }
  .breadcrumbs { font-size:10px; gap:10px; }
  .storage-hero .hero-layout { display:flex; flex-direction:column; gap:28px; padding-top:8px; }
  .storage-hero .hero-copy { padding:0; }
  .storage-hero h1 { font-size:39px; line-height:1.09; }
  .storage-hero .eyebrow { margin-bottom:16px; font-size:10px; }
  .storage-hero .hero-lead { font-size:14px; margin-top:20px; }
  .storage-hero .hero-actions { flex-direction:row; gap:10px; margin-top:22px; flex-wrap:nowrap; }
  .storage-hero .hero-actions .btn { flex:1; padding:13px 11px; font-size:11px; gap:6px; min-height:48px; }
  .storage-hero .hero-note { font-size:10px; margin-top:16px; }
  .storage-hero .hero-media { width:100%; height:300px; min-height:0; }
  .storage-hero .hero-media>a { inset:0 0 30px; }
  .storage-hero .hero-media img { object-position:center; }
  .storage-hero .hero-media figcaption { font-size:10px; }
  .storage-proof { padding-block:28px; }
  .storage-stats { grid-template-columns:1fr 1fr; gap:26px 24px; }
  .storage-stats strong { font-size:39px; }
  .storage-stats span { font-size:11px; margin-top:7px; }
  .storage-stats>div:last-child { grid-column:1/-1; display:flex; align-items:center; gap:24px; }
  .storage-stats>div:last-child>span { margin:0; }
  .storage-heading .storage-lead { margin-top:20px; }
  .storage-overview-media { grid-template-columns:1.3fr 1fr; gap:14px; margin-top:28px; }
  .overview-main { height:280px; }
  .overview-detail { height:210px; }
  .overview-main img { object-position:52% center; }
  .photo-open { width:36px; height:36px; right:10px; bottom:10px; font-size:20px; }
  .overview-caption { display:block; font-size:11px; margin-top:14px; }
  .overview-caption span { display:block; }
  .overview-caption span+span { margin-top:4px; }
  .closed-layout { display:flex; flex-direction:column-reverse; gap:28px; }
  .closed-copy .storage-lead { margin-top:20px; }
  .closed-specs { gap:22px; margin-block:26px; }
  .closed-specs dd { font-size:16px; }
  .closed-photo { width:100%; height:320px; }
  .closed-photo img { object-position:center; }
  .closed-copy .btn { width:100%; font-size:13px; }
  .outdoor-layout { display:flex; flex-direction:column; gap:28px; align-items:stretch; }
  .outdoor-number { padding:24px; }
  .outdoor-number>p { font-size:110px; margin:14px 0 8px; }
  .outdoor-number small { font-size:32px; }
  .outdoor-number>span { font-size:12px; }
  .outdoor-copy h2 br { display:none; }
  .outdoor-copy .storage-lead { margin-top:18px; }
  .outdoor-copy .text-link { margin-top:18px; }
  .rail-heading { display:block; }
  .rail-heading h2 { font-size:35px; }
  .storage-rail .storage-lead { margin-top:22px; }
  .rail-system { display:flex; flex-direction:column; align-items:stretch; gap:0; margin:34px 0 28px; }
  .rail-stage { display:grid; grid-template-columns:110px 1fr; gap:4px 22px; align-items:center; }
  .rail-glyph { grid-row:span 2; font-size:44px; margin:0; }
  .rail-stage strong { font-size:15px; align-self:end; }
  .rail-stage p { font-size:12px; margin:0; align-self:start; }
  .rail-connector { height:28px; width:5px; border-block:0; border-inline:1px solid #758073; margin:16px 0 16px 44px; }
  .rail-foot { display:block; }
  .rail-foot .btn { width:100%; margin-top:24px; }
  .storage-process .subsection-head h2 { font-size:33px; }
  .storage-flow { grid-template-columns:1fr; gap:26px; margin-top:26px; }
  .storage-flow li { display:grid; grid-template-columns:44px 1fr; column-gap:18px; }
  .storage-flow li>span { grid-row:span 2; margin:0; font-size:30px; line-height:1.1; }
  .storage-flow h3 { font-size:17px; }
  .storage-flow p { margin-top:8px; font-size:14px; }
  .infra-layout { display:block; }
  .infra-power { margin-block:26px; }
  .infra-power strong { font-size:64px; }
  .infra-power small { font-size:28px; }
  .utility-list { padding-top:32px; gap:22px; font-size:15px; }
  .admin-copy { margin-top:32px; }
  .admin-copy h3 { font-size:27px; }
  .use-heading h2 br { display:none; }
  .use-list { grid-template-columns:1fr 1fr; gap:24px; font-size:22px; margin-top:28px; }
  .international { display:block; padding:26px 22px; margin-top:36px; }
  .international h3 { font-size:29px; }
  .international>div+div { margin-top:22px; }
  .international p { font-size:15px; }
  .international .eyebrow { font-size:10px; }
  .gallery-heading { display:block; margin-bottom:28px; }
  .gallery-heading>p { font-size:14px; margin-top:18px; }
  .gallery-heading>p br { display:none; }
  .storage-gallery-grid { grid-template-columns:1fr 1fr; gap:26px 14px; }
  .gallery-tall { grid-column:1/-1; grid-row:auto; }
  .gallery-tall>a { height:390px; }
  .gallery-tall img { object-position:center 38%; }
  .gallery-wide>a { aspect-ratio:.85; }
  .storage-photo figcaption { font-size:10px; }
  .location-layout { display:block; }
  .location-layout .storage-lead { margin-top:20px; }
  .location-address { margin-top:30px; padding-left:22px; }
  .location-address address { font-size:27px; }
  .location-address p { margin-top:18px; }
  .faq-layout { display:block; }
  .faq-layout>div+div { margin-top:26px; }
  .faq-layout h2 br { display:none; }
  .storage-faq-item summary { font-size:16px; padding-block:18px; gap:16px; }
  .storage-faq-item p { font-size:15px; padding-right:18px; }
  .storage-contact h2 { font-size:35px; }
  .storage-contact .contact-copy>.storage-note { font-size:12px; }
  .storage-lightbox { width:100%; height:100dvh; max-height:100dvh; padding:18px; margin:0; }
  .lightbox-top { margin-bottom:16px; }
  .storage-lightbox h2 { font-size:21px; }
  .lightbox-stage { height:calc(100dvh - 210px); min-height:160px; }
  .lightbox-bottom { display:flex; flex-direction:column; align-items:stretch; gap:16px; }
  .lightbox-bottom>p { font-size:12px; min-height:36px; }
  .gallery-controls { justify-content:space-between; }
}
@media(max-width:374px) {
  .storage-hero h1 { font-size:34px; }
  .storage-hero .hero-actions { flex-direction:column; gap:8px; }
  .storage-hero .hero-actions .btn { flex:auto; justify-content:space-between; }
  .storage-hero .hero-media { height:260px; }
  .storage-page main h2 { font-size:32px; }
  .storage-stats { gap:24px 18px; }
  .storage-stats strong { font-size:35px; }
  .storage-stats span { font-size:10px; }
  .overview-main { height:235px; }
  .overview-detail { height:180px; }
  .outdoor-number>p { font-size:94px; }
  .use-list { font-size:20px; gap:20px; }
  .international { padding:24px 18px; }
  .international h3 { font-size:27px; }
  .rail-stage { grid-template-columns:96px 1fr; gap:4px 16px; }
  .rail-glyph { font-size:39px; }
  .gallery-tall>a { height:330px; }
  .storage-contact h2 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
  .storage-photo,.storage-photo img { clip-path:none!important; transform:none!important; }
  .photo-open { transition:none; }
}
