@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=League+Spartan:wght@400;500;600;700&family=Epilogue:wght@400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html,body{
  overflow-x:hidden!important;
  max-width:100vw;
  position:relative;
}

html{scroll-behavior:smooth}

body{
  font-family:'Epilogue',sans-serif;
  font-size:1rem;
  line-height:1.65;
  color:#1a1f2e;
  background-color:#eef1f4;
  background-image:
    linear-gradient(90deg,rgba(26,31,46,.03) 1px,transparent 1px),
    linear-gradient(rgba(26,31,46,.03) 1px,transparent 1px),
    radial-gradient(circle at 20% 30%,rgba(45,90,120,.04) 0%,transparent 50%),
    radial-gradient(circle at 80% 70%,rgba(180,50,50,.02) 0%,transparent 40%);
  background-size:48px 48px,48px 48px,100% 100%,100% 100%;
}

img{max-width:100%;height:auto;display:block}

a{text-decoration:none;color:inherit;transition:color .25s ease,border-color .25s ease}

ul{list-style:none}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
}

section{
  overflow-x:hidden;
  max-width:100%;
  box-sizing:border-box;
}

:root{
  --vault-white:#eef1f4;
  --pale-steel:#d8dde3;
  --frosted-metal:#c5ccd4;
  --brushed-steel:#b0b8c2;
  --security-grey:#8a939e;
  --vault-black:#0f1419;
  --graphite:#1a1f2e;
  --deep-navy:#1e2a3a;
  --gunmetal:#2a3544;
  --seal-red:#b83232;
  --access-green:#2d6a4f;
  --verification-blue:#2563a8;
  --key-brass:#9a7b4f;
  --cold-cyan:#3a8a9e;
  --muted-steel:#6b7580;
  --lock-grey:#5a6470;
  --panel-ivory:#f4f6f8;
  --panel-metal:#e2e6ea;
  --shadow-vault:0 8px 32px rgba(15,20,25,.12);
  --shadow-lift:0 16px 48px rgba(15,20,25,.18);
  --font-head:'League Spartan',sans-serif;
  --font-body:'Epilogue',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --radius-sm:4px;
  --radius-md:8px;
  --transition:.3s cubic-bezier(.4,0,.2,1);
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.02em;
}

h1{font-size:clamp(2.2rem,5vw,3.6rem)}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
h3{font-size:clamp(1.2rem,2.5vw,1.5rem)}

.seal-label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted-steel);
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.seal-label::before{
  content:'';
  width:24px;
  height:2px;
  background:var(--seal-red);
}

.section-label{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--verification-blue);
  margin-bottom:12px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--font-head);
  font-weight:600;
  font-size:.9rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:14px 28px;
  border:none;
  cursor:pointer;
  transition:transformations var(--transition);
  border-radius:var(--radius-sm);
}

.btn-primary{
  background:var(--vault-black);
  color:var(--vault-white);
  border:2px solid var(--vault-black);
}

.btn-primary:hover{
  background:var(--access-green);
  border-color:var(--access-green);
  transform:translateY(-2px);
  box-shadow:var(--shadow-lift);
}

.btn-secondary{
  background:transparent;
  color:var(--graphite);
  border:2px solid var(--graphite);
}

.btn-secondary:hover{
  border-color:var(--verification-blue);
  color:var(--verification-blue);
  transform:translateY(-2px);
}

.btn-accent{
  background:var(--seal-red);
  color:#fff;
  border:2px solid var(--seal-red);
}

.btn-accent:hover{
  background:var(--vault-black);
  border-color:var(--vault-black);
  transform:translateY(-2px);
}

.link-underline{
  position:relative;
  font-family:var(--font-head);
  font-weight:600;
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--verification-blue);
}

.link-underline::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:0;
  height:2px;
  background:var(--seal-red);
  transition:width var(--transition);
}

.link-underline:hover::after{width:100%}

.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  background:rgba(238,241,244,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(26,31,46,.08);
  transition:box-shadow var(--transition),background var(--transition);
}

.header.scrolled{
  box-shadow:var(--shadow-vault);
  background:rgba(238,241,244,.98);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  gap:24px;
}

.logo img{height:36px;width:auto}

