/* Vaultcraft production visual pass 01 — 2026-10-18.
   Presentational only: no auth, payments, state, routing, or backend behavior changed.
   Integrated into the Meridian public-site source generator
   before allowing Website Studio to overwrite these pages. */
:root{
  --vc-bg:#040b13;--vc-card:#0a1c2b;--vc-card2:#10283a;--vc-line:#24465b;
  --vc-text:#f3fafc;--vc-muted:#a5bdca;--vc-cyan:#72e2e4;--vc-blue:#52a3fa;
  --vc-green:#4edab4;--vc-gold:#f2cf81;
  --vc-surface-raised:rgba(12,32,47,.96);--vc-rim:rgba(123,203,226,.17);
  --vc-shadow:0 22px 70px rgba(0,4,11,.27);
}
html{scroll-padding-top:100px}
body.vc-design-pass{
  background: radial-gradient(ellipse at 12% 2%,rgba(24,101,152,.22),transparent 29%),
              radial-gradient(ellipse at 95% 6%,rgba(11,113,109,.18),transparent 25%),
              linear-gradient(180deg,#06131f 0%,#050c16 39%,#081421 100%);
  color:var(--vc-text);text-rendering:optimizeLegibility;
}
.vc-design-pass .vc-shell{max-width:1296px}
.vc-design-pass .vc-nav-wrap{
  border-bottom:1px solid rgba(126,196,213,.16);
  background:rgba(4,15,25,.92);box-shadow:0 10px 35px rgba(0,4,11,.16);
}
.vc-design-pass .vc-nav{min-height:76px;gap:17px}
.vc-design-pass .vc-brand{font-weight:900;letter-spacing:.11em;font-size:14px}
.vc-design-pass .vc-brand img{
  border:1px solid rgba(135,219,234,.43);border-radius:14px;
  box-shadow:0 0 0 4px rgba(57,145,169,.09),0 8px 20px rgba(0,0,0,.28);
}
.vc-design-pass .vc-navlinks{gap:3px}
.vc-design-pass .vc-navlinks>a:not(.vc-login){
  padding:10px 11px;border-radius:9px;color:#b6ccd6;transition:background .18s,color .18s;
  font-size:13px;min-height:38px;
}
.vc-design-pass .vc-navlinks>a:not(.vc-login):hover,
.vc-design-pass .vc-navlinks>a.on:not(.vc-login),
.vc-design-pass .vc-navlinks>a[aria-current="page"]:not(.vc-login){
  background:rgba(68,171,190,.12);color:#e6fcff;
}
.vc-design-pass .vc-navlinks .vc-login{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;
  padding:9px 18px!important;border:1px solid rgba(245,201,109,.35)!important;
  border-radius:11px;background:linear-gradient(145deg,rgba(69,56,25,.63),rgba(23,36,44,.94));
  color:#ffe6a8!important;box-shadow:inset 0 1px rgba(255,236,183,.09);
  letter-spacing:.06em;font-size:12px;font-weight:850;
}
.vc-design-pass h1,.vc-design-pass h2,.vc-design-pass h3{letter-spacing:-.037em;text-wrap:balance}
.vc-design-pass .vc-gradient{
  background:linear-gradient(110deg,#85ecdc 5%,#6adce7 47%,#8ebcfb 94%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.vc-design-pass .vc-kicker,.vc-design-pass .vc-eyebrow{
  color:#8fdee0;letter-spacing:.15em;font-weight:850;
}
.vc-design-pass .vc-muted{color:var(--vc-muted)}
.vc-design-pass .vc-lead{color:#b9d2df;max-width:760px;line-height:1.65}
.vc-design-pass .vc-section{padding-top:72px;padding-bottom:72px}
.vc-design-pass .vc-section-head{align-items:end;gap:16px;margin-bottom:24px}
.vc-design-pass .vc-section-head>a{color:#97e8e6;font-weight:700}
.vc-design-pass .vc-card,
.vc-design-pass .vc-servercard,
.vc-design-pass .vc-join-step,
.vc-design-pass .vc-outcome{
  border-color:var(--vc-rim);background:linear-gradient(150deg,rgba(14,40,57,.94),rgba(7,24,36,.96));
  box-shadow:var(--vc-shadow);
}
.vc-design-pass .vc-card{border-radius:19px}
.vc-design-pass .vc-card:hover{border-color:rgba(106,224,223,.4)}
.vc-design-pass .vc-btn{
  border:1px solid rgba(113,176,203,.31);border-radius:11px;
  background:linear-gradient(165deg,#173a4e,#0d293b);color:#e8f9ff!important;
  padding:12px 19px;font-weight:790;letter-spacing:.012em;
  box-shadow:inset 0 1px 0 rgba(250,255,255,.045);
  transition:background .18s,transform .18s,box-shadow .18s,border-color .18s;
}
.vc-design-pass .vc-btn.primary{
  background:linear-gradient(115deg,#287ce9,#087e9b);border-color:#4faed0;
  box-shadow:0 8px 28px rgba(22,119,182,.22),inset 0 1px 0 rgba(255,255,255,.17);
}
.vc-design-pass .vc-btn.ghost{background:rgba(5,19,32,.38);border-color:rgba(144,200,222,.28)}
.vc-design-pass .vc-btn:hover{transform:translateY(-2px);border-color:#78c9d5;box-shadow:0 14px 32px rgba(0,5,12,.32)}
.vc-design-pass .vc-pill{border-color:rgba(117,203,212,.35);background:rgba(60,143,160,.1);color:#c8f5f2}
.vc-design-pass .vc-footer{
  background:linear-gradient(180deg,rgba(4,14,24,.2),#071522 48%,#06101b);
  border-top:1px solid rgba(124,204,220,.22);
}
.vc-design-pass .vc-footer-grid{gap:34px}
.vc-design-pass .vc-footer a{color:#b3d1dd}
.vc-design-pass .vc-footer a:hover{color:#92ede9}
.vc-design-pass .vc-footer-bottom{border-top-color:rgba(124,204,220,.13)}
.vc-design-pass .vc-photo-strip img,
.vc-design-pass .vc-culture-image img,
.vc-design-pass .vc-live-media-card img{filter:saturate(.98) contrast(1.035);transition:transform .3s ease,filter .3s ease}
.vc-design-pass .vc-photo-strip a:hover img,
.vc-design-pass .vc-culture-photo:hover img,
.vc-design-pass .vc-live-media-card:hover img{filter:saturate(1.1) contrast(1.04);transform:scale(1.035)}
.vc-design-pass .vc-photo-strip a,
.vc-design-pass .vc-culture-image{overflow:hidden;border-radius:14px}
.vc-design-pass :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #eecb72;outline-offset:3px;
}
/* Home: immersive first impression; legible photography and restrained framing. */
.vc-page-home .vc-hero-stage{
  border-bottom:1px solid rgba(126,210,225,.18);
  background-image:linear-gradient(90deg,rgba(2,12,23,.94) 0%,rgba(3,18,31,.84) 33%,rgba(4,19,31,.35) 68%,rgba(4,14,24,.62) 100%),url('/assets/gallery/capital-skyline-2026.webp');
  background-position:center 48%;height:clamp(460px,59vh,650px);
}
.vc-page-home .vc-hero-stage .inner{max-width:770px}
.vc-page-home .vc-hero-stage h1{font-size:clamp(52px,5.45vw,76px);max-width:720px;line-height:.99}
.vc-page-home .vc-hero-stage .vc-lead{font-size:clamp(17px,1.7vw,20px);max-width:540px}
.vc-page-home .vc-hero-live{border-radius:12px;max-width:max-content;background:rgba(3,16,27,.65);border:1px solid rgba(116,206,223,.2);padding:10px 13px;backdrop-filter:blur(8px)}
.vc-page-home .vc-flagship{overflow:hidden;padding:0}
.vc-page-home .vc-flagship .copy{padding:18px 21px 22px}
.vc-page-home .vc-flagship .visual{min-height:155px}
.vc-page-home .vc-outcome{border-radius:12px}
/* Join: make the admissions pathway easy to follow. */
.vc-page-join .vc-hero{padding-top:76px;padding-bottom:40px;gap:36px}
.vc-page-join .vc-hero h1{max-width:800px;line-height:1.03}
.vc-page-join .vc-servercard{border-radius:22px;border-top:3px solid rgba(107,225,218,.7)}
.vc-page-join .vc-join-roadmap{gap:12px}
.vc-page-join .vc-join-step{border-radius:14px;padding:18px;position:relative}
.vc-page-join .vc-join-step .n{background:rgba(45,140,157,.18);border-color:rgba(89,196,201,.28);color:#a8f8e8}
.vc-page-join .vc-apply-banner{border-color:rgba(132,214,219,.29);background:linear-gradient(115deg,rgba(21,70,80,.38),rgba(9,25,42,.95))}
.vc-page-join .vc-application-card{border-left:3px solid #55c8c5}
/* Client: preserve live download status and custom client visual. */
.vc-page-client .vc-client .product-hero{
  border-color:rgba(123,215,224,.32);background:radial-gradient(circle at 83% 46%,rgba(25,138,156,.19),transparent 40%),linear-gradient(135deg,#0a2134,#081b2a 55%,#0a2835);
  border-radius:25px;box-shadow:0 28px 90px rgba(0,7,17,.29);
}
.vc-page-client .vc-client .product-hero .intro{color:#bcd7df}
.vc-page-client .vc-client .overview article,
.vc-page-client .vc-client .install-card,
.vc-page-client .vc-client .reassurance{border-color:rgba(122,205,223,.2);border-radius:18px;background:linear-gradient(155deg,rgba(13,40,56,.95),rgba(6,22,34,.98))}
.vc-page-client .vc-client .version-strip>*{border-color:rgba(112,198,213,.2)}
/* Price index: image-safe cards and FIX DESKTOP INLINE GRID OVERRIDE ON MOBILE. */
.vc-page-price-index .vc-price-card{min-width:0;gap:14px;padding:18px;border-radius:16px}
.vc-page-price-index .vc-price-top{min-width:0}
.vc-page-price-index .vc-price-info{overflow-wrap:anywhere}
.vc-page-price-index .vc-economy-quick{border-top:3px solid rgba(105,218,213,.56);height:auto;position:static;min-width:0;overflow-wrap:anywhere}
.vc-page-price-index .vc-price-value{min-width:0}
.vc-page-price-index .vc-price-tabs{gap:8px;flex-wrap:wrap}
.vc-page-price-index .vc-filter-pills{row-gap:8px}
.vc-page-price-index .vc-filter-pills a{border-radius:999px}
.vc-page-price-index .vc-relevant-note{border-radius:13px}
.vc-page-price-index #prices{scroll-margin-top:100px}
/* Editorial / community pages */
.vc-page-news .vc-news-featured{border:1px solid rgba(117,206,224,.23);border-radius:22px;box-shadow:var(--vc-shadow)}
.vc-page-news .vc-news-card{border-color:rgba(121,204,216,.21)}
.vc-page-culture .vc-culture-photo{border-radius:17px;overflow:hidden}
.vc-page-guide .vc-guide-grid .vc-card,.vc-page-help .vc-card,.vc-page-world .vc-card{border-radius:18px}
.vc-design-pass :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  max-width:100%;border-color:rgba(122,191,207,.38);color:#e9f7fa;
}
.vc-design-pass ::placeholder{color:#88aab8;opacity:1}
@media(max-width:1190px){
  .vc-design-pass .vc-navlinks>a:not(.vc-login){padding:9px 7px;font-size:12px}
}
@media(max-width:960px){
  .vc-design-pass .vc-section{padding-top:56px;padding-bottom:56px}
  .vc-design-pass .vc-hero h1{font-size:clamp(46px,8vw,75px)}
  .vc-page-price-index .vc-economy-hero{grid-template-columns:minmax(0,1fr)!important;gap:20px}
  .vc-page-price-index .vc-economy-quick{width:100%;max-width:100%}
}
@media(max-width:860px){
  .vc-design-pass .vc-nav{min-height:69px}
  .vc-design-pass .vc-navlinks{top:calc(100% - 1px);background:#071b2a;border:1px solid rgba(119,209,222,.25);border-radius:0 0 18px 18px;padding:12px;box-shadow:0 20px 48px rgba(0,4,11,.46)}
  .vc-design-pass .vc-navlinks>a:not(.vc-login){font-size:14px;padding:12px}
  .vc-design-pass .vc-mobile-toggle{background:#113146;border-color:rgba(121,214,225,.38);border-radius:10px}
}
@media(max-width:700px){
  .vc-design-pass .vc-shell{padding-left:18px;padding-right:18px}
  .vc-design-pass .vc-section{padding-top:42px;padding-bottom:42px}
  .vc-design-pass .vc-section h2{font-size:clamp(29px,8.2vw,43px);line-height:1.08}
  .vc-design-pass .vc-lead{font-size:16px;line-height:1.65}
  .vc-design-pass .vc-section-head{align-items:start;flex-direction:column;gap:8px}
  .vc-design-pass .vc-actions{gap:10px}
  .vc-design-pass .vc-btn{font-size:13px;min-height:44px}
  .vc-design-pass .vc-card{padding:17px;border-radius:16px}
  .vc-page-home .vc-hero-stage{min-height:550px;height:auto;background-position:59% center}
  .vc-page-home .vc-hero-stage .inner{padding:52px 0 44px}
  .vc-page-home .vc-hero-stage h1{font-size:clamp(43px,12vw,61px)}
  .vc-page-home .vc-hero-stage .vc-lead{font-size:16px}
  .vc-page-home .vc-hero-live{max-width:100%;box-sizing:border-box}
  .vc-page-join .vc-hero{padding-top:52px;gap:23px}
  .vc-page-join .vc-join-roadmap{grid-template-columns:1fr!important;gap:10px}
  .vc-page-join .vc-join-step{padding:16px 17px}
  .vc-page-client .vc-client .product-hero{border-radius:18px;padding:23px 20px}
  .vc-page-price-index .vc-hero.vc-economy-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:22px;padding-top:54px}
  .vc-page-price-index .vc-hero.vc-economy-hero>div{min-width:0!important;width:100%;max-width:100%}
  .vc-page-price-index .vc-hero.vc-economy-hero h1{font-size:clamp(38px,10.5vw,59px);line-height:1.04;overflow-wrap:normal}
  .vc-page-price-index .vc-economy-quick{margin:0!important;padding:20px!important;position:static!important;transform:none!important;grid-column:1!important;max-width:100%}
  .vc-page-price-index .vc-search{grid-template-columns:1fr!important}
  .vc-page-price-index .vc-price-top{grid-template-columns:58px minmax(0,1fr) auto;gap:10px}
  .vc-page-price-index .vc-price-info h3{font-size:18px}
  .vc-page-price-index .vc-price-browser{grid-template-columns:minmax(0,1fr)!important}
  .vc-page-price-index .vc-price-card{padding:14px!important}
  .vc-page-price-index .vc-price-values{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
  .vc-page-price-index .vc-price-value{padding:11px 8px}
  .vc-page-price-index .vc-price-value strong{font-size:clamp(15px,5vw,21px);overflow-wrap:anywhere}
  .vc-page-culture .vc-culture-grid{grid-template-columns:minmax(0,1fr)}
  .vc-design-pass .vc-footer-grid{gap:22px}
}
@media(prefers-reduced-motion:reduce){
  .vc-design-pass .vc-btn,.vc-design-pass .vc-card,.vc-design-pass img{transition:none!important;transform:none!important}
}
/* Last-resort media presentation for third-party images that cannot be fetched.
   The original link stays intact; no unrelated location photo is substituted. */
.vc-design-pass .vc-culture-image,
.vc-design-pass .vc-news-thumb{
  position:relative;
  background-color:#0b2234;
  background-image:radial-gradient(circle at 50% 40%,rgba(41,111,133,.34),rgba(7,23,35,.94) 72%),url('/assets/vaultcraft-logo.png');
  background-position:center,center;
  background-size:cover,72px;
  background-repeat:no-repeat;
}
.vc-design-pass .vc-culture-image.vc-media-unavailable::after,
.vc-design-pass .vc-news-thumb.vc-media-unavailable::after{
  content:'Image temporarily unavailable';position:absolute;inset:auto 6px 10px;
  color:#b8d7e1;font-size:10px;letter-spacing:.04em;text-align:center;
  pointer-events:none;
}
