/* Shared editorial design system for non-banking service pages.
   Uses the banking pages as the visual benchmark without duplicating their
   country-specific components. */

.service-page{
  --service-line:var(--border-medium);
  --service-muted:var(--color-text-secondary);
  background:
    radial-gradient(circle at 82% 10%,rgba(201,170,102,.05),transparent 30%),
    linear-gradient(180deg,var(--color-navy-950) 0%,var(--color-navy-900) 42%,#0b1628 100%);
  color:var(--color-text-primary);
}
.service-page main{overflow:hidden}
.service-shell{
  width:min(calc(100% - 48px),var(--layout-max,1320px));
  margin-inline:auto;
}
.service-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;
}
.service-page h1,
.service-page h2,
.service-page h3{
  margin:0;
  color:var(--color-text-primary);
  font-family:var(--font-heading);
  font-weight:600;
  letter-spacing:-.018em;
}
.service-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:28px;
}
.service-price-note{
  margin:16px 0 0;
  color:var(--service-muted);
  font-size:.9rem;
  line-height:1.5;
}
.service-price-note a{
  color:var(--color-gold-light);
  text-decoration:underline;
  text-underline-offset:3px;
}
.service-button-secondary{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border:1px solid var(--border-gold);
  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);
}
.service-button-secondary:hover{
  transform:translateY(var(--motion-lift-control));
  border-color:var(--color-gold);
  background:rgba(201,170,102,.08);
}
.service-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;
}
.service-text-link span{transition:transform var(--motion-fast) var(--ease)}
.service-text-link:hover span{transform:translateX(4px)}

/* Image-led hero */
.service-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);
}
.service-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);
}
.service-hero__grid{position:relative;z-index:2}
.service-hero__copy{max-width:560px}
.service-hero h1{
  max-width:760px;
  font-size:var(--hero-title-size);
  letter-spacing:-.018em;
  line-height:var(--hero-title-leading);
}
.service-hero h1 span{color:var(--color-gold-light)}
.service-hero__lead{
  max-width:560px;
  margin:24px 0 0;
  color:#f1f3f6;
  font-family:var(--font-body);
  font-size:clamp(1.08rem,1.55vw,1.32rem);
  line-height:1.46;
}
.service-hero__visual{
  position:absolute;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:var(--color-navy-950);
}
.service-hero__visual::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(180deg,var(--color-navy-950) 0%,rgba(9,20,38,.82) 5%,transparent 20%,transparent 74%,var(--color-navy-950) 100%),
    linear-gradient(90deg,var(--color-navy-950) 0%,rgba(9,20,38,.97) 18%,rgba(9,20,38,.72) 36%,rgba(9,20,38,.22) 54%,transparent 70%);
}
.service-hero__image{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:right center;
}

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

/* Editorial statement / split */
.service-editorial{
  padding:var(--section-feature,clamp(88px,9vw,120px)) 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.service-editorial__grid{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  gap:clamp(46px,7vw,100px);
  align-items:center;
}
.service-editorial__grid--reverse{
  grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);
}
.service-editorial__grid--reverse .service-editorial__media{order:2}
.service-editorial__grid--reverse .service-editorial__copy{order:1}
.service-editorial__media{
  position:relative;
  min-height:clamp(500px,54vw,720px);
  overflow:hidden;
  border-radius:var(--radius-panel);
  background:var(--color-navy-700);
  box-shadow:0 30px 80px rgba(0,0,0,.24);
}
.service-editorial__media::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.09);
  border-radius:inherit;
  pointer-events:none;
}
.service-editorial__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.service-editorial__copy{max-width:680px}
.service-editorial h2{
  font-size:clamp(2.75rem,4.45vw,4.55rem);
  line-height:1.02;
}
.service-editorial__lead{
  max-width:610px;
  margin:22px 0 30px;
  color:#c6ced8;
  font-family:var(--font-body);
  font-size:clamp(1.1rem,1.6vw,1.35rem);
  line-height:1.5;
}
.service-editorial__points{border-top:1px solid rgba(255,255,255,.09)}
.service-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);
}
.service-editorial__points b{
  color:#f1f3f6;
  font-size:.8125rem;
  line-height:1.45;
}
.service-editorial__points span{
  color:#9faab8;
  font-size:.75rem;
  line-height:1.55;
}

/* Big factual / numerical strip */
.service-facts{
  padding:0 0 var(--section-standard);
}
.service-facts__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  border:1px solid var(--service-line);
  border-radius:var(--radius-panel);
  background:rgba(255,255,255,.02);
}
.service-fact{
  min-height:190px;
  padding:30px;
}
.service-fact+.service-fact{border-left:1px solid rgba(255,255,255,.08)}
.service-fact strong{
  display:block;
  color:var(--color-gold-light);
  font-family:var(--font-stat);
  font-size:clamp(3rem,5vw,5rem);
  font-weight:600;
  letter-spacing:-.04em;
  line-height:.95;
}
.service-fact span{
  display:block;
  max-width:280px;
  margin-top:14px;
  color:var(--service-muted);
  font-size:.8125rem;
  line-height:1.55;
}