.logo-text{
  font-family:var(--font-head);
  font-weight:700;
  font-size:1.1rem;
  letter-spacing:.08em;
  color:var(--vault-black);
}

.nav-desktop{
  display:flex;
  align-items:center;
  gap:32px;
}

.nav-desktop a{
  font-family:var(--font-head);
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--graphite);
  position:relative;
}

.nav-desktop a::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:0;
  height:2px;
  background:var(--access-green);
  transition:width var(--transition);
}

.nav-desktop a:hover::after,.nav-desktop a.active::after{width:100%}

.header-meta{
  display:flex;
  align-items:center;
  gap:20px;
}

.custody-status{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--access-green);
  padding:6px 12px;
  border:1px solid rgba(45,106,79,.3);
  background:rgba(45,106,79,.06);
  border-radius:var(--radius-sm);
  display:none;
}

@media(min-width:1024px){
  .custody-status{display:block}
}

.burger{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  width:44px;
  height:44px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  z-index:1001;
}

.burger span{
  display:block;
  width:100%;
  height:2px;
  background:var(--vault-black);
  transition:all var(--transition);
  transform-origin:center;
}

.burger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(min-width:1024px){
  .burger{display:none}
}

.mobile-nav{
  position:fixed;
  top:0;
  right:-100%;
  width:100%;
  max-width:400px;
  height:100vh;
  height:100dvh;
  background:rgba(244,246,248,.98);
  backdrop-filter:blur(16px);
  z-index:999;
  padding:100px 40px 40px;
  transition:right var(--transition);
  overflow-y:auto;
  overflow-x:hidden;
  border-left:1px solid rgba(26,31,46,.1);
}

.mobile-nav.open{right:0}

.mobile-nav ul{display:flex;flex-direction:column;gap:8px}

.mobile-nav a{
  font-family:var(--font-head);
  font-size:1.4rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--graphite);
  padding:16px 0;
  border-bottom:1px solid rgba(26,31,46,.06);
  display:block;
}

.mobile-nav a:hover{color:var(--verification-blue)}

.mobile-close{
  position:absolute;
  top:24px;
  right:24px;
  width:44px;
  height:44px;
  background:none;
  border:1px solid var(--graphite);
  cursor:pointer;
  font-size:1.5rem;
  color:var(--graphite);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-sm);
}

body.menu-open{overflow:hidden}

.hero{
  padding:140px 0 80px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(238,241,244,1) 0%,rgba(226,230,234,.95) 100%);
}

.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(26,31,46,.04) 1px,transparent 1px),
    linear-gradient(rgba(26,31,46,.04) 1px,transparent 1px);
  background-size:64px 64px;
  pointer-events:none;
}

.hero-parallax{
  position:absolute;
  top:10%;
  right:-5%;
  width:40%;
  height:80%;
  background:linear-gradient(135deg,rgba(37,99,168,.03),rgba(45,106,79,.03));
  border:1px solid rgba(26,31,46,.06);
  pointer-events:none;
  display:none;
}

@media(min-width:1025px){
  .hero-parallax{display:block}
}

.hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  align-items:center;
  position:relative;
  z-index:1;
}

@media(min-width:1024px){
  .hero-grid{grid-template-columns:1.1fr .9fr}
}

.hero-content p{
  font-size:1.1rem;
  color:var(--muted-steel);
  margin:24px 0 32px;
  max-width:540px;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
}

.hero-image-wrap{
  position:relative;
  border:1px solid rgba(26,31,46,.1);
  box-shadow:var(--shadow-vault);
}

.hero-image-wrap::before{
  content:'';
  position:absolute;
  top:-8px;
  left:-8px;
  right:8px;
  bottom:8px;
  border:1px solid var(--seal-red);
  opacity:.3;
  pointer-events:none;
}

.hero-image-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover}

.verification-panel{
  margin-top:32px;
  padding:24px;
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.08);
  border-left:3px solid var(--verification-blue);
}

.verification-panel h4{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--verification-blue);
  margin-bottom:16px;
}

.verification-rows{display:flex;flex-direction:column;gap:10px}

.verification-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid rgba(26,31,46,.06);
  font-size:.85rem;
}

