/* Production stylesheet generated from the approved website prototype. */
/* Order is preserved intentionally so the approved cascade renders exactly as reviewed. */

/* ===== SOURCE STYLE BLOCK 1 ===== */
:root{
  --bg:#EFE7D2;
  --paper:#F5EEDB;
  --ink:#293044;
  --olive:#4C4F3D;
  --rose:#C65D7B;
  --rose-deep:#A94D6A;
  --cream:#F3E8C8;
  --muted:#68695F;
  --line:rgba(41,48,68,.20);
  --white:#FFFDF7;
  --sans:"Onest",-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:74px;overflow-x:clip}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
a{color:inherit}
img,svg{display:block}
::selection{background:var(--rose);color:var(--cream)}
.wrap{width:min(100% - 40px,1180px);margin:auto}

h1,h2,h3{font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(3.4rem,9vw,8.2rem);line-height:.89;text-transform:uppercase}
h2{font-size:clamp(2.2rem,5.2vw,4.8rem);line-height:.98;text-transform:uppercase}
h3{font-size:1.2rem;line-height:1.25}
.em-serif{font-family:var(--serif);font-style:italic;text-transform:none;font-weight:400;letter-spacing:-.03em}
.lead{font-size:clamp(1.05rem,1.8vw,1.35rem);max-width:52ch;color:var(--muted)}
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);margin-bottom:20px;
}
.eyebrow::before{content:"";width:32px;height:2px;background:var(--rose)}
.ph{background:linear-gradient(transparent 58%,rgba(198,93,123,.28) 0);border:0}

.site-head{
  position:sticky;top:0;z-index:60;
  background:rgba(239,231,210,.9);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.head-in{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .sun-i{width:24px;height:24px;color:var(--rose)}
.brand b{font-size:1rem;font-weight:600}
.brand small{display:block;font-size:.68rem;color:var(--muted);letter-spacing:.05em}
.nav{display:flex;align-items:center;gap:22px}
.nav a:not(.btn){font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.nav-tg{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;position:relative}
.nav-tg span{position:absolute;left:9px;right:9px;height:2px;background:var(--ink);transition:.25s}
.nav-tg span:nth-child(1){top:15px}.nav-tg span:nth-child(2){top:22px}.nav-tg span:nth-child(3){top:29px}
.nav-cb{position:absolute;width:1px;height:1px;opacity:0}
.nav-cb:checked ~ .nav-tg span:nth-child(1){top:22px;transform:rotate(45deg)}
.nav-cb:checked ~ .nav-tg span:nth-child(2){opacity:0}
.nav-cb:checked ~ .nav-tg span:nth-child(3){top:22px;transform:rotate(-45deg)}
.sunline{position:absolute;left:0;right:0;bottom:-2px;height:2px;pointer-events:none}
.sunline-bar{position:absolute;inset:0;background:var(--rose);transform-origin:0 50%;transform:scaleX(0)}
.sunline-sun{position:absolute;top:50%;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;color:var(--rose);background:var(--bg);border-radius:50%}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:.85em 1.5em;
  border:1.5px solid var(--ink);text-decoration:none;
  border-radius:0;font-weight:600;font-size:.92rem;letter-spacing:.02em;
  transition:.22s ease;
}
.btn--fill{background:var(--ink);color:var(--cream)}
.btn--ghost{background:transparent}
.btn--light{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn--outline-light{color:var(--cream);border-color:rgba(243,232,200,.65)}
@media(hover:hover){
  .btn:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--rose)}
  .btn--light:hover{box-shadow:5px 5px 0 var(--rose)}
  .nav a:not(.btn):hover{color:var(--rose)}
}

.hero{
  position:relative;min-height:calc(100vh - 68px);
  background:var(--olive);color:var(--cream);overflow:hidden;
  padding:64px 0 58px;
}
.hero::before{
  content:"01 / START";position:absolute;right:24px;top:28px;
  font-size:.67rem;letter-spacing:.18em;color:rgba(243,232,200,.55)
}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:38px;align-items:end;min-height:calc(100vh - 190px)}
.hero .eyebrow{color:var(--cream)}
.hero h1{max-width:8ch;margin-bottom:36px}
.hero h1 .em-serif{color:var(--rose);display:block}
.hero .lead{color:rgba(243,232,200,.78);max-width:46ch;margin-bottom:30px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.hero-note{font-size:.85rem;letter-spacing:.05em;color:rgba(243,232,200,.66)}
.hero-media{
  position:relative;align-self:center;justify-self:end;width:min(100%,430px);
  transform:rotate(2deg);
}
.hero-media::before{
  content:"";position:absolute;inset:-24px 24px 24px -24px;
  background:var(--rose);z-index:0;
}
.hero-sun{
  position:absolute;right:-80px;bottom:-90px;width:280px;height:280px;
  color:var(--cream);opacity:.24;z-index:2;
  animation:spinSun 24s linear infinite;
}
@keyframes spinSun{to{transform:rotate(360deg)}}
.photo-ph{
  position:relative;z-index:1;width:100%;background:var(--paper);
  border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;
  min-height:420px;padding:24px;text-align:center;color:var(--muted);
}
.photo-ph--portrait{aspect-ratio:3/4}.photo-ph--wide{aspect-ratio:4/5}
.photo-ph .cam{width:30px;height:30px;margin-bottom:10px}
.photo-ph .t{font-size:.72rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.photo-ph .d{font-size:.8rem;margin-top:5px;max-width:24ch}

.marquee{
  overflow:hidden;
  background:var(--rose);
  color:var(--cream);
  border:0;
  contain:layout paint;
}
.m-track{
  display:flex;
  width:max-content;
  animation:none;
  transform:translate3d(0,0,0);
  will-change:transform;
  backface-visibility:hidden;
}
.m-group{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  padding:13px 0;
}
.m-group span{
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  white-space:nowrap;
}
.m-group .tiny-sun{
  margin:0 28px;
}

.section{position:relative;padding:100px 0}
.section::before{
  position:absolute;left:20px;top:24px;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(41,48,68,.45)
}
.section--tint{background:var(--paper)}
.section-head{max-width:800px;margin-bottom:58px}
.section-head p{margin-top:18px;color:var(--muted)}

#about::before{content:"02 / ABOUT"}
#work::before{content:"03 / FOCUS"}
#faq::before{content:"04 / FAQ"}
#formats::before{content:"05 / FORMAT"}
#education::before{content:"06 / TRAINING"}
#contact::before{content:"07 / CONTACT"}

.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.about-media{position:sticky;top:110px}
.about-media .photo-ph{box-shadow:18px 18px 0 var(--rose)}
.about-txt p{font-size:1.08rem;margin-bottom:20px;max-width:62ch}
.tg-card{
  background:var(--olive);color:var(--cream);
  padding:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:34px;
}
.tg-card>.sun-i{width:30px;height:30px;color:var(--rose)}
.tg-card .tt{flex:1;min-width:210px}
.tg-card b{display:block;font-size:1.05rem}
.tg-card small{display:block;color:rgba(243,232,200,.68);margin-top:3px}

.cond-grid{
  display:grid;grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);margin-bottom:54px;
}
.cond-card{
  position:relative;background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:34px 36px 34px 0;min-height:220px;
}
.cond-card:nth-child(odd){border-right:1px solid var(--line)}
.cond-card:nth-child(even){padding-left:36px}
.cond-card::before{
  counter-increment:condition;content:"0" counter(condition);
  display:block;font-family:var(--serif);font-style:italic;color:var(--rose);
  font-size:1rem;margin-bottom:22px;
}
.cond-grid{counter-reset:condition}
.cond-card h3{font-size:clamp(1.5rem,2.5vw,2.4rem);text-transform:uppercase;margin-bottom:20px}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.chips li{
  border-bottom:1px solid var(--line);padding:.25em 0;
  font-size:.88rem;color:var(--muted);margin-right:12px;
}
@media(hover:hover){
  .cond-card{transition:background .25s ease,padding .25s ease}
  .cond-card:hover{background:rgba(198,93,123,.08)}
}

.note-card{
  background:var(--rose);color:var(--cream);padding:46px;
  display:grid;grid-template-columns:auto 1fr;gap:24px;max-width:900px;
}
.note-card .sun-i{width:34px;height:34px}
.note-card .q{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2;margin-bottom:18px;
}
.note-card p{color:rgba(243,232,200,.86)}

.faq{max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;
  gap:24px;align-items:center;padding:25px 0;font-size:1.08rem;font-weight:600;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"↗";font-size:1.35rem;color:var(--rose);
  transition:transform .25s ease;
}
.faq details[open] summary::after{transform:rotate(90deg)}
.faq .a{padding:0 0 28px;color:var(--muted);max-width:68ch}
.faq .a p+p{margin-top:12px}
.faq .a ul{list-style:none;display:grid;gap:8px;margin:10px 0}
.faq .a li{padding-left:22px;position:relative}
.faq .a li::before{content:"—";position:absolute;left:0;color:var(--rose)}

.facts{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-block:1px solid var(--line);margin-bottom:46px
}
.fact{padding:26px;border-left:1px solid var(--line)}
.fact:first-child{border-left:0;padding-left:0}
.fact b{display:block;font-family:var(--serif);font-style:italic;font-size:3rem;color:var(--rose);line-height:1}
.fact span{font-size:.85rem;color:var(--muted)}
.formats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.format-card{
  background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:32px;min-height:330px;display:flex;flex-direction:column
}
.format-tag{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:26px}
.format-card h3{font-size:1.7rem;text-transform:uppercase;margin-bottom:10px}
.format-meta{font-size:.9rem;color:var(--muted)}
.frows{margin-top:auto;padding-top:30px}
.frow{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.frow b{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--ink)}
.formats-fine{margin-top:20px;color:var(--muted);font-size:.84rem}

.edu{list-style:none;max-width:900px}
.edu li{display:grid;grid-template-columns:120px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--line)}
.edu-year{font-family:var(--serif);font-style:italic;color:var(--rose);font-size:1.05rem}
.edu-title{font-size:1rem}
.edu-note{font-size:.85rem;color:var(--muted);margin-top:18px}

.section--dark{
  background:var(--olive);color:var(--cream);min-height:62vh;
  display:flex;align-items:center;overflow:hidden;
}
.section--dark::after{
  content:"";position:absolute;right:-130px;bottom:-150px;width:500px;height:500px;
  border:2px solid var(--rose);border-radius:50%;
  box-shadow:0 0 0 54px rgba(198,93,123,.12),0 0 0 108px rgba(198,93,123,.06);
}
.section--dark .hero-sun-sm{width:42px;height:42px;color:var(--rose);margin-bottom:30px}
.section--dark h2{max-width:8ch}
.contact-cta{display:flex;gap:14px;margin-top:34px}
.contact-fine{margin-top:24px;color:rgba(243,232,200,.62);font-size:.82rem}

.site-foot{background:#272B22;color:rgba(243,232,200,.62)}
.foot-in{padding:36px 0 calc(44px + env(safe-area-inset-bottom));font-size:.8rem}
.foot-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.foot-legal{border-top:1px solid rgba(243,232,200,.16);padding-top:20px;display:grid;gap:7px}

.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.hero-sun{animation:none}.js .rv{opacity:1;transform:none;transition:none}
}

