/* Cedar Storage — replica of the original cedarstoragewillis.com design */
:root{
  --navy:#1f232f; --rust:#8c4c44; --gray-box:#eaeaea; --text:#666; --dark:#333; --black-footer:#0a0a0a;
  --row:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Open Sans",Arial,sans-serif;font-size:14px;font-weight:500;line-height:1.7;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:Heebo,Helvetica,Arial,sans-serif;font-weight:900;line-height:1.3;padding-bottom:10px}
.row{width:80%;max-width:var(--row);margin:0 auto;position:relative}

/* ---------- header ---------- */
.site-header{background:var(--navy);padding:20px 0 25px;border-bottom:8px solid var(--rust)}
.site-header .row{display:flex;flex-direction:column;align-items:center}
.site-header .logo img{width:223px;height:auto}
.menu{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.menu a{color:#fff;font-size:18px;font-weight:600;line-height:14px;padding:31px 0 31px;transition:opacity .2s}
.menu a:hover{opacity:.7}
.menu a.active{color:var(--rust)}

/* ---------- buttons ---------- */
.btn-outline{display:inline-block;border:1px solid #000;color:var(--rust);font-size:12px;font-weight:700;letter-spacing:6px;text-transform:uppercase;padding:3.6px 12px;line-height:1.7;transition:all .3s}
.btn-outline:hover{background:rgba(0,0,0,.05);letter-spacing:7px}
.btn-solid{display:inline-block;background:var(--rust);color:#fff;font-size:14px;font-weight:700;letter-spacing:5px;text-transform:uppercase;padding:20px 30px;line-height:1.7;transition:all .3s}
.btn-solid:hover{background:#7a4039}
.btn-white{display:inline-block;background:#fff;color:#1b123d;font-size:14px;font-weight:700;letter-spacing:5px;text-transform:uppercase;padding:20px 30px;line-height:1.7;transition:all .3s}
.btn-white:hover{background:#f1f1f1}

/* ---------- home hero ---------- */
.hero{background:linear-gradient(235deg,rgba(224,224,224,.66) 0%,#666 97%),url("images/hero.webp") center/cover no-repeat;padding:51.2px 0 115.2px}
.hero .kicker{font-family:Heebo,Helvetica,Arial,sans-serif;color:#fff;font-size:20px;font-weight:700;letter-spacing:8px;line-height:26px;text-transform:uppercase;padding-bottom:10px}
.hero .spacer{color:#fff;font-size:20px;font-weight:600;line-height:30px}
.hero h1{color:#fff;font-size:100px;line-height:120px;text-transform:uppercase;margin-top:6px}

/* ---------- gray feature box ---------- */
.features{padding-bottom:50.6px}
.features .box{background:var(--gray-box);margin-top:-102.4px;padding:60px 60px 46px;display:grid;grid-template-columns:repeat(3,1fr);gap:5.5%}
.blurb .icon{color:var(--rust);height:50px;margin-bottom:24px;display:flex;align-items:flex-end}
.blurb .icon svg{height:50px;width:auto;fill:var(--rust)}
.blurb .icon .dollar{font-family:Heebo,Arial,sans-serif;font-weight:900;font-size:56px;line-height:50px}
.blurb h4{color:#000;font-size:24px;line-height:31.2px}
.blurb p{color:#000;font-size:16px;line-height:32px;margin-bottom:22px}

/* ---------- about ---------- */
.about{padding:54px 0 50px}
.about .row{display:grid;grid-template-columns:1fr 1fr;gap:5.5%;align-items:center}
.about .text{padding-left:40px}
.about h2{color:var(--dark);font-size:60px;line-height:78px;letter-spacing:2px;text-transform:uppercase}
.about p{font-size:16px;line-height:32px;color:var(--text);margin-bottom:28px}

/* slider */
.slider{position:relative;overflow:hidden;aspect-ratio:4/3;background:#000}
.slider .slides{display:flex;height:100%;transition:transform .5s ease}
.slider img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.slider .arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:48px;line-height:1;cursor:pointer;opacity:0;transition:all .3s;padding:0 14px;text-shadow:0 0 6px rgba(0,0,0,.4)}
.slider:hover .arrow{opacity:1}
.slider .prev{left:0}.slider .next{right:0}
.slider .dots{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:10px}
.slider .dots button{width:7px;height:7px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0}
.slider .dots button.on{background:#fff}

/* ---------- CTA band ---------- */
.cta{background:var(--rust);padding:50.6px 0;text-align:center}
.cta .row{padding:25.3px 0}
.cta h2{color:#fff;font-size:60px;line-height:78px;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}

/* ---------- contact page ---------- */
.contact-hero{background:linear-gradient(235deg,rgba(224,224,224,.66) 0%,#666 98%),url("images/facility-2.webp") center/cover no-repeat;padding:51.2px 0}
.contact-hero .row{display:grid;grid-template-columns:1fr 1fr;gap:5.5%;padding-top:38px;padding-bottom:38px}
.contact-hero h1{color:#fff;font-size:60px;line-height:78px;letter-spacing:2px;text-transform:uppercase;padding-bottom:4px}
.contact-hero h2{color:#fff;font-size:18px;font-weight:700;letter-spacing:4px;line-height:1.3;text-transform:uppercase;padding-bottom:14px}
.social{display:flex;gap:16px;justify-content:flex-end;align-items:flex-start}
.social a{width:52px;height:52px;border-radius:50%;background:rgba(104,104,104,.36);display:grid;place-items:center;transition:background .3s}
.social a:hover{background:rgba(104,104,104,.6)}
.social svg{width:18px;height:18px;fill:#fff}
.info{padding:0}
.info .row{border-left:5px solid #e5e5e5;border-right:5px solid #e5e5e5;padding:75.9px 50.6px;display:grid;grid-template-columns:repeat(3,1fr);gap:5.5%;text-align:center}
.info .icon{height:40px;display:flex;justify-content:center;margin-bottom:14px}
.info .icon svg{height:40px;width:auto;fill:var(--rust)}
.info h6{color:var(--dark);font-size:15px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.info p{font-size:18px;line-height:1.7;color:var(--text)}
.info p.small{font-size:14px}

/* ---------- footer ---------- */
.site-footer{background:var(--black-footer);padding:64px 0}
.site-footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:5.5%;padding:25.3px 0}
.site-footer h6{color:#fff;font-size:15px;font-weight:700;letter-spacing:3px;text-transform:uppercase;font-family:Heebo,Helvetica,Arial,sans-serif;padding-bottom:10px}
.site-footer p{color:rgba(255,255,255,.7);font-size:16px;line-height:32px}
.site-footer p.small{font-size:14px}
.site-footer .follow{display:flex;gap:4px;margin-left:-6px}
.site-footer .follow a{width:48px;height:32px;display:grid;place-items:center}
.site-footer .follow svg{width:14px;height:14px;fill:#fff}
.site-footer .legal{border-top:1px solid rgba(255,255,255,.3);text-align:center;padding:25.3px 0;color:rgba(255,255,255,.7);font-size:16px}
.site-footer a:hover{color:#fff}

/* ---------- tablet / phone ---------- */
@media (max-width:980px){
  .hero h1{font-size:64px;line-height:76px}
  .features .box{grid-template-columns:1fr;gap:30px;padding:40px 30px 20px}
  .about .row,.contact-hero .row{grid-template-columns:1fr;gap:30px}
  .about .text{padding-left:0}
  .info .row{grid-template-columns:1fr;gap:40px}
  .social{justify-content:flex-start}
  .site-footer .cols{grid-template-columns:1fr 1fr;gap:30px}
  .about h2,.cta h2,.contact-hero h1{font-size:44px;line-height:56px}
}
@media (max-width:600px){
  .row{width:88%}
  .hero{padding:40px 0 110px}
  .hero .kicker{font-size:14px;letter-spacing:5px}
  .hero h1{font-size:44px;line-height:52px}
  .menu{gap:16px}
  .menu a{font-size:16px;padding:22px 0 10px}
  .site-header .logo img{width:170px}
  .about h2,.cta h2,.contact-hero h1{font-size:34px;line-height:44px}
  .contact-hero h2{font-size:14px;letter-spacing:3px}
  .info .row{padding:50px 20px}
  .site-footer .cols{grid-template-columns:1fr}
}

/* ---------- terms / privacy page ---------- */
.terms-hero{background:linear-gradient(235deg,rgba(224,224,224,.66) 0%,#666 98%),url("images/terms-banner.webp") center/cover no-repeat;padding:70px 0}
.terms-hero h1{color:#fff;font-size:60px;line-height:72px;letter-spacing:2px;text-transform:uppercase;max-width:820px}
.terms{padding:50px 0}
.terms .divider{width:150px;border:0;border-top:3px solid #000;margin:0 0 50px}
.terms p{color:#000;font-size:15px;line-height:1.75;margin-bottom:14px}
.terms a{color:var(--rust)}
.terms a:hover{text-decoration:underline}
@media (max-width:980px){.terms-hero h1{font-size:44px;line-height:54px}}
@media (max-width:600px){.terms-hero{padding:46px 0}.terms-hero h1{font-size:28px;line-height:36px}}

/* ---------- size guide page ---------- */
.size-hero{background:linear-gradient(235deg,rgba(224,224,224,.66) 0%,#666 98%),url("images/facility-5.webp") center/cover no-repeat;padding:70px 0}
.size-hero h1{color:#fff;font-size:60px;line-height:78px;letter-spacing:2px;text-transform:uppercase;padding-bottom:4px}
.size-hero h2{color:#fff;font-size:18px;font-weight:700;letter-spacing:4px;line-height:1.4;text-transform:uppercase}
.size-intro{padding:50px 0 10px}
.size-intro p{font-size:16px;line-height:32px;color:var(--text);max-width:820px}
.size-list{padding:30px 0 50px}
.size-list .row{display:grid;grid-template-columns:1fr 1fr;gap:40px 5.5%}
.size-card{display:grid;grid-template-columns:160px 1fr;gap:28px;align-items:start;border-top:5px solid #e5e5e5;padding-top:30px}
.fp{text-align:center}
.fp .footprint{width:150px;height:150px}
.fp span{display:block;font-family:Heebo,Arial,sans-serif;font-weight:700;color:var(--rust);letter-spacing:2px;margin-top:6px}
.size-card .cat{font-family:Heebo,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--rust);line-height:1.2}
.size-card h3{color:#000;font-size:26px;line-height:1.25;padding:4px 0 2px}
.size-card .sqft{color:var(--text);font-size:15px;margin-bottom:10px}
.size-card ul{list-style:none;margin-bottom:18px}
.size-card li{color:#000;font-size:15px;line-height:28px;padding-left:18px;position:relative}
.size-card li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--rust)}
.size-tips{padding-bottom:60px}
.size-tips .box{background:var(--gray-box);padding:50px 60px 36px;display:grid;grid-template-columns:repeat(3,1fr);gap:5.5%}
@media (max-width:980px){
  .size-list .row{grid-template-columns:1fr}
  .size-tips .box{grid-template-columns:1fr;gap:20px;padding:36px 30px 20px}
  .size-hero h1{font-size:44px;line-height:56px}
}
@media (max-width:600px){
  .size-card{grid-template-columns:1fr;gap:12px}
  .fp{display:flex;align-items:center;gap:14px}
  .fp .footprint{width:90px;height:90px}
  .size-hero h1{font-size:32px;line-height:40px}
  .size-hero h2{font-size:14px;letter-spacing:3px}
}

/* size guide: even alignment */
.size-list .row{align-items:stretch}
.size-card{height:100%}
.size-card .fp{width:160px}
.size-card .fp .footprint{display:block;margin:0 auto}
.size-card .info-col{display:flex;flex-direction:column;height:100%}
.size-card .sqft{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.size-card ul{flex:1}
.size-card .btn-outline{align-self:flex-start;margin-top:auto}
@media (max-width:600px){.size-card .fp{width:auto}.size-card .sqft{white-space:normal}}
@media (max-width:600px){.size-card .fp{justify-content:flex-start;align-items:flex-end}.size-card .fp .footprint{margin:0}.size-card .fp span{margin:0 0 4px}}
@media (max-width:600px){.size-card .fp{display:block;width:96px;text-align:center}.size-card .fp .footprint{margin:0 auto}.size-card .fp span{margin-top:4px;font-size:12px}}

/* ---------- homepage FAQ ---------- */
.about .serving{font-family:Heebo,Helvetica,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--rust);line-height:1.6;margin-top:-10px}
.faq{padding:10px 0 70px}
.faq h2{color:var(--dark);font-size:60px;line-height:78px;letter-spacing:2px;text-transform:uppercase;padding-bottom:30px}
.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 5.5%;align-items:stretch}
.faq-item{border-top:5px solid #e5e5e5;padding-top:24px}
.faq-item h3{color:#000;font-size:20px;line-height:1.3;min-height:52px}
.faq-item p{color:var(--text);font-size:16px;line-height:30px}
.faq-item a{color:var(--rust);text-decoration:underline}

/* ---------- contact map ---------- */
.map-sec .row{border-left:5px solid #e5e5e5;border-right:5px solid #e5e5e5;padding:0 50.6px 60px}
.map-sec iframe{display:block;width:100%;height:400px;border:0}

@media (max-width:980px){
  .faq-grid{grid-template-columns:1fr 1fr}
  .faq h2{font-size:44px;line-height:56px}
}
@media (max-width:600px){
  .faq-grid{grid-template-columns:1fr;gap:28px}
  .faq h2{font-size:34px;line-height:44px;padding-bottom:16px}
  .faq-item h3{min-height:0}
  .map-sec .row{padding:0 16px 40px}
  .map-sec iframe{height:300px}
}
.faq-item h3{line-height:26px;min-height:52px;padding-bottom:0;margin-bottom:12px}
@media (max-width:600px){.faq-item h3{min-height:0}}