.verification-row span:first-child{
  font-family:var(--font-mono);
  font-size:.7rem;
  color:var(--muted-steel);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.verification-row .status-verified{color:var(--access-green);font-weight:600;font-family:var(--font-mono);font-size:.7rem}
.verification-row .status-sealed{color:var(--seal-red);font-weight:600;font-family:var(--font-mono);font-size:.7rem}
.verification-row .status-pending{color:var(--key-brass);font-weight:600;font-family:var(--font-mono);font-size:.7rem}

.custody-cards-mini{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:24px;
}

@media(min-width:640px){
  .custody-cards-mini{grid-template-columns:repeat(4,1fr)}
}

.custody-card-mini{
  padding:16px;
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.08);
  text-align:center;
  transition:transform var(--transition),box-shadow var(--transition);
}

.custody-card-mini:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-vault);
}

.custody-card-mini .code{
  font-family:var(--font-mono);
  font-size:.65rem;
  color:var(--verification-blue);
  letter-spacing:.08em;
  margin-bottom:6px;
}

.custody-card-mini p{
  font-family:var(--font-head);
  font-size:.78rem;
  font-weight:600;
  color:var(--graphite);
  line-height:1.3;
}

.section{padding:80px 0;position:relative}

.section-dark{
  background:var(--deep-navy);
  color:var(--vault-white);
}

.section-dark .seal-label{color:var(--pale-steel)}
.section-dark .seal-label::before{background:var(--cold-cyan)}
.section-dark p{color:var(--pale-steel)}

.section-header{
  margin-bottom:48px;
  max-width:640px;
}

.section-header p{
  margin-top:16px;
  color:var(--muted-steel);
}

.section-dark .section-header p{color:var(--pale-steel)}

.custody-signals{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}

@media(min-width:768px){
  .custody-signals{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:1024px){
  .custody-signals{grid-template-columns:repeat(3,1fr)}
}

.signal-panel{
  padding:32px;
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.08);
  position:relative;
  transition:transform var(--transition),box-shadow var(--transition);
}

.signal-panel::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--seal-red),var(--verification-blue));
  opacity:0;
  transition:opacity var(--transition);
}

.signal-panel:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lift);
}

.signal-panel:hover::before{opacity:1}

.signal-panel .signal-id{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.1em;
  color:var(--seal-red);
  margin-bottom:12px;
}

.signal-panel h3{margin-bottom:16px;font-size:1.1rem}

.signal-flow{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:20px;
  padding-top:20px;
  border-top:1px dashed rgba(26,31,46,.12);
}

.signal-step{font-size:.82rem;color:var(--muted-steel)}
.signal-step strong{
  display:block;
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--graphite);
  margin-bottom:4px;
}

.verification-standard{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  align-items:center;
}

@media(min-width:1024px){
  .verification-standard{grid-template-columns:1fr 1fr}
}

.verification-image img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.1);
}

.checks-list{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:32px;
}

.check-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.check-icon{
  width:32px;
  height:32px;
  flex-shrink:0;
  stroke:var(--access-green);
  fill:none;
  stroke-width:2;
}

.check-item h4{
  font-size:.9rem;
  margin-bottom:4px;
}

.check-item p{font-size:.85rem;color:var(--pale-steel)}

.releases-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

.featured-release{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(26,31,46,.1);
  transition:transform var(--transition),box-shadow var(--transition);
}

.featured-release:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-lift);
}

.featured-release img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

.featured-release-content{
  padding:32px;
  background:var(--panel-ivory);
}

.release-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:16px;
}

.release-tag{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.08em;
  padding:4px 10px;
  background:rgba(37,99,168,.08);
  color:var(--verification-blue);
  border:1px solid rgba(37,99,168,.2);
}

.release-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}

@media(min-width:768px){
  .release-cards{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:1024px){
  .release-cards{grid-template-columns:repeat(3,1fr)}
}

.release-card{
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.08);
  overflow:hidden;
  transition:transform var(--transition),box-shadow var(--transition);
}

.release-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lift);
}

.release-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}

.release-card-body{padding:24px}

.release-card .release-id{
  font-family:var(--font-mono);
  font-size:.65rem;
  color:var(--seal-red);
  letter-spacing:.08em;
  margin-bottom:8px;
}