@media(max-width:900px){
  .hero-grid,.about-grid{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-grid{min-height:auto}
  .hero-media{justify-self:start;width:min(86%,420px);margin-top:28px}
  .about-media{position:static;max-width:420px}
  .formats{grid-template-columns:1fr}
  .format-card{min-height:auto}
}
@media(max-width:820px){
  .nav{
    position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;
    background:var(--bg);padding:12px 20px 24px;border-bottom:1px solid var(--line)
  }
  .nav a:not(.btn){padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
  .nav-cb:checked ~ .nav{display:flex}.nav-tg{display:block}
}
@media(max-width:640px){
  body{font-size:16px}
  .wrap{width:min(100% - 32px,1180px)}
  .hero{padding:52px 0 50px}
  .hero h1{font-size:clamp(3.3rem,17vw,5.5rem)}
  .hero-media{width:86%;margin-left:14px}
  .hero-media::before{inset:-14px 14px 14px -14px}
  .hero-sun{width:190px;height:190px;right:-70px;bottom:-70px}
  .section{padding:78px 0}
  .section::before{left:16px;top:18px}
  .cond-grid{grid-template-columns:1fr}
  .cond-card,.cond-card:nth-child(even){padding:28px 0;border-right:0}
  .note-card{grid-template-columns:1fr;padding:30px}
  .facts{grid-template-columns:1fr}
  .fact{border-left:0;border-top:1px solid var(--line);padding:18px 0}
  .fact:first-child{border-top:0}
  .edu li{grid-template-columns:1fr;gap:5px}
  .section--dark h2{max-width:10ch}
  .hero-cta,.contact-cta{flex-direction:column;align-items:stretch}
}

/* ── DIGITAL EDITORIAL LAYER ───────────────────────────── */
body{cursor:default}
.ak-mark{
  width:42px;height:42px;position:relative;display:grid;place-items:center;
  flex:0 0 42px;font-family:var(--serif);font-style:italic;font-weight:700;
  font-size:.88rem;letter-spacing:-.08em;color:var(--ink);
}
.ak-mark::before,.ak-mark::after{
  content:"";position:absolute;border:1.5px solid var(--rose);border-radius:50%;
}
.ak-mark::before{inset:3px;animation:markPulse 4.8s ease-in-out infinite}
.ak-mark::after{inset:10px;border-color:var(--ink);opacity:.48}
.ak-mark i{
  position:absolute;width:7px;height:7px;background:var(--rose);border-radius:50%;
  top:1px;left:50%;margin-left:-3.5px;transform-origin:3.5px 20px;
  animation:markOrbit 6s linear infinite;
}
@keyframes markOrbit{to{transform:rotate(360deg)}}
@keyframes markPulse{50%{transform:scale(1.08);opacity:.62}}

.editorial-photo{position:relative;overflow:hidden;background:var(--paper)}
.editorial-photo img{width:100%;height:100%;display:block;object-fit:cover}
.hero-photo{aspect-ratio:3/4;z-index:1}
.hero-photo img{object-position:50% 55%;transform:scale(1.035);animation:photoSettle 1.3s cubic-bezier(.2,.7,.2,1) both}
.about-photo{aspect-ratio:4/5}
.about-photo img{object-position:50% 54%}
@keyframes photoSettle{from{transform:scale(1.11);filter:saturate(.7)}to{transform:scale(1.035);filter:saturate(1)}}

.hero h1{position:relative;z-index:3}
.hero h1 span{display:block;opacity:0;transform:translateY(35px);animation:titleUp .85s cubic-bezier(.2,.75,.2,1) forwards}
.hero h1 span:nth-child(2){animation-delay:.12s}
@keyframes titleUp{to{opacity:1;transform:none}}
.hero-copy::after{
  content:"SCROLL TO EXPLORE ↓";display:block;margin-top:38px;
  font-size:.62rem;letter-spacing:.18em;color:rgba(243,232,200,.48);
  animation:scrollBlink 2.2s ease-in-out infinite;
}
@keyframes scrollBlink{50%{opacity:.35;transform:translateY(4px)}}

.section-head h2,.about-txt h2{position:relative}
.section-head h2::after{
  content:"";display:block;width:0;height:5px;background:var(--rose);margin-top:18px;
  transition:width .9s cubic-bezier(.2,.75,.2,1);
}
.section-head.in h2::after{width:min(180px,28vw)}

.cond-card h3{transition:transform .28s ease,color .28s ease}
.cond-card::after{
  content:"↗";position:absolute;right:28px;top:30px;font-size:1.35rem;color:var(--rose);
  opacity:0;transform:translate(-8px,8px);transition:.25s ease;
}
@media(hover:hover){
  .cond-card:hover h3{transform:translateX(8px);color:var(--rose-deep)}
  .cond-card:hover::after{opacity:1;transform:none}
}

.visual-break{
  position:relative;height:min(92vh,880px);min-height:640px;overflow:hidden;
  background:var(--rose);color:var(--cream);isolation:isolate;
}
.visual-break__photo{
  position:absolute;z-index:2;left:50%;top:50%;width:min(34vw,420px);height:76%;
  transform:translate(-50%,-50%) rotate(1.5deg);overflow:hidden;
  box-shadow:24px 24px 0 var(--olive);
}
.visual-break__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.visual-break__type{
  position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;
  font-weight:700;font-size:clamp(4rem,10.7vw,10rem);line-height:.76;letter-spacing:-.065em;
  color:var(--cream);white-space:nowrap;transform:translateX(-3vw);
}
.visual-break__type span:nth-child(2){transform:translateX(13vw);color:var(--olive)}
.visual-break__type span:nth-child(3){transform:translateX(-8vw)}
.visual-break__orbit{
  position:absolute;z-index:3;right:5vw;top:8%;width:150px;height:150px;border:1px solid var(--cream);
  border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;
  font-size:2rem;animation:orbitFloat 7s ease-in-out infinite;
}
.visual-break__orbit::before{
  content:"";position:absolute;width:12px;height:12px;background:var(--cream);border-radius:50%;
  top:-6px;left:50%;transform-origin:6px 81px;animation:markOrbit 7s linear infinite;
}
@keyframes orbitFloat{50%{transform:translateY(18px) rotate(8deg)}}
.visual-break__caption{
  position:absolute;z-index:4;left:28px;bottom:24px;font-size:.62rem;letter-spacing:.16em;
}

.section:nth-of-type(even) .section-head{margin-left:auto}
.section:nth-of-type(even) .section-head h2{text-align:right}
.section:nth-of-type(even) .section-head .eyebrow{justify-content:flex-end}
.section:nth-of-type(even) .section-head h2::after{margin-left:auto}

.faq summary{position:relative;overflow:hidden}
.faq summary::before{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:100%;
  background:rgba(198,93,123,.08);transform:translateX(-102%);transition:transform .35s ease;z-index:-1;
}
.faq details[open] summary::before{transform:none}

@media(max-width:640px){
  .brand small{display:none}
  .brand b{font-size:.9rem}
  .ak-mark{width:38px;height:38px;flex-basis:38px}
  .visual-break{height:76vh;min-height:590px}
  .visual-break__photo{width:62vw;height:66%;box-shadow:14px 14px 0 var(--olive)}
  .visual-break__type{font-size:17vw;line-height:.82}
  .visual-break__type span:nth-child(2){transform:translateX(8vw)}
  .visual-break__orbit{width:92px;height:92px;right:5vw;top:7%;font-size:1.35rem}
  .visual-break__orbit::before{transform-origin:6px 52px}
  .visual-break__caption{left:16px;right:16px;font-size:.55rem}
  .section:nth-of-type(even) .section-head{margin-left:0}
  .section:nth-of-type(even) .section-head h2{text-align:left}
  .section:nth-of-type(even) .section-head .eyebrow{justify-content:flex-start}
  .section:nth-of-type(even) .section-head h2::after{margin-left:0}
}


/* DIGITAL EDITORIAL V2 */
.loader-v2{display:none!important}
.loader-v2.gone{opacity:0;visibility:hidden}.loader-v2 p{margin-top:20px;font-size:.7rem;letter-spacing:.22em}.loader-v2 small{font-size:.52rem;letter-spacing:.16em;color:var(--muted)}
.loader-orbit-v2,.hero-orbit-v2,.contact-orbit-v2{border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;position:relative;font-family:var(--serif);font-style:italic}
.loader-orbit-v2{width:94px;height:94px;color:var(--ink);font-size:1.5rem}.loader-orbit-v2 i,.hero-orbit-v2 i,.contact-orbit-v2 i,.focus-orbit-v2 i,.ak-mark-v2 i,.mini-orbit-v2 i{position:absolute;width:9px;height:9px;background:var(--rose);border-radius:50%;top:-4.5px;left:50%;margin-left:-4.5px;animation:orbitSpin 6s linear infinite}
.loader-orbit-v2 i{transform-origin:4.5px 51.5px}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes loaderFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}

.hero-v2{position:relative;min-height:calc(100svh - 68px);padding:0;color:var(--cream);overflow:hidden;isolation:isolate;background:#41463a}
.hero-v2::before,.hero-v2::after{content:none}.hero-v2-bg{position:absolute;inset:0;z-index:-3}.hero-v2-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;transform:scale(1.015)}
.hero-v2-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(25,28,23,.75),rgba(25,28,23,.25) 52%,rgba(25,28,23,.04) 78%),linear-gradient(0deg,rgba(25,28,23,.62),transparent 48%)}
.hero-v2-in{min-height:calc(100svh - 68px);position:relative;padding-top:32px;padding-bottom:38px}.hero-kicker{font-size:.63rem;letter-spacing:.17em;text-transform:uppercase;color:rgba(243,232,200,.72)}
.hero-v2 h1{position:absolute;left:0;top:16%;font-size:clamp(4rem,9.6vw,9rem);line-height:.82;max-width:9.5ch;margin:0;z-index:3}
.hero-v2 h1 span{display:block;opacity:0;transform:translateY(34px);animation:v2Title .8s cubic-bezier(.2,.75,.2,1) forwards}.hero-v2 h1 span:nth-child(2){animation-delay:.12s}.hero-v2 h1 span:nth-child(3){animation-delay:.24s}.hero-v2 h1 .em-serif{color:var(--rose);padding-left:.4em}
@keyframes v2Title{to{opacity:1;transform:none}}.hero-v2-bottom{position:absolute;left:0;bottom:38px;z-index:4}.hero-v2-bottom .lead{color:rgba(243,232,200,.86);margin-bottom:20px}.hero-orbit-v2{position:absolute;right:8vw;top:9%;width:160px;height:160px;color:rgba(243,232,200,.55);font-size:1.7rem}.hero-orbit-v2 i{transform-origin:4.5px 84.5px}
.hero-scroll-v2{position:absolute;right:20px;bottom:30px;writing-mode:vertical-rl;font-size:.55rem;letter-spacing:.2em;color:rgba(243,232,200,.55)}
.chaos-words{position:absolute;inset:0;z-index:1;pointer-events:none}.chaos-words span{position:absolute;left:var(--x);top:var(--y);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(243,232,200,.36);animation:wordFloat 6s ease-in-out var(--d) infinite alternate}@keyframes wordFloat{to{transform:translate(8px,-10px)}}
.ak-mark-v2{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;position:relative;font-family:var(--serif);font-style:italic}.ak-mark-v2 i{transform-origin:4.5px 25.5px}
.mini-orbit-v2{width:22px;height:22px;border:1px solid var(--rose);border-radius:50%;position:relative;display:inline-block;flex:0 0 22px}.mini-orbit-v2 i{width:5px;height:5px;top:-2.5px;margin-left:-2.5px;transform-origin:2.5px 13.5px}

