:root {
  --ink: #092027;
  --ink-soft: #13333a;
  --paper: #f5f4ee;
  --paper-deep: #eae9e1;
  --acid: #d6ff3f;
  --acid-strong: #c0ed19;
  --orange: #ff7a4a;
  --line-light: rgba(9, 32, 39, .14);
  --line-dark: rgba(255, 255, 255, .18);
  --white: #fff;
  --sans: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --mono: Consolas, "Courier New", monospace;
  --container: min(1180px, calc(100% - 56px));
  --radius: 4px;
  --shadow: 0 22px 60px rgba(8, 29, 35, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.55; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
::selection { background: var(--acid); color: var(--ink); }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 1000; padding: 10px 14px; background: var(--acid); color: var(--ink); transform: translateY(-150%); font-weight: 800; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; color: var(--white); background: linear-gradient(180deg, rgba(7, 25, 30, .82), rgba(7, 25, 30, 0)); transition: background .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { background: rgba(7, 25, 30, .97); box-shadow: 0 4px 28px rgba(0, 0, 0, .16); }
.header-inner { display: flex; align-items: center; height: 82px; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: max-content; letter-spacing: -.05em; }
.brand-mark { width: 31px; height: 29px; display: flex; align-items: flex-end; gap: 3px; transform: skewX(-15deg); }
.brand-mark i { display: block; width: 7px; background: var(--acid); }
.brand-mark i:nth-child(1) { height: 12px; }.brand-mark i:nth-child(2) { height: 21px; }.brand-mark i:nth-child(3) { height: 29px; }
.brand-type { font-weight: 500; font-size: 20px; letter-spacing: -.065em; }.brand-type strong { font-weight: 800; }
.brand-placeholder { font-family: var(--mono); font-size: 8px; letter-spacing: .05em; border: 1px solid rgba(255,255,255,.42); padding: 2px 3px; color: rgba(255,255,255,.65); text-transform: uppercase; }
.main-nav { display: flex; gap: 24px; margin-left: auto; }.main-nav a { position: relative; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.78); transition: color .2s ease; }.main-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: var(--acid); transition: right .2s ease; }.main-nav a:hover, .main-nav a:focus-visible { color: var(--white); }.main-nav a:hover::after { right: 0; }
.button { display: inline-flex; gap: 18px; justify-content: center; align-items: center; min-height: 52px; padding: 0 20px; border: 1px solid transparent; border-radius: var(--radius); font-size: 13px; font-weight: 800; letter-spacing: -.02em; background: var(--white); color: var(--ink); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }.button:hover { transform: translateY(-2px); box-shadow: 0 8px 0 rgba(0,0,0,.18); }.button span { font-size: 17px; font-weight: 500; }.button-small { min-height: 42px; padding: 0 15px; font-size: 12px; }.button-accent { background: var(--acid); }.button-accent:hover { background: var(--acid-strong); }.button-dark { background: var(--ink); color: var(--white); }.button-dark:hover { box-shadow: 0 8px 0 rgba(9,32,39,.25); }
.menu-toggle, .mobile-menu { display: none; }
.mobile-menu[hidden] { display: none !important; }

.section-dark { color: var(--white); background: var(--ink); }.section-light { background: var(--paper); }.section-cream { background: var(--paper-deep); }.section-ink { background: var(--ink-soft); color: var(--white); }.section-accent { background: var(--acid); }
.hero { position: relative; min-height: 744px; padding: 164px 0 35px; overflow: hidden; background-image: radial-gradient(circle at 76% 43%, rgba(55, 94, 98, .55), transparent 27%), linear-gradient(115deg, #07191e 35%, #102f35); }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.15) 50%, transparent 50.2%), linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px); background-size: 180px 100%, 100% 108px; pointer-events: none; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 62px; }
.eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 20px; color: rgba(255,255,255,.7); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .11em; }.eyebrow-dark { color: rgba(9,32,39,.65); }.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 100%; background: var(--acid); box-shadow: 0 0 0 5px rgba(214,255,63,.1); }
h1, h2, h3, p { margin-top: 0; } h1, h2, h3 { line-height: 1.05; letter-spacing: -.065em; } h1 { max-width: 650px; margin-bottom: 26px; font-size: clamp(3.5rem, 6.35vw, 6.15rem); font-weight: 800; } h2 { margin-bottom: 0; font-size: clamp(2.5rem, 4.4vw, 4.65rem); font-weight: 800; } h1 em, h2 em { color: var(--acid); font-family: var(--serif); font-weight: 600; letter-spacing: -.08em; } .section-light h2 em, .section-cream h2 em, .section-accent h2 em { color: var(--orange); }
.hero-lead { max-width: 555px; margin-bottom: 32px; color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.75; }.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }.text-link { display: inline-flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.38); padding-bottom: 5px; color: var(--white); font-size: 13px; font-weight: 800; transition: gap .2s ease, border .2s ease; }.text-link:hover { gap: 18px; border-color: var(--acid); }.text-link-dark { color: var(--ink); border-color: rgba(9,32,39,.4); }.text-link-dark:hover { border-color: var(--orange); }
.hero-meta { display: flex; margin-top: 54px; border-top: 1px solid var(--line-dark); }.hero-meta div { display: grid; gap: 3px; padding: 14px 46px 0 0; margin-right: 42px; border-right: 1px solid var(--line-dark); }.hero-meta div:last-child { padding-left: 0; border: 0; }.meta-label { color: rgba(255,255,255,.5); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.hero-meta strong { font-size: 12px; letter-spacing: -.02em; }
.hero-visual { position: relative; min-height: 464px; }.visual-topline { position: absolute; top: 0; inset-inline: 0; display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--line-dark); color: rgba(255,255,255,.5); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; }.visual-placeholder { display: grid; place-items: center; align-content: center; text-align: center; }.visual-placeholder-hero { position: absolute; inset: 58px 20px 35px 38px; z-index: 1; border: 1px dashed rgba(255,255,255,.36); background: linear-gradient(135deg, rgba(214,255,63,.13), rgba(255,255,255,.03)); overflow: hidden; }.visual-placeholder-hero::before { content: ''; position: absolute; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; }.visual-placeholder-hero::after { content: 'START / START / START /'; position: absolute; right: -35px; bottom: 22px; color: rgba(255,255,255,.08); font-family: var(--mono); font-size: 12px; letter-spacing: .4em; transform: rotate(-90deg); }.placeholder-icon { position: relative; z-index: 1; width: 75px; color: var(--acid); }.placeholder-label { position: relative; z-index: 1; margin: 18px 20px 2px; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; }.visual-placeholder small { position: relative; z-index: 1; color: rgba(255,255,255,.5); font-size: 10px; }.route { position: absolute; z-index: 0; border-color: var(--acid); opacity: .86; }.route-one { width: 186px; height: 242px; top: 35px; right: -90px; border-top: 2px dashed; border-left: 2px dashed; border-radius: 75% 0 0; transform: rotate(22deg); }.route-two { width: 235px; height: 110px; left: -42px; bottom: -14px; border-bottom: 2px dashed; border-right: 2px dashed; border-radius: 0 0 70% 0; }.visual-caption { position: absolute; z-index: 2; right: -6px; bottom: 0; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.76); font-family: var(--serif); font-size: 15px; font-style: italic; line-height: 1.2; }.caption-line { width: 50px; height: 1px; background: var(--acid); }.hero-scroll { position: relative; margin-top: 45px; }.hero-scroll a { display: inline-flex; gap: 20px; color: rgba(255,255,255,.5); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }.hero-scroll a span { color: var(--acid); font-size: 13px; }