.custody-note{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  align-items:center;
}

@media(min-width:1024px){
  .custody-note{grid-template-columns:1.2fr .8fr}
}

.custody-note blockquote{
  margin:32px 0;
  padding:24px 32px;
  border-left:3px solid var(--seal-red);
  background:var(--panel-ivory);
  font-family:var(--font-head);
  font-size:1.15rem;
  font-weight:500;
  color:var(--graphite);
  line-height:1.5;
}

.custody-note-image img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border:1px solid rgba(26,31,46,.1);
}

.service-compartments{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.compartment-item{
  border:1px solid rgba(26,31,46,.08);
  background:var(--panel-ivory);
  overflow:hidden;
}

.compartment-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 32px;
  cursor:pointer;
  gap:16px;
  transition:background var(--transition);
}

.compartment-header:hover{background:rgba(37,99,168,.04)}

.compartment-header h3{font-size:1.05rem}

.compartment-code{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.1em;
  color:var(--verification-blue);
  margin-bottom:4px;
}

.compartment-toggle{
  width:32px;
  height:32px;
  border:1px solid var(--graphite);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:transform var(--transition),background var(--transition);
}

.compartment-toggle svg{
  width:16px;
  height:16px;
  stroke:var(--graphite);
  fill:none;
  stroke-width:2;
  transition:transform var(--transition);
}

.compartment-item.open .compartment-toggle svg{transform:rotate(180deg)}

.compartment-body{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}

.compartment-body-inner{
  padding:0 32px 32px;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

@media(min-width:768px){
  .compartment-body-inner{grid-template-columns:repeat(3,1fr)}
}

.compartment-col h4{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--seal-red);
  margin-bottom:8px;
}

.compartment-col p{font-size:.88rem;color:var(--muted-steel)}

.sequence{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  position:relative;
}

@media(min-width:768px){
  .sequence{grid-template-columns:repeat(7,1fr)}
}

.sequence-step{
  padding:24px 16px;
  text-align:center;
  position:relative;
  border-bottom:1px solid rgba(255,255,255,.08);
}

@media(min-width:768px){
  .sequence-step{
    border-bottom:none;
    border-right:1px solid rgba(255,255,255,.08);
  }
  .sequence-step:last-child{border-right:none}
}

.sequence-num{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.1em;
  color:var(--cold-cyan);
  margin-bottom:12px;
}

.sequence-step h4{font-size:.85rem;margin-bottom:8px}

.sequence-step p{font-size:.75rem;color:var(--pale-steel)}

.proof-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:32px;
}

@media(min-width:768px){
  .proof-grid{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:1024px){
  .proof-grid{grid-template-columns:repeat(4,1fr)}
}

.proof-item{
  padding:32px;
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.08);
  text-align:center;
}

.proof-stat{
  font-family:var(--font-head);
  font-size:clamp(2rem,4vw,2.8rem);
  font-weight:700;
  color:var(--vault-black);
  margin-bottom:8px;
}

.proof-label{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted-steel);
}

.proof-quote{
  grid-column:1/-1;
  padding:40px;
  background:var(--deep-navy);
  color:var(--vault-white);
  border-left:4px solid var(--seal-red);
}

.proof-quote p{
  font-size:1.1rem;
  font-style:italic;
  margin-bottom:16px;
  color:var(--pale-steel);
}

.proof-quote cite{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--cold-cyan);
  font-style:normal;
}

.marquee-section{
  padding:40px 0;
  background:var(--vault-black);
  overflow:hidden;
  max-width:100vw;
}

.marquee-wrap{
  overflow:hidden;
  max-width:100vw;
  width:100%;
}

.marquee{
  display:flex;
  width:max-content;
  animation:marquee 40s linear infinite;
}

.marquee-reverse{
  animation:marquee-reverse 35s linear infinite;
  margin-top:12px;
}

.marquee-item{
  flex-shrink:0;
  padding:8px 32px;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--pale-steel);
  white-space:nowrap;
  border-right:1px solid rgba(255,255,255,.1);
}

.marquee-item .dot{
  display:inline-block;
  width:6px;
  height:6px;
  background:var(--seal-red);
  border-radius:50%;
  margin-right:12px;
  vertical-align:middle;
}

