/* Дело Героев — Liquid Glass, adapted to the existing static pages. */
:root {
  --bg-0: #e9e7de;
  --bg-1: #f8f7f2;
  --bg-2: #d9d5c6;
  --bg-3: #c5bea9;
  --panel: rgba(250, 249, 243, .70);
  --panel-strong: #f8f7f2;
  --border: rgba(48, 57, 44, .22);
  --border-strong: rgba(131, 102, 44, .54);
  --line: rgba(48, 57, 44, .16);
  --text: #272d25;
  --text-strong: #1b221b;
  --muted: #485147;
  --dim: #62695e;
  --gold: #a47832;
  --gold-2: #79561f;
  --gold-soft: #dfc99d;
  --sand: #d5c59c;
  --red: #a34134;
  --teal: #475844;
  --shadow-lg: 0 24px 70px -28px rgba(21, 30, 22, .32), 0 10px 24px -16px rgba(21, 30, 22, .2);
  --shadow-sm: 0 12px 32px -21px rgba(21, 30, 22, .22);
  --radius: 18px;
  --radius-sm: 12px;
  --radius-lg: 26px;
  --wrap: 1240px;
}

html { scroll-behavior: smooth; scroll-padding-top: 108px; }
body {
  font-family: Montserrat, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 100% 0, rgba(166, 146, 92, .18), transparent 36rem),
    linear-gradient(165deg, #d9d9ce, #eeece3 30%, #e7e5d9 100%);
  line-height: 1.6;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 500;
  opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E");
}
h1, h2, h3, .dir-poster-h, .pay-sum, .pay-block-sum, .pmc-sum { font-family: 'IBM Plex Sans', Arial, sans-serif; font-weight: 700; letter-spacing: -.012em; }
h1 { text-transform: none; }
h2 { font-size: clamp(2.2rem, 3.8vw, 3.7rem); line-height: 1.03; }
h3 { font-size: 1.42rem; line-height: 1.14; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
:is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #b3863a; outline-offset: 3px; }

/* Navigation keeps the 21st service-card and navigation pattern within the current markup. */
.site-header {
  background: linear-gradient(105deg, rgba(30, 41, 31, .97), rgba(27, 37, 28, .94) 62%, rgba(41, 51, 38, .95));
  border-bottom: 1px solid rgba(218, 203, 163, .32);
  box-shadow: 0 14px 38px rgba(18, 24, 18, .22);
  backdrop-filter: blur(22px) saturate(130%);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
}
.site-header::after { content: ''; display: block; height: 2px; background: linear-gradient(90deg, #c5aa71, rgba(197, 170, 113, .2) 38%, transparent 70%); }
.site-header .header-inner { min-height: 94px; max-width: 1500px; gap: clamp(14px, 1.5vw, 28px); }
.site-header .logo { gap: 0; flex: 0 0 auto; padding-left: 18px; border-left: 3px solid #cfb47d; color: #e0c38d; }
.site-header .logo-copy { gap: 7px; }
.site-header .logo-copy b { color: #f6f0dd; font-family: 'IBM Plex Sans', Arial, sans-serif; font-size: clamp(1.48rem, 1.65vw, 1.82rem); font-weight: 700; letter-spacing: -.035em; line-height: .95; text-transform: none; white-space: nowrap; }
.site-header .logo-copy small { color: #cfc6a9; font-size: .68rem; font-weight: 650; letter-spacing: .08em; line-height: 1.2; }
.footer .logo-copy b { color: #f6f0dd; font-family: 'IBM Plex Sans', Arial, sans-serif; font-size: 1.32rem; font-weight: 700; letter-spacing: .018em; text-transform: none; white-space: nowrap; }
.footer .logo-copy small { color: #d4c9ab; font-size: .53rem; font-weight: 600; letter-spacing: .13em; }
.site-header .nav { gap: clamp(9px, 1vw, 16px); margin-left: auto; }
.nav a { color: #e0dfd3; font-size: .84rem; letter-spacing: .005em; }
.nav a:hover, .nav a[aria-current="page"] { color: #e8ca91; }
.site-header .more-menu { margin-left: 0; }
.site-header .more-menu summary { width: auto; min-width: 44px; height: 44px; padding: 0 2px 0 0; border: 0; border-radius: 0; color: #e0dfd3; font-size: .84rem; font-weight: 650; letter-spacing: .005em; white-space: nowrap; gap: 9px; }
.site-header .more-menu summary::after { content: ''; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.site-header .more-menu[open] summary::after { transform: translateY(2px) rotate(225deg); }
.site-header .more-menu summary:hover, .site-header .more-menu[open] summary, .site-header .more-menu:has(a[aria-current="page"]) summary { background: none; color: #e8ca91; }
.more-menu-popover { width: 330px; background: rgba(36, 44, 35, .96); border-color: rgba(224, 205, 159, .3); box-shadow: var(--shadow-lg); backdrop-filter: blur(22px); }
.more-menu-popover a { color: #f3efdf; white-space: normal; line-height: 1.35; }
.more-menu-popover a:hover { background: rgba(224, 205, 159, .12); color: #e8ca91; }
.burger span { background: #f5f0dd; }
.btn { min-height: 44px; border-radius: 9px; font-size: .82rem; font-weight: 700; letter-spacing: .035em; box-shadow: none; }
.btn-primary { color: #172019; background: linear-gradient(135deg, #e2cc9b, #caa969); border: 1px solid #bd9854; box-shadow: inset 0 1px rgba(255,255,255,.65), 0 10px 24px -12px rgba(25, 29, 20, .36); }
.btn-primary:hover { background: linear-gradient(135deg, #ecd9af, #d4b474); box-shadow: inset 0 1px rgba(255,255,255,.75), 0 16px 28px -15px rgba(25, 29, 20, .48); }
.btn-ghost { background: rgba(250, 248, 236, .12); color: #f8f4e7; border-color: rgba(250,248,236,.46); backdrop-filter: blur(10px); }
.btn-ghost:hover { background: rgba(250,248,236,.2); color: white; border-color: #e6d8b4; }

/* Deep olive hero with a frosted information layer and strong hierarchy. */
.hero { background: #20291f; padding-top: 0; color: #f6f3e9; }
.hero-bg img { opacity: .58; filter: saturate(.46) contrast(1.12); object-position: center 34%; }
.hero-overlay { background: linear-gradient(90deg, rgba(20,30,22,.97) 0%, rgba(20,30,22,.9) 37%, rgba(20,30,22,.66) 72%, rgba(20,30,22,.4) 100%), linear-gradient(0deg, rgba(19,29,21,.82), transparent 58%); }
.hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .2; background: repeating-linear-gradient(125deg, transparent 0 88px, rgba(226, 209, 159, .04) 88px 89px); }
.hero-inner { max-width: 1390px; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 76px); padding-top: clamp(76px, 8vw, 130px); padding-bottom: clamp(75px, 9vw, 140px); }
.hero-copy h1 { max-width: 740px; margin: 18px 0 22px; color: #f6f3e8; font-size: clamp(3.25rem, 5.3vw, 5.5rem); line-height: 1.04; text-transform: none; letter-spacing: -.022em; }
.hero-copy h1 .accent { display: block; color: #dec490; }
.hero-copy .eyebrow { display: inline-flex; color: #e8d2a2; background: rgba(226, 205, 158, .1); border: 1px solid rgba(226, 205, 158, .3); border-radius: 100px; padding: 8px 15px; }
.hero-sub { max-width: 570px; color: #dddcd0; font-size: 1rem; line-height: 1.8; }
.contact-line { border-color: rgba(226, 205, 158, .26); }
.contact-name { color: #d6bd8d; }
.contact-phone { color: #f8f4e7; font-family: 'IBM Plex Sans', Arial, sans-serif; font-size: 1.58rem; letter-spacing: 0; }
.hero-checks li { color: #e4e4d9; font-size: .86rem; }
.chk { background: rgba(230, 204, 153, .13); border-color: rgba(230, 204, 153, .56); }
.hero-right { position: relative; }
.hero-portrait { border-radius: 12px; overflow: hidden; border: 1px solid rgba(235, 224, 190, .52); box-shadow: 0 30px 70px rgba(0,0,0,.31), 12px 12px 0 -5px rgba(225,198,141,.16); }
.hero-portrait::after { content: ''; position: absolute; inset: 0; pointer-events: none; border: 8px solid rgba(10,20,14,.09); background: linear-gradient(0deg, rgba(12,24,16,.24), transparent 35%); }
.hero-portrait-img { filter: saturate(.78) contrast(1.13); object-position: center 31%; }
.pay-card { position: relative; background: rgba(239, 235, 219, .9); border: 1px solid rgba(255,255,255,.64); border-radius: 20px; box-shadow: 0 25px 50px rgba(4, 10, 5, .22), inset 0 1px rgba(255,255,255,.82); backdrop-filter: blur(24px) saturate(120%); -webkit-backdrop-filter: blur(24px) saturate(120%); }
.pay-title { color: #56634f; }
.pay-sum { color: #2c3a2e; font-size: clamp(2rem, 2.8vw, 2.8rem); line-height: 1; }
.pay-card .pay-detail { white-space: normal; overflow-wrap: anywhere; }
.pay-foot b { color: #394d37; }
.hero-strip { background: #172018; border-top: 1px solid rgba(232, 210, 161, .24); }
.hero-strip .wrap { color: #dccfae; font-size: .67rem; }

/* Sections, glass panels and editorial cards. */
.section { padding-top: clamp(72px, 8vw, 118px); padding-bottom: clamp(72px, 8vw, 118px); }
.directions-section, .section-alt, .process-section { background: linear-gradient(145deg, #e5e4d9, #efeee7 48%, #d9dcca); }
.section-head { max-width: 800px; }
.section-head .eyebrow, .apply-copy .eyebrow { color: #665125; background: rgba(185, 153, 82, .1); border: 1px solid rgba(135, 103, 41, .26); border-radius: 100px; }
.section-head h2, .apply-copy h2 { color: #1e2b20; }
.section-head .lead, .apply-copy .lead { color: #495349; line-height: 1.75; }
.dir-picker, .card, .age-card, .stage, .mentor-card, .pay-block, .pay-mini, .pay-mini-card, .legal-card, .src-list li, .payment-details, .faq details, .apply-form {
  background: rgba(255, 255, 250, .66);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: var(--shadow-sm), inset 0 1px rgba(255,255,255,.75);
  backdrop-filter: blur(18px) saturate(115%);
  -webkit-backdrop-filter: blur(18px) saturate(115%);
}
.card, .age-card, .stage, .mentor-card, .pay-block, .pay-mini, .pay-mini-card, .legal-card, .src-list li, .payment-details, .faq details { border-radius: 18px; }
.card:hover, .age-card:hover, .dir-card:hover { box-shadow: var(--shadow-lg); }
.card-icon, .legal-icon { color: #d7c08c; background: #2a382b; border-color: #445443; border-radius: 11px; }
.dir-picker { border-radius: 24px; padding: clamp(12px, 2vw, 28px); }
.dir-picker.reveal { opacity: 1; transform: none; }
.dir-help { background: rgba(255, 255, 250, .82); border-color: rgba(47, 61, 45, .2); }
.dir-help p { flex: 1 1 430px; max-width: none; line-height: 1.6; }
.dir-help .btn-ghost { flex: 0 1 auto; color: #253628; background: rgba(221, 205, 166, .26); border-color: rgba(68, 82, 58, .42); white-space: normal; text-align: center; }
.dir-help .btn-ghost:hover { color: #17261b; background: rgba(221, 205, 166, .52); border-color: #68734f; }
.dir-tabs { background: rgba(29, 39, 30, .09); border: 1px solid rgba(35,46,34,.15); border-radius: 14px; padding: 6px; gap: 5px; }
.dir-tab { border-radius: 10px; border-color: transparent; background: transparent; color: #39463a; min-height: 74px; transition: background .25s, box-shadow .25s, transform .25s; }
.dir-tab:hover { background: rgba(255,255,250,.72); transform: translateY(-2px); }
.dir-tab.is-active { color: #f2e7cb; background: linear-gradient(145deg, #29392b, #1f2c22); border-color: #40533f; box-shadow: 0 10px 24px rgba(25,37,26,.18), inset 0 1px rgba(255,255,255,.1); }
.dir-tab.is-active :is(small, svg) { color: #ded2b2; }
.dir-tabs .dir-tab.is-active .dir-tab-label small { color: #ded2b2; }
.dir-panel, .dir-poster { border-radius: 18px; }
.dir-poster { overflow: hidden; border: 1px solid rgba(38,49,38,.18); background: rgba(248,247,241,.82); box-shadow: var(--shadow-sm); }
.dir-poster-photo img { filter: saturate(.66) contrast(1.06); }
.dir-poster-side { background: rgba(249,248,241,.84); }
.dir-poster-h { color: #1f2d21; font-size: clamp(2.4rem, 3.8vw, 4.1rem); line-height: 1.02; overflow-wrap: anywhere; hyphens: auto; }
.dir-poster-badge, .dir-tag-gold { background: #334531; color: #f6edd6; border-color: #425b40; }
.dir-poster-pay { background: #e5e3d5; border-color: #c7c7b5; }
.dir-poster-pay b { color: #263b29; }
.dir-training-drawer, .payment-details { border-color: rgba(42,54,41,.2); }
.dir-training-drawer summary:hover, .payment-details summary:hover { background: rgba(208, 206, 186, .26); }
.process-grid { border-radius: 20px; background: rgba(255,255,250,.6); border-color: rgba(255,255,255,.75); box-shadow: var(--shadow-sm); backdrop-filter: blur(16px); }
.process-card { border-color: rgba(41,54,42,.17); }
.process-num { color: #89682d; }
.faq-tabs { background: rgba(36,49,37,.1); border-color: rgba(36,49,37,.15); }
.faq-tab.is-active { color: #f5ecd3; background: #293a2b; }
.faq details summary { color: #243426; }
.faq details[open] { border-color: rgba(111, 89, 45, .38); }
.pay-table th { background: #e4e3d8; }
.pay-table tbody tr:hover { background: #eeeee5; }
.pay-block-sum, .pmc-sum, .mini-sum { color: #29412c; }

/* Forms and supporting pages use the same materials and controls. */
.apply-section { background: linear-gradient(140deg, #263629, #17241b); }
.apply-copy, .apply-copy h2 { color: #f8f4e9; }
.apply-copy :is(.lead, p) { color: #e2dfd0; }
.apply-copy .eyebrow { color: #e7d3a5; background: rgba(227,206,157,.09); border-color: rgba(227,206,157,.32); }
.apply-form { background: rgba(247,246,238,.92); border-radius: 22px; padding: clamp(22px, 3vw, 40px); }
.apply-form :is(input, select, textarea) { background: #f6f5ee; border-color: rgba(46,61,46,.29); color: #1c2b1d; border-radius: 9px; min-height: 44px; }
.apply-form :is(input, select, textarea):focus { border-color: #87672e; outline: 2px solid rgba(154,113,47,.28); }
.info-page-main h1 { color: #1d2a20; font-family: 'IBM Plex Sans', Arial, sans-serif; font-size: clamp(2.5rem, 4.3vw, 4.2rem); }
.info-back { color: #5b4b2a; }
.policy-wrap, .info-page-main { color: #233125; }
.footer { background: linear-gradient(150deg, #253328, #17241b); border-color: rgba(232,215,174,.2); color: #eae9db; }
.footer .logo-copy b { color: #f8f3e4; }
.foot-title { color: #dbbd80; }
.foot-link, .foot-desc, .copyright { color: #f1efe5; }
.footer .foot-desc.small { color: #f1efe5; }
.foot-link:hover, .foot-link[aria-current="page"] { color: #ecd4a2; }
.mobile-actions { background: rgba(27,40,29,.96); border-color: rgba(225,203,153,.35); }
.mobile-action-apply { color: #1a261b; background: linear-gradient(135deg, #e2cc9b, #caa969); }
.footer { padding-bottom: 126px; }
.floating-contact {
  position: fixed;
  z-index: 120;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 16px;
  width: min(535px, calc(100% - 32px));
  padding: 10px 10px 10px 20px;
  color: #f7f1df;
  background: rgba(27, 39, 29, .95);
  border: 1px solid rgba(225, 203, 153, .42);
  border-radius: 17px;
  box-shadow: 0 20px 48px rgba(13, 24, 15, .35), inset 0 1px rgba(255, 255, 255, .08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.floating-contact-phone { display: grid; gap: 2px; flex: 1 1 auto; min-width: 0; }
.floating-contact-phone span { color: #d7bd86; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.floating-contact-phone strong { color: #f7f1df; font-family: 'IBM Plex Sans', Arial, sans-serif; font-size: 1.14rem; line-height: 1.2; white-space: nowrap; }
.floating-contact-phone:hover strong { color: #f0d29a; }
.floating-contact-apply { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 48px; padding: 0 20px; color: #1b281d; background: linear-gradient(135deg, #e2cc9b, #caa969); border: 1px solid #bd9854; border-radius: 10px; font-size: .82rem; font-weight: 750; text-align: center; transition: background .2s ease, transform .2s ease; }
.floating-contact-apply:hover { background: linear-gradient(135deg, #ecd9af, #d4b474); transform: translateY(-2px); }
.floating-contact :is(a):focus-visible { outline: 3px solid #f0d29a; outline-offset: 3px; }

/* The name and every navigation item share one line on wide screens. */
@media (min-width: 1440px) {
  .site-header .nav { display: flex; }
  .site-header .burger { display: none; }
}
@media (max-width: 1439px) {
  .site-header .nav { display: none; }
  .site-header .burger { display: block; margin-left: auto; }
  .site-header .nav.open {
    display: flex;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0;
    padding: 12px 16px;
    background: rgba(26, 37, 28, .98);
    border: 1px solid rgba(229, 206, 163, .27);
    box-shadow: var(--shadow-lg);
    backdrop-filter: blur(20px);
  }
  .site-header .nav.open > a { display: block; padding: 11px 12px; color: #f4ecd8; font-size: .88rem; }
  .site-header .nav.open a:hover { color: #e8ca91; }
  .site-header .nav.open .more-menu { width: 100%; }
  .site-header .nav.open .more-menu summary { justify-content: space-between; width: 100%; padding: 0 12px; color: #f4ecd8; font-size: .88rem; }
  .site-header .nav.open .more-menu-popover { position: static; width: 100%; margin: 0 0 8px; box-shadow: none; }
}
@media (max-width: 1100px) {
  .site-header .header-inner { gap: 12px; }
  .nav a { font-size: .68rem; }
  .pay-card .pay-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pay-card .pay-sep { display: none; }
  .pay-card .pay-row > :last-child { padding-top: 16px; border-top: 1px solid rgba(47, 61, 45, .18); }
}
@media (max-width: 960px) {
  .hero-inner { grid-template-columns: minmax(0, 1fr); padding-top: 68px; }
  .hero-right { width: 100%; min-width: 0; }
  .pay-card { width: 100%; }
  .hero-copy h1 { font-size: clamp(3.6rem, 9vw, 6rem); }
  .nav.open { background: rgba(26,37,28,.98); border: 1px solid rgba(229,206,163,.27); box-shadow: var(--shadow-lg); backdrop-filter: blur(20px); }
  .nav.open a { color: #f4ecd8; font-size: .88rem; }
}
@media (max-width: 900px) {
  .dir-poster { grid-template-columns: minmax(0, 1fr); }
  .dir-poster-photo, .dir-poster-side { min-width: 0; }
}
@media (min-width: 641px) and (max-width: 900px) {
  .payment-details .pay-table td:last-child { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 640px) {
  html { scroll-padding-top: 90px; }
  body { padding-bottom: 0; }
  .footer { padding-bottom: 112px; }
  .floating-contact { bottom: 10px; gap: 8px; width: calc(100% - 20px); padding: 8px 8px 8px 12px; border-radius: 14px; }
  .floating-contact-phone strong { font-size: clamp(.75rem, 2.9vw, .95rem); }
  .floating-contact-phone span { font-size: .56rem; }
  .floating-contact-apply { min-height: 44px; padding: 0 12px; font-size: .75rem; }
  .site-header .header-inner { min-height: 78px; }
  .site-header .logo { padding-left: 12px; border-left-width: 2px; }
  .site-header .logo-copy { gap: 5px; }
  .site-header .logo-copy b { font-size: clamp(1.2rem, 5.2vw, 1.45rem); }
  .site-header .logo-copy small { font-size: .63rem; letter-spacing: .06em; }
  .hero-inner { padding-top: 58px; padding-bottom: 68px; }
  .hero-copy h1 { font-size: clamp(2.25rem, 8.8vw, 3.6rem); line-height: 1.08; }
  .hero-bg img { opacity: .4; object-position: 64% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(20,30,22,.95), rgba(20,30,22,.76)), linear-gradient(0deg, rgba(19,29,21,.8), transparent 60%); }
  .hero-sub { font-size: .9rem; }
  .hero-checks li { font-size: .81rem; }
  .hero-cta { display: grid; grid-template-columns: 1fr; }
  .hero-cta .btn { width: 100%; }
  .pay-card { border-radius: 16px; }
  .section-head h2 { font-size: clamp(2.55rem, 11vw, 3.7rem); }
  .dir-picker { padding: 9px; border-radius: 16px; }
  .dir-panel { padding: 16px 0 0; }
  .dir-poster-cta { align-self: stretch; max-width: 100%; white-space: normal; text-align: center; line-height: 1.35; }
  .dir-poster-spec-list li { overflow-wrap: anywhere; }
  .pay-card .pay-sum { font-size: clamp(1.45rem, 7vw, 1.7rem); white-space: normal; }
  .pay-card .pay-detail { white-space: normal; }
  .dir-help { padding: 20px; }
  .dir-help p { flex-basis: auto; }
  .dir-help .btn-ghost { width: 100%; }
  .dir-tab { min-height: 65px; }
  .dir-poster-h { font-size: clamp(1.7rem, 7.6vw, 2.25rem); }
  .footer .logo-copy b { font-size: 1.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Dark terrain treatment for the content sections. The pixel field stays
   behind the cards so long paragraphs retain a calm, solid reading surface. */
.home-page {
  background-color: #171d18;
  background-image:
    radial-gradient(ellipse 80% 34% at 95% 34%, rgba(127, 107, 69, .10), transparent 72%),
    radial-gradient(ellipse 70% 30% at 5% 75%, rgba(145, 118, 70, .07), transparent 72%),
    url("assets/terrain-pixels.svg?v=4"),
    linear-gradient(160deg, #161c17, #20251e 48%, #141a15);
  background-size: auto, auto, 256px 256px, auto;
}
.home-page::before { opacity: .025; }

.section:not(.apply-section) {
  background: transparent;
  border-color: rgba(208, 194, 150, .18);
}
.section:not(.apply-section) .section-head h2,
.section:not(.apply-section) .sub-h { color: #f3f0e3; }
.section:not(.apply-section) .section-head .lead { color: #d3d9c9; }
.section:not(.apply-section) .section-head .eyebrow {
  color: #e8d19c;
  background: rgba(226, 204, 149, .1);
  border-color: rgba(226, 204, 149, .35);
}

.section:not(.apply-section) :is(
  .dir-picker, .card, .age-card, .age-card.highlight, .process-grid,
  .mentor-card, .mentors-fact, .testimonial, .pay-block, .pay-mini,
  .pay-mini-card, .payment-details
) {
  background: rgba(211, 211, 190, .94);
  border-color: rgba(236, 229, 195, .57);
  box-shadow: 0 18px 40px rgba(7, 16, 10, .24), inset 0 1px rgba(255, 255, 255, .37);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.section:not(.apply-section) :is(.dir-help, .dir-poster, .dir-poster-side) {
  background: #e0ddcc;
  border-color: rgba(42, 56, 39, .24);
}
.section:not(.apply-section) .dir-poster-pay { background: #c9cbb5; }
.section:not(.apply-section) .dir-tabs { background: rgba(27, 43, 31, .12); }
.section:not(.apply-section) .dir-tab:hover { background: rgba(245, 244, 226, .8); }
.section:not(.apply-section) .req-list li,
.section:not(.apply-section) .process-phone,
.section:not(.apply-section) .testimonials-disclaimer { color: #dce0d2; }
.section:not(.apply-section) .req-list li::before { color: #dfc78d; }
.section:not(.apply-section) .mentors-fact :is(b, span) { color: #263829; }
.section:not(.apply-section) .testimonial-meta { border-color: rgba(39, 55, 39, .27); }
.section:not(.apply-section) .callout {
  color: #e9e8d9;
  background: rgba(92, 78, 54, .37);
  border-color: rgba(211, 183, 123, .47);
}
.section:not(.apply-section) .callout b { color: #efd29b; }
.section:not(.apply-section) .payment-details :is(.table-wrap, .pay-table th) {
  background: #e5e3d3;
}
.section:not(.apply-section) .payment-details .pay-table td { background: #ebe9db; }

/* The first screen opens up the photograph. Motion moves decorative layers only. */
.hero-bg { overflow: hidden; }
.hero-bg > img {
  opacity: .76;
  filter: saturate(.64) contrast(1.08);
  object-position: center 12%;
  transform: translate3d(-1.5%, 2.4%, 0) scale(1.075);
  will-change: transform;
}
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(17, 27, 19, .94) 0%, rgba(17, 27, 19, .82) 36%, rgba(17, 27, 19, .36) 72%, rgba(17, 27, 19, .19) 100%),
    linear-gradient(0deg, rgba(17, 27, 19, .68), transparent 58%);
}
.hero-sky {
  position: absolute;
  inset: 0 0 auto 30%;
  height: 43%;
  pointer-events: none;
  background:
    radial-gradient(ellipse 32% 22% at 23% 33%, rgba(224, 218, 194, .19), transparent 88%),
    radial-gradient(ellipse 34% 24% at 72% 28%, rgba(223, 220, 204, .16), transparent 88%);
  filter: blur(16px);
  will-change: transform, opacity;
  mask-image: linear-gradient(90deg, transparent, #000 30%, #000 78%, transparent), linear-gradient(#000 35%, transparent);
  mask-composite: intersect;
}
.hero-inner {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  padding-top: clamp(58px, 6vw, 82px);
  padding-bottom: clamp(64px, 6vw, 82px);
}
.hero-copy h1 {
  max-width: 640px;
  margin: 14px 0 16px;
  font-size: clamp(2.85rem, 4.35vw, 4.55rem);
  line-height: 1.03;
}
.hero-sub { max-width: 535px; font-size: .95rem; line-height: 1.68; }
.hero-copy .contact-line { margin-top: 17px; padding-top: 15px; }
.hero-copy .hero-checks { margin: 19px 0 23px; gap: 9px; }
.directions-section { padding-top: clamp(34px, 4.5vw, 64px); }
.pay-band {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(0, 2.8fr) minmax(180px, .9fr);
  align-items: center;
  gap: clamp(16px, 2.2vw, 30px);
  margin-bottom: clamp(54px, 6vw, 82px);
  padding: clamp(24px, 3vw, 36px);
  background: #dedccb;
  border-color: rgba(239, 226, 189, .62);
}
.pay-band .pay-title { margin: 0; line-height: 1.5; }
.pay-band .pay-row { min-width: 0; gap: 16px; }
.pay-band .pay-col { min-width: 0; }
.pay-band .pay-sum { font-size: clamp(1.75rem, 2.35vw, 2.4rem); }
.pay-band .pay-detail { white-space: normal; }
.pay-band .pay-foot {
  display: grid;
  gap: 8px;
  align-content: center;
  align-self: stretch;
  min-width: 0;
  margin: 0;
  padding: 0 0 0 clamp(16px, 2vw, 26px);
  border-top: 0;
  border-left: 1px solid rgba(47, 61, 45, .2);
}
.pay-band .pay-foot span { line-height: 1.4; }
.pay-band .pay-foot b { font-size: 1.12rem; line-height: 1.25; }

@media (max-width: 1100px) {
  .pay-band { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .pay-band .pay-row { grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); }
  .pay-band .pay-sep { display: block; }
  .pay-band .pay-row > :last-child { padding-top: 0; border-top: 0; }
  .pay-band .pay-foot { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(47, 61, 45, .2); }
}

@media (max-width: 960px) {
  .hero-inner { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .hero-inner { padding-top: 44px; padding-bottom: 56px; }
  .hero-copy h1 { font-size: clamp(2.2rem, 8.2vw, 3.2rem); }
  .hero-bg > img { opacity: .48; object-position: 64% center; }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(17, 27, 19, .94), rgba(17, 27, 19, .72)),
                linear-gradient(0deg, rgba(17, 27, 19, .72), transparent 60%);
  }
  .hero-sky { opacity: .45; }
  .pay-band { padding: 22px 20px; }
  .pay-band .pay-row { grid-template-columns: minmax(0, 1fr); gap: 17px; }
  .pay-band .pay-sep { display: none; }
  .pay-band .pay-row > :last-child { padding-top: 17px; border-top: 1px solid rgba(47, 61, 45, .2); }
  .pay-band .pay-foot { display: grid; justify-content: stretch; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-bg > img, .hero-sky { transform: none !important; }
}
.floating-contact.is-over-hero {
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 16px);
}

/* The original terrain squares are redrawn behind the content, never over it. */
.home-page.terrain-active {
  background-image:
    radial-gradient(ellipse 80% 34% at 95% 34%, rgba(127, 107, 69, .10), transparent 72%),
    radial-gradient(ellipse 70% 30% at 5% 75%, rgba(145, 118, 70, .07), transparent 72%),
    linear-gradient(160deg, #161c17, #20251e 48%, #141a15);
  background-size: auto, auto, auto;
}
.terrain-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  filter: brightness(.72) saturate(.72);
  transition: opacity .85s ease-in-out;
}
.home-page .section { z-index: 1; }
.home-page .hero { z-index: 1; }

/* A quiet zone belongs to each heading, leaving the animated field between cards. */
.section:not(.apply-section) .section-head { position: relative; isolation: isolate; }
.section:not(.apply-section) .section-head::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -30px -20px;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(29,36,30,.94) 0%, rgba(29,36,30,.78) 46%, transparent 78%);
}

.dir-tab-label b { font-size: .9rem; }
.dir-tab-label small { font-size: .75rem; line-height: 1.4; }
.dir-tab { min-height: 90px; }

/* Four connected steps use the existing card surface and accent colour. */
.process-grid .process-card { overflow: visible; }
.process-grid .process-num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 28px;
  color: #e9d29c;
  background: #2b3b2d;
  border: 1px solid #526449;
  border-radius: 50%;
  font-family: 'IBM Plex Sans', Arial, sans-serif;
  font-size: .85rem;
  letter-spacing: .02em;
}
.process-grid .process-card:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 56px;
  left: 74px;
  right: -28px;
  height: 2px;
  background: linear-gradient(90deg, #ad9160, rgba(173,145,96,.42));
  pointer-events: none;
}
@media (max-width: 900px) {
  .process-grid .process-card:nth-child(2)::after { display: none; }
}
@media (max-width: 640px) {
  .dir-tab-label b { font-size: .86rem; }
  .dir-tab-label small { font-size: .74rem; }
  .dir-tabs .dir-tab { min-height: 88px; }
  .process-grid .process-card { padding: 24px 22px 28px; }
  .process-grid .process-num { margin-bottom: 0; }
  .process-grid .process-card :is(h3, p) { margin-left: 62px; }
  .process-grid .process-card:not(:last-child)::after,
  .process-grid .process-card:nth-child(2)::after {
    display: block;
    top: 70px;
    bottom: -24px;
    left: 44px;
    right: auto;
    width: 2px;
    height: auto;
    background: linear-gradient(#ad9160, rgba(173,145,96,.42));
  }
  .floating-contact.is-compact {
    bottom: max(8px, env(safe-area-inset-bottom));
    width: min(360px, calc(100% - 20px));
    gap: 6px;
    padding: 4px 4px 4px 12px;
    border-radius: 12px;
  }
  .floating-contact.is-compact .floating-contact-phone span { display: none; }
  .floating-contact.is-compact .floating-contact-phone strong { font-size: .84rem; }
  .floating-contact.is-compact .floating-contact-apply { min-height: 44px; padding: 0 10px; font-size: .72rem; }
  .floating-contact.is-over-apply {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 16px);
  }
}

/* Existing section reveals gain a small stagger without moving the layout. */
.section-head.reveal { transition-duration: .7s; }
.grid > .reveal:nth-child(2),
.process-grid > .reveal:nth-child(2),
.testimonials-grid > .reveal:nth-child(2) { transition-delay: .08s; }
.grid > .reveal:nth-child(3),
.process-grid > .reveal:nth-child(3),
.testimonials-grid > .reveal:nth-child(3) { transition-delay: .16s; }
.grid > .reveal:nth-child(n+4),
.process-grid > .reveal:nth-child(n+4) { transition-delay: .22s; }

/* The selected direction has a clear focal point; the other choices stay legible. */
.dir-tabs { position: relative; }
.dir-tabs .dir-tab {
  position: relative;
  z-index: 1;
  background: rgba(250, 249, 235, .18);
  border-color: rgba(48, 63, 47, .10);
  color: #465347;
  transition: background .25s, border-color .25s, color .25s, box-shadow .25s, transform .25s;
}
.dir-tabs .dir-tab:not(.is-active) .dir-tab-icon {
  background: rgba(156, 134, 83, .11);
  color: #7b704e;
}
.dir-tabs .dir-tab:not(.is-active) .dir-tab-label small { color: #657064; }
.dir-tabs .dir-tab:not(.is-active):hover,
.dir-tabs .dir-tab:not(.is-active):focus-visible {
  background: rgba(255, 253, 236, .68);
  border-color: rgba(127, 113, 71, .33);
  color: #243626;
}
.dir-tabs .dir-tab:focus-visible { outline: 2px solid #ad955c; outline-offset: 2px; }
.dir-tabs .dir-tab.is-active {
  color: #f6f0dd;
  background: linear-gradient(155deg, #314532, #1c2d21);
  border-color: rgba(222, 195, 127, .72);
  box-shadow: 0 12px 26px rgba(21, 34, 23, .23), inset 0 1px rgba(255, 247, 211, .2);
}
.dir-tab-indicator {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border: 1px solid rgba(222, 195, 127, .72);
  border-radius: 10px;
  background: linear-gradient(155deg, #314532, #1c2d21);
  box-shadow: 0 12px 26px rgba(21, 34, 23, .23), inset 0 1px rgba(255, 247, 211, .2);
  transform-origin: top left;
  pointer-events: none;
}
.dir-tabs.has-motion-indicator .dir-tab.is-active {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.motion-ready .dir-panel { animation: none; }

@media (hover: hover) {
  .section:not(.apply-section) :is(.card, .age-card, .mentor-card, .pay-mini-card, .testimonial):hover {
    transform: translateY(-3px);
    box-shadow: 0 22px 44px rgba(7,16,10,.32), inset 0 1px rgba(255,255,255,.45);
    border-color: rgba(226,204,149,.82);
  }
  :is(.btn, .floating-contact-apply):hover { filter: brightness(1.055); }
}
:is(.btn, .floating-contact-apply):active { transform: translateY(1px) scale(.985); }

@media (prefers-reduced-motion: reduce) {
  .grid > .reveal, .process-grid > .reveal, .testimonials-grid > .reveal { transition-delay: 0s; }
  :is(.btn, .floating-contact-apply):active { transform: none; }
}

/* Revised content journey: about, service paths, cities and full support. */
.about-section {
  color: #f5f0df;
  background:
    linear-gradient(120deg, rgba(15, 24, 17, .985), rgba(28, 39, 29, .975)),
    url('assets/terrain-pixels.svg?v=4') center / cover;
  border-top: 1px solid rgba(218, 195, 142, .24);
  border-bottom: 1px solid rgba(218, 195, 142, .24);
}
.about-layout {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1fr);
  column-gap: clamp(30px, 5vw, 80px);
  row-gap: 20px;
  align-items: start;
}
.about-sidebar { min-width: 0; display: grid; gap: 26px; align-content: start; }
.about-layout .section-head { margin: 0; }
.about-layout .section-head h2 { color: #f7f2e3; }
.about-layout .section-head .eyebrow { color: #e4ca92; border-color: rgba(224, 198, 139, .35); background: rgba(222, 196, 136, .08); }
.about-highlights { overflow: hidden; border: 1px solid rgba(224, 194, 132, .38); border-left: 4px solid #d2ad64; border-radius: 16px; background: linear-gradient(145deg, rgba(204, 169, 95, .13), rgba(10, 22, 14, .42)); box-shadow: inset 0 1px rgba(255,255,255,.035), 0 18px 38px -30px rgba(0,0,0,.85); }
.about-highlight { padding: 22px 24px; }
.about-highlight + .about-highlight { border-top: 1px solid rgba(224, 194, 132, .23); }
.about-highlight strong { display: block; color: #f0ce87; font: 700 clamp(1rem, 1.2vw, 1.14rem)/1.4 'IBM Plex Sans', Arial, sans-serif; }
.about-highlight span { display: block; margin-top: 8px; color: #f1eee2; font-size: .91rem; line-height: 1.55; }
.about-copy { color: #d9ddcf; font-size: 1rem; }
.about-copy p { margin: 0 0 18px; }
.about-copy p:last-child { margin-bottom: 0; }
.about-copy .about-lead { color: #f1eddf; font-family: 'IBM Plex Sans', Arial, sans-serif; font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 600; line-height: 1.42; }
.about-points { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(224, 199, 143, .28); border-radius: 16px; overflow: hidden; background: rgba(9, 19, 12, .24); }
.about-points div { min-height: 106px; padding: 24px 28px; display: flex; gap: 18px; align-items: center; border-right: 1px solid rgba(224, 199, 143, .2); }
.about-points div:last-child { border-right: 0; }
.about-points b { color: #d8b979; font: 700 1.2rem/1 'IBM Plex Sans', Arial, sans-serif; }
.about-points span { color: #f3eddb; font-weight: 650; line-height: 1.35; }

.service-directions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.service-direction { position: relative; min-height: 272px; padding: 27px; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(53, 67, 50, .22); border-radius: 16px; background: linear-gradient(145deg, rgba(252, 250, 241, .9), rgba(225, 225, 210, .82)); box-shadow: var(--shadow-sm); }
.service-direction::after { content: ''; position: absolute; right: -52px; bottom: -62px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(64, 92, 62, .18), transparent 67%); }
.service-direction-num { color: #977234; font: 700 .72rem/1 Montserrat, Arial, sans-serif; letter-spacing: .17em; }
.service-direction h3 { max-width: 90%; margin: 17px 0 11px; color: #1e2a20; font-size: 1.32rem; }
.service-direction > p { margin: 0 0 22px; color: #4b554a; font-size: .9rem; line-height: 1.62; }
.service-direction-place { position: relative; z-index: 1; margin-top: auto; padding-top: 15px; display: grid; gap: 5px; border-top: 1px solid rgba(52, 67, 50, .17); }
.service-direction-place b { color: #7b6334; font-size: .63rem; letter-spacing: .13em; text-transform: uppercase; }
.service-direction-place span { color: #334035; font-size: .8rem; line-height: 1.45; }

.cities-section { color: #f4f0e1; background: linear-gradient(145deg, #18241a, #29372a 53%, #1c2a1e); }
.cities-section .section-head h2 { color: #f7f3e7; }
.cities-section .section-head .lead { color: #cdd4c9; }
.cities-section .section-head .eyebrow { color: #e4ca92; border-color: rgba(224, 198, 139, .35); background: rgba(222, 196, 136, .08); }
.city-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.cities-section > .wrap { max-width: 1500px; }
.city-card { min-width: 0; min-height: 272px; padding: 23px; display: flex; flex-direction: column; border: 1px solid rgba(222, 202, 155, .3); border-radius: 15px; background: linear-gradient(150deg, rgba(24, 36, 27, .94), rgba(34, 44, 33, .9)); box-shadow: 0 18px 38px -28px rgba(0,0,0,.8), inset 0 1px rgba(255,255,255,.035); }
.city-card-head { min-width: 0; display: flex; justify-content: space-between; gap: 12px; align-items: start; }
.city-card h3 { margin: 0; color: #f5f0df; font-size: 1.13rem; }
.city-card-head span { flex: 0 0 auto; padding-top: 2px; color: #d4dbcf; font-size: .68rem; font-weight: 650; line-height: 1.2; letter-spacing: .075em; text-transform: uppercase; white-space: nowrap; }
.city-total { margin: 23px 0 7px; color: #e5c587; font: 700 clamp(1.65rem, 2.2vw, 2.15rem)/1 'IBM Plex Sans', Arial, sans-serif; white-space: nowrap; }
.city-total-label { margin: 0 0 20px; color: #d4dbcf; font-size: .68rem; font-weight: 650; line-height: 1.2; letter-spacing: .075em; text-transform: uppercase; }
.city-card dl { margin: auto 0 0; display: grid; gap: 8px; }
.city-card dl > div { display: flex; justify-content: space-between; gap: 14px; padding-top: 8px; border-top: 1px solid rgba(220, 206, 169, .15); }
.city-card dt { color: #aeb8aa; font-size: .69rem; }
.city-card dd { margin: 0; color: #eef0e7; font-size: .72rem; font-weight: 650; text-align: right; }
.city-note { margin-top: 13px; padding: 9px 10px; color: #e7d4a6; font-size: .67rem; line-height: 1.4; border: 1px solid rgba(222, 190, 121, .25); border-radius: 8px; background: rgba(207, 168, 84, .07); }
.city-disclaimer { margin-top: 20px; padding: 18px 21px; color: #c5cec1; font-size: .78rem; line-height: 1.55; border-left: 3px solid #c6a562; background: rgba(255,255,255,.04); }

.support-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.support-card { min-height: 252px; padding: 25px; border: 1px solid rgba(53, 67, 50, .21); border-radius: 15px; background: rgba(250, 249, 241, .68); box-shadow: var(--shadow-sm); }
.support-card > b { color: #9a783d; font: 700 .7rem/1 Montserrat, Arial, sans-serif; letter-spacing: .17em; }
.support-card h3 { margin: 23px 0 12px; color: #202b21; font-size: 1.18rem; }
.support-card p { margin: 0; color: #4d564d; font-size: .84rem; line-height: 1.62; }
.process-grid-six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.contact-placeholder { cursor: default; }

/* Complete navigation mirrors the order of the main page. */
.site-header .header-inner { max-width: 1580px; }
.site-header .nav { gap: clamp(7px, .72vw, 12px); }
.site-header .nav > a { font-size: clamp(.66rem, .7vw, .78rem); }
.site-header .nav-apply {
  padding: 9px 12px;
  color: #1b281d;
  background: linear-gradient(135deg, #e2cc9b, #caa969);
  border: 1px solid #bd9854;
  border-radius: 9px;
}
.site-header .nav-apply:hover { color: #142017; background: linear-gradient(135deg, #ecd9af, #d4b474); }
.header-phone {
  display: grid;
  flex: 0 0 auto;
  gap: 2px;
  padding-left: 12px;
  border-left: 1px solid rgba(226, 203, 153, .3);
  white-space: nowrap;
}
.header-phone small { color: #cbb88d; font-size: .48rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.header-phone b { color: #f5efdf; font: 700 .75rem/1.15 'IBM Plex Sans', Arial, sans-serif; }

@media (max-width: 1439px) {
  .site-header .nav.open .header-phone {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: 7px;
    padding: 12px;
    border-top: 1px solid rgba(226, 203, 153, .22);
    border-left: 0;
  }
  .site-header .nav.open .header-phone small { font-size: .55rem; }
  .site-header .nav.open .header-phone b { font-size: .95rem; }
  .site-header .nav.open .nav-apply { margin: 5px 0; text-align: center; }
}

/* FAQ and legal information use the same terrain surface as the home page. */
.terrain-info-page {
  background-color: #171d18;
  background-image:
    radial-gradient(ellipse 80% 34% at 95% 30%, rgba(127, 107, 69, .10), transparent 72%),
    radial-gradient(ellipse 70% 30% at 5% 76%, rgba(145, 118, 70, .07), transparent 72%),
    url("assets/terrain-pixels.svg?v=4"),
    linear-gradient(160deg, #161c17, #20251e 48%, #141a15);
  background-size: auto, auto, 256px 256px, auto;
}
.terrain-info-page .info-page-main,
.terrain-info-page .info-page-main > .section { background: transparent; }
.terrain-info-page .info-page-main h1 { color: #f3f0e3; }
.terrain-info-page .info-page-main .section-head .lead { color: #d3d9c9; }
.terrain-info-page .info-page-main .section-head .eyebrow {
  color: #e8d19c;
  background: rgba(226, 204, 149, .1);
  border-color: rgba(226, 204, 149, .35);
}
.terrain-info-page .info-back { color: #e5c98d; }
.terrain-info-page :is(.faq details, .src-list li) {
  background: rgba(211, 211, 190, .95);
  border-color: rgba(236, 229, 195, .58);
  box-shadow: 0 18px 40px rgba(7, 16, 10, .24), inset 0 1px rgba(255, 255, 255, .37);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.terrain-info-page .faq-tabs { background: rgba(218, 216, 198, .92); border-color: rgba(236, 229, 195, .55); }

/* Interactive service direction catalogue. */
.home-page .about-section .about-copy > p { color: #e4e8dc !important; }
.home-page .about-section .about-copy > .about-lead { color: #fff8e8 !important; }
.directions-section .dir-picker { padding: clamp(10px, 1.5vw, 20px); }
.directions-section .dir-tabs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.directions-section .dir-tab {
  min-width: 0;
  min-height: 86px;
  padding: 13px 10px 12px;
  gap: 8px;
}
.dir-tab-num {
  color: #9a7d43;
  font: 700 .65rem/1 'IBM Plex Sans', Arial, sans-serif;
  letter-spacing: .14em;
}
.dir-tab.is-active .dir-tab-num { color: #e5ca8e; }
.directions-section .dir-tab-label b { font-size: .76rem; line-height: 1.2; overflow-wrap: anywhere; }
.directions-section .dir-tab-label small { font-size: .58rem; }
.directions-section .dir-poster { grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); }
.directions-section .dir-poster-photo { min-height: 650px; height: 100%; aspect-ratio: auto; }
.directions-section .dir-poster-photo img { object-position: center; }
.directions-section .dir-poster-side { padding: clamp(25px, 3vw, 40px); }
.directions-section .dir-poster-h { font-size: clamp(2rem, 3.2vw, 3.35rem); overflow-wrap: normal; hyphens: none; }
.directions-section .dir-poster-desc { color: #3f4c40; }
.direction-place-card {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border: 1px solid rgba(53, 70, 52, .2);
  border-left: 3px solid #9f7d3f;
  border-radius: 11px;
  background: rgba(250, 248, 235, .62);
}
.direction-place-card span { color: #826936; font-size: .65rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.direction-place-card b { color: #253627; font-size: 1rem; }
.direction-place-card p { margin: 0; color: #566057; font-size: .78rem; line-height: 1.45; }

.direction-pay-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.direction-pay-card > div {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid rgba(159, 125, 63, .35);
  border-radius: 11px;
  background: linear-gradient(145deg, #25362a, #1d2c22);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.direction-pay-card span {
  color: #c8d0c3;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}
.direction-pay-card b {
  color: #e3c47e;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(.98rem, 1.4vw, 1.18rem);
  line-height: 1.2;
  white-space: nowrap;
}
.process-grid-eight { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.process-grid-eight .process-card:nth-child(4n)::after { display: none; }

@media (max-width: 1080px) {
  .directions-section .dir-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .directions-section .dir-poster { grid-template-columns: minmax(0, 1fr); }
  .directions-section .dir-poster-photo { min-height: 0; aspect-ratio: 16 / 10; }
  .process-grid-eight { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-grid-eight .process-card:nth-child(2n)::after { display: none; }
}
@media (max-width: 720px) {
  .directions-section .dir-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directions-section .dir-tab { min-height: 76px; padding: 11px 8px; }
  .directions-section .dir-tabs .dir-tab:last-child { grid-column: auto; }
  .directions-section .dir-poster-photo { aspect-ratio: 4 / 3; }
  .directions-section .dir-poster-side { padding: 24px 20px 22px; }
  .process-grid-eight { grid-template-columns: 1fr; }
  .process-grid-eight .process-card { min-height: 0; padding: 24px 22px 28px; }
  .process-grid-eight .process-num { margin-bottom: 0; }
  .process-grid-eight .process-card :is(h3, p) { margin-left: 62px; }
  .process-grid-eight .process-card:not(:last-child)::after {
    display: block;
    top: 70px;
    bottom: -24px;
    left: 44px;
    right: auto;
    width: 2px;
    height: auto;
    background: linear-gradient(#ad9160, rgba(173,145,96,.42));
  }
}

@media (hover: hover) {
  .service-direction:hover, .support-card:hover, .city-card:hover { transform: translateY(-3px); border-color: rgba(184, 148, 76, .55); box-shadow: 0 24px 42px -28px rgba(22, 30, 22, .6); }
}
@media (max-width: 1080px) {
  .service-directions-grid, .process-grid-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-grid, .support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .about-layout { grid-template-columns: 1fr; column-gap: 0; row-gap: 18px; }
  .about-sidebar { gap: 18px; }
  .about-points { grid-column: auto; grid-template-columns: 1fr; }
  .about-points div { min-height: 76px; border-right: 0; border-bottom: 1px solid rgba(224, 199, 143, .2); }
  .about-points div:last-child { border-bottom: 0; }
  .service-directions-grid, .city-grid, .support-grid, .process-grid-six { grid-template-columns: 1fr; }
  .service-direction, .city-card, .support-card { min-height: 0; }
  .city-total { font-size: 1.9rem; }
}

@media (max-width: 360px) {
  .section-head h2,
  .apply-copy h2 {
    font-size: clamp(2rem, 10vw, 2.35rem);
    overflow-wrap: break-word;
    hyphens: auto;
  }
  .city-card { padding: 20px; }
  .city-card-head { flex-wrap: wrap; gap: 7px 12px; }
  .city-card-head span { white-space: normal; }
  .city-total { font-size: 1.65rem; white-space: normal; }
}

/* Brand image shared by every page header and footer. */
.site-header .logo,
.footer .logo {
  line-height: 0;
}
.site-header .logo {
  padding-left: 0;
  border-left: 0;
}
.brand-logo-img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(55, 0, 0, .2));
}
.site-header .brand-logo-img {
  width: clamp(270px, 22vw, 340px);
}
.footer .brand-logo-img {
  width: clamp(230px, 20vw, 290px);
}
@media (max-width: 640px) {
  .site-header .brand-logo-img { width: 235px; }
  .footer .brand-logo-img { width: 215px; }
}

/* Keep the enlarged mark while removing unused vertical padding around it. */
.site-header .header-inner {
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* The project motto sits in the open sky above the portrait on wide screens. */
.hero-motto {
  position: absolute;
  z-index: 2;
  top: clamp(14px, 2vw, 28px);
  right: clamp(18px, 3vw, 48px);
  width: min(300px, 24vw);
  margin: 0;
  padding-top: 13px;
  color: rgba(247, 242, 225, .88);
  border-top: 1px solid rgba(224, 194, 132, .55);
  font: 650 clamp(.78rem, 1vw, .98rem)/1.35 Montserrat, Arial, sans-serif;
  letter-spacing: .08em;
  text-align: right;
  text-transform: uppercase;
  text-shadow: 0 2px 16px rgba(0, 0, 0, .65);
}
.hero-motto span {
  display: block;
  margin-top: 4px;
  color: #e3c27f;
  font-family: 'IBM Plex Sans', Arial, sans-serif;
  font-size: 1.35em;
  font-weight: 700;
  letter-spacing: .025em;
}
.hero-motto-mobile { display: none; }

/* The company story and the complete journey now form one coherent section. */
.about-process {
  grid-column: 1 / -1;
  width: min(1480px, calc(100vw - 40px));
  justify-self: center;
  scroll-margin-top: 156px;
}
.about-process-head {
  max-width: 770px;
  margin: 4px 0 24px;
}
.about-process-head > span {
  color: #d8b976;
  font-size: .67rem;
  font-weight: 750;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.about-process-head h3 {
  margin: 10px 0 10px;
  color: #f7f1df;
  font-size: clamp(2rem, 3.2vw, 3.15rem);
}
.about-process-head p { margin: 0; color: #cdd5ca; line-height: 1.7; }
.process-cost {
  display: block;
  margin-top: 9px;
  color: #765a25;
  font-weight: 700;
}
.about-process .process-cta { margin-top: 26px; }

@media (min-width: 1281px) {
  .process-grid-eight { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .process-grid-eight .process-card:nth-child(4n)::after { display: block; }
  .process-grid-eight .process-card:nth-child(5n)::after { display: none; }
  .city-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .about-process { width: 100%; }
  .hero-motto-desktop { display: none; }
  .hero-motto-mobile {
    display: block;
    position: static;
    width: min(100%, 380px);
    margin: 18px 0 0;
    text-align: left;
  }
}
@media (max-width: 720px) {
}

@media (max-width: 360px) {
  .site-header .brand-logo-img { width: 215px; }
}

@media (max-width: 420px) {
  .directions-section .dir-tabs { grid-template-columns: 1fr; }
  .directions-section .dir-tab {
    min-height: 60px;
    padding: 11px 14px;
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
  }
  .directions-section .dir-tab-num { flex: 0 0 24px; }
  .directions-section .dir-tab-label { gap: 2px; }
}

/* Use the available canvas on wide screens while keeping tablet and mobile unchanged. */
@media (min-width: 1200px) {
  :root { --wrap: 1420px; }
  .home-page .hero-inner {
    width: 100%;
    max-width: none;
    padding-left: clamp(72px, 6.25vw, 120px);
    padding-right: clamp(24px, 3vw, 52px);
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  }
  .home-page .about-process { padding-top: 42px; }
}


@media (max-width: 640px) {
  .direction-pay-card { grid-template-columns: minmax(0, 1fr); }
  .direction-pay-card > div { padding: 13px 15px; }
  .direction-pay-card b { white-space: normal; }
}