.benefits { padding: 140px 0 114px; }.section-heading { display: grid; grid-template-columns: 1.45fr .7fr; align-items: end; gap: 70px; margin-bottom: 65px; }.section-heading > p { max-width: 348px; margin: 0; color: rgba(9,32,39,.68); font-size: 14px; line-height: 1.75; }.section-heading-narrow { margin-bottom: 45px; }.benefits-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }.benefit-card { position: relative; min-height: 285px; padding: 24px 20px 18px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); background: var(--paper); transition: background .25s ease, transform .25s ease, box-shadow .25s ease; }.benefit-card:hover { z-index: 1; background: var(--ink); color: var(--white); transform: translateY(-9px); box-shadow: var(--shadow); }.card-number, .card-placeholder { color: rgba(9,32,39,.47); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; }.card-arrow { position: absolute; top: 20px; right: 20px; color: var(--orange); font-size: 20px; transition: transform .2s ease; }.benefit-card:hover .card-arrow { transform: translate(3px,-3px); }.benefit-card h3 { margin: 62px 0 12px; font-size: 21px; }.benefit-card p { margin-bottom: 22px; color: rgba(9,32,39,.63); font-size: 12px; line-height: 1.65; }.benefit-card:hover p { color: rgba(255,255,255,.7); }.benefit-card:hover .card-number, .benefit-card:hover .card-placeholder { color: rgba(255,255,255,.4); }.content-note { margin: 27px 0 0; color: rgba(9,32,39,.5); font-family: var(--mono); font-size: 9px; letter-spacing: .05em; }.content-note span { color: var(--orange); font-size: 14px; }

.offer { padding: 132px 0 120px; }.course-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.course-card { display: flex; flex-direction: column; min-height: 420px; padding: 27px; border: 1px solid rgba(9,32,39,.16); background: rgba(255,255,255,.24); transition: transform .25s ease, box-shadow .25s ease; }.course-card:hover { transform: translateY(-6px); box-shadow: 0 20px 38px rgba(9,32,39,.12); }.course-card-top { display: flex; justify-content: space-between; align-items: center; color: rgba(9,32,39,.58); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }.recommended { padding: 4px 7px; background: var(--acid); color: var(--ink); font-weight: 500; }.course-card h3 { margin: 58px 0 16px; font-size: 34px; }.course-card p { color: rgba(9,32,39,.65); font-size: 13px; line-height: 1.75; }.course-card ul { margin: auto 0 25px; padding: 17px 0 0; list-style: none; border-top: 1px solid var(--line-light); }.course-card li { padding: 4px 0; color: rgba(9,32,39,.63); font-family: var(--mono); font-size: 9px; letter-spacing: .02em; }.course-link { display: flex; justify-content: space-between; align-items: center; padding-top: 13px; border-top: 1px solid var(--ink); font-size: 12px; font-weight: 800; }.course-link span { color: var(--orange); font-size: 20px; }.course-featured { position: relative; border-color: transparent; background: var(--ink); color: var(--white); }.course-featured::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(255,255,255,.17); pointer-events: none; }.course-featured .course-card-top, .course-featured p, .course-featured li { color: rgba(255,255,255,.66); }.course-featured .course-card ul { border-color: var(--line-dark); }.course-featured .course-link { border-color: var(--white); }.offer-footnote { display: flex; align-items: center; gap: 14px; margin-top: 26px; color: rgba(9,32,39,.55); font-family: var(--mono); font-size: 9px; letter-spacing: .04em; }.line-mark { width: 38px; height: 1px; background: var(--orange); }

