/* Anna Sokolova | White edition. Plain HTML, CSS and JavaScript.
   Lato is loaded externally or from the user's system. No font files are bundled. */
:root {
  --ink:#14285a; --ink-deep:#0f2149; --text:#1d2d50; --muted:#5c6c8f;
  --blue:#2f67d8; --blue-deep:#0039a6; --blue-soft:#f4f7ff;
  --coral:#d52b1e; --paper:#fff; --white:#fff; --line:#dbe3f3;
  --max:1248px; --header:104px; --radius:10px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header) + 20px); }
body { margin:0; background:var(--white); color:var(--text); font-family:'Lato',Arial,sans-serif; font-size:17px; line-height:1.78; -webkit-font-smoothing:antialiased; }
body.menu-open,body.dialog-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; color:inherit; }
button:disabled { cursor:not-allowed; opacity:.6; }
button,a,input,textarea,select,summary { -webkit-tap-highlight-color:transparent; }
a,button { touch-action:manipulation; }
img,svg { display:block; max-width:100%; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:400; }
h1,h2 { letter-spacing:-.045em; }
h2 { font-size:50px; line-height:1.16; }
h3 { line-height:1.28; letter-spacing:-.025em; }
p+p { margin-top:18px; }
[hidden] { display:none!important; }
::selection { background:#dfe8ff; color:var(--ink-deep); }
:focus-visible { outline:3px solid var(--blue-deep); outline-offset:5px; }
.icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.container { width:min(var(--max),calc(100% - 72px)); margin-inline:auto; }
.section { padding:76px 0; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.14em; font-weight:700; line-height:1.6; margin-bottom:22px; color:#466571; }
.section-no { color:#5c6f95; margin-right:6px; }
.tiny-mark { height:7px; width:7px; background:var(--coral); display:block; transform:rotate(-45deg); flex:none; }
.muted { color:var(--muted); }
.button { min-height:56px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:16px 24px; border:1px solid transparent; border-radius:6px; font-size:16px; font-weight:700; line-height:1.35; transition:background .2s,transform .2s,box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 5px 18px #203b4610; }
.button-blue { background:var(--coral); color:#fff; }
.button-blue:hover { background:#b82117; color:#fff; }
.button-dark { background:var(--blue-deep); color:var(--white); }
.button-dark:hover { background:#17317f; }
.text-link { display:inline-flex; align-items:center; gap:18px; font-size:14px; font-weight:700; min-height:44px; }
.text-link:hover .icon { transform:translate(2px,-2px); }
.text-link .icon { transition:transform .2s; }
.dark-link { color:var(--ink); border-bottom:1px solid #93a7ae; padding-bottom:3px; }
.inline-link { text-decoration:underline; text-underline-offset:5px; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:1000; background:var(--blue); color:var(--ink); padding:12px 20px; }
.skip-link:focus { top:10px; }

/* White navigation. */
.site-header { position:sticky; top:0; z-index:40; background:#fffffffa; border-bottom:1px solid #e3e9f5; backdrop-filter:blur(10px); }
.header-inner { min-height:var(--header); padding:8px 0 6px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.brand { display:block; width:250px; flex:none; }
.brand img { display:block; width:250px; height:auto; max-height:none; }
.site-nav { display:flex; align-items:center; gap:24px; color:var(--ink); font-size:15px; }
.site-nav>a { transition:color .2s; }
.site-nav>a:hover { color:var(--blue-deep); }
.site-nav .nav-contact { display:flex; align-items:center; gap:14px; margin-left:0; padding:12px 18px; border:1px solid #c7d3ec; border-radius:6px; }
.site-nav .nav-contact:hover { background:#f4f7ff; border-color:#9db5ea; }
.nav-contact .icon { width:16px; height:16px; }
.nav-languages { display:flex; align-items:center; gap:6px; border-left:1px solid var(--line); padding-left:18px; color:#4c5f8d; font-size:12px; letter-spacing:.025em; white-space:nowrap; }
.nav-languages>span { color:var(--blue-deep); }
.menu-toggle { display:none; border:1px solid #d4def7; border-radius:5px; background:white; width:44px; height:44px; padding:11px; }
.menu-toggle span { display:block; height:1px; width:20px; background:var(--ink); margin:5px 0; transition:transform .2s; }

/* Hero: text remains on white; the supplied panorama is never redrawn. */
.hero { background:var(--white); color:var(--ink); overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:.97fr 1.08fr; gap:34px; align-items:center; padding-top:42px; padding-bottom:36px; min-height:0; }
.hero-copy { min-width:0; position:relative; z-index:2; }
.hero .eyebrow { font-size:10px; letter-spacing:.15em; margin-bottom:22px; }
h1 { font-size:92px; font-weight:300; line-height:1.01; margin-bottom:22px; }
h1 span { color:var(--blue-deep); }
.hero-intro { font-size:20px; line-height:1.8; color:var(--muted); max-width:560px; }
.hero-actions { display:flex; align-items:center; gap:22px; margin-top:32px; flex-wrap:wrap; }
.hero-actions .button { gap:24px; }
.hero-signature { display:flex; gap:11px; align-items:center; margin-top:24px; font-size:14px; color:#3a5561; }
.signature-line { display:block; width:25px; height:1px; background:var(--coral); flex:none; }
.signature-role { color:#5f7096; margin-left:3px; }
.hero-visual { min-width:0; position:relative; align-self:center; margin:0; }
.visual-topline { display:flex; justify-content:space-between; gap:16px; align-items:center; margin:0 2px 16px; font-size:8px; letter-spacing:.14em; color:#5d7096; font-weight:700; }
.visual-topline>span:first-child { display:flex; align-items:center; gap:8px; color:var(--blue-deep); }
.visual-topline i { display:block; width:5px; height:5px; background:var(--coral); border-radius:50%; }
.panorama-frame { position:relative; padding:0; border:1px solid #dfe6f6; border-radius:10px; overflow:hidden; background:#f4f7ff; box-shadow:0 18px 46px -30px #1f3f8f30; }
.panorama-frame picture { display:block; }
.hero-panorama { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; filter:saturate(.92) contrast(.98) brightness(1.045); }
/* A subtle luminous veil integrates the image with white without obscuring either flag. */
.panorama-frame::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#ffffff29 0%,transparent 24%,transparent 72%,#ffffff0e 100%); }
.panorama-caption { display:flex; align-items:center; gap:18px; margin:18px 4px 0; }
.language-pair { display:flex; align-items:center; gap:10px; font-size:33px; line-height:1.3; font-weight:300; letter-spacing:-.015em; white-space:nowrap; }
.language-pair>span { color:var(--blue-deep); font-size:23px; }
.panorama-caption>div:nth-child(2) { border-left:1px solid var(--line); padding-left:22px; }
.panorama-caption strong { display:block; font-size:17px; font-weight:700; line-height:1.5; }
.panorama-caption>div>span { display:block; font-size:14px; color:#5c6d93; line-height:1.65; margin-top:3px; }
.caption-mark { font-size:25px; color:var(--coral); margin-left:auto; font-weight:300; }
.trust-strip { display:grid; grid-template-columns:1fr 1fr 1fr 45px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; padding:20px 0 22px; gap:18px; }
.trust-strip>div { display:flex; flex-direction:column; justify-content:center; gap:3px; }
.trust-strip>div+div { padding-left:30px; border-left:1px solid var(--line); }
.trust-value { font-size:19px; font-weight:400; letter-spacing:-.015em; }
.trust-caption { font-size:13px; color:#5e7096; }
.scroll-cue { width:41px; height:41px; align-self:center; border:1px solid #c8d3ed; border-radius:50%; display:grid; place-items:center; font-size:21px; font-weight:300; }
.scroll-cue:hover { background:#f4f7ff; }

/* Services. Subtle tints, with white as the dominant surface. */
.section-heading { display:flex; justify-content:space-between; gap:28px; align-items:flex-end; margin-bottom:28px; }
.section-heading h2 { font-size:46px; }
.section-aside { max-width:360px; font-size:16px; color:var(--muted); line-height:1.8; margin-bottom:3px; }
.services-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:20px; }
.service-card { padding:24px 26px 22px; border-radius:var(--radius); border:1px solid var(--line); position:relative; overflow:hidden; display:flex; flex-direction:column; min-width:0; isolation:isolate; transition:border-color .2s,box-shadow .2s; }
.service-card:hover { border-color:#afc2ee; box-shadow:0 10px 26px #1a38770c; }
.history-card { background:#ffffff; border-color:#dfe6f6; min-height:350px; }
.av-card { background:#f4f7ff; color:var(--ink); min-height:350px; }
.card-topline { display:flex; align-items:center; justify-content:space-between; gap:15px; position:relative; z-index:2; margin-bottom:31px; color:#536792; }
.card-kicker { font-size:9px; letter-spacing:.11em; font-weight:700; }
.service-icon { width:31px; height:31px; stroke:currentColor; fill:none; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.card-content { position:relative; z-index:2; }
.service-card h3 { font-size:38px; line-height:1.1; margin-bottom:14px; }
.service-card p { font-size:16px; color:#4c5d86; max-width:440px; line-height:1.78; }
.history-card .card-content { max-width:79%; }
.history-card p { max-width:326px; }
.history-decoration { position:absolute; right:21px; top:88px; width:120px; height:202px; z-index:0; color:#dbe4ff66; transform:rotate(8deg); }
.history-decoration>span { font-size:170px; font-weight:300; line-height:1; letter-spacing:-.06em; }
.history-decoration small { font-size:7px; line-height:1.6; letter-spacing:.3em; display:block; margin-top:12px; color:#9b927f; }
.decoration-rules { height:1px; width:93%; background:#dbe4ff77; margin-top:15px; }
.av-decoration { position:absolute; right:24px; top:124px; width:138px; transform:rotate(90deg) translateX(-15px); transform-origin:right top; opacity:.17; }
.av-decoration>span { font-size:35px; font-weight:300; letter-spacing:-.05em; }
.av-decoration b { font-weight:300; }
.timeline-line { height:16px; border-top:1px solid var(--blue-deep); border-bottom:1px solid var(--blue-deep); display:flex; gap:3px; margin-top:5px; }
.timeline-line i { height:9px; width:25px; background:var(--blue-deep); margin-top:3px; }
.timeline-line i:nth-child(2) { width:50px; }
.timeline-line i:nth-child(3) { background:var(--coral); width:30px; }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin:19px 0 23px; }
.tags>span { font-size:10px; border:1px solid #cbdbdf; border-radius:3px; padding:3px 8px; white-space:nowrap; background:#ffffff55; color:#4d6570; }
.history-card .tags>span { border-color:#eef2ff; }
.card-link { display:flex; justify-content:space-between; gap:14px; align-items:center; width:100%; margin-top:auto; padding:15px 0 0; border:0; border-top:1px solid #d2dfe4; background:none; text-align:left; font-size:12px; font-weight:700; z-index:2; }
.history-card .card-link { border-top-color:#eef2ff; }
.arrow-circle { width:33px; height:33px; border-radius:50%; border:1px solid #d2dcfa; display:grid; place-items:center; flex:none; transition:transform .2s,background .2s; }
.arrow-circle .icon { width:15px; height:15px; }
.card-link:hover .arrow-circle { transform:rotate(45deg); background:#edf2ff; }
.compact-card { background:white; min-height:235px; padding-top:24px; }
.compact-icon { position:absolute; right:28px; top:27px; color:#4a67b0; }
.compact-card h3 { font-size:30px; padding-right:34px; margin-bottom:14px; max-width:100%; }
.compact-card p { max-width:100%; line-height:1.75; margin-bottom:20px; }
.service-note { display:flex; align-items:flex-start; gap:9px; font-size:11px; color:var(--muted); margin-top:20px; }
.service-note .icon { width:16px; height:16px; margin-top:2px; }

/* Business and expandable details. */
.business { padding-top:0; padding-bottom:68px; }
.business-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; border-top:1px solid var(--line); padding-top:54px; }
.business h2 { font-size:46px; margin-bottom:18px; }
.business-copy>p:not(.eyebrow) { font-size:16px; line-height:1.82; max-width:560px; }
.business-copy>.text-link { margin-top:21px; }
.business-language { display:flex; align-items:center; gap:17px; margin-top:36px; }
.business-language>span { font-size:29px; font-weight:300; }
.business-language>div { width:57px; position:relative; height:25px; display:flex; align-items:center; }
.business-language i { width:34px; height:1px; background:#5d72ad; display:block; }
.business-language .icon { position:absolute; right:0; top:3px; color:#5d72ad; }
.business-language small { font-size:11px; color:var(--muted); margin-left:8px; border-left:1px solid var(--line); padding-left:22px; line-height:1.7; }
.business-options { padding-top:17px; }
details { border-top:1px solid #dfe7ff; }
summary { display:flex; align-items:center; gap:18px; cursor:pointer; list-style:none; font-size:22px; font-weight:400; padding:20px 0; line-height:1.35; }
summary::-webkit-details-marker { display:none; }
summary:hover { color:var(--blue-deep); }
.option-number { font-size:10px; font-weight:700; color:#647e89; letter-spacing:.07em; }
.plus { position:relative; width:20px; height:20px; margin-left:auto; flex:none; }
.plus:before,.plus:after { content:""; position:absolute; top:9px; left:3px; width:14px; height:1px; background:currentColor; }
.plus:after { transform:rotate(90deg); transition:transform .15s; }
details[open] .plus:after { transform:rotate(0deg); }
.detail-body { font-size:16px; line-height:1.78; color:var(--muted); padding:0 20px 20px 30px; }
.business-options details:last-of-type { border-bottom:1px solid #dfe7ff; }
.business-prep { display:flex; gap:14px; padding:24px 0 0; }
.business-prep p { font-size:12px; color:var(--muted); line-height:1.75; max-width:410px; }
.small-square { width:7px; height:7px; background:var(--coral); transform:rotate(-45deg); flex:none; margin-top:6px; }

/* Learning stays online-only. Decorative language card is not a course screenshot. */
.learning-section { background:#f4f7ff; padding:64px 0 68px; overflow:hidden; border-top:1px solid #f7f9ff; border-bottom:1px solid #f7f9ff; }
.learning-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.learning-copy { min-width:0; }
.learning-copy h2 { font-size:50px; margin-bottom:18px; }
.learning-intro { font-size:16px; line-height:1.82; color:#526d78; }
.lesson-tabs { display:flex; border-bottom:1px solid #d6e0fb; margin:22px 0 20px; gap:10px; }
.lesson-tabs button { border:0; background:none; color:#5670a8; padding:10px 13px 13px; font-size:13px; position:relative; line-height:1.5; white-space:nowrap; }
.lesson-tabs button:first-child { padding-left:0; padding-right:19px; }
.lesson-tabs button[aria-selected=true] { color:var(--ink); font-weight:700; }
.lesson-tabs button[aria-selected=true]:after { content:""; height:3px; position:absolute; bottom:-1px; left:0; right:0; background:var(--coral); }
.lesson-panel { min-height:185px; }
.lesson-panel p { font-size:16px; line-height:1.78; color:#496570; }
.lesson-features { display:flex; flex-direction:column; gap:8px; margin-top:16px; font-size:13px; }
.lesson-features>span { display:flex; align-items:center; gap:9px; }
.lesson-features .icon { width:15px; height:15px; stroke:var(--blue-deep); stroke-width:1.8; }
.lesson-location { display:flex; gap:22px; margin:22px 0 25px; flex-wrap:wrap; }
.lesson-location>span { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:700; }
.lesson-location .icon { width:16px; height:16px; color:var(--blue-deep); }
.learning-visual { height:460px; position:relative; min-width:0; }
.lesson-orbit { width:430px; height:430px; border:1px solid #d9e3fb; border-radius:50%; position:absolute; top:0; left:0; }
.lesson-orbit:after { content:""; border:1px solid #eef3ff; position:absolute; inset:38px; border-radius:50%; }
.lesson-caption { position:absolute; font-size:8px; letter-spacing:.16em; top:0; left:38px; z-index:2; background:#f4f7ff; padding:8px 0; color:#6176ad; }
.lesson-card { background:white; padding:30px; width:331px; height:328px; position:absolute; left:27px; top:62px; transform:rotate(-7deg); box-shadow:0 16px 35px #23458f12; border:1px solid #dbe4fb; }
.lesson-card-head { display:flex; justify-content:space-between; font-size:8px; letter-spacing:.1em; align-items:center; font-weight:700; }
.lesson-card-head>span:last-child { font-size:20px; color:var(--coral); }
.lesson-word { font-size:58px; font-weight:300; letter-spacing:-.05em; margin-top:26px; line-height:1.1; }
.lesson-word-pl { font-size:24px; font-weight:300; margin-top:8px; color:#677cb0; }
.lesson-line { height:1px; background:#e4eafe; margin:26px 0 16px; }
.lesson-bottom { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.lesson-bottom>span:first-child { font-size:11px; line-height:1.7; color:#516e7a; }
.lesson-circle { display:grid; place-items:center; width:45px; height:45px; background:#edf2ff; border-radius:50%; font-size:18px; }
.lesson-sticker { position:absolute; right:8px; bottom:8px; background:white; color:var(--ink); border:1px solid #dce6ff; padding:21px 28px; font-size:29px; font-weight:300; line-height:1.2; transform:rotate(5deg); box-shadow:0 15px 30px #1f3c7a12; }
.lesson-sticker strong { font-weight:400; color:var(--blue-deep); }
.lesson-dot { position:absolute; width:10px; height:10px; background:var(--coral); border-radius:50%; right:18px; top:83px; }

/* Brand and qualifications. */
.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:42px; align-items:start; }
.about-brand-panel { position:relative; background:#fcfdff; color:var(--ink); min-height:360px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:8px; overflow:hidden; margin-top:0; padding:28px; }
.about-brand-panel>img { width:390px; height:auto; position:relative; z-index:2; padding:0; }
.about-panel-label { position:absolute; top:30px; left:25px; right:25px; text-align:center; font-size:8px; letter-spacing:.14em; color:#657f8b; }
.about-panel-ring { position:absolute; width:250px; height:250px; border-radius:50%; border:1px solid #d9e6ed88; }
.about-panel-ring:before,.about-panel-ring:after { content:""; position:absolute; inset:-60px; border:1px solid #e8efff80; border-radius:50%; }
.about-panel-ring:after { inset:-115px; }
.about-panel-bottom { display:flex; justify-content:space-between; position:absolute; bottom:25px; left:27px; right:27px; border-top:1px solid var(--line); padding-top:20px; font-size:8px; letter-spacing:.09em; color:#647d88; }
.about-copy h2 { font-size:44px; margin-bottom:18px; }
.about-copy>p:not(.eyebrow) { font-size:16px; line-height:1.82; color:#536f7c; }
.qualifications { display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; margin-top:22px; }
.qualifications>div { display:flex; gap:12px; }
.qual-number { font-size:10px; color:#5771a9; margin-top:3px; flex:none; }
.qualifications p { font-size:14px; line-height:1.6; }
.qualifications strong { display:block; font-size:15px; font-weight:700; margin-bottom:4px; }
.qualifications p>span { display:block; color:var(--muted); }
.c2-line { display:flex; align-items:center; gap:15px; border-top:1px solid var(--line); padding-top:20px; margin-top:27px; }
.c2-line>span { display:grid; place-items:center; background:#f4f7ff; border:1px solid #dde7ff; border-radius:5px; min-width:42px; height:42px; font-size:18px; font-weight:400; }
.c2-line>p { font-size:14px; line-height:1.7; color:var(--muted); max-width:420px; }

/* Working together and frequently asked questions. */
.process-section { padding:0 0 60px; }
.process-head { padding-top:32px; border-top:1px solid var(--line); margin-bottom:28px; }
.process-head h2 { font-size:42px; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.process-number { display:flex; justify-content:space-between; align-items:center; color:#40616f; font-size:29px; font-weight:300; border-bottom:1px solid var(--line); padding-bottom:15px; margin-bottom:23px; }
.process-number>span { font-size:20px; color:#6a7fb3; }
.process-grid h3 { font-size:24px; margin-bottom:10px; }
.process-grid p { font-size:15px; color:var(--muted); line-height:1.78; max-width:100%; }
.faq-section { padding-top:56px; padding-bottom:58px; background:#fcfdff; border-block:1px solid #f7f9ff; }
.faq-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:42px; }
.faq-section h2 { font-size:42px; margin-bottom:16px; }
.faq-grid>div>p.muted { font-size:16px; line-height:1.82; }
.faq-list details:first-child { border-top:0; }
.faq-list summary { font-size:18px; padding:18px 0; gap:16px; }
.faq-list .detail-body { padding-left:0; font-size:16px; }
.faq-list details:last-child { border-bottom:1px solid #dfe7ff; }

/* Contact. No server-side submission or file upload in this static prototype. */
.contact-section { background:white; color:var(--ink); padding:70px 0 68px; overflow:hidden; }
.contact-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:42px; align-items:start; }
.contact-copy { min-width:0; }
.contact-copy h2 { font-size:50px; line-height:1.12; margin-bottom:18px; }
.contact-copy h2>span { color:var(--blue-deep); }
.contact-copy>p:not(.eyebrow) { max-width:520px; font-size:16px; line-height:1.82; color:#526e7b; }
.contact-email { display:flex; align-items:center; gap:16px; width:fit-content; max-width:100%; font-size:31px; letter-spacing:-.035em; font-weight:300; margin-top:24px; border-bottom:1px solid #d8e0fb; padding-bottom:6px; overflow-wrap:anywhere; }
.contact-email:hover { color:var(--blue-deep); }
.contact-email .icon { color:var(--blue-deep); width:18px; height:18px; }
.contact-phone { font-size:26px; font-weight:300; display:block; width:fit-content; margin-top:12px; color:#46616e; }
.contact-phone:hover { color:var(--blue-deep); }
.contact-location { display:flex; gap:11px; align-items:flex-start; margin-top:28px; }
.contact-location .icon { width:18px; height:18px; color:var(--blue-deep); margin-top:3px; }
.contact-location p { font-size:15px; line-height:1.72; }
.contact-location p>span { display:block; color:#637d8a; font-size:14px; margin-top:4px; }
.contact-copy>p.contact-domain { margin-top:28px; font-size:11px; letter-spacing:.08em; color:#687db2; }
.contact-form { padding:26px 26px 24px; border:1px solid #e5ebff; border-radius:9px; background:#fafbff; }
.contact-form h3 { font-size:30px; margin-bottom:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.field { margin-bottom:17px; }
.field label { display:block; font-size:14px; color:#3a5967; line-height:1.5; margin-bottom:8px; }
.field label>span { color:var(--blue-deep); }
.field input,.field select,.field textarea { display:block; width:100%; min-width:0; color:var(--ink); background:white; border:1px solid #ccd8f6; border-radius:4px; padding:13px 14px; font-size:15px; line-height:1.5; transition:border-color .2s; }
.field input,.field select { height:50px; }
.field textarea { resize:vertical; min-height:107px; }
.field input::placeholder,.field textarea::placeholder { color:#657e8a; opacity:1; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue-deep); outline:2px solid #2f67d845; outline-offset:1px; }
.field select { appearance:auto; color-scheme:light; }
.field option { background:white; color:var(--ink); }
.attachment-note { display:flex; align-items:flex-start; gap:8px; font-size:13px; color:#6175ad; line-height:1.7; margin-top:-2px; margin-bottom:16px; }
.attachment-note .icon { width:15px; height:15px; margin-top:2px; }
.form-submit { width:100%; justify-content:space-between; font-size:16px; }
.form-disclaimer { font-size:13px; line-height:1.75; color:#687db0; margin-top:12px; }
.mail-fallback { font-size:12px; margin-top:16px; border-top:1px solid #dfe7ff; padding-top:15px; overflow-wrap:anywhere; }
.copy-button { background:white; border:1px solid #b8caef; color:var(--blue-deep); border-radius:4px; padding:9px 13px; font-size:12px; margin-top:10px; }
.mail-fallback details { margin-top:13px; border-color:#dfe7ff; }
.mail-fallback summary { font-size:12px; padding:12px 0; }
.mail-fallback pre { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; line-height:1.7; color:#3d5b6a; }
.noscript-note { font-size:12px; margin-top:16px; }
.noscript-note a { text-decoration:underline; }

/* White footer and service dialogs. */
.site-footer { background:white; color:#506b79; border-top:1px solid var(--line); }
.footer-top { display:flex; align-items:center; gap:24px; padding-top:22px; padding-bottom:22px; }
.footer-brand { display:block; flex:none; }
.footer-brand img { width:230px; height:auto; }
.footer-top>p { font-size:18px; line-height:1.5; font-weight:300; color:#3d5c6a; }
.footer-nav { display:flex; gap:24px; font-size:14px; margin-left:auto; }
.footer-nav a:hover { color:var(--blue-deep); }
.back-top { width:37px; height:37px; border:1px solid #d0daf8; border-radius:50%; display:grid; place-items:center; font-size:19px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:16px 0 18px; border-top:1px solid var(--line); color:#6a80b2; font-size:13px; letter-spacing:.02em; }
.service-dialog { border:0; border-radius:12px; padding:0; width:min(720px,calc(100% - 32px)); max-height:min(90dvh,940px); background:white; color:var(--text); box-shadow:0 25px 100px #1f3c7a40; overscroll-behavior:contain; }
.service-dialog::backdrop { background:#23458f26; backdrop-filter:blur(4px); }
.dialog-inner { padding:46px 48px 40px; position:relative; }
.dialog-close { display:grid; place-items:center; position:absolute; right:17px; top:17px; width:36px; height:36px; background:white; border:1px solid #cad6f4; border-radius:50%; }
.dialog-close:hover { background:#f4f7ff; }
.dialog-inner h2 { font-size:36px; margin-bottom:25px; }
.dialog-inner h3 { font-size:19px; margin-top:23px; margin-bottom:13px; }
.dialog-inner>p:not(.eyebrow),.dialog-inner li { font-size:15px; line-height:1.85; color:#476573; }
.dialog-inner ul { padding-left:20px; margin:0 0 22px; }
.dialog-inner li+li { margin-top:6px; }
.dialog-notice { background:#f4f7ff; border-left:3px solid var(--blue); padding:17px 18px; font-size:13px; color:#466571; line-height:1.8; margin:25px 0; }
.dialog-notice strong { display:block; margin-bottom:4px; }
.modes-list { margin:25px 0; }
.modes-list>div { padding:15px 0; border-top:1px solid var(--line); }
.modes-list dt { font-weight:700; font-size:15px; margin-bottom:7px; }
.modes-list dd { font-size:14px; line-height:1.8; color:#4a6774; margin:0; }


/* v5: Same v4 palette and unmodified logo assets. One responsive layout. */
:root{--max:1280px;--header:108px;--radius:12px}
body{font-size:18px;line-height:1.65}
h1,h2,h3{color:var(--ink);font-weight:400}
h1,h2{text-wrap:balance}
h2{font-size:clamp(34px,3.4vw,48px);line-height:1.15}
.container{width:min(var(--max),calc(100% - 80px))}
.section{padding:68px 0}
.eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:18px;color:var(--blue-deep)}
.section-no{color:var(--muted)}
.button{font-size:16px;min-height:56px;gap:22px;padding:15px 22px;line-height:1.4}
.text-link{font-size:16px;gap:14px}
.dark-link{color:var(--blue-deep);border-color:var(--line)}
.skip-link{background:var(--blue-deep);color:var(--white)}
.header-inner{height:var(--header);min-height:0;padding:0;gap:24px}
.brand,.brand img{width:142px}
.site-nav{gap:27px;font-size:15px;font-weight:700}
.site-nav>a:not(.nav-contact){position:relative;padding-block:12px}
.site-nav>a:not(.nav-contact):after{content:"";height:2px;position:absolute;left:0;right:0;bottom:4px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-nav>a:hover:after,.site-nav>a[aria-current]:after{transform:scaleX(1)}
.site-nav .nav-contact{background:var(--coral);border-color:var(--coral);color:var(--white);min-height:48px}
.site-nav .nav-contact:hover{background:#b82117;border-color:#b82117;color:var(--white)}
.nav-languages{font-size:13px;color:var(--ink);padding-left:20px}
.menu-toggle{width:46px;height:46px;border-color:var(--line);border-radius:6px}
.menu-toggle span{height:2px;width:22px}

/* First screen: balanced text, intact panorama, readable supporting text. */
.hero-grid{grid-template-columns:.9fr 1.12fr;gap:48px;padding:46px 0 38px;min-height:0}
.hero .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:20px}
h1{font-size:clamp(58px,5.5vw,78px);font-weight:400;line-height:1.02;margin-bottom:22px}
.hero-intro{font-size:19px;line-height:1.7;max-width:505px}
.hero-actions{gap:24px;margin-top:27px}
.hero-actions .text-link{font-size:15px}
.hero-signature{flex-wrap:wrap;font-size:14px;margin-top:22px;color:var(--ink);gap:10px}
.signature-line{height:2px}
.signature-role{color:var(--muted)}
.visual-topline{font-size:10px;letter-spacing:.1em;margin:0 0 14px;color:var(--muted)}
.visual-topline i{width:6px;height:6px}
.panorama-frame{border-color:var(--line);border-radius:12px 12px 0 0;box-shadow:none}
.hero-panorama{aspect-ratio:1672/941;object-fit:contain}
.panorama-caption{margin:0;gap:20px;padding:20px 22px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:var(--blue-soft)}
.language-pair{font-size:29px;font-weight:400;gap:8px;color:var(--ink)}
.language-pair>span{font-size:22px}
.panorama-caption>div:nth-child(2){padding-left:20px}
.panorama-caption strong{font-size:16px;line-height:1.4}
.panorama-caption>div>span{font-size:13px;line-height:1.55;color:var(--muted);margin-top:5px}
.trust-strip{grid-template-columns:.8fr 1.2fr 1fr;gap:24px;padding:24px 0}
.trust-strip>div{gap:4px}
.trust-strip>div+div{padding-left:32px}
.trust-value{font-size:18px;font-weight:700;line-height:1.4}
.trust-caption{font-size:14px;color:var(--muted)}
.scroll-cue{display:none}

/* All four specializations visible together. */
.section-heading{gap:36px;margin-bottom:32px}
.section-heading h2{font-size:clamp(32px,3vw,44px)}
.section-aside{max-width:310px;font-size:17px;line-height:1.65}
.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-card{padding:24px 22px 18px;min-height:0;border-color:var(--line);transition:transform .2s,border-color .2s}
.service-card:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:none}
.history-card,.av-card{background:var(--blue-soft)}
.card-topline{margin-bottom:26px;gap:12px}
.card-kicker{font-size:11px;letter-spacing:.08em;color:var(--muted)}
.service-icon{width:30px;height:30px;color:var(--blue-deep)}
.service-card h3,.compact-card h3{font-size:29px;line-height:1.22;min-height:71px;margin-bottom:16px;padding:0;max-width:none}
.service-card p,.compact-card p,.history-card p{font-size:16px;line-height:1.65;color:var(--muted);max-width:none;margin-bottom:0}
.history-card .card-content{max-width:none}
.card-content{margin-bottom:24px}
.history-decoration,.av-decoration,.compact-icon{display:none}
.tags{margin:20px 0 0;gap:6px}
.tags>span,.history-card .tags>span{font-size:12px;line-height:1.5;padding:4px 8px;border:1px solid var(--line);background:var(--white);color:var(--text);white-space:normal}
.card-link,.history-card .card-link{padding-top:16px;border-top-color:var(--line);font-size:14px;line-height:1.45;color:var(--blue-deep)}
.arrow-circle{width:34px;height:34px;border-color:var(--line)}
.arrow-circle .icon{width:17px;height:17px}
.service-note{font-size:14px;margin-top:22px;line-height:1.6}
.service-note .icon{margin-top:3px}

.business{padding-top:0}
.business-grid{gap:64px;padding-top:56px}
.business h2{font-size:clamp(34px,3.4vw,48px);margin-bottom:23px}
.business-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}
.business-copy>.text-link{margin-top:24px}
.business-language{margin-top:28px}
.business-language>span{font-size:28px;color:var(--blue-deep)}
.business-language small{font-size:13px;padding-left:18px}
.business-options{padding-top:8px}
details{border-color:var(--line)}
summary{font-size:21px;padding:23px 0;line-height:1.4}
.option-number{font-size:12px;color:var(--blue-deep)}
.detail-body{font-size:16px;line-height:1.75;padding:0 20px 23px 34px}
.business-prep{margin-top:22px;padding:18px 20px;background:var(--blue-soft);border-radius:8px}
.business-prep p{font-size:14px}
.small-square{margin-top:8px}

.learning-section{padding:64px 0;border-color:var(--line)}
.learning-grid{grid-template-columns:.9fr 1.1fr;gap:76px}
.learning-copy h2{font-size:clamp(34px,3.4vw,48px);margin-bottom:22px}
.learning-intro,.lesson-panel p{font-size:17px;color:var(--muted);line-height:1.7}
.lesson-tabs{margin:24px 0 20px;gap:24px;border-color:var(--line)}
.lesson-tabs button,.lesson-tabs button:first-child{font-size:16px;padding:12px 0;white-space:normal;text-align:left;color:var(--muted)}
.lesson-tabs button[aria-selected=true]{color:var(--ink)}
.lesson-panel{min-height:194px}
.lesson-features{gap:9px;font-size:15px}
.lesson-features .icon{width:18px;height:18px}
.lesson-location{margin:22px 0}
.lesson-location>span{font-size:14px}
/* Restored paper motif. Container units keep both cards inside the column. */
.learning-visual{display:block;position:relative;container-type:inline-size;width:100%;height:auto;aspect-ratio:1.08;padding:0}
.lesson-orbit{position:absolute;top:2%;left:1%;right:auto;bottom:auto;width:86%;height:auto;aspect-ratio:1;border:1px solid #d9e3fb;border-radius:50%}
.lesson-orbit:after{display:block;content:"";position:absolute;inset:9%;border:1px solid #eef3ff;border-radius:50%}
.lesson-caption{position:absolute;top:2%;left:8%;padding:6px 0;margin:0;font-size:clamp(9px,2.1cqi,11px);letter-spacing:.13em;color:#6176ad;font-weight:400;z-index:2}
.lesson-card{position:absolute;left:4%;top:15%;width:60%;height:auto;padding:5.2cqi;transform:rotate(-7deg);background:var(--white);border:1px solid #dbe4fb;border-radius:0;box-shadow:0 16px 35px #23458f12}
.lesson-card-head{display:flex;align-items:center;justify-content:space-between;font-size:clamp(8px,1.9cqi,11px);line-height:1.4;letter-spacing:.07em;color:var(--ink);font-weight:700}
.lesson-card-head>span:last-child{font-size:4.5cqi;color:var(--coral)}
.lesson-word{font-size:10.5cqi;font-weight:400;line-height:1.1;color:var(--ink);margin-top:5cqi;letter-spacing:-.05em}
.lesson-word-pl{font-size:4.8cqi;font-weight:300;line-height:1.2;margin-top:1.5cqi;color:#677cb0}
.lesson-line{height:1px;background:#e4eafe;margin:5.5cqi 0 3.5cqi}
.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:2cqi}
.lesson-bottom>span:first-child{font-size:2.8cqi;line-height:1.6;color:#516e7a}
.lesson-circle{width:10cqi;height:10cqi;flex:none;border:0;background:#edf2ff;border-radius:50%;font-size:4cqi}
.lesson-sticker{position:absolute;right:0;bottom:2%;width:28%;margin:0;padding:3.5cqi 2.4cqi;font-size:4.7cqi;font-weight:300;line-height:1.2;transform:rotate(5deg);border:1px solid #dce6ff;border-radius:0;background:var(--white);color:var(--ink);box-shadow:0 15px 30px #1f3c7a12}
.lesson-sticker br{display:initial}
.lesson-sticker strong{font-weight:400;color:var(--blue-deep)}
.lesson-dot{position:absolute;width:2cqi;height:2cqi;right:2%;top:19%;bottom:auto;left:auto;border-radius:50%;transform:none;background:var(--coral)}

.about-grid{grid-template-columns:.72fr 1.28fr;gap:64px;align-items:center}
.about-brand-panel{background:var(--blue-soft);min-height:380px;border-radius:12px;padding:64px 30px}
.about-brand-panel>img{width:min(100%,275px)}
.about-panel-label{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.08em;top:25px}
.about-panel-ring{display:none}
.about-panel-bottom{font-size:11px;color:var(--blue-deep);padding-top:18px}
.about-copy h2{font-size:clamp(34px,3.4vw,48px);margin-bottom:22px}
.about-copy>p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.7}
.qualifications{gap:22px 28px;margin-top:28px}
.qual-number{font-size:12px;color:var(--blue-deep)}
.qualifications strong{font-size:15px;margin-bottom:6px}
.qualifications p>span{font-size:14px}
.c2-line>span{min-width:48px;height:48px;font-size:21px}
.c2-line>p{font-size:15px}
.process-section{padding-bottom:64px}
.process-head{padding-top:40px;margin-bottom:32px}
.process-head h2{font-size:40px}
.process-grid{gap:36px}
.process-number{font-size:28px;color:var(--blue-deep);padding-bottom:12px;margin-bottom:22px}
.process-number>span{font-size:19px;color:var(--coral)}
.process-grid h3{font-size:23px;margin-bottom:12px}
.process-grid p{font-size:16px;line-height:1.65}
.faq-section{padding:58px 0;border-color:var(--line)}
.faq-grid{grid-template-columns:.75fr 1.25fr;gap:64px}
.faq-grid>div>p.muted{font-size:17px}
.faq-list summary{font-size:18px;padding:21px 0}
.faq-list .detail-body{font-size:16px;padding-left:0}

.contact-section{padding:72px 0}
.contact-grid{gap:64px}
.contact-copy{padding-top:12px}
.contact-copy h2{font-size:clamp(38px,4vw,54px);margin-bottom:24px}
.contact-copy>p:not(.eyebrow){font-size:18px;color:var(--muted);line-height:1.7}
.contact-email{font-size:clamp(22px,2.3vw,32px);font-weight:400;margin-top:30px;padding-bottom:8px;border-color:var(--line)}
.contact-email .icon{color:var(--coral);width:20px;height:20px}
.contact-phone{font-size:27px;font-weight:400;color:var(--ink);margin-top:16px}
.contact-location{margin-top:30px}
.contact-location p{font-size:16px}
.contact-location p>span{font-size:14px;color:var(--muted);margin-top:6px}
.contact-copy>p.contact-domain{font-size:14px;color:var(--blue-deep);margin-top:24px}
.contact-form{min-width:0;background:var(--blue-soft);border-color:var(--line);border-radius:12px;padding:30px}
.contact-form h3{font-size:31px;margin-bottom:8px}
.form-intro{font-size:15px;color:var(--muted);margin-bottom:23px}
.field{min-width:0;margin-bottom:18px}
.field label{font-size:14px;font-weight:700;color:var(--text)}
.field label>span{color:var(--coral)}
.field input,.field select,.field textarea{font-size:16px;border-radius:6px;padding:13px}
.field input,.field select{height:52px}
.field select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%2314285a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px 8px}
.field textarea{min-height:124px}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.brief-helper{font-size:14px;color:var(--muted);line-height:1.6;margin:9px 0 0}
.attachment-note{font-size:13px;color:var(--muted);margin-bottom:18px}
.form-disclaimer{font-size:13px;color:var(--muted);line-height:1.65}
.form-status{font-size:14px;color:var(--text);line-height:1.65;margin-top:12px;overflow-wrap:anywhere}
.form-status:empty{display:none}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.attachment-field{margin:0 0 20px;min-width:0}
.attachment-label{font-size:14px;font-weight:700;color:var(--text);margin:0 0 8px}
.attachment-label>span{font-weight:400;color:var(--muted)}
.upload-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:154px;padding:22px 16px;background:var(--white);border:1px dashed var(--muted);border-radius:8px;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s}
.upload-dropzone>.icon{width:24px;height:24px;color:var(--ink);margin-bottom:4px}
.upload-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.5}
.upload-choice{font-size:14px;color:var(--muted);line-height:1.5}
.upload-choice>span{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.upload-hint{font-size:12px;color:var(--muted);line-height:1.6;margin-top:5px}
.upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.upload-dropzone:hover,.upload-dropzone.is-dragging{border-color:var(--blue-deep);background:var(--blue-soft)}
.upload-dropzone:focus-within{border-color:var(--blue-deep);outline:2px solid #2f67d845;outline-offset:2px}
.upload-dropzone.has-error{border-color:var(--coral)}
.upload-dropzone.is-busy{opacity:.65;cursor:wait}
.upload-dropzone.is-busy .upload-input{cursor:wait}
.upload-selection{display:flex;align-items:center;gap:12px;justify-content:space-between;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:12px;margin-top:10px;min-width:0}
.upload-selection>div{min-width:0}
.upload-filename{display:block;font-size:14px;font-weight:700;line-height:1.5;color:var(--text);overflow-wrap:anywhere}
.upload-filesize{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:2px}
.upload-remove{flex:none;min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:var(--blue-deep);background:var(--white);font-size:13px}
.upload-remove:hover{border-color:var(--blue-deep)}
.upload-error{font-size:13px;line-height:1.6;color:var(--coral);margin:8px 0 0}
.upload-error:empty{display:none}
.mail-fallback{font-size:14px;margin-top:18px;padding-top:18px}
.copy-button{font-size:14px;min-height:44px;border-color:var(--line);padding:10px 14px}
.mail-fallback summary{font-size:15px;padding:16px 0}
.mail-fallback pre{font-size:14px;color:var(--text)}
.site-footer{color:var(--text)}
.footer-top{gap:32px;padding:24px 0}
.footer-brand img{width:135px}
.footer-top>p{font-size:18px;font-weight:400;color:var(--ink)}
.footer-nav{font-size:15px;flex-wrap:wrap}
.footer-nav a{padding-block:12px}
.back-top{width:44px;height:44px;font-size:22px;flex:none}
.footer-bottom{font-size:13px;color:var(--muted);padding:18px 0}
.service-dialog{width:min(740px,calc(100% - 32px));max-height:90dvh;border:1px solid var(--line);border-radius:14px}
.dialog-inner{padding:46px 42px 36px}
.dialog-close{width:40px;height:40px;right:14px;top:14px}
.dialog-inner .eyebrow{padding-right:20px}
.dialog-inner h3{font-size:22px}
.dialog-inner>p:not(.eyebrow),.dialog-inner li{font-size:17px;color:var(--muted);line-height:1.75}
.dialog-notice{font-size:15px;color:var(--text);line-height:1.7}
.modes-list dt{font-size:17px}
.modes-list dd{font-size:16px;color:var(--muted);line-height:1.7}

/* Consistent optical centering, independent of the font arrow glyph. */
.language-arrow{display:inline-block;width:1.45em;height:1.1em;vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;color:inherit}
.language-pair .language-arrow{display:block;width:1.45em;height:1.1em;margin:0;align-self:center}
.nav-languages .language-arrow{display:block;width:1.45em;height:1.1em;margin:0;align-self:center}

/* Center the return arrow geometrically and match it to its circular outline. */
.back-top{--back-top-color:#d0daf8;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;color:var(--back-top-color);border-color:var(--back-top-color)}
.back-top .icon{width:22px;height:22px;margin:0;stroke:currentColor;stroke-width:1.6}
.back-top:hover{--back-top-color:var(--blue-deep);background:var(--blue-soft)}
.business-language>.business-direction{display:flex;align-items:center;justify-content:center;position:static;width:44px;height:30px;color:var(--blue-deep)}
.business-language .business-direction-arrow{position:static;inset:auto;width:26px;height:26px;transform:rotate(90deg);color:inherit}
.contact-email.email-reveal{background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 8px;text-align:left;cursor:pointer;font-family:inherit;line-height:inherit;color:inherit}

/* About portrait: approved white-table portrait, full frame. */
.about-portrait{display:block;min-width:0;margin:0;align-self:start;background:var(--blue-soft);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.about-portrait>img{display:block;width:100%;height:auto;aspect-ratio:2/3}
.about-portrait figcaption{padding:18px 22px;border-top:1px solid var(--line)}
.about-portrait figcaption strong{display:block;font-size:20px;font-weight:700;line-height:1.4;color:var(--ink)}
.about-portrait figcaption span{display:block;font-size:14px;line-height:1.6;margin-top:4px;color:var(--muted)}

@media(max-width:1150px){
 .site-nav{gap:20px;font-size:14px}.nav-languages{display:none}
 .hero-grid{gap:32px}h1{font-size:62px}.hero-intro{font-size:18px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:18px}
 .panorama-caption{padding:18px;gap:14px}.panorama-caption>div:nth-child(2){padding-left:14px}.panorama-caption strong{font-size:14px}.panorama-caption>div>span{font-size:12px}.language-pair{font-size:23px}.caption-mark,.visual-topline>span:last-child{display:none}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{padding:26px}.service-card h3{min-height:0;font-size:31px}.service-card h3 br{display:none}.card-topline{margin-bottom:22px}
 .business-grid,.learning-grid,.about-grid,.contact-grid,.faq-grid{gap:40px}.learning-grid{grid-template-columns:.85fr 1.15fr}.lesson-panel{min-height:220px}
 .about-grid{grid-template-columns:.7fr 1.3fr}.contact-form{padding:24px}.form-row{grid-template-columns:1fr;gap:0}.footer-top{gap:24px}.footer-nav{gap:16px;font-size:14px}
}
@media(max-width:920px){
 :root{--header:92px}.container{width:calc(100% - 48px)}.brand,.brand img{width:122px}.menu-toggle{display:block}
 .site-nav{display:none;position:absolute;top:var(--header);left:0;right:0;padding:12px 24px 26px;background:var(--white);border-bottom:1px solid var(--line);max-height:calc(100dvh - var(--header));overflow:auto}
 .site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav>a:not(.nav-contact){padding:16px 0;font-size:17px;border-bottom:1px solid var(--line)}.site-nav>a:not(.nav-contact):after{display:none}.site-nav .nav-contact{margin-top:16px;justify-content:space-between;font-size:16px}
 .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)}
 .hero-grid{gap:28px;grid-template-columns:1fr 1fr;padding:35px 0}h1{font-size:53px}.hero .eyebrow{font-size:10px}.hero-intro{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.hero-signature{gap:7px;font-size:13px}.signature-role{flex-basis:100%;margin-left:32px}
 .panorama-caption .language-pair{display:none}.panorama-caption>div:nth-child(2){padding:0;border:0}.panorama-caption strong{font-size:16px}.panorama-caption>div>span{font-size:13px}
 .trust-strip{gap:18px}.trust-strip>div+div{padding-left:18px}.trust-value{font-size:16px}.trust-caption{font-size:13px}
 .section-heading{align-items:flex-start;flex-direction:column;gap:18px}.section-aside{max-width:100%}
 .business-grid,.learning-grid,.about-grid,.contact-grid,.faq-grid{gap:32px}.business h2{font-size:35px}.business-language small{font-size:12px}summary{font-size:19px;gap:14px}
 .learning-grid{grid-template-columns:minmax(0,1fr);gap:36px}.learning-copy{grid-row:1}.lesson-panel{min-height:155px}.learning-visual{display:block;width:min(100%,460px);justify-self:center}
 .about-grid{grid-template-columns:minmax(0,1fr)}.about-copy{grid-row:auto}.about-portrait{grid-row:1;width:min(100%,380px);justify-self:center}.about-brand-panel{display:none}.process-grid{gap:24px}.process-grid h3{font-size:21px}
 .contact-grid{grid-template-columns:.9fr 1.1fr;gap:24px}.contact-email{font-size:22px;gap:8px}.contact-copy h2{font-size:38px}.contact-copy>p:not(.eyebrow){font-size:17px}.contact-form{padding:22px}.contact-form h3{font-size:28px}.footer-top>p{display:none}
}
@media(max-width:680px){
 :root{--header:84px}.container{width:calc(100% - 40px)}.brand,.brand img{width:110px}.section{padding:48px 0}h2{font-size:35px}.eyebrow{font-size:11px;margin-bottom:15px}
 .hero-grid{grid-template-columns:minmax(0,1fr);padding:30px 0 26px;gap:27px}h1{font-size:clamp(48px,11vw,66px);margin-bottom:20px}.hero .eyebrow{font-size:10px;margin-bottom:18px}.hero-intro{font-size:18px;line-height:1.65}
 .hero-actions{flex-direction:row;align-items:center;gap:12px 20px;margin-top:24px}.hero-actions .button{font-size:15px;gap:14px}.hero-actions .text-link{font-size:15px}.hero-signature{font-size:13px;margin-top:17px}.signature-role{flex-basis:auto;margin-left:0}.visual-topline{display:none}
 .panorama-caption{padding:16px}.panorama-caption .language-pair{display:flex;font-size:24px}.panorama-caption>div:nth-child(2){padding-left:14px;border-left:1px solid var(--line)}.panorama-caption strong{font-size:14px}.panorama-caption>div>span{font-size:12px}
 .trust-strip{grid-template-columns:1fr;gap:0;padding:7px 0}.trust-strip>div,.trust-strip>div+div{padding:14px 0;border-left:0}.trust-strip>div+div{border-top:1px solid var(--line)}.trust-value{font-size:16px}.trust-caption{font-size:14px}
 .section-heading{gap:18px;margin-bottom:24px}.section-heading h2{font-size:32px}.section-aside{font-size:17px}.services-grid{grid-template-columns:minmax(0,1fr);gap:14px}.service-card{padding:24px}.card-topline{margin-bottom:20px}.service-card h3{font-size:30px;margin-bottom:13px}.service-card p{font-size:17px}.card-content{margin-bottom:20px}.card-link{font-size:15px}.service-note{font-size:13px}
 .business{padding-top:0}.business-grid{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:40px}.business h2{font-size:35px}.business-copy>p:not(.eyebrow){font-size:17px}.business-language{display:none}.business-options{padding:0}.business-options summary{font-size:19px;padding:20px 0}.detail-body{padding-left:30px}
 .learning-section{padding:48px 0}.learning-copy h2{font-size:39px}.lesson-tabs{gap:22px}.lesson-tabs button{font-size:15px}.lesson-panel{min-height:210px}.lesson-features{font-size:15px}.lesson-location{gap:18px;margin-top:20px}.lesson-location>span{font-size:13px}
 .about-copy h2{font-size:35px}.qualifications{grid-template-columns:minmax(0,1fr);gap:21px}.qualifications strong{font-size:16px}.qualifications p>span{font-size:15px}
 .process-section{padding-bottom:48px}.process-head{padding-top:35px;margin-bottom:28px}.process-head h2{font-size:33px}.process-grid{grid-template-columns:minmax(0,1fr);gap:24px}.process-grid>div{display:grid;grid-template-columns:42px 1fr;gap:0 17px;border-bottom:1px solid var(--line);padding-bottom:24px}.process-grid>div:last-child{padding-bottom:0;border:0}.process-number{grid-row:1/3;margin:0;padding:0;border:0;align-self:start}.process-number>span{display:none}.process-grid h3{font-size:22px}.process-grid p{grid-column:2;font-size:16px}
 .faq-section{padding:45px 0}.faq-grid{grid-template-columns:minmax(0,1fr);gap:26px}.faq-section h2{font-size:36px}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:17px;padding:19px 0}
 .contact-section{padding:48px 0}.contact-grid{grid-template-columns:minmax(0,1fr);gap:30px}.contact-copy{padding:0}.contact-copy h2{font-size:40px;margin-bottom:20px}.contact-email{font-size:clamp(23px,5.8vw,30px);margin-top:24px}.contact-phone{font-size:26px;margin-top:13px}.contact-location{margin-top:25px}.contact-form{padding:24px 20px}.form-submit{font-size:15px;gap:12px}
 .footer-top{display:grid;grid-template-columns:1fr auto;gap:14px 24px;padding:22px 0}.footer-brand img{width:120px}.footer-nav{grid-row:2;grid-column:1/-1;margin:0;gap:22px;font-size:14px}.back-top{grid-column:2;grid-row:1}.footer-bottom{flex-wrap:wrap;gap:8px 18px;font-size:12px}.footer-bottom>span:last-child{display:none}
 .dialog-inner{padding:52px 23px 28px}.dialog-inner h2{font-size:30px}.dialog-inner .eyebrow{font-size:10px}.dialog-inner>p:not(.eyebrow),.dialog-inner li{font-size:16px}.dialog-inner .button{width:100%;font-size:15px;padding-inline:16px;gap:14px}
}
@media(max-width:370px){
 .container{width:calc(100% - 32px)}.panorama-caption .language-pair{display:none}.panorama-caption>div:nth-child(2){border:0;padding:0}.signature-role{flex-basis:100%;margin-left:32px}.lesson-tabs{gap:16px}.lesson-tabs button{font-size:14px}.contact-form{padding-inline:16px}.service-card{padding:22px}
}
@media(forced-colors:active){.field select{appearance:auto;-webkit-appearance:auto;background-image:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.service-card:hover{transform:none}}
@media print{
 .site-header,.hero-visual,.learning-visual,.about-portrait,.contact-form,.back-top,.card-link,dialog,.skip-link{display:none!important}.container{width:100%}body{background:var(--white);font-size:12pt}.hero-grid,.business-grid,.learning-grid,.about-grid,.contact-grid,.faq-grid{display:block}.section,.hero-grid,.learning-section,.contact-section,.process-section{padding:20px 0}h1{font-size:36pt}h2{font-size:24pt!important}.services-grid{grid-template-columns:1fr 1fr}.service-card{break-inside:avoid}.button{border:1px solid var(--line);background:var(--white);color:var(--ink)}
}
