:root {
  --ivory: #fffff0;
  --linen: #ede8d0;
  --indigo: #3b3f76;
  --indigo-deep: #242756;
  --ink: #242646;
  --mist: rgba(59, 63, 118, 0.11);
  --gold: #b28a55;
  --line: rgba(59, 63, 118, 0.22);
  --soft-line: rgba(59, 63, 118, 0.12);
  --white: #ffffff;
  --muted: #686a7f;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --shadow: 0 26px 80px rgba(37, 39, 86, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { min-width: 320px; margin: 0; color: var(--ink); background: linear-gradient(0turn,rgba(255,255,240,1) 0%,rgba(237,232,208,1) 100%); font-family: var(--sans); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body::before { position: fixed; z-index: -1; top: 0; right: 0; bottom: 0; left: 0; content: ""; opacity: .5; pointer-events: none; background: radial-gradient(circle at 8% 15%, rgba(255,255,255,.82), transparent 25%), radial-gradient(circle at 93% 7%, rgba(255,255,255,.46), transparent 18%), linear-gradient(115deg, transparent 0 48%, rgba(59,63,118,.025) 48% 49%, transparent 49% 100%); }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(178,138,85,.72); outline-offset: 4px; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, p { margin-top: 0; }
.container { width: min(1210px, calc(100% - 64px)); margin: 0 auto; }
.section { position: relative; padding: 132px 0; }
.section-soft { background: rgba(255,255,240,.72); }
.section-blue { color: var(--ivory); background: var(--indigo); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: -80px; left: 20px; padding: 10px 15px; color: white; background: var(--indigo); }
.skip-link:focus { top: 20px; }

.site-header { position: sticky; z-index: 30; top: 0; border-bottom: 1px solid transparent; background: rgba(255,255,240,.72); backdrop-filter: blur(17px); transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
.site-header.scrolled { border-color: var(--soft-line); background: rgba(255,255,240,.93); box-shadow: 0 7px 24px rgba(36,38,70,.07); }
.header-inner { display: flex; align-items: center; min-height: 88px; gap: 29px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--indigo); font-size: 15px; font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--indigo); border-radius: 50%; color: var(--indigo); font-family: var(--serif); font-size: 20px; font-style: italic; font-weight: 500; }
.brand-subtitle { display: block; margin-top: 5px; color: var(--muted); font-family: var(--sans); font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.site-nav { display: flex; gap: 25px; align-items: center; margin-left: auto; }.site-nav a { position: relative; color: var(--indigo); font-size: 11px; font-weight: 700; letter-spacing: .02em; }.site-nav a::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; content: ""; background: var(--gold); transform: scaleX(0); transform-origin: right; transition: transform .24s ease; }.site-nav a:hover::after { transform: scaleX(1); transform-origin: left; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 49px; gap: 11px; padding: 14px 21px; border: 1px solid var(--indigo); border-radius: 0; color: var(--ivory); background: var(--indigo); box-shadow: none; font-size: 11px; font-weight: 750; letter-spacing: .07em; line-height: 1; text-transform: uppercase; transition: color .22s ease, background .22s ease, transform .22s ease, box-shadow .22s ease; }.button:hover { color: var(--indigo); background: transparent; box-shadow: 4px 4px 0 var(--gold); transform: translate(-2px,-2px); }.button:disabled { opacity: .65; cursor: wait; }.button-small { min-height: 37px; padding: 11px 14px; margin-left: 2px; font-size: 9px; }.menu-toggle { display: none; }