.focus-v2{display:grid;grid-template-columns:1.1fr .9fr;border-top:1px solid var(--line);min-height:620px;margin-bottom:56px}.focus-list-v2{border-right:1px solid var(--line)}.focus-item-v2{width:100%;display:grid;grid-template-columns:50px 1fr;align-items:center;gap:14px;padding:19px 20px 19px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;font-size:clamp(1.35rem,2.7vw,2.6rem);font-weight:600;letter-spacing:-.045em;text-transform:uppercase;transition:.25s}.focus-item-v2 small{font-family:var(--serif);font-style:italic;color:var(--rose);font-size:.85rem}.focus-item-v2.is-active{color:var(--rose-deep);padding-left:14px;background:rgba(198,93,123,.08)}
.focus-stage-v2{position:sticky;top:68px;height:calc(100vh - 68px);min-height:620px;display:grid;place-items:center;padding:48px;overflow:hidden}.focus-panel-v2{display:none;max-width:420px;position:relative;z-index:2}.focus-panel-v2.is-active{display:block;animation:panelIn .4s ease}.focus-panel-v2>small{font-size:.6rem;letter-spacing:.17em;color:var(--rose)}.focus-panel-v2 h3{font-size:clamp(2.3rem,4vw,4.6rem);line-height:.9;text-transform:uppercase;margin:18px 0}.focus-panel-v2 p{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--muted)}@keyframes panelIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.focus-orbit-v2{position:absolute;width:330px;height:330px;border:1px solid rgba(198,93,123,.28);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:2.3rem;color:rgba(198,93,123,.18)}.focus-orbit-v2::before{content:"";position:absolute;inset:38px;border:1px solid rgba(41,48,68,.12);border-radius:50%}.focus-orbit-v2 i{width:11px;height:11px;top:-5.5px;margin-left:-5.5px;transform-origin:5.5px 170.5px;animation-duration:11s}

.format-card{position:relative;overflow:hidden;padding-top:190px}.format-photo-v2{position:absolute;inset:0 0 auto;height:160px;overflow:hidden}.format-photo-v2 img{width:100%;height:100%;object-fit:cover;object-position:50% 47%;filter:saturate(.82);transition:.5s}@media(hover:hover){.format-card:hover .format-photo-v2 img{transform:scale(1.05);filter:saturate(1)}}

.education-v2{overflow:hidden}.edu-ticker-v2{margin:0 calc(50% - 50vw) 38px;border-block:1px solid var(--line);padding:10px 0;overflow:hidden;color:var(--rose);font-size:.62rem;letter-spacing:.2em;white-space:nowrap}.edu-ticker-v2 span{display:block;width:max-content;animation:eduMove 23s linear infinite}@keyframes eduMove{to{transform:translateX(-35%)}}
.edu-grid-v2{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:start}.edu-card-v2{position:relative;min-height:280px;padding:26px;background:var(--paper);border:1px solid var(--line);transition:.3s}.edu-card-v2:nth-child(4n+1){grid-column:span 5}.edu-card-v2:nth-child(4n+2){grid-column:span 7;margin-top:42px}.edu-card-v2:nth-child(4n+3){grid-column:span 7}.edu-card-v2:nth-child(4n+4){grid-column:span 5;margin-top:42px}.edu-card-v2 header{display:flex;justify-content:space-between;gap:16px}.edu-card-v2 header strong{font-family:var(--serif);font-style:italic;font-size:2.4rem;color:var(--rose)}.edu-card-v2 header small{font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right}.edu-card-v2 p{margin-top:50px;font-size:1.03rem;max-width:38ch}.edu-card-v2>b{position:absolute;right:16px;bottom:8px;font-size:4rem;color:rgba(41,48,68,.055)}@media(hover:hover){.edu-card-v2:hover{transform:translateY(-8px) rotate(-.6deg);background:var(--olive);color:var(--cream)}}
.contact-orbit-v2{width:88px;height:88px;color:var(--cream);margin-bottom:28px}.contact-orbit-v2 i{transform-origin:4.5px 48.5px}
.cursor-v2{position:fixed;z-index:9998;pointer-events:none;width:34px;height:34px;border:1px solid var(--rose);border-radius:50%;left:0;top:0;transform:translate(-50%,-50%);opacity:0;transition:width .2s,height .2s,opacity .2s;mix-blend-mode:difference}.cursor-v2.show{opacity:1}.cursor-v2.link{width:58px;height:58px}.cursor-v2 i{position:absolute;inset:7px;border:1px solid rgba(255,255,255,.5);border-radius:50%}

@media(max-width:900px){.focus-v2{grid-template-columns:1fr}.focus-list-v2{border-right:0}.focus-stage-v2{position:relative;top:auto;height:auto;min-height:400px}.edu-card-v2:nth-child(n){grid-column:span 6;margin-top:0}}
@media(max-width:640px){.hero-v2-bg img{object-position:52% 54%}.hero-v2-shade{background:linear-gradient(0deg,rgba(25,28,23,.88),rgba(25,28,23,.18) 62%,rgba(25,28,23,.05))}.hero-v2-in{padding-top:22px;padding-bottom:24px}.hero-v2 h1{top:11%;font-size:clamp(3.5rem,16vw,5.7rem)}.hero-v2 h1 .em-serif{padding-left:.12em}.hero-v2-bottom{bottom:24px;left:0;right:0}.hero-v2-bottom .lead{font-size:.95rem;max-width:31ch}.hero-orbit-v2{width:90px;height:90px;right:5vw;top:45%;font-size:1.15rem}.hero-orbit-v2 i{transform-origin:4.5px 49.5px}.chaos-words span{font-size:.48rem}.focus-item-v2{font-size:1.5rem;grid-template-columns:40px 1fr}.focus-stage-v2{min-height:380px;padding:38px 18px}.focus-orbit-v2{width:245px;height:245px}.focus-orbit-v2 i{transform-origin:5.5px 128px}.focus-panel-v2 h3{font-size:2.6rem}.edu-grid-v2{grid-template-columns:1fr}.edu-card-v2:nth-child(n){grid-column:auto;min-height:235px}.cursor-v2{display:none}}


/* ── SUN IDENTITY / STABLE VERSION ───────────────────── */
.sun-brand{
  --sun-size:42px;
  width:var(--sun-size);height:var(--sun-size);
  position:relative;display:grid;place-items:center;flex:0 0 var(--sun-size);
  color:var(--rose);
}
.sun-brand svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sun-brand svg *{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.sun-brand b{
  position:relative;z-index:1;font-family:var(--serif);font-size:calc(var(--sun-size)*.20);
  font-style:italic;letter-spacing:-.08em;color:var(--ink);
}
.sun-brand .sun-rays{transform-origin:50px 50px;animation:sunSlowRotate 28s linear infinite}
@keyframes sunSlowRotate{to{transform:rotate(360deg)}}

.hero-sun-mark{
  position:absolute;z-index:2;right:7vw;top:8%;
  opacity:.72;
}
.hero-sun-mark--large .sun-brand{--sun-size:170px;color:var(--cream)}
.hero-sun-mark--large .sun-brand b{color:var(--cream);font-size:28px}
.contact-sun-mark .sun-brand{--sun-size:92px;color:var(--rose)}
.contact-sun-mark .sun-brand b{color:var(--cream);font-size:15px}
.contact-sun-mark{margin-bottom:28px}
.tiny-sun{color:var(--rose);font-size:1.05rem;display:inline-grid;place-items:center;flex:0 0 22px}

.focus-sun-bg{
  position:absolute;opacity:.12;pointer-events:none;
}
.focus-sun-bg .sun-brand{--sun-size:360px;color:var(--rose)}
.focus-sun-bg .sun-brand b{color:var(--rose);font-size:54px}

.education-v3{overflow:hidden}
.education-layout{
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:18px;border-top:1px solid var(--line);
}
.education-column{padding-top:22px}
.education-column:first-child{padding-right:18px;border-right:1px solid var(--line)}
.education-column header{
  display:flex;align-items:baseline;gap:14px;margin-bottom:8px;
}
.education-column header span{
  font-family:var(--serif);font-style:italic;color:var(--rose);font-size:1rem;
}
.education-column header h3{
  font-size:clamp(1.35rem,2vw,2rem);text-transform:uppercase;letter-spacing:-.03em;
}
.education-list{border-top:1px solid var(--line)}
.edu-row{
  display:grid;grid-template-columns:94px 1fr;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--line);
  position:relative;transition:padding .25s ease,background .25s ease;
}
.edu-row-year{
  font-family:var(--serif);font-style:italic;font-size:1.12rem;color:var(--rose);
}
.edu-row p{font-size:.94rem;line-height:1.5;max-width:60ch}
.edu-row::after{
  content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--rose);
  transition:width .35s ease;
}
@media(hover:hover){
  .edu-row:hover{padding-left:10px;background:rgba(198,93,123,.055)}
  .edu-row:hover::after{width:100%}
}
.education-ticker{
  margin:34px calc(50% - 50vw) 0;overflow:hidden;
  background:var(--olive);color:var(--cream);padding:10px 0;
  font-size:.58rem;letter-spacing:.19em;white-space:nowrap;
}
.education-ticker span{display:block;width:max-content;animation:educationRun 28s linear infinite}
@keyframes educationRun{to{transform:translateX(-35%)}}

/* На мобильном солнце остается графичным, но не перекрывает контент */
@media(max-width:640px){
  .hero-sun-mark{right:5vw;top:43%}
  .hero-sun-mark--large .sun-brand{--sun-size:94px}
  .hero-sun-mark--large .sun-brand b{font-size:16px}
  .focus-sun-bg .sun-brand{--sun-size:250px}
  .education-layout{grid-template-columns:1fr}
  .education-column:first-child{padding-right:0;border-right:0}
  .education-column--accent{padding-top:38px}
  .edu-row{grid-template-columns:78px 1fr;padding:14px 0}
  .edu-row p{font-size:.9rem}
}


/* ── MOBILE / LAYOUT FIXES ───────────────────────────── */
.format-card{padding-top:32px!important}
.format-photo-v2{display:none!important}

/* Первая бегущая строка не перекрывает соседние секции */
.marquee{
  position:relative;
  z-index:3;
  overflow:hidden;
  clear:both;
}
.m-track{will-change:transform}
.m-group{min-width:max-content}

/* Заголовок первого экрана */
.hero-v2 h1{
  max-width:none;
  width:min(100%,980px);
}
.hero-v2 h1 span{
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}

@media(max-width:640px){
  .hero-v2{
    min-height:auto;
  }
  .hero-v2-in{
    min-height:760px;
    padding-bottom:28px;
  }
  .hero-v2 h1{
    top:12%;
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    font-size:clamp(3.05rem,13.2vw,4.5rem);
    line-height:.88;
    letter-spacing:-.055em;
  }
  .hero-v2 h1 span{
    display:block;
    width:100%;
  }
  .hero-v2 h1 .em-serif{
    padding-left:0;
    font-size:.95em;
  }
  .hero-v2-bottom{
    left:0;
    right:0;
    bottom:26px;
  }

  /* Даем бегущей строке отдельную высоту и не даём тексту вылезать */
  .marquee{
    height:54px;
    display:flex;
    align-items:center;
  }
  .m-group{
    padding:0;
    height:54px;
    align-items:center;
  }
  .m-group span{
    font-size:.68rem;
    line-height:1;
  }

  /* Секция "Обо мне" начинается ниже бегущей строки */
  #about{
    padding-top:84px;
  }
}


/* ── TYPOGRAPHY / ACCENTS / FAQ V3 ───────────────────── */
body{font-family:var(--sans)}
.em-serif{font-family:var(--serif);font-style:italic;font-weight:600;letter-spacing:-.045em}
.text-accent{
  color:var(--rose-deep);
  font-family:var(--serif);
  font-style:italic;
  font-weight:600;
  font-size:1.08em;
}
.section-head h2 .em-serif{color:var(--rose)}

