:root{--ink:#102b66;--blue:#123f91;--electric:#2e79c6;--cream:#f8f4ea;--gold:#c79e49;--red:#e51d42}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--cream)}
body{color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
img{display:block;width:100%;height:auto}
a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.skip-link{position:fixed;z-index:99;top:-5rem;left:1rem;padding:.75rem 1rem;border-radius:.65rem;background:#fff;box-shadow:0 8px 30px rgba(16,43,102,.15);font-weight:750}
.skip-link:focus{top:1rem}

.holding{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:clamp(1.3rem,2.8vh,2.4rem) clamp(1.2rem,4vw,4rem) clamp(.9rem,2vh,1.5rem);
  text-align:center;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 49%,rgba(58,139,210,.17),transparent 29%),
    radial-gradient(circle at 12% 85%,rgba(194,221,240,.36),transparent 27%),
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.7),transparent 23%),
    linear-gradient(135deg,#fbf8f1 0%,#f5f7f4 52%,#eaf3f8 100%);
}
.holding::before{content:"";position:absolute;z-index:-2;inset:0;opacity:.11;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}
.holding::after{content:"";position:absolute;z-index:-1;left:50%;top:51%;width:min(82vw,1180px);height:min(62vh,650px);transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.6);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.75);filter:blur(.1px)}

