:root{--ink:#172f57;--ink2:#244a7c;--paper:#f6f1e8;--paper2:#fffdf8;--text:#20252d;--muted:#6b6f74;--line:rgba(23,47,87,.18);--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:hidden}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.12;pointer-events:none;z-index:-1;animation:float 18s ease-in-out infinite alternate}.ambient-a{width:520px;height:520px;background:#5b83bd;right:-150px;top:8vh}.ambient-b{width:420px;height:420px;background:#fff;left:-100px;top:55vh;animation-delay:-8s}@keyframes float{to{transform:translate3d(-40px,70px,0) scale(1.12)}}.site-header{height:88px;display:flex;align-items:center;gap:34px;width:min(1280px,calc(100% - 48px));margin:auto;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);line-height:1.2;margin-right:auto}.brand strong{font-family:var(--serif);font-size:19px;font-weight:500}.brand span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-top:5px;color:var(--muted)}nav{display:flex;gap:28px}nav a,.text-link{color:var(--text);text-decoration:none;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;text-decoration:none;padding:14px 22px;border-radius:2px;font-size:14px;transition:.25s}.button:hover{background:var(--ink2);transform:translateY(-1px)}.button.small{padding:11px 17px}.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding-top:64px;padding-bottom:80px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:var(--ink2);margin:0 0 24px}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:400;color:var(--ink);letter-spacing:-.035em}.hero h1{font-size:clamp(58px,6.3vw,96px);line-height:.91;margin:0 0 35px}.hero h1 em{font-weight:400}.hero h1 span{font-size:.52em;font-style:italic;letter-spacing:-.02em}.lead{font-size:19px;max-width:650px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.hero-actions span{font-size:13px;color:var(--muted);line-height:1.6}.hero-photo{margin:0;position:relative;align-self:stretch;display:flex;align-items:center}.hero-photo img{width:100%;height:590px;object-fit:cover;object-position:center 35%;filter:saturate(.88)}.hero-photo:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--line);z-index:-1}.hero-photo figcaption{position:absolute;right:-20px;bottom:44px;background:var(--paper2);padding:18px 22px;font-family:var(--serif);font-style:italic;color:var(--ink);font-size:18px;line-height:1.35}.section{padding:130px 0;border-top:1px solid var(--line)}.section-title{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:70px}.section h2,.contact h2{font-size:clamp(38px,4.3vw,66px);line-height:1.04;margin:0}.quotes{margin-left:34%;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.quotes p{margin:0;padding:25px 30px 25px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:21px}.quotes p:nth-child(odd){border-right:1px solid var(--line);padding-right:30px}.quotes p:nth-child(even){padding-left:30px}.wide-note{font-family:var(--serif);font-size:29px;line-height:1.35;max-width:780px;margin:70px 0 0 34%;color:var(--ink)}.subjects{background:var(--paper2)}.subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.subject-grid article{padding-right:70px}.subject-grid article+article{padding-left:70px;padding-right:0;border-left:1px solid var(--line)}.subject-grid h2{font-size:45px}.subject-grid p:not(.eyebrow){max-width:520px}.manifest{position:relative;min-height:330px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.manifest p{font-family:var(--serif);font-size:clamp(31px,4vw,58px);color:var(--ink);text-align:center;position:relative;z-index:1;margin:0 30px}.manifest span{font-family:var(--sans);font-weight:200;opacity:.45;margin:0 .25em}.manifest-glow{position:absolute;width:60%;height:160px;border-radius:50%;background:rgba(79,121,177,.14);filter:blur(55px);animation:glow 12s ease-in-out infinite alternate}@keyframes glow{to{transform:translateX(20%) scale(1.2);opacity:.65}}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps article{padding:35px 35px 35px 0}.steps article+article{padding-left:35px;border-left:1px solid var(--line)}.steps h3,.principle h3,.education h3{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:28px;margin-top:0}.principle{margin:80px 0 0 34%;max-width:760px;border-left:3px solid var(--ink);padding-left:35px}.principle strong{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--ink)}.exam{background:var(--ink);color:#e8edf5;border:0}.exam-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px}.exam h2,.exam .eyebrow{color:white}.exam p{color:#d6dfeb}.cases .section-title{margin-bottom:45px}.case-list{margin-left:17%;border-top:1px solid var(--line)}.case-list article{display:grid;grid-template-columns:180px 1fr 1fr 1.15fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}.case-list span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2)}.case-list p{margin:0;font-size:15px}.case-list .result{font-family:var(--serif);font-size:18px;color:var(--ink)}.about{background:var(--paper2)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.about figure{margin:0;position:sticky;top:30px}.about figure img{width:100%;max-height:720px;object-fit:cover}.about-copy h2{font-size:64px}.about-lead{font-family:var(--serif);font-size:28px;color:var(--ink)}.education{margin-top:50px;padding-top:35px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:20px 30px 20px 0;font-family:var(--serif);font-size:19px;color:var(--ink);position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:4px;font-family:var(--sans);font-weight:200}details[open] summary:after{content:"−"}.details-body{padding:0 0 20px}.price-grid{display:grid;grid-template-columns:1.1fr .9fr;border:1px solid var(--line)}.price-grid article{padding:45px}.price-grid article+article{border-left:1px solid var(--line)}.price-grid article>p{margin:0;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--ink2)}.price-grid strong{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:50px;display:block;line-height:1.1;margin:18px 0 8px}.price-grid span{color:var(--muted);font-size:14px}.price-grid ul{margin:35px 0 0;padding:0;list-style:none}.price-grid li{padding:12px 0;border-top:1px solid var(--line)}.faq{background:var(--paper2)}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq .section-title{display:block;margin:0}.faq .section-title h2{font-size:48px}.accordion{border-top:1px solid var(--line)}.accordion p{margin-top:0;padding-right:40px}.contact{background:var(--ink);color:#e8edf5;padding:120px 0}.contact-inner{max-width:950px}.contact h2{color:white}.contact .eyebrow{color:#b8c9df}.contact>div>p:not(.eyebrow){max-width:760px;font-size:19px}.contact-actions{display:flex;align-items:center;gap:28px;margin:38px 0 22px}.button.light{background:white;color:var(--ink)}.contact .text-link{color:white;border-bottom:1px solid rgba(255,255,255,.4)}.contact small{color:#b8c9df}footer{background:#102541;color:#aab9cd;padding:24px 0;font-size:12px}footer .wrap{display:flex;justify-content:space-between}@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:55px}.hero-photo{order:-1;max-width:520px}.hero-photo img{height:500px}.section-title,.exam-inner,.about-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.quotes,.wide-note,.case-list,.principle{margin-left:0}.subject-grid{grid-template-columns:1fr}.subject-grid article{padding:0 0 60px}.subject-grid article+article{padding:60px 0 0;border-left:0;border-top:1px solid var(--line)}.steps{grid-template-columns:1fr}.steps article,.steps article+article{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}.case-list article{grid-template-columns:1fr 1fr}.case-list .result{grid-column:2}.about figure{position:static;max-width:520px}.price-grid{grid-template-columns:1fr}.price-grid article+article{border-left:0;border-top:1px solid var(--line)}}@media(max-width:600px){body{font-size:16px}.wrap,.site-header{width:min(100% - 32px,1180px)}.site-header{height:72px}.brand strong{font-size:17px}.brand span{font-size:9px}.site-header .button{font-size:0;padding:10px 12px}.site-header .button:after{content:"Написать";font-size:12px}.hero{min-height:auto;padding-top:35px;padding-bottom:70px}.hero h1{font-size:52px}.hero-photo img{height:430px}.hero-photo figcaption{right:-8px;bottom:18px;font-size:15px}.lead{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.section{padding:85px 0}.section-title{margin-bottom:45px}.section h2,.contact h2{font-size:40px}.quotes{grid-template-columns:1fr}.quotes p,.quotes p:nth-child(odd),.quotes p:nth-child(even){padding:20px 0;border-right:0}.wide-note{font-size:24px;margin-top:50px}.subject-grid h2{font-size:36px}.manifest{min-height:250px}.manifest p{font-size:30px}.manifest span{display:block;line-height:.8}.principle{padding-left:22px}.case-list article{grid-template-columns:1fr;gap:12px}.case-list .result{grid-column:auto}.about-grid{gap:50px}.about-copy h2{font-size:48px}.price-grid article{padding:30px 24px}.price-grid strong{font-size:40px}.faq .section-title h2{font-size:40px}.contact{padding:85px 0}.contact-actions{align-items:flex-start;flex-direction:column}footer .wrap{gap:20px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.ambient,.manifest-glow{animation:none}}

.hero-photo,.hero-portrait,.portrait-frame,.hero-visual img{border:0!important;outline:0!important;box-shadow:none}
.hero-quote,.portrait-quote{
 position:absolute;right:-22px;bottom:72px;width:min(300px,72%);
 padding:18px 22px 17px;background:rgba(255,253,248,.96);color:#17305a;
 font-family:Georgia,"Times New Roman",serif;font-style:italic;
 font-size:clamp(17px,1.35vw,21px);line-height:1.34;letter-spacing:-.01em;z-index:3
}
@media(max-width:760px){
 .hero-quote,.portrait-quote{right:12px;bottom:20px;width:min(285px,78%);
 padding:15px 18px;font-size:17px}
}

/* --- Tutor v2 hero, final pass --- */
.hero-photo:before{display:none!important}
.hero-actions{margin-top:34px}
.hero-photo figcaption{
  right:-34px!important;
  bottom:58px!important;
  width:310px;
  box-sizing:border-box;
  padding:20px 24px 19px!important;
  background:rgba(255,253,248,.97)!important;
  color:var(--ink)!important;
  font-family:var(--serif)!important;
  font-style:italic!important;
  font-size:20px!important;
  font-weight:400;
  line-height:1.32!important;
  letter-spacing:-.015em;
  box-shadow:0 12px 35px rgba(23,47,87,.08);
}
.qualification-list p{padding-bottom:14px;border-bottom:1px solid var(--line)}
.qualification-list p:last-child{border-bottom:0}
@media(max-width:900px){
  .hero-photo figcaption{right:-18px!important;bottom:36px!important}
}
@media(max-width:600px){
  .hero-photo figcaption{
    right:8px!important;bottom:18px!important;width:270px;
    padding:16px 18px!important;font-size:17px!important;
  }
}

/* ===== SECOND VISUAL LAYER ===== */
:root{--sans:Arial,"Helvetica Neue",sans-serif;--serif:Georgia,"Times New Roman",serif}
body{font-family:var(--sans)}
h1,h2,h3,.display,.manifest,.about-lead{font-family:var(--serif)}
em,.italic,.hero-title em{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.025em}
section{position:relative}
section:nth-of-type(3n+2)::after{content:"";position:absolute;right:3.5vw;top:13%;width:46px;height:1px;background:var(--ink);opacity:.16}
section:nth-of-type(3n+2)::before{content:"";position:absolute;right:3.5vw;top:calc(13% - 4px);width:9px;height:9px;border:1px solid var(--ink);border-radius:50%;opacity:.14}
.micro-viz{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:0 0 22px;color:var(--ink2);font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.micro-viz i{display:block;width:34px;height:1px;background:currentColor;opacity:.45}
.micro-viz b{font-family:var(--serif);font-size:18px;font-weight:400;opacity:.55}
.micro-proof{margin-top:8px}
.manifest{position:relative}
.manifest::before{content:"";position:absolute;left:50%;top:50%;width:min(780px,82vw);height:150px;transform:translate(-50%,-50%);border-top:1px solid rgba(23,47,87,.12);border-bottom:1px solid rgba(23,47,87,.08);pointer-events:none}
.about::after,#about::after{content:none}
.steps h3::after,.cases h3::after{content:"";display:inline-block;width:28px;height:1px;margin-left:12px;vertical-align:middle;background:var(--ink);opacity:.24}
@media(max-width:760px){section:nth-of-type(3n+2)::before,section:nth-of-type(3n+2)::after{display:none}.micro-viz{width:auto;flex-wrap:wrap}.manifest::before{height:120%}}

/* ===== SEPTEMBER EDITORIAL PASS ===== */
:root{--sans:"PT Sans",Arial,sans-serif;--serif:"PT Serif",Georgia,serif}
html{scroll-behavior:smooth}
body,p,li,h1,h2,h3,h4,span,strong,a,button,summary{word-break:normal;overflow-wrap:normal;hyphens:none}
h1,h2,h3,.manifest p,.about-lead,.hero-photo figcaption{font-family:var(--serif)}
.hero h1 em,.hero-photo figcaption{font-family:var(--serif);font-style:italic}

/* visible ambient light: restrained, slow, sectional */
body::before,body::after{content:"";position:fixed;z-index:-2;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.42}
body::before{width:46vw;height:46vw;left:-15vw;top:16vh;background:rgba(102,143,194,.16);animation:ambientDriftA 24s ease-in-out infinite alternate}
body::after{width:38vw;height:38vw;right:-12vw;top:54vh;background:rgba(196,170,126,.12);animation:ambientDriftB 29s ease-in-out infinite alternate}
@keyframes ambientDriftA{to{transform:translate(12vw,22vh) scale(1.12);opacity:.28}}
@keyframes ambientDriftB{to{transform:translate(-10vw,-18vh) scale(1.18);opacity:.34}}
.subjects::before,.cases::before,.format::before{content:"";position:absolute;pointer-events:none;width:420px;height:220px;border-radius:50%;filter:blur(75px);background:rgba(85,127,181,.09);opacity:.7}
.subjects::before{right:3%;top:12%}.cases::before{left:5%;bottom:5%}.format::before{right:8%;top:18%}

/* recognition: second editorial layer */
.recognition{display:grid;grid-template-columns:.72fr 1.28fr;column-gap:8vw;align-items:start}
.recognition .section-title{display:block;margin:0;position:sticky;top:110px}
.recognition-layer{position:relative;min-height:440px;padding:30px 0 20px}
.recognition-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 34px}
.situation-cloud{position:relative;min-height:340px}
.situation{position:absolute;margin:0;padding:12px 15px;border-left:1px solid rgba(23,47,87,.28);background:rgba(255,253,248,.58);font-family:var(--serif);font-size:18px;line-height:1.38;color:var(--ink);box-shadow:0 12px 35px rgba(23,47,87,.035)}
.s1{left:0;top:0;width:55%}.s2{right:0;top:52px;width:52%}.s3{left:9%;top:137px;width:57%}.s4{right:2%;top:216px;width:58%}.s5{left:0;top:286px;width:51%}
.recognition .wide-note{grid-column:2;margin:20px 0 0;max-width:690px}

/* interactive editorial proof */
.try-it{background:rgba(236,240,245,.58);overflow:hidden}
.try-it::before{content:"";position:absolute;width:520px;height:250px;right:-80px;top:20px;border-radius:50%;filter:blur(70px);background:rgba(91,133,185,.12)}
.try-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:center}
.try-copy h2{font-size:clamp(44px,5vw,72px);margin:8px 0 22px}.try-copy>p:not(.eyebrow){max-width:470px}.logic-line{display:flex;align-items:center;gap:11px;margin-top:34px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink2);font-weight:700}.logic-line b{font-family:var(--serif);font-size:19px;font-weight:400;opacity:.45}.mini-test{position:relative;background:rgba(255,253,248,.88);border:1px solid var(--line);padding:36px;box-shadow:0 24px 60px rgba(23,47,87,.055)}
.test-question{font-family:var(--serif);font-size:25px;line-height:1.35;color:var(--ink);margin:0 0 24px}.test-options{display:grid;gap:9px}.test-options button{text-align:left;border:1px solid var(--line);background:transparent;color:var(--text);padding:13px 15px;font:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.test-options button:hover,.test-options button:focus-visible{background:#f1f4f8;border-color:#9eafc3;outline:none}.test-options button.is-correct{background:#eef3f7;border-color:#7890ab}.test-options button.is-wrong{opacity:.62}.test-feedback{min-height:0;margin-top:0;transition:margin .2s}.test-feedback.show{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.test-feedback strong{font-family:var(--serif);font-size:20px;color:var(--ink)}.test-feedback p{margin:8px 0 0;font-size:15px}.test-feedback .formula{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink2);font-weight:700;margin-top:14px}

/* back to top */
.to-top{position:fixed;right:24px;bottom:24px;z-index:30;width:46px;height:46px;border:1px solid rgba(23,47,87,.24);background:rgba(255,253,248,.92);color:var(--ink);font-family:var(--serif);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgba(23,47,87,.10);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s ease;backdrop-filter:blur(8px)}
.to-top.visible{opacity:1;visibility:visible;transform:none}.to-top:hover{background:var(--ink);color:#fff}

@media(max-width:900px){.recognition{grid-template-columns:1fr}.recognition .section-title{position:static;margin-bottom:25px}.recognition .wide-note{grid-column:auto}.try-grid{grid-template-columns:1fr;gap:45px}}
@media(max-width:600px){.recognition-layer{min-height:auto;padding-top:10px}.situation-cloud{min-height:auto;display:grid;gap:10px}.situation{position:static!important;width:auto!important;padding:12px 0 12px 14px;background:transparent;box-shadow:none}.recognition .wide-note{margin-top:42px}.logic-line{flex-wrap:wrap}.mini-test{padding:24px 18px}.test-question{font-size:21px}.to-top{right:16px;bottom:16px;width:42px;height:42px}.subject-grid h2 br,.cases h2 br{display:none}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none}.test-options button,.to-top{transition:none}}

/* interactive test refinement */
.test-kicker{margin:0 0 12px;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.test-options button{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.test-options button span{font-family:var(--serif);font-weight:700;color:var(--ink)}
.test-options button.is-wrong{opacity:1;background:rgba(122,82,82,.045);border-color:rgba(122,82,82,.28)}
.test-options button.is-dimmed{opacity:.48}
.test-feedback.success{padding-left:18px;border-left:2px solid rgba(23,47,87,.38)}
.test-feedback .corrected-sentence{font-family:var(--serif);font-size:18px;color:var(--ink);margin-top:12px}
.test-reset{margin-top:14px;border:0;border-bottom:1px solid currentColor;background:transparent;padding:3px 0;color:var(--ink2);font:600 12px var(--sans);letter-spacing:.04em;cursor:pointer}
.test-reset:hover,.test-reset:focus-visible{color:var(--ink);outline:none;border-bottom-width:2px}
.test-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}.test-next{appearance:none;border:1px solid var(--ink,#17253b);background:var(--ink,#17253b);color:#fff;border-radius:999px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer}.test-next:hover{transform:translateY(-1px)}.test-next:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media (prefers-reduced-motion:reduce){.test-next:hover{transform:none}}

/* final editorial fixes */
.logic-line b{display:inline-flex;align-items:center;align-self:center;line-height:1;transform:translateY(-.04em)}
.test-feedback .formula{display:flex;align-items:center;gap:.5em;font-size:12px;line-height:1.45;letter-spacing:.105em;color:var(--ink);font-weight:700;margin-top:22px;padding-top:15px;border-top:1px solid rgba(23,47,87,.12)}

/* final editorial/layout pass before motion */
.format .section-title{align-items:end}
.format-note{margin:0;align-self:end;font-size:16px;color:var(--muted);max-width:420px}
.price-grid article>small{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.45}
@media(max-width:900px){.format-note{margin-top:-12px}}

section:nth-of-type(3n+2)::before,
section:nth-of-type(3n+2)::after{content:none!important;display:none!important}
.nowrap{white-space:nowrap}

/* ===== MOTION SYSTEM ===== */
/* The source header stays in normal document flow. Only this separate dock is fixed. */
.site-header{position:relative;top:auto;left:auto;z-index:10}
.site-header nav a{display:inline-block;transform-origin:center;transition:transform .2s ease,opacity .2s ease,color .2s ease}
.site-header nav a:hover,.site-header nav a:focus-visible{transform:translateY(-1px) scale(1.04);color:var(--ink)}
.site-header nav:has(a:hover) a:not(:hover){opacity:.62}

.floating-dock{
  position:fixed;left:50%;top:18px;z-index:120;
  display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 28px);
  padding:8px 10px;background:rgba(255,253,248,.94);border:1px solid rgba(23,47,87,.22);
  border-radius:999px;box-shadow:0 18px 55px rgba(23,47,87,.17);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-18px) scale(.96);
  transition:opacity .22s ease,transform .34s cubic-bezier(.2,.8,.2,1),visibility 0s linear .34s
}
.floating-dock.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1);transition-delay:0s}
.floating-dock nav{display:flex;align-items:center;gap:4px}
.floating-dock nav a,.dock-cta,.dock-brand{text-decoration:none;color:var(--ink);white-space:nowrap;border-radius:999px;transition:transform .18s ease,background .18s ease,color .18s ease}
.floating-dock nav a{padding:8px 12px;font-size:13px}
.dock-brand{display:grid;place-items:center;width:38px;height:38px;background:var(--ink);color:#fff;font:700 13px var(--sans);letter-spacing:.06em}
.dock-cta{padding:9px 14px;background:var(--ink);color:#fff;font-size:12px;font-weight:700}
.floating-dock nav a:hover,.floating-dock nav a:focus-visible{background:rgba(23,47,87,.08);transform:translateY(-1px);outline:none}
.dock-cta:hover,.dock-cta:focus-visible{transform:translateY(-1px);outline:none}

/* Scenes are hidden only after JS has installed the observer. */
.motion-enabled .recognition-layer .situation{opacity:0;filter:blur(4px);transition:transform .65s cubic-bezier(.18,.82,.2,1),opacity .4s ease,filter .45s ease}
.motion-enabled .recognition-layer .s1{transform:translate(-72px,-30px) rotate(-3deg) scale(.95)}
.motion-enabled .recognition-layer .s2{transform:translate(78px,-24px) rotate(3deg) scale(.95)}
.motion-enabled .recognition-layer .s3{transform:translate(-62px,18px) rotate(2deg) scale(.96)}
.motion-enabled .recognition-layer .s4{transform:translate(72px,28px) rotate(-3deg) scale(.95)}
.motion-enabled .recognition-layer .s5{transform:translate(-68px,36px) rotate(-2deg) scale(.95)}
.motion-enabled .recognition-layer.scene-active .situation{opacity:1;filter:none;transform:none}
.motion-enabled .recognition-layer.scene-active .s2{transition-delay:.05s}.motion-enabled .recognition-layer.scene-active .s3{transition-delay:.10s}.motion-enabled .recognition-layer.scene-active .s4{transition-delay:.15s}.motion-enabled .recognition-layer.scene-active .s5{transition-delay:.20s}

.motion-enabled .manifest .manifest-part,.motion-enabled .manifest .manifest-arrow{display:inline-block;opacity:0;transition:transform .62s cubic-bezier(.16,.88,.22,1),opacity .34s ease}
.motion-enabled .manifest .manifest-part:first-child{transform:translateX(-80px)}
.motion-enabled .manifest .manifest-part:nth-child(3){transform:translateY(38px)}
.motion-enabled .manifest .manifest-part:nth-child(5){transform:translateX(80px)}
.motion-enabled .manifest .manifest-arrow{transform:scaleX(0);transform-origin:left center;color:var(--ink2)}
.motion-enabled .manifest.scene-active .manifest-part{opacity:1;transform:none}
.motion-enabled .manifest.scene-active .manifest-arrow{opacity:.5;transform:scaleX(1)}
.motion-enabled .manifest.scene-active p>*:nth-child(2){transition-delay:.08s}.motion-enabled .manifest.scene-active p>*:nth-child(3){transition-delay:.15s}.motion-enabled .manifest.scene-active p>*:nth-child(4){transition-delay:.22s}.motion-enabled .manifest.scene-active p>*:nth-child(5){transition-delay:.29s}

.motion-enabled .steps article,.motion-enabled .principle{opacity:0;transform:translateY(34px);transition:opacity .42s ease,transform .66s cubic-bezier(.18,.82,.2,1)}
.motion-enabled .steps.scene-active article,.motion-enabled .principle.scene-active{opacity:1;transform:none}
.motion-enabled .steps.scene-active article:nth-child(2){transition-delay:.06s}.motion-enabled .steps.scene-active article:nth-child(3){transition-delay:.12s}
.motion-enabled .exam-inner>div{opacity:0;transition:opacity .42s ease,transform .68s cubic-bezier(.18,.82,.2,1)}
.motion-enabled .exam-inner>div:first-child{transform:translateX(-70px)}.motion-enabled .exam-inner>div:last-child{transform:translateX(70px)}
.motion-enabled .exam-inner.scene-active>div{opacity:1;transform:none}.motion-enabled .exam-inner.scene-active>div:last-child{transition-delay:.06s}
.motion-enabled .about-grid .about-copy{opacity:0;transform:translateX(52px);transition:opacity .42s ease .05s,transform .7s cubic-bezier(.18,.82,.2,1) .05s}
.motion-enabled .about-grid.scene-active .about-copy{opacity:1;transform:none}

@media(min-width:901px){
  .motion-enabled .price-grid{position:relative;overflow:visible;background:transparent;border-color:transparent;perspective:1200px}
  .motion-enabled .price-grid article{opacity:.72;background:var(--paper2);box-shadow:0 26px 68px rgba(23,47,87,.18);transform-origin:center;transition:transform .82s cubic-bezier(.14,.9,.2,1),opacity .36s ease,box-shadow .68s ease}
  .motion-enabled .price-grid article:first-child{transform:translateX(47%) rotate(-5deg) scale(.94);z-index:2}
  .motion-enabled .price-grid article:last-child{transform:translateX(-53%) rotate(5deg) scale(.94);z-index:1;border-left:1px solid var(--line)}
  .motion-enabled .price-grid.scene-active{border-color:var(--line)}
  .motion-enabled .price-grid.scene-active article{opacity:1;transform:none;box-shadow:none}
  .motion-enabled .price-grid.scene-active article:last-child{transition-delay:.07s}
}

@media(max-width:900px){
  .floating-dock{top:12px}.floating-dock nav{display:none}
  .motion-enabled .recognition-layer .situation{filter:none;transform:translateY(25px)}
  .motion-enabled .about-grid .about-copy{transform:translateY(30px)}
}
@media(max-width:600px){
  .floating-dock{width:calc(100% - 24px);justify-content:space-between;border-radius:18px}
  .manifest{min-height:210px;padding:28px 0}
  .manifest p{display:flex;flex-direction:column;align-items:center;gap:5px;margin:0 16px;font-size:28px;line-height:1.08}
  .manifest .manifest-part,.manifest .manifest-arrow{display:block;margin:0}
  .motion-enabled .manifest .manifest-part{transform:translateY(18px)}
  .motion-enabled .manifest .manifest-arrow{font-size:20px;line-height:1;transform:rotate(90deg) scaleX(0);transform-origin:center}
  .motion-enabled .manifest.scene-active .manifest-part{transform:none}
  .motion-enabled .manifest.scene-active .manifest-arrow{transform:rotate(90deg) scaleX(1)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ambient,.manifest-glow,body::before,body::after{animation:none}
  .site-header nav a,.floating-dock,.floating-dock *,.motion-enabled .recognition-layer .situation,.motion-enabled .manifest .manifest-part,.motion-enabled .manifest .manifest-arrow,.motion-enabled .steps article,.motion-enabled .principle,.motion-enabled .exam-inner>div,.motion-enabled .about-grid .about-copy,.motion-enabled .price-grid article,.mini-test,.test-options button,.to-top{transition:none!important}
  .motion-enabled .recognition-layer .situation,.motion-enabled .manifest .manifest-part,.motion-enabled .manifest .manifest-arrow,.motion-enabled .steps article,.motion-enabled .principle,.motion-enabled .exam-inner>div,.motion-enabled .about-grid .about-copy,.motion-enabled .price-grid article{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
}

/* ===== PALETTE EXPERIMENT ===== */
:root{
  --ink:#2A292B;
  --ink2:#5B3A78;
  --paper:#F4F0E8;
  --paper2:#F4F0E8;
  --text:#2A292B;
  --muted:#746E66;
  --line:rgba(42,41,43,.17);
  --iris:#7060A8;
}

/* Static atmospheric rhythm: five unequal touches after the clean hero. */
.ambient,body::before,body::after{display:none}
html{overflow-x:clip}
.subjects,.method,.try-it,.cases,.format{overflow:visible}
section.subjects::before,section.method::before,section.try-it::before,section.cases::before,section.format::before{
  content:""!important;
  display:block!important;
  position:absolute;
  pointer-events:none;
  border:0;
  border-radius:0;
  filter:none;
  opacity:1;
  animation:none;
  left:50%;
  right:auto;
  transform:translateX(-50%);
}
section.subjects::before{
  width:160vw;height:1500px;top:-390px;
  background:
    radial-gradient(ellipse 54% 54% at 14% 48%,rgba(91,58,120,.34) 0%,rgba(91,58,120,.20) 25%,rgba(91,58,120,.085) 48%,rgba(91,58,120,.024) 66%,rgba(91,58,120,0) 80%),
    radial-gradient(ellipse 42% 70% at 10% 53%,rgba(91,58,120,.11) 0%,rgba(91,58,120,0) 74%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 76%,transparent 100%);
}
section.method::before{
  width:178vw;height:1250px;top:-430px;
  background:
    linear-gradient(116deg,rgba(91,58,120,0) 13%,rgba(91,58,120,.023) 25%,rgba(91,58,120,.063) 37%,rgba(91,58,120,.033) 50%,rgba(91,58,120,0) 68%),
    radial-gradient(ellipse 66% 38% at 43% 9%,rgba(91,58,120,.080) 0%,rgba(91,58,120,.033) 43%,rgba(91,58,120,0) 76%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 67%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 24%,#000 67%,transparent 100%);
}
section.try-it::before{
  width:172vw;height:1320px;top:-330px;
  background:
    radial-gradient(ellipse 45% 52% at 91% 37%,rgba(91,58,120,.28) 0%,rgba(91,58,120,.15) 27%,rgba(91,58,120,.055) 52%,rgba(91,58,120,.014) 69%,rgba(91,58,120,0) 83%),
    radial-gradient(ellipse 31% 72% at 96% 48%,rgba(91,58,120,.09) 0%,rgba(91,58,120,0) 77%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 19%,#000 76%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 19%,#000 76%,transparent 100%);
}
section.cases::before{
  width:160vw;height:1580px;top:-410px;
  opacity:.83;
  background:
    radial-gradient(ellipse 55% 56% at 86% 48%,rgba(112,96,168,.27) 0%,rgba(112,96,168,.156) 27%,rgba(112,96,168,.063) 49%,rgba(112,96,168,.017) 67%,rgba(112,96,168,0) 81%),
    radial-gradient(ellipse 42% 72% at 91% 54%,rgba(91,58,120,.078) 0%,rgba(91,58,120,0) 75%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 78%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 78%,transparent 100%);
}
section.format::before{
  width:176vw;height:1420px;top:-330px;
  background:
    radial-gradient(ellipse 52% 58% at 7% 48%,rgba(91,58,120,.255) 0%,rgba(91,58,120,.145) 28%,rgba(91,58,120,.056) 51%,rgba(91,58,120,.014) 69%,rgba(91,58,120,0) 82%),
    radial-gradient(ellipse 38% 68% at 3% 55%,rgba(91,58,120,.075) 0%,rgba(91,58,120,0) 76%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 80%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 20%,#000 80%,transparent 100%);
}
section.cases::after{content:""!important;display:block!important;position:absolute;left:0;top:250px;bottom:70px;width:1px;height:auto;background:var(--line);opacity:.72}

.hero-quote,.portrait-quote{color:var(--ink)}
.manifest-glow{background:rgba(112,96,168,.10)}
.situation{border-left-color:rgba(91,58,120,.30);box-shadow:0 12px 35px rgba(42,41,43,.035)}
.try-it{background:var(--paper)}
.mini-test{box-shadow:0 24px 60px rgba(42,41,43,.055)}
.test-options button:hover,.test-options button:focus-visible{background:rgba(91,58,120,.07);border-color:rgba(91,58,120,.42)}
.test-options button.is-correct{background:rgba(91,58,120,.09);border-color:rgba(91,58,120,.55)}
.test-options button.is-wrong{background:rgba(42,41,43,.035);border-color:rgba(42,41,43,.24)}
.test-feedback.success{border-left-color:rgba(91,58,120,.48)}
.test-feedback .formula{border-top-color:rgba(42,41,43,.12)}
.to-top{border-color:rgba(42,41,43,.24);box-shadow:0 10px 30px rgba(42,41,43,.10)}
.floating-dock{border-color:rgba(42,41,43,.20);box-shadow:0 18px 55px rgba(42,41,43,.18)}
.floating-dock nav a:hover,.floating-dock nav a:focus-visible{background:rgba(91,58,120,.08)}
.exam{background:#2A292B;overflow:clip}.exam p{color:#E5E0D9}.exam h2,.exam .eyebrow{color:#F4F0E8}
.contact{background:#2A292B;color:#E5E0D9}.contact h2{color:#F4F0E8}.contact .eyebrow,.contact small{color:rgba(244,240,232,.72)}
footer{background:#222124;color:rgba(244,240,232,.68)}

@media(max-width:600px){
  .hero,.hero-copy,.hero-photo{min-width:0}.hero-photo{width:100%;max-width:100%}.hero-photo figcaption{max-width:calc(100% - 16px)}
  section.subjects::before{width:190vw;height:1120px;top:-150px;opacity:.78;background:radial-gradient(ellipse 56% 58% at 12% 50%,rgba(91,58,120,.32) 0%,rgba(91,58,120,.14) 38%,rgba(91,58,120,.034) 62%,rgba(91,58,120,0) 82%)}
  section.method::before{width:205vw;height:980px;top:-260px;opacity:.78;background:linear-gradient(128deg,rgba(91,58,120,0) 20%,rgba(91,58,120,.022) 36%,rgba(91,58,120,.04) 48%,rgba(91,58,120,.016) 61%,rgba(91,58,120,0) 76%)}
  section.try-it::before{width:198vw;height:1080px;top:-210px;opacity:.78;background:radial-gradient(ellipse 50% 55% at 87% 40%,rgba(91,58,120,.34) 0%,rgba(91,58,120,.13) 42%,rgba(91,58,120,.03) 65%,rgba(91,58,120,0) 84%)}
  section.cases::before{width:195vw;height:1180px;top:-110px;opacity:.56;background:radial-gradient(ellipse 54% 58% at 87% 50%,rgba(112,96,168,.28) 0%,rgba(112,96,168,.105) 40%,rgba(112,96,168,.025) 64%,rgba(112,96,168,0) 84%)}
  section.format::before{width:210vw;height:1080px;top:-120px;opacity:.65;background:radial-gradient(ellipse 52% 60% at 8% 50%,rgba(91,58,120,.26) 0%,rgba(91,58,120,.10) 42%,rgba(91,58,120,.023) 66%,rgba(91,58,120,0) 85%)}
  section.cases::after{display:none!important}
}

/* Compact reviews and cases */
.stories{margin-left:17%;border-top:1px solid var(--line)}
.stories-tabs{display:flex;gap:6px;padding:18px 0;border-bottom:1px solid var(--line)}
.stories-tabs button,.story-arrow,.story-toggle{appearance:none;font:inherit;color:var(--text);cursor:pointer}
.stories-tabs button{border:0;background:transparent;padding:8px 14px;border-radius:999px;font-size:14px}
.stories-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.stories-tabs button:focus-visible,.story-arrow:focus-visible,.story-toggle:focus-visible{outline:2px solid var(--iris);outline-offset:3px}
.stories-panel{min-height:340px;display:flex;flex-direction:column;justify-content:space-between;padding:38px 0 18px}
.stories-panel:focus{outline:none}
.story-card{max-width:880px}
.story-card h3{margin:0;font-family:var(--serif);font-size:32px;font-weight:400;color:var(--ink);line-height:1.15}
.story-meta{margin:8px 0 26px;color:var(--ink2);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.story-text{max-width:790px;font-family:var(--serif);font-size:21px;line-height:1.55;color:var(--ink)}
.story-card h3+.story-text{margin-top:26px}
.story-text p{margin:0 0 16px}
.story-text.is-expanded{max-height:330px;overflow-y:auto;padding-right:22px;scrollbar-gutter:stable}
.story-toggle{display:inline-block;border:0;border-bottom:1px solid currentColor;background:transparent;padding:0;margin-top:4px;color:var(--ink2);font-size:14px}
.story-card .case-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px;margin-top:22px}
.case-field{margin:0;font-size:16px}
.case-field strong{display:block;margin-bottom:10px;color:var(--ink2);font-size:13px;line-height:1.4;letter-spacing:.075em;text-transform:uppercase}
.case-field.is-result{font-family:var(--serif);font-size:20px;color:var(--ink)}
.stories-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:24px}
.stories-controls [data-story-position]{min-width:52px;text-align:center;font-size:13px;color:var(--muted)}
.story-arrow{width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:19px;line-height:1}
.story-arrow:hover{background:rgba(91,58,120,.07)}
.story-arrow:disabled{opacity:.35;cursor:default}
.footer-credit{color:inherit}

@media(max-width:900px){
  .stories{margin-left:0}
  .case-fields{grid-template-columns:1fr;gap:20px}
  .stories-panel{min-height:360px}
}
@media(max-width:600px){
  .stories-panel{min-height:400px;padding-top:28px}
  .story-card h3{font-size:28px}
  .story-card .case-fields{grid-template-columns:1fr;gap:24px;margin-top:18px}
  .story-text{font-size:18px;line-height:1.5}
  .story-text.is-expanded{max-height:360px;padding-right:12px}
  .stories-controls{justify-content:space-between}
}