@keyframes marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

@keyframes marquee-reverse{
  0%{transform:translateX(-50%)}
  100%{transform:translateX(0)}
}

.cta-section{
  padding:80px 0;
  background:
    linear-gradient(135deg,var(--graphite) 0%,var(--deep-navy) 100%);
  color:var(--vault-white);
  position:relative;
  overflow:hidden;
}

.cta-section::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:32px 32px;
}

.cta-inner{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  align-items:center;
  position:relative;
  z-index:1;
}

@media(min-width:1024px){
  .cta-inner{grid-template-columns:1.2fr .8fr}
}

.cta-inner p{color:var(--pale-steel);margin:16px 0 32px}

.cta-note{
  font-family:var(--font-mono);
  font-size:.75rem;
  color:var(--cold-cyan);
  margin-top:16px;
}

.contact-preview{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
}

@media(min-width:1024px){
  .contact-preview{grid-template-columns:1fr 1fr}
}

.contact-details{display:flex;flex-direction:column;gap:20px}

.contact-item{
  padding:20px;
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.08);
  border-left:3px solid var(--verification-blue);
}

.contact-item label{
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted-steel);
  display:block;
  margin-bottom:6px;
}

.contact-item span,.contact-item p{font-size:.95rem;color:var(--graphite)}

.map-preview{
  width:100%;
  height:280px;
  border:1px solid rgba(26,31,46,.1);
  overflow:hidden;
}

.map-preview iframe,.map-full iframe{
  width:100%;
  height:100%;
  border:0;
}

.footer{
  background:var(--vault-black);
  color:var(--pale-steel);
  padding:80px 0 40px;
}

.footer-seal{
  text-align:center;
  padding-bottom:48px;
  margin-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.footer-seal h2{
  font-size:clamp(1.4rem,3vw,2rem);
  color:var(--vault-white);
  max-width:600px;
  margin:0 auto 16px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  margin-bottom:48px;
}

@media(min-width:768px){
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:1024px){
  .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}
}

.footer-brand p{
  font-size:.9rem;
  margin-top:16px;
  max-width:320px;
}

.footer-col h4{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--vault-white);
  margin-bottom:20px;
}

.footer-col ul{display:flex;flex-direction:column;gap:10px}

.footer-col a{
  font-size:.88rem;
  color:var(--pale-steel);
  transition:color var(--transition);
}

.footer-col a:hover{color:var(--cold-cyan)}

.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding-top:32px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.8rem;
}

.page-hero{
  padding:140px 0 60px;
  background:var(--deep-navy);
  color:var(--vault-white);
}

.page-hero p{
  color:var(--pale-steel);
  margin-top:16px;
  max-width:600px;
}

.page-content{padding:80px 0}

.page-content p{margin-bottom:20px;color:var(--muted-steel)}

.page-content h2{
  margin:40px 0 20px;
  font-size:1.6rem;
}

.page-content h3{
  margin:32px 0 16px;
  font-size:1.2rem;
}

.page-content ul,.page-content ol{
  margin:16px 0 24px 24px;
  color:var(--muted-steel);
}

.page-content li{margin-bottom:8px}

.content-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  align-items:start;
}

@media(min-width:1024px){
  .content-grid{grid-template-columns:1fr 1fr}
}

.content-image img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid rgba(26,31,46,.1);
}

.faq-list{display:flex;flex-direction:column;gap:12px;margin-top:40px}

.faq-item{
  border:1px solid rgba(26,31,46,.08);
  background:var(--panel-ivory);
  overflow:hidden;
}

.faq-question{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 24px;
  cursor:pointer;
  gap:16px;
  font-family:var(--font-head);
  font-weight:600;
  font-size:1rem;
}

.faq-question:hover{background:rgba(37,99,168,.04)}

.faq-toggle{
  width:28px;
  height:28px;
  border:1px solid var(--graphite);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.faq-toggle svg{
  width:14px;
  height:14px;
  stroke:var(--graphite);
  fill:none;
  stroke-width:2;
  transition:transform var(--transition);
}

.faq-item.open .faq-toggle svg{transform:rotate(180deg)}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease;
}