.faq-editorial{max-width:980px}
.faq-editorial .faq-item{
  position:relative;border-bottom:1px solid var(--line);overflow:hidden;
  transition:background .35s ease,color .35s ease;
}
.faq-editorial .faq-item:first-child{border-top:1px solid var(--line)}
.faq-editorial summary{
  position:relative;z-index:2;display:grid;grid-template-columns:58px 1fr auto;
  gap:18px;align-items:center;padding:26px 0;cursor:pointer;list-style:none;
}
.faq-editorial summary::-webkit-details-marker{display:none}
.faq-num{
  font-family:var(--serif);font-style:italic;color:var(--rose);
  font-size:1.1rem;
}
.faq-question{
  font-size:clamp(1.15rem,2vw,1.8rem);
  font-weight:600;letter-spacing:-.035em;
}
.faq-arrow{
  color:var(--rose);font-size:1.5rem;
  transition:transform .3s ease;
}
.faq-item[open]{
  background:var(--rose);color:var(--cream);
}
.faq-item[open] summary{
  padding-inline:24px;
}
.faq-item[open] .faq-num,.faq-item[open] .faq-arrow{color:var(--cream)}
.faq-item[open] .faq-arrow{transform:rotate(90deg)}
.faq-answer{
  position:relative;z-index:1;padding:8px 84px 38px;
  overflow:hidden;
  animation:faqReveal .42s cubic-bezier(.2,.75,.2,1) both;
}
@keyframes faqReveal{
  from{opacity:0;transform:translateY(-12px)}
  to{opacity:1;transform:none}
}
.faq-answer-label{
  font-size:.58rem;letter-spacing:.18em;margin-bottom:18px;
  color:rgba(243,232,200,.72);
}
.faq-answer-copy{
  position:relative;z-index:2;max-width:64ch;
  font-size:1.02rem;line-height:1.72;color:rgba(243,232,200,.92);
}
.faq-answer-copy p+p{margin-top:13px}
.faq-answer-copy ul{list-style:none;display:grid;gap:8px;margin:12px 0}
.faq-answer-copy li{position:relative;padding-left:22px}
.faq-answer-copy li::before{content:"—";position:absolute;left:0;color:var(--cream)}
.faq-answer-copy b{font-family:var(--serif);font-style:italic;font-size:1.08em;color:var(--cream)}
.faq-watermark{
  position:absolute;right:10px;bottom:-34px;
  font-size:11rem;font-weight:700;line-height:1;
  color:rgba(243,232,200,.09);pointer-events:none;
}

/* Dark editorial education */
.education-dark{
  background:var(--olive);color:var(--cream);overflow:hidden;
}
.education-dark::before{color:rgba(243,232,200,.4)}
.education-dark .eyebrow{color:var(--cream)}
.education-dark .section-head p{color:rgba(243,232,200,.66)}
.education-dark .section-head h2{max-width:9ch}
.education-dark .section-head h2 .em-serif{color:var(--rose)}
.education-dark-grid{
  display:grid;grid-template-columns:.78fr 1.22fr;
  border-top:1px solid rgba(243,232,200,.2);
}
.education-dark-column{
  padding:26px 30px 0 0;
}
.education-dark-column--right{
  border-left:1px solid rgba(243,232,200,.2);
  padding-left:30px;padding-right:0;
}
.education-dark-heading{
  display:flex;gap:14px;align-items:baseline;margin-bottom:18px;
}
.education-dark-heading span{
  color:var(--rose);font-size:.62rem;letter-spacing:.16em;
}
.education-dark-heading h3{
  font-size:clamp(1.25rem,2vw,2rem);text-transform:uppercase;
  color:var(--cream);
}
.education-dark-list{
  border-top:1px solid rgba(243,232,200,.2);
}
.edu-line{
  position:relative;display:grid;grid-template-columns:84px 1fr;
  gap:16px;padding:16px 0;border-bottom:1px solid rgba(243,232,200,.18);
  overflow:hidden;
}
.edu-line-year{
  font-family:var(--serif);font-style:italic;font-weight:600;
  font-size:1.28rem;color:var(--rose);
}
.edu-line p{
  position:relative;z-index:2;font-size:.94rem;line-height:1.5;
  color:rgba(243,232,200,.9);max-width:58ch;
}
.edu-line-index{
  position:absolute;right:6px;bottom:-12px;
  font-size:4.8rem;font-weight:700;line-height:1;
  color:rgba(243,232,200,.045);pointer-events:none;
}
@media(hover:hover){
  .edu-line{transition:padding .25s ease,background .25s ease}
  .edu-line:hover{padding-left:10px;background:rgba(198,93,123,.08)}
  .edu-line:hover .edu-line-year{color:var(--cream)}
}

/* More color rhythm between light sections */
#faq{background:#FFFDF7}
#formats{background:var(--paper)}
#work{background:#E8E3D7}

@media(max-width:640px){
  .faq-editorial summary{
    grid-template-columns:42px 1fr auto;gap:10px;padding:20px 0;
  }
  .faq-question{font-size:1.1rem}
  .faq-item[open] summary{padding-inline:16px}
  .faq-answer{padding:4px 16px 30px 58px}
  .faq-answer-copy{font-size:.94rem}
  .faq-watermark{font-size:7rem;right:0;bottom:-20px}
  .education-dark-grid{grid-template-columns:1fr}
  .education-dark-column{padding:22px 0 0}
  .education-dark-column--right{
    border-left:0;border-top:1px solid rgba(243,232,200,.2);
    padding-left:0;margin-top:32px;
  }
  .edu-line{grid-template-columns:72px 1fr;padding:14px 0}
  .edu-line p{font-size:.9rem}
}


/* FAQ width correction */
.faq-editorial{
  max-width:780px;
  margin-left:0;
}
.faq-editorial summary{
  grid-template-columns:46px 1fr auto;
  gap:14px;
  padding:20px 0;
}
.faq-question{
  font-size:clamp(1.02rem,1.35vw,1.28rem);
  letter-spacing:-.02em;
}
.faq-item[open] summary{
  padding-inline:18px;
}
.faq-answer{
  padding:6px 58px 30px;
}
.faq-answer-copy{
  font-size:.97rem;
  max-width:58ch;
}
.faq-watermark{
  font-size:8rem;
  bottom:-24px;
}


/* Education layout correction */
.education-dark-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:start;
}
.education-dark-column,
.education-dark-column--right{
  padding:26px 28px 0;
  min-width:0;
}
.education-dark-column:first-child{
  padding-left:0;
}
.education-dark-column--right{
  border-left:1px solid rgba(243,232,200,.2);
  padding-right:0;
}
.education-dark-heading{
  min-height:62px;
  margin-bottom:14px;
}
.education-dark-list{
  border-top:1px solid rgba(243,232,200,.2);
}
.edu-line{
  grid-template-columns:78px 1fr;
  gap:14px;
  padding:14px 0;
}
.edu-line p{
  font-size:.91rem;
  line-height:1.45;
}
.edu-line-index{
  font-size:4rem;
}

/* Restore more restrained large-display typography */
.hero-serif{
  font-family:"PT Serif", Georgia, "Times New Roman", serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.03em;
  color:var(--rose);
  padding-left:.12em;
}
.hero-v2 h1{
  font-family:"Golos Text",-apple-system,"Segoe UI",Roboto,sans-serif;
  font-weight:600;
  letter-spacing:-.055em;
}
.education-dark .section-head h2{
  font-family:"Golos Text",-apple-system,"Segoe UI",Roboto,sans-serif;
  font-weight:600;
  letter-spacing:-.04em;
  max-width:11ch;
}
.text-accent-link{
  text-decoration-color:var(--rose)!important;
  text-underline-offset:4px;
}
.format-local-note{
  margin-top:18px;
  font-size:.82rem;
  color:var(--muted);
}
@media(max-width:640px){
  .hero-serif{padding-left:0}
  .faq-editorial{max-width:none}
  .faq-editorial summary{
    grid-template-columns:38px 1fr auto;
    gap:8px;
    padding:18px 0;
  }
  .faq-question{font-size:1rem}
  .faq-answer{padding:4px 14px 26px 46px}
  .faq-watermark{font-size:6rem}
  .education-dark-grid{grid-template-columns:1fr}
  .education-dark-column,
  .education-dark-column--right{
    padding:22px 0 0;
  }
  .education-dark-column--right{
    border-left:0;
    border-top:1px solid rgba(243,232,200,.2);
    margin-top:28px;
  }
  .education-dark-heading{min-height:0}
}


/* ── HERO MOBILE TYPOGRAPHY FIX ───────────────────────── */
.hero-v2 h1{
  max-width:100%!important;
  width:100%!important;
}
.hero-v2 h1>span:first-child{
  white-space:nowrap;
}
.hero-serif{
  display:block!important;
  font-family:"PT Serif",Georgia,"Times New Roman",serif!important;
  font-style:italic!important;
  font-weight:400!important;
  letter-spacing:-.03em!important;
  line-height:.92!important;
  color:var(--rose)!important;
  padding-left:0!important;
  text-transform:none!important;
}
@media(max-width:640px){
  .hero-v2 h1{
    font-size:clamp(2.7rem,11.6vw,3.7rem)!important;
    line-height:.9!important;
    letter-spacing:-.055em!important;
  }
  .hero-v2 h1>span:first-child{
    font-size:.92em!important;
  }
  .hero-serif{
    font-size:1.18em!important;
    max-width:7.1ch!important;
    margin-top:8px!important;
  }
}


/* ── FAQ COMPACT WIDTH FIX ───────────────────────────── */
#faq .wrap{max-width:1160px}
#faq .section-head{max-width:720px}
.faq-editorial{
  width:min(100%,680px)!important;
  max-width:680px!important;
  margin-left:0!important;
}
.faq-editorial summary{
  grid-template-columns:38px minmax(0,1fr) 24px!important;
  gap:10px!important;
  padding:16px 0!important;
}
.faq-question{
  font-size:1rem!important;
  line-height:1.35!important;
  letter-spacing:-.015em!important;
}
.faq-num{font-size:.96rem!important}
.faq-arrow{font-size:1.25rem!important}
.faq-item[open] summary{padding-inline:14px!important}
.faq-answer{
  padding:2px 42px 24px!important;
}
.faq-answer-copy{
  font-size:.93rem!important;
  line-height:1.62!important;
}
.faq-watermark{font-size:5.5rem!important;bottom:-16px!important}


/* ── CONTACT SUN POSITION FIX ─────────────────────────── */
#contact .wrap{position:relative;z-index:2}
#contact .contact-sun-mark{
  position:absolute!important;
  right:7vw!important;
  top:72px!important;
  margin:0!important;
  z-index:1!important;
  opacity:.82;
}
#contact h2,#contact .contact-cta,#contact .contact-fine{
  position:relative;
  z-index:3;
}
@media(max-width:640px){
  #contact .contact-sun-mark{
    right:18px!important;
    top:30px!important;
    opacity:.55;
  }
  #contact .contact-sun-mark .sun-brand{
    --sun-size:72px!important;
  }
  #contact h2{
    max-width:8.5ch!important;
    padding-top:84px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 2 ===== */
/* HERO — real mobile fix */
.hero h1{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
.hero-main-word{
  display:block!important;
  font-family:"Golos Text",-apple-system,"Segoe UI",Roboto,sans-serif!important;
  font-style:normal!important;
  font-weight:600!important;
  color:var(--cream)!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  letter-spacing:-.055em!important;
}
.hero-old-serif{
  display:block!important;
  font-family:"PT Serif",Georgia,"Times New Roman",serif!important;
  font-style:italic!important;
  font-weight:400!important;
  color:var(--rose)!important;
  text-transform:none!important;
  letter-spacing:-.035em!important;
  line-height:.95!important;
  max-width:8.2ch!important;
  margin-top:10px!important;
}

@media(max-width:640px){
  .hero h1{
    font-size:1rem!important;
  }
  .hero-main-word{
    font-size:clamp(2.55rem,10.6vw,3.35rem)!important;
  }
  .hero-old-serif{
    font-size:clamp(3.05rem,12.8vw,4.05rem)!important;
  }
}

/* FAQ — narrow visible accordion, not full-width */
#faq .faq-editorial{
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-left:0!important;
}
#faq .faq-item{
  width:100%!important;
}
#faq .faq-editorial summary{
  grid-template-columns:34px minmax(0,1fr) 22px!important;
  gap:9px!important;
  padding:14px 0!important;
}
#faq .faq-question{
  font-size:.96rem!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
}
#faq .faq-num{
  font-size:.9rem!important;
}
#faq .faq-arrow{
  font-size:1.1rem!important;
}
#faq .faq-answer{
  padding:0 34px 22px 43px!important;
}
#faq .faq-answer-copy{
  font-size:.9rem!important;
  line-height:1.58!important;
}
#faq .faq-watermark{
  font-size:4.8rem!important;
}

