@charset "UTF-8";
:root{--bg:#fbf9f3;--paper:#fffefa;--ink:#203d38;--text:#2c403c;--muted:#68736f;--purple:#6752a0;--purple-soft:#ece8f9;--mint:#eaf2eb;--peach:#ffad91;--butter:#ffdc82;--border:#dcded5;--shadow:0 20px 60px rgba(32,61,56,.08);--max:1140px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,textarea:focus-visible{outline:3px solid #ed995e;outline-offset:3px}::selection{background:var(--butter);color:var(--ink)}.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.skip{position:absolute;top:-60px;left:16px;background:var(--ink);color:#fff;padding:8px 14px;z-index:100}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:40;background:rgba(251,249,243,.96);border-bottom:1px solid rgba(32,61,56,.09);backdrop-filter:blur(15px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px}.brand{display:flex;align-items:center;gap:13px;min-width:max-content}.brand-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--ink);color:var(--butter);font-size:29px;font-weight:800;letter-spacing:-.07em;transform:rotate(-5deg)}.brand-text{display:flex;flex-direction:column;line-height:1.18}.brand-name{font-size:18px;letter-spacing:-.04em;font-weight:800;color:var(--ink)}.brand-sub{font-size:11px;letter-spacing:.015em;color:var(--muted);margin-top:5px}.nav{display:flex;align-items:center;gap:26px}.nav a{font-size:13px;font-weight:650;color:#53645f;white-space:nowrap;transition:color .2s}.nav a:hover,.nav a[aria-current="page"]{color:var(--purple)}.head-action{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;border:1px solid var(--ink);padding:11px 18px;font-size:13px;font-weight:750;color:var(--ink);white-space:nowrap;transition:background .2s,color .2s}.head-action:hover{background:var(--ink);color:#fff}.menu-button{display:none;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:12px;width:45px;height:45px;padding:0}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:20px;height:2px;border-radius:4px;background:var(--ink);position:relative;transition:.2s}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0}.menu-lines:before{top:-6px}.menu-lines:after{top:6px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--purple);font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:2px;background:currentColor}.hero{padding:84px 0 94px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:55px}.hero h1{font-size:clamp(44px,5.7vw,77px);line-height:1.06;letter-spacing:-.065em;font-weight:820;color:var(--ink);margin:22px 0 25px;max-width:740px}.hero h1 em{font-style:normal;color:var(--purple)}.intro{font-size:18px;line-height:1.7;color:#566861;max-width:510px;margin:0 0 29px}.cta-row{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:14px 22px;border-radius:14px;font-size:14px;font-weight:770;line-height:1.3;border:1px solid transparent;transition:.18s}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:#355750;transform:translateY(-2px)}.button-light{background:transparent;color:var(--ink);border-color:#cdd4cc}.button-light:hover{background:#fff;transform:translateY(-2px)}.button-soft{background:var(--purple-soft);color:var(--purple)}.button-soft:hover{background:#ddd5f5}.arrow{font-size:18px;line-height:1}.hero-note{display:flex;align-items:center;gap:10px;margin-top:25px;color:#6e7873;font-size:13px}.hero-note .dot{width:9px;height:9px;background:#6db497;border-radius:50%}
.hero-art{height:510px;position:relative;isolation:isolate}.hero-art:before{position:absolute;content:"";background:#dfe9df;border-radius:46% 54% 53% 47%;inset:13px 8px 18px 16px;transform:rotate(-9deg);z-index:-2}.hero-art:after{position:absolute;content:"";background:#f7dd93;border-radius:50%;width:150px;height:150px;right:-26px;top:-28px;z-index:-3}.art-paper{position:absolute;left:13%;top:11%;right:7%;bottom:13%;background:var(--paper);border:1px solid rgba(32,61,56,.14);box-shadow:0 24px 80px rgba(32,61,56,.13);border-radius:25px;transform:rotate(-5deg);padding:24px 24px 22px}.paper-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:16px;font-size:12px;color:var(--muted)}.paper-header b{font-size:14px;color:var(--ink)}.window-dots{display:flex;gap:6px}.window-dots i{width:7px;height:7px;border-radius:50%;background:#c3c9bf}.window-dots i:first-child{background:#ffc38e}.lesson-cover{background:#e9f0e9;border-radius:17px;margin-top:20px;padding:24px;position:relative;min-height:150px;overflow:hidden}.lesson-cover:after{content:"✳";font-size:145px;line-height:1;position:absolute;right:4px;top:-14px;color:#d0e0d0;transform:rotate(14deg)}.lesson-cover strong{position:relative;z-index:1;font-size:25px;line-height:1.15;letter-spacing:-.04em;display:block;max-width:230px;color:var(--ink)}.lesson-cover small{position:relative;z-index:1;display:block;margin-bottom:10px;color:var(--purple);font-weight:760}.chip-set{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.mini-chip{padding:7px 10px;font-size:11px;font-weight:700;background:#f3f1e9;border-radius:9px}.art-list{display:flex;flex-direction:column;gap:9px;margin-top:20px}.art-list div{display:flex;align-items:center;gap:12px;padding:11px 12px;background:#fafaf7;border-radius:10px;font-size:12px;font-weight:750}.art-list i{font-style:normal;width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:var(--butter)}.floating-label{position:absolute;padding:13px 17px;border-radius:15px;background:var(--purple);color:white;box-shadow:0 14px 29px rgba(64,44,129,.18);font-size:13px;font-weight:750;transform:rotate(8deg);right:-8px;bottom:13%}.floating-round{position:absolute;background:var(--peach);height:84px;width:84px;display:grid;place-items:center;border-radius:50%;font-size:43px;color:#5a453b;left:0;top:12%;transform:rotate(-15deg)}
.section{padding:72px 0}.section-tint{background:#f1f3eb}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.section-head h2,.page-title{color:var(--ink);letter-spacing:-.055em;font-weight:800;line-height:1.15;margin:12px 0 8px}.section-head h2{font-size:clamp(30px,3.5vw,46px)}.section-head p{color:var(--muted);max-width:600px;margin:0}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--purple);font-weight:790;font-size:13px;white-space:nowrap}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.feature-card,.method-card,.grade-card,.info-card{background:var(--paper);border:1px solid #e4e5dc;border-radius:23px;padding:26px;box-shadow:0 6px 25px rgba(28,45,38,.025)}.feature-card{min-height:251px;display:flex;flex-direction:column}.feature-symbol{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;font-size:25px;font-weight:800;color:var(--ink);margin-bottom:24px}.symbol-mint{background:#d8ebd8}.symbol-peach{background:#ffe2d5}.symbol-violet{background:#e8defa}.feature-card h3,.method-card h3,.info-card h3{font-size:20px;color:var(--ink);letter-spacing:-.04em;line-height:1.25;margin:0 0 11px}.feature-card p,.method-card p,.info-card p{font-size:14px;line-height:1.68;color:var(--muted);margin:0 0 17px}.feature-card .text-link{margin-top:auto}.wide-panel{background:var(--ink);border-radius:29px;color:white;display:grid;grid-template-columns:1fr .92fr;gap:32px;overflow:hidden;min-height:320px}.wide-copy{padding:55px}.wide-copy .eyebrow{color:var(--butter)}.wide-copy h2{font-size:clamp(30px,3.5vw,45px);line-height:1.15;letter-spacing:-.055em;margin:15px 0}.wide-copy p{color:#d0ddd5;max-width:430px;font-size:15px;margin:0 0 23px}.wide-copy .button{background:var(--butter);color:var(--ink)}.wide-illustration{position:relative;display:flex;align-items:center;justify-content:center;background:#2b5147;min-height:320px}.route-lines{width:88%;height:auto;max-height:325px;transform:rotate(-6deg)}.route-lines .road{fill:none;stroke:#a6c5b6;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 8}.route-lines .point{fill:var(--butter);stroke:var(--ink);stroke-width:5}.route-lines .outline{fill:none;stroke:#53796b;stroke-width:1.5}.route-lines .decor{fill:#426b5a}.tag-float{position:absolute;top:20px;right:25px;background:white;color:var(--ink);padding:9px 13px;border-radius:9px;font-size:12px;font-weight:750;transform:rotate(6deg)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:29px}.step{border-top:1px solid #d6ddd4;padding-top:18px}.step b{font-size:12px;color:var(--purple)}.step h3{font-size:19px;color:var(--ink);margin:9px 0}.step p{color:var(--muted);font-size:14px;margin:0}.author-strip{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;align-items:center;background:#ebe7f4;border-radius:27px;padding:34px}.author-avatar{height:270px;border-radius:20px;background:#dcd5eb;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.author-avatar:before{content:"";height:270px;width:270px;border:3px solid rgba(103,82,160,.22);border-radius:50%;position:absolute;right:17%;top:24%}.author-avatar .monogram{color:#6c589f;font-size:110px;letter-spacing:-.1em;font-weight:800;position:relative}.author-copy h2{font-size:clamp(30px,3vw,42px);color:var(--ink);letter-spacing:-.055em;margin:12px 0}.author-copy p{max-width:520px;color:#5a5e6e;font-size:15px}.author-copy .text-link{margin-top:14px}
.page-hero{padding:73px 0 48px}.page-title{font-size:clamp(42px,5.1vw,63px);max-width:850px}.page-intro{font-size:18px;line-height:1.65;color:var(--muted);max-width:770px;margin:14px 0 0}.notice{background:#f3eee3;border:1px solid #e4dac3;padding:19px 22px;border-radius:16px;display:flex;gap:13px;align-items:start;color:#65593f;font-size:14px}.notice b{color:#51432f}.notice-icon{font-size:21px;line-height:1}.grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grade-card{padding:28px;display:flex;min-height:190px;flex-direction:column;transition:transform .2s,box-shadow .2s}.grade-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.grade-top{display:flex;justify-content:space-between;align-items:start}.grade-number{font-size:57px;line-height:1;color:var(--ink);letter-spacing:-.08em;font-weight:820}.grade-top span{font-size:12px;padding:6px 9px;background:#f0efeb;border-radius:8px;color:#68736f;font-weight:680}.grade-card p{font-size:13px;color:var(--muted);margin:20px 0 0}.grade-card .go{align-self:flex-end;margin-top:auto;font-size:22px;color:var(--purple)}.grade-card.current{background:#e9f0e8;border-color:#cfdecf}.topic-list{display:flex;flex-direction:column;gap:10px;margin-top:26px}.topic{background:#fffefb;border:1px solid var(--border);padding:18px 21px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topic b{color:var(--ink);font-size:15px}.topic small{font-size:12px;color:var(--muted)}.topic-state{border-radius:7px;background:#f4efe5;padding:6px 9px;font-size:11px;color:#786448;white-space:nowrap}.back-link{display:inline-flex;color:var(--purple);font-weight:750;font-size:13px;align-items:center;gap:8px}
.method-card{min-height:287px;display:flex;flex-direction:column}.method-tag{color:#7366a0;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:17px}.method-card h3{font-size:22px}.method-card .text-link{margin-top:auto}.method-card .meta{font-size:12px;color:#64716c;padding:8px 10px;border-radius:9px;background:#f2f4ed;align-self:flex-start;margin:0 0 14px}.sample-box{padding:29px;background:#e9eee7;border-radius:20px}.sample-box .sample-answer{font-size:22px;color:var(--ink);line-height:1.4;letter-spacing:-.03em;font-weight:730}.sample-box label{font-size:13px;font-weight:750;display:block;margin:18px 0 8px}.sample-box textarea{resize:vertical;min-height:108px;background:white;border:1px solid #c8d4c9;border-radius:12px;padding:15px;width:100%;outline:none;color:var(--ink)}.sample-box textarea:focus{border-color:var(--purple)}.sample-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.sample-reveal{background:#fffefa;border-left:4px solid var(--purple);padding:14px 18px;border-radius:8px;margin-top:19px;color:var(--ink)}.sample-reveal[hidden]{display:none}.small-copy{font-size:12px;color:var(--muted)}
.consult-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consult-card{background:#fffefa;border:1px solid var(--border);border-radius:24px;padding:34px}.consult-card .num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:var(--purple-soft);color:var(--purple);font-weight:850}.consult-card h2{font-size:25px;color:var(--ink);letter-spacing:-.045em}.consult-card p,.consult-card li{font-size:14px;line-height:1.7;color:var(--muted)}.consult-card ul{padding-left:20px}.faq details{background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:10px;padding:0 17px}.faq summary{padding:18px 0;cursor:pointer;font-weight:750;color:var(--ink)}.faq details p{font-size:14px;color:var(--muted);margin:0 0 18px}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:35px}.about-grid p{font-size:16px;line-height:1.8;color:#566760}.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fact{padding:24px;border-radius:17px;background:#edf0e8}.fact b{font-size:34px;color:var(--ink);letter-spacing:-.06em;display:block}.fact span{font-size:13px;color:var(--muted)}
.footer{background:var(--ink);color:#edf1e8;padding:48px 0 22px;margin-top:40px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.footer .brand-icon{background:var(--butter);color:var(--ink)}.footer .brand-name{color:white}.footer .brand-sub{color:#b1ccc0}.footer p{font-size:13px;max-width:300px;color:#b5c9bf}.footer h3{font-size:13px;color:white;margin:2px 0 17px}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-links a{font-size:13px;color:#c7d8cf}.footer-links a:hover{color:var(--butter)}.footer-bottom{border-top:1px solid #46625a;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#a8c1b4}.callout{border-radius:21px;background:var(--purple-soft);padding:35px;display:flex;justify-content:space-between;align-items:center;gap:20px}.callout h2{font-size:28px;line-height:1.2;letter-spacing:-.05em;margin:0 0 8px;color:var(--ink)}.callout p{margin:0;color:#666779;font-size:14px;max-width:580px}
@media(max-width:1100px){.nav{gap:13px}.nav a{font-size:12px}.head-action{padding:10px 12px}.hero-grid{gap:18px}.hero-art{height:460px}}@media(max-width:900px){.container{width:min(calc(100% - 34px),var(--max))}.menu-button{display:flex}.nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--bg);border-bottom:1px solid var(--border);padding:17px 23px 24px;box-shadow:0 25px 35px rgba(20,30,20,.1);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{font-size:16px;padding:12px 2px}.head-action{margin-left:auto}.hero{padding:55px 0 68px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:700px}.hero-art{max-width:630px;width:100%;height:460px;margin:10px auto 0}.wide-panel{grid-template-columns:1fr 1fr}.wide-copy{padding:38px}.cards-3{grid-template-columns:repeat(2,1fr)}.grade-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1.2fr 1fr 1fr}}@media(max-width:650px){.header-inner{min-height:73px}.brand-name{font-size:16px}.brand-sub{font-size:10px}.brand-icon{width:39px;height:39px}.nav{top:73px}.head-action{display:none}.hero h1{font-size:clamp(39px,10vw,54px)}.intro{font-size:16px}.hero-art{height:345px}.art-paper{padding:15px;left:9%;top:9%;right:6%;bottom:10%}.paper-header{padding-bottom:11px}.lesson-cover{padding:18px;min-height:100px;margin-top:12px}.lesson-cover strong{font-size:20px}.art-list{margin-top:11px}.art-list div{padding:7px}.art-list i{width:22px;height:22px}.chip-set{margin-top:8px}.mini-chip{font-size:10px;padding:5px}.floating-label{bottom:6%;right:0;font-size:11px}.floating-round{height:57px;width:57px;font-size:31px;top:8%}.section{padding:52px 0}.section-head{display:block}.section-head h2{font-size:33px}.section-head .text-link{margin-top:14px}.cards-3,.cards-2,.grade-grid,.steps,.consult-cols,.about-grid,.footer-inner{grid-template-columns:1fr}.feature-card{min-height:235px}.wide-panel{grid-template-columns:1fr}.wide-illustration{min-height:230px}.wide-copy{padding:30px}.author-strip{grid-template-columns:1fr;padding:22px;gap:12px}.author-avatar{height:160px}.author-avatar .monogram{font-size:80px}.page-hero{padding:51px 0 32px}.page-title{font-size:clamp(37px,10vw,53px)}.page-intro{font-size:16px}.topic{align-items:start}.callout{display:block;padding:26px}.callout .button{margin-top:18px}.footer{padding-top:41px}.footer-bottom{flex-direction:column}.about-facts{grid-template-columns:1fr 1fr}.sample-box{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* katerina.znaet v2 / Personal-identity photo and subject categories */
.hero{padding:65px 0 88px}
.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:64px}
.hero-copy{position:relative;z-index:2}
.hero h1{font-size:clamp(44px,5.2vw,76px)}
.hero-portrait{height:580px;position:relative;isolation:isolate;min-width:0}
.portrait-shape{position:absolute;inset:38px -8px 20px 15px;border-radius:42% 52% 34% 42%;background:#dfe9df;transform:rotate(-8deg);z-index:-1}
.hero-portrait:before{content:'';position:absolute;width:172px;height:172px;background:#f7df96;border-radius:50%;top:-20px;right:-32px;z-index:-2}
.hero-portrait:after{content:'';position:absolute;width:80px;height:80px;background:#ffa88d;border-radius:50%;left:-28px;bottom:50px;z-index:0}
.portrait-frame{position:absolute;inset:10px 24px 14px 34px;overflow:hidden;border-radius:220px 220px 28px 28px;background:#e7e0d4;border:7px solid #fffefa;box-shadow:0 28px 75px rgba(32,61,56,.18);transform:rotate(2deg)}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 26%;transform:scale(1.015)}
.portrait-badge{position:absolute;right:-25px;bottom:65px;z-index:2;padding:13px 18px;display:flex;gap:12px;align-items:center;background:var(--ink);color:#fff;border-radius:13px;transform:rotate(-5deg);box-shadow:0 14px 28px rgba(31,51,43,.19);font-size:12px;line-height:1.4;font-weight:750}
.portrait-badge-icon{font-size:31px;color:var(--butter)}
.portrait-sticker{position:absolute;left:-12px;top:47px;z-index:2;background:#fffefa;color:var(--purple);padding:10px 13px;border-radius:12px;font-size:13px;font-weight:800;box-shadow:0 12px 32px rgba(32,61,56,.08);transform:rotate(-7deg)}
.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.subject-card{display:flex;flex-direction:column;position:relative;min-height:500px;border-radius:28px;padding:32px 34px 29px;overflow:hidden;border:1px solid #d8ded4;transition:transform .2s,box-shadow .2s}
.subject-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.subject-history{background:#e2eee4;color:var(--ink)}
.subject-geography{background:#eee9fa;color:var(--ink)}
.subject-card-top{display:flex;justify-content:space-between;align-items:center}
.subject-number{font-size:12px;letter-spacing:.1em;font-weight:850;color:#66746b}
.subject-arrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fffefa;font-size:20px}
.subject-art{height:200px;flex-shrink:0;position:relative;margin:11px 0 2px}
.subject-art-history{border:2px solid rgba(58,99,75,.13);border-radius:45% 50% 34% 46%;background:linear-gradient(145deg,#d0e2d2,#ecf3e7)}
.subject-art-history svg{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);color:#527b65}
.map-dot{display:block;position:absolute;width:18px;height:18px;border:4px solid #eaf5e8;background:#6a9a72;border-radius:50%;z-index:1}
.map-dot.one{left:15%;bottom:24%}.map-dot.two{left:52%;top:39%}.map-dot.three{right:8%;top:18%}
.subject-art-geography{display:grid;place-items:center}
.globe{height:187px;width:187px;border-radius:50%;background:#c2b6e8;border:2px solid #8771b6;position:relative;box-shadow:inset -20px -14px 0 rgba(103,82,160,.12)}
.globe:before,.globe:after{content:'';position:absolute;inset:0;border:2px solid #8674ae;border-radius:50%}
.globe:before{transform:scaleX(.48)}.globe:after{transform:scaleX(.82)}
.globe i{position:absolute;left:0;right:0;border-top:2px solid #8674ae}.globe i:nth-child(1){top:27%}.globe i:nth-child(2){top:50%}.globe i:nth-child(3){top:73%}
.subject-meta{font-size:12px;font-weight:800;letter-spacing:.035em;color:#60726b}
.subject-geography .subject-meta{color:#756397}
.subject-card h2{font-size:clamp(38px,4vw,52px);letter-spacing:-.055em;margin:9px 0 4px;color:var(--ink)}
.subject-card p{font-size:15px;color:#587067;max-width:410px;margin:0 0 17px}
.subject-action{font-size:14px;font-weight:800;color:var(--purple);margin-top:auto}
.subject-notice{margin-top:28px}
.geo-empty{display:grid;grid-template-columns:240px 1fr;align-items:center;gap:45px;background:#eee9f9;border-radius:28px;padding:45px}
.geo-empty h2{font-size:clamp(27px,3vw,44px);line-height:1.15;letter-spacing:-.05em;color:var(--ink);margin:13px 0}
.geo-empty p{color:#68726f;margin:0 0 22px;max-width:540px}
.geo-orbit{display:grid;place-items:center;border:3px solid #8a75b5;background:#d8cbf1;color:#6752a0;width:210px;height:210px;border-radius:50%;font-size:200px;line-height:1}
.about-mini-label{display:none}
.about-portrait{grid-column:1/-1;border-radius:22px;overflow:hidden;height:280px;background:#e8e2d9}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 27%;display:block}
.about-facts{align-content:start}
@media(max-width:1100px){.hero-grid{gap:30px}.hero-portrait{height:520px}.portrait-badge{right:-7px}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-portrait{height:560px;max-width:490px;margin:34px auto 0;width:90%}.subject-grid{gap:15px}.subject-card{padding:25px;min-height:470px}}
@media(max-width:650px){.hero{padding:47px 0 62px}.hero h1{font-size:clamp(41px,10.3vw,56px)}.hero-portrait{height:430px;max-width:360px;margin:20px auto 0}.portrait-frame{inset:12px 20px 10px 25px;border-width:5px}.portrait-badge{font-size:10px;right:-10px;bottom:35px}.portrait-badge-icon{font-size:25px}.portrait-sticker{font-size:11px;left:-7px;top:35px}.hero-portrait:before{width:95px;height:95px;right:-15px}.hero-portrait:after{width:56px;height:56px;left:-8px}.subject-grid{grid-template-columns:1fr}.subject-card{min-height:460px}.subject-art{height:180px}.geo-empty{grid-template-columns:1fr;padding:26px;gap:15px}.geo-orbit{height:150px;width:150px;font-size:144px;margin:auto}.about-portrait{height:220px}}

/* v3: prevent about portrait from expanding the grid beyond the viewport */
.about-grid {grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);}
.about-grid > *, .about-facts, .about-facts > *, .about-portrait {min-width:0;max-width:100%;}
.about-facts {grid-template-columns:repeat(2,minmax(0,1fr));}
.about-portrait img {display:block;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center 26%;}
/* Defensive constraints for all responsive grids/images. */
.hero-grid > *, .subject-grid > *, .grade-grid > *, .cards-3 > *, .cards-2 > *, .wide-panel > * {min-width:0;}
img,svg {max-width:100%;}
@media(max-width:800px){
  .about-grid{grid-template-columns:minmax(0,1fr);gap:24px;}
  .about-portrait{height:310px;}
}
@media(max-width:650px){
  .about-portrait{height:245px;}
  .about-grid{gap:18px;}
}