.instructor { padding: 130px 0; background-image: linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: calc(100% / 6) 100%; }.instructor-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 11vw; }.instructor-image { position: relative; }.photo-placeholder { display: grid; place-content: center; place-items: center; text-align: center; }.portrait-placeholder { aspect-ratio: .86; min-height: 430px; border: 1px dashed rgba(255,255,255,.35); background: linear-gradient(150deg, rgba(255,255,255,.12), rgba(214,255,63,.08)); color: var(--white); }.portrait-outline { width: 130px; color: var(--acid); }.portrait-placeholder > span:last-child { margin-top: 16px; color: rgba(255,255,255,.86); font-family: var(--mono); font-size: 10px; letter-spacing: .1em; }.image-index { position: absolute; right: -42px; bottom: 28px; padding: 8px 10px; background: var(--acid); color: var(--ink); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; transform: rotate(-90deg); transform-origin: center; }.instructor-copy h2 { margin-bottom: 13px; font-size: clamp(3.7rem, 6vw, 6.1rem); }.instructor-role { margin-bottom: 41px; color: var(--acid); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }.copy-placeholder { margin-bottom: 33px; padding: 19px 0; border-block: 1px solid var(--line-dark); }.placeholder-tag { display: inline-block; padding: 3px 6px; background: rgba(214,255,63,.12); color: var(--acid); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }.copy-placeholder p { max-width: 500px; margin: 14px 0 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.75; }.instructor-facts { padding: 0; margin: 0; list-style: none; }.instructor-facts li { display: flex; gap: 17px; padding: 9px 0; border-bottom: 1px solid var(--line-dark); color: rgba(255,255,255,.85); font-size: 13px; }.instructor-facts span { color: var(--acid); font-family: var(--mono); font-size: 10px; }.instructor-facts em { color: rgba(255,255,255,.42); font-style: normal; }

.journey { padding: 137px 0; }.journey-intro { display: grid; grid-template-columns: 1.2fr .55fr; gap: 80px; align-items: end; margin-bottom: 57px; }.journey-intro .eyebrow { grid-column: 1 / -1; margin-bottom: -13px; }.journey-intro p:last-child { color: rgba(9,32,39,.62); font-size: 14px; line-height: 1.7; }.journey-list { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }.journey-item { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 12px; min-height: 190px; padding: 22px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }.journey-number { color: var(--orange); font-family: var(--mono); font-size: 10px; }.journey-item h3 { margin: 1px 0 11px; font-size: 20px; }.journey-item p { margin: 0; color: rgba(9,32,39,.61); font-size: 12px; line-height: 1.6; }.journey-arrow { position: absolute; right: 18px; bottom: 15px; color: rgba(9,32,39,.37); font-size: 20px; transition: transform .2s ease; }.journey-item:hover .journey-arrow { color: var(--orange); transform: translateX(5px); }

.testimonials { padding: 126px 0; }.testimonials-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10vw; align-items: center; }.testimonials-intro h2 { max-width: 520px; font-size: clamp(2.5rem, 4.6vw, 4.4rem); }.testimonials-intro > p:last-of-type { max-width: 340px; margin-top: 24px; color: rgba(255,255,255,.65); font-size: 14px; }.quote-controls { display: flex; gap: 8px; margin-top: 30px; }.quote-controls button { width: 42px; height: 42px; border: 1px solid var(--line-dark); color: rgba(255,255,255,.35); background: transparent; font-size: 20px; cursor: not-allowed; }.testimonial-placeholder { position: relative; min-height: 355px; display: flex; flex-direction: column; justify-content: center; padding: 48px 58px; border: 1px dashed rgba(255,255,255,.32); background: rgba(255,255,255,.035); }.quote-sign { position: absolute; top: 25px; left: 41px; color: var(--acid); font-family: var(--serif); font-size: 77px; line-height: 1; }.testimonial-placeholder p { margin: 0 0 20px; color: rgba(255,255,255,.9); font-family: var(--serif); font-size: 27px; font-style: italic; }.testimonial-placeholder small { max-width: 480px; color: rgba(255,255,255,.51); font-size: 12px; line-height: 1.7; }.testimonial-rule { display: block; width: 50px; height: 1px; margin: 30px 0 12px; background: var(--acid); }.testimonial-placeholder strong { color: var(--acid); font-family: var(--mono); font-size: 9px; letter-spacing: .1em; }

.gallery { padding: 132px 0; }.gallery-heading { display: grid; grid-template-columns: 1fr 1fr; column-gap: 110px; align-items: end; margin-bottom: 56px; }.gallery-heading .eyebrow { grid-column: 1 / -1; }.gallery-heading p:last-child { margin: 0; color: rgba(9,32,39,.61); font-size: 14px; line-height: 1.7; }.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 240px 180px; gap: 13px; }.gallery-item { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 18px; border: 1px dashed rgba(9,32,39,.32); background: linear-gradient(135deg, rgba(255,255,255,.35), rgba(9,32,39,.04)); overflow: hidden; color: rgba(9,32,39,.75); font-family: var(--mono); font-size: 10px; letter-spacing: .06em; }.gallery-item::before { content: ''; position: absolute; width: 160px; height: 160px; border: 1px solid rgba(9,32,39,.1); border-radius: 50%; top: -70px; right: -45px; }.gallery-item:hover { border-color: var(--orange); }.gallery-item:hover .gallery-icon { transform: rotate(90deg); }.gallery-index { position: absolute; top: 17px; left: 18px; color: rgba(9,32,39,.42); }.gallery-icon { position: absolute; top: 14px; right: 15px; color: var(--orange); font-size: 27px; transition: transform .35s ease; }.gallery-item small { margin-top: 5px; color: rgba(9,32,39,.43); font-size: 8px; }.gallery-item-1 { grid-row: span 2; }.gallery-item-4 { grid-column: span 2; }

.faq { padding: 131px 0; }.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; }.faq-intro p:last-child { max-width: 370px; margin-top: 26px; color: rgba(9,32,39,.62); font-size: 14px; line-height: 1.75; }.accordion { border-top: 1px solid var(--line-light); }.faq-item { border-bottom: 1px solid var(--line-light); }.faq-item h3 { margin: 0; }.faq-item button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 21px 0; border: 0; background: transparent; color: var(--ink); text-align: left; font-size: 17px; font-weight: 700; letter-spacing: -.035em; }.faq-icon { color: var(--orange); font-size: 24px; font-weight: 400; }.faq-panel { max-width: 590px; padding: 0 46px 23px 0; }.faq-panel p { margin: 0; color: rgba(9,32,39,.65); font-size: 13px; line-height: 1.75; }.faq-panel[hidden] { display: none; }