.hero { min-height: 680px; padding: 80px 0 95px; overflow: hidden; }.hero::before { position: absolute; top: 93px; right: -6vw; width: min(46vw,660px); height: min(46vw,660px); border: 1px solid rgba(59,63,118,.18); border-radius: 50%; content: ""; }.hero::after { position: absolute; right: 15%; bottom: 80px; width: 80px; height: 80px; border: 1px solid rgba(178,138,85,.68); border-radius: 50%; content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(315px,.72fr) minmax(400px,1.28fr); align-items: center; gap: clamp(56px,9vw,142px); }.hero-visual { position: relative; width: min(100%,415px); justify-self: center; }.hero-visual::before { position: absolute; top: -20px; left: -21px; width: 68px; height: 68px; border: 1px solid var(--gold); content: ""; }.hero-visual::after { position: absolute; right: -35px; bottom: 46px; width: 120px; height: 1px; content: ""; background: var(--gold); transform: rotate(90deg); transform-origin: right; }.portrait-frame { position: relative; z-index: 1; overflow: hidden; border-radius: 220px 220px 0 0; background: #d3cfbe; box-shadow: 28px 28px 0 rgba(59,63,118,.08); }.portrait-frame::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(36,38,70,.18), transparent 35%); }.portrait-frame img { width: 100%; aspect-ratio: .79; object-fit: cover; object-position: center 14%; }
.hero-copy { max-width: 610px; padding: 34px 0; }.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 22px; color: var(--indigo); font-size: 9px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }.eyebrow>span { display: inline-block; width: 37px; height: 1px; background: var(--gold); }.eyebrow-light { color: rgba(255,255,240,.82); }
h1, h2 { margin-bottom: 19px; font-family: var(--serif); font-weight: 500; letter-spacing: -.073em; line-height: .99; }h1 { font-size: clamp(72px,8.8vw,140px); }h2 { font-size: clamp(47px,5.3vw,76px); }h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.042em; }
.hero-lead { max-width:460px; margin-bottom:0; color:var(--indigo); font-size:18px; font-weight:500; line-height:1.55; }.quote-card { position: relative; max-width:472px; margin:37px 0 36px; padding:25px 29px 23px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--indigo); }.quote-card>span { position:absolute; top:17px; left:2px; color:var(--gold); font-family:var(--serif); font-size:60px; line-height:.8; }.quote-card p { margin:0 0 11px 38px; font-family:var(--serif); font-size:22px; font-style:italic; line-height:1.31; }.quote-card small { display:block; margin-left:38px; color:var(--muted); font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }

