/* Feynman Learn — main website. Same family as the SMS: ivory, deep green, gold, serif headings. */
:root{
  --ivory:#f7f3ea; --paper:#fffdf8; --ink:#1d2421; --muted:#5d665f; --line:#e4dccb;
  --green:#14281f; --green2:#1f4a37; --gold:#c39a4b; --gold2:#a87f33;
  --ac:#1f6b45; --en:#0b2c94; --cn:#b3261e; --su:#1b1fd6;
  --r:14px; --shadow:0 1px 2px rgba(20,40,31,.06),0 8px 24px rgba(20,40,31,.07);
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Inter','Kantumruy Pro',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
html[data-lang=km] body{font-family:'Kantumruy Pro','Inter',system-ui,sans-serif;line-height:1.8}
html[data-lang=km] [data-l=en], html[data-lang=en] [data-l=km]{display:none!important}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3{margin:0;font-weight:600;line-height:1.15}
h1,h2{font-family:var(--serif)}
html[data-lang=km] h1, html[data-lang=km] h2{font-family:'Kantumruy Pro',sans-serif;font-weight:700;line-height:1.35}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:14px;max-width:820px}
html[data-lang=km] h2{font-size:clamp(1.45rem,2.8vw,2.1rem)}
h3{font-size:1.12rem}
.kicker{margin:0 0 8px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);font-weight:600}
.eyebrow{margin:0 0 14px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.intro{max-width:760px;color:var(--muted);font-size:1.05rem;margin:0 0 26px}
.note,.small{color:var(--muted);font-size:.88rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:600;text-decoration:none;font-size:.95rem;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px);background:var(--green2)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#1b1306}
.btn.gold:hover{background:#d2ad60}
.btn.ghost{background:transparent;color:var(--green)}
.btn.ghost:hover{background:rgba(20,40,31,.06)}
.btn.sm{padding:8px 16px;font-size:.86rem}
.btn.wide{width:100%}
.row-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* header */
.top{position:sticky;top:0;z-index:30;background:rgba(247,243,234,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:20px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand b{display:block;font-family:var(--serif);font-size:1.35rem;line-height:1}
.brand small{display:block;font-size:.72rem;color:var(--muted);white-space:nowrap}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:8px 11px;border-radius:999px;text-decoration:none;font-size:.92rem;color:var(--ink)}
.nav a:hover{background:rgba(20,40,31,.07)}
.top-act{display:flex;align-items:center;gap:8px}
.lang{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 12px;font:600 .82rem var(--sans);cursor:pointer;color:var(--ink)}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);border-radius:12px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px}
.burger i{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px}

/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,#2b5a45 0,transparent 60%),var(--green);color:#f4efe3;padding:70px 0 34px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6.4vw,4.8rem);line-height:1.02;letter-spacing:-.01em;margin-bottom:18px}
html[data-lang=km] .hero h1{font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.3}
.hero .lead{font-size:1.1rem;color:#d8d2c3;max-width:600px;margin:0 0 28px}
.hero .lead b{color:#fff;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn.ghost{color:#f4efe3;border-color:rgba(244,239,227,.45)}
.hero .btn.ghost:hover{background:rgba(255,255,255,.08)}
.hero-crests{position:relative;height:340px}
.hero-crests img{position:absolute;width:190px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.hero-crests .c1{left:50%;top:0;transform:translateX(-50%);width:220px;z-index:2}
.hero-crests .c2{left:4%;top:120px;transform:rotate(-8deg)}
.hero-crests .c3{right:4%;top:120px;transform:rotate(8deg)}
.stats{list-style:none;margin:46px 0 0;padding:22px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid rgba(244,239,227,.18)}
.stats b{display:block;font-family:var(--serif);font-size:2.3rem;color:var(--gold);line-height:1}
.stats span{font-size:.86rem;color:#cfc8b8}

/* sections */
.sec{padding:84px 0}
.sec.dark{background:var(--green);color:#f4efe3}
.sec.dark .kicker{color:var(--gold)}
.sec.dark h2{color:#fff}

.schools{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.schools.two{grid-template-columns:1fr 1fr;margin-top:18px}
.school{position:relative;display:block;padding:28px 26px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;overflow:hidden}
.school::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--c)}
.school:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,40,31,.12)}
.school img{margin-bottom:14px}
.school h3{font-family:var(--serif);font-size:1.6rem;color:var(--c)}
.school p{color:var(--muted);margin:8px 0 14px;font-size:.95rem}
.school .go{font-weight:600;font-size:.9rem;color:var(--c)}
.schools.two .school{display:flex;gap:18px;align-items:center}
.schools.two .school img{margin:0;flex:none}
.schools.two .school img.bk{border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,.18)}
.schools.two p{margin-bottom:0}
.s-ac{--c:var(--ac)} .s-en{--c:var(--en)} .s-cn{--c:var(--cn)} .s-su{--c:var(--su)} .s-bk{--c:var(--gold2)}

.steps{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.steps li{padding:24px;border:1px solid rgba(244,239,227,.16);border-radius:var(--r);background:rgba(255,255,255,.03)}
.steps li>b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#1b1306;font-family:var(--serif);font-size:1.3rem;margin-bottom:14px}
.steps h3{color:#fff;margin-bottom:6px}
.steps p{margin:0;color:#cfc8b8;font-size:.94rem}

.school-sec{border-top:1px solid var(--line)}
.school-sec .kicker{color:var(--c)}
.t-ac{--c:var(--ac)} .t-en{--c:var(--en);background:#f2f4fb} .t-cn{--c:var(--cn)} .t-su{--c:var(--su);background:#f1f1fd}
.sec-head{display:flex;gap:18px;align-items:center;margin-bottom:14px}
.sec-head img{flex:none}
.sec-head h2{margin:0}
.fees{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fees .wide{grid-column:span 2}
.fee{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.fee h3{color:var(--c);margin-bottom:12px}
.fee table{width:100%;border-collapse:collapse;font-size:.95rem}
.fee th{text-align:right;font-weight:500;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;padding-bottom:6px}
.fee th:first-child{text-align:left}
.fee td{padding:9px 0;border-top:1px solid var(--line)}
.fee td+td{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.fee tr.sub td{color:var(--muted);font-weight:500}
.fee.app{background:var(--c);color:#fff;border-color:transparent}
.fee.app h3{color:#fff}
.fee.app p{color:rgba(255,255,255,.88)}
.fee.app a{color:#fff}
.fee.app .btn{background:#fff;color:var(--c);border-color:#fff}
.fee.app .small{color:rgba(255,255,255,.75);margin-top:14px}
.ticks{margin:0;padding:0;list-style:none}
.ticks li{padding:8px 0 8px 26px;border-top:1px solid var(--line);position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:16px;width:10px;height:6px;border-left:2px solid var(--c);border-bottom:2px solid var(--c);transform:rotate(-45deg)}
.split{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.su-art{justify-self:center;border-radius:36px;box-shadow:0 18px 40px rgba(27,31,214,.25)}

.shelf{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.shelf figure{margin:0}
.shelf img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px;box-shadow:0 6px 16px rgba(0,0,0,.16);background:#e9e2d2}
.shelf figcaption{font-size:.82rem;color:var(--muted);margin-top:8px;text-align:center}

.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}
.yt{all:unset;cursor:pointer;display:block;border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(244,239,227,.14);position:relative;transition:transform .2s}
.yt:hover{transform:translateY(-3px)}
.yt:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.yt img{width:100%;aspect-ratio:16/9;object-fit:cover}
.yt .play{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%);width:58px;height:40px;border-radius:12px;background:rgba(195,0,0,.88)}
.yt .play::after{content:"";position:absolute;left:23px;top:11px;border-left:16px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.yt b{display:block;padding:14px 16px 2px;color:#fff;font-weight:600;font-size:.98rem;line-height:1.45}
.yt small{display:block;padding:0 16px 16px;color:#bdb6a6;font-size:.84rem}

.branches{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.branch{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
.branch h3{font-family:var(--serif);font-size:1.4rem;margin-bottom:6px}
html[data-lang=km] .branch h3{font-family:'Kantumruy Pro',sans-serif;font-size:1.1rem}
.branch p{margin:6px 0;color:var(--muted)}
.branch a{color:var(--green2);font-weight:600}

.trial-sec{background:linear-gradient(180deg,var(--ivory),#efe7d6)}
.trial{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 18px 50px rgba(20,40,31,.12)}
.trial label{display:block;font-size:.88rem;font-weight:600;margin-bottom:14px}
.trial input,.trial select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:400 1rem var(--sans);color:var(--ink)}
.trial input:focus,.trial select:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.trial .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trial .hp{position:absolute;left:-9999px}
.trial .err{color:#a3261d;font-size:.9rem;margin:0 0 10px}
.trial .ok{color:var(--ac);font-weight:600;margin:12px 0 0;text-align:center}
.contact{list-style:none;padding:0;margin:0}
.contact li{padding:6px 0}
.contact a{font-weight:600;color:var(--green2)}

.foot{background:#0e1c16;color:#cfc8b8;padding:54px 0 24px}
.foot-in{display:grid;grid-template-columns:.9fr 2.1fr;gap:30px}
.foot-brand{display:flex;gap:12px;align-items:center}
.foot-brand b{display:block;font-family:var(--serif);font-size:1.4rem;color:#fff}
.foot-brand small{font-size:.82rem}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.foot h4{margin:0 0 10px;color:#fff;font-size:.9rem}
.foot-cols a{display:block;text-decoration:none;font-size:.9rem;padding:3px 0;color:#cfc8b8}
.foot-cols a:hover{color:var(--gold)}
.foot .staff{opacity:.7;font-size:.82rem;margin-top:6px}
.copy{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;color:#8d8778}

.ytbox{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:16px}
.ytbox[hidden]{display:none}
.ytbox-in{position:relative;width:min(960px,100%)}
.ytframe{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}
.ytframe iframe{width:100%;height:100%;border:0}
.ytclose{position:absolute;right:0;top:-46px;width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-size:24px;cursor:pointer}

@media (max-width:980px){
  .nav{display:none;position:absolute;left:0;right:0;top:68px;flex-direction:column;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 16px 16px}
  .nav.open{display:flex}
  .nav a{padding:12px}
  .burger{display:flex}
  .top-act .btn{display:none}
  .hero-in{grid-template-columns:1fr}
  .hero-crests{height:200px;order:-1}
  .hero-crests img{width:120px}
  .hero-crests .c1{width:140px}
  .hero-crests .c2,.hero-crests .c3{top:70px}
  .stats{grid-template-columns:1fr 1fr}
  .schools,.steps,.fees,.videos,.branches{grid-template-columns:1fr 1fr}
  .fees .wide{grid-column:span 2}
  .shelf{grid-template-columns:repeat(4,1fr)}
  .split{grid-template-columns:1fr}
  .su-art{display:none}
  .foot-in{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .sec{padding:60px 0}
  .hero{padding:34px 0 28px}
  .brand small{display:none}
  .schools,.schools.two,.steps,.fees,.videos,.branches{grid-template-columns:1fr}
  .fees .wide{grid-column:auto}
  .shelf{grid-template-columns:repeat(3,1fr);gap:12px}
  .trial .two{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr 1fr}
  .sec-head img{width:54px;height:54px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.offer{margin:-8px 0 26px;padding:14px 18px;border:1px dashed var(--gold);border-radius:var(--r);background:#fbf5e6;max-width:760px}

/* Coaching Community: cards row of three, Hall of Fame, join cards */
.s-co{--c:var(--green2)} .t-co{--c:var(--green2);background:#eef3ee}
.schools.three{grid-template-columns:repeat(3,1fr)}
.co-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.co-photo{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.co-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.co-photo figcaption{padding:12px 16px;font-size:.9rem;color:var(--muted)}
.co-photo figcaption a{color:var(--green2);font-weight:600}
.fame{background:var(--green);color:#f4efe3;border-radius:var(--r);padding:22px 22px 18px;box-shadow:0 14px 34px rgba(20,40,31,.18)}
.fame-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.fame-head h3{font-family:var(--serif);font-size:1.7rem;color:var(--gold)}
html[data-lang=km] .fame-head h3{font-family:'Kantumruy Pro',sans-serif;font-size:1.25rem}
.live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#cfc8b8}
.live i{width:8px;height:8px;border-radius:50%;background:#4cd47f;box-shadow:0 0 0 3px rgba(76,212,127,.2)}
.fame-sec{padding:12px 0;border-top:1px solid rgba(244,239,227,.14)}
.fame-sec h4{margin:0 0 6px;font-size:.88rem;color:#fff;font-weight:600}
.fame-sec ul{list-style:none;margin:0;padding:0}
.fame-sec li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;font-size:.9rem}
.fame-sec li span{color:#cfc8b8}
.fame-sec li b{color:#fff;font-weight:600;text-align:right}
.fame-sec li b small{display:block;font-weight:400;color:var(--gold);font-size:.78rem}
.fame-sec li.none{color:#9e978a;font-style:italic;font-size:.86rem}
.fame-note{margin:8px 0 0;font-size:.8rem;color:#a9a294}
.fame-stu{border-top:2px solid rgba(244,239,227,.3)}
.fame-more{display:inline-block;margin-top:6px;color:var(--gold);font-weight:600;text-decoration:none}
.co-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}
.co-card{display:flex;flex-direction:column;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.co-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,40,31,.12)}
.co-card>b{font-size:1.6rem;line-height:1;margin-bottom:10px}
.co-card h3{color:var(--green2)}
.co-card p{color:var(--muted);font-size:.92rem;margin:6px 0 12px;flex:1}
.co-card .go{font-weight:600;font-size:.9rem;color:var(--gold2)}
@media (max-width:980px){
  .schools.three{grid-template-columns:1fr 1fr}
  .co-grid{grid-template-columns:1fr}
  .co-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .schools.three,.co-cards{grid-template-columns:1fr}
}