.faq-answer-inner{
  padding:0 24px 24px;
  color:var(--muted-steel);
  font-size:.92rem;
}

.form-panel{
  padding:40px;
  background:var(--panel-ivory);
  border:1px solid rgba(26,31,46,.1);
  border-top:3px solid var(--seal-red);
}

.form-group{margin-bottom:24px}

.form-group label{
  display:block;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--graphite);
  margin-bottom:8px;
}

.form-group input,.form-group textarea,.form-group select{
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(26,31,46,.15);
  background:#fff;
  font-family:var(--font-body);
  font-size:1rem;
  color:var(--graphite);
  border-radius:var(--radius-sm);
  transition:border-color var(--transition),box-shadow var(--transition);
}

.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none;
  border-color:var(--verification-blue);
  box-shadow:0 0 0 3px rgba(37,99,168,.12);
}

.form-group input.error,.form-group textarea.error{
  border-color:var(--seal-red);
}

.form-group textarea{min-height:160px;resize:vertical}

.form-error{
  font-size:.8rem;
  color:var(--seal-red);
  margin-top:6px;
  display:none;
}

.form-group.has-error .form-error{display:block}

.contact-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
}

@media(min-width:1024px){
  .contact-layout{grid-template-columns:1fr 1.2fr}
}

.map-full{
  width:100%;
  height:400px;
  margin-top:48px;
  border:1px solid rgba(26,31,46,.1);
}

.hours-table{
  width:100%;
  margin-top:24px;
  border-collapse:collapse;
}

.hours-table td{
  padding:12px 0;
  border-bottom:1px solid rgba(26,31,46,.08);
  font-size:.9rem;
}

.hours-table td:first-child{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--muted-steel);
}

.thanks-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:120px 24px 80px;
  background:var(--deep-navy);
  color:var(--vault-white);
  text-align:center;
}

.thanks-content{max-width:560px}

.thanks-icon{
  width:64px;
  height:64px;
  margin:0 auto 32px;
  border:2px solid var(--access-green);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.thanks-icon svg{
  width:32px;
  height:32px;
  stroke:var(--access-green);
  fill:none;
  stroke-width:2;
}

.thanks-content h1{margin-bottom:16px}

.thanks-content p{color:var(--pale-steel);margin-bottom:32px}

.legal-page{padding:140px 0 80px}

.legal-content{
  max-width:800px;
  margin:0 auto;
}

.legal-content h1{margin-bottom:8px}

.legal-content .updated{
  font-family:var(--font-mono);
  font-size:.75rem;
  color:var(--muted-steel);
  margin-bottom:40px;
}

.legal-content h2{
  font-size:1.4rem;
  margin:48px 0 16px;
  padding-top:24px;
  border-top:1px solid rgba(26,31,46,.08);
}

.legal-content h3{
  font-size:1.1rem;
  margin:32px 0 12px;
}

.legal-content p,.legal-content li{
  color:var(--muted-steel);
  margin-bottom:16px;
  line-height:1.75;
}

.legal-content ul,.legal-content ol{
  margin:16px 0 24px 24px;
}

.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

.stagger-children .reveal:nth-child(1){transition-delay:.1s}
.stagger-children .reveal:nth-child(2){transition-delay:.2s}
.stagger-children .reveal:nth-child(3){transition-delay:.3s}
.stagger-children .reveal:nth-child(4){transition-delay:.4s}
.stagger-children .reveal:nth-child(5){transition-delay:.5s}
.stagger-children .reveal:nth-child(6){transition-delay:.6s}

.line-icon{
  stroke-dasharray:100;
  stroke-dashoffset:100;
  transition:stroke-dashoffset 1s ease;
}

.line-icon.drawn{stroke-dashoffset:0}

@media(max-width:1023px){
  .btn{width:100%;text-align:center}
  .hero-actions .btn{width:auto;flex:1;min-width:140px}
}

@media(max-width:767px){
  .section{padding:60px 0}
  .hero{padding:120px 0 60px}
  .form-panel{padding:24px}
  .compartment-header{padding:20px}
  .compartment-body-inner{padding:0 20px 24px}
}

@media(min-width:1025px) and (hover:hover){
  .parallax-layer{
    will-change:transform;
    transition:transform .1s linear;
  }
}