@media(max-width:640px){
  #faq .faq-editorial{
    width:calc(100% - 56px)!important;
    max-width:none!important;
    margin-left:0!important;
  }
  #faq .faq-editorial summary{
    grid-template-columns:30px minmax(0,1fr) 18px!important;
    padding:13px 0!important;
  }
  #faq .faq-question{
    font-size:.92rem!important;
  }
  #faq .faq-answer{
    padding:0 18px 20px 38px!important;
  }
}

/* EDUCATION — only one integrated dark block */
.education-column,
.education-column--accent,
.education-layout{
  display:none!important;
}
.education-dark-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  align-items:start!important;
}
.education-dark-column,
.education-dark-column--right{
  display:block!important;
  min-width:0!important;
  padding-top:24px!important;
}
.education-dark-column{
  padding-right:24px!important;
}
.education-dark-column--right{
  border-left:1px solid rgba(243,232,200,.2)!important;
  padding-left:24px!important;
  padding-right:0!important;
  margin:0!important;
  background:transparent!important;
}
.education-dark-heading{
  min-height:58px!important;
  margin-bottom:12px!important;
}
.edu-line{
  grid-template-columns:76px 1fr!important;
  padding:13px 0!important;
}
.edu-line p{
  font-size:.9rem!important;
  line-height:1.43!important;
}

@media(max-width:640px){
  .education-dark-grid{
    grid-template-columns:1fr!important;
  }
  .education-dark-column{
    padding-right:0!important;
  }
  .education-dark-column--right{
    border-left:0!important;
    border-top:1px solid rgba(243,232,200,.2)!important;
    padding-left:0!important;
    padding-top:28px!important;
    margin-top:30px!important;
  }
}

/* CONTACT — sun permanently away from text */
#contact{
  position:relative!important;
  overflow:hidden!important;
}
.contact-corner-sun{
  position:absolute!important;
  right:-44px!important;
  top:-44px!important;
  width:210px!important;
  height:210px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--rose)!important;
  opacity:.22!important;
  font-size:180px!important;
  line-height:1!important;
  pointer-events:none!important;
  z-index:0!important;
  transform:rotate(12deg)!important;
}
#contact .wrap{
  position:relative!important;
  z-index:2!important;
}
#contact h2{
  padding-top:0!important;
}

@media(max-width:640px){
  .contact-corner-sun{
    right:-62px!important;
    top:-62px!important;
    width:180px!important;
    height:180px!important;
    font-size:150px!important;
    opacity:.18!important;
  }
}


/* ===== SOURCE STYLE BLOCK 3 ===== */
/* FAQ — narrower, but each item runs longer vertically */
#faq .faq-editorial{
  width:min(100%,560px)!important;
  max-width:560px!important;
}
#faq .faq-editorial summary{
  grid-template-columns:34px minmax(0,1fr) 20px!important;
  gap:10px!important;
  min-height:116px!important;
  padding:22px 0!important;
  align-items:center!important;
}
#faq .faq-question{
  font-size:1rem!important;
  line-height:1.42!important;
}
#faq .faq-item[open] summary{
  min-height:104px!important;
  padding:20px 16px!important;
}
#faq .faq-answer{
  padding:6px 28px 34px 44px!important;
}
#faq .faq-answer-copy{
  max-width:46ch!important;
  font-size:.94rem!important;
  line-height:1.65!important;
}
#faq .faq-watermark{
  font-size:5.8rem!important;
}

@media(max-width:640px){
  #faq .faq-editorial{
    width:calc(100% - 96px)!important;
    max-width:none!important;
  }
  #faq .faq-editorial summary{
    min-height:128px!important;
    padding:24px 0!important;
  }
  #faq .faq-item[open] summary{
    min-height:112px!important;
    padding:22px 14px!important;
  }
  #faq .faq-answer{
    padding:4px 16px 32px 38px!important;
  }
  #faq .faq-answer-copy{
    font-size:.92rem!important;
    line-height:1.68!important;
  }
}

/* Contact — use the same branded A·K sun, no emoji */
.contact-corner-sun{display:none!important}
#contact .contact-brand-sun{
  position:absolute!important;
  right:26px!important;
  top:38px!important;
  z-index:1!important;
  opacity:.72!important;
  pointer-events:none!important;
}
#contact .contact-brand-sun .sun-brand{
  --sun-size:112px!important;
  color:var(--rose)!important;
}
#contact .contact-brand-sun .sun-brand b{
  color:var(--cream)!important;
  font-size:18px!important;
}

@media(max-width:640px){
  #contact .contact-brand-sun{
    right:14px!important;
    top:20px!important;
    opacity:.55!important;
  }
  #contact .contact-brand-sun .sun-brand{
    --sun-size:82px!important;
  }
  #contact .contact-brand-sun .sun-brand b{
    font-size:14px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 4 ===== */
/* FAQ — молочный фон и более собранная двухколоночная композиция */
#faq{
  background:var(--bg)!important;
  overflow:hidden;
}
#faq .wrap{
  display:grid!important;
  grid-template-columns:minmax(280px,.82fr) minmax(420px,1.18fr)!important;
  gap:72px!important;
  align-items:start!important;
  position:relative!important;
}
#faq .section-head{
  max-width:460px!important;
  margin:0!important;
  position:sticky!important;
  top:118px!important;
}
#faq .section-head::after{
  content:"A·K";
  display:grid;
  place-items:center;
  width:180px;
  height:180px;
  margin-top:54px;
  border:1px solid rgba(198,93,123,.34);
  border-radius:50%;
  font-family:"PT Serif",Georgia,serif;
  font-style:italic;
  font-size:2rem;
  color:rgba(198,93,123,.5);
  box-shadow:
    0 0 0 28px rgba(198,93,123,.05),
    0 0 0 56px rgba(198,93,123,.025);
}
#faq .faq-editorial{
  width:470px!important;
  max-width:470px!important;
  margin:0!important;
  justify-self:start!important;
}
#faq .faq-editorial summary{
  min-height:92px!important;
  padding:18px 0!important;
}
#faq .faq-question{
  font-size:.95rem!important;
  line-height:1.38!important;
}
#faq .faq-answer{
  padding:6px 24px 30px 42px!important;
}
#faq .faq-answer-copy{
  max-width:40ch!important;
}

/* Контактный блок визуально отделяем от оливкового образования */
#contact{
  background:
    radial-gradient(circle at 82% 18%,rgba(198,93,123,.18),transparent 24%),
    radial-gradient(circle at 12% 88%,rgba(198,93,123,.08),transparent 22%),
    var(--primary-deep)!important;
}
#contact::after{
  opacity:.55!important;
}
#contact .contact-brand-sun .sun-brand{
  color:var(--rose)!important;
}
#contact .contact-brand-sun .sun-brand b{
  color:var(--cream)!important;
}
#contact h2,
#contact .contact-fine{
  color:var(--cream)!important;
}
#contact .contact-fine{
  opacity:.72;
}

@media(max-width:900px){
  #faq .wrap{
    grid-template-columns:1fr!important;
    gap:44px!important;
  }
  #faq .section-head{
    position:relative!important;
    top:auto!important;
    max-width:680px!important;
  }
  #faq .section-head::after{
    display:none!important;
  }
  #faq .faq-editorial{
    width:min(84vw,520px)!important;
    max-width:min(84vw,520px)!important;
  }
}

@media(max-width:640px){
  #faq{
    padding-top:72px!important;
  }
  #faq .wrap{
    display:block!important;
  }
  #faq .section-head{
    margin-bottom:46px!important;
  }
  #faq .faq-editorial{
    width:82vw!important;
    max-width:82vw!important;
    margin-left:0!important;
  }
  #faq .faq-editorial summary{
    min-height:108px!important;
    padding:20px 0!important;
  }
  #faq .faq-question{
    font-size:.94rem!important;
  }
  #faq .faq-item[open] summary{
    min-height:96px!important;
  }
  #faq .faq-answer{
    padding:4px 16px 30px 38px!important;
  }
  #faq .faq-answer-copy{
    max-width:none!important;
  }
}


/* ===== SOURCE STYLE BLOCK 5 ===== */
/* FAQ DESKTOP: remove the large dead space and place title + FAQ in a compact side-by-side layout */
@media(min-width:901px){
  #faq{
    padding:76px 0 88px!important;
    background:var(--bg)!important;
  }
  #faq .wrap{
    width:min(100% - 64px,1180px)!important;
    max-width:1180px!important;
    display:grid!important;
    grid-template-columns:360px 520px!important;
    column-gap:64px!important;
    justify-content:center!important;
    align-items:start!important;
  }
  #faq .section-head{
    position:static!important;
    top:auto!important;
    width:360px!important;
    max-width:360px!important;
    margin:0!important;
  }
  #faq .section-head::after{
    width:132px!important;
    height:132px!important;
    margin-top:36px!important;
    box-shadow:
      0 0 0 20px rgba(198,93,123,.05),
      0 0 0 40px rgba(198,93,123,.025)!important;
  }
  #faq .faq-editorial{
    width:520px!important;
    max-width:520px!important;
    margin:0!important;
    justify-self:start!important;
  }
  #faq .faq-editorial summary{
    min-height:88px!important;
    padding:16px 0!important;
  }
  #faq .faq-question{
    font-size:.96rem!important;
    line-height:1.36!important;
  }
}

/* FAQ TABLET/MOBILE */
@media(max-width:900px){
  #faq .wrap{
    display:block!important;
  }
  #faq .section-head{
    width:auto!important;
    max-width:680px!important;
    margin:0 0 40px!important;
  }
  #faq .faq-editorial{
    width:min(82vw,520px)!important;
    max-width:min(82vw,520px)!important;
  }
}

/* CONTACT: guarantee readable contrast */
#contact{
  background:#1C324D!important;
  color:#FAF9F6!important;
}
#contact h2{
  color:#FAF9F6!important;
}
#contact .lead,
#contact .contact-fine{
  color:rgba(250,249,246,.76)!important;
}
#contact .btn--light{
  background:#F3E8C8!important;
  color:#22303E!important;
  border-color:#F3E8C8!important;
}
#contact .btn--light:visited{
  color:#22303E!important;
}
#contact .btn--light:hover{
  color:#22303E!important;
}
#contact .contact-brand-sun .sun-brand{
  color:#C65D7B!important;
}
#contact .contact-brand-sun .sun-brand b{
  color:#F3E8C8!important;
}

/* Footer remains visually separated */
.site-foot{
  background:#272B22!important;
}


/* ===== SOURCE STYLE BLOCK 6 ===== */
@media(min-width:901px){
  #faq{
    padding:84px 0 92px!important;
  }
  #faq .wrap{
    width:min(100% - 72px,1260px)!important;
    max-width:1260px!important;
    display:grid!important;
    grid-template-columns:430px 560px!important;
    column-gap:88px!important;
    justify-content:center!important;
    align-items:start!important;
  }
  #faq .section-head{
    position:static!important;
    width:430px!important;
    max-width:430px!important;
    margin:0!important;
  }
  #faq .section-head h2{
    font-size:clamp(3.2rem,4.6vw,5.8rem)!important;
    line-height:.92!important;
    max-width:8.5ch!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  #faq .section-head::after{
    width:120px!important;
    height:120px!important;
    margin-top:38px!important;
  }
  #faq .faq-editorial{
    width:560px!important;
    max-width:560px!important;
    margin:0!important;
  }
}

