:root {
  --navy:#071a36; --navy-2:#0d2448; --navy-3:#12325f; --gold:#dfbd76;
  --gold-light:#f1d89f; --background:#f7f9fc; --text:#10233d;
  --muted:#617085; --line:#dce4ed; --header-height:96px;
  --radius:24px; --shadow:0 24px 65px rgba(7,26,54,.12);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--header-height); }
body {
  margin:0; overflow-x:hidden; background:var(--background); color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.visually-hidden {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link {
  position:fixed; top:12px; left:12px; z-index:200; padding:10px 16px;
  transform:translateY(-150%); border-radius:8px; background:var(--gold);
  color:var(--navy); font-weight:800;
}
.skip-link:focus { transform:translateY(0); }
.container { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }

.site-header {
  position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(16,35,61,.1);
  background:rgba(255,255,255,.97); box-shadow:0 8px 30px rgba(7,26,54,.06);
  backdrop-filter:blur(16px);
}
.header-inner { min-height:var(--header-height); display:flex; align-items:center; gap:32px; }
.brand { flex:0 0 auto; }
.brand img { width:238px; height:76px; object-fit:contain; }
.site-nav {
  display:flex; align-items:center; gap:30px; margin-left:auto;
  color:#344a64; font-size:.93rem; font-weight:700;
}
.site-nav a { position:relative; }
.site-nav a::after {
  position:absolute; right:0; bottom:-6px; left:0; height:2px; content:"";
  transform:scaleX(0); transform-origin:left; background:var(--gold);
  transition:transform 180ms ease;
}
.site-nav a:hover::after,.site-nav a:focus-visible::after { transform:scaleX(1); }
.menu-toggle { display:none; }

.button {
  min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 22px; border:1px solid var(--gold); border-radius:999px;
  background:linear-gradient(180deg,var(--gold-light),var(--gold));
  box-shadow:0 10px 25px rgba(194,151,65,.22); color:var(--navy);
  font-weight:850; line-height:1.2;
  transition:transform 180ms ease,box-shadow 180ms ease;
}
.button:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(194,151,65,.3); }
.button-small { min-height:46px; padding:11px 18px; font-size:.88rem; }

.hero {
  position:relative; min-height:min(760px,calc(100svh - var(--header-height)));
  display:flex; align-items:stretch; isolation:isolate; overflow:hidden; color:#fff;
  background:
    linear-gradient(90deg,rgba(7,26,54,.98) 0%,rgba(7,26,54,.91) 40%,rgba(7,26,54,.52) 72%,rgba(7,26,54,.63) 100%),
    url("../images/hero-storage-hall.png") center/cover no-repeat;
}
.hero::after {
  position:absolute; inset:auto 0 0; z-index:-1; height:38%; content:"";
  background:linear-gradient(180deg,transparent,rgba(7,26,54,.62)); pointer-events:none;
}
.hero-content {
  min-height:inherit; display:flex; flex-direction:column; justify-content:center;
  padding-block:82px 42px;
}
.eyebrow {
  display:flex; align-items:center; gap:10px; margin:0 0 18px; color:var(--navy-3);
  font-size:.76rem; font-weight:850; letter-spacing:.16em; line-height:1.4; text-transform:uppercase;
}
.eyebrow span { width:34px; height:2px; flex:0 0 auto; background:var(--gold); }
.eyebrow-on-dark { color:var(--gold-light); }
.hero h1 {
  max-width:850px; margin:0; font-size:clamp(3.9rem,7vw,6.8rem);
  font-weight:900; letter-spacing:-.065em; line-height:.91; text-wrap:balance;
}
.hero-lead {
  max-width:680px; margin:26px 0 0; color:rgba(255,255,255,.84);
  font-size:clamp(1.08rem,2vw,1.35rem); line-height:1.6; text-wrap:pretty;
}
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:34px; }
.text-link {
  display:inline-flex; align-items:center; gap:9px; color:var(--navy);
  font-size:.94rem; font-weight:850;
}
.text-link span { color:#9b701b; transition:transform 180ms ease; }
.text-link:hover span { transform:translate(2px,-2px); }
.text-link-on-dark { color:#fff; }
.text-link-on-dark span { color:var(--gold-light); }
.hero-details {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;
  margin-top:auto; padding-top:66px;
}
.hero-detail {
  min-width:0; display:flex; align-items:center; gap:16px; padding:14px 22px;
  border-left:1px solid rgba(255,255,255,.22);
}
.hero-detail:first-child { padding-left:0; border-left:0; }
.detail-number { color:var(--gold); font-size:.75rem; font-weight:900; }
.hero-detail strong,.hero-detail small { display:block; }
.hero-detail strong { margin-bottom:2px; color:#fff; font-size:.93rem; }
.hero-detail small {
  overflow-wrap:anywhere; color:rgba(255,255,255,.67);
  font-size:.78rem; line-height:1.45;
}

.section {
  min-block-size:calc(100svh - var(--header-height));
  display:flex;
  align-items:center;
  padding-block:112px;
}
.section-intro { max-width:780px; }
.section-intro h2,.coming-soon-panel h2 {
  margin:0; color:var(--navy); font-size:clamp(2.45rem,5vw,4.6rem);
  font-weight:850; letter-spacing:-.055em; line-height:.98; text-wrap:balance;
}
.section-intro>p:last-child {
  max-width:690px; margin:24px 0 0; color:var(--muted);
  font-size:1.12rem; line-height:1.7;
}
.about { background:#fff; }
.principles {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:62px;
}
.principle {
  min-height:270px; padding:26px 24px; border:1px solid var(--line);
  border-top:3px solid var(--gold); border-radius:var(--radius); background:var(--background);
  transition:transform 180ms ease,box-shadow 180ms ease;
}
.principle:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.principle-mark { display:block; margin-bottom:44px; color:#9b701b; font-size:.77rem; font-weight:900; }
.principle h3 { margin:0 0 12px; color:var(--navy); font-size:1.35rem; letter-spacing:-.02em; }
.principle p { margin:0; color:var(--muted); font-size:.94rem; line-height:1.65; }

.solutions {
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(145deg,var(--navy) 0%,var(--navy-2) 62%,var(--navy-3) 100%);
}
.solutions::before {
  position:absolute; top:-160px; right:-120px; width:480px; height:480px;
  border:1px solid rgba(223,189,118,.12); border-radius:50%; content:"";
}
.section-intro-on-dark h2 { color:#fff; }
.section-intro-on-dark>p:last-child { color:rgba(255,255,255,.72); }
.solution-grid {
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px; margin-top:62px;
}
.solution-card {
  min-height:390px; display:flex; flex-direction:column; padding:32px;
  border:1px solid rgba(255,255,255,.12); border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.04));
  box-shadow:0 24px 56px rgba(0,0,0,.13);
}
.solution-topline { display:flex; align-items:center; gap:14px; color:var(--gold); font-size:.78rem; font-weight:900; }
.solution-line { height:1px; flex:1; background:rgba(223,189,118,.35); }
.solution-card h3 {
  margin:58px 0 18px; color:#fff; font-size:clamp(1.7rem,2.7vw,2.25rem);
  letter-spacing:-.04em; line-height:1.05;
}
.solution-card p { margin:0 0 32px; color:rgba(255,255,255,.7); font-size:.96rem; }
.solution-card .text-link { margin-top:auto; color:var(--gold-light); }
.solution-card .text-link span { color:var(--gold); }

.coming-soon { background:var(--background); }
.coming-soon-panel {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  align-items:end; gap:72px; padding:64px; border:1px solid var(--line);
  border-radius:32px; background:#fff; box-shadow:var(--shadow);
}
.coming-soon-panel h2 { max-width:770px; font-size:clamp(2.2rem,4.4vw,4.2rem); }
.coming-soon-panel>p {
  margin:0; padding-left:24px; border-left:2px solid var(--gold);
  color:var(--muted); line-height:1.72;
}

.contact {
  min-block-size:max(0px,calc(100svh - var(--contact-header-height,var(--header-height)) - var(--footer-height,0px)));
  background:#fff;
}
.contact-layout {
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  align-items:center; gap:clamp(64px,10vw,150px);
}
.contact-action { display:flex; justify-content:flex-end; }
.contact-button { min-width:220px; }

.footer {
  padding:18px 20px 24px;
  text-align:center;
  color:rgba(255,255,255,.7);
  font-size:12px;
  line-height:1.55;
  background:var(--navy);
  border-top:1px solid rgba(255,255,255,.1);
}
.footerLogo {
  width:86px;
  height:auto;
  margin:0 auto 8px;
  filter:brightness(0) invert(1);
  opacity:.72;
}
.footer a {
  color:rgba(255,255,255,.7);
  transition:color .2s ease;
}
.footer a:hover { color:#fff; }
.footerAddress { margin-top:3px; }
.footerContact { margin-top:2px; }
.footerContact a { overflow-wrap:anywhere; }
.footerLegal { margin-top:8px; font-size:11px; }

@media (min-width:700px) and (max-width:1100px) {
  .footer { padding:28px 32px 32px; }
}

@media (min-width:1101px) {
  :root { --desktop-content-max:1200px; }
  .footer {
    display:grid;
    grid-template-columns:auto minmax(220px,1fr) minmax(260px,1fr) auto;
    align-items:center;
    gap:18px 32px;
    padding:34px max(40px,calc((100% - var(--desktop-content-max))/2));
    text-align:left;
  }
  .footerLogo { width:96px; margin:0; }
  .footerAddress,.footerContact,.footerLegal { margin:0; }
  .footerLegal { text-align:right; }
}

.legal-main {
  min-block-size:calc(100svh - var(--header-height));
  display:flex;
  align-items:center;
  padding-block:80px;
  background:var(--background);
}
.legal-card {
  max-width:820px; padding:56px; border:1px solid var(--line); border-radius:32px;
  background:#fff; box-shadow:var(--shadow);
}
.legal-card h1 {
  margin:0; color:var(--navy); font-size:clamp(2.7rem,6vw,5rem);
  letter-spacing:-.055em; line-height:.98;
}
.legal-card>p:not(.eyebrow) {
  max-width:650px; margin:26px 0 0; color:var(--muted); font-size:1.08rem;
}
.legal-company-details {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;
  margin-top:34px;
}
.legal-detail {
  padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--background);
}
.legal-detail span,.legal-detail strong,.legal-detail address,.legal-detail a { display:block; }
.legal-detail span {
  margin-bottom:7px; color:var(--muted); font-size:.75rem;
  font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.legal-detail strong,.legal-detail address,.legal-detail a {
  color:var(--navy); font-size:.96rem; font-style:normal; font-weight:750; line-height:1.55;
}
.legal-detail a:hover { color:#8a6110; }
.legal-back { margin-top:34px; }

@media (min-width:1041px) {
  .solutions { padding-block:64px; }
  .solutions .section-intro h2 { font-size:clamp(2.45rem,4.7vw,4.35rem); }
  .solutions .section-intro>p:last-child { margin-top:18px; line-height:1.6; }
  .solutions .solution-grid { margin-top:34px; }
  .solutions .solution-card { min-height:315px; padding:26px 28px; }
  .solutions .solution-card h3 { margin:38px 0 14px; }
  .solutions .solution-card p { margin-bottom:20px; line-height:1.55; }
}

@media (max-width:1040px) {
  .container { width:min(100% - 64px,960px); }
  .header-inner { gap:22px; }
  .brand img { width:210px; }
  .site-nav { gap:20px; }
  .principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .principle { min-height:230px; }
  .coming-soon-panel { gap:42px; padding:52px; }
  .contact-layout { gap:52px; }
}

@media (max-width:767px) {
  :root { --header-height:82px; }
  .container { width:calc(100% - 36px); }
  .header-inner { position:relative; min-height:var(--header-height); }
  .brand img { width:184px; height:66px; }
  .menu-toggle {
    min-width:46px; min-height:46px; display:inline-flex; align-items:center; justify-content:center;
    margin-left:auto; padding:8px 12px; border:1px solid var(--line); border-radius:999px;
    background:#fff; color:var(--navy); cursor:pointer;
  }
  .menu-toggle-lines { width:20px; display:grid; gap:4px; }
  .menu-toggle-lines span {
    width:100%; height:2px; display:block; border-radius:999px; background:currentColor;
    transition:transform 180ms ease,opacity 180ms ease;
  }
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] .menu-toggle-lines span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .site-nav {
    position:absolute; top:calc(100% + 1px); right:-18px; left:-18px; display:grid;
    gap:0; margin:0; padding:12px 18px 22px; border-bottom:1px solid var(--line);
    background:#fff; box-shadow:0 20px 38px rgba(7,26,54,.12);
  }
  .site-nav a {
    min-height:52px; display:flex; align-items:center; padding-inline:12px;
    border-bottom:1px solid #edf1f5; font-size:1rem;
  }
  .site-nav a::after { display:none; }
  .js .site-nav { display:none; }
  .js .site-nav[data-open="true"] { display:grid; }
  .hero {
    min-height:auto;
    background:
      linear-gradient(180deg,rgba(7,26,54,.76) 0%,rgba(7,26,54,.9) 50%,rgba(7,26,54,.99) 100%),
      url("../images/hero-storage-hall.png") 43% center/cover no-repeat;
  }
  .hero-content { min-height:calc(100svh - var(--header-height)); padding-block:70px 32px; }
  .hero h1 { font-size:clamp(3.35rem,15vw,5.2rem); }
  .hero-lead { margin-top:22px; font-size:1.04rem; line-height:1.55; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:20px; margin-top:28px; }
  .hero-actions .button { width:100%; }
  .hero-actions .text-link { align-self:center; }
  .hero-details {
    grid-template-columns:1fr; margin-top:48px; padding-top:0;
    border-top:1px solid rgba(255,255,255,.2);
  }
  .hero-detail { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); border-left:0; }
  .hero-detail:last-child { border-bottom:0; }
  .section { padding-block:80px; }
  .section-intro h2,.coming-soon-panel h2 { font-size:clamp(2.45rem,12vw,3.5rem); }
  .section-intro>p:last-child { margin-top:20px; font-size:1rem; }
  .principles,.solution-grid { grid-template-columns:1fr; margin-top:42px; }
  .principle { min-height:auto; }
  .principle-mark { margin-bottom:30px; }
  .solution-card { min-height:330px; padding:28px; }
  .solution-card h3 { margin-top:44px; }
  .coming-soon-panel { grid-template-columns:1fr; gap:32px; padding:34px 26px; border-radius:24px; }
  .coming-soon-panel>p { padding:18px 0 0; border-top:2px solid var(--gold); border-left:0; }
  .contact-layout { grid-template-columns:1fr; gap:42px; }
  .contact-action { justify-content:flex-start; }
  .contact-button { width:100%; }
  .legal-main { padding-block:56px; }
  .legal-card { padding:34px 26px; border-radius:24px; }
  .legal-company-details { grid-template-columns:1fr; }
}

@media (max-width:380px) {
  .container { width:calc(100% - 28px); }
  .brand img { width:168px; }
  .hero h1 { font-size:3.15rem; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