.contact { padding: 125px 0 132px; background-image: linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: calc(100% / 6) 100%; }.contact-head { max-width: 650px; margin-bottom: 61px; }.contact-head h2 { margin-bottom: 18px; }.contact-head > p:last-child { max-width: 510px; margin-bottom: 0; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.75; }.contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 9vw; }.contact-details { display: flex; flex-direction: column; }.detail-link, .detail-block { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 14px 33px 17px 0; border-top: 1px solid var(--line-dark); }.detail-link:hover { background: rgba(255,255,255,.04); }.detail-link span, .detail-block span { color: rgba(255,255,255,.44); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }.detail-link strong, .detail-block strong { color: rgba(255,255,255,.92); font-size: 15px; letter-spacing: -.04em; }.detail-link i { position: absolute; top: 22px; right: 7px; color: var(--acid); font-size: 20px; font-style: normal; }.detail-block small { color: rgba(255,255,255,.38); font-size: 10px; }.map-placeholder { position: relative; display: flex; align-items: center; justify-content: center; min-height: 145px; margin-top: 20px; border: 1px dashed rgba(255,255,255,.33); color: rgba(255,255,255,.7); font-family: var(--mono); font-size: 9px; letter-spacing: .09em; background: linear-gradient(140deg, rgba(214,255,63,.1), transparent); overflow: hidden; }.map-placeholder::before, .map-placeholder::after { content: ''; position: absolute; width: 85%; height: 1px; background: rgba(255,255,255,.15); transform: rotate(-16deg); }.map-placeholder::after { transform: rotate(22deg); }.map-pin { position: absolute; z-index: 1; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--acid); color: var(--ink); font-size: 18px; }.map-placeholder > span:last-child { position: relative; z-index: 1; margin-top: 67px; }
.contact-form { padding: 31px; background: var(--paper); color: var(--ink); box-shadow: 14px 14px 0 rgba(214,255,63,.8); }.form-heading { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; padding-bottom: 18px; margin-bottom: 21px; border-bottom: 1px solid var(--line-light); }.form-heading span { font-size: 17px; font-weight: 800; letter-spacing: -.04em; }.form-heading small { max-width: 245px; color: rgba(9,32,39,.55); font-size: 9px; line-height: 1.4; text-align: right; }.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.field { margin-bottom: 16px; }.field label { display: block; margin-bottom: 7px; color: rgba(9,32,39,.7); font-family: var(--mono); font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }.field label span { color: var(--orange); }.field input, .field textarea { display: block; width: 100%; border: 1px solid rgba(9,32,39,.24); border-radius: 0; padding: 11px 12px; background: rgba(255,255,255,.5); color: var(--ink); font-size: 13px; outline: none; transition: border .2s ease, background .2s ease; }.field input { height: 42px; }.field textarea { resize: vertical; min-height: 98px; }.field input:focus, .field textarea:focus { border-color: var(--ink); background: var(--white); }.consent { display: flex; gap: 9px; align-items: flex-start; margin: 6px 0 18px; color: rgba(9,32,39,.62); font-size: 10px; line-height: 1.55; }.consent input { width: 15px; height: 15px; accent-color: var(--ink); }.consent em { color: var(--orange); font-style: normal; }.form-status { min-height: 18px; margin: 13px 0 0; font-size: 11px; line-height: 1.4; }.form-status-error { color: #ba3d14; }.form-status-success { color: #387000; }

.final-cta { overflow: hidden; }.final-cta-inner { position: relative; padding: 105px 0; }.final-cta h2 { margin-bottom: 31px; font-size: clamp(3rem, 5.65vw, 5.8rem); }.final-cta .eyebrow { color: rgba(9,32,39,.7); }.cta-stamp { position: absolute; right: 5%; top: 50%; display: grid; place-items: center; width: 164px; height: 164px; border: 1px solid var(--ink); border-radius: 50%; color: var(--ink); font-family: var(--mono); font-size: 17px; line-height: 1.3; letter-spacing: .12em; text-align: center; transform: translateY(-50%) rotate(15deg); }.cta-stamp::after { content: '• OSK • START • OSK • START •'; position: absolute; inset: 10px; display: grid; place-items: start center; font-size: 9px; letter-spacing: .12em; transform: rotate(-15deg); }

.site-footer { padding: 68px 0 0; background: #06171b; color: var(--white); }.footer-top { display: grid; grid-template-columns: .8fr 1fr .6fr; gap: 65px; padding-bottom: 55px; }.brand-footer .brand-placeholder { display: none; }.footer-top > p { margin: 0; color: rgba(255,255,255,.54); font-size: 13px; line-height: 1.75; }.footer-top nav { display: grid; gap: 7px; }.footer-top nav a { color: rgba(255,255,255,.78); font-size: 12px; font-weight: 600; }.footer-top nav a:hover { color: var(--acid); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0; border-top: 1px solid var(--line-dark); color: rgba(255,255,255,.42); font-family: var(--mono); font-size: 8px; letter-spacing: .03em; }.footer-bottom > span:last-child { display: flex; gap: 12px; }.footer-bottom a:hover { color: var(--acid); }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }.reveal.is-visible { opacity: 1; transform: translateY(0); }.reveal-delay { transition-delay: .12s; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } }

@media (max-width: 980px) {
  :root { --container: min(100% - 44px, 1180px); }
  .main-nav { gap: 15px; }.main-nav a { font-size: 11px; }.header-cta { display: none; }.hero { min-height: 0; padding-top: 138px; }.hero-grid { gap: 28px; }.hero-visual { min-height: 400px; }.benefits-grid { grid-template-columns: repeat(3, 1fr); }.benefit-card { min-height: 245px; }.section-heading { gap: 34px; }.instructor-grid, .testimonials-grid, .faq-grid, .contact-grid { gap: 6vw; }.gallery-heading { column-gap: 50px; }.footer-top { gap: 35px; }
}
@media (max-width: 720px) {
  :root { --container: calc(100% - 36px); }
  .header-inner { height: 70px; }.brand-type { font-size: 18px; }.brand-placeholder { display: none; }.main-nav { display: none; }.menu-toggle { position: relative; display: grid; place-content: center; gap: 6px; width: 44px; height: 44px; margin-left: auto; padding: 0; border: 1px solid rgba(255,255,255,.38); background: transparent; color: var(--white); }.menu-toggle span { display: block; width: 19px; height: 1px; background: currentColor; transition: transform .2s ease; }.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }.mobile-menu { display: block; position: absolute; top: 70px; right: 0; left: 0; padding: 18px; border-top: 1px solid var(--line-dark); background: #07191e; box-shadow: 0 18px 30px rgba(0,0,0,.2); }.mobile-menu nav { display: grid; }.mobile-menu a:not(.button) { padding: 13px 2px; border-bottom: 1px solid var(--line-dark); color: rgba(255,255,255,.9); font-size: 15px; font-weight: 700; }.mobile-menu .button { margin-top: 18px; }.hero { padding: 112px 0 28px; }.hero-grid { grid-template-columns: 1fr; }.hero-copy h1 { margin-bottom: 20px; font-size: clamp(3rem, 15vw, 4.3rem); }.hero-lead { font-size: 15px; }.hero-actions { gap: 20px; }.hero-meta { margin-top: 37px; }.hero-meta div { padding-right: 18px; margin-right: 18px; }.hero-visual { min-height: 320px; margin-top: 23px; }.visual-placeholder-hero { inset: 42px 11px 26px 16px; }.visual-caption { font-size: 13px; }.hero-scroll { margin-top: 30px; }.hero-scroll a { line-height: 1.5; }.benefits, .offer, .instructor, .journey, .testimonials, .gallery, .faq, .contact { padding: 84px 0; }.section-heading, .journey-intro, .gallery-heading, .faq-grid, .contact-grid, .testimonials-grid, .instructor-grid { grid-template-columns: 1fr; gap: 28px; }.section-heading { margin-bottom: 39px; }.section-heading > p { max-width: 500px; }.benefits-grid { grid-template-columns: 1fr 1fr; }.benefit-card { min-height: 230px; padding: 18px 14px; }.benefit-card h3 { margin-top: 47px; font-size: 18px; }.benefit-card p { font-size: 11px; }.course-grid { grid-template-columns: 1fr; }.course-card { min-height: 333px; }.course-card h3 { margin-top: 35px; }.offer-footnote { align-items: flex-start; line-height: 1.6; }.instructor-image { max-width: 430px; }.portrait-placeholder { min-height: 0; }.instructor-copy h2 { font-size: clamp(3.7rem, 18vw, 5.4rem); }.image-index { right: -32px; }.journey-intro .eyebrow { grid-column: auto; margin-bottom: 0; }.journey-list { grid-template-columns: 1fr; }.journey-item { min-height: 142px; }.testimonial-placeholder { min-height: 305px; padding: 48px 28px 33px; }.quote-sign { left: 20px; }.gallery-heading { margin-bottom: 36px; }.gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 190px 160px 160px; }.gallery-item-1 { grid-row: span 1; }.gallery-item-4 { grid-column: span 1; }.faq-panel { padding-right: 20px; }.contact-head { margin-bottom: 39px; }.contact-form { padding: 22px 17px; box-shadow: 8px 8px 0 rgba(214,255,63,.8); }.form-heading { display: block; }.form-heading small { display: block; margin-top: 4px; text-align: left; }.field-grid { grid-template-columns: 1fr; gap: 0; }.final-cta-inner { padding: 75px 0; }.final-cta h2 { font-size: clamp(3rem, 14vw, 4.5rem); }.cta-stamp { width: 100px; height: 100px; right: -7px; font-size: 12px; opacity: .75; }.cta-stamp::after { font-size: 6px; }.footer-top { grid-template-columns: 1fr; gap: 25px; padding-bottom: 40px; }.footer-bottom { flex-direction: column; align-items: flex-start; gap: 9px; }.footer-bottom > span:last-child { flex-wrap: wrap; }
}
@media (max-width: 380px) { :root { --container: calc(100% - 28px); }.button { padding: 0 15px; gap: 11px; }.hero-meta div { margin-right: 12px; padding-right: 12px; }.benefits-grid { grid-template-columns: 1fr; }.gallery-grid { gap: 8px; }.gallery-item { padding: 12px; font-size: 8px; } }

/* OSK START — black / red / white brand refinement */
:root {
  --ink: #080809;
  --ink-soft: #111114;
  --paper: #0c0c0e;
  --paper-deep: #151518;
  --acid: #e12629;
  --acid-strong: #bf171a;
  --orange: #ff5a52;
  --line-light: rgba(255, 255, 255, .15);
  --line-dark: rgba(255, 255, 255, .16);
  --white: #f8f8f6;
  --shadow: 0 24px 60px rgba(0, 0, 0, .44);
}

body { color: var(--white); background: var(--ink); }
::selection { background: var(--acid); color: var(--white); }
:focus-visible { outline-color: #ff746c; }
.skip-link { background: var(--acid); color: var(--white); }
.site-header { background: linear-gradient(180deg, rgba(0, 0, 0, .92), rgba(0, 0, 0, 0)); }
.site-header.is-scrolled { background: rgba(7, 7, 8, .97); box-shadow: 0 5px 25px rgba(225, 38, 41, .08); }
.site-header::after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(225,38,41,.68), transparent); opacity: .65; }
.brand-mark i { background: var(--acid); }
.brand-type { font-weight: 700; letter-spacing: -.07em; }
.brand-placeholder { border-color: rgba(225,38,41,.8); color: rgba(255,255,255,.75); }
.main-nav a::after { background: var(--acid); }
.button { border-radius: 1px; }
.button-accent { background: var(--acid); color: var(--white); box-shadow: 0 8px 20px rgba(225, 38, 41, .18); }
.button-accent:hover { background: var(--acid-strong); box-shadow: 0 8px 0 rgba(225, 38, 41, .24); }
.button-dark { background: #050506; border-color: rgba(255,255,255,.22); }

.section-light, .section-cream { color: var(--white); }
.section-light { background: #0c0c0e; background-image: linear-gradient(135deg, rgba(225,38,41,.035), transparent 30%), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px); background-size: auto, 82px 100%; }
.section-cream { background: #151518; background-image: radial-gradient(circle at 90% 12%, rgba(225,38,41,.14), transparent 22%); }
.section-dark { background: #080809; }
.section-ink { background: #111114; }
.section-accent { color: var(--white); background: linear-gradient(116deg, #a91014, var(--acid) 44%, #961013); }
.eyebrow-dark, .final-cta .eyebrow { color: rgba(255,255,255,.62); }
.status-dot { background: var(--acid); box-shadow: 0 0 0 5px rgba(225,38,41,.15), 0 0 22px rgba(225,38,41,.44); }
h1 em, h2 em, .section-light h2 em, .section-cream h2 em, .section-accent h2 em { color: var(--acid); }
.section-accent h2 em { color: var(--white); text-decoration: underline; text-decoration-color: rgba(0,0,0,.32); text-underline-offset: .09em; }

.hero { background-color: #080809; background-image: radial-gradient(circle at 73% 43%, rgba(225,38,41,.28), transparent 24%), radial-gradient(circle at 88% 73%, rgba(255,82,71,.12), transparent 18%), linear-gradient(110deg, #060607 28%, #111115 100%); }
.hero::before { opacity: .18; background-image: linear-gradient(122deg, transparent 49.75%, rgba(225,38,41,.33) 50%, transparent 50.25%), linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px); }
.hero::after { content: ''; position: absolute; right: -8%; bottom: 6%; width: 60%; height: 2px; background: linear-gradient(90deg, transparent, var(--acid), transparent); box-shadow: 0 0 12px 2px rgba(225,38,41,.72), 0 -22px 56px rgba(225,38,41,.16); transform: rotate(-22deg); pointer-events: none; }
.hero-lead { color: rgba(255,255,255,.72); }
.text-link:hover { border-color: var(--acid); }
.text-link-dark { color: var(--white); border-color: rgba(255,255,255,.42); }
.text-link-dark:hover { border-color: var(--acid); }
.hero-meta { border-color: var(--line-dark); }
.hero-meta div { border-color: var(--line-dark); }
.hero-meta strong { color: var(--white); }
.visual-placeholder-hero { border-color: rgba(225,38,41,.65); background: linear-gradient(135deg, rgba(225,38,41,.28), rgba(255,255,255,.025)); box-shadow: inset 0 0 0 8px rgba(255,255,255,.012), 0 0 55px rgba(225,38,41,.11); }
.visual-placeholder-hero::before { border-color: rgba(225,38,41,.42); }
.placeholder-icon, .route, .caption-line { color: var(--acid); border-color: var(--acid); background-color: var(--acid); }
.visual-caption { color: rgba(255,255,255,.88); }
.hero-scroll a span { color: var(--acid); }

.section-heading > p, .journey-intro p:last-child, .gallery-heading p:last-child, .faq-intro p:last-child { color: rgba(255,255,255,.62); }
.benefit-card { background: linear-gradient(145deg, #121216, #0d0d0f); border-color: rgba(255,255,255,.14); }
.benefit-card::before { content: ''; position: absolute; top: -1px; left: 18px; width: 39px; height: 2px; background: var(--acid); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.benefit-card:hover { background: #1b1b20; box-shadow: 0 22px 42px rgba(0,0,0,.4); }
.benefit-card:hover::before { transform: scaleX(1); }
.card-number, .card-placeholder, .benefit-card p, .content-note { color: rgba(255,255,255,.52); }
.card-arrow, .content-note span { color: var(--acid); }
.benefit-card h3 { color: var(--white); }
.benefit-card:hover p, .benefit-card:hover .card-number, .benefit-card:hover .card-placeholder { color: rgba(255,255,255,.72); }

.course-card { border-color: rgba(255,255,255,.16); background: linear-gradient(135deg, #17171b, #101013); color: var(--white); }
.course-card:hover { box-shadow: 0 20px 38px rgba(0,0,0,.36); border-color: rgba(225,38,41,.72); }
.course-card-top, .course-card p, .course-card li, .offer-footnote { color: rgba(255,255,255,.62); }
.recommended { background: var(--acid); color: var(--white); }
.course-card ul { border-color: var(--line-light); }
.course-link { border-color: var(--white); color: var(--white); }
.course-link span, .line-mark { color: var(--acid); background-color: var(--acid); }
.course-featured { background: linear-gradient(145deg, #2b1113, #111114 75%); }
.course-featured::before { border-color: rgba(225,38,41,.56); }
.course-featured .course-card-top, .course-featured p, .course-featured li { color: rgba(255,255,255,.72); }
.offer-footnote { color: rgba(255,255,255,.52); }

.instructor { background-color: #080809; background-image: linear-gradient(90deg, rgba(225,38,41,.1) 1px, transparent 1px); }
.portrait-placeholder { border-color: rgba(225,38,41,.66); background: linear-gradient(145deg, rgba(225,38,41,.28), rgba(255,255,255,.025)); }
.portrait-outline, .instructor-role, .instructor-facts span, .placeholder-tag { color: var(--acid); }
.image-index { background: var(--acid); color: var(--white); }
.placeholder-tag { background: rgba(225,38,41,.14); }

.journey-number, .journey-item:hover .journey-arrow { color: var(--acid); }
.journey-item p, .journey-arrow { color: rgba(255,255,255,.58); }
.journey-item { background: rgba(255,255,255,.012); }
.journey-item:hover { background: rgba(225,38,41,.08); }
.journey-item h3 { color: var(--white); }

.testimonials { background: linear-gradient(125deg, #100c0e, #141417); }
.quote-sign, .testimonial-rule, .testimonial-placeholder strong { color: var(--acid); background-color: var(--acid); }
.quote-sign, .testimonial-placeholder strong { background-color: transparent; }
.testimonial-placeholder { border-color: rgba(225,38,41,.48); background: linear-gradient(135deg, rgba(225,38,41,.11), rgba(255,255,255,.025)); }

.gallery-item { border-color: rgba(255,255,255,.24); background: linear-gradient(135deg, rgba(225,38,41,.15), rgba(255,255,255,.02)); color: rgba(255,255,255,.8); }
.gallery-item::before { border-color: rgba(225,38,41,.27); }
.gallery-item:hover { border-color: var(--acid); }
.gallery-index, .gallery-item small { color: rgba(255,255,255,.46); }
.gallery-icon { color: var(--acid); }

.faq-item button { color: var(--white); }
.faq-icon { color: var(--acid); }
.faq-panel p { color: rgba(255,255,255,.65); }

.contact { background-color: #080809; background-image: linear-gradient(90deg, rgba(225,38,41,.1) 1px, transparent 1px), radial-gradient(circle at 85% 15%, rgba(225,38,41,.18), transparent 20%); }
.detail-link i { color: var(--acid); }
.map-placeholder { border-color: rgba(225,38,41,.58); background: linear-gradient(140deg, rgba(225,38,41,.18), transparent); }
.map-pin { background: var(--acid); color: var(--white); }
.contact-grid-info { grid-template-columns: minmax(0, .92fr) minmax(310px, 1.08fr); align-items: stretch; }
.contact-callout { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 100%; padding: clamp(28px, 4vw, 52px); border: 1px solid rgba(225,38,41,.5); background: linear-gradient(145deg, #19191d, #101012); box-shadow: 12px 12px 0 rgba(225,38,41,.78); }
.contact-callout > span { margin-bottom: 20px; color: var(--acid); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-callout strong { max-width: 460px; font-size: clamp(2rem, 3.6vw, 3.8rem); font-weight: 800; line-height: .96; letter-spacing: -.06em; }
.contact-callout p { max-width: 440px; margin: 24px 0 30px; color: rgba(255,255,255,.68); font-size: 15px; line-height: 1.6; }
.contact-callout .button { margin-top: auto; }

.cta-stamp { border-color: rgba(255,255,255,.75); color: var(--white); }
.site-footer { background: #060607; border-top: 1px solid rgba(225,38,41,.42); }
.footer-top nav a:hover, .footer-bottom a:hover { color: #ff746d; }

@media (max-width: 720px) {
  .mobile-menu { background: #09090a; border-top-color: rgba(225,38,41,.65); box-shadow: 0 18px 30px rgba(0,0,0,.48); }
  .mobile-menu a:not(.button) { border-color: rgba(255,255,255,.15); }
  .mobile-menu .button { background: var(--acid); color: var(--white); }
  .hero::after { width: 90%; right: -30%; bottom: 22%; }
  .contact-grid-info { grid-template-columns: 1fr; }
  .contact-callout { min-height: 310px; padding: 28px 22px; box-shadow: 8px 8px 0 rgba(225,38,41,.7); }
}

/* Real OSK START brand materials */
.brand { height: 54px; }
.brand-logo { display: block; width: 146px; height: 48px; border: 1px solid rgba(225,38,41,.55); background: #fff; object-fit: cover; object-position: center 52%; }
.learner-sign { display: block; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.42); background: #0767ae; object-fit: cover; }
.brand-footer { height: 61px; }.brand-footer .brand-logo { width: 180px; height: 60px; }
.hero-car-card { position: absolute; top: 70px; right: 15px; left: 18px; z-index: 1; display: block; aspect-ratio: 16 / 9; margin: 0; overflow: hidden; border: 1px solid rgba(225,38,41,.76); background: #f8f8f6; box-shadow: 0 0 55px rgba(225,38,41,.18); }
.hero-car-card::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, rgba(225,38,41,.18), transparent 33%, transparent 67%, rgba(0,0,0,.24)); }
.hero-car-card img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.hero-car-card figcaption { position: absolute; z-index: 1; right: 12px; bottom: 10px; padding: 4px 7px; background: rgba(7,7,8,.8); color: var(--white); font-family: var(--mono); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }
.portrait-placeholder { overflow: hidden; }.portrait-placeholder img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.testimonial-media { position: relative; min-height: 355px; margin: 0; overflow: hidden; border: 1px solid rgba(225,38,41,.55); background: #050506; }.testimonial-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.83), transparent 55%); pointer-events: none; }.testimonial-media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }.testimonial-media figcaption { position: absolute; z-index: 1; inset: auto 23px 21px; display: flex; justify-content: space-between; gap: 14px; align-items: end; color: rgba(255,255,255,.74); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }.testimonial-media strong { color: var(--white); font-size: 10px; }

.gallery-grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 310px); }.gallery-item, .gallery-item-1, .gallery-item-4 { position: relative; display: block; grid-column: auto; grid-row: auto; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.2); background: #070708; }.gallery-item::before { display: none; }.gallery-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.92) contrast(1.03); transition: transform .45s ease, filter .45s ease; }.gallery-item:nth-child(4) .gallery-photo { object-position: center 27%; }.gallery-item:hover .gallery-photo { filter: saturate(1.07) contrast(1.08); transform: scale(1.04); }.gallery-item figcaption { position: absolute; inset: 0; display: flex; justify-content: space-between; align-items: flex-end; padding: 15px; background: linear-gradient(0deg, rgba(0,0,0,.82), transparent 50%); color: var(--white); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }.gallery-index { position: static; padding: 3px 5px; background: var(--acid); color: var(--white); }.gallery-icon { position: static; color: var(--white); font-size: 18px; }

.map-embed { min-height: 190px; margin-top: 20px; overflow: hidden; border: 1px solid rgba(225,38,41,.58); background: #111114; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }.map-embed iframe { display: block; width: 100%; height: 190px; border: 0; filter: grayscale(.15) contrast(1.05); }

.final-cta-inner { display: grid; grid-template-columns: minmax(0, .82fr) minmax(360px, 1.18fr); gap: 50px; align-items: center; }.campaign-art { position: relative; z-index: 1; display: block; width: 100%; height: auto; border: 1px solid rgba(0,0,0,.35); background: var(--white); object-fit: contain; object-position: center; box-shadow: 12px 12px 0 rgba(0,0,0,.22); }.cta-stamp { z-index: 2; right: 1%; top: 12%; transform: rotate(15deg); }

@media (max-width: 720px) {
  .brand { height: 47px; gap: 7px; }.brand-logo { width: 125px; height: 43px; }.learner-sign { width: 43px; height: 43px; }
  .hero-car-card { top: 42px; right: 10px; left: 14px; }
  .testimonial-media { min-height: 420px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 250px); gap: 9px; }.gallery-item figcaption { padding: 10px; font-size: 8px; }
  .map-embed, .map-embed iframe { min-height: 170px; height: 170px; }
  .final-cta-inner { grid-template-columns: 1fr; gap: 35px; }.campaign-art { box-shadow: 7px 7px 0 rgba(0,0,0,.22); }.cta-stamp { display: none; }
}

/* Privacy policy */
.policy-page { background: #080809; color: var(--white); }
.policy-header { position: relative; background: #080809; }
.policy-hero { min-height: 405px; padding: clamp(92px, 11vw, 145px) 0 clamp(70px, 8vw, 105px); background-color: #080809; background-image: linear-gradient(90deg, rgba(225,38,41,.1) 1px, transparent 1px), radial-gradient(circle at 88% 24%, rgba(225,38,41,.22), transparent 26%); }
.policy-hero-inner { max-width: 920px; }
.policy-hero h1 { max-width: 760px; margin: 20px 0 22px; font-size: clamp(3.4rem, 8.7vw, 7.1rem); line-height: .9; letter-spacing: -.075em; }
.policy-date { margin: 0 0 28px; color: rgba(255,255,255,.65); font-size: 15px; }
.policy-hero .text-link { color: var(--white); }
.policy-content { padding: clamp(54px, 8vw, 110px) 0 clamp(75px, 10vw, 140px); background: #0d0d10; }
.policy-layout { display: grid; grid-template-columns: minmax(175px, .35fr) minmax(0, 1fr); gap: clamp(32px, 7vw, 110px); align-items: start; }
.policy-nav { position: sticky; top: 28px; display: grid; gap: 2px; padding-left: 16px; border-left: 1px solid rgba(225,38,41,.65); }
.policy-nav p { margin: 0 0 10px; color: var(--acid); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.policy-nav a { padding: 7px 0; color: rgba(255,255,255,.65); font-size: 13px; line-height: 1.25; }
.policy-nav a:hover, .policy-nav a:focus-visible { color: var(--white); }
.policy-document { padding: clamp(26px, 5vw, 68px); border: 1px solid rgba(255,255,255,.14); background: linear-gradient(145deg, #17171b, #101013); box-shadow: 14px 14px 0 rgba(225,38,41,.62); }
.policy-lead { max-width: 770px; margin: 0 0 54px; color: rgba(255,255,255,.91); font-size: clamp(1.15rem, 2vw, 1.42rem); font-weight: 600; line-height: 1.62; letter-spacing: -.025em; }
.policy-document section { scroll-margin-top: 35px; padding: 34px 0 36px; border-top: 1px solid rgba(255,255,255,.12); }
.policy-document h2 { display: flex; gap: 14px; align-items: baseline; margin: 0 0 20px; color: var(--white); font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.08; letter-spacing: -.045em; }
.policy-document h2 span { flex: 0 0 auto; color: var(--acid); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.policy-document p, .policy-document li, .policy-document address { max-width: 790px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.75; }
.policy-document p { margin: 0 0 17px; }
.policy-document p:last-child { margin-bottom: 0; }
.policy-document address { margin: 19px 0; font-style: normal; }
.policy-document address strong { color: var(--white); }
.policy-document ul { display: grid; gap: 8px; margin: 19px 0; padding: 0; list-style: none; }
.policy-document li { position: relative; padding-left: 20px; }
.policy-document li::before { content: '•'; position: absolute; left: 0; color: var(--acid); }
.policy-document a { color: #ff867f; text-decoration: underline; text-decoration-color: rgba(225,38,41,.55); text-underline-offset: 3px; }
.policy-document a:hover, .policy-document a:focus-visible { color: var(--white); }

@media (max-width: 720px) {
  .policy-hero { min-height: 0; padding: 88px 0 64px; }
  .policy-hero h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
  .policy-layout { grid-template-columns: 1fr; gap: 32px; }
  .policy-nav { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; padding: 17px 0 0; border-top: 1px solid rgba(225,38,41,.65); border-left: 0; }
  .policy-nav p { grid-column: 1 / -1; }
  .policy-nav a { font-size: 12px; }
  .policy-document { padding: 28px 20px; box-shadow: 8px 8px 0 rgba(225,38,41,.62); }
  .policy-lead { margin-bottom: 38px; font-size: 17px; }
  .policy-document section { padding: 27px 0 29px; }
  .policy-document p, .policy-document li, .policy-document address { font-size: 14px; line-height: 1.68; }
}

/* Social media links */
.footer-actions, .social-links { display: flex; align-items: center; gap: 10px; }
.footer-actions { justify-content: flex-end; flex-wrap: wrap; }
.social-links { gap: 7px; }
.footer-bottom .social-button { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 8px 4px 4px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.04); color: var(--white); font-family: var(--mono); font-size: 8px; font-weight: 700; letter-spacing: .04em; text-decoration: none; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.social-button img { display: block; width: 20px; height: 20px; object-fit: cover; }
.footer-bottom .social-facebook:hover, .footer-bottom .social-facebook:focus-visible { border-color: #1877f2; background: rgba(24,119,242,.16); color: var(--white); }
.footer-bottom .social-instagram:hover, .footer-bottom .social-instagram:focus-visible { border-color: #f56040; background: rgba(245,96,64,.16); color: var(--white); }
.footer-bottom .social-button:hover { transform: translateY(-2px); }

@media (max-width: 720px) {
  .footer-actions { justify-content: flex-start; gap: 9px 12px; }
}