/* Service cards */
.service-cards{
  padding:var(--section-standard) 0;
  border-top:1px solid rgba(255,255,255,.055);
}
.service-section-head{
  display:grid;
  grid-template-columns:1fr .75fr;
  gap:clamp(36px,6vw,80px);
  align-items:end;
  margin-bottom:36px;
}
.service-section-head h2{
  max-width:820px;
  font-size:clamp(2.55rem,4.15vw,4.35rem);
  line-height:1.03;
}
.service-section-head>p{
  max-width:520px;
  margin:0;
  color:var(--service-muted);
  font-size:.875rem;
  line-height:1.7;
}
.service-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-card{
  display:flex;
  min-height:310px;
  flex-direction:column;
  padding:30px;
  border:1px solid var(--service-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),background var(--motion-base) var(--ease);
}
.service-card:hover{
  transform:translateY(var(--motion-lift));
  border-color:var(--border-gold);
  background:linear-gradient(150deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
}
.service-card__label{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.625rem;
  font-weight:600;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.service-card h3{
  margin:24px 0 12px;
  font-size:clamp(1.75rem,2.4vw,2.35rem);
  line-height:1.05;
}
.service-card p{
  margin:0;
  color:#aeb9c7;
  font-size:.8125rem;
  line-height:1.65;
}
.service-card .service-text-link{margin-top:auto;padding-top:26px}

/* Large clarity / caution panel */
.service-clarity{
  padding:0 0 38px;
}
.service-clarity__card{
  display:grid;
  grid-template-columns:.9fr 1.35fr .85fr;
  min-height:270px;
  overflow:hidden;
  border:1px solid var(--service-line);
  border-radius:var(--radius-card);
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
}
.service-clarity__photo{
  background:
    linear-gradient(90deg,rgba(11,21,39,.05),rgba(11,21,39,.55)),
    var(--clarity-image,url('/assets/photos/who.jpg')) center/cover no-repeat;
}
.service-page--residency .service-clarity__card{--clarity-image:url('/assets/photos/residency-clarity.webp')}
.service-page--mobility .service-clarity__card{--clarity-image:url('/assets/photos/residency-clarity.webp')}
.service-clarity__copy{
  align-self:center;
  padding:30px 34px;
}
.service-clarity__copy h2{
  font-size:clamp(1.9rem,2.85vw,2.95rem);
  line-height:1.03;
}
.service-clarity__copy p:not(.service-kicker){
  margin:13px 0 0;
  color:#b4bfcd;
  font-size:.8125rem;
  line-height:1.65;
}
.service-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;
}
.service-clarity__points li{
  position:relative;
  padding-left:27px;
  color:#c6ced8;
  font-size:.75rem;
  line-height:1.5;
}
.service-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;
}

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

/* Final CTA */
.service-end-note{
  padding:18px 0 34px;
  border-top:1px solid var(--border-subtle);
}
.service-end-note p{
  max-width:760px;
  margin:0;
  color:var(--color-text-muted);
  font-size:.7rem;
  line-height:1.5;
}
/* Residency foundation: a calmer, more editorial split than the generic service block.
   Kept page-scoped so other service pages retain the shared system unchanged. */
.service-page--residency .service-editorial{
  position:relative;
  padding:clamp(82px,8vw,112px) 0;
}
.service-page--residency .service-editorial::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg,transparent 6%,rgba(201,170,102,.22) 34%,rgba(255,255,255,.08) 72%,transparent 94%);
}
.service-page--residency .service-editorial__grid{
  grid-template-columns:minmax(350px,.84fr) minmax(0,1.16fr);
  gap:clamp(64px,7vw,112px);
  align-items:start;
}
.service-page--residency .service-editorial__media{
  min-height:0;
  aspect-ratio:4/5;
  max-height:680px;
  border-radius:clamp(24px,2.2vw,32px);
  background:#0d1728;
  box-shadow:0 30px 78px rgba(0,0,0,.24),0 0 0 1px rgba(201,170,102,.04);
}
.service-page--residency .service-editorial__media::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(180deg,rgba(7,14,27,.08),transparent 30%,transparent 70%,rgba(7,14,27,.2)),
    linear-gradient(90deg,rgba(7,14,27,.08),transparent 28%);
  pointer-events:none;
}
.service-page--residency .service-editorial__media::after{z-index:2}
.service-page--residency .service-editorial__media img{
  object-position:center 48%;
  filter:brightness(1.05) contrast(1.025) saturate(.94);
  transform:scale(1.01);
}
.service-page--residency .service-editorial__copy{
  max-width:none;
  padding-top:clamp(4px,.8vw,12px);
}
.service-page--residency .service-editorial h2{
  max-width:790px;
  font-size:clamp(3rem,4vw,4.3rem);
  letter-spacing:-.018em;
  line-height:1.02;
  text-wrap:balance;
}
.service-page--residency .service-editorial__lead{
  max-width:760px;
  margin:24px 0 36px;
  color:#cbd3dd;
  font-size:clamp(1.08rem,1.35vw,1.27rem);
  line-height:1.58;
}
.service-page--residency .service-editorial__points{
  border-top:1px solid rgba(201,170,102,.24);
}
.service-page--residency .service-editorial__points>div{
  grid-template-columns:minmax(180px,.82fr) minmax(0,1.28fr);
  gap:clamp(14px,1.5vw,24px);
  align-items:start;
  padding:21px 0;
  border-bottom-color:rgba(255,255,255,.095);
}
.service-page--residency .service-editorial__points b{
  color:#f5f6f8;
  font-size:.875rem;
  line-height:1.48;
}
.service-page--residency .service-editorial__points span{
  color:#aeb8c5;
  font-size:.8125rem;
  line-height:1.62;
}