.brand-area{position:relative;z-index:2;margin-top:auto;margin-bottom:clamp(.8rem,1.7vh,1.25rem)}
.brand-area a{display:block;width:clamp(148px,11vw,188px)}
.message{position:relative;z-index:2;width:min(100%,900px)}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:0 0 clamp(.8rem,1.7vh,1.15rem);color:#3972ac;font-size:.73rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.eyebrow span{width:2rem;height:1px;background:var(--gold)}
h1{margin:0;font-size:clamp(3.7rem,6.25vw,7.15rem);font-weight:760;line-height:.91;letter-spacing:-.065em;text-wrap:balance}
h1 em{color:var(--electric);font-style:normal;font-weight:560}
.intro{max-width:590px;margin:clamp(1rem,2vh,1.4rem) auto 0;color:#53657d;font-size:clamp(1rem,1.1vw,1.14rem);line-height:1.65;text-wrap:balance}

.contact-card{position:relative;z-index:3;width:min(100%,720px);margin-top:clamp(1.25rem,2.6vh,1.9rem);border:1px solid rgba(18,63,145,.14);border-radius:1.2rem;background:rgba(255,255,255,.56);box-shadow:0 24px 65px rgba(19,61,115,.1),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(18px)}
.contact-heading{display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:.95rem 1.3rem;border-bottom:1px solid rgba(18,63,145,.12)}
.contact-heading span{color:#718198;font-size:.69rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.contact-heading span::after{content:"";display:inline-block;width:1.7rem;height:1px;margin:0 0 .2rem 1.2rem;background:rgba(18,63,145,.18)}
.contact-heading a{font-size:clamp(1rem,1.25vw,1.2rem);font-weight:740;letter-spacing:-.01em}
.actions{display:grid;grid-template-columns:repeat(3,1fr)}
.actions a{display:flex;align-items:center;justify-content:center;gap:.75rem;min-width:0;min-height:56px;padding:.75rem 1rem;border-right:1px solid rgba(18,63,145,.1);font-size:.87rem;font-weight:730;transition:background .25s ease,color .25s ease}
.actions a:last-child{border-right:0}
.actions a:hover{color:#fff;background:var(--blue)}
.actions a:first-child:hover{border-radius:0 0 0 1.15rem}
.actions a:last-child:hover{border-radius:0 0 1.15rem 0}
.actions b{display:grid;place-items:center;width:1.7rem;height:1.7rem;flex:0 0 auto;border:1px solid rgba(18,63,145,.2);border-radius:50%;font-size:.76rem;font-weight:500;transition:transform .25s ease,border-color .25s ease}
.actions a:hover b{transform:translate(2px,-2px);border-color:rgba(255,255,255,.35)}

.edge-footer{position:relative;z-index:2;width:min(100%,1120px);display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(18,63,145,.11);color:#7b8797;font-size:.7rem;letter-spacing:.02em}
.edge-footer a{transition:color .2s ease}.edge-footer a:hover{color:var(--blue)}

.atmosphere{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.ring{position:absolute;left:50%;top:49%;border:1px solid rgba(21,75,154,.105);border-radius:50%;transform:translate(-50%,-50%)}
.ring-one{width:min(76vw,1050px);aspect-ratio:1}
.ring-two{width:min(54vw,750px);aspect-ratio:1;border-color:rgba(21,75,154,.07)}
.glow{position:absolute;left:50%;top:48%;width:min(38vw,540px);aspect-ratio:1;border-radius:50%;background:rgba(51,132,206,.1);filter:blur(76px);transform:translate(-50%,-50%);animation:breathe 9s ease-in-out infinite}
.red-dot{position:absolute;right:15%;top:24%;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(229,29,66,.07)}
.gold-mark{position:absolute;left:16%;top:22%;width:42px;height:2px;background:var(--gold);transform:rotate(-24deg);opacity:.8}
@keyframes breathe{0%,100%{opacity:.62}50%{opacity:1}}

@media(max-width:1024px){
  .holding{padding-left:2rem;padding-right:2rem}
  h1{font-size:clamp(3.6rem,8vw,5.4rem)}
  .ring-one{width:96vw}.ring-two{width:70vw}
}

@media(max-width:720px){
  .holding{padding:clamp(.9rem,2.2vh,1.25rem) 1.2rem .75rem}
  .brand-area{margin-bottom:.75rem}.brand-area a{width:132px}
  .eyebrow{gap:.6rem;margin-bottom:.72rem;font-size:.64rem;letter-spacing:.14em}.eyebrow span{width:1.5rem}
  h1{font-size:clamp(3rem,12.5vw,4.05rem);line-height:.91}
  .intro{max-width:520px;margin-top:.85rem;font-size:.94rem;line-height:1.52}
  .contact-card{margin-top:1rem;border-radius:1rem}
  .contact-heading{padding:.72rem 1rem}.contact-heading span::after{width:1rem;margin-left:.75rem}.contact-heading a{font-size:.98rem}
  .actions a{min-height:48px;padding:.65rem .7rem;font-size:.78rem}.actions b{width:1.45rem;height:1.45rem;font-size:.68rem}
  .edge-footer{padding-top:.65rem;gap:1rem;font-size:.62rem}
  .ring-one{width:140vw}.ring-two{width:96vw}.glow{width:72vw}
  .red-dot{right:8%;top:17%}.gold-mark{left:8%;top:20%;width:30px}
}

@media(max-width:430px){
  .holding{padding:.8rem 1rem .65rem}
  .brand-area{margin-bottom:.6rem}.brand-area a{width:118px}
  .eyebrow{margin-bottom:.62rem}
  h1{font-size:clamp(2.7rem,12.1vw,3.28rem)}
  .intro{margin-top:.72rem;font-size:.88rem;line-height:1.46}
  .contact-card{margin-top:.85rem}
  .contact-heading{padding:.62rem .75rem;gap:.65rem}.contact-heading span{font-size:.62rem}.contact-heading span::after{display:none}.contact-heading a{font-size:.92rem}
  .actions a{min-height:44px;padding:.55rem .4rem;font-size:.72rem}.actions b{display:none}
  .edge-footer{align-items:flex-end;padding-top:.55rem;font-size:.57rem}.edge-footer a{max-width:165px;text-align:right}
}

@media(max-height:740px) and (min-width:721px){
  .holding{padding-top:1rem;padding-bottom:.65rem}
  .brand-area{margin-bottom:.55rem}.brand-area a{width:140px}
  .eyebrow{margin-bottom:.55rem}
  h1{font-size:clamp(3.2rem,5.5vw,5.3rem)}
  .intro{margin-top:.7rem;line-height:1.5}
  .contact-card{margin-top:.8rem}.contact-heading{padding:.65rem 1rem}.actions a{min-height:46px}
  .edge-footer{padding-top:.5rem}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.error-page{position:relative;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:7rem 1.25rem 3rem;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(64,141,207,.2),transparent 33%),linear-gradient(135deg,#fbf8f1,#eaf3f8)}
.error-brand{position:absolute;top:1.5rem;left:50%;width:150px;transform:translateX(-50%)}
.error-code{margin:0 0 1rem;color:rgba(18,63,145,.15);font-size:clamp(5rem,13vw,9rem);font-weight:850;line-height:.8;letter-spacing:-.07em}
.error-page .eyebrow{margin-bottom:1rem}.error-page h1{font-size:clamp(2.8rem,7vw,5.6rem)}
.error-copy{margin:1rem 0 1.8rem;color:#607087;font-size:1rem}
.error-action{display:inline-flex;align-items:center;gap:.7rem;min-height:48px;padding:.75rem 1.1rem;border-radius:999px;color:#fff;background:var(--blue);font-size:.85rem;font-weight:750}
