/* Shared editorial system for Sovereignty Global service pages.
   Banking is the reference implementation; later service pages can consume
   these patterns without copying country-specific CSS. */

.bank-page{
  --bank-line:var(--border-medium);
  --bank-line-gold:var(--border-gold);
  --bank-muted:var(--color-text-secondary);
  background:
    radial-gradient(circle at 82% 10%,rgba(201,170,102,.055),transparent 28%),
    linear-gradient(180deg,var(--color-navy-950) 0%,var(--color-navy-900) 42%,#0b1628 100%);
  color:var(--color-text-primary);
}
.bank-page main{overflow:hidden}
.bank-page .site-header{z-index:200}
.bank-shell{
  width:min(calc(100% - 48px),var(--layout-max,1320px));
  margin-inline:auto;
}
.bank-kicker{
  margin:0 0 14px;
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:var(--type-label,.75rem);
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.45;
  text-transform:uppercase;
}
.bank-page h1,
.bank-page h2,
.bank-page h3{
  color:var(--color-text-primary);
  font-family:var(--font-heading);
  font-weight:600;
}
.bank-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.bank-price-note{
  margin:16px 0 0;
  color:var(--bank-muted);
  font-size:.9rem;
  line-height:1.5;
}
.bank-price-note a{
  color:var(--color-gold-light);
  text-decoration:underline;
  text-underline-offset:3px;
}
.bank-button-secondary{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border:1px solid rgba(201,170,102,.65);
  border-radius:var(--radius-pill);
  color:var(--color-light);
  font-family:var(--font-label);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),transform var(--motion-base) var(--ease);
}
.bank-button-secondary:hover{
  transform:translateY(var(--motion-lift-control));
  border-color:var(--color-gold);
  background:rgba(201,170,102,.08);
}
.bank-text-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}
.bank-text-link span{transition:transform var(--motion-fast) var(--ease)}
.bank-text-link:hover span{transform:translateX(4px)}

/* Image-led service hero */
.bank-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:var(--hero-min-height);
  align-items:flex-start;
  overflow:hidden;
  padding:clamp(78px,6vw,104px) 0 clamp(42px,3.5vw,56px);
  background:var(--color-navy-950);
}
.bank-hero::after{
  content:"";
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,170,102,.18),rgba(255,255,255,.08),transparent);
}
.bank-hero__grid{position:relative;z-index:2}
.bank-hero__copy{position:relative;max-width:520px}
.bank-hero h1{
  margin:0;
  font-size:var(--hero-title-size);
  letter-spacing:-.018em;
  line-height:var(--hero-title-leading);
}
.bank-hero h1 span{color:var(--color-gold-light)}
.bank-hero__lead{
  max-width:510px;
  margin:22px 0;
  color:#f1f3f6;
  font-family:var(--font-body);
  font-size:clamp(1.05rem,1.45vw,1.28rem);
  line-height:1.42;
}
.bank-hero__visual{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:var(--color-navy-950);
}
.bank-hero__visual::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(180deg,var(--color-navy-950) 0%,rgba(9,20,38,.84) 5%,transparent 20%,transparent 74%,var(--color-navy-950) 100%),
    linear-gradient(90deg,var(--color-navy-950) 0%,rgba(9,20,38,.96) 16%,rgba(9,20,38,.7) 33%,rgba(9,20,38,.18) 50%,transparent 65%);
}
.bank-hero__image{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
  max-width:none;
  display:block;
  object-fit:cover;
  object-position:right center;
  filter:contrast(1.035) saturate(1.025);
  image-rendering:auto;
  user-select:none;
  transform:translateZ(0);
  -webkit-user-drag:none;
}

/* Cross-service / flagship strip */
.bank-method-strip{
  padding:clamp(22px,3vw,30px) 0;
  border-block:1px solid rgba(201,170,102,.18);
  background:rgba(201,170,102,.055);
}
.bank-method-strip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.bank-method-strip p{
  max-width:880px;
  margin:0;
  color:var(--color-gold-light);
  font-size:.9375rem;
  line-height:1.55;
}
.bank-method-strip strong{color:var(--color-text-primary)}
.bank-method-strip .bank-button-secondary{flex:0 0 auto}