/* 2) Formats: pull price block upward by removing excess card height/spacing */
#formats .format-card{
  min-height:0!important;
  height:auto!important;
  padding:30px!important;
}
#formats .format-card .frows{
  margin-top:28px!important;
  padding-top:0!important;
}
#formats .format-card .frow{
  padding:14px 0!important;
}
#formats .format-card .format-meta{
  margin-bottom:0!important;
}
#formats .format-card .format-local-note{
  margin-top:14px!important;
}

/* 3) Remove footer completely: contact becomes final visible page */
.site-foot{
  display:none!important;
}
#contact{
  min-height:100svh!important;
  padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
}

/* Keep contact readable and final */
#contact .wrap{
  min-height:calc(100svh - 144px)!important;
  display:flex!important;
  align-items:center!important;
}
#contact .contact-grid,
#contact .wrap > div{
  width:100%!important;
}


/* ===== SOURCE STYLE BLOCK 7 ===== */
/* FAQ desktop: noticeably narrower question column */
@media (min-width: 901px){
  #faq .wrap{
    width:min(100% - 72px,1120px)!important;
    max-width:1120px!important;
    grid-template-columns:430px 430px!important;
    column-gap:82px!important;
  }
  #faq .faq-editorial{
    width:430px!important;
    max-width:430px!important;
    justify-self:start!important;
  }
  #faq .faq-editorial summary{
    width:100%!important;
    max-width:430px!important;
  }
}

/* Replace the decorative A·K circle in FAQ with the actual sun mark */
#faq .section-head::after{
  content:"A·K"!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:132px!important;
  height:132px!important;
  margin-top:38px!important;
  border:2px solid #C65D7B!important;
  border-radius:50%!important;
  color:#C65D7B!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-style:italic!important;
  font-size:2rem!important;
  line-height:1!important;
  background:
    repeating-conic-gradient(
      from 0deg,
      #C65D7B 0deg 1.7deg,
      transparent 1.7deg 14deg
    ) center/190px 190px no-repeat!important;
  box-shadow:none!important;
  outline:0!important;
  transform:none!important;
  clip-path:none!important;
}

/* cream inner disc so rays read as a sun and do not cross the monogram */
#faq .section-head{
  position:relative!important;
}
#faq .section-head::before{
  content:""!important;
  position:absolute!important;
  left:66px!important;
  bottom:-104px!important;
  width:118px!important;
  height:118px!important;
  border-radius:50%!important;
  background:var(--bg)!important;
  pointer-events:none!important;
  z-index:0!important;
}
#faq .section-head::after{
  position:relative!important;
  z-index:1!important;
}

@media (max-width:900px){
  #faq .section-head::before{
    display:none!important;
  }
  #faq .section-head::after{
    width:104px!important;
    height:104px!important;
    background:
      repeating-conic-gradient(
        from 0deg,
        #C65D7B 0deg 1.7deg,
        transparent 1.7deg 14deg
      ) center/150px 150px no-repeat!important;
    font-size:1.55rem!important;
  }
}


/* ===== SOURCE STYLE BLOCK 8 ===== */
/* Exact same branded sun as elsewhere */
#faq .section-head::before,
#faq .section-head::after{
  content:none!important;
  display:none!important;
}
#faq .faq-brand-logo{
  margin-top:38px!important;
}
#faq .faq-brand-logo .sun-brand{
  --sun-size:132px!important;
  color:var(--rose)!important;
}
#faq .faq-brand-logo .sun-brand b{
  color:var(--rose-deep)!important;
  font-size:22px!important;
}

/* Desktop: deliberately narrow FAQ column */
@media(min-width:901px){
  #faq .wrap{
    width:min(100% - 72px,1080px)!important;
    max-width:1080px!important;
    display:grid!important;
    grid-template-columns:430px 390px!important;
    column-gap:86px!important;
    justify-content:center!important;
    align-items:start!important;
  }
  #faq .section-head{
    width:430px!important;
    max-width:430px!important;
    margin:0!important;
    position:static!important;
  }
  #faq .faq-editorial{
    width:390px!important;
    max-width:390px!important;
    margin:0!important;
    justify-self:start!important;
  }
}

/* Closed FAQ rows: remove all artificial height / blank space */
#faq .faq-editorial summary{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr) 18px!important;
  gap:10px!important;
  align-items:center!important;
  min-height:0!important;
  height:auto!important;
  padding:16px 0!important;
  margin:0!important;
}
#faq .faq-item{
  min-height:0!important;
  height:auto!important;
}
#faq .faq-question{
  font-size:.94rem!important;
  line-height:1.35!important;
}
#faq .faq-num{
  font-size:.9rem!important;
}
#faq .faq-arrow{
  font-size:1.08rem!important;
}

/* Remove the second arrow created by old summary CSS */
#faq .faq-editorial summary::after{
  content:none!important;
  display:none!important;
}

/* Open answers: compact header, readable answer */
#faq .faq-item[open] summary{
  min-height:0!important;
  height:auto!important;
  padding:15px 14px!important;
}
#faq .faq-answer{
  padding:4px 18px 24px 42px!important;
}
#faq .faq-answer-copy{
  max-width:none!important;
  font-size:.92rem!important;
  line-height:1.62!important;
}
#faq .faq-watermark{
  font-size:4.8rem!important;
  bottom:-14px!important;
}

/* Mobile: narrow block, but no empty space under questions */
@media(max-width:640px){
  #faq .faq-brand-logo{
    margin-top:30px!important;
  }
  #faq .faq-brand-logo .sun-brand{
    --sun-size:96px!important;
  }
  #faq .faq-brand-logo .sun-brand b{
    font-size:16px!important;
  }
  #faq .faq-editorial{
    width:76vw!important;
    max-width:76vw!important;
    margin-left:0!important;
  }
  #faq .faq-editorial summary{
    grid-template-columns:30px minmax(0,1fr) 18px!important;
    gap:8px!important;
    min-height:0!important;
    height:auto!important;
    padding:15px 0!important;
  }
  #faq .faq-question{
    font-size:.92rem!important;
    line-height:1.38!important;
  }
  #faq .faq-item[open] summary{
    min-height:0!important;
    padding:14px 12px!important;
  }
  #faq .faq-answer{
    padding:4px 14px 22px 36px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 9 ===== */
/* FAQ mobile redesign based on annotated screenshot */
@media(max-width:640px){
  #faq{
    position:relative!important;
    overflow:hidden!important;
    padding-top:68px!important;
    padding-bottom:74px!important;
  }

  #faq .wrap{
    display:block!important;
    width:min(100% - 32px,1180px)!important;
    max-width:none!important;
    margin:0 auto!important;
  }

  #faq .section-head{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 42px!important;
    padding-right:0!important;
  }

  /* Smaller logo, moved to upper-right */
  #faq .faq-brand-logo{
    position:absolute!important;
    right:0!important;
    top:94px!important;
    margin:0!important;
    z-index:2!important;
  }

  #faq .faq-brand-logo .sun-brand{
    --sun-size:70px!important;
  }

  #faq .faq-brand-logo .sun-brand b{
    font-size:12px!important;
  }

  /* FAQ list spans full usable width */
  #faq .faq-editorial{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  #faq .faq-item{
    width:100%!important;
  }

  #faq .faq-editorial summary{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 22px!important;
    gap:10px!important;
    min-height:0!important;
    height:auto!important;
    padding:18px 0!important;
    align-items:center!important;
  }

  #faq .faq-question{
    font-size:1.08rem!important;
    line-height:1.38!important;
    letter-spacing:-.018em!important;
  }

  #faq .faq-num{
    font-size:1rem!important;
  }

  #faq .faq-arrow{
    font-size:1.2rem!important;
  }

  #faq .faq-item[open] summary{
    width:100%!important;
    min-height:0!important;
    padding:17px 14px!important;
  }

  #faq .faq-answer{
    padding:4px 18px 26px 54px!important;
  }

  #faq .faq-answer-copy{
    width:100%!important;
    max-width:none!important;
    font-size:.96rem!important;
    line-height:1.65!important;
  }

  #faq .faq-watermark{
    font-size:5rem!important;
  }
}

/* Desktop/tablet keep the list reasonably compact, but use more width than before */
@media(min-width:641px) and (max-width:900px){
  #faq .faq-editorial{
    width:min(100%,620px)!important;
    max-width:620px!important;
  }
}

@media(min-width:901px){
  #faq .wrap{
    grid-template-columns:430px 500px!important;
    column-gap:78px!important;
  }

  #faq .faq-editorial{
    width:500px!important;
    max-width:500px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 10 ===== */
.inserted-photo{
  position:relative;
  z-index:1;
  width:100%;
  overflow:hidden;
  background:var(--paper);
}
.inserted-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.inserted-photo--one{
  aspect-ratio:3/4;
}
.inserted-photo--one img{
  object-position:50% 56%;
}
.inserted-photo--two{
  aspect-ratio:4/5;
}
.inserted-photo--two img{
  object-position:50% 54%;
}


/* ===== SOURCE STYLE BLOCK 11 ===== */
/* Contact: remove the large empty vertical gap, especially on mobile */
#contact{
  min-height:auto!important;
  height:auto!important;
  padding-top:clamp(64px,8vw,110px)!important;
  padding-bottom:clamp(76px,9vw,120px)!important;
}
#contact .wrap{
  min-height:0!important;
  height:auto!important;
  display:block!important;
}
#contact .wrap > div{
  max-width:760px!important;
}
#contact h2{
  margin-top:0!important;
}
#contact .contact-cta{
  margin-top:clamp(24px,3vw,32px)!important;
}
#contact .contact-fine{
  margin-top:clamp(24px,3vw,34px)!important;
}
#contact .contact-brand-sun{
  top:clamp(34px,5vw,72px)!important;
}

@media (max-width: 700px){
  #contact{
    padding-top:54px!important;
    padding-bottom:76px!important;
  }
  #contact .wrap{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  #contact .wrap > div{
    padding-top:118px!important;
  }
  #contact h2{
    font-size:clamp(52px,13vw,76px)!important;
    line-height:.93!important;
  }
  #contact .contact-cta{
    margin-top:30px!important;
  }
  #contact .contact-fine{
    margin-top:28px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 12 ===== */