/* Page-specific image positions */
.service-page--residency .service-hero__image{object-position:70% center}
.service-page--tax .service-hero__image{object-position:72% center}
.service-page--bulgaria .service-hero__image{object-position:68% center}
.service-page--mobility .service-hero__image{object-position:70% center}

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

@media(max-width:1100px){
  .service-card-grid{grid-template-columns:repeat(2,1fr)}
  .service-step-grid{grid-template-columns:repeat(2,1fr);gap:30px 0}
  .service-step-grid article:nth-child(2){margin-right:0;border-right:0}
  .service-step-grid article:nth-child(-n+2){padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.07)}
  .service-clarity__card{grid-template-columns:.75fr 1.25fr}
  .service-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){
  .service-shell{width:min(calc(100% - 32px),var(--layout-max,1320px))}
  .service-hero{
    display:block;
    min-height:0;
    padding:112px 0 0;
  }
  .service-hero__grid{padding-bottom:34px}
  .service-hero__copy{max-width:none}
  .service-hero__lead{font-size:1.08rem}
  .service-hero__visual{
    position:relative;
    inset:auto;
    width:100%;
    aspect-ratio:2.65/1;
  }
  .service-hero__visual::after{display:none}
  .service-hero__image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .service-method-strip__inner{
    align-items:flex-start;
    flex-direction:column;
  }
  .service-editorial__grid,
  .service-editorial__grid--reverse,
  .service-section-head,
  .service-process__intro,
  .service-clarity__card{
    grid-template-columns:1fr;
  }
  .service-editorial__grid--reverse .service-editorial__media,
  .service-editorial__grid--reverse .service-editorial__copy{order:initial}
  .service-editorial__media{min-height:520px}
  .service-editorial__points>div{grid-template-columns:1fr;gap:6px}
  .service-page--residency .service-editorial{padding:72px 0 80px}
  .service-page--residency .service-editorial__grid{gap:38px}
  .service-page--residency .service-editorial__media{
    min-height:0;
    aspect-ratio:4/3;
    max-height:none;
    border-radius:24px;
  }
  .service-page--residency .service-editorial__copy{padding-top:0}
  .service-page--residency .service-editorial h2{
    max-width:12ch;
    font-size:clamp(2.55rem,10.8vw,3.55rem);
    line-height:1.03;
  }
  .service-page--residency .service-editorial__lead{
    margin:20px 0 30px;
    font-size:1.04rem;
    line-height:1.58;
  }
  .service-page--residency .service-editorial__points>div{
    grid-template-columns:1fr;
    gap:6px;
    padding:18px 0;
  }
  .service-page--residency .service-editorial__points span{grid-column:auto}
  .service-facts__grid,
  .service-card-grid,
  .service-step-grid{grid-template-columns:1fr}
  .service-fact{min-height:0}
  .service-fact+.service-fact{border-top:1px solid rgba(255,255,255,.08);border-left:0}
  .service-card{min-height:0}
  .service-step-grid{border-top:0}
  .service-step-grid article,
  .service-step-grid article:not(:last-child){
    margin:0;
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .service-step-grid article::before{display:none}
  .service-step-grid h3,
  .service-step-grid p{max-width:none}
  .service-clarity__photo{min-height:210px}
  .service-clarity__copy{padding:26px 22px 22px}
  .service-clarity__points{
    grid-template-columns:1fr;
    padding:22px;
    border-left:0;
  }
  .service-final__card{padding-bottom:92px}
  .service-final__note{
    right:28px;
    bottom:28px;
    left:28px;
    text-align:left;
  }
}

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

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

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

/* Compact residency highlights, separated by space rather than rules. */
body.service-page--residency .service-facts{padding-bottom:clamp(32px,4vw,52px)}
body.service-page--residency .service-facts__grid{gap:clamp(24px,4vw,56px);border:0;border-radius:0;background:transparent;overflow:visible}
body.service-page--residency .service-fact{min-height:0;padding:8px 0;border:0}
body.service-page--residency .service-fact strong{font-size:clamp(1.8rem,2.5vw,2.35rem);line-height:1.1;letter-spacing:-.015em}
body.service-page--residency .service-fact span{max-width:340px;margin-top:10px;font-size:1rem;line-height:1.55}
@media(max-width:760px){
  body.service-page--residency .service-facts__grid{grid-template-columns:1fr;gap:22px}
  body.service-page--residency .service-fact{padding:0;border:0}
  body.service-page--residency .service-fact strong{font-size:1.8rem}
  body.service-page--residency .service-fact span{max-width:none}
}