/* Shared section heading */
.bank-section-head{
  max-width:850px;
  margin-bottom:32px;
}
.bank-section-head h2{
  margin:0;
  font-size:clamp(2.55rem,4.15vw,4.35rem);
  letter-spacing:-.018em;
  line-height:1.03;
}
.bank-section-head--split{
  display:grid;
  grid-template-columns:1fr .7fr;
  max-width:none;
  gap:clamp(36px,6vw,70px);
  align-items:end;
}
.bank-section-head--split>p{
  max-width:480px;
  margin:0;
  color:var(--bank-muted);
  font-size:.875rem;
  line-height:1.7;
}

/* Paired personal / business cards */
.bank-pair-section{
  padding:clamp(60px,7vw,94px) 0 clamp(84px,9vw,122px);
  border-top:1px solid rgba(255,255,255,.045);
}
.bank-pair-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.bank-card{
  display:flex;
  min-width:0;
  min-height:520px;
  flex-direction:column;
  padding:clamp(30px,4vw,48px);
  border:1px solid var(--bank-line);
  border-radius:var(--radius-panel);
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  box-shadow:0 26px 70px rgba(2,8,20,.16);
  transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),background var(--motion-base) var(--ease);
}
.bank-card--accent{
  background:
    radial-gradient(circle at 90% 6%,rgba(201,170,102,.09),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
}
.bank-card:hover{
  transform:translateY(var(--motion-lift));
  border-color:var(--border-gold);
}
.bank-pill{
  display:inline-flex;
  width:max-content;
  margin-bottom:20px;
  padding:8px 12px;
  border:1px solid rgba(201,170,102,.3);
  border-radius:var(--radius-pill);
  background:rgba(201,170,102,.04);
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.625rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.bank-card h3{
  max-width:570px;
  margin:0;
  font-size:clamp(1.9rem,2.9vw,2.85rem);
  letter-spacing:-.018em;
  line-height:1.04;
}
.bank-list{
  display:grid;
  gap:0;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.bank-list li{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:14px;
  padding:17px 0;
  border-top:1px solid rgba(255,255,255,.075);
}
.bank-list__marker{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.625rem;
  letter-spacing:.08em;
}
.bank-list--checks .bank-list__marker{
  display:flex;
  width:22px;
  height:22px;
  align-items:center;
  justify-content:center;
  margin-top:1px;
  border:1px solid rgba(201,170,102,.5);
  border-radius:50%;
  font-family:var(--font-body);
  font-size:.6875rem;
  letter-spacing:0;
}
.bank-list b{
  display:block;
  color:#f2f4f7;
  font-size:.8125rem;
  font-weight:600;
  line-height:1.42;
}
.bank-list small{
  display:block;
  max-width:520px;
  margin-top:4px;
  color:#9faab8;
  font-size:.75rem;
  line-height:1.52;
}
.bank-card-cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  margin-top:auto;
  padding:16px 18px;
  border:1px solid var(--border-gold);
  border-radius:var(--radius-control);
  background:rgba(201,170,102,.055);
  color:#f2dfb4;
  font-family:var(--font-label);
  font-size:.6875rem;
  font-weight:600;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
  transition:background var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease);
}
.bank-card-cta:hover{
  border-color:rgba(201,170,102,.62);
  background:rgba(201,170,102,.1);
}
.bank-card-cta span{font-size:1rem}

/* Editorial image + copy composition */
.bank-editorial{
  padding:var(--section-feature,clamp(88px,9vw,120px)) 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.bank-editorial__grid{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  gap:clamp(46px,7vw,100px);
  align-items:center;
}
.bank-editorial__media{
  position:relative;
  min-height:clamp(520px,57vw,760px);
  overflow:hidden;
  border-radius:var(--radius-panel);
  background:var(--color-navy-700);
  box-shadow:0 30px 80px rgba(0,0,0,.24);
}
.bank-editorial__media::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.09);
  border-radius:inherit;
  pointer-events:none;
}
.bank-editorial__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.bank-editorial__copy{max-width:660px}
.bank-editorial h2{
  margin:0;
  font-size:clamp(2.75rem,4.45vw,4.6rem);
  letter-spacing:-.018em;
  line-height:1.02;
}
.bank-editorial__lead{
  max-width:600px;
  margin:22px 0 30px;
  color:#c6ced8;
  font-family:var(--font-body);
  font-size:clamp(1.1rem,1.6vw,1.35rem);
  line-height:1.5;
}
.bank-editorial__points{border-top:1px solid rgba(255,255,255,.09)}
.bank-editorial__points>div{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.bank-editorial__points b{
  color:#f1f3f6;
  font-size:.8125rem;
  line-height:1.45;
}
.bank-editorial__points span{
  color:#9faab8;
  font-size:.75rem;
  line-height:1.55;
}

/* Prominent factual panel */
.bank-fact-panel{padding:0 0 var(--section-standard)}
.bank-fact-panel__card{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(30px,4vw,58px);
  align-items:center;
  padding:clamp(28px,3.5vw,40px) clamp(30px,4vw,48px);
  border:1px solid var(--border-gold);
  border-radius:var(--radius-panel);
  background:
    radial-gradient(circle at 12% 50%,rgba(201,170,102,.1),transparent 34%),
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  box-shadow:0 22px 60px rgba(0,0,0,.16);
}
.bank-fact-panel__number{
  color:var(--color-gold-light);
  font-family:var(--font-stat);
  font-size:clamp(3.2rem,5.3vw,5.4rem);
  font-weight:600;
  letter-spacing:-.05em;
  line-height:.9;
}
.bank-fact-panel h2{
  margin:0;
  font-size:clamp(1.7rem,2.7vw,2.75rem);
  line-height:1.02;
}
.bank-fact-panel__copy>p:not(.bank-kicker){
  max-width:630px;
  margin:12px 0;
  color:#b5c0cd;
  font-size:.8125rem;
  line-height:1.62;
}

/* Audience */
.bank-audience{
  padding:var(--section-standard) 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.bank-audience-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.bank-audience-card{
  min-height:245px;
  padding:26px 23px;
  border:1px solid var(--bank-line);
  border-radius:var(--radius-card);
  background:linear-gradient(150deg,rgba(255,255,255,.045),rgba(255,255,255,.014));
  transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease);
}
.bank-audience-card:hover{
  transform:translateY(var(--motion-lift));
  border-color:var(--border-gold);
}
.bank-audience-card>span:first-child{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.625rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.bank-audience-card h3{
  margin:28px 0 9px;
  font-size:1.55rem;
  line-height:1.1;
}
.bank-audience-card p{
  margin:0;
  color:#a8b3c1;
  font-size:.8125rem;
  line-height:1.6;
}

/* Process timeline */
.bank-process{
  padding:var(--section-standard) 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.bank-process__intro{margin-bottom:40px}
.bank-process__intro h2{
  margin:0;
  font-size:clamp(2.75rem,4.4vw,4.6rem);
  letter-spacing:-.018em;
  line-height:1.02;
}
.bank-step-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid rgba(201,170,102,.36);
}
.bank-step-grid article{
  position:relative;
  padding:34px 28px 12px 0;
}
.bank-step-grid article::before{
  content:"";
  position:absolute;
  top:-5px;
  left:0;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--color-gold);
}
.bank-step-grid article:not(:last-child){
  margin-right:28px;
  padding-right:28px;
  border-right:1px solid rgba(255,255,255,.07);
}
.bank-step-grid article>span{
  color:var(--color-gold-light);
  font-family:var(--font-accent);
  font-size:1rem;
  font-style:italic;
}
.bank-step-grid h3{
  max-width:280px;
  margin:18px 0 8px;
  font-size:1.3rem;
  line-height:1.16;
}
.bank-step-grid p{
  max-width:285px;
  margin:0;
  color:#a9b4c2;
  font-size:.8125rem;
  line-height:1.58;
}

/* Compliance / clarity panel */
.bank-clarity{padding:0 0 38px}
.bank-clarity__card{
  display:grid;
  grid-template-columns:.9fr 1.35fr .85fr;
  min-height:270px;
  overflow:hidden;
  border:1px solid var(--bank-line);
  border-radius:var(--radius-card);
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
}
.bank-clarity__photo{
  background:
    linear-gradient(90deg,rgba(11,21,39,.05),rgba(11,21,39,.55)),
    url('/assets/georgian-banking-globe.webp?v=20260924') center/cover no-repeat;
}
.bank-clarity__copy{
  align-self:center;
  padding:30px 34px;
}
.bank-clarity__copy h2{
  margin:0;
  font-size:clamp(1.9rem,2.85vw,2.95rem);
  line-height:1.03;
}
.bank-clarity__copy p:not(.bank-kicker){
  margin:13px 0 0;
  color:#b4bfcd;
  font-size:.8125rem;
  line-height:1.65;
}
.bank-clarity__points{
  display:grid;
  align-content:center;
  gap:18px;
  margin:0;
  padding:30px 28px;
  border-left:1px solid rgba(255,255,255,.09);
  list-style:none;
}
.bank-clarity__points li{
  position:relative;
  padding-left:27px;
  color:#c6ced8;
  font-size:.75rem;
  line-height:1.5;
}
.bank-clarity__points li::before{
  content:"✓";
  position:absolute;
  left:0;
  display:inline-flex;
  width:18px;
  height:18px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-gold);
  border-radius:50%;
  color:var(--color-gold);
  font-size:.625rem;
}