.tg-photo-feature{
  position:relative;
  margin-top:26px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);
  min-height:420px;
  overflow:hidden;
  background:var(--rose);
  color:var(--cream);
}
.tg-photo-feature__image{
  min-height:420px;
  overflow:hidden;
}
.tg-photo-feature__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 55%;
}
.tg-photo-feature__text{
  position:relative;
  z-index:2;
  padding:36px 32px 42px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.tg-photo-feature__eyebrow{
  display:block;
  margin-bottom:auto;
  font-size:.58rem;
  letter-spacing:.18em;
  color:rgba(243,232,200,.7);
}
.tg-photo-feature__text p{
  font-size:clamp(1.45rem,2.6vw,2.7rem);
  line-height:1.05;
  letter-spacing:-.04em;
  max-width:12ch;
}
.tg-photo-feature__text em{
  font-family:"PT Serif",Georgia,serif;
  font-style:italic;
  font-weight:400;
}
.tg-photo-feature__sun{
  position:absolute;
  right:18px;
  top:18px;
  opacity:.34;
}
.tg-photo-feature__sun .sun-brand{
  --sun-size:92px;
  color:var(--cream);
}
.tg-photo-feature__sun .sun-brand b{
  color:var(--cream);
  font-size:15px;
}
@media(max-width:640px){
  .tg-photo-feature{
    grid-template-columns:1fr;
    min-height:0;
  }
  .tg-photo-feature__image{
    min-height:420px;
    aspect-ratio:4/5;
  }
  .tg-photo-feature__text{
    min-height:300px;
    padding:28px 24px 32px;
  }
  .tg-photo-feature__text p{
    font-size:2rem;
    max-width:10ch;
  }
  .tg-photo-feature__sun{
    right:12px;
    top:12px;
  }
  .tg-photo-feature__sun .sun-brand{
    --sun-size:68px;
  }
  .tg-photo-feature__sun .sun-brand b{
    font-size:11px;
  }
}


/* ===== SOURCE STYLE BLOCK 13 ===== */
.tg-photo-feature{
  position:relative!important;
  margin-top:28px!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  gap:34px!important;
  align-items:center!important;
  background:transparent!important;
  color:var(--ink)!important;
  overflow:visible!important;
  padding:18px 0 10px!important;
}
.tg-photo-feature__image{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  min-height:0!important;
  overflow:hidden!important;
  background:var(--paper)!important;
  border:2px solid var(--rose)!important;
  box-shadow:
    12px 12px 0 var(--rose),
    24px 24px 0 rgba(76,79,61,.18)!important;
  transform:rotate(-1.2deg)!important;
}
.tg-photo-feature__image::before{
  content:""!important;
  position:absolute!important;
  inset:12px!important;
  border:1px solid rgba(243,232,200,.72)!important;
  z-index:2!important;
  pointer-events:none!important;
}
.tg-photo-feature__image::after{
  content:""!important;
  position:absolute!important;
  left:14px!important;
  bottom:12px!important;
  z-index:3!important;
  font-size:.54rem!important;
  letter-spacing:.18em!important;
  color:var(--cream)!important;
  background:rgba(41,48,68,.74)!important;
  padding:5px 7px!important;
}
.tg-photo-feature__image img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:50% 31%!important;
  transform:scale(1.28)!important;
  filter:saturate(.9) contrast(1.02)!important;
}
.tg-photo-feature__text{
  min-height:0!important;
  padding:22px 0 14px!important;
  display:block!important;
  color:var(--ink)!important;
}
.tg-photo-feature__eyebrow{
  display:inline-block!important;
  margin-bottom:22px!important;
  font-size:.58rem!important;
  letter-spacing:.18em!important;
  color:var(--rose-deep)!important;
  border-bottom:1px solid var(--rose)!important;
  padding-bottom:6px!important;
}
.tg-photo-feature__text p{
  max-width:13ch!important;
  font-size:clamp(1.7rem,3.2vw,3.3rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  color:var(--ink)!important;
}
.tg-photo-feature__text em{
  font-family:"PT Serif",Georgia,serif!important;
  font-style:italic!important;
  font-weight:400!important;
  color:var(--rose-deep)!important;
}
.tg-photo-feature__sun{
  position:absolute!important;
  right:0!important;
  top:0!important;
  opacity:.18!important;
}
.tg-photo-feature__sun .sun-brand{
  --sun-size:104px!important;
  color:var(--rose)!important;
}
.tg-photo-feature__sun .sun-brand b{
  color:var(--rose-deep)!important;
  font-size:17px!important;
}

@media(max-width:700px){
  .tg-photo-feature{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:10px 0 6px!important;
  }
  .tg-photo-feature__image{
    width:min(78vw,330px)!important;
    justify-self:start!important;
    aspect-ratio:1/1!important;
    box-shadow:
      10px 10px 0 var(--rose),
      19px 19px 0 rgba(76,79,61,.17)!important;
  }
  .tg-photo-feature__image img{
    object-position:50% 30%!important;
    transform:scale(1.32)!important;
  }
  .tg-photo-feature__text{
    padding:10px 0 0!important;
  }
  .tg-photo-feature__text p{
    max-width:11ch!important;
    font-size:2rem!important;
  }
  .tg-photo-feature__sun{
    right:4px!important;
    top:48%!important;
    opacity:.13!important;
  }
  .tg-photo-feature__sun .sun-brand{
    --sun-size:76px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 14 ===== */
.tg-photo-feature__sun{
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  top:auto!important;
  z-index:5!important;
  opacity:.22!important;
  pointer-events:none!important;
}
.tg-photo-feature__sun .sun-brand{
  --sun-size:74px!important;
}
.tg-photo-feature__sun .sun-brand b{
  font-size:12px!important;
}
@media(max-width:700px){
  .tg-photo-feature__sun{
    right:10px!important;
    bottom:10px!important;
    top:auto!important;
    opacity:.2!important;
  }
  .tg-photo-feature__sun .sun-brand{
    --sun-size:62px!important;
  }
  .tg-photo-feature__sun .sun-brand b{
    font-size:10px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 15 ===== */
@media (min-width: 901px){

  /* 1. HERO PHOTO — enlarge the actual photo container */
  .hero-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr)!important;
    gap:56px!important;
  }
  .hero-media{
    width:min(100%,560px)!important;
    max-width:560px!important;
    justify-self:end!important;
  }
  .hero-media .inserted-photo--one{
    width:100%!important;
    aspect-ratio:3/4!important;
  }
  .hero-media .inserted-photo--one img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 53%!important;
    transform:none!important;
  }

  /* 2. TELEGRAM PHOTO BLOCK — move logo fully away from the photo */
  .tg-photo-feature{
    position:relative!important;
    grid-template-columns:minmax(360px,520px) minmax(320px,1fr)!important;
    gap:72px!important;
    overflow:visible!important;
  }
  .tg-photo-feature__sun{
    position:absolute!important;
    right:24px!important;
    top:24px!important;
    bottom:auto!important;
    z-index:2!important;
    opacity:.18!important;
    pointer-events:none!important;
  }
  .tg-photo-feature__sun .sun-brand{
    --sun-size:88px!important;
  }
  .tg-photo-feature__image{
    z-index:3!important;
  }
  .tg-photo-feature__text{
    position:relative!important;
    z-index:4!important;
    padding-right:120px!important;
  }

  /* 3. PINK QUESTION CALLOUT — center the actual .note-card */
  #work .note-card{
    width:min(100%,1100px)!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* 4. FAQ — direct children of .wrap are the two columns */
  #faq{
    overflow:hidden!important;
  }
  #faq > .wrap{
    width:min(100% - 80px,1420px)!important;
    max-width:1420px!important;
    display:grid!important;
    grid-template-columns:minmax(0,620px) minmax(0,620px)!important;
    column-gap:120px!important;
    justify-content:center!important;
    align-items:start!important;
  }
  #faq > .wrap > .section-head{
    width:100%!important;
    max-width:620px!important;
    margin:0!important;
    position:relative!important;
  }
  #faq > .wrap > .section-head h2{
    font-size:clamp(72px,5.8vw,112px)!important;
    line-height:.86!important;
    max-width:6.6ch!important;
    margin:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  #faq > .wrap > .section-head .faq-brand-logo{
    margin-top:54px!important;
  }
  #faq > .wrap > .faq-editorial{
    width:100%!important;
    max-width:620px!important;
    margin:0!important;
    justify-self:start!important;
  }
  #faq .faq-editorial summary{
    grid-template-columns:44px minmax(0,1fr) 24px!important;
    min-height:0!important;
    height:auto!important;
    padding:24px 0!important;
  }
  #faq .faq-question{
    font-size:1.05rem!important;
    line-height:1.4!important;
  }
}

@media (min-width: 901px) and (max-width: 1250px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(400px,.8fr)!important;
  }
  .hero-media{
    width:min(100%,470px)!important;
  }
  #faq > .wrap{
    grid-template-columns:minmax(0,500px) minmax(0,500px)!important;
    column-gap:72px!important;
  }
  #faq > .wrap > .section-head h2{
    font-size:clamp(62px,5.4vw,82px)!important;
  }
}


/* ===== SOURCE STYLE BLOCK 16 ===== */
@media (min-width: 901px){

  /* 1. HERO: smaller photo and no text/photo overlap */
  .hero-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr)!important;
    gap:72px!important;
    align-items:center!important;
  }
  .hero-grid > div:first-child{
    min-width:0!important;
    position:relative!important;
    z-index:4!important;
  }
  .hero h1{
    font-size:clamp(4.5rem,6.8vw,7.4rem)!important;
    line-height:.88!important;
    max-width:8.2ch!important;
    width:auto!important;
  }
  .hero-media{
    width:min(100%,430px)!important;
    max-width:430px!important;
    min-width:0!important;
    justify-self:end!important;
    position:relative!important;
    z-index:1!important;
  }
  .hero-media .inserted-photo--one{
    width:100%!important;
    aspect-ratio:3/4!important;
  }
  .hero-media .inserted-photo--one img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 53%!important;
    transform:none!important;
  }

  /* 2. ABOUT: make the second photo visibly larger */
  .about-grid{
    grid-template-columns:minmax(460px,.95fr) minmax(0,1.05fr)!important;
    gap:72px!important;
    align-items:start!important;
  }
  .about-media{
    width:min(100%,520px)!important;
    max-width:520px!important;
  }
  .about-media .inserted-photo--two{
    width:100%!important;
    aspect-ratio:4/5!important;
  }
  .about-media .inserted-photo--two img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 54%!important;
    transform:none!important;
  }
  .about-txt h2{
    font-size:clamp(3.2rem,4.5vw,5.6rem)!important;
    line-height:.94!important;
  }

  /* 4. FAQ: arrows to the far right of each row */
  #faq > .wrap > .faq-editorial{
    width:620px!important;
    max-width:620px!important;
  }
  #faq .faq-editorial summary{
    width:100%!important;
    grid-template-columns:48px minmax(0,1fr) 40px!important;
    column-gap:16px!important;
    padding:22px 0!important;
  }
  #faq .faq-arrow{
    justify-self:end!important;
    text-align:right!important;
    margin-left:auto!important;
    font-size:1.35rem!important;
  }
  #faq .faq-question{
    max-width:none!important;
    width:100%!important;
  }
}

@media (min-width:901px) and (max-width:1250px){
  .hero-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr)!important;
    gap:50px!important;
  }
  .hero h1{
    font-size:clamp(4rem,6.2vw,6.2rem)!important;
  }
  .hero-media{
    width:min(100%,390px)!important;
  }
  .about-grid{
    grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr)!important;
    gap:54px!important;
  }
  .about-media{
    width:min(100%,460px)!important;
  }
  #faq > .wrap > .faq-editorial{
    width:540px!important;
    max-width:540px!important;
  }
}


/* ===== SOURCE STYLE BLOCK 17 ===== */
@media (min-width: 901px){
  /* Let FAQ list use the whole right column */
  #faq > .wrap{
    grid-template-columns:minmax(0,560px) minmax(0,760px)!important;
    column-gap:96px!important;
    width:min(100% - 80px,1500px)!important;
    max-width:1500px!important;
  }

  #faq > .wrap > .faq-editorial{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-self:stretch!important;
  }

  #faq .faq-item,
  #faq .faq-editorial summary{
    width:100%!important;
    max-width:none!important;
  }

  #faq .faq-editorial summary{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) 44px!important;
    column-gap:18px!important;
    align-items:center!important;
    padding:24px 0!important;
  }

  #faq .faq-question{
    width:100%!important;
    max-width:none!important;
  }

  #faq .faq-arrow{
    justify-self:end!important;
    margin-left:auto!important;
    text-align:right!important;
    width:44px!important;
    font-size:1.45rem!important;
  }
}

/* In-person Telegram button */
#formats .format-card .btn[href*="t.me/dr_annakom"],
#formats .format-card a[href*="t.me/dr_annakom"]{
  cursor:pointer;
}