.section-intro { max-width:780px; margin-bottom:58px; }.section-intro.centered { margin-right:auto; margin-left:auto; text-align:center; }.section-intro.centered .eyebrow { justify-content:center; }.section-intro>p:last-child { max-width:670px; margin-bottom:0; color:var(--muted); font-size:15px; line-height:1.75; }.split-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:90px; align-items:end; max-width:none; }.split-intro>p { margin-bottom:10px; }
.methods { overflow:hidden; }.methods::before { position:absolute; top:100px; left:-160px; width:310px; height:310px; border:1px solid rgba(59,63,118,.12); border-radius:50%; content:""; }.method-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }.method-card { min-height:330px; padding:34px 36px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,240,.38); transition:background .3s ease,color .3s ease; }.method-card:hover { color:var(--ivory); background:var(--indigo); }.method-icon { margin-bottom:75px; color:var(--gold); font-family:var(--serif); font-size:19px; font-style:italic; }.method-card h3 { margin-bottom:14px; color:var(--indigo); font-size:31px; line-height:1.04; transition:color .3s; }.method-card p { max-width:300px; margin:0; color:var(--muted); font-size:13px; line-height:1.75; transition:color .3s; }.method-card:hover h3 { color:var(--ivory); }.method-card:hover p { color:rgba(255,255,240,.76); }
.education { overflow:hidden; background:var(--indigo); }.education::before { position:absolute; right:-15vw; bottom:-21vw; width:58vw; height:58vw; border:1px solid rgba(255,255,240,.1); border-radius:50%; content:""; }.education .container { position:relative; z-index:1; }.section-intro-light h2 { color:var(--ivory); }.section-intro-light>p:last-child { max-width:720px; color:rgba(255,255,240,.72); }.documents-intro { display:flex; justify-content:space-between; gap:30px; align-items:end; padding:29px 0 25px; border-top:1px solid rgba(255,255,240,.28); }.documents-intro h3 { max-width:500px; margin:0; color:var(--ivory); font-size:29px; line-height:1.17; }.documents-intro p { max-width:470px; margin:0; color:rgba(255,255,240,.68); font-size:11px; line-height:1.7; }.document-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgba(255,255,240,.25); border-left:1px solid rgba(255,255,240,.25); }.document-card { position:relative; display:flex; flex-direction:column; min-height:225px; padding:22px 18px; border-right:1px solid rgba(255,255,240,.25); border-bottom:1px solid rgba(255,255,240,.25); transition:background .25s ease; }.document-card:hover { background:rgba(255,255,240,.11); }.document-card>span { margin-bottom:50px; color:#e7c88e; font-family:var(--serif); font-size:16px; font-style:italic; }.document-card strong { color:var(--ivory); font-size:12px; line-height:1.38; }.document-card small { margin-top:9px; color:rgba(255,255,240,.67); font-size:10px; line-height:1.45; }.document-card i { position:absolute; right:17px; bottom:16px; color:#e7c88e; font-size:18px; font-style:normal; }.document-gallery { display:flex; flex-wrap:wrap; gap:9px 20px; margin-top:25px; }.document-gallery a { color:#e7c88e; font-size:11px; text-decoration:underline; text-underline-offset:4px; }

.formats { background:var(--ivory); }.price-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }.price-card { display:flex; flex-direction:column; min-height:305px; padding:28px 25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--ivory); }.price-card-main { position:relative; color:var(--ivory); background:var(--indigo); box-shadow:inset 0 0 0 1px var(--indigo); }.price-label { margin-bottom:37px; color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.price-card-main .price-label { color:#e7c88e; }.price-card h3 { min-height:53px; margin-bottom:16px; color:var(--indigo); font-size:27px; line-height:1.04; }.price-card-main h3 { color:var(--ivory); }.duration { min-height:37px; margin-bottom:18px; color:var(--muted); font-size:11px; line-height:1.45; }.price-card-main .duration { color:rgba(255,255,240,.73); }.price { margin-top:auto; margin-bottom:0; color:var(--indigo); font-family:var(--serif); font-size:36px; letter-spacing:-.06em; line-height:1; }.price-card-main .price { color:var(--ivory); }.price-description { margin:16px 0 0; color:var(--muted); font-size:11px; line-height:1.62; }.in-person-note { margin:26px 0 0; color:var(--indigo); font-size:13px; text-align:center; }.in-person-note strong { color:var(--gold); }

.contact { background:transparent; }.contact-shell { display:grid; grid-template-columns:.84fr 1.16fr; gap:clamp(50px,9vw,136px); padding:64px; border:1px solid var(--line); background:rgba(255,255,240,.72); box-shadow:18px 18px 0 rgba(59,63,118,.08); }.contact-copy h2 { max-width:510px; }.contact-copy>p:not(.eyebrow) { max-width:420px; color:var(--muted); font-size:14px; line-height:1.75; }.contact-copy .location { margin:22px 0 19px; color:var(--indigo); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.telegram-card { display:inline-flex; align-items:center; gap:12px; padding:13px 17px 13px 14px; border:1px solid var(--indigo); color:var(--indigo); transition:.2s ease; }.telegram-card:hover { color:var(--ivory); background:var(--indigo); }.telegram-card>span:first-child { color:var(--gold); font-size:19px; }.telegram-card strong,.telegram-card small { display:block; }.telegram-card strong { font-size:12px; }.telegram-card small { color:var(--muted); font-size:10px; }.telegram-card:hover small { color:rgba(255,255,240,.7); }.contact-form { position:relative; }.form-status { display:none; margin-bottom:16px; padding:11px 14px; font-size:12px; }.form-status.is-visible { display:block; }.form-status.success { color:#1e5a46; background:#e7f2e9; }.form-status.error { color:#892f38; background:#f9e7e8; }.form-row { margin-bottom:17px; }.form-row label { display:block; margin-bottom:7px; color:var(--indigo); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.form-row label>span { color:#a04650; }.form-row input,.form-row textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; outline:0; background:transparent; color:var(--ink); font-size:14px; transition:border-color .2s; }.form-row input { height:46px; padding:0 1px; }.form-row textarea { display:block; min-height:105px; padding:12px 1px; resize:vertical; }.form-row input:focus,.form-row textarea:focus { border-color:var(--indigo); }.form-row input::placeholder,.form-row textarea::placeholder { color:#9e9ea7; }.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.consent { display:flex; gap:9px; align-items:flex-start; margin:20px 0; color:var(--muted); font-size:11px; line-height:1.52; }.consent input { width:16px; height:16px; flex:0 0 16px; margin-top:1px; accent-color:var(--indigo); }.consent a { color:var(--indigo); text-decoration:underline; text-underline-offset:3px; }

.help { overflow:hidden; color:var(--ivory); background:var(--indigo-deep); }.help::after { position:absolute; top:160px; left:-300px; width:600px; height:600px; border:1px solid rgba(255,255,240,.07); border-radius:50%; content:""; }.help .container { position:relative; z-index:1; }.help .section-intro h2 { color:var(--ivory); }.help .section-intro>p:last-child { color:rgba(255,255,240,.7); }.help .eyebrow { color:#e7c88e; }.emergency-banner { display:grid; grid-template-columns:1fr 1fr; gap:38px; align-items:end; padding:29px 32px; border:1px solid rgba(231,200,142,.58); background:rgba(255,255,240,.045); }.emergency-banner strong { max-width:400px; color:var(--ivory); font-family:var(--serif); font-size:28px; font-weight:500; letter-spacing:-.04em; line-height:1.18; }.emergency-banner>div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px 11px; }.emergency-banner a { color:#e7c88e; font-family:var(--serif); font-size:22px; }.emergency-banner span { align-self:center; color:rgba(255,255,240,.7); font-size:10px; }.help-section { margin-top:73px; }.help-section>h3 { margin-bottom:24px; color:var(--ivory); font-size:34px; line-height:1.1; }.help-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid rgba(255,255,240,.2); border-left:1px solid rgba(255,255,240,.2); }.help-card { min-height:200px; padding:27px 28px; border-right:1px solid rgba(255,255,240,.2); border-bottom:1px solid rgba(255,255,240,.2); background:rgba(255,255,240,.02); transition:background .25s ease; }.help-card:hover { background:rgba(255,255,240,.09); }.help-card h4 { margin-bottom:15px; color:var(--ivory); font-family:var(--serif); font-size:21px; font-weight:500; letter-spacing:-.035em; line-height:1.18; }.help-card>a { display:block; width:fit-content; margin-top:5px; color:#e7c88e; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }.help-card p { margin:16px 0 0; color:rgba(255,255,240,.7); font-size:12px; line-height:1.7; }.forum-list { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid rgba(255,255,240,.2); border-left:1px solid rgba(255,255,240,.2); }.forum-list a { min-height:153px; padding:26px; border-right:1px solid rgba(255,255,240,.2); border-bottom:1px solid rgba(255,255,240,.2); transition:background .25s ease; }.forum-list a:hover { background:rgba(255,255,240,.08); }.forum-list strong { display:block; margin-bottom:15px; color:#e7c88e; font-size:13px; }.forum-list span { color:rgba(255,255,240,.7); font-size:12px; line-height:1.65; }

.site-footer { padding:44px 0; color:var(--indigo); background:var(--linen); }.footer-inner { display:flex; gap:30px; align-items:center; justify-content:space-between; }.site-footer p { margin:0; color:var(--muted); font-size:11px; }.footer-links { display:flex; gap:17px; align-items:center; color:var(--muted); font-size:10px; }.footer-links a { color:var(--indigo); text-decoration:underline; text-underline-offset:3px; }.legal-page { padding:80px 0 120px; }.legal-content { max-width:850px; }.legal-content h1 { font-size:clamp(46px,6vw,78px); }.legal-content h2 { margin-top:57px; font-size:34px; }.legal-content .legal-lead,.legal-content section p { color:var(--muted); }.legal-date { margin-top:44px; font-size:12px; color:var(--muted); }

@media (max-width: 1050px) { .site-nav { gap:15px; }.site-nav a { font-size:10px; }.hero-grid { gap:54px; }.document-grid { grid-template-columns:repeat(3,1fr); }.document-card { min-height:190px; }.price-grid { grid-template-columns:repeat(2,1fr); }.contact-shell { gap:56px; padding:50px; } }
@media (max-width: 820px) { .header-inner { min-height:72px; }.site-nav { position:absolute; top:72px; right:0; left:0; display:none; flex-direction:column; gap:0; align-items:stretch; padding:10px 25px 22px; border-bottom:1px solid var(--line); background:var(--ivory); box-shadow:0 14px 32px rgba(36,38,70,.08); }.site-nav.is-open { display:flex; }.site-nav a { padding:11px 0; font-size:12px; }.site-nav a::after { display:none; }.menu-toggle { display:grid; width:37px; height:37px; gap:5px; margin-left:auto; padding:9px; border:0; background:transparent; }.menu-toggle span:not(.sr-only) { display:block; width:18px; height:1px; background:var(--indigo); transition:.2s; }.menu-toggle.is-active span:not(.sr-only):first-of-type { transform:translateY(3px) rotate(45deg); }.menu-toggle.is-active span:not(.sr-only):last-of-type { transform:translateY(-3px) rotate(-45deg); }.header-action { display:none; }.section { padding:100px 0; }.hero-grid { grid-template-columns:1fr; }.hero-visual { grid-row:1; max-width:390px; }.hero-copy { grid-row:2; max-width:none; text-align:center; }.hero-copy .eyebrow { justify-content:center; }.quote-card { margin-right:auto; margin-left:auto; text-align:left; }.method-grid { grid-template-columns:1fr; }.method-card { min-height:0; }.method-icon { margin-bottom:41px; }.documents-intro { display:block; }.documents-intro p { margin-top:15px; }.contact-shell { grid-template-columns:1fr; }.emergency-banner { grid-template-columns:1fr; }.emergency-banner>div { justify-content:flex-start; }.forum-list { grid-template-columns:1fr; }.footer-inner { align-items:flex-start; flex-direction:column; }.footer-links { align-items:flex-start; flex-direction:column; gap:6px; } }
@media (max-width: 540px) { .container { width:min(100% - 32px,1210px); }.section { padding:77px 0; }.hero { min-height:0; padding-top:45px; }.hero-copy h1 { font-size:73px; }.hero-visual { max-width:300px; }.hero-visual::after { display:none; }.portrait-frame { border-radius:160px 160px 0 0; }.quote-card { padding:21px 17px; }.quote-card p { font-size:19px; }.split-intro { grid-template-columns:1fr; gap:9px; }.document-grid,.price-grid,.help-grid { grid-template-columns:1fr; }.document-card { min-height:165px; }.document-card>span { margin-bottom:30px; }.contact-shell { padding:35px 22px; box-shadow:10px 10px 0 rgba(59,63,118,.08); }.emergency-banner { padding:24px 21px; }.emergency-banner strong { font-size:24px; }.help-section { margin-top:53px; }.help-section>h3 { font-size:30px; }.site-footer { padding:36px 0; } }

.consent-group { margin:25px 0 22px; padding:17px 0 0; border:0; border-top:1px solid var(--soft-line); }.consent-group legend { padding:0 0 12px; color:var(--indigo); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.consent-group .consent { margin:0 0 11px; }.consent-group .consent:last-child { margin-bottom:0; }
.legal-draft { margin:0 0 34px; padding:12px 15px; border-left:2px solid var(--gold); color:var(--muted); background:rgba(237,232,208,.48); font-size:12px; line-height:1.55; }