/* Final CTA */
.bank-end-note{
  padding:18px 0 24px;
  border-top:1px solid var(--border-subtle);
}
.bank-end-note p{
  max-width:760px;
  margin:0;
  color:var(--color-text-muted);
  font-size:.7rem;
  line-height:1.5;
}
.bank-disclaimer-wrap{padding:0 0 28px}
.bank-disclaimer{
  margin:0;
  color:rgba(246,248,251,.5);
  font-size:.75rem;
  line-height:1.55;
}

@supports (content-visibility:auto){
  .bank-page main>section:nth-of-type(n+4){
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
}

@media(max-width:1100px){
  .bank-audience-grid{grid-template-columns:repeat(2,1fr)}
  .bank-editorial__grid{grid-template-columns:.8fr 1.2fr}
  .bank-step-grid{grid-template-columns:repeat(2,1fr);gap:30px 0}
  .bank-step-grid article:nth-child(2){margin-right:0;border-right:0}
  .bank-step-grid article:nth-child(-n+2){padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.07)}
  .bank-clarity__card{grid-template-columns:.75fr 1.25fr}
  .bank-clarity__points{
    grid-column:1/-1;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid rgba(255,255,255,.09);
    border-left:0;
  }
}

@media(max-width:760px){
  .bank-shell{width:min(calc(100% - 32px),var(--layout-max,1320px))}
  .bank-hero{
    display:block;
    min-height:0;
    padding:112px 0 0;
  }
  .bank-hero__grid{padding-bottom:34px}
  .bank-hero__copy{max-width:none}
  .bank-hero__lead{font-size:1.08rem}
  .bank-hero__visual{
    position:relative;
    inset:auto;
    width:100%;
    aspect-ratio:2000/650;
  }
  .bank-hero__visual::after{display:none}
  .bank-hero__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:none;
    transform:none;
  }
  .bank-method-strip__inner{
    align-items:flex-start;
    flex-direction:column;
  }
  .bank-section-head--split,
  .bank-pair-grid,
  .bank-editorial__grid,
  .bank-fact-panel__card,
  .bank-audience-grid,
  .bank-step-grid,
  .bank-clarity__card{
    grid-template-columns:1fr;
  }
  .bank-card{
    min-height:0;
    padding:28px 22px;
  }
  .bank-card-cta{margin-top:26px}
  .bank-editorial__media{min-height:560px}
  .bank-editorial__points>div{grid-template-columns:1fr;gap:6px}
  .bank-fact-panel__number{font-size:clamp(4rem,16vw,6rem)}
  .bank-step-grid{border-top:0}
  .bank-step-grid article,
  .bank-step-grid article:not(:last-child){
    margin:0;
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .bank-step-grid article::before{display:none}
  .bank-step-grid h3,
  .bank-step-grid p{max-width:none}
  .bank-clarity__photo{min-height:210px}
  .bank-clarity__copy{padding:26px 22px 22px}
  .bank-clarity__points{
    grid-template-columns:1fr;
    padding:22px;
    border-left:0;
  }
  .bank-final__card{padding-bottom:92px}
  .bank-final__note{
    right:28px;
    bottom:28px;
    left:28px;
    text-align:left;
  }
}

@media(max-width:520px){
  .bank-actions{align-items:stretch}
  .bank-actions .button,
  .bank-actions .bank-button-secondary{width:100%;justify-content:center}
  .bank-editorial__media{min-height:480px}
}

@media(hover:none){
  .bank-card:hover,
  .bank-audience-card:hover,
  .bank-button-secondary:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .bank-card,
  .bank-audience-card,
  .bank-button-secondary,
  .bank-text-link span,
  .bank-card-cta{transition:none}
}
