:root { --ink:#123c35; --ink-deep:#0b2823; --cream:#f5f0e7; --paper:#fbfaf7; --gold:#c89e57; --muted:#68716b; --line:rgba(18,60,53,.15); --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.6; }
body:has(.image-unavailable) .portrait-frame { background:linear-gradient(145deg,#d7ddd4,#9fae9f); }
body:has(.image-unavailable) .portrait-frame::before { content:"Ekspert surati"; position:absolute; inset:0; display:grid; place-items:center; color:var(--ink); font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; }
body:has(.image-unavailable) .portrait-frame img { display:none; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.skip-link { position:absolute; transform:translateY(-200%); left:1rem; top:1rem; z-index:20; background:var(--gold); color:#fff; padding:.6rem 1rem; border-radius:.25rem; }
.skip-link:focus { transform:none; }
.section-shell { padding-left:max(1.5rem,calc((100vw - 1180px)/2)); padding-right:max(1.5rem,calc((100vw - 1180px)/2)); }
.site-header { position:absolute; z-index:10; top:0; width:100%; display:flex; align-items:center; justify-content:space-between; padding:1.4rem max(1.5rem,calc((100vw - 1180px)/2)); color:#fff; }
.brand { display:inline-flex; align-items:center; gap:.65rem; font-size:.86rem; font-weight:600; letter-spacing:.02em; }
.brand-mark { display:grid; place-items:center; width:2.1rem; height:2.1rem; border:1px solid currentColor; border-radius:50%; font-family:var(--serif); font-size:1.15rem; }
.header-cta { font-size:.83rem; font-weight:600; border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:.18rem; }
.header-cta span { margin-left:.25rem; }
.hero { position:relative; isolation:isolate; min-height:780px; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:4rem; background:var(--ink); color:#fff; padding-top:8rem; padding-bottom:7rem; }
.hero::before { content:""; position:absolute; z-index:-1; width:40rem; height:40rem; right:-14rem; top:-16rem; border:1px solid rgba(255,255,255,.11); border-radius:50%; }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.13; background-image:radial-gradient(rgba(255,255,255,.9) .5px,transparent .5px); background-size:8px 8px; mask-image:linear-gradient(to bottom,black,transparent 80%); }
.eyebrow { display:flex; align-items:center; gap:.55rem; margin:0 0 1.45rem; color:#e6d5b5; text-transform:uppercase; font-size:.7rem; line-height:1.3; letter-spacing:.14em; font-weight:700; }
.eyebrow span { width:1.7rem; height:1px; background:currentColor; }
.eyebrow-dark { color:#9d7741; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:500; line-height:1.08; letter-spacing:-.04em; }
h1 { max-width:680px; font-size:clamp(3.2rem,6vw,5.85rem); margin-bottom:1.65rem; }
h1 em,h2 em { color:#dbbb84; font-style:italic; }
.hero-lede { max-width:510px; color:rgba(255,255,255,.74); font-size:1.08rem; line-height:1.75; }
.hero-actions { margin-top:2.3rem; display:flex; align-items:center; gap:1.8rem; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:1.1rem; min-height:3.35rem; padding:.75rem 1.3rem; border:1px solid transparent; font-size:.84rem; font-weight:700; letter-spacing:.01em; cursor:pointer; transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--gold); color:#fff; }
.button-primary:hover { background:#b98e47; }
.text-link { padding:.5rem 0; color:#fff; font-size:.85rem; font-weight:600; border-bottom:1px solid rgba(255,255,255,.45); }
.assurance { display:flex; gap:.5rem; align-items:center; margin:2rem 0 0; color:rgba(255,255,255,.68); font-size:.78rem; }
.check { display:grid; place-items:center; width:1rem; height:1rem; border:1px solid var(--gold); color:var(--gold); border-radius:50%; font-size:.6rem; }
.hero-visual { position:relative; height:550px; display:grid; align-items:center; justify-items:center; }
.arch { position:absolute; width:75%; height:92%; border:1px solid rgba(232,218,191,.4); border-bottom:0; border-radius:50% 50% 0 0 / 30% 30% 0 0; }
.arch-back { transform:translate(2.2rem,-1.4rem); }
.portrait-frame { position:relative; width:min(390px,76%); aspect-ratio:1; margin:0; z-index:1; overflow:visible; border-radius:50%; background:#d2d5cc; box-shadow:17px 20px 0 rgba(200,158,87,.18); }
.portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; border:4px solid rgba(232,218,191,.84); border-radius:50%; }
.portrait-frame figcaption { position:absolute; left:50%; bottom:-3.1rem; width:max-content; min-width:190px; transform:translateX(-50%); padding:.7rem 1rem; background:var(--ink-deep); color:#fff; text-align:center; }
.portrait-kicker { display:block; color:#ead3aa; font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; }
.portrait-frame strong { font-family:var(--serif); font-weight:500; font-size:1.2rem; }
.portrait-note { position:absolute; bottom:1rem; left:-.5rem; z-index:2; display:flex; align-items:center; gap:.55rem; color:#ead3aa; font-family:var(--serif); font-size:.8rem; line-height:1.35; }
.portrait-note p { margin:0; }
.note-line { display:block; width:2.5rem; height:1px; background:currentColor; }
.hero-footer { position:absolute; left:max(1.5rem,calc((100vw - 1180px)/2)); right:max(1.5rem,calc((100vw - 1180px)/2)); bottom:2rem; display:flex; align-items:end; justify-content:space-between; color:rgba(255,255,255,.58); font-family:var(--serif); font-size:.82rem; line-height:1.45; }
.hero-footer p { margin:0; }.scroll-cue { display:grid; place-items:start center; width:1.2rem; height:2.3rem; padding-top:.3rem; border:1px solid rgba(255,255,255,.6); border-radius:3rem; }.scroll-cue span { width:2px; height:.55rem; background:#fff; border-radius:2px; animation:scroll 1.6s infinite; }@keyframes scroll {50%{transform:translateY(.65rem);opacity:.35}}
.problem { padding-top:8.5rem; padding-bottom:8rem; display:grid; grid-template-columns:1.1fr .9fr; gap:3rem 6rem; }
.section-intro h2,.course-heading h2,.practice-copy h2,.selection h2,.application h2 { font-size:clamp(2.35rem,4.1vw,4.25rem); margin-bottom:0; }
.problem h2 em { color:#9b7038; }.problem-copy { display:flex; align-items:end; }.problem-copy p { max-width:410px; margin:0; font-size:1.04rem; color:#516059; }
.problem-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.problem-card { min-height:220px; padding:1.65rem 2rem 1rem 0; border-right:1px solid var(--line); }.problem-card:not(:first-child){padding-left:2rem}.problem-card:last-child{border-right:0}.card-number{color:#a98046;font-family:var(--serif);font-size:1.1rem}.problem-card h3{font-family:var(--serif);font-weight:500;font-size:1.55rem;line-height:1.2;margin:2.6rem 0 .6rem}.problem-card p{color:var(--muted);font-size:.9rem;line-height:1.65;margin:0}
.course { position:relative; padding-top:8rem; padding-bottom:8rem; color:#fff; background:var(--ink-deep); display:grid; grid-template-columns:1.2fr .8fr; gap:3rem 6rem; }.course::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(200,158,87,.14),transparent 40%);pointer-events:none}.course-heading,.course-body,.topic-list{position:relative}.course-heading h2{max-width:710px}.course-body{padding-top:3rem}.course-body p{color:rgba(255,255,255,.66);font-size:.98rem;line-height:1.75}.button-outline{margin-top:1.6rem;border-color:rgba(255,255,255,.48);color:#fff}.button-outline:hover{background:#fff;color:var(--ink)}.topic-list{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18)}.topic{display:grid;grid-template-columns:85px 1fr auto;gap:1.5rem;align-items:center;padding:1.75rem .2rem;border-bottom:1px solid rgba(255,255,255,.18);transition:padding .25s ease,background .25s ease}.topic:hover{background:rgba(255,255,255,.045);padding-left:1rem;padding-right:1rem}.topic-index{color:#d7b171;font-family:var(--serif);font-size:1.1rem}.topic h3{margin:0 0 .25rem;font-family:var(--serif);font-weight:500;font-size:1.8rem}.topic p{margin:0;color:rgba(255,255,255,.58);font-size:.9rem}.topic-arrow{font-size:1.3rem;color:#d7b171}
.practice { padding-top:8rem; padding-bottom:8rem; display:grid; grid-template-columns:.85fr 1.15fr; gap:5rem 7rem; background:#e9e5db; }.practice-visual{position:relative;min-height:400px;display:grid;place-items:center}.practice-orbit{position:absolute;border:1px solid rgba(18,60,53,.25);border-radius:50%}.orbit-one{width:82%;height:82%;}.orbit-two{width:55%;height:55%;border-style:dashed;animation:rotate 20s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.practice-core{position:relative;display:grid;place-items:center;width:10rem;height:10rem;border-radius:50%;background:var(--ink);color:#fff;text-align:center;font-family:var(--serif);font-size:1.28rem;line-height:1.2;box-shadow:0 0 0 1.1rem rgba(200,158,87,.17)}.practice-copy p:not(.eyebrow){max-width:600px;margin:1.5rem 0 0;color:#53615a;font-size:1rem}.process-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.process-list li{padding:1.5rem 1rem 0 0;display:flex;flex-direction:column;gap:2rem;border-right:1px solid var(--line)}.process-list li:not(:first-child){padding-left:1.3rem}.process-list li:last-child{border-right:0}.process-list span{color:#a67a3e;font-family:var(--serif);font-size:1.1rem}.process-list strong{font-family:var(--serif);font-weight:500;font-size:1.2rem;line-height:1.25}
.selection{padding-top:8rem;padding-bottom:8rem;display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;background:var(--paper)}.selection-panel{padding:4.8rem 5rem;background:var(--ink);color:#fff}.selection-panel h2{max-width:650px}.selection-panel>p:not(.eyebrow){max-width:520px;margin:1.5rem 0 2rem;color:rgba(255,255,255,.7)}.button-gold{background:var(--gold);color:#fff}.selection-aside{display:flex;flex-direction:column;justify-content:space-between;padding:3rem;background:#d8c49f;color:var(--ink)}.selection-symbol{font-family:var(--serif);font-size:4rem;line-height:1}.selection-aside p{max-width:170px;margin:0;font-family:var(--serif);font-size:1.32rem;line-height:1.3}
.application{padding-top:8rem;padding-bottom:8rem;display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem 7rem}.application-intro{position:sticky;top:2rem;align-self:start}.application-intro>p:not(.eyebrow){color:#5b665f}.privacy-note{display:flex;gap:.55rem;margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--line);color:#6f756f;font-size:.78rem;line-height:1.5}.privacy-note span{color:#a87d40;font-size:1.2rem}.application-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;gap:1.25rem}.two-col{grid-template-columns:1fr 1fr}.field{margin:0;border:0;padding:0}.field label,.field legend{display:block;margin-bottom:.55rem;color:#314a43;font-size:.84rem;font-weight:700;line-height:1.4}.field b{color:#b37d34}.field input[type="text"],.field input[type="tel"],.field input[type="number"],.field textarea{width:100%;padding:.85rem .9rem;border:1px solid #c9cec8;border-radius:0;background:transparent;color:var(--ink);outline:none;transition:border .2s ease,box-shadow .2s ease}.field textarea{resize:vertical;min-height:7rem}.field input:focus,.field textarea:focus{border-color:#9d7741;box-shadow:0 0 0 3px rgba(157,119,65,.14)}.choices{display:flex;flex-wrap:wrap;gap:.55rem}.choices label{position:relative;margin:0}.choices input{position:absolute;opacity:0;pointer-events:none}.choices span{display:block;padding:.55rem .8rem;border:1px solid #c9cec8;border-radius:99px;color:#52625a;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease}.choices input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}.choices input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.form-status{min-height:1.2rem;margin-top:.1rem;font-size:.85rem;font-weight:600}.form-status.error{color:#9a3a30}.form-status.success{color:#2d6e4d}.submit-button{align-self:start;min-width:220px}.submit-button:disabled{cursor:wait;opacity:.74}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:2rem;padding-bottom:2rem;background:var(--ink-deep);color:rgba(255,255,255,.75);font-size:.78rem}.site-footer .brand{color:#fff}.site-footer p{margin:0}.back-to-top{border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:.15rem}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:800px){.hero{min-height:auto;grid-template-columns:1fr;padding-top:7rem;padding-bottom:6rem;gap:2rem}.hero-visual{height:430px;max-width:450px;width:100%;margin:auto}.portrait-frame{width:300px}.hero-footer{position:static;grid-column:1/-1;margin-top:1rem}.problem,.course,.practice,.selection,.application{grid-template-columns:1fr;gap:2.5rem}.problem-grid,.process-list{grid-template-columns:1fr 1fr}.problem-card:nth-child(2){border-right:0}.problem-card:nth-child(3){border-top:1px solid var(--line);padding-left:0;grid-column:1/-1}.course-body{padding-top:0}.selection-panel{padding:3rem}.selection-aside{min-height:180px}.application-intro{position:static}.two-col{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.topic{grid-template-columns:48px 1fr auto}.practice-visual{min-height:330px}}
@media (max-width:520px){.site-header{padding-top:1rem}.header-cta{font-size:.74rem}.brand{font-size:.76rem}.brand-mark{width:1.85rem;height:1.85rem}.section-shell{padding-left:1.2rem;padding-right:1.2rem}.hero{padding-top:6.6rem;padding-bottom:4.5rem}.hero h1{font-size:3.05rem}.hero-visual{height:375px}.portrait-frame{width:250px}.arch-back{transform:translate(1.4rem,-1rem)}.portrait-note{left:0;bottom:-.4rem}.hero-footer{display:none}.problem,.course,.practice,.selection,.application{padding-top:5rem;padding-bottom:5rem}.problem-grid,.process-list{grid-template-columns:1fr}.problem-card,.problem-card:not(:first-child){min-height:auto;padding:1.45rem 0;border-right:0;border-bottom:1px solid var(--line)}.problem-card h3{margin-top:1.5rem}.problem-card:last-child{border-bottom:0}.topic{gap:.75rem;padding:1.35rem 0}.topic h3{font-size:1.4rem}.topic p{font-size:.82rem}.practice{gap:2.5rem}.practice-visual{min-height:280px}.practice-core{width:8rem;height:8rem;font-size:1rem}.process-list li,.process-list li:not(:first-child){padding:1.2rem 0;border-right:0;border-bottom:1px solid var(--line);gap:.4rem}.selection-panel{padding:2.3rem 1.5rem}.selection-aside{padding:1.6rem}.application h2,.selection h2{font-size:2.5rem}.choices{gap:.4rem}.submit-button{width:100%}.site-footer{align-items:flex-start;flex-direction:column;padding-top:1.8rem;padding-bottom:1.8rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.orbit-two,.scroll-cue span{animation:none}.button{transition:none}}

/* Original kurs matni uchun sodda o‘qish oqimi */
.original-copy { padding-top:7.5rem; padding-bottom:7.5rem; background:var(--cream); }
.copy-stack { max-width:820px; margin:0 auto; }
.copy-stack p { margin:0; padding:1.8rem 0; border-top:1px solid var(--line); font-family:var(--serif); font-size:clamp(1.45rem,2.35vw,2.15rem); line-height:1.4; letter-spacing:-.025em; }
.copy-stack p:last-of-type { padding-bottom:2.4rem; border-bottom:1px solid var(--line); }
.button-dark { margin-top:2.2rem; color:#fff; background:var(--ink); }
.button-dark:hover { background:var(--ink-deep); }
.application { display:block; padding-top:8rem; padding-bottom:8rem; background:var(--paper); }
.application-form { max-width:800px; margin:0 auto; }
@media (max-width:520px) { .original-copy { padding-top:5rem; padding-bottom:5rem; } .copy-stack p { padding:1.35rem 0; font-size:1.45rem; } .application { padding-top:5rem; padding-bottom:5rem; } }
