/* ============================================================================
   WebTemplates — Preview Mockup Styles
   ----------------------------------------------------------------------------
   Pure CSS website mockups, one per industry. Everything inside `.shot__page`
   is sized in `em`, and the page root font-size is a container-query unit, so
   a mockup renders identically at 240px, 380px or 900px wide.
   ========================================================================== */

.shot {
  pointer-events: none;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  aspect-ratio: 16 / 12;
  background: #fff;
  overflow: hidden;
}
.shot--detail { aspect-ratio: 16 / 19; }   /* full-page capture */

/* ---- browser chrome ---- */
.shot__chrome {
  flex: none;
  display: flex; align-items: center; gap: 5px;
  padding: 7px 10px;
  background: #eceef4;
  border-bottom: 1px solid rgba(11, 13, 20, .09);
}
.shot__chrome i { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.shot__chrome i:nth-child(1) { background: #ff5f57; }
.shot__chrome i:nth-child(2) { background: #febc2e; }
.shot__chrome i:nth-child(3) { background: #28c840; }
.shot__url {
  margin-left: 6px; flex: 1; min-width: 0;
  padding: 2px 9px; border-radius: 20px;
  background: #fff; color: #8b93a6;
  font-size: 9px; line-height: 1.5; letter-spacing: -.01em;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}

/* ---- scaled page ---- */
.shot__page {
  flex: 1; min-height: 0; overflow: hidden;
  font-size: 6px;              /* fallback for browsers without container units */
  font-size: 1.82cqw;
  line-height: 1.4;
  font-family: var(--sans);
  font-weight: 500;
}
.shot__page s, .shot__page u { text-decoration: none; }
.shot__page i, .shot__page em { font-style: normal; }
.shot__page h6 { font-weight: inherit; margin: 0; color: inherit; }  /* size comes from each *-title rule */
.shot__page p { margin: 0; }

/* ------------------------------------------------------------- atoms ---- */
.mk-nav { display: flex; align-items: center; gap: .9em; padding: .95em 1.4em; }
.mk-nav .mk-link:first-of-type { margin-left: auto; }
.mk-link { font-size: .78em; opacity: .62; white-space: nowrap; }
.mk-pill {
  padding: .45em 1em; border-radius: 2em;
  font-size: .72em; font-weight: 700; white-space: nowrap;
}
.mk-ghost {
  padding: .42em .95em; border-radius: 2em;
  border: 1px solid currentColor;
  font-size: .7em; font-weight: 700; white-space: nowrap;
}
.mk-kicker { display: block; font-size: .68em; font-weight: 800; letter-spacing: .18em; }
.mk-h {
  display: block; margin-bottom: .85em;
  font-size: .8em; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.mk-sec { padding: 1.2em 1.4em; }
.mk-line { display: block; height: .48em; border-radius: 1em; background: currentColor; opacity: .17; margin-top: .5em; }
.shot__page .w45 { width: 45%; }
.shot__page .w55 { width: 55%; }
.shot__page .w60 { width: 60%; }
.shot__page .w70 { width: 70%; }
.shot__page .w80 { width: 80%; }
.shot__page .w85 { width: 85%; }

/* ═══════════════════════════════════════════════════════════════ GYM ═══ */
.is-gym .shot__page { background: #0a0a0b; color: #f4f4f0; }
.gym-nav { border-bottom: 1px solid rgba(255,255,255,.09); }
.gym-logo { font-size: 1.05em; font-weight: 800; letter-spacing: .2em; }
.gym-pill { background: var(--a); color: #0a0a0b; }
.gym-hero { display: flex; align-items: center; gap: 1.2em; padding: 1.5em 1.4em; }
.gym-hero__copy { flex: 1.15; min-width: 0; }
.gym-kicker { color: var(--a); }
.gym-title {
  margin: .4em 0 .55em; font-size: 2.65em; font-weight: 800;
  line-height: 1.02; letter-spacing: -.03em; text-transform: uppercase;
}
.gym-actions { display: flex; align-items: center; gap: .55em; margin-top: 1em; }
.gym-ghost { color: rgba(255,255,255,.6); }
.gym-hero__art { flex: 1; position: relative; min-width: 0; }
.gym-fig {
  display: block; aspect-ratio: 4 / 4.4; border-radius: .7em; position: relative; overflow: hidden;
  background:
    radial-gradient(120% 90% at 72% 15%, rgba(200,245,66,.30), transparent 58%),
    linear-gradient(200deg, #2a2a30, #0e0e10);
}
.gym-fig::after {
  content: ""; position: absolute; left: 22%; bottom: 0; width: 56%; height: 68%;
  border-radius: 50% 50% 0 0 / 62% 62% 0 0; background: rgba(255,255,255,.11);
}
.gym-badge {
  position: absolute; top: .7em; left: -.5em;
  padding: .3em .65em; border-radius: .35em;
  background: var(--a); color: #0a0a0b; font-size: .68em; font-weight: 800;
}
.gym-stats { display: flex; border-block: 1px solid rgba(255,255,255,.09); }
.gym-stats div { flex: 1; padding: .85em .5em; text-align: center; border-right: 1px solid rgba(255,255,255,.07); }
.gym-stats div:last-child { border-right: 0; }
.gym-stats b { display: block; font-size: 1.4em; font-weight: 800; color: var(--a); letter-spacing: -.02em; }
.gym-stats s { font-size: .6em; font-weight: 700; letter-spacing: .16em; opacity: .5; }
.gym-h { color: var(--a); }
.gym-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55em; }
.gym-plan { padding: .8em .7em; border-radius: .55em; background: #151517; border: 1px solid rgba(255,255,255,.09); }
.gym-plan s { display: block; font-size: .6em; font-weight: 800; letter-spacing: .16em; opacity: .55; }
.gym-plan b { display: block; margin: .3em 0 .55em; font-size: 1.15em; font-weight: 800; letter-spacing: -.02em; }
.gym-plan u { display: block; height: .38em; border-radius: 1em; background: rgba(255,255,255,.14); margin-top: .32em; }
.gym-plan u:last-child { width: 62%; }
.gym-plan.is-hot { background: var(--a); color: #0a0a0b; border-color: var(--a); }
.gym-plan.is-hot u { background: rgba(0,0,0,.2); }
.gym-plan.is-hot s { opacity: .72; }
.gym-trainers { padding-top: 0; }
.gym-tr { display: flex; gap: .5em; }
.gym-tr span {
  flex: 1; aspect-ratio: 3 / 3.1; border-radius: .45em;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, #3c3c45, #17171a);
}
.gym-tr span:nth-child(2) { background: linear-gradient(180deg, #4a5028, #17171a); }
.gym-tr span:nth-child(3) { background: linear-gradient(180deg, #34343d, #17171a); }
.gym-tr span:nth-child(4) { background: linear-gradient(180deg, #2c2e36, #17171a); }
.gym-cta { display: flex; align-items: center; justify-content: space-between; gap: .8em; padding: 1em 1.4em; background: var(--a); color: #0a0a0b; }
.gym-cta b { font-size: 1.05em; font-weight: 800; letter-spacing: .04em; }
.gym-cta .gym-pill { background: #0a0a0b; color: var(--a); }

/* ════════════════════════════════════════════════════════════ CLINIC ═══ */
.is-clinic .shot__page { background: #fff; color: #16232e; }
.cli-nav { border-bottom: 1px solid rgba(22,35,46,.09); }
.cli-logo { font-size: 1.02em; font-weight: 800; letter-spacing: -.02em; }
.cli-logo i { color: var(--a); }
.cli-pill { background: var(--a); color: #fff; }
.cli-hero { display: flex; align-items: center; gap: 1.2em; padding: 1.5em 1.4em; background: linear-gradient(180deg, #eff7f6, #fff); }
.cli-hero__copy { flex: 1.15; min-width: 0; }
.cli-chip {
  display: inline-block; padding: .3em .7em; border-radius: 2em;
  font-size: .64em; font-weight: 700; color: var(--a); background: rgba(14,124,114,.11);
}
.cli-title { margin: .5em 0 .35em; font-family: var(--serif); font-size: 2.1em; font-weight: 400; line-height: 1.05; }
.cli-actions { display: flex; align-items: center; gap: .55em; margin-top: 1em; }
.cli-ghost { color: var(--a); border-color: rgba(14,124,114,.4); }
.cli-trust { display: flex; align-items: center; margin-top: 1em; }
.cli-trust span { width: 1.5em; height: 1.5em; border-radius: 50%; background: #dae6e8; border: .15em solid #fff; margin-right: -.5em; }
.cli-trust s { margin-left: 1em; font-size: .64em; color: #51616e; }
.cli-hero__art { flex: 1; position: relative; min-width: 0; }
.cli-fig {
  display: block; aspect-ratio: 1 / 1; border-radius: .9em; position: relative; overflow: hidden;
  background: radial-gradient(95% 85% at 32% 18%, #d5eae7, #9fc9c4 58%, #78afa9);
}
.cli-fig::after {
  content: ""; position: absolute; left: 24%; bottom: 0; width: 52%; height: 60%;
  border-radius: 50% 50% 0 0 / 56% 56% 0 0; background: rgba(255,255,255,.58);
}
.cli-card {
  position: absolute; right: -.6em; bottom: .7em; min-width: 56%;
  padding: .55em .7em; border-radius: .5em; background: #fff;
  box-shadow: 0 .4em 1.3em rgba(22,35,46,.16);
}
.cli-card s { display: block; font-size: .58em; color: #7b8794; }
.cli-card b { display: block; margin-top: .12em; font-size: .76em; font-weight: 700; }
.cli-mini { display: block; margin-top: .45em; padding: .3em; border-radius: .3em; background: var(--a); color: #fff; text-align: center; font-size: .6em; font-weight: 700; }
.cli-h { color: #16232e; opacity: .55; }
.cli-serv { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5em; }
.cli-serv div { padding: .75em .55em; border-radius: .5em; border: 1px solid rgba(22,35,46,.08); background: #fafcfc; text-align: center; }
.cli-ico { display: block; width: 1.7em; height: 1.7em; margin: 0 auto .55em; border-radius: .4em; background: rgba(14,124,114,.15); }
.cli-serv u { display: block; height: .38em; border-radius: 1em; background: rgba(22,35,46,.11); }
.cli-docs-wrap { padding-top: 0; }
.cli-docs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55em; }
.cli-doc { border: 1px solid rgba(22,35,46,.08); border-radius: .5em; overflow: hidden; background: #fff; }
.cli-doc span { display: block; aspect-ratio: 4 / 3; background: linear-gradient(180deg, #dcecea, #b6d4d1); }
.cli-doc u { display: block; height: .42em; margin: .55em .6em .3em; border-radius: 1em; background: rgba(22,35,46,.15); }
.cli-doc i { display: block; width: 55%; height: .32em; margin: 0 .6em .65em; border-radius: 1em; background: rgba(22,35,46,.09); }
.cli-contact { display: flex; gap: .9em; padding: 1.1em 1.4em; background: #f7f6f3; border-top: 1px solid rgba(22,35,46,.07); }
.cli-map {
  flex: 1.3; border-radius: .5em; display: grid; place-items: center; color: var(--a); font-size: 1.4em;
  background: repeating-linear-gradient(45deg, #e7eae7 0 6px, #f0f2ef 6px 12px);
}
.cli-cinfo { flex: 1; }
.cli-cinfo b { display: block; margin-bottom: .5em; font-size: .82em; font-weight: 700; }
.cli-cinfo u { display: block; height: .38em; margin-bottom: .32em; border-radius: 1em; background: rgba(22,35,46,.12); }
.cli-cinfo u:last-of-type { width: 65%; }
.cli-cinfo .mk-pill { display: inline-block; margin-top: .6em; }

/* ════════════════════════════════════════════════════════ RESTAURANT ═══ */
.is-restaurant .shot__page { background: #1a1611; color: #f7f2e9; }
.res-nav { border-bottom: 1px solid rgba(247,242,233,.11); }
.res-logo { font-family: var(--serif); font-size: 1.2em; font-weight: 400; }
.res-ghost { color: var(--a); border-color: rgba(193,154,91,.5); }
.res-hero {
  position: relative; overflow: hidden; text-align: center; padding: 2.1em 1.4em 2.4em;
  background:
    radial-gradient(75% 95% at 50% 8%, rgba(193,154,91,.24), transparent 62%),
    linear-gradient(180deg, #241d15, #16130f);
}
.res-glow {
  position: absolute; left: 50%; top: 45%; translate: -50% -50%;
  width: 70%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(193,154,91,.16), transparent 65%);
}
.res-kicker { position: relative; color: var(--a); }
.res-title { position: relative; margin: .45em 0 0; font-family: var(--serif); font-size: 2.7em; font-weight: 400; line-height: 1.02; }
.res-rule { display: block; width: 3.2em; height: 1px; margin: .8em auto; background: var(--a); position: relative; }
.res-actions { position: relative; display: flex; justify-content: center; gap: .55em; }
.res-pill { background: var(--a); color: #16130f; }
.res-tiles { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: .45em; padding: 0 1.4em; margin-top: -1.3em; }
.res-dish { display: block; aspect-ratio: 1 / .82; border-radius: .5em; border: 1px solid rgba(247,242,233,.14); }
.res-dish.d1 { background: radial-gradient(70% 70% at 42% 34%, #cf7a3c, #5f3218); }
.res-dish.d2 { background: radial-gradient(70% 70% at 52% 40%, #86994f, #2b351a); }
.res-dish.d3 { background: radial-gradient(70% 70% at 55% 30%, #d0a75f, #533718); }
.res-h { font-family: var(--serif); font-size: 1.2em; font-weight: 400; letter-spacing: .01em; text-transform: none; color: var(--a); }
.res-menu { display: grid; gap: .55em; }
.res-item { display: flex; align-items: center; gap: .45em; }
.res-item u { flex: none; width: 40%; height: .42em; border-radius: 1em; background: rgba(247,242,233,.24); }
.res-item u.w60 { width: 27%; }
.res-item u.w70 { width: 32%; }
.res-item u.w85 { width: 46%; }
.res-dots { flex: 1; height: 1px; background: repeating-linear-gradient(90deg, rgba(247,242,233,.32) 0 2px, transparent 2px 5px); }
.res-item b { flex: none; font-size: .82em; font-weight: 700; color: var(--a); }
.res-cta { display: flex; align-items: center; justify-content: space-between; gap: .8em; padding: 1.1em 1.4em; background: #241d15; border-top: 1px solid rgba(247,242,233,.11); }
.res-cta b { font-family: var(--serif); font-size: 1.2em; font-weight: 400; }

/* ═══════════════════════════════════════════════════════ REAL ESTATE ═══ */
.is-realestate .shot__page { background: #f6f3ed; color: #1c1b16; }
.est-nav { border-bottom: 1px solid rgba(28,27,22,.13); }
.est-logo { font-size: .92em; font-weight: 700; letter-spacing: .16em; }
.est-logo i { color: var(--a); font-weight: 400; }
.est-ghost { color: #1c1b16; border-color: rgba(28,27,22,.3); }
.est-hero {
  position: relative; overflow: hidden;
  padding: 1.5em 1.4em 1.3em; color: #f6f3ed;
  display: flex; flex-direction: column; justify-content: flex-end; min-height: 11em;
}
.est-sky { position: absolute; inset: 0; background: linear-gradient(180deg, #33404b 0%, #6d7c85 55%, #bfae95 100%); }
.est-hero > span[class^="est-b"] { position: absolute; bottom: 0; border-radius: .2em .2em 0 0; }
.est-b1 { left: 7%; width: 15%; height: 46%; background: #1e2630; }
.est-b2 {
  left: 25%; width: 22%; height: 66%;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.09) 0 2px, transparent 2px 7px),
    #161c23;
}
.est-b3 { right: 9%; width: 27%; height: 55%; background: #252d36; }
.est-title { position: relative; font-family: var(--serif); font-size: 1.85em; font-weight: 400; line-height: 1.05; text-shadow: 0 .08em .5em rgba(0,0,0,.45); }
.est-search { position: relative; margin-top: .9em; padding: .6em; border-radius: .5em; background: #fff; color: #1c1b16; box-shadow: 0 .5em 1.6em rgba(0,0,0,.3); }
.est-tabs { display: flex; gap: .9em; margin-bottom: .5em; }
.est-tabs s { font-size: .6em; font-weight: 800; letter-spacing: .14em; color: #8b8377; padding-bottom: .15em; }
.est-tabs s.on { color: #1c1b16; border-bottom: .16em solid var(--a); }
.est-fields { display: flex; align-items: center; gap: .35em; }
.est-fields span { flex: 1; min-width: 0; padding: .4em .5em; border: 1px solid rgba(28,27,22,.15); border-radius: .3em; }
.est-fields i { display: block; font-size: .6em; color: #8b8377; }
.est-go { flex: none; padding: .55em .9em; border-radius: .3em; background: var(--a); color: #fff; font-size: .66em; font-weight: 700; }
.est-h { font-family: var(--serif); font-size: 1.2em; font-weight: 400; letter-spacing: .01em; text-transform: none; color: #1c1b16; }
.est-feat-wrap { padding-bottom: .8em; }
.est-feat { display: grid; grid-template-columns: 1.35fr 1fr; gap: .5em; }
.est-big, .est-sm { padding: .5em; border-radius: .5em; background: #fff; border: 1px solid rgba(28,27,22,.11); }
.est-col { display: grid; gap: .5em; }
.est-img { display: block; border-radius: .35em; background: linear-gradient(155deg, #d3cab8, #8d8778); }
.est-big .est-img { aspect-ratio: 16 / 9; }
.est-sm .est-img { aspect-ratio: 16 / 6; background: linear-gradient(155deg, #c9c0ae, #7f7a6c); }
.est-big b, .est-sm b { display: block; margin-top: .45em; font-size: .82em; font-weight: 700; color: var(--a); }
.est-big u, .est-sm u { display: block; width: 80%; height: .38em; margin-top: .3em; border-radius: 1em; background: rgba(28,27,22,.15); }
.est-big s { display: block; margin-top: .35em; font-size: .6em; color: #7d7568; }
.est-agents { padding: 0 1.4em 1.4em; }
.est-ag { display: flex; gap: .6em; }
.est-ag span { flex: none; width: 5.2em; height: 5.2em; border-radius: 50%; background: linear-gradient(155deg, #e0d7c6, #a89f8e); }
.est-ag span:nth-child(3) { background: linear-gradient(155deg, #d5cbb8, #948b7a); }

/* ═════════════════════════════════════════════════════════════ SALON ═══ */
.is-salon .shot__page { background: #faf7f1; color: #2b2620; }
.sal-nav { border-bottom: 1px solid rgba(43,38,32,.13); }
.sal-logo { font-size: .95em; font-weight: 600; letter-spacing: .3em; }
.sal-ghost { color: #2b2620; border-color: rgba(43,38,32,.3); }
.sal-hero { display: flex; align-items: center; gap: 1.2em; padding: 1.6em 1.4em; background: linear-gradient(180deg, #f2ece1, #faf7f1); }
.sal-hero__copy { flex: 1.15; min-width: 0; }
.sal-kicker { color: var(--a); letter-spacing: .26em; }
.sal-title { margin: .5em 0 .4em; font-family: var(--serif); font-size: 2.35em; font-weight: 400; line-height: 1.04; }
.sal-title em { font-style: italic; color: var(--a); }
.sal-pill { display: inline-block; margin-top: .9em; background: var(--a); color: #fff; }
.sal-hero__art { flex: .9; position: relative; min-width: 0; }
.sal-fig {
  display: block; aspect-ratio: 3 / 3.7; border-radius: .6em; position: relative; overflow: hidden;
  background: linear-gradient(180deg, #ead9c7, #c9ac91 58%, #8e7660);
}
.sal-fig::after {
  content: ""; position: absolute; inset: auto 22% 0; height: 56%;
  border-radius: 50% 50% 0 0 / 60% 60% 0 0; background: rgba(255,255,255,.34);
}
.sal-card { position: absolute; left: -.8em; bottom: 1em; padding: .5em .65em; border-radius: .45em; background: #fff; box-shadow: 0 .4em 1.2em rgba(43,38,32,.2); }
.sal-card s { display: block; font-size: .58em; color: #857868; }
.sal-card b { display: block; margin-top: .1em; font-size: .7em; font-weight: 700; }
.sal-h { font-family: var(--serif); font-size: 1.2em; font-weight: 400; letter-spacing: .02em; text-transform: none; color: #2b2620; }
.sal-menu { display: grid; gap: .5em; }
.sal-item { display: flex; align-items: center; justify-content: space-between; gap: .6em; padding-bottom: .45em; border-bottom: 1px solid rgba(43,38,32,.11); }
.sal-item u { height: .42em; width: 45%; border-radius: 1em; background: rgba(43,38,32,.17); }
.sal-item u.w70 { width: 38%; }
.sal-item u.w85 { width: 52%; }
.sal-item b { font-size: .78em; font-weight: 700; color: var(--a); }
.sal-ba { display: grid; grid-template-columns: 1fr 1fr; gap: .4em; }
.sal-before, .sal-after { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: .45em; }
.sal-before { background: linear-gradient(155deg, #d0c5b6, #9a8d7c); }
.sal-after { background: linear-gradient(155deg, #f2e6d5, #ccaf8e); }
.sal-ba s { position: absolute; left: .4em; bottom: .4em; padding: .18em .45em; border-radius: .25em; background: rgba(0,0,0,.38); color: #fff; font-size: .55em; font-weight: 800; letter-spacing: .14em; }
.sal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .35em; padding: 0 1.4em 1.4em; }
.sal-grid span { aspect-ratio: 1; border-radius: .3em; background: linear-gradient(155deg, #e9dcca, #c3ae94); }
.sal-grid span:nth-child(2) { background: linear-gradient(155deg, #ddd0c1, #a99781); }
.sal-grid span:nth-child(3) { background: linear-gradient(155deg, #f0e2d0, #cfb79a); }
.sal-grid span:nth-child(4) { background: linear-gradient(155deg, #d8cabb, #9f8f7c); }

/* ════════════════════════════════════════════════════════════ SCHOOL ═══ */
.is-school .shot__page { background: #fdfcf9; color: #1b1a17; }
.sch-nav { background: #0b1526; color: #f6f2e9; }
.sch-logo { display: flex; align-items: center; gap: .5em; font-size: .9em; font-weight: 700; letter-spacing: .18em; }
.sch-crest { width: 1.3em; height: 1.3em; border-radius: .2em .2em 50% 50%; background: var(--a); flex: none; }
.sch-pill { background: var(--a); color: #0b1526; }
.sch-hero { position: relative; overflow: hidden; padding: 2em 1.4em 2.1em; background: linear-gradient(150deg, #0b1526, #16294a); color: #f6f2e9; }
.sch-arch { position: absolute; right: -3%; top: -22%; width: 10em; height: 10em; border: 1px solid rgba(201,162,94,.35); border-radius: 50%; }
.sch-arch::after { content: ""; position: absolute; inset: 1.2em; border: 1px solid rgba(201,162,94,.2); border-radius: 50%; }
.sch-kicker { position: relative; color: var(--a); }
.sch-title { position: relative; margin: .45em 0 .7em; font-family: var(--serif); font-size: 2.2em; font-weight: 400; line-height: 1.05; }
.sch-actions { position: relative; display: flex; align-items: center; gap: .55em; }
.sch-ghost { color: #f6f2e9; border-color: rgba(246,242,233,.38); }
.sch-stats { display: flex; background: #f6f2e9; border-bottom: 1px solid rgba(27,26,23,.1); }
.sch-stats div { flex: 1; padding: .85em .5em; text-align: center; border-right: 1px solid rgba(27,26,23,.09); }
.sch-stats div:last-child { border-right: 0; }
.sch-stats b { display: block; font-family: var(--serif); font-size: 1.5em; font-weight: 400; color: #0b1526; }
.sch-stats s { font-size: .58em; font-weight: 700; letter-spacing: .16em; color: #8a8175; }
.sch-h { font-family: var(--serif); font-size: 1.2em; font-weight: 400; text-transform: none; letter-spacing: .01em; color: #1b1a17; }
.sch-prog { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55em; }
.sch-prog div { padding: .75em .65em; border-radius: .45em; border: 1px solid rgba(27,26,23,.12); background: #fff; }
.sch-prog s { display: block; margin-bottom: .5em; font-size: .58em; font-weight: 800; letter-spacing: .16em; color: var(--a); }
.sch-prog u { display: block; height: .38em; margin-top: .3em; border-radius: 1em; background: rgba(27,26,23,.13); }
.sch-campus { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: .4em; padding: 0 1.4em; }
.sch-campus span { aspect-ratio: 16 / 9; border-radius: .4em; }
.sch-campus .c1 { background: linear-gradient(155deg, #2d4166, #0b1526); }
.sch-campus .c2 { background: linear-gradient(155deg, #dccdac, #a08a5f); }
.sch-campus .c3 { background: linear-gradient(155deg, #c6ced9, #6d7b8c); }
.sch-cta { display: flex; align-items: center; justify-content: space-between; gap: .8em; margin-top: 1.2em; padding: 1em 1.4em; background: var(--a); color: #0b1526; }
.sch-cta b { font-family: var(--serif); font-size: 1.15em; font-weight: 400; }
.sch-cta .sch-pill { background: #0b1526; color: var(--a); }

/* ═══════════════════════════════════════════════════════════ ACADEMY ═══ */
.is-academy .shot__page { background: #faf7f2; color: #101820; }
.aca-nav { border-bottom: 1px solid rgba(16,24,32,.1); }
.aca-logo { font-size: 1em; font-weight: 800; letter-spacing: -.01em; }
.aca-logo i { color: var(--a); }
.aca-pill { background: var(--a); color: #fff; }
.aca-hero { display: flex; align-items: center; gap: 1.3em; padding: 1.5em 1.4em; }
.aca-hero__copy { flex: 1.15; min-width: 0; }
.aca-chip { display: inline-block; padding: .3em .7em; border-radius: 2em; background: rgba(228,87,46,.13); color: var(--a); font-size: .6em; font-weight: 800; letter-spacing: .1em; }
.aca-title { margin: .5em 0 .4em; font-family: var(--serif); font-size: 2.3em; font-weight: 400; line-height: 1.04; }
.aca-actions { display: flex; align-items: center; gap: .55em; margin-top: 1em; }
.aca-ghost { color: #101820; border-color: rgba(16,24,32,.26); }
.aca-hero__art { flex: .85; position: relative; min-width: 0; padding: .5em .3em; }
.aca-course { position: relative; z-index: 2; padding: .8em; border-radius: .55em; background: #fff; border: 1px solid rgba(16,24,32,.1); box-shadow: 0 .5em 1.4em rgba(16,24,32,.13); }
.aca-course s { display: block; font-size: .6em; font-weight: 800; letter-spacing: .14em; color: var(--a); }
.aca-course b { display: block; margin: .3em 0 .55em; font-size: .85em; font-weight: 700; }
.aca-course u { display: block; height: .38em; margin-top: .32em; border-radius: 1em; background: rgba(16,24,32,.13); }
.aca-tag { display: inline-block; margin-top: .65em; padding: .25em .6em; border-radius: .3em; background: var(--a); color: #fff; font-size: .62em; font-weight: 800; }
.aca-course.is-back { position: absolute; z-index: 1; inset: .1em -.1em .1em 1.1em; transform: rotate(5deg); background: #f2ede4; box-shadow: none; }
.aca-stats { display: flex; background: #f2ede4; border-block: 1px solid rgba(16,24,32,.1); }
.aca-stats div { flex: 1; padding: .8em .4em; text-align: center; border-right: 1px solid rgba(16,24,32,.08); }
.aca-stats div:last-child { border-right: 0; }
.aca-stats b { display: block; font-size: 1.2em; font-weight: 800; color: var(--a); letter-spacing: -.02em; }
.aca-stats s { font-size: .56em; font-weight: 700; letter-spacing: .12em; color: #46525e; }
.aca-h { color: #101820; opacity: .6; }
.aca-prog { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55em; }
.aca-prog div { padding: .75em .65em; border-radius: .5em; background: #fff; border: 1px solid rgba(16,24,32,.1); }
.aca-prog .aca-tag { margin-top: 0; margin-bottom: .5em; }
.aca-prog u { display: block; height: .38em; margin-top: .32em; border-radius: 1em; background: rgba(16,24,32,.13); }
.aca-prog b { display: block; margin-top: .6em; font-size: .78em; font-weight: 800; }
.aca-mentors { padding: 0 1.4em 1.4em; }
.aca-mentors > div { display: flex; gap: .6em; }
.aca-mentors span { flex: none; width: 5.2em; height: 5.2em; border-radius: 50%; background: linear-gradient(155deg, #f2e3d4, #cba489); }
.aca-mentors span:nth-child(2) { background: linear-gradient(155deg, #e8dccd, #b3937c); }
.aca-mentors span:nth-child(4) { background: linear-gradient(155deg, #f0dfd0, #c09a80); }

/* ════════════════════════════════════════════════════════ CONSULTANT ═══ */
.is-consultant .shot__page { background: #f6f3ec; color: #2b2822; }
.con-nav { border-bottom: 1px solid rgba(35,33,28,.14); }
.con-logo { font-family: var(--serif); font-size: 1.2em; font-weight: 400; }
.con-ghost { color: #2b2822; border-color: rgba(35,33,28,.3); }
.con-hero { display: flex; align-items: center; gap: 1.4em; padding: 1.7em 1.4em; }
.con-hero__copy { flex: 1.2; min-width: 0; }
.con-kicker { color: var(--a); letter-spacing: .22em; }
.con-title { margin: .5em 0 .45em; font-family: var(--serif); font-size: 2.35em; font-weight: 400; line-height: 1.03; }
.con-title em { font-style: italic; color: var(--a); }
.con-actions { display: flex; align-items: center; gap: .8em; margin-top: 1.1em; }
.con-pill { background: #23211c; color: #f6f3ec; }
.con-under { font-size: .68em; font-weight: 700; border-bottom: 1px solid var(--a); padding-bottom: .12em; white-space: nowrap; }
.con-hero__art { flex: .8; position: relative; min-width: 0; padding: .5em .5em .5em 0; }
.con-fig {
  display: block; position: relative; z-index: 2; overflow: hidden;
  aspect-ratio: 4 / 4.6; border-radius: .25em;
  background: linear-gradient(180deg, #ded4c1, #9b8f79);
}
.con-fig::after {
  content: ""; position: absolute; inset: auto 20% 0; height: 54%;
  border-radius: 50% 50% 0 0 / 58% 58% 0 0; background: rgba(255,255,255,.32);
}
.con-frame { position: absolute; z-index: 1; left: 0; top: 1.4em; width: 78%; height: 82%; border: 1px solid var(--a); }
.con-logos { display: flex; align-items: center; gap: .8em; padding: .9em 1.4em; border-block: 1px solid rgba(35,33,28,.13); }
.con-logos s { flex: none; font-size: .56em; font-weight: 800; letter-spacing: .18em; color: #6f695d; }
.con-logos span { flex: 1; height: .5em; border-radius: 1em; background: rgba(35,33,28,.15); }
.con-logos span:nth-child(3) { flex: .7; }
.con-logos span:nth-child(5) { flex: 1.2; }
.con-results { display: flex; gap: 1em; padding: 1.2em 1.4em .6em; }
.con-results div { flex: 1; }
.con-results b { display: block; font-family: var(--serif); font-size: 1.7em; font-weight: 400; color: #23211c; line-height: 1.1; }
.con-results s { font-size: .6em; color: #6f695d; }
.con-h { font-family: var(--serif); font-size: 1.15em; font-weight: 400; text-transform: none; letter-spacing: .01em; color: #2b2822; }
.con-cases { display: grid; gap: .5em; }
.con-case { display: flex; align-items: center; gap: .7em; padding: .6em; border-radius: .45em; background: #fff; border: 1px solid rgba(35,33,28,.11); }
.con-case > span { flex: none; width: 2.4em; height: 2.4em; border-radius: .3em; background: linear-gradient(155deg, #e2d7c2, #a08a67); }
.con-case > div { flex: 1; min-width: 0; }
.con-case u { display: block; height: .38em; margin-bottom: .32em; border-radius: 1em; background: rgba(35,33,28,.15); }
.con-case b { flex: none; font-family: var(--serif); font-size: 1.15em; font-weight: 400; color: var(--a); }