/* ===== SOURCE STYLE BLOCK 18 ===== */
@media (min-width: 901px){

  /* FAQ: reserve a real, non-overlapping left and right column */
  #faq > .wrap{
    display:grid!important;
    grid-template-columns:minmax(0, 43%) minmax(0, 57%)!important;
    column-gap:0!important;
    width:100%!important;
    max-width:none!important;
    padding-left:48px!important;
    padding-right:48px!important;
    box-sizing:border-box!important;
    align-items:start!important;
  }

  /* Left title block must stay inside its own column */
  #faq > .wrap > .faq-intro{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding-right:64px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    position:relative!important;
    z-index:1!important;
  }

  #faq .faq-intro h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(4.6rem, 5.8vw, 7.2rem)!important;
    line-height:.86!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Right FAQ column starts only after the title column */
  #faq > .wrap > .faq-editorial{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-self:stretch!important;
    position:relative!important;
    z-index:3!important;
  }

  #faq .faq-item,
  #faq .faq-editorial summary{
    width:100%!important;
    max-width:none!important;
  }

  /* KEEP arrows at the far right exactly as requested */
  #faq .faq-editorial summary{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) 44px!important;
    column-gap:18px!important;
    align-items:center!important;
    padding:24px 0!important;
  }

  #faq .faq-arrow{
    justify-self:end!important;
    margin-left:auto!important;
    text-align:right!important;
    width:44px!important;
    font-size:1.45rem!important;
  }
}

@media (min-width:901px) and (max-width:1250px){
  #faq > .wrap{
    grid-template-columns:minmax(0, 45%) minmax(0, 55%)!important;
    padding-left:36px!important;
    padding-right:36px!important;
  }
  #faq > .wrap > .faq-intro{
    padding-right:48px!important;
  }
  #faq .faq-intro h2{
    font-size:clamp(4rem,5.3vw,5.8rem)!important;
  }
}


/* ===== SOURCE STYLE BLOCK 19 ===== */
@media (min-width: 901px){

  /* ACTUAL FAQ STRUCTURE:
     #faq > .wrap > .section-head
     #faq > .wrap > .faq-editorial
  */
  #faq > .wrap{
    display:grid!important;
    grid-template-columns:34% 66%!important;
    gap:0!important;
    width:100%!important;
    max-width:none!important;
    padding:0 48px!important;
    box-sizing:border-box!important;
    align-items:start!important;
  }

  #faq > .wrap > .section-head{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0 72px 0 0!important;
    box-sizing:border-box!important;
    position:relative!important;
    overflow:hidden!important;
    z-index:1!important;
  }

  #faq > .wrap > .section-head h2{
    display:block!important;
    width:100%!important;
    max-width:7ch!important;
    margin:0!important;
    font-size:clamp(4.2rem,4.8vw,6.4rem)!important;
    line-height:.88!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  #faq > .wrap > .faq-editorial{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    justify-self:stretch!important;
    position:relative!important;
    z-index:5!important;
    background:var(--bg)!important;
  }

  /* Keep arrows exactly at the far right */
  #faq .faq-editorial summary{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) 44px!important;
    column-gap:18px!important;
    align-items:center!important;
    padding:24px 0!important;
  }

  #faq .faq-arrow{
    justify-self:end!important;
    margin-left:auto!important;
    width:44px!important;
    text-align:right!important;
    font-size:1.45rem!important;
  }
}

@media (min-width:901px) and (max-width:1250px){
  #faq > .wrap{
    grid-template-columns:36% 64%!important;
    padding:0 36px!important;
  }
  #faq > .wrap > .section-head{
    padding-right:52px!important;
  }
  #faq > .wrap > .section-head h2{
    font-size:clamp(3.7rem,4.5vw,5.2rem)!important;
    max-width:6.7ch!important;
  }
}


/* ===== SOURCE STYLE BLOCK 20 ===== */
@media (min-width: 901px){

  /* Give the title more real width; move the questions to the right.
     The right edge of the FAQ stays where it is, so arrows remain at the far right. */
  #faq > .wrap{
    grid-template-columns:48% 52%!important;
    width:100%!important;
    max-width:none!important;
    padding:0 48px!important;
    box-sizing:border-box!important;
    gap:0!important;
  }

  #faq > .wrap > .section-head{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0 96px 0 0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
    position:relative!important;
    z-index:1!important;
  }

  #faq > .wrap > .section-head h2{
    width:100%!important;
    max-width:8.4ch!important;
    margin:0!important;
    font-size:clamp(4rem,4.7vw,6.2rem)!important;
    line-height:.88!important;
    letter-spacing:-.045em!important;
    overflow:visible!important;
    white-space:normal!important;
    word-break:normal!important;
  }

  #faq > .wrap > .faq-editorial{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    justify-self:stretch!important;
    position:relative!important;
    z-index:5!important;
    background:var(--bg)!important;
  }

  /* Keep arrows exactly at the far-right edge */
  #faq .faq-editorial summary{
    width:100%!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) 44px!important;
    column-gap:18px!important;
    align-items:center!important;
    padding:24px 0!important;
  }

  #faq .faq-arrow{
    justify-self:end!important;
    margin-left:auto!important;
    width:44px!important;
    text-align:right!important;
    font-size:1.45rem!important;
  }
}

@media (min-width:901px) and (max-width:1250px){
  #faq > .wrap{
    grid-template-columns:46% 54%!important;
    padding:0 36px!important;
  }

  #faq > .wrap > .section-head{
    padding-right:64px!important;
  }

  #faq > .wrap > .section-head h2{
    max-width:8ch!important;
    font-size:clamp(3.6rem,4.25vw,5rem)!important;
  }
}


/* ===== SOURCE STYLE BLOCK 21 ===== */
/* FAQ section only: khaki version. Layout from v26 is untouched. */
#faq{
  background:#4b503d!important;
  color:#f3ead1!important;
}

#faq > .wrap > .section-head,
#faq > .wrap > .faq-editorial{
  background:#4b503d!important;
}

#faq .eyebrow,
#faq .section-head h2,
#faq .faq-editorial summary,
#faq .faq-editorial summary *,
#faq .faq-question{
  color:#f3ead1!important;
}

#faq .eyebrow::before,
#faq .section-head h2::after{
  background:#cf5a7d!important;
}

#faq .faq-num,
#faq .faq-arrow{
  color:#d75b80!important;
}

#faq .faq-editorial,
#faq .faq-editorial details,
#faq .faq-editorial summary{
  border-color:rgba(243,234,209,.34)!important;
}

#faq .faq-editorial details{
  background:#4b503d!important;
}

#faq .faq-editorial details[open],
#faq .faq-editorial details:hover{
  background:#555b46!important;
}

#faq .faq-editorial details[open] summary,
#faq .faq-editorial details[open] summary *{
  color:#f3ead1!important;
}

#faq .faq-editorial .answer,
#faq .faq-editorial details > div,
#faq .faq-editorial details > p{
  color:#f3ead1!important;
}

#faq .sun-logo,
#faq .sun-mark,
#faq .sun{
  color:#d75b80!important;
  border-color:#d75b80!important;
}

/* Decorative top rule and section code remain readable on khaki */
#faq::before,
#faq .top-rule{
  border-color:#d75b80!important;
  background-color:#d75b80!important;
}

#faq .section-code,
#faq .page-code{
  color:rgba(243,234,209,.58)!important;
}


/* ===== SOURCE STYLE BLOCK 22 ===== */
/* Keep v27 layout unchanged */

/* Pink arrows */
#faq .faq-arrow{
  color:#d75b80!important;
}

/* Open FAQ item: pink fill like the previous version */
#faq .faq-editorial details[open]{
  background:#c85b7c!important;
}

#faq .faq-editorial details[open] summary,
#faq .faq-editorial details[open] summary *,
#faq .faq-editorial details[open] .answer,
#faq .faq-editorial details[open] details > div,
#faq .faq-editorial details[open] details > p{
  color:#f3ead1!important;
}

/* Keep the arrow visible on the pink open state */
#faq .faq-editorial details[open] .faq-arrow{
  color:#f3ead1!important;
}

/* FAQ label in the upper-right corner: no pink fill */
#faq .section-code,
#faq .page-code{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}


/* ===== SOURCE STYLE BLOCK 23 ===== */
/* Arrows: override the broader `summary *` rule with higher specificity */
#faq .faq-editorial summary .faq-arrow{
  color:#d75b80!important;
}
#faq .faq-editorial details[open] summary .faq-arrow{
  color:#f3ead1!important;
}

/* 04 / FAQ is generated by #faq::before, not by .section-code */
#faq::before{
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
  color:rgba(243,234,209,.58)!important;
}


/* ===== SOURCE STYLE BLOCK 24 ===== */
/* Only move the decorative sun in the Telegram/photo block.
   Everything else remains unchanged. */
.tg-photo-block .sun-logo,
.tg-photo-block .sun-mark,
.tg-photo-block .sun,
.telegram-photo-block .sun-logo,
.telegram-photo-block .sun-mark,
.telegram-photo-block .sun,
.focus-photo .sun-logo,
.focus-photo .sun-mark,
.focus-photo .sun{
  transform:translate(72px, 56px)!important;
}


/* ===== SOURCE STYLE BLOCK 25 ===== */
/* Exact logo element in the Telegram photo block */
.tg-photo-feature__sun{
  position:absolute!important;
  right:-34px!important;
  bottom:-38px!important;
  top:auto!important;
  left:auto!important;
  transform:none!important;
  z-index:2!important;
}

@media(max-width:700px){
  .tg-photo-feature__sun{
    right:-18px!important;
    bottom:-24px!important;
    top:auto!important;
  }
}


/* ===== SOURCE STYLE BLOCK 26 ===== */
@media (max-width:700px){
  /* Hide the tiny animated sun from the header progress line on mobile */
  .sunline-sun{
    display:none!important;
    visibility:hidden!important;
  }
}


/* ===== SOURCE STYLE BLOCK 27 ===== */
.loader-v2,.cursor-v2{display:none!important}


/* ===== SOURCE STYLE BLOCK 28 ===== */
.loader-v2,.cursor-v2,.hero-orbit-v2,.focus-orbit-v2,.contact-orbit-v2,.ak-mark-v2,.mini-orbit-v2{display:none!important}


/* ===== MOBILE CONTACT TITLE FIT — 2026-07-16 =====
   Keep the full word "КОНСУЛЬТАЦИЮ" inside narrow phone viewports. */
@media (max-width:430px){
  #contact h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(40px,10.2vw,44px)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }
}

/* ===== EDUCATION DOCUMENT NOTE ===== */
.education-doc-note{
  position:relative;
  margin:clamp(36px,4.5vw,64px) 0 0;
  padding:22px 0 0 34px;
  max-width:48rem;
  border-top:1px solid rgba(243,232,200,.24);
  color:rgba(243,232,200,.72);
  font-size:clamp(.88rem,1.15vw,1rem);
  line-height:1.65;
}
.education-doc-note::before{
  content:"";
  position:absolute;
  left:2px;
  top:29px;
  width:18px;
  height:18px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3 15L15 3M7 3H15V11' stroke='%23d75b80' stroke-width='1.8' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
}
.education-doc-note a{
  color:var(--cream);
  text-decoration-color:var(--rose);
  text-underline-offset:4px;
}
.education-doc-note a:hover{
  color:var(--rose);
}

/* ===== FIRST MARQUEE — GAPLESS CONTINUOUS FLOW ===== */
.marquee{
  overflow:hidden;
}
.m-track{
  display:flex;
  width:max-content;
  animation:none!important;
  transform:translate3d(0,0,0);
  will-change:transform;
  backface-visibility:hidden;
}
.m-group{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:28px;
  padding:13px 28px 13px 0;
  min-width:max-content;
}
.m-group .tiny-sun{
  flex:0 0 auto;
  margin:0!important;
}
@media(max-width:640px){
  .m-group{
    gap:22px;
    padding-right:22px;
  }
}
@media(prefers-reduced-motion:reduce){
  .m-track{
    transform:none!important;
  }
}
