/*
 * uBitto v3.10 Core Styles
 * Shared chrome + components used on every v3.10 page (per MIGRATION_BRIEF.md §0.2/§0.3).
 * Page-specific overrides go in their own template files; do not bloat this.
 */

/* ─────────────────────────── BASE ─────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-0.03em;line-height:1.05}
em{font-style:italic;font-weight:300}

.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
@media(max-width:768px){.wrap{padding:0 20px}}

.mono{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase}

/* ─────────────────────────── ISSUE BAR ─────────────────────────── */
.issue{background:var(--ink);color:var(--paper);padding:9px 0;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase}
.issue .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.issue a{color:var(--paper);border-bottom:1px solid var(--paper)}
.issue-tag{background:var(--paper);padding:2px 7px;letter-spacing:0.1em;color:var(--ink);font-weight:700}
/* Mobile: hide the decorative descriptive text after the tag — keep only
   the tag chip + the action link in a tight single row. The descriptive
   copy is a sibling text node of .issue-tag inside the first <div>, so
   we use font-size:0 on the parent and restore it on .issue-tag. */
@media(max-width:768px){
  .issue{padding:7px 0}
  .issue .wrap{gap:8px;flex-wrap:nowrap}
  .issue .wrap>div:first-child{font-size:0;line-height:1;flex-shrink:0}
  .issue .wrap>div:first-child .issue-tag{font-size:10px;line-height:1.4}
  .issue .wrap>div:last-child{font-size:10px;text-align:right}
  .issue .wrap>div:last-child a{white-space:nowrap}
}

/* ─────────────────────────── MASTHEAD + DROPDOWNS ─────────────────────────── */
/* Fixed (not sticky) so the hide-on-scroll transform works regardless of body overflow context. */
.mh{background:rgba(254,248,231,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2);position:fixed;top:0;left:0;right:0;z-index:50;transition:transform .28s cubic-bezier(.4,0,.2,1);will-change:transform}
.mh.mh--hidden{transform:translateY(-100%)}
/* Masthead spans full viewport width (override the .wrap 1280px cap) */
.mh > .wrap{max-width:none}
/* Reserve room so page content doesn't sit under the fixed masthead.
   Mobile masthead is ~67px tall (38px burger + 14*2 padding + 1px border) —
   keep padding-top tight to that height so .issue bar sits flush with the
   masthead bottom (no white gap on mobile). */
/* Page top offset — needed for templates that still render the custom
   .mh masthead (fixed top:0, ~78px tall). Templates converted to use
   BuddyBoss's default header opt out via the `.v3-10-bb-header` body
   class — BB header handles its own offset, so the manual padding
   would double-count and push content below the header. */
body.v3-10:not(.v3-10-bb-header){padding-top:78px}
@media(max-width:980px){body.v3-10:not(.v3-10-bb-header){padding-top:67px}}
/* Campaign LPs (speak-in-4, kimchi-making) intentionally don't include the
   v3.10 masthead — they have their own sticky `.bar` at top:0. Zero the
   body padding so there's no paper gap above their sticky bar. */
body.v3-10-speak4,
body.v3-10-kimchi{padding-top:0}
.mh .wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding:14px 32px}
.brand-logo{height:34px;width:auto;display:block}
.nav{display:flex;justify-content:center;gap:6px}
.nav-item{position:relative}
.nav-item>span{display:inline-block;padding:8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;font-weight:700;cursor:pointer;color:var(--ink-2);transition:color .2s;text-transform:uppercase;border-radius:6px}
.nav-item:hover>span{color:var(--ink);background:var(--paper-2)}
.nav-item>span.cur{color:var(--ink)}
.nav-item>span.cur::after{content:'';position:absolute;left:14px;right:14px;bottom:-4px;height:3px;background:var(--gold);border-radius:2px}
.nav-drop{position:absolute;top:calc(100% + 8px);left:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:10px;min-width:280px;box-shadow:0 20px 50px -12px rgba(31,36,44,.25);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s;display:flex;flex-direction:column;gap:1px;z-index:60}
.nav-item:hover .nav-drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop a{padding:10px 14px;border-radius:8px;transition:all .15s;display:flex;flex-direction:column;gap:2px}
.nav-drop a:hover{background:var(--paper-2);color:var(--ink)}
.nav-drop .ndn{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
.nav-drop .ndd{font-family:var(--mono);font-size:9.5px;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;font-weight:600;line-height:1.3}
.nav-drop a.prio{background:var(--paper-2);font-weight:600;color:var(--ink);padding-left:18px;border-left:3px solid var(--gold)}
.nav-drop a.prio:hover{background:var(--gold);color:var(--ink)}
.nav-drop a.sub{padding-left:24px;font-size:12px;color:var(--ink-2);position:relative}
.nav-drop a.sub::before{content:'·';position:absolute;left:14px;font-weight:700}
.nav-drop a.hl{margin-top:6px;border-top:1px dashed var(--line);padding-top:11px;color:var(--ink);font-weight:600}
.nav-drop a.hl::after{content:'New';font-size:9px;background:var(--gold);color:var(--ink);padding:2px 6px;border-radius:3px;margin-left:8px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase}
.nav-cta{display:flex;gap:14px;align-items:center}
.nav-pricing{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;font-weight:700;color:var(--ink-2);text-transform:uppercase;transition:color .2s}
.nav-pricing:hover{color:var(--ink)}

/* Hamburger button — hidden on desktop */
.mh-burger{display:none;width:38px;height:38px;background:transparent;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:4px;transition:background .15s,border-color .15s}
.mh-burger:hover{background:var(--paper-2);border-color:var(--ink)}
.mh-burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.mh-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mh-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.mh-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:980px){
  .nav{display:none}
  .mh .wrap{grid-template-columns:auto 1fr;gap:0}
  .nav-pricing{display:none}
  .nav-cta{justify-content:flex-end}
  .nav-cta .btn-gold{display:none}
  .mh-burger{display:inline-flex}
}

/* Mobile slide-in panel */
.mh-mobile-backdrop{position:fixed;inset:0;background:rgba(31,36,44,.55);z-index:200;animation:mh-fade .2s ease-out}
.mh-mobile{position:fixed;top:0;right:0;bottom:0;width:min(380px,90vw);background:var(--paper);z-index:201;transform:translateX(100%);transition:transform .25s ease-out;display:flex;flex-direction:column;box-shadow:-12px 0 30px -8px rgba(31,36,44,.25);overflow:hidden}
.mh-mobile.open{transform:translateX(0)}
.mh-mobile-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}
.mh-mobile-brand img{height:30px;width:auto;display:block}
.mh-mobile-close{width:36px;height:36px;font-size:28px;line-height:1;color:var(--ink-2);background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.mh-mobile-close:hover{background:var(--paper-2);border-color:var(--ink);color:var(--ink)}
.mh-mobile-body{padding:18px 22px 32px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}

/* Account row at top */
.mh-mobile-account{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;margin-bottom:22px;text-decoration:none}
.mh-mobile-account:hover{border-color:var(--ink)}
.mh-mobile-account-label{font-family:var(--mono);font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.mh-mobile-account-name{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);letter-spacing:-0.01em;line-height:1.2}

/* Sections */
.mh-mobile-sec{margin-bottom:24px}
.mh-mobile-sec h5{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;font-weight:800;padding-bottom:6px;border-bottom:1px dashed var(--line)}
.mh-mobile-sec ul{list-style:none;padding:0;margin:0}
.mh-mobile-sec li{margin:0}
.mh-mobile-sec a{display:block;padding:9px 4px;font-size:14px;color:var(--ink);font-weight:500;border-radius:6px;line-height:1.3}
.mh-mobile-sec a:hover{background:var(--paper-2);color:var(--ink);padding-left:8px}
.mh-mobile-sec a.prio{color:var(--ink);font-weight:600;border-left:3px solid var(--gold);padding-left:12px;background:var(--paper-2)}
.mh-mobile-sec a.prio:hover{background:var(--gold);color:var(--ink)}
.mh-mobile-sec a.sub{padding-left:18px;font-size:13px;color:var(--ink-2);font-weight:400}
.mh-mobile-sec a.sub::before{content:'·';margin-right:6px;color:var(--gold);font-weight:700}
.mh-mobile-sec a.hl{margin-top:6px;font-weight:600}
.mh-mobile-sec a.hl::after{content:'New';font-size:9px;background:var(--gold);color:var(--ink);padding:2px 6px;border-radius:3px;margin-left:8px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase}

/* Sticky CTA at bottom */
.mh-mobile-cta{padding:16px 0 0;border-top:1px solid var(--line);margin-top:8px;display:flex;flex-direction:column;gap:10px}
.mh-mobile-cta .btn{justify-content:center;width:100%}
.mh-mobile-logout{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);text-align:center;font-weight:700;padding:8px}
.mh-mobile-logout:hover{color:var(--ink)}

body.mh-mobile-locked{overflow:hidden}

@keyframes mh-fade{from{opacity:0}to{opacity:1}}

/* ─────────────────────────── BUTTONS ─────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:600;transition:all .2s;border:1px solid transparent;cursor:pointer;letter-spacing:0.01em;border-radius:8px;text-decoration:none}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--ink-2);color:var(--paper)}
.btn-gold{background:var(--gold);color:var(--ink);font-weight:700;box-shadow:0 4px 12px -3px rgba(252,185,0,.35)}
.btn-gold:hover{background:var(--gold-deep);color:var(--paper);box-shadow:0 8px 20px -3px rgba(252,185,0,.45)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-lg{padding:15px 24px;font-size:14px}
.btn-mega{padding:18px 28px;font-size:15px;border-radius:10px;font-weight:700}
.btn-arr::after{content:'→';margin-left:4px;transition:transform .2s}
.btn-arr:hover::after{transform:translateX(4px)}

/* ─────────────────────────── SECTION NUMBER ─────────────────────────── */
.snum{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;color:var(--ink);text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:22px;font-weight:700}
.snum::before{content:'';display:block;width:32px;height:2px;background:var(--ink)}
.snum .kr{font-family:var(--kr);font-weight:900;color:var(--ink-2);letter-spacing:0;font-size:13px}

/* Footer styles live in /template-parts/ubitto-footer.php (self-contained drop-in). */

/* ─────────────────────────── HEROES ─────────────────────────── */
/* Common page hero (light variant) */
.phero{padding:80px 0 70px;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phero h1{font-size:clamp(48px,8vw,108px);font-weight:300;letter-spacing:-0.045em;line-height:.98;margin-bottom:24px;max-width:1100px}
.phero h1 em{font-style:italic;font-weight:500;color:var(--ink);background:var(--gold);padding:0 12px;border-radius:8px}
.phero .lead{font-size:18px;color:var(--ink-2);max-width:580px;font-weight:400;line-height:1.55}
.phero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;z-index:1}
@media(max-width:900px){.phero-grid{grid-template-columns:1fr;gap:50px}}

/* Section hero (per-page colored gradient + KR watermark) */
.sphero{padding:80px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.sphero.mint{background:linear-gradient(180deg,var(--mint) 0%,var(--paper) 100%)}
.sphero.blue{background:linear-gradient(180deg,var(--blue) 0%,var(--paper) 100%)}
.sphero.pink{background:linear-gradient(180deg,var(--pink) 0%,var(--paper) 100%)}
.sphero.peach{background:linear-gradient(180deg,var(--peach) 0%,var(--paper) 100%)}
.sphero.cream{background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%)}
.sphero::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,30vw,400px);color:rgba(31,36,44,.06);bottom:-100px;right:-60px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.sphero .wrap{position:relative;z-index:1}
.sphero .crumb{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:30px;font-weight:600}
.sphero .crumb a{border-bottom:1px solid var(--ink-2)}
.sphero h1{font-size:clamp(48px,7vw,96px);font-weight:300;letter-spacing:-0.045em;line-height:.96;margin-bottom:18px;max-width:880px}
.sphero h1 em{font-style:italic;font-weight:500;background:var(--gold);padding:0 12px;border-radius:8px}
.sphero-kr{font-family:var(--kr);font-weight:400;font-size:24px;color:var(--ink-2);margin-bottom:14px;font-style:italic}
.sphero .lead{font-size:19px;color:var(--ink-2);max-width:680px;line-height:1.55;margin-bottom:24px;font-weight:400}
.sphero-acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.sphero-trust{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;font-weight:600;flex-wrap:wrap}
.sphero-trust .check{color:var(--green);font-weight:800}
.sphero-trust span:not(:last-child)::after{content:'·';margin-left:14px}

/* ─────────────────────────── SECTIONS / GRIDS / CARDS ─────────────────────────── */
.sec{padding:80px 0;border-bottom:1px solid var(--line)}
.sec.alt{background:var(--paper-2)}
.sec-head{margin-bottom:50px;max-width:780px}
.sec-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98}
.sec-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.sec-head p{font-size:17px;color:var(--ink-2);line-height:1.55;margin-top:14px;max-width:680px}

.sgrid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sgrid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sgrid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(max-width:900px){.sgrid-3,.sgrid-4{grid-template-columns:1fr 1fr}.sgrid-2{grid-template-columns:1fr}}
@media(max-width:600px){.sgrid-3,.sgrid-4{grid-template-columns:1fr}}

.scard{padding:30px 28px;background:var(--paper);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}
.scard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15)}
.scard::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:80px;color:rgba(31,36,44,.04);bottom:-15px;right:-10px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.scard .ic{font-family:var(--serif);font-size:42px;font-style:italic;font-weight:400;color:var(--ink);opacity:.85;margin-bottom:14px;letter-spacing:-0.04em;line-height:1;position:relative;z-index:1}
.scard h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-bottom:8px;line-height:1.2;position:relative;z-index:1}
.scard h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.scard p{font-size:14px;color:var(--ink-2);line-height:1.55;position:relative;z-index:1}

.icard{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.icard:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18)}
.icard-img{aspect-ratio:16/10;overflow:hidden;background:var(--cream);position:relative}
.icard-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.icard:hover .icard-img img{transform:scale(1.05)}
.icard-tag{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;background:var(--paper);padding:5px 10px;border-radius:5px;z-index:2;color:var(--ink)}
.icard-body{padding:24px}
.icard h4{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-0.01em;margin-bottom:6px}
.icard h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.icard p{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:14px;flex:1;font-style:italic}
.icard-cta{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);font-weight:800;display:flex;align-items:center;gap:6px;padding-top:12px;border-top:1px dashed var(--line)}

/* ─────────────────────────── FINAL CTA SECTION ─────────────────────────── */
.cta-final{padding:120px 0;background:var(--ink);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,24vw,340px);color:rgba(252,185,0,.08);top:50%;left:50%;transform:translate(-50%,-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.cta-final-c{position:relative;z-index:1}
.cta-final h2{font-size:clamp(48px,7.5vw,108px);font-weight:300;line-height:.96;letter-spacing:-0.05em;margin-bottom:20px}
.cta-final h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 12px;border-radius:8px}
.cta-final p{font-size:18px;color:rgba(254,248,231,.78);max-width:560px;margin:0 auto 32px;line-height:1.55}
.cta-final .btn-ghost{border-color:rgba(254,248,231,.3);color:var(--paper)}
.cta-final .btn-ghost:hover{background:var(--paper);color:var(--ink)}

/* ─────────────────────────── HRDC INFO BLOCK ─────────────────────────── */
/* Used on path-corporate, possibly contact. Dark slab with two-up stat card. */
.hrdc-block{padding:80px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.hrdc-block::after{content:attr(data-watermark);position:absolute;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(220px,28vw,400px);color:rgba(252,185,0,.08);top:50%;right:-40px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.hrdc-block .wrap{position:relative;z-index:1}
.hrdc-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.hrdc-grid h2{font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:.96;letter-spacing:-0.04em;margin-bottom:20px;font-family:var(--serif)}
.hrdc-grid h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.hrdc-grid p{font-size:17px;color:rgba(254,248,231,.78);line-height:1.6;margin-bottom:14px}
.hrdc-stat{padding:28px;background:rgba(254,248,231,.06);border:1px solid rgba(254,248,231,.15);border-radius:14px}
.hrdc-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}
.hrdc-stat-row > div{padding:18px 0;border-bottom:1px dashed rgba(254,248,231,.15)}
.hrdc-stat-row .lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:rgba(254,248,231,.5);text-transform:uppercase;font-weight:600;margin-bottom:4px}
.hrdc-stat-row .val{font-family:var(--serif);font-size:28px;font-style:italic;font-weight:500;color:var(--gold);letter-spacing:-0.02em}
.hrdc-stat-row .val.green{color:var(--green)}
.hrdc-stat .note{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:rgba(254,248,231,.5);font-weight:600;text-align:center;margin-top:14px}
@media(max-width:900px){.hrdc-grid{grid-template-columns:1fr}}

/* ─────────────────────────── CORPORATE LOGOS CAROUSEL ─────────────────────────── */
.clog{padding:60px 0;border-bottom:1px solid var(--line);background:var(--paper-2);overflow:hidden}
.clog-lbl{text-align:center;margin-bottom:24px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.clog-track{display:flex;gap:50px;animation:mq 50s linear infinite;width:max-content;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.clog-item{display:flex;align-items:center;gap:14px;flex-shrink:0;color:var(--ink);font-family:var(--serif);font-style:italic;font-size:24px;font-weight:500;letter-spacing:-0.01em;opacity:.75;transition:opacity .2s}
.clog-item:hover{opacity:1}
.clog-item img{width:50px;height:50px;object-fit:contain;flex-shrink:0;background:var(--paper);border-radius:10px;padding:6px;border:1px solid var(--line)}

/* ─────────────────────────── MEASUREMENT (LEVSGRW pitch — dark) ─────────────────────────── */
/* Used on path-corporate, corporate-tracking, homepage. Per MIGRATION_BRIEF §3.2 — never reduce LEVSGRW to a feature bullet. */
.measure{padding:100px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.measure::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(252,185,0,.07);top:50%;right:-100px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.measure .wrap{position:relative;z-index:1}
.measure-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.measure .snum{color:var(--gold)}
.measure .snum::before{background:var(--gold)}
.measure .snum .kr{color:rgba(254,248,231,.7)}
.measure h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;margin-bottom:18px;color:var(--paper)}
.measure h2 em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 8px;border-radius:6px}
.measure p{font-size:17px;color:rgba(254,248,231,.78);line-height:1.65;margin-bottom:14px}
.measure p strong{color:var(--paper);font-weight:600}
.measure-pull{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:500;line-height:1.45;padding:18px 24px;border-left:3px solid var(--gold);background:rgba(254,248,231,.04);border-radius:0 12px 12px 0;margin:24px 0;color:var(--paper)}
.measure-points{padding:36px;background:rgba(254,248,231,.04);border:1px solid rgba(254,248,231,.15);border-radius:18px}
.measure-points h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;color:var(--gold);margin-bottom:18px}
.measure-points h4 em{font-style:italic}
.measure-point{padding:14px 0;border-bottom:1px dashed rgba(254,248,231,.15);display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.measure-point:last-child{border-bottom:none}
.measure-point .ic{font-family:var(--serif);font-style:italic;font-weight:300;font-size:32px;color:var(--gold);line-height:.85;letter-spacing:-0.04em;flex-shrink:0;width:36px}
.measure-point .txt{font-size:14px;color:rgba(254,248,231,.85);line-height:1.55}
.measure-point .txt strong{color:var(--paper);font-weight:600;display:block;margin-bottom:2px}
.measure-point .txt a{color:var(--gold);font-weight:600;border-bottom:1px solid var(--gold)}
@media(max-width:900px){.measure-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── QUOTE FORM SECTION ─────────────────────────── */
/* Used on path-corporate, corporate-tracking, contact. Two-column: copy + form card. */
.cqf{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.cqf-grid{display:grid;grid-template-columns:.5fr .5fr;gap:60px;align-items:start}
.cqf-grid h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;font-family:var(--serif)}
.cqf-grid h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.cqf-grid .lead{font-size:17px;color:var(--ink-2);line-height:1.6;margin-bottom:24px}
.cqf-grid ul{list-style:none;padding:0}
.cqf-grid ul li{padding:14px 0;border-bottom:1px dashed var(--line);font-size:15px;color:var(--ink-2);display:grid;grid-template-columns:24px 1fr;gap:10px;line-height:1.5}
.cqf-grid ul li::before{content:'✓';color:var(--ink);font-weight:800;background:var(--gold);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px}
.qform{padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px -8px rgba(31,36,44,.08)}
.qform-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:14px}
.qform h3{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px}
.qform h3 em{font-style:italic;color:var(--ink)}
.qform .qsub{font-size:14px;color:var(--ink-2);margin-bottom:24px;font-style:italic}
.qform-row{margin-bottom:14px}
.qform-row label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}
.qform-row input,.qform-row select,.qform-row textarea{width:100%;padding:12px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:14px;color:var(--ink);font-weight:400;transition:border .2s}
.qform-row input:focus,.qform-row select:focus,.qform-row textarea:focus{outline:none;border-color:var(--ink)}
.qform-row textarea{min-height:80px;resize:vertical}
.qform-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qform-cta{width:100%;padding:14px;background:var(--gold);color:var(--ink);border:2px solid var(--ink);border-radius:8px;font-family:var(--mono);font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;cursor:pointer;transition:all .2s;margin-top:8px}
.qform-cta:hover{background:var(--ink);color:var(--gold)}
.qform-trust{margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--muted);font-weight:600;text-transform:uppercase;text-align:center}
@media(max-width:900px){.cqf-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── SKILL TRACKING UPSELL ─────────────────────────── */
.upsell{padding:90px 0;border-bottom:1px solid var(--line);background:var(--cream);position:relative;overflow:hidden}
.upsell::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.06);top:50%;left:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.upsell .wrap{position:relative;z-index:1}
.upsell-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.upsell-tag{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--gold);padding:7px 14px;border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;font-weight:800;margin-bottom:18px}
.upsell-tag .kr{font-family:var(--kr);font-weight:900;font-size:13px;letter-spacing:0}
.upsell h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;margin-bottom:18px}
.upsell h2 em{font-style:italic;color:var(--ink);background:var(--paper);padding:0 8px;border-radius:6px}
.upsell p{font-size:17px;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.upsell p strong{color:var(--ink);font-weight:600}
.upsell-card{padding:32px;background:var(--paper);border:2.5px solid var(--ink);border-radius:18px;box-shadow:0 30px 60px -20px rgba(31,36,44,.2);position:relative}
.upsell-card::before{content:'NEW';position:absolute;top:-13px;left:24px;background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:0.2em;padding:5px 12px;font-weight:800;border-radius:5px}
.upsell-card h3{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px;line-height:1.15}
.upsell-card h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.upsell-card .sub{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:18px}
.upsell-card-rows{margin-bottom:18px}
.upsell-card-row{padding:11px 0;border-bottom:1px dashed var(--line);font-size:13px;color:var(--ink-2);display:grid;grid-template-columns:22px 1fr;gap:10px;line-height:1.5}
.upsell-card-row::before{content:'✓';color:var(--ink);background:var(--gold);width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:800;font-size:11px}
.upsell-card-row strong{color:var(--ink);font-weight:600}
.upsell-pricing{padding:16px 0;border-top:2px solid var(--ink);margin-bottom:14px}
.upsell-pricing .label{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:4px}
.upsell-pricing .price{font-family:var(--serif);font-size:32px;font-weight:300;font-style:italic;color:var(--ink);letter-spacing:-0.03em;line-height:1}
.upsell-pricing .price em{background:var(--gold);padding:0 6px;border-radius:5px}
.upsell-pricing .meta{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:600;margin-top:4px}
.upsell-cta{display:block;text-align:center;width:100%;padding:14px;background:var(--ink);color:var(--gold);border:2px solid var(--ink);border-radius:8px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;transition:all .2s}
.upsell-cta:hover{background:var(--gold);color:var(--ink)}
.upsell-cta::after{content:'→';margin-left:6px;display:inline-block;transition:transform .2s}
.upsell-cta:hover::after{transform:translateX(3px)}
@media(max-width:900px){.upsell-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── FLUENTFORM v3.10 SKIN ─────────────────────────── */
/* Scoped to .qform-wrap so other FluentForm instances elsewhere on the site stay default. */
.qform-wrap{padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px -8px rgba(31,36,44,.08)}
.qform-wrap .qform-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:14px}
.qform-wrap h3{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px}
.qform-wrap h3 em{font-style:italic;color:var(--ink)}
.qform-wrap .qsub{font-size:14px;color:var(--ink-2);margin-bottom:24px;font-style:italic}

/* FluentForm internal markup overrides */
.qform-wrap .frm-fluent-form{margin:0}
.qform-wrap .ff-el-group{margin-bottom:14px}
.qform-wrap .ff-el-input--label label,
.qform-wrap .ff-el-input--label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px;line-height:1.3}
.qform-wrap .ff-el-form-control,
.qform-wrap input[type="text"],
.qform-wrap input[type="email"],
.qform-wrap input[type="tel"],
.qform-wrap input[type="number"],
.qform-wrap select,
.qform-wrap textarea{width:100%;padding:12px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:14px;color:var(--ink);font-weight:400;transition:border .2s;box-shadow:none}
.qform-wrap .ff-el-form-control:focus,
.qform-wrap input:focus,
.qform-wrap select:focus,
.qform-wrap textarea:focus{outline:none;border-color:var(--ink);box-shadow:none}
.qform-wrap textarea,
.qform-wrap textarea.ff-el-form-control{min-height:80px;resize:vertical}
.qform-wrap .ff_form_name_first,
.qform-wrap .ff_form_name_last{padding:0}
.qform-wrap .ff-el-form-check-input{accent-color:var(--ink)}
.qform-wrap .ff-el-input--content{padding:0}
.qform-wrap .ff-btn-submit,
.qform-wrap .ff_btn_style,
.qform-wrap button[type="submit"]{display:block;width:100%;padding:14px;background:var(--gold);color:var(--ink);border:2px solid var(--ink);border-radius:8px;font-family:var(--mono);font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;cursor:pointer;transition:all .2s;margin-top:8px;box-shadow:none;text-shadow:none}
.qform-wrap .ff-btn-submit:hover,
.qform-wrap button[type="submit"]:hover{background:var(--ink);color:var(--gold)}
.qform-wrap .frm-fluent-form .ff-el-group .ff-el-input--label{padding:0}
.qform-wrap .ff-message-success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:#16a34a;padding:14px 16px;border-radius:8px;font-size:14px}
.qform-wrap .error,
.qform-wrap .ff-el-is-error,
.qform-wrap .text-danger{color:#dc2626;font-size:12px;font-family:var(--mono);letter-spacing:0.04em}
/* Inline N-column rows where FF uses .ff-column-container with .ff_columns_total_*.
   Scoped specifically to ff-column-container so inner .ff-t-container wrappers (e.g. inside
   .ff-name-field-wrapper) keep their normal block flow and don't stretch. */
.qform-wrap .ff-t-container.ff-column-container{display:grid;gap:14px;align-items:start}
.qform-wrap .ff-t-container.ff-column-container.ff_columns_total_2{grid-template-columns:1fr 1fr}
.qform-wrap .ff-t-container.ff-column-container.ff_columns_total_3{grid-template-columns:repeat(3,1fr)}
.qform-wrap .ff-t-container.ff-column-container.ff_columns_total_4{grid-template-columns:repeat(4,1fr)}
.qform-wrap .ff-t-container.ff-column-container > .ff-t-cell{padding:0;flex-basis:auto !important;max-width:100%}

/* Reset inner containers (FF wraps every input_name field in its own ff-t-container)
   AND force both name groups to start at exactly the same position regardless of FF's
   inconsistent .ff-el-form-top class application. */
.qform-wrap .ff-field_container.ff-name-field-wrapper,
.qform-wrap .ff-name-field-wrapper > .ff-t-container,
.qform-wrap .ff-name-field-wrapper > .ff-t-container > .ff-t-cell,
.qform-wrap .ff-name-field-wrapper .ff-el-group,
.qform-wrap .ff-name-field-wrapper .ff-el-group.ff-el-form-top{margin:0 !important;padding:0 !important;display:block}
.qform-wrap .ff-name-field-wrapper .ff-t-cell{flex-basis:auto !important}
.qform-wrap .ff-name-field-wrapper .ff-el-input--label{display:block;margin:0 0 6px 0;padding:0;line-height:1.3}
.qform-wrap .ff-name-field-wrapper .ff-el-input--content{margin:0;padding:0}

@media(max-width:540px){
  .qform-wrap .ff-t-container.ff-column-container.ff_columns_total_2,
  .qform-wrap .ff-t-container.ff-column-container.ff_columns_total_3,
  .qform-wrap .ff-t-container.ff-column-container.ff_columns_total_4{grid-template-columns:1fr}
}

/* ─────────────────────────── CONTACT DIRECTORY (left col on contact.html) ─────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-info h3{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em;margin-bottom:14px}
.contact-info h3 em{font-style:italic;color:var(--ink)}
.contact-info p{font-size:15px;color:var(--ink-2);line-height:1.6;margin-bottom:14px}
.contact-list{list-style:none;padding:0;margin-top:20px}
.contact-list li{padding:14px 0;border-bottom:1px dashed var(--line);font-size:14px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline}
.contact-list li strong{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--muted);text-transform:uppercase;font-weight:700;min-width:80px}
.contact-list li a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--gold)}
.contact-wa-row{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.contact-wa-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:#25D366;color:#fff;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border:none;border-radius:6px;border-bottom:none !important;line-height:1;transition:background .15s ease,transform .15s ease}
.contact-wa-btn:hover{background:#1ebe5b;color:#fff;transform:translateY(-1px);text-decoration:none}
.contact-wa-btn svg{flex-shrink:0}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── EXISTING-CLIENT CALLOUT (sphero modifier) ─────────────────────────── */
.sphero-existing{padding:14px 18px;background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.sphero-existing .ic{width:24px;height:24px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);font-weight:800;font-size:14px;flex-shrink:0}
.sphero-existing strong{color:var(--ink);font-weight:800}

/* ─────────────────────────── PROBLEM SECTION (with stat card) ─────────────────────────── */
.prob{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.prob-grid{display:grid;grid-template-columns:.55fr .45fr;gap:60px;align-items:start}
.prob h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;margin-bottom:18px}
.prob h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.prob p{font-size:17px;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.prob p strong{color:var(--ink);font-weight:600}
.prob-pull{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:500;line-height:1.45;padding:18px 22px;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 12px 12px 0;margin:24px 0;color:var(--ink)}
.prob-pull em{font-style:italic;color:var(--ink-2);font-weight:400}
.prob-stats{padding:32px;background:var(--ink);color:var(--paper);border-radius:18px;position:relative;overflow:hidden}
.prob-stats::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:160px;color:rgba(252,185,0,.07);bottom:-50px;right:-25px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.prob-stats h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;color:var(--gold);margin-bottom:18px;position:relative;z-index:1}
.prob-stats h4 em{font-style:italic}
.prob-stat{padding:16px 0;border-bottom:1px dashed rgba(254,248,231,.15);position:relative;z-index:1}
.prob-stat:last-child{border-bottom:none}
.prob-stat .v{font-family:var(--serif);font-style:italic;font-weight:500;font-size:36px;color:var(--gold);line-height:.9;letter-spacing:-0.04em;margin-bottom:4px}
.prob-stat .l{font-size:13px;color:rgba(254,248,231,.78);line-height:1.45}
.prob-stat .l strong{color:var(--paper);font-weight:600}
@media(max-width:900px){.prob-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── HOW IT WORKS — numbered cards ─────────────────────────── */
.how{padding:100px 0;border-bottom:1px solid var(--line)}
.how-head{margin-bottom:50px;max-width:780px}
.how-head h2{font-family:var(--serif);font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px}
.how-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.how-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:680px}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.howc{padding:30px 26px;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.howc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15)}
.howc::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:80px;color:rgba(31,36,44,.04);bottom:-15px;right:-10px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.howc-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:54px;color:var(--ink);line-height:.85;letter-spacing:-0.05em;margin-bottom:14px;opacity:.45}
.howc h4{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;margin-bottom:8px;position:relative;z-index:1}
.howc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.howc p{font-size:13px;color:var(--ink-2);line-height:1.55;position:relative;z-index:1}
@media(max-width:900px){.how-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.how-grid{grid-template-columns:1fr}}

/* ─────────────────────────── BUILT-FOR-HR SECTION (dark, 2-col list cards) ─────────────────────────── */
.hr-sec{padding:100px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.hr-sec::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(252,185,0,.07);top:50%;right:-100px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.hr-sec .wrap{position:relative;z-index:1}
.hr-head{margin-bottom:50px;max-width:780px}
.hr-head .snum{color:var(--gold)}
.hr-head .snum::before{background:var(--gold)}
.hr-head .snum .kr{color:rgba(254,248,231,.7)}
.hr-head h2{font-family:var(--serif);font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--paper)}
.hr-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.hr-head p{font-size:17px;color:rgba(254,248,231,.78);line-height:1.55;max-width:680px}
.hr-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hrc{padding:32px;background:rgba(254,248,231,.04);border:1px solid rgba(254,248,231,.15);border-radius:16px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;transition:background .25s}
.hrc:hover{background:rgba(254,248,231,.09)}
.hrc-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:54px;color:var(--gold);line-height:.85;letter-spacing:-0.05em;flex-shrink:0;width:60px}
.hrc-content h4{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;margin-bottom:8px;color:var(--paper)}
.hrc-content h4 em{font-style:italic;color:var(--gold);font-weight:500}
.hrc-content p{font-size:14px;color:rgba(254,248,231,.78);line-height:1.55}
.hrc-content p strong{color:var(--paper);font-weight:600}
@media(max-width:780px){.hr-grid{grid-template-columns:1fr}}

/* ─────────────────────────── PRICING CARDS (3-tier) ─────────────────────────── */
/* Used on pricing, corporate-tracking, teacher-tools, individual path pages (per §5). */
.pricing{padding:100px 0;border-bottom:1px solid var(--line)}
.pricing-head{text-align:center;max-width:780px;margin:0 auto 50px}
.pricing-head .snum{justify-content:center}
.pricing-head h2{font-family:var(--serif);font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px}
.pricing-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.pricing-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:620px;margin:0 auto}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prc{padding:32px 28px;background:var(--paper);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.prc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18)}
.prc.featured{border:2px solid var(--ink);background:var(--paper-2);box-shadow:0 30px 60px -20px rgba(31,36,44,.2)}
.prc.featured::before{content:attr(data-badge);position:absolute;top:-14px;left:24px;background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:0.2em;padding:6px 14px;font-weight:800;border-radius:4px}
.prc-tier{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:8px}
.prc h3{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:6px}
.prc h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.prc-team{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:18px}
.prc-pricing{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.prc-price{font-family:var(--serif);font-size:42px;font-weight:300;font-style:italic;color:var(--ink);line-height:.9;letter-spacing:-0.03em;margin-bottom:6px}
.prc-price em{background:var(--gold);padding:0 6px;border-radius:5px}
.prc-per{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;color:var(--muted);text-transform:uppercase;font-weight:600}
.prc-per strong{color:var(--ink);font-weight:800}
.prc ul{list-style:none;padding:0;flex:1;margin-bottom:18px}
.prc ul li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px;color:var(--ink-2);display:grid;grid-template-columns:18px 1fr;gap:10px;line-height:1.5}
.prc ul li::before{content:'✓';color:var(--ink);font-weight:800;font-size:12px}
.prc ul li strong{color:var(--ink);font-weight:600}
.prc-cta{display:block;text-align:center;padding:13px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;border-radius:8px;border:2px solid var(--ink);transition:all .2s}
.prc-cta.gold{background:var(--gold);color:var(--ink)}
.prc-cta.ghost{background:transparent;color:var(--ink)}
.prc-cta.gold:hover{background:var(--ink);color:var(--gold)}
.prc-cta.ghost:hover{background:var(--ink);color:var(--paper)}
@media(max-width:1024px){.pricing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pricing-grid{grid-template-columns:1fr}}

/* ─────────────────────────── PROGRAMS CATALOG (utility — no marketing copy per §3.6) ─────────────────────────── */
.cathero{padding:60px 0 50px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.cathero::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,22vw,320px);color:rgba(31,36,44,.04);bottom:-80px;right:-50px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.cathero .wrap{position:relative;z-index:1}
.cathero .crumb{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:18px;font-weight:600}
.cathero .crumb a{border-bottom:1px solid var(--ink-2)}
.cathero h1{font-family:var(--serif);font-size:clamp(40px,6vw,72px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;max-width:900px}
.cathero h1 em{font-style:italic;font-weight:500;background:var(--gold);padding:0 10px;border-radius:6px}
.cathero .lead{font-size:17px;color:var(--ink-2);max-width:680px;line-height:1.55;margin-bottom:0}
.cathero .lead strong{color:var(--ink);font-weight:600}

/* Filter bar — sticky below masthead. Slides up to top:0 when masthead is hidden by scroll. */
.filtbar{padding:24px 0;background:rgba(250,241,214,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:78px;z-index:40;transition:top .35s cubic-bezier(.4,0,.2,1)}
@media(max-width:980px){.filtbar{top:67px}}
body.admin-bar .filtbar{top:110px}
@media screen and (max-width:782px){body.admin-bar .filtbar{top:126px}}
body.mh-hidden .filtbar,body.is-scrolled-down .filtbar{top:0}
body.admin-bar.mh-hidden .filtbar,body.admin-bar.is-scrolled-down .filtbar{top:32px}
@media screen and (max-width:782px){body.admin-bar.mh-hidden .filtbar,body.admin-bar.is-scrolled-down .filtbar{top:46px}}
.filt-grid{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;max-width:1180px;margin:0 auto;padding:0 28px}
.filt-h{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-2);font-weight:800;display:flex;align-items:center;gap:8px;white-space:nowrap}
.filt-h .ic{width:18px;height:18px;background:var(--ink);color:var(--gold);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}
.filt-groups{display:flex;gap:6px;flex-wrap:wrap;flex:1;align-items:center}
.filt-group{position:relative}
.filt-pill{padding:8px 14px;background:var(--paper);border:1.5px solid var(--line);border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;font-weight:700;color:var(--ink);cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase}
.filt-pill:hover{border-color:var(--ink);background:var(--paper);color:var(--ink)}
.filt-pill.act{background:var(--ink);color:var(--gold);border-color:var(--ink)}
.filt-pill .count{font-family:var(--mono);font-size:9px;background:var(--paper-2);color:var(--ink-2);padding:1px 6px;border-radius:100px;font-weight:600}
.filt-pill.act .count{background:rgba(252,185,0,.2);color:var(--gold)}
.filt-pill .x{font-size:14px;line-height:1;opacity:0;transition:opacity .15s}
.filt-pill.act .x{opacity:1}
.filt-clear{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;border:none;background:none;white-space:nowrap}
.filt-clear:hover{color:var(--ink)}
.filt-count{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--ink);font-weight:700;text-transform:uppercase}
.filt-count strong{color:var(--ink);font-weight:800}
/* Mobile-only filter drawer parts — hidden on desktop. */
.filt-mobile-trigger,.ub-filt-trigger{display:none}
.filt-drawer-backdrop{display:none}
.filt-drawer-close{display:none}
@media(max-width:780px){
  /* Filter bar becomes a slide-in drawer from the right.
     Hidden by default; .filt-drawer-open on body slides it in. */
  .filtbar,.ub-filt-drawer{position:fixed !important;top:0 !important;right:0 !important;bottom:0 !important;left:auto !important;width:min(380px,90vw) !important;max-width:none !important;background:#FAF1D6 !important;border-bottom:none !important;border-left:1px solid rgba(31,36,44,.12) !important;box-shadow:-12px 0 30px -8px rgba(31,36,44,.25) !important;transform:translateX(100%) !important;transition:transform .25s ease-out !important;z-index:10001 !important;overflow-y:auto !important;padding:64px 28px 32px 28px !important}
  body.filt-drawer-open .filtbar,body.filt-drawer-open .ub-filt-drawer{transform:translateX(0) !important}
  /* Inner pill container — bump left/right padding so pills don't sit
     flush against the drawer edge, regardless of any earlier rule. */
  .ub-filt-drawer .filt-grid{padding:0 !important;margin:0 !important}
  .ub-filt-drawer .filt-groups{padding:0 !important;margin:0 !important;gap:8px !important}
  /* Teachers/Learning Partners drawer — its inner .wrap has 1280px max-width
     + 32px side padding for desktop. Reset inside the mobile drawer so the
     drawer's own 28px padding owns the spacing. */
  .ub-filt-drawer .wrap{max-width:none !important;padding:0 !important;margin:0 !important}
  .ub-filt-drawer .lph-filt-head{flex-direction:column !important;align-items:flex-start !important;gap:8px !important;margin-bottom:18px !important}
  .ub-filt-drawer .lph-filt-head h3{font-size:20px !important}
  .ub-filt-drawer .filt-row{flex-wrap:wrap !important;gap:8px !important}
  .filt-grid{grid-template-columns:1fr;gap:18px;padding:0;max-width:none}
  .filt-groups{flex-wrap:wrap;overflow:visible;padding:0;margin:0;gap:8px}

  /* Trigger button — uBitto-prefixed class (.ub-filt-*) to dodge any
     potential class-name collision with BB theme / plugin styles.
     Reset native iOS/Safari button chrome + override BB's global
     button{margin-right:.5rem} so the pill stays flush right. */
  button.ub-filt-trigger{-webkit-appearance:none !important;appearance:none !important;display:inline-flex !important;align-items:center !important;gap:8px !important;position:fixed !important;top:106px !important;right:14px !important;margin:0 !important;z-index:41 !important;padding:10px 16px !important;min-height:40px !important;background:#1F242C !important;color:#FEF8E7 !important;border:none !important;border-radius:999px !important;font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:12px !important;line-height:1 !important;font-weight:800 !important;letter-spacing:0.14em !important;text-transform:uppercase !important;box-shadow:0 6px 16px -3px rgba(31,36,44,.35) !important;cursor:pointer !important;transition:opacity .2s,top .35s cubic-bezier(.4,0,.2,1) !important;box-sizing:border-box !important;white-space:nowrap !important}
  /* Slide up with header — when body.is-scrolled-down hides the masthead,
     drop the trigger's top by ~78px so it follows the header up. Same
     transition timing as the header's transform for a synced animation. */
  body.is-scrolled-down button.ub-filt-trigger{top:28px !important}
  body.admin-bar.is-scrolled-down button.ub-filt-trigger{top:60px !important}
  @media screen and (max-width:782px){body.admin-bar.is-scrolled-down button.ub-filt-trigger{top:74px !important}}
  button.ub-filt-trigger .ub-filt-ic{flex-shrink:0;width:20px;height:20px;background:#FCB900;color:#1F242C;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
  button.ub-filt-trigger .ub-filt-ic svg{display:block;width:12px;height:12px}
  button.ub-filt-trigger .ub-filt-lbl{display:inline-block;line-height:1}
  button.ub-filt-trigger .ub-filt-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 7px;background:#FCB900;color:#1F242C;border-radius:100px;font-size:10px;line-height:1;font-weight:800;letter-spacing:0;font-family:'JetBrains Mono',ui-monospace,monospace}
  body.filt-drawer-open button.ub-filt-trigger{opacity:0;pointer-events:none}

  /* Backdrop overlay behind drawer — only visible when the drawer is open
     (body.filt-drawer-open). Without the body-class scope this rule was
     showing the dim overlay on every mobile pageload, even before any
     filter drawer interaction. */
  .filt-drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(31,36,44,.55);z-index:10000}
  body.filt-drawer-open .filt-drawer-backdrop{display:block;animation:filt-fade .2s ease-out}
  @keyframes filt-fade{from{opacity:0}to{opacity:1}}

  /* Close (×) button inside the drawer, top-right. */
  .filt-drawer-close{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;width:36px;height:36px;background:transparent;border:1px solid var(--line);border-radius:8px;font-size:24px;line-height:1;color:var(--ink-2);cursor:pointer;font-family:inherit}
  .filt-drawer-close:hover{background:var(--paper-2);color:var(--ink);border-color:var(--ink)}

  /* Lock body scroll when drawer is open. */
  body.filt-drawer-open{overflow:hidden}
}

/* Grouped catalog sections */
.cat{padding:60px 0;border-bottom:1px solid var(--line)}
.cat.hidden{display:none}
.cat-head{margin-bottom:30px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;max-width:1180px;margin-left:auto;margin-right:auto;padding:0 28px}
.cat-head-l h2{font-family:var(--serif);font-size:clamp(28px,4vw,42px);font-weight:300;letter-spacing:-0.03em;line-height:1.05;margin-bottom:6px}
.cat-head-l h2 em{font-style:italic;font-weight:500;color:var(--ink)}
.cat-head-l .meta{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--ink-2);font-weight:600;text-transform:uppercase}
.cat-head-l .meta .kr{font-family:var(--kr);font-weight:600;color:var(--ink);font-size:12px;letter-spacing:0;font-style:italic;margin-right:8px}
.cat-head-r{display:flex;gap:8px;align-items:center}
.cat-tag{padding:6px 12px;line-height:1.5;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;border-radius:5px}
.cat-tag.live{background:var(--green);color:white}
.cat-tag.online{background:var(--blue);color:var(--ink)}
.cat-tag.in-person{background:var(--kimchi);color:white}
.cat-tag.async{background:var(--peach);color:var(--ink)}
.cat-tag.path{background:var(--gold);color:var(--ink)}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1180px;margin:0 auto;padding:0 28px}
@media(max-width:980px){.pgrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}}

/* Program card */
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:0;display:flex;flex-direction:column;transition:all .2s;overflow:hidden;position:relative}
.pcard:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:0 16px 32px -10px rgba(31,36,44,.12)}
.pcard.hidden{display:none}
.pcard-status{padding:7px 14px;font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.pcard-status .dot{width:7px;height:7px;border-radius:50%}
.pcard-status.open{background:#E8F8EE;color:#16803C}
.pcard-status.open .dot{background:var(--green);animation:pulse 1.5s infinite}
.pcard-status.starts{background:var(--cream);color:var(--ink)}
.pcard-status.starts .dot{background:var(--gold)}
.pcard-status.always{background:var(--paper-2);color:var(--ink-2)}
.pcard-status.always .dot{background:var(--ink-2)}
.pcard-status.waitlist{background:#FEF3E0;color:#B47210}
.pcard-status.waitlist .dot{background:var(--orange)}

.pcard-body{padding:18px 18px 14px;flex:1;display:flex;flex-direction:column}
.pcard-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pctag{padding:4px 7px;line-height:1.5;font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;border-radius:3px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line)}
.pctag.subject{background:var(--ink);color:var(--gold);border-color:var(--ink)}
.pctag.path{background:var(--gold);color:var(--ink);border-color:var(--ink)}
.pctag.format{background:var(--mint);color:var(--ink)}
.pctag.level{background:var(--cream);color:var(--ink)}
.pctag.loc{background:var(--blue);color:var(--ink)}
.pcard h3{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.25;margin-bottom:6px}
.pcard h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.pcard-desc{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:14px;flex:1}
.pcard-teach{padding-top:12px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pcard-teach-pic{width:32px;height:32px;border-radius:50%;border:2px solid var(--gold);overflow:hidden;flex-shrink:0;background:var(--paper-2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-weight:600;color:var(--ink);font-size:14px}
.pcard-teach-pic img{width:100%;height:100%;object-fit:cover}
.pcard-teach-pics{display:flex;align-items:center;flex-shrink:0}
.pcard-teach-pics .pcard-teach-pic{margin-left:-10px;border:2px solid var(--paper)}
.pcard-teach-pics .pcard-teach-pic:first-child{margin-left:0}
.pcard-teach-name{font-family:var(--mono);font-size:11px;color:var(--ink);font-weight:700;letter-spacing:0.04em;line-height:1.3;flex:1}
.pcard-teach-name strong{font-weight:800}
.pcard-teach-name em{font-style:normal;color:var(--ink-2);font-weight:600;font-size:10px;display:block;margin-top:1px}
.pcard-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin-bottom:14px}
.pcard-meta-item{font-family:var(--mono);font-size:10px;letter-spacing:0.06em;color:var(--ink-2);text-transform:uppercase;font-weight:600;line-height:1.3}
.pcard-meta-item strong{display:block;color:var(--ink);font-weight:800;font-size:11px;margin-top:2px;letter-spacing:0.04em;text-transform:none}
.pcard-meta-item .kr{font-family:var(--kr);font-weight:600;color:var(--ink-2);font-size:10px;font-style:italic}
.pcard-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto}
.pcard-price{font-family:var(--serif);font-size:22px;font-weight:600;font-style:italic;color:var(--ink);letter-spacing:-0.02em;line-height:.9}
.pcard-price .per{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:600;font-style:normal;display:block;margin-top:3px}
.pcard-price.from::before{content:'from ';font-family:var(--mono);font-size:9px;color:var(--muted);font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:0.1em;margin-right:3px}
.pcard-acts{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.pcard-cta{padding:8px 14px;line-height:1.5;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;border-radius:6px;border:1.5px solid var(--ink);transition:all .2s;white-space:nowrap;display:inline-block;text-align:center}
.pcard-cta.gold{background:var(--gold);color:var(--ink)}
.pcard-cta.gold:hover{background:var(--ink);color:var(--gold)}
.pcard-cta.ghost{background:transparent;color:var(--ink-2);border-color:var(--line);font-size:9px;padding:5px 10px;font-weight:700}
.pcard-cta.ghost:hover{color:var(--ink);border-color:var(--ink);background:transparent}

/* Teacher-focused card variant */
.pcard.teacher .pcard-body{padding-top:14px}
.pcard.teacher .teach-hero{display:flex;gap:14px;margin-bottom:14px;align-items:start}
.pcard.teacher .teach-hero-pic{width:64px;height:64px;border-radius:50%;border:2.5px solid var(--gold);overflow:hidden;flex-shrink:0;background:var(--paper-2)}
.pcard.teacher .teach-hero-pic img{width:100%;height:100%;object-fit:cover}
.pcard.teacher .teach-hero-info{flex:1;min-width:0}
.pcard.teacher .teach-hero-info h3{margin-bottom:3px}
.pcard.teacher .teach-hero-info .meta{font-family:var(--mono);font-size:10px;letter-spacing:0.06em;color:var(--ink-2);font-weight:700;text-transform:uppercase}
.pcard.teacher .teach-hero-info .meta .stars{color:var(--gold);letter-spacing:1px;margin-right:6px}

.empty{text-align:center;padding:80px 28px;display:none}
.empty.show{display:block}
.empty h3{font-family:var(--serif);font-size:24px;font-weight:500;font-style:italic;color:var(--ink-2);margin-bottom:10px}
.empty p{font-size:14px;color:var(--muted);margin-bottom:20px}

/* Bottom CTA on programs-catalog (smaller variant of .cta-final, for utility pages) */
.catcta{padding:80px 0;background:var(--ink);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.catcta::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,24vw,360px);color:rgba(252,185,0,.07);top:50%;left:50%;transform:translate(-50%,-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.catcta-c{position:relative;z-index:1;max-width:680px;margin:0 auto;padding:0 28px}
.catcta h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;line-height:1;letter-spacing:-0.04em;margin-bottom:14px;color:var(--paper)}
.catcta h2 em{font-style:italic;background:var(--gold);color:var(--ink);padding:0 10px;border-radius:6px}
.catcta p{font-size:17px;color:rgba(254,248,231,.78);max-width:520px;margin:0 auto 24px;line-height:1.55}
.catcta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.catcta .btn-ghost{border-color:rgba(254,248,231,.3);color:var(--paper)}
.catcta .btn-ghost:hover{background:var(--paper);color:var(--ink)}

/* ─────────────────────────── DARK MATCH CALLOUT (inside sphero, used on learning-partners) ─────────────────────────── */
.match-cta{padding:36px 40px;background:var(--ink);color:var(--paper);border-radius:18px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-top:30px;box-shadow:0 30px 60px -20px rgba(31,36,44,.3);position:relative;overflow:hidden}
.match-cta::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:140px;color:rgba(252,185,0,.08);top:50%;right:-30px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.match-cta > *{position:relative;z-index:1}
.match-cta h3{font-family:var(--serif);font-size:28px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:6px;color:var(--paper)}
.match-cta h3 em{font-style:italic;color:var(--gold)}
.match-cta p{font-size:14px;color:rgba(254,248,231,.7);font-style:italic}
@media(max-width:780px){.match-cta{grid-template-columns:1fr;text-align:center}}

/* ─────────────────────────── STICKY FILTER BAR (used on learning-partners, programs-catalog) ─────────────────────────── */
.lph-filt{padding:50px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:sticky;top:78px;z-index:40;transition:top .35s cubic-bezier(.4,0,.2,1)}
@media(max-width:980px){.lph-filt{top:67px}}
body.admin-bar .lph-filt{top:110px}
@media screen and (max-width:782px){body.admin-bar .lph-filt{top:126px}}
body.mh-hidden .lph-filt,body.is-scrolled-down .lph-filt{top:0}
body.admin-bar.mh-hidden .lph-filt,body.admin-bar.is-scrolled-down .lph-filt{top:32px}
@media screen and (max-width:782px){body.admin-bar.mh-hidden .lph-filt,body.admin-bar.is-scrolled-down .lph-filt{top:46px}}
.lph-filt-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:20px;flex-wrap:wrap}
.lph-filt-head h3{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em}
.lph-filt-head h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.lph-filt-head .count{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.lph-filt-head .count strong{color:var(--ink);font-weight:800}
.filt-row{display:flex;gap:8px;flex-wrap:wrap}
.filt-btn{padding:8px 14px;background:var(--paper);border:1px solid var(--line);border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);font-weight:700;cursor:pointer;transition:all .2s}
.filt-btn:hover,.filt-btn.act{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.filt-btn .kr{font-family:var(--kr);font-weight:900;font-size:13px;letter-spacing:0;margin-right:4px}

/* ─────────────────────────── LEARNING PARTNER CARDS (3-up grid, with tag chips) ─────────────────────────── */
.lph-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lpc{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,opacity .25s}
.lpc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15)}
.lpc.hidden{display:none}
.lpc-cover{aspect-ratio:16/10;overflow:hidden;background:var(--cream);position:relative}
.lpc-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.lpc:hover .lpc-cover img{transform:scale(1.05)}
.lpc-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(31,36,44,.5) 100%)}
.lpc-best{position:absolute;bottom:14px;left:14px;font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;color:var(--paper);background:rgba(31,36,44,.85);padding:5px 10px;border-radius:5px;backdrop-filter:blur(4px);z-index:2}
.lpc-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.lpc-role{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--ink);text-transform:uppercase;font-weight:800;margin-bottom:8px;opacity:.6}
.lpc h4{font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;margin-bottom:8px}
.lpc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.lpc-pos{font-size:14px;color:var(--ink-2);line-height:1.55;margin-bottom:16px;font-style:italic;flex:1}
.lpc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.lpc-tag{font-family:var(--mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;padding:4px 8px;border-radius:4px;color:var(--ink)}
.lpc-tag.mint{background:var(--mint)}
.lpc-tag.blue{background:var(--blue)}
.lpc-tag.cream{background:var(--cream)}
.lpc-tag.peach{background:var(--peach)}
.lpc-tag.pink{background:var(--pink)}
.lpc-cta{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);font-weight:800;padding:11px 0;border-top:1px dashed var(--line);display:flex;align-items:center;gap:6px}
.lpc-cta::after{content:'→';transition:transform .2s}
.lpc:hover .lpc-cta::after{transform:translateX(4px)}
@media(max-width:1024px){.lph-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.lph-grid{grid-template-columns:1fr}}

/* ─────────────────────────── PLACEMENT-TEST PROMPT CALLOUT (used inside sphero) ─────────────────────────── */
.lnh-quiz{margin-top:36px;padding:32px;background:var(--paper);border:2px solid var(--ink);border-radius:18px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:0 30px 60px -20px rgba(31,36,44,.2)}
.lnh-quiz h3{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px}
.lnh-quiz h3 em{font-style:italic;color:var(--ink)}
.lnh-quiz p{font-size:14px;color:var(--ink-2);font-style:italic}
@media(max-width:780px){.lnh-quiz{grid-template-columns:1fr;text-align:center}}

/* ─────────────────────────── PATH COMPARE CARDS (5-up, used on learners.html) ─────────────────────────── */
/* Image-led cards — each links to its path detail page. */
.pcompare-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.pcc{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.pcc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18)}
.pcc-img{aspect-ratio:4/3;overflow:hidden;background:var(--cream);position:relative}
.pcc-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.pcc:hover .pcc-img img{transform:scale(1.05)}
.pcc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(31,36,44,.4) 100%)}
.pcc-stamp{position:absolute;top:12px;left:12px;background:rgba(254,248,231,.95);border:1px solid var(--ink);font-family:var(--kr);font-weight:900;font-size:13px;color:var(--ink);padding:4px 8px;border-radius:5px;letter-spacing:-0.02em;z-index:2}
.pcc-tag{position:absolute;bottom:12px;left:12px;font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;padding:4px 8px;border-radius:4px;z-index:2;color:var(--ink)}
.pcc-tag.mint{background:var(--mint)}
.pcc-tag.blue{background:var(--blue)}
.pcc-tag.cream{background:var(--cream)}
.pcc-tag.pink{background:var(--pink)}
.pcc-tag.peach{background:var(--peach)}
.pcc-body{padding:20px;display:flex;flex-direction:column;flex:1}
.pcc h3{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-0.02em;margin-bottom:6px}
.pcc h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.pcc-tag-line{font-family:var(--serif);font-size:13px;font-style:italic;color:var(--ink-2);line-height:1.4;margin-bottom:14px;flex:1}
.pcc-meta{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:700;display:flex;flex-direction:column;gap:4px;margin-bottom:14px}
.pcc-meta strong{color:var(--ink);font-weight:800}
.pcc-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px dashed var(--line)}
.pcc-price{font-family:var(--serif);font-size:18px;font-weight:600;font-style:italic;letter-spacing:-0.02em;color:var(--ink)}
.pcc-cta{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--ink);font-weight:800;text-transform:uppercase}
@media(max-width:1100px){.pcompare-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.pcompare-grid{grid-template-columns:1fr}}

/* ─────────────────────────── LEAD FORM PAGE (trial, placement-test) ─────────────────────────── */
/* Two-column "side copy + form" layout. Form itself uses existing .qform. */
.formgrid{display:grid;grid-template-columns:.55fr .45fr;gap:60px;align-items:start}
.formside h2{font-family:var(--serif);font-size:clamp(32px,4.5vw,52px);font-weight:300;letter-spacing:-0.03em;line-height:1;margin-bottom:14px}
.formside h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.formside p{font-size:16px;color:var(--ink-2);line-height:1.6;margin-bottom:18px}
.formside ul{list-style:none;padding:0;margin-top:24px}
.formside ul li{padding:14px 0;border-bottom:1px dashed var(--line);font-size:15px;display:grid;grid-template-columns:30px 1fr;gap:14px;line-height:1.5;color:var(--ink-2)}
.formside ul li::before{content:attr(data-n);font-family:var(--serif);font-size:24px;font-weight:300;font-style:italic;color:var(--ink);opacity:.5;letter-spacing:-0.03em;line-height:1}
.formside ul li strong{color:var(--ink);font-weight:600}
@media(max-width:900px){.formgrid{grid-template-columns:1fr;gap:40px}}

/* Inline check-meta row (used on hero of trial/placement, similar to .sphero-trust but no separator dot wrap) */
.hero-meta{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:600;flex-wrap:wrap;margin-bottom:24px}
.hero-meta .check{color:var(--green);font-weight:800}
.hero-meta span:not(:last-child)::after{content:'·';margin-left:14px;color:var(--line-2)}

/* ─────────────────────────── PATH HERO IMAGE GRID (sphero modifier) ─────────────────────────── */
/* Used on path pages — 2-col hero with text left + image right. Add .sphero-grid-image inside .sphero. */
.sphero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative;z-index:1}
.sphero-img-frame{aspect-ratio:1;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(31,36,44,.22);border:1px solid var(--line)}
.sphero-img-frame img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.sphero-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── PATH 3-STEP HOW (large cards with big italic numbers) ─────────────────────────── */
.how-step{padding:36px 30px;background:var(--paper);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.how-step::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:80px;color:rgba(31,36,44,.04);bottom:-15px;right:-10px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.how-step .n{font-family:var(--serif);font-size:64px;font-weight:300;font-style:italic;color:var(--ink);line-height:.85;letter-spacing:-0.04em;margin-bottom:18px;opacity:.4}
.how-step h4{font-family:var(--serif);font-size:24px;font-weight:500;margin-bottom:8px;letter-spacing:-0.01em;position:relative;z-index:1}
.how-step h4 em{color:var(--ink);font-style:italic}
.how-step p{font-size:14px;color:var(--ink-2);line-height:1.55;position:relative;z-index:1}

/* ─────────────────────────── IMPACT CHECKLIST ─────────────────────────── */
.impact{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.impact::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.impact .wrap{position:relative;z-index:1}
.impact-head{margin-bottom:50px;max-width:780px}
.impact-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98}
.impact-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.impact-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;list-style:none;padding:0;margin:0}
.impact-list li{padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-radius:14px;font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:-0.01em;line-height:1.3;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center}
.impact-list li::before{content:'✓';color:var(--ink);font-weight:800;background:var(--gold);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:16px}
.impact-list li em{font-style:italic;color:var(--ink-2);font-weight:400}
@media(max-width:780px){.impact-list{grid-template-columns:1fr}}

/* ─────────────────────────── WHO IT'S FOR (emoji-prefixed list, 2-col) ─────────────────────────── */
.who{padding:100px 0;border-bottom:1px solid var(--line)}
.who-grid{display:grid;grid-template-columns:.5fr .5fr;gap:60px;align-items:center}
.who-grid h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:18px}
.who-grid h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.who-grid .lead{font-size:17px;color:var(--ink-2);line-height:1.6;margin-bottom:8px}
.who-list{list-style:none;padding:0;margin:0}
.who-list li{padding:18px 24px;border-bottom:1px solid var(--line);font-size:16px;display:grid;grid-template-columns:32px 1fr;gap:14px;line-height:1.5;color:var(--ink-2)}
.who-list li::before{content:attr(data-emoji);font-size:24px;line-height:1}
.who-list li strong{color:var(--ink);font-weight:600}
@media(max-width:900px){.who-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── RECOMMENDED PARTNERS (TeacherCard per brief §5) ─────────────────────────── */
.rpartners{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.rpartners::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,22vw,340px);color:rgba(31,36,44,.04);top:50%;left:-60px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.rpartners .wrap{position:relative;z-index:1}
.rpartners-head{margin-bottom:50px;max-width:780px}
.rpartners-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98}
.rpartners-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.rpartners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rpc{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.rpc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15)}
.rpc-cover{aspect-ratio:16/9;overflow:hidden;background:var(--cream);position:relative}
.rpc-cover img{width:100%;height:100%;object-fit:cover}
.rpc-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(31,36,44,.4) 100%)}
.rpc-tag{position:absolute;bottom:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;color:var(--paper);z-index:2;background:rgba(31,36,44,.85);padding:5px 10px;border-radius:5px;backdrop-filter:blur(4px)}
.rpc-body{padding:24px}
.rpc-role{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:8px}
.rpc h4{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-0.01em;margin-bottom:8px}
.rpc-pos{font-size:13px;color:var(--ink-2);line-height:1.5;margin-bottom:18px;font-style:italic}
.rpc-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);font-weight:800;padding:10px 16px;background:var(--gold);border-radius:8px;border:2px solid var(--ink);transition:all .2s}
.rpc-cta:hover{background:var(--ink);color:var(--gold)}
@media(max-width:900px){.rpartners-grid{grid-template-columns:1fr}}

/* ─────────────────────────── PATH PLAN (left copy + big featured plan card) ─────────────────────────── */
.rplan{padding:100px 0;border-bottom:1px solid var(--line)}
.rplan-grid{display:grid;grid-template-columns:.5fr .5fr;gap:60px;align-items:center}
.rplan h2{font-family:var(--serif);font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px}
.rplan h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.rplan .lead{font-size:17px;color:var(--ink-2);line-height:1.6;margin-bottom:22px}
.rplan ul{list-style:none;padding:0}
.rplan ul li{padding:14px 0;border-bottom:1px dashed var(--line);font-size:15px;display:grid;grid-template-columns:24px 1fr;gap:12px;line-height:1.5}
.rplan ul li::before{content:'✓';color:var(--ink);font-weight:800;background:var(--gold);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px}
.plan-card-big{background:var(--ink);color:var(--paper);padding:40px;border-radius:18px;position:relative;box-shadow:0 30px 60px -20px rgba(31,36,44,.4)}
.plan-card-big::before{content:attr(data-badge);position:absolute;top:-14px;left:24px;background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:0.2em;padding:6px 14px;font-weight:800;border-radius:4px}
.plan-card-big h4{font-family:var(--serif);font-size:30px;font-weight:500;margin-bottom:6px;letter-spacing:-0.02em}
.plan-card-big .sub{font-size:13px;color:rgba(254,248,231,.65);font-style:italic;margin-bottom:24px}
.plan-popular{display:flex;align-items:center;gap:8px;background:rgba(252,185,0,.15);border:1px solid var(--gold);border-radius:8px;padding:10px 14px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:700}
.pcb-pricing{padding:24px 0;border-top:1px solid rgba(254,248,231,.15);border-bottom:1px solid rgba(254,248,231,.15);margin-bottom:24px}
.pcb-pricing .was{font-family:var(--mono);font-size:14px;color:rgba(254,248,231,.5);text-decoration:line-through;font-weight:600}
.pcb-pricing .now{font-family:var(--serif);font-size:64px;font-weight:300;font-style:italic;color:var(--gold);letter-spacing:-0.04em;line-height:1;margin:6px 0}
.pcb-pricing .save{font-family:var(--mono);font-size:11px;color:rgba(254,248,231,.7);font-weight:600;letter-spacing:0.1em;text-transform:uppercase}
.pcb-cta{display:block;width:100%;text-align:center;background:var(--gold);color:var(--ink);padding:16px;font-family:var(--mono);font-size:12px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;border-radius:8px;transition:all .2s;border:2px solid var(--gold)}
.pcb-cta:hover{background:var(--paper);border-color:var(--paper)}
.pcb-trust{margin-top:14px;font-family:var(--mono);font-size:10px;color:rgba(254,248,231,.5);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-align:center}
@media(max-width:900px){.rplan-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── VENUE / IN-PERSON UPSELL (dark slab, 2-col) ─────────────────────────── */
.venue-up{padding:80px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.venue-up::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,24vw,320px);color:rgba(252,185,0,.08);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.venue-up .wrap{position:relative;z-index:1}
.vup-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.vup-grid h3{font-family:var(--serif);font-size:clamp(28px,3.5vw,42px);font-weight:300;letter-spacing:-0.03em;line-height:1.15;color:var(--paper)}
.vup-grid h3 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.vup-grid p{font-size:15px;color:rgba(254,248,231,.65);margin-top:8px;line-height:1.5}
.vup-grid .btn-ghost{border-color:rgba(254,248,231,.4);color:var(--paper)}
.vup-grid .btn-ghost:hover{background:var(--paper);color:var(--ink)}
@media(max-width:780px){.vup-grid{grid-template-columns:1fr;text-align:center}}

/* ─────────────────────────── NEXT STEPS (4 mini cards) ─────────────────────────── */
.nxt{padding:100px 0;border-bottom:1px solid var(--line)}
.nxt-head{margin-bottom:50px;max-width:780px}
.nxt-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98}
.nxt-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.nxt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.nxts{padding:30px 26px;background:var(--paper-2);border-radius:14px;text-align:center}
.nxts .n{font-family:var(--serif);font-size:48px;font-weight:300;font-style:italic;color:var(--ink);line-height:.85;letter-spacing:-0.04em;margin-bottom:14px;opacity:.4}
.nxts h4{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-0.01em;margin-bottom:6px;line-height:1.2}
.nxts p{font-size:13px;color:var(--ink-2);line-height:1.5}
@media(max-width:900px){.nxt-grid{grid-template-columns:1fr 1fr}}

/* ─────────────────────────── PATH PRICING CARDS (5-up, used on pricing.html) ─────────────────────────── */
/* Distinct from .prc (3-tier corporate cards) — these are path-flavored with KR stamp + color tag. */
.prc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prcc{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:32px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.prcc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18)}
.prcc.featured{border:2px solid var(--ink);box-shadow:0 30px 60px -20px rgba(31,36,44,.2)}
.prcc.featured::before{content:attr(data-badge);position:absolute;top:-14px;left:24px;background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:11px;letter-spacing:0.2em;padding:6px 14px;font-weight:800;border-radius:4px}
.prcc-stamp{position:absolute;top:14px;right:14px;background:var(--paper-2);font-family:var(--kr);font-weight:900;font-size:14px;color:var(--ink);padding:5px 10px;border-radius:5px;letter-spacing:-0.02em}
.prcc-tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;padding:4px 10px;border-radius:4px;margin-bottom:14px;color:var(--ink)}
.prcc-tag.mint{background:var(--mint)}
.prcc-tag.blue{background:var(--blue)}
.prcc-tag.cream{background:var(--cream)}
.prcc-tag.pink{background:var(--pink)}
.prcc-tag.peach{background:var(--peach)}
.prcc h3{font-family:var(--serif);font-size:26px;font-weight:500;letter-spacing:-0.02em;line-height:1.1;margin-bottom:6px}
.prcc h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.prcc-tagline{font-family:var(--serif);font-size:14px;font-style:italic;color:var(--ink-2);margin-bottom:20px;line-height:1.4}
.prcc-pricing{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.prcc-was{font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:line-through;font-weight:600}
.prcc-now{font-family:var(--serif);font-size:48px;font-weight:300;font-style:italic;color:var(--ink);line-height:.9;letter-spacing:-0.04em;margin:6px 0}
.prcc-meta{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:600}
.prcc ul{list-style:none;padding:0;flex:1;margin-bottom:18px}
.prcc ul li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px;color:var(--ink-2);display:grid;grid-template-columns:18px 1fr;gap:10px;line-height:1.5}
.prcc ul li::before{content:'✓';color:var(--ink);font-weight:800;font-size:12px}
.prcc-cta{display:block;text-align:center;padding:13px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;border-radius:8px;border:2px solid var(--ink);transition:all .2s}
.prcc-cta.gold{background:var(--gold);color:var(--ink)}
.prcc-cta.ghost{background:transparent;color:var(--ink)}
.prcc-cta.gold:hover{background:var(--ink);color:var(--gold)}
.prcc-cta.ghost:hover{background:var(--ink);color:var(--paper)}
@media(max-width:1024px){.prc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.prc-grid{grid-template-columns:1fr}}

/* ─────────────────────────── COMPARISON TABLE ─────────────────────────── */
.comp{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.comp::before{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;left:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.comp .wrap{position:relative;z-index:1}
.comp-head{margin-bottom:40px;max-width:780px}
.comp-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px}
.comp-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.comp-head p{font-size:17px;color:var(--ink-2);line-height:1.55}
.comp-table{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.comp-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;align-items:stretch}
.comp-row:not(:last-child){border-bottom:1px solid var(--line)}
.comp-row.head{background:var(--ink);color:var(--paper)}
.comp-cell{padding:18px 22px;display:flex;align-items:center;border-right:1px solid var(--line)}
.comp-cell:last-child{border-right:none}
.comp-row.head .comp-cell{border-right:1px solid rgba(254,248,231,.15)}
.comp-cell.q{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-0.01em;line-height:1.4;color:var(--ink)}
.comp-row.head .comp-cell.q{color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800}
.comp-cell.no{color:var(--ink-2);font-family:var(--mono);font-size:12px;letter-spacing:0.06em;font-weight:600;background:var(--paper-2)}
.comp-cell.no::before{content:'✕';color:var(--ink-2);font-weight:800;font-size:14px;margin-right:10px;opacity:.5}
.comp-cell.yes{color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:0.06em;font-weight:700;background:var(--cream)}
.comp-cell.yes::before{content:'✓';color:var(--ink);font-weight:800;font-size:14px;margin-right:10px;background:var(--gold);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.comp-row.head .comp-cell.yes{background:transparent;color:var(--gold)}
.comp-row.head .comp-cell.yes::before{display:none}
.comp-row.head .comp-cell.no{background:transparent;color:rgba(254,248,231,.6)}
.comp-row.head .comp-cell.no::before{display:none}
@media(max-width:780px){
  .comp-row{grid-template-columns:1fr}
  .comp-cell{border-right:none;border-bottom:1px solid var(--line)}
  .comp-row.head{display:none}
  .comp-cell.q{font-weight:700;background:var(--paper-2)}
  .comp-cell.no::after,.comp-cell.yes::after{margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:0.14em;color:var(--muted)}
  .comp-cell.no::after{content:attr(data-no-label)}
  .comp-cell.yes::after{content:attr(data-yes-label)}
}

/* ─────────────────────────── ROI / MATH SECTION ─────────────────────────── */
.roi{padding:100px 0;border-bottom:1px solid var(--line)}
.roi-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.roi h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;margin-bottom:18px}
.roi h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.roi p{font-size:17px;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.roi p strong{color:var(--ink);font-weight:600}
.roi-calc{padding:36px;background:var(--cream);border:2px solid var(--ink);border-radius:18px;position:relative;overflow:hidden}
.roi-calc::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:140px;color:rgba(31,36,44,.06);bottom:-40px;right:-20px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.roi-calc h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-bottom:18px;position:relative;z-index:1}
.roi-calc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.roi-row{padding:14px 0;border-bottom:1px dashed rgba(31,36,44,.2);display:flex;justify-content:space-between;align-items:baseline;position:relative;z-index:1}
.roi-row:last-child{border-bottom:none;padding-top:18px;margin-top:6px;border-top:2px solid var(--ink)}
.roi-row .lbl{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);font-weight:700}
.roi-row .lbl em{font-style:italic;color:var(--ink-2);font-weight:400;text-transform:none;letter-spacing:0;font-size:11px;display:block;margin-top:2px}
.roi-row .v{font-family:var(--serif);font-size:24px;font-weight:600;font-style:italic;color:var(--ink);letter-spacing:-0.02em}
.roi-row.total .lbl{font-weight:800;color:var(--ink);font-size:13px}
.roi-row.total .v{font-size:36px;background:var(--gold);padding:0 8px;border-radius:6px}
@media(max-width:900px){.roi-grid{grid-template-columns:1fr;gap:40px}}

/* ─────────────────────────── FAQ ACCORDION ─────────────────────────── */
/* Used on path pages, pricing, corporate-tracking, teacher-tools, kimchi-making, speak-in-4, contact (per §5). */
.faq{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.faq-head{text-align:center;margin-bottom:40px}
.faq-head .snum{justify-content:center}
.faq-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1}
.faq-head h2 em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 8px;border-radius:6px}
.faq-list{max-width:880px;margin:0 auto}
.faq-item{padding:22px 0;border-bottom:1px solid var(--line)}
.faq-item summary{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:-0.01em;cursor:pointer;list-style:none;line-height:1.3;position:relative;padding-right:46px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary em{font-style:italic;color:var(--ink)}
.faq-item summary::after{content:'+';font-family:var(--serif);font-style:italic;font-size:32px;color:var(--ink);transition:transform .25s;line-height:1;font-weight:300;position:absolute;right:0;top:50%;transform:translateY(-50%)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item p{font-size:15px;color:var(--ink-2);line-height:1.6;padding-top:14px}
.faq-item p strong{color:var(--ink);font-weight:600}

/* ─────────────────────────── HRDC BAR ─────────────────────────── */
.hrdc-bar{background:linear-gradient(90deg,var(--ink) 0%,#2A2F38 100%);color:var(--paper);padding:13px 0;border-bottom:1px solid var(--ink-2);position:relative;overflow:hidden}
.hrdc-bar::after{content:'법인';position:absolute;font-family:var(--kr);font-weight:900;font-size:80px;color:rgba(252,185,0,.06);right:30px;top:-20px;line-height:.8;pointer-events:none}
.hrdc-bar .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;position:relative;z-index:1}
.hrdc-bar .b{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;border:1px solid var(--paper);color:var(--paper);padding:5px 11px;text-transform:uppercase;font-weight:700;border-radius:4px;opacity:.85}
.hrdc-bar .m{font-family:var(--serif);font-size:16px;font-style:italic;font-weight:300}
.hrdc-bar .m strong{font-style:normal;font-weight:700;color:var(--gold)}
.hrdc-bar a{font-family:var(--mono);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:7px 14px;border-radius:6px;font-weight:800;transition:all .2s;display:inline-flex;align-items:center;gap:6px}
.hrdc-bar a:hover{background:var(--paper)}
@media(max-width:780px){.hrdc-bar .wrap{grid-template-columns:1fr;text-align:center;gap:8px}}

/* ─────────────────────────── FLOATING CTA ─────────────────────────── */
.float-cta{position:fixed;bottom:24px;right:24px;background:var(--gold);color:var(--ink);padding:16px 22px !important;line-height:1.5;border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;box-shadow:0 12px 30px -6px rgba(31,36,44,.3);z-index:100;display:flex;align-items:center;gap:10px;transition:transform .25s,box-shadow .25s;border:2px solid var(--ink)}
.float-cta:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 18px 40px -6px rgba(31,36,44,.4);background:var(--gold);color:var(--ink)}
.float-cta .kr{font-family:var(--kr);font-weight:900;font-size:14px;letter-spacing:0}
.float-cta .pulse{width:8px;height:8px;background:var(--ink);border-radius:50%;animation:pulse 1.5s infinite}
@media(max-width:780px){.float-cta{bottom:16px;right:16px;padding:13px 18px;font-size:10px}}

/* ─────────────────────────── ANIMATIONS ─────────────────────────── */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ─────────────────────────── WORDPRESS ADMIN BAR FIX ─────────────────────────── */
/* Fixed masthead must sit below the WP admin bar when present.
   No body padding-top override needed — WP already adds `html { margin-top: 32px }` when
   the admin bar is shown, which shifts page content down on its own. */
body.admin-bar .mh{top:32px}
@media screen and (max-width:782px){body.admin-bar .mh{top:46px}}

/* ============================================================
   HOMEPAGE (page-v3-10-home.php) — sourced from new-design/index.html
   Sections: hero · emot · intent · why · lvsg · paths-sec · proof
             · inperson · partners · cprf · hrdc-slim · final
   ============================================================ */

/* HERO */
.hero{padding:60px 0 80px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%)}
.hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,var(--mint) 0%,transparent 70%);border-radius:50%;opacity:.5;z-index:0}
.hero::after{content:'';position:absolute;bottom:-150px;left:-150px;width:500px;height:500px;background:radial-gradient(circle,var(--peach) 0%,transparent 70%);border-radius:50%;opacity:.5;z-index:0}
.hero-kr{position:absolute;font-family:var(--kr);font-weight:900;color:rgba(31,36,44,.04);font-size:clamp(180px,22vw,300px);line-height:.8;top:50%;right:-60px;transform:translateY(-50%);pointer-events:none;z-index:0;letter-spacing:-0.04em}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--ink);padding:7px 16px;border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:700;margin-bottom:24px;color:var(--ink)}
.hero-tag .live{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 1.5s infinite;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.hero-tag .kr{font-family:var(--kr);font-weight:900;font-size:14px;color:var(--ink);letter-spacing:0;margin-right:2px}
.hero h1{font-size:clamp(46px,7.5vw,98px);font-weight:300;line-height:.98;letter-spacing:-0.045em;margin-bottom:22px;color:var(--ink)}
.hero h1 em{font-style:italic;font-weight:500;color:var(--ink);background:var(--gold);padding:0 12px;border-radius:8px}
.hero-kr-sub{font-family:var(--kr);font-weight:400;font-size:22px;color:var(--ink-2);letter-spacing:-0.02em;margin-bottom:14px;font-style:italic}
.hero-sub{font-size:18px;color:var(--ink-2);max-width:560px;margin-bottom:28px;line-height:1.55}
.hero-sub strong{color:var(--ink);font-weight:600}
.hero-acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.hero-trust{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;font-weight:600;flex-wrap:wrap}
.hero-trust .check{color:var(--green);font-weight:800}
.hero-trust span:not(:last-child)::after{content:'·';margin-left:14px;color:var(--line-2)}
.hero-img{position:relative}
.hero-img-frame{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(31,36,44,.22);border:1px solid var(--line)}
.hero-img-frame img{width:100%;display:block}
.hero-mini-card{position:absolute;top:30px;right:-30px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:0 12px 30px -8px rgba(31,36,44,.18);display:flex;align-items:center;gap:12px;transform:rotate(2deg)}
.hero-mini-card .ic{width:40px;height:40px;background:var(--mint);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.hero-mini-card .txt{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.hero-mini-card .txt strong{font-family:var(--serif);font-size:18px;color:var(--ink);font-style:italic;font-weight:600;letter-spacing:-0.01em;text-transform:none;display:block;margin-bottom:2px}
.hero-bottom-card{position:absolute;bottom:-22px;left:-20px;background:var(--ink);color:var(--paper);padding:14px 20px;border-radius:14px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px -8px rgba(31,36,44,.3);transform:rotate(-2deg)}
.hero-bottom-card .ic{width:36px;height:36px;background:var(--gold);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink);font-family:var(--serif);font-style:italic;font-weight:700;font-size:18px;flex-shrink:0;letter-spacing:-0.02em}
.hero-bottom-card .txt{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(254,248,231,.7);font-weight:700}
.hero-bottom-card .txt strong{font-family:var(--serif);font-size:16px;color:var(--paper);font-style:italic;font-weight:600;letter-spacing:-0.01em;text-transform:none;display:block;margin-bottom:1px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:50px}.hero-mini-card{display:none}}

/* EMOTIONAL ENTRY */
.emot{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.emot::before{content:'마음';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,22vw,340px);color:rgba(31,36,44,.04);top:30px;left:-60px;line-height:.8;pointer-events:none;letter-spacing:-0.04em}
.emot .wrap{position:relative;z-index:1}
.emot-head{text-align:center;max-width:780px;margin:0 auto 44px}
.emot-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.emot-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.emot-head p{font-size:16px;color:var(--ink-2);line-height:1.6}
.emot-head .snum{justify-content:center}
.emot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.emoc{padding:30px 24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;text-align:center;transition:transform .25s,box-shadow .25s,border-color .25s;cursor:pointer;display:flex;flex-direction:column;align-items:center;color:var(--ink);text-decoration:none}
.emoc:hover{transform:translateY(-5px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18);border-color:var(--ink);background:var(--paper);color:var(--ink)}
.emoc-emoji{font-size:48px;margin-bottom:18px;line-height:1}
.emoc h4{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.25;margin-bottom:8px;letter-spacing:-0.01em;color:var(--ink)}
.emoc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.emoc p{font-size:13px;color:var(--ink-2);line-height:1.5;font-style:italic}
@media(max-width:900px){.emot-grid{grid-template-columns:1fr 1fr}}

/* INTENT ROUTER */
.intent{padding:110px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--paper)}
.intent::before{content:'목표';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;pointer-events:none;letter-spacing:-0.04em}
.intent .wrap{position:relative;z-index:1}
.intent-head{text-align:center;max-width:780px;margin:0 auto 50px}
.intent-head h2{font-size:clamp(40px,5.5vw,72px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.intent-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.intent-head p{font-size:17px;color:var(--ink-2);line-height:1.55}
.intent-head .snum{justify-content:center}
.intent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:28px}
.intc{padding:36px;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;min-height:240px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;color:var(--ink);text-decoration:none}
.intc:hover{transform:translateY(-6px);box-shadow:0 30px 60px -15px rgba(31,36,44,.22);color:var(--ink)}
.intc.a{background:var(--mint);border:2px solid var(--ink)}
.intc.b{background:var(--blue);border:2px solid var(--ink)}
.intc.c{background:var(--cream);border:1px solid var(--line)}
.intc.d{background:var(--pink);border:1px solid var(--line)}
.intc.a:hover,.intc.b:hover{background:var(--mint)}
.intc.b:hover{background:var(--blue)}
.intc.c:hover{background:var(--cream)}
.intc.d:hover{background:var(--pink)}
.intc .featured{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9px;letter-spacing:0.16em;font-weight:800;text-transform:uppercase;background:var(--ink);color:var(--gold);padding:4px 10px;border-radius:4px}
.intc-kr{font-family:var(--kr);font-weight:900;font-size:32px;color:var(--ink);letter-spacing:-0.02em;margin-bottom:14px;opacity:.85}
.intc h3{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:-0.02em;line-height:1.1;margin-bottom:8px;color:var(--ink)}
.intc h3 em{font-style:italic;color:var(--ink);font-weight:400}
.intc-tag{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink-2);line-height:1.4;margin-bottom:24px;font-weight:400}
.intc-cta{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--ink);padding-top:14px;border-top:1px dashed rgba(31,36,44,.25)}
.intc-cta::after{content:'→';transition:transform .2s}
.intc:hover .intc-cta::after{transform:translateX(4px)}
.intent-foot{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.intent-foot a{color:var(--ink);text-decoration:underline;font-weight:800}
.intent-foot a:hover{color:var(--ink);background:transparent}
@media(max-width:780px){.intent-grid{grid-template-columns:1fr}}

/* WHY (THE HOW) */
.why{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.why-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:50px}
.why-head h2{font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:.98;letter-spacing:-0.04em;color:var(--ink)}
.why-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.why-head p{font-size:16px;color:var(--ink-2);max-width:480px;line-height:1.6}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why-card{padding:28px 26px 30px;border-radius:18px;transition:transform .25s,box-shadow .25s;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line)}
.why-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18);background:var(--paper)}
.why-card .kr-bg{position:absolute;font-family:var(--kr);font-weight:900;font-size:120px;color:rgba(31,36,44,.04);bottom:-30px;right:-15px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.why-num{font-family:var(--mono);font-size:11px;letter-spacing:0.15em;color:var(--ink);opacity:.6;font-weight:700;position:relative;z-index:1}
.why-card h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:8px;position:relative;z-index:1;color:var(--ink)}
.why-card h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.why-card p{font-size:13px;color:var(--ink-2);line-height:1.55;position:relative;z-index:1}
.why-card .ic{font-family:var(--serif);font-size:42px;font-style:italic;font-weight:400;color:var(--ink);opacity:.85;letter-spacing:-0.04em;line-height:1;margin-bottom:14px;position:relative;z-index:1}
@media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr}.why-head{grid-template-columns:1fr;gap:20px}}

/* LEVSGRW PROGRESS */
.lvsg{padding:100px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--paper)}
.lvsg::before{content:'측정';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,22vw,340px);color:rgba(31,36,44,.04);top:50%;right:-60px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.lvsg-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:1}
.lvsg h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.lvsg h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.lvsg .lead{font-size:17px;color:var(--ink-2);line-height:1.6;margin-bottom:18px}
.lvsg .pull{font-family:var(--serif);font-size:24px;font-style:italic;font-weight:500;line-height:1.4;padding:18px 24px;border-left:3px solid var(--gold);background:var(--paper-2);border-radius:0 12px 12px 0;margin:24px 0;color:var(--ink)}
.skills-vis{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.skv{padding:18px 6px;background:var(--paper-2);border-radius:10px;text-align:center;border:1px solid var(--line);transition:all .2s}
.skv:hover{background:var(--gold);transform:translateY(-3px);color:var(--ink)}
.skv .l{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--ink);font-style:italic;letter-spacing:-0.03em;line-height:.9}
.skv .n{font-family:var(--mono);font-size:9px;letter-spacing:0.06em;color:var(--muted);text-transform:uppercase;font-weight:700;margin-top:6px}
.skv .kr{font-family:var(--kr);font-weight:900;font-size:11px;color:var(--ink-2);letter-spacing:-0.02em;margin-top:3px;display:block}
@media(max-width:900px){.lvsg-grid{grid-template-columns:1fr;gap:40px}.skills-vis{grid-template-columns:repeat(4,1fr)}}

/* PATHS */
.paths-sec{padding:110px 0;background:var(--paper-2);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.paths-sec::before{content:'길';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;pointer-events:none}
.paths-head{margin-bottom:50px;position:relative;z-index:1;text-align:center;max-width:880px;margin-left:auto;margin-right:auto}
.paths-head h2{font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:.98;letter-spacing:-0.04em;margin-bottom:14px;color:var(--ink)}
.paths-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.paths-head p{font-size:17px;color:var(--ink-2);line-height:1.55;margin:0 auto;max-width:680px}
.paths-head .snum{justify-content:center}
.paths-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;position:relative;z-index:1}
.paths-grid.five{grid-template-columns:repeat(3,1fr)}
.path-card{background:var(--paper);border-radius:22px;overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;border:1px solid var(--line);position:relative;cursor:pointer;color:var(--ink);text-decoration:none}
.path-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -15px rgba(31,36,44,.22);color:var(--ink);background:var(--paper)}
.path-img{aspect-ratio:16/10;overflow:hidden;background:var(--cream);position:relative}
.path-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.path-card:hover .path-img img{transform:scale(1.06)}
.path-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(31,36,44,.4) 100%)}
.path-kr-stamp{position:absolute;top:14px;left:14px;background:rgba(254,248,231,.95);border:1px solid var(--ink);font-family:var(--kr);font-weight:900;font-size:14px;color:var(--ink);padding:5px 10px;border-radius:6px;letter-spacing:-0.02em;z-index:2}
.path-pastel-tag{position:absolute;bottom:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;padding:5px 10px;border-radius:4px;z-index:2;color:var(--ink)}
.path-pastel-tag.mint{background:var(--mint)}
.path-pastel-tag.blue{background:var(--blue)}
.path-pastel-tag.pink{background:var(--pink)}
.path-pastel-tag.peach{background:var(--peach)}
.path-pastel-tag.cream{background:var(--cream)}
.path-body{padding:24px 26px 26px;display:flex;flex-direction:column;justify-content:space-between;flex:1}
.path-num{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--muted);font-weight:700;margin-bottom:8px}
.path-card h3{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:6px;color:var(--ink)}
.path-tagline{font-family:var(--serif);font-size:14px;font-style:italic;color:var(--ink-2);line-height:1.4;margin-bottom:16px;font-weight:400}
.path-meta{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:14px;display:flex;gap:14px;flex-wrap:wrap}
.path-meta strong{color:var(--ink);font-weight:800}
.path-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px dashed var(--line)}
.path-price{display:flex;align-items:baseline;gap:6px}
.path-price .was{font-family:var(--mono);font-size:10px;color:var(--muted);text-decoration:line-through;font-weight:600}
.path-price .now{font-family:var(--serif);font-size:20px;font-weight:600;font-style:italic;letter-spacing:-0.02em;color:var(--ink)}
.path-cta{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--ink);font-weight:800;text-transform:uppercase;display:flex;align-items:center;gap:6px;transition:gap .2s}
.path-card:hover .path-cta{gap:10px}
@media(max-width:1024px){.paths-grid,.paths-grid.five{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.paths-grid,.paths-grid.five{grid-template-columns:1fr}}

/* PROOF marquee */
.proof{padding:30px 0;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.proof::before,.proof::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.proof::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.proof::after{right:0;background:linear-gradient(-90deg,var(--ink),transparent)}
.proof-track{display:flex;gap:48px;animation:mq 50s linear infinite;width:max-content;align-items:center}
.proof-item{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(254,248,231,.85);flex-shrink:0;font-weight:600}
.proof-item .num{font-family:var(--serif);font-size:24px;font-style:italic;font-weight:600;color:var(--paper);letter-spacing:-0.02em;text-transform:none}
.proof-item .div{width:40px;height:1px;background:rgba(254,248,231,.3)}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* IN-PERSON */
.inperson{padding:0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.inperson-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:520px}
.inperson-img{position:relative;overflow:hidden}
.inperson-img img{width:100%;height:100%;object-fit:cover;display:block}
.inperson-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(31,36,44,.85) 100%)}
.inperson-content{padding:80px 60px;display:flex;flex-direction:column;justify-content:center;position:relative}
.inperson-content::after{content:'대면';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,22vw,300px);color:rgba(252,185,0,.08);bottom:-60px;right:-40px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.inperson-content > *{position:relative;z-index:1}
.inperson .snum{color:var(--gold);margin-bottom:18px}
.inperson .snum::before{background:var(--gold)}
.inperson .snum .kr{color:rgba(254,248,231,.7)}
.inperson h2{font-size:clamp(40px,5.5vw,72px);font-weight:300;line-height:.96;letter-spacing:-0.04em;margin-bottom:18px;color:var(--paper)}
.inperson h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 12px;border-radius:8px}
.inperson .lead{font-size:18px;color:rgba(254,248,231,.78);max-width:480px;line-height:1.55;margin-bottom:24px}
.inperson-feats{margin-bottom:32px;list-style:none;padding:0}
.inperson-feats li{padding:10px 0;border-bottom:1px solid rgba(254,248,231,.12);font-size:14px;color:rgba(254,248,231,.85);display:grid;grid-template-columns:24px 1fr;gap:10px;line-height:1.5}
.inperson-feats li::before{content:'✓';color:var(--gold);font-weight:800;font-size:13px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:rgba(252,185,0,.15);border-radius:50%}
.inperson-acts{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.inperson .btn-ghost{border-color:rgba(254,248,231,.4);color:var(--paper);background:transparent}
.inperson .btn-ghost:hover{background:var(--paper);color:var(--ink)}
.inperson-meta{margin-top:22px;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(254,248,231,.5);font-weight:600}
.inperson-meta .kr{font-family:var(--kr);font-weight:900;color:var(--gold);font-size:13px;letter-spacing:0;margin-right:4px}
@media(max-width:900px){.inperson-grid{grid-template-columns:1fr}.inperson-img{aspect-ratio:16/9}.inperson-content{padding:60px 32px}}

/* LEARNING PARTNERS */
.partners{padding:100px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--paper)}
.partners::before{content:'파트너';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,22vw,340px);color:rgba(31,36,44,.04);top:50%;left:-60px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.partners .wrap{position:relative;z-index:1}
.partners-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:40px}
.partners-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;line-height:.98;letter-spacing:-0.04em;color:var(--ink)}
.partners-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.partners-head p{font-size:16px;color:var(--ink-2);max-width:480px;line-height:1.6}
.partners-filters{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap}
.pfilter{padding:8px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink);font-weight:700;cursor:pointer;transition:all .2s}
.pfilter:hover,.pfilter.act{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.partners-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}
.lp{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;cursor:pointer;color:var(--ink);text-decoration:none}
.lp:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15);color:var(--ink);background:var(--paper)}
.lp-cover{aspect-ratio:1;overflow:hidden;background:var(--cream);position:relative}
.lp-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.lp:hover .lp-cover img{transform:scale(1.05)}
.lp-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(31,36,44,.5) 100%)}
.lp-best{position:absolute;bottom:10px;left:10px;font-family:var(--mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;font-weight:800;color:var(--paper);background:rgba(31,36,44,.85);padding:4px 8px;border-radius:4px;backdrop-filter:blur(4px);z-index:2}
.lp-body{padding:18px 18px 20px;flex:1;display:flex;flex-direction:column}
.lp-role{font-family:var(--mono);font-size:9px;letter-spacing:0.12em;color:var(--ink);text-transform:uppercase;font-weight:800;margin-bottom:8px;opacity:.65}
.lp h4{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.2;margin-bottom:6px;color:var(--ink)}
.lp p{font-size:12px;color:var(--ink-2);line-height:1.5;margin-bottom:12px;flex:1;font-style:italic}
.lp-cta{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--ink);font-weight:800;text-transform:uppercase;border-top:1px dashed var(--line);padding-top:10px;display:flex;align-items:center;gap:6px}
.lp-cta::after{content:'→';transition:transform .2s}
.lp:hover .lp-cta::after{transform:translateX(4px)}
.partners-foot{text-align:center;padding-top:24px;border-top:1px dashed var(--line)}
.partners-foot a{font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);font-weight:800;border-bottom:2px solid var(--gold);padding-bottom:2px}
.partners-foot a:hover{color:var(--ink);background:transparent}
.partners-foot p{font-size:14px;color:var(--ink-2);font-style:italic;margin-bottom:14px}
@media(max-width:1024px){.partners-grid{grid-template-columns:1fr 1fr}.partners-head{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){.partners-grid{grid-template-columns:1fr}}

/* CONVERSION PROOF */
.cprf{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.cprf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cprfc{padding:36px 30px;background:var(--paper);border:1px solid var(--line);border-radius:18px;text-align:center}
.cprfc .v{font-family:var(--serif);font-size:64px;font-weight:300;font-style:italic;color:var(--ink);line-height:.9;letter-spacing:-0.04em;margin-bottom:14px}
.cprfc .v em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.cprfc .l{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:-0.01em;line-height:1.4;color:var(--ink)}
.cprfc .l em{font-style:italic;color:var(--ink-2);font-weight:400}
@media(max-width:900px){.cprf-grid{grid-template-columns:1fr}}

/* HRDC slim */
.hrdc-slim{padding:60px 0;border-bottom:1px solid var(--line);background:var(--cream);position:relative;overflow:hidden}
.hrdc-slim::after{content:'법인';position:absolute;font-family:var(--kr);font-size:clamp(160px,20vw,260px);font-weight:900;color:rgba(31,36,44,.06);bottom:-80px;right:-30px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.hrdc-slim .wrap{position:relative;z-index:1}
.hrdc-slim-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.hrdc-slim h3{font-family:var(--serif);font-size:clamp(24px,3vw,38px);font-weight:300;letter-spacing:-0.03em;line-height:1.15;color:var(--ink)}
.hrdc-slim h3 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.hrdc-slim p{font-size:14px;color:var(--ink-2);margin-top:6px;font-style:italic}
@media(max-width:780px){.hrdc-slim-grid{grid-template-columns:1fr;text-align:center}}

/* FINAL CTA */
.final{padding:120px 0 130px;background:var(--ink);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.final::before{content:'시작';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,24vw,340px);color:rgba(252,185,0,.08);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;line-height:.8;pointer-events:none;letter-spacing:-0.04em}
.final-c{position:relative;z-index:1}
.final-tag{display:inline-flex;align-items:center;gap:10px;background:rgba(254,248,231,.08);border:1px solid rgba(254,248,231,.2);padding:7px 16px;border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;margin-bottom:24px;color:var(--paper)}
.final-tag .kr{font-family:var(--kr);font-weight:900;font-size:14px;letter-spacing:0;color:var(--gold)}
.final h2{font-size:clamp(48px,8vw,124px);font-weight:300;line-height:.96;letter-spacing:-0.05em;margin-bottom:20px;color:var(--paper)}
.final h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 12px;border-radius:8px}
.final p{font-size:18px;color:rgba(254,248,231,.78);max-width:520px;margin:0 auto 32px;line-height:1.55}
.final-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.final .btn-ghost{border-color:rgba(254,248,231,.3);color:var(--paper);background:transparent}
.final .btn-ghost:hover{background:var(--paper);color:var(--ink)}
.final-trust{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.08em;color:rgba(254,248,231,.5);text-transform:uppercase;flex-wrap:wrap;font-weight:600}
.final-trust .check{color:var(--green);font-weight:800}
.final-trust span:not(:last-child)::after{content:'·';margin-left:14px;color:rgba(254,248,231,.3)}
/* end homepage */

/* ============================================================
   ABOUT (page-v3-10-about.php) — sourced from new-design/about.html
   Reuses .sphero · .sec · .sec-head · .crumb · .cta-final from earlier;
   adds story / values / metrics blocks below.
   ============================================================ */

.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.story-grid h3{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:18px;color:var(--ink)}
.story-grid h3 em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 6px;border-radius:4px}
.story-grid p{font-size:16px;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.story-grid .pull{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:500;line-height:1.4;padding:18px 24px;border-left:3px solid var(--gold);background:var(--paper-2);border-radius:0 12px 12px 0;margin:24px 0;color:var(--ink)}
.story-img{aspect-ratio:1;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(31,36,44,.22);border:1px solid var(--line)}
.story-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.story-grid{grid-template-columns:1fr;gap:40px}}

.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vc{padding:30px 26px;background:var(--paper);border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;color:var(--ink)}
.vc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15);background:var(--paper);border-color:var(--ink);color:var(--ink)}
.vc::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:80px;color:rgba(31,36,44,.04);bottom:-15px;right:-10px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.vc .ic{font-family:var(--serif);font-size:42px;font-style:italic;font-weight:400;color:var(--ink);opacity:.85;margin-bottom:14px;letter-spacing:-0.04em;line-height:1;position:relative;z-index:1}
.vc h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-bottom:8px;line-height:1.2;position:relative;z-index:1;color:var(--ink)}
.vc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.vc p{font-size:14px;color:var(--ink-2);line-height:1.55;position:relative;z-index:1}
@media(max-width:900px){.values-grid{grid-template-columns:1fr 1fr}}

.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.metric{padding:30px 26px;background:var(--paper);border:1px solid var(--line);border-radius:14px;text-align:center}
.metric .v{font-family:var(--serif);font-size:48px;font-weight:300;font-style:italic;color:var(--ink);line-height:.9;letter-spacing:-0.04em;margin-bottom:8px}
.metric .v em{background:var(--gold);padding:0 6px;border-radius:4px;color:var(--ink)}
.metric .l{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;color:var(--muted);text-transform:uppercase;font-weight:700}
@media(max-width:780px){.metrics{grid-template-columns:1fr 1fr}}
/* end about */

/* ============================================================
   IN-PERSON (page-v3-10-in-person.php) — sourced from new-design/in-person.html
   Sections: iphero · iptypes · ipdiff · iploc · iptm · ippricing · ipfaq · ipfinal
   ============================================================ */

.iphero{padding:80px 0;background:linear-gradient(180deg,var(--peach) 0%,var(--paper) 100%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.iphero::after{content:'대면';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,30vw,400px);color:rgba(31,36,44,.06);bottom:-100px;right:-60px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.iphero .wrap{position:relative;z-index:1}
.iphero .crumb{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:30px;font-weight:600}
.iphero .crumb a{border-bottom:1px solid var(--ink-2);color:var(--ink-2)}
.iphero h1{font-size:clamp(48px,7.5vw,108px);font-weight:300;letter-spacing:-0.045em;line-height:.96;margin-bottom:18px;color:var(--ink)}
.iphero h1 em{font-style:italic;font-weight:500;background:var(--gold);padding:0 12px;border-radius:8px;color:var(--ink)}
.iphero-kr{font-family:var(--kr);font-weight:400;font-size:24px;color:var(--ink-2);letter-spacing:-0.02em;margin-bottom:14px;font-style:italic}
.iphero .lead{font-size:19px;color:var(--ink-2);max-width:560px;line-height:1.55;margin-bottom:30px;font-weight:400}
.iphero-acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.iphero-trust{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.08em;color:var(--muted);text-transform:uppercase;font-weight:600;flex-wrap:wrap}
.iphero-trust .check{color:var(--green);font-weight:800}
.iphero-trust span:not(:last-child)::after{content:'·';margin-left:14px;color:var(--line-2)}
.iphero-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.iphero-img-frame{aspect-ratio:1;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(31,36,44,.22);border:1px solid var(--line)}
.iphero-img-frame img{width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.iphero-grid{grid-template-columns:1fr;gap:40px}}

.iptypes{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.iptypes-head{margin-bottom:50px;max-width:780px}
.iptypes-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;color:var(--ink)}
.iptypes-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.iptypes-head p{font-size:17px;color:var(--ink-2);line-height:1.55;margin-top:14px;max-width:680px}
.iptypes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.iptc{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.iptc:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.18);background:var(--paper)}
.iptc-img{aspect-ratio:4/3;overflow:hidden;background:var(--cream);position:relative}
.iptc-img img{width:100%;height:100%;object-fit:cover}
.iptc-tag{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;background:var(--paper);padding:5px 10px;border-radius:5px;color:var(--ink);z-index:2}
.iptc-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.iptc h3{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em;margin-bottom:8px;color:var(--ink)}
.iptc h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.iptc p{font-size:14px;color:var(--ink-2);line-height:1.55;margin-bottom:18px;flex:1}
.iptc-meta{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:700;display:flex;gap:14px;flex-wrap:wrap;padding-top:14px;border-top:1px dashed var(--line);margin-bottom:14px}
.iptc-meta strong{color:var(--ink);font-weight:800}
.iptc-cta{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);font-weight:800;display:flex;align-items:center;gap:6px;background:transparent}
.iptc-cta:hover{color:var(--ink);background:transparent}
.iptc-cta::after{content:'→';transition:transform .2s}
.iptc:hover .iptc-cta::after{transform:translateX(4px)}
@media(max-width:900px){.iptypes-grid{grid-template-columns:1fr}}

.ipdiff{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.ipdiff::before{content:'차이';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.ipdiff .wrap{position:relative;z-index:1}
.ipdiff-head{margin-bottom:40px;max-width:780px}
.ipdiff-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;color:var(--ink)}
.ipdiff-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.ipdiff-head p{font-size:17px;color:var(--ink-2);line-height:1.55;margin-top:14px}
.ipdiff-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ipdiff-col{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:32px}
.ipdiff-col.online{opacity:.65}
.ipdiff-col.live{border:2px solid var(--ink);box-shadow:0 30px 60px -20px rgba(31,36,44,.2)}
.ipdiff-col h4{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px;color:var(--ink)}
.ipdiff-col h4 em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 6px;border-radius:4px}
.ipdiff-col .sub{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;font-weight:700}
.ipdiff-col ul{list-style:none;padding:0}
.ipdiff-col ul li{padding:14px 0;border-bottom:1px dashed var(--line);font-size:15px;color:var(--ink-2);display:grid;grid-template-columns:24px 1fr;gap:10px;line-height:1.5}
.ipdiff-col.online ul li::before{content:'·';color:var(--muted);font-size:18px;font-weight:800}
.ipdiff-col.live ul li::before{content:'✓';color:var(--ink);font-weight:800;background:var(--gold);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px}
.ipdiff-col.live ul li{color:var(--ink)}
@media(max-width:900px){.ipdiff-grid{grid-template-columns:1fr}}

.iploc{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.iploc-head{text-align:center;margin-bottom:50px}
.iploc-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.iploc-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.iploc-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:580px;margin:0 auto}
.iploc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.iplc{padding:32px 28px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px}
.iplc h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px;color:var(--ink)}
.iplc h4 em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 6px;border-radius:4px}
.iplc .city-kr{font-family:var(--kr);font-size:13px;color:var(--ink-2);margin-bottom:14px;letter-spacing:-0.02em}
.iplc p{font-size:14px;color:var(--ink-2);line-height:1.55}
.iplc .meta{margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
@media(max-width:900px){.iploc-grid{grid-template-columns:1fr}}

.iptm{padding:100px 0;border-bottom:1px solid var(--line);background:var(--mint);position:relative;overflow:hidden}
.iptm::before{content:'사람';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.06);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.iptm .wrap{position:relative;z-index:1}
.iptm-head{margin-bottom:50px;max-width:780px}
.iptm-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;color:var(--ink)}
.iptm-head h2 em{color:var(--ink);font-style:italic;background:var(--paper);padding:0 8px;border-radius:6px}
.iptm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.iptmc{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
.iptmc img{width:80px;height:80px;border-radius:50%;object-fit:cover}
.iptmc h5{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-0.01em;margin-bottom:4px;color:var(--ink)}
.iptmc p{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);font-weight:600;margin-bottom:6px}
.iptmc .quote{font-family:var(--serif);font-size:14px;font-style:italic;color:var(--ink-2);font-weight:400;line-height:1.5;text-transform:none;letter-spacing:0}
@media(max-width:900px){.iptm-grid{grid-template-columns:1fr}}

.ippricing{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.ippricing-head{text-align:center;margin-bottom:50px}
.ippricing-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.ippricing-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.ippricing-head p{font-size:17px;color:var(--ink-2);line-height:1.55}
.ippricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ippc{padding:36px 30px;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column}
.ippc.featured{border:2px solid var(--ink);position:relative;background:var(--paper)}
.ippc.featured::before{content:'MOST CHOSEN';position:absolute;top:-14px;left:24px;background:var(--gold);font-family:var(--mono);font-size:11px;letter-spacing:0.2em;padding:6px 14px;font-weight:800;border-radius:4px;color:var(--ink)}
.ippc h4{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em;margin-bottom:4px;color:var(--ink)}
.ippc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.ippc .sub{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:24px}
.ippc .price{font-family:var(--serif);font-size:48px;font-weight:300;font-style:italic;color:var(--ink);line-height:.9;letter-spacing:-0.03em;margin-bottom:6px}
.ippc .pmeta{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:600;margin-bottom:24px}
.ippc ul{list-style:none;padding:0;flex:1;margin-bottom:18px}
.ippc ul li{padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px;color:var(--ink-2);display:grid;grid-template-columns:18px 1fr;gap:10px;line-height:1.5}
.ippc ul li::before{content:'✓';color:var(--ink);font-weight:800;font-size:13px}
.ippc-cta{display:block;width:100%;text-align:center;padding:14px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;border-radius:8px;border:2px solid var(--ink);transition:all .2s}
.ippc-cta.gold{background:var(--gold);color:var(--ink)}
.ippc-cta.ghost{background:transparent;color:var(--ink)}
.ippc-cta.gold:hover{background:var(--ink);color:var(--gold)}
.ippc-cta.ghost:hover{background:var(--ink);color:var(--paper)}
@media(max-width:900px){.ippricing-grid{grid-template-columns:1fr}}

.ipfaq{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.ipfaq-head{text-align:center;margin-bottom:50px}
.ipfaq-head h2{font-size:clamp(36px,5vw,64px);font-weight:300;letter-spacing:-0.04em;line-height:.98;color:var(--ink)}
.ipfaq-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.ipfaq-list{max-width:880px;margin:0 auto}
.ipfaq-item{padding:24px 0;border-bottom:1px solid var(--line)}
.ipfaq-item summary{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.01em;cursor:pointer;list-style:none;line-height:1.3;position:relative;padding-right:46px;color:var(--ink)}
.ipfaq-item summary::-webkit-details-marker{display:none}
.ipfaq-item summary em{font-style:italic;color:var(--ink)}
.ipfaq-item summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--serif);font-style:italic;font-size:36px;color:var(--ink);transition:transform .2s;line-height:1;font-weight:300}
.ipfaq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.ipfaq-item p{font-size:15px;color:var(--ink-2);line-height:1.6;padding-top:18px}

.ipfinal{padding:120px 0;background:var(--ink);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.ipfinal::before{content:'대면';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(180px,24vw,340px);color:rgba(252,185,0,.08);top:50%;left:50%;transform:translate(-50%,-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.ipfinal-c{position:relative;z-index:1}
.ipfinal-c h2{font-size:clamp(48px,8vw,108px);font-weight:300;line-height:.96;letter-spacing:-0.05em;margin-bottom:20px;color:var(--paper)}
.ipfinal-c h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 12px;border-radius:8px}
.ipfinal-c p{font-size:18px;color:rgba(254,248,231,.78);max-width:520px;margin:0 auto 32px;line-height:1.55}
.ipfinal-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ipfinal .btn-ghost{border-color:rgba(254,248,231,.3);color:var(--paper);background:transparent}
.ipfinal .btn-ghost:hover{background:var(--paper);color:var(--ink)}
/* end in-person */

/* ============================================================
   PARTNERSHIPS (page-v3-10-partnerships.php) — sourced from new-design/partnerships.html
   Sections: psphero · philos · tiers · examples · bring · process · partnercta
   ============================================================ */

.psphero{padding:80px 0;background:linear-gradient(180deg,var(--blue) 0%,var(--paper) 100%);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.psphero::after{content:'협력';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,30vw,400px);color:rgba(31,36,44,.06);bottom:-100px;right:-60px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.psphero .wrap{position:relative;z-index:1}
.psphero .crumb{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:30px;font-weight:600}
.psphero .crumb a{border-bottom:1px solid var(--ink-2);color:var(--ink-2)}
.psphero h1{font-size:clamp(48px,7vw,96px);font-weight:300;letter-spacing:-0.045em;line-height:.96;margin-bottom:18px;max-width:900px;color:var(--ink)}
.psphero h1 em{font-style:italic;font-weight:500;background:var(--gold);padding:0 12px;border-radius:8px;color:var(--ink)}
.psphero-kr{font-family:var(--kr);font-weight:400;font-size:24px;color:var(--ink-2);margin-bottom:14px;font-style:italic}
.psphero .lead{font-size:19px;color:var(--ink-2);max-width:680px;line-height:1.55;margin-bottom:24px;font-weight:400}
.psphero-acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

.philos{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.philos-grid{display:grid;grid-template-columns:.5fr .5fr;gap:60px;align-items:center}
.philos h2{font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:18px;color:var(--ink)}
.philos h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.philos p{font-size:17px;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.philos p strong{color:var(--ink);font-weight:600}
.philos-pull{font-family:var(--serif);font-size:24px;font-style:italic;font-weight:500;line-height:1.4;padding:18px 24px;border-left:3px solid var(--gold);background:var(--paper-2);border-radius:0 12px 12px 0;margin:24px 0;color:var(--ink)}
.philos-rules{padding:30px;background:var(--ink);color:var(--paper);border-radius:18px;position:relative;overflow:hidden}
.philos-rules::after{content:'원칙';position:absolute;font-family:var(--kr);font-weight:900;font-size:140px;color:rgba(252,185,0,.08);bottom:-40px;right:-20px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.philos-rules h4{font-family:var(--serif);font-size:24px;font-weight:500;letter-spacing:-0.02em;color:var(--gold);margin-bottom:18px;position:relative;z-index:1}
.philos-rules h4 em{font-style:italic}
.philos-rules ol{list-style:none;padding:0;counter-reset:rules;position:relative;z-index:1}
.philos-rules ol li{counter-increment:rules;padding:14px 0 14px 46px;border-bottom:1px dashed rgba(254,248,231,.15);font-size:14px;line-height:1.5;color:rgba(254,248,231,.8);position:relative}
.philos-rules ol li:last-child{border-bottom:none}
.philos-rules ol li::before{content:counter(rules,lower-roman);position:absolute;left:0;top:14px;width:32px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:22px;color:var(--gold);line-height:1}
.philos-rules ol li strong{color:var(--paper);font-weight:600}
@media(max-width:900px){.philos-grid{grid-template-columns:1fr;gap:40px}}

.tiers{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.tiers::before{content:'유형';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.tiers .wrap{position:relative;z-index:1}
.tiers-head{margin-bottom:50px;max-width:880px}
.tiers-head h2{font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.tiers-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.tiers-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:680px}
.tier-list{display:grid;gap:18px}
.tier{padding:36px;background:var(--paper);border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:140px 1fr;gap:36px;align-items:start;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.tier:hover{transform:translateY(-3px);box-shadow:0 30px 60px -15px rgba(31,36,44,.18);background:var(--paper)}
.tier-num{padding:14px 18px;background:var(--ink);color:var(--gold);border-radius:12px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;text-align:center}
.tier-num .n{font-family:var(--serif);font-style:italic;font-weight:500;font-size:48px;color:var(--gold);letter-spacing:-0.04em;line-height:.85;display:block;margin-bottom:6px}
.tier-num .lbl{font-size:9px;letter-spacing:0.2em;color:rgba(254,248,231,.7);font-weight:700}
.tier-content h3{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin-bottom:8px;color:var(--ink)}
.tier-content h3 em{font-style:italic;color:var(--ink);background:var(--cream);padding:0 6px;border-radius:4px}
.tier-content .lead{font-size:15px;color:var(--ink-2);line-height:1.6;margin-bottom:18px;font-style:italic}
.tier-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:18px;border-top:1px dashed var(--line)}
.tier-col h5{font-family:var(--mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:10px}
.tier-col ul{list-style:none;padding:0}
.tier-col ul li{padding:6px 0 6px 26px;font-size:13px;color:var(--ink-2);line-height:1.5;position:relative}
.tier-col.you ul li::before{content:'→';color:var(--gold);font-weight:800;position:absolute;left:0;top:6px}
.tier-col.them ul li::before{content:'←';color:var(--kimchi);font-weight:800;position:absolute;left:0;top:6px}
.tier-col ul li strong{color:var(--ink);font-weight:600}
@media(max-width:900px){.tier{grid-template-columns:1fr;gap:20px}.tier-cols{grid-template-columns:1fr}}

.examples{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.examples-head{margin-bottom:50px;max-width:780px}
.examples-head h2{font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.examples-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.examples-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:680px}
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.exc{padding:26px 24px;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s}
.exc:hover{transform:translateY(-3px);border-color:var(--ink);background:var(--paper-2)}
.exc::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:60px;color:rgba(31,36,44,.04);bottom:-15px;right:-10px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.exc-emoji{font-size:32px;margin-bottom:12px;line-height:1;position:relative;z-index:1}
.exc h4{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.2;margin-bottom:6px;position:relative;z-index:1;color:var(--ink)}
.exc h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.exc p{font-size:13px;color:var(--ink-2);line-height:1.5;position:relative;z-index:1;margin-bottom:10px}
.exc-tag{font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink);font-weight:800;padding:3px 8px;border-radius:4px;display:inline-block;position:relative;z-index:1}
.exc-tag.tier1{background:var(--mint)}
.exc-tag.tier2{background:var(--cream)}
.exc-tag.tier3{background:var(--peach)}
.exc-tag.tier4{background:var(--pink)}
@media(max-width:900px){.ex-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ex-grid{grid-template-columns:1fr}}

.bring{padding:100px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.bring::before{content:'가치';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(252,185,0,.07);top:50%;left:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.bring .wrap{position:relative;z-index:1}
.bring-head{margin-bottom:50px;max-width:780px}
.bring-head .snum{color:var(--gold)}
.bring-head .snum::before{background:var(--gold)}
.bring-head .snum .kr{color:rgba(254,248,231,.7)}
.bring-head h2{font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--paper)}
.bring-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.bring-head p{font-size:17px;color:rgba(254,248,231,.78);line-height:1.55;max-width:680px}
.bring-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.brc{padding:28px;background:rgba(254,248,231,.05);border:1px solid rgba(254,248,231,.15);border-radius:16px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;transition:background .25s}
.brc:hover{background:rgba(254,248,231,.09)}
.brc-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:54px;color:var(--gold);line-height:.85;letter-spacing:-0.05em;flex-shrink:0;width:60px}
.brc-content h4{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;margin-bottom:8px;color:var(--paper)}
.brc-content h4 em{font-style:italic;color:var(--gold);font-weight:500}
.brc-content p{font-size:14px;color:rgba(254,248,231,.78);line-height:1.55}
.brc-content p strong{color:var(--paper);font-weight:600}
@media(max-width:780px){.bring-grid{grid-template-columns:1fr}}

.process{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.process-head{margin-bottom:50px;max-width:780px}
.process-head h2{font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.process-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.process-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:680px}
.process-timeline{position:relative;padding-left:50px;max-width:880px}
.process-timeline::before{content:'';position:absolute;left:18px;top:30px;bottom:30px;width:2px;background:linear-gradient(180deg,var(--gold),var(--ink));border-radius:2px}
.pline{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:18px 0;position:relative;align-items:start}
.pline-mark{position:absolute;left:-50px;top:18px;width:40px;height:40px;background:var(--paper);border:2.5px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;font-weight:800;color:var(--ink);z-index:2}
.pline-time{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-top:8px}
.pline-time strong{color:var(--ink);font-weight:800;display:block;margin-bottom:2px;font-size:13px}
.pline-content{padding-bottom:14px}
.pline-content h4{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:-0.02em;line-height:1.2;margin-bottom:6px;color:var(--ink)}
.pline-content h4 em{font-style:italic;color:var(--ink);background:var(--cream);padding:0 6px;border-radius:4px}
.pline-content p{font-size:14px;color:var(--ink-2);line-height:1.6}
@media(max-width:780px){.process-timeline{padding-left:36px}.process-timeline::before{left:12px}.pline{grid-template-columns:1fr;gap:8px}.pline-mark{left:-36px;width:30px;height:30px;font-size:10px;top:-2px}.pline-time{padding-top:0}}

.partnercta{padding:120px 0;background:var(--ink);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.partnercta::before{content:'협력';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,420px);color:rgba(252,185,0,.07);top:50%;left:50%;transform:translate(-50%,-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.partnercta-c{position:relative;z-index:1;max-width:780px;margin:0 auto}
.partnercta h2{font-size:clamp(48px,7.5vw,108px);font-weight:300;line-height:.96;letter-spacing:-0.05em;margin-bottom:20px;color:var(--paper)}
.partnercta h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 12px;border-radius:8px}
.partnercta p{font-size:18px;color:rgba(254,248,231,.78);max-width:560px;margin:0 auto 32px;line-height:1.55}
.partnercta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.partnercta .btn-ghost{border-color:rgba(254,248,231,.3);color:var(--paper);background:transparent}
.partnercta .btn-ghost:hover{background:var(--paper);color:var(--ink)}
/* end partnerships */

/* ============================================================
   TEACHER TOOLS SaaS (page-v3-10-teacher-tools.php)
   Sourced from new-design/teacher-tools.html.
   Sections: tthero · dash · tprob · feats · tflow · tprice · tcomp · testi · tfaq · tcta
   ============================================================ */

.tthero{padding:90px 0 60px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.tthero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,var(--mint) 0%,transparent 70%);border-radius:50%;opacity:.5;z-index:0}
.tthero::after{content:'도구';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,30vw,400px);color:rgba(31,36,44,.05);bottom:-100px;left:-60px;line-height:.8;letter-spacing:-0.04em;pointer-events:none;z-index:0}
.tthero .wrap{position:relative;z-index:1}
.tthero-tag{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--gold);padding:7px 14px;border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;margin-bottom:24px}
.tthero-tag .pulse{width:8px;height:8px;background:var(--gold);border-radius:50%;animation:pulse 1.5s infinite}
.tthero-tag .kr{font-family:var(--kr);font-weight:900;font-size:13px;letter-spacing:0;color:var(--paper)}
.tthero h1{font-family:var(--serif);font-size:clamp(48px,7vw,92px);font-weight:300;letter-spacing:-0.045em;line-height:.95;margin-bottom:18px;max-width:920px;color:var(--ink)}
.tthero h1 em{font-style:italic;font-weight:500;background:var(--gold);padding:0 12px;border-radius:8px;color:var(--ink)}
.tthero .lead{font-size:19px;color:var(--ink-2);max-width:680px;line-height:1.55;margin-bottom:28px;font-weight:400}
.tthero .lead strong{color:var(--ink);font-weight:600}
.tthero-acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:24px}
.tthero-trust{display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--ink-2);text-transform:uppercase;font-weight:700;flex-wrap:wrap}
.tthero-trust .check{color:var(--green);font-weight:800;font-size:13px}
.tthero-trust span:not(:last-child)::after{content:'·';margin-left:14px;color:var(--line-2)}

.dash{padding:30px 0 80px;background:var(--paper);position:relative;overflow:hidden}
.dash-frame{max-width:1180px;margin:0 auto;padding:0 28px;position:relative;z-index:2}
.dash-window{background:var(--ink);border-radius:16px 16px 0 0;padding:14px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(254,248,231,.08)}
.dash-window .dot{width:11px;height:11px;border-radius:50%;background:rgba(254,248,231,.2)}
.dash-window .url{margin-left:14px;background:rgba(254,248,231,.1);padding:5px 14px;border-radius:6px;font-family:var(--mono);font-size:11px;color:rgba(254,248,231,.55);letter-spacing:0.04em}
.dash-window .url strong{color:var(--gold);font-weight:600}
.dash-canvas{background:var(--ink);padding:32px;border-radius:0 0 16px 16px;display:grid;grid-template-columns:240px 1fr;gap:0;min-height:480px;position:relative;overflow:hidden;box-shadow:0 40px 80px -20px rgba(31,36,44,.4)}
.dash-side{padding-right:24px;border-right:1px solid rgba(254,248,231,.1)}
.dash-side-h{font-family:var(--mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(254,248,231,.4);font-weight:800;margin-bottom:14px}
.dash-side-item{padding:10px 12px;font-family:var(--sans);font-size:13px;color:rgba(254,248,231,.7);font-weight:500;border-radius:7px;margin-bottom:3px;display:flex;align-items:center;gap:10px}
.dash-side-item.act{background:rgba(252,185,0,.15);color:var(--gold)}
.dash-side-item .ic{width:18px;height:18px;background:rgba(254,248,231,.1);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px}
.dash-side-item.act .ic{background:var(--gold);color:var(--ink);font-weight:800}
.dash-main{padding-left:32px}
.dash-main-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid rgba(254,248,231,.1)}
.dash-main-h h3{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--paper);font-style:italic;letter-spacing:-0.02em}
.dash-main-h h3 em{color:var(--gold);font-style:italic;font-weight:600}
.dash-main-h .tag{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--gold);font-weight:700;text-transform:uppercase}
.dash-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start}
.dash-radar{padding:18px;background:rgba(254,248,231,.04);border:1px solid rgba(254,248,231,.1);border-radius:12px}
.dash-radar-h{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:rgba(254,248,231,.55);font-weight:700;margin-bottom:12px;text-transform:uppercase}
.dash-radar-h strong{color:var(--gold);font-weight:800}
.radar-svg{width:100%;height:auto;display:block}
.dash-stats{display:grid;gap:10px}
.dstat{padding:14px 16px;background:rgba(254,248,231,.04);border:1px solid rgba(254,248,231,.1);border-radius:10px}
.dstat-h{font-family:var(--mono);font-size:9px;letter-spacing:0.14em;color:rgba(254,248,231,.5);font-weight:700;text-transform:uppercase;margin-bottom:6px}
.dstat-v{font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;color:var(--gold);line-height:1;letter-spacing:-0.03em;margin-bottom:4px}
.dstat-v em{font-size:13px;color:rgba(254,248,231,.6);font-style:normal;font-family:var(--mono);font-weight:600;letter-spacing:0;margin-left:4px}
.dstat-l{font-family:var(--mono);font-size:10px;color:rgba(254,248,231,.55);font-weight:600;letter-spacing:0.04em}
.dstat-l .up{color:var(--green);font-weight:800}
.dstat-l .down{color:var(--kimchi);font-weight:800}
@media(max-width:980px){.dash-canvas{grid-template-columns:1fr;min-height:auto}.dash-side{display:none}.dash-main{padding-left:0}.dash-grid{grid-template-columns:1fr}}

.tprob{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2)}
.tprob-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.tprob h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;margin-bottom:18px;color:var(--ink)}
.tprob h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.tprob p{font-size:17px;color:var(--ink-2);line-height:1.65;margin-bottom:14px}
.tprob p strong{color:var(--ink);font-weight:600}
.tprob-pull{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:500;line-height:1.45;padding:18px 22px;border-left:3px solid var(--gold);background:var(--paper);border-radius:0 12px 12px 0;margin:24px 0;color:var(--ink)}
.tprob-pull em{font-style:italic;color:var(--ink-2);font-weight:400}
.tprob-pains{display:grid;gap:12px}
.pain{padding:18px 22px;background:var(--paper);border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;transition:all .2s}
.pain:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px rgba(31,36,44,.12);background:var(--paper)}
.pain-emoji{font-size:24px;line-height:1.2}
.pain-content h4{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:-0.01em;margin-bottom:4px;line-height:1.3;color:var(--ink)}
.pain-content h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.pain-content p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0}
@media(max-width:900px){.tprob-grid{grid-template-columns:1fr;gap:40px}}

.feats{padding:100px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--paper)}
.feats::before{content:'기능';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;right:-100px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.feats .wrap{position:relative;z-index:1}
.feats-head{margin-bottom:50px;max-width:780px}
.feats-head h2{font-family:var(--serif);font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.feats-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.feats-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:680px}
.feats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat{padding:30px 26px;background:var(--paper-2);border:1px solid var(--line);border-radius:16px;position:relative;overflow:hidden;transition:all .25s}
.feat:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:0 20px 40px -12px rgba(31,36,44,.18);background:var(--paper-2)}
.feat::after{content:attr(data-kr);position:absolute;font-family:var(--kr);font-weight:900;font-size:80px;color:rgba(31,36,44,.04);bottom:-15px;right:-10px;line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.feat-tag{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink);font-weight:800;padding:4px 8px;border-radius:4px;display:inline-block;margin-bottom:14px}
.feat-tag.core{background:var(--gold)}
.feat-tag.ai{background:var(--mint)}
.feat-tag.business{background:var(--cream)}
.feat-emoji{font-size:32px;margin-bottom:14px;line-height:1;position:relative;z-index:1}
.feat h4{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;margin-bottom:8px;position:relative;z-index:1;color:var(--ink)}
.feat h4 em{font-style:italic;color:var(--ink-2);font-weight:400}
.feat p{font-size:13px;color:var(--ink-2);line-height:1.55;position:relative;z-index:1}
@media(max-width:900px){.feats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feats-grid{grid-template-columns:1fr}}

.tflow{padding:100px 0;border-bottom:1px solid var(--line);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.tflow::before{content:'흐름';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(252,185,0,.07);top:50%;left:-100px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.tflow .wrap{position:relative;z-index:1}
.tflow-head{margin-bottom:50px;max-width:780px}
.tflow-head .snum{color:var(--gold)}
.tflow-head .snum::before{background:var(--gold)}
.tflow-head .snum .kr{color:rgba(254,248,231,.7)}
.tflow-head h2{font-family:var(--serif);font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--paper)}
.tflow-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.tflow-head p{font-size:17px;color:rgba(254,248,231,.78);line-height:1.55;max-width:680px}
.tflow-line{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tnode{padding:24px 22px;background:rgba(254,248,231,.04);border:1px solid rgba(254,248,231,.15);border-radius:14px;display:flex;flex-direction:column;transition:background .25s}
.tnode:hover{background:rgba(254,248,231,.09)}
.tnode-num{font-family:var(--serif);font-style:italic;font-weight:300;font-size:54px;color:var(--gold);line-height:.85;letter-spacing:-0.05em;margin-bottom:14px}
.tnode h4{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.2;margin-bottom:8px;color:var(--paper)}
.tnode h4 em{font-style:italic;color:var(--gold);font-weight:500}
.tnode p{font-size:13px;color:rgba(254,248,231,.7);line-height:1.5}
@media(max-width:900px){.tflow-line{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tflow-line{grid-template-columns:1fr}}

.tprice{padding:100px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.tprice-head{text-align:center;max-width:780px;margin:0 auto 30px}
.tprice-head .snum{justify-content:center}
.tprice-head h2{font-family:var(--serif);font-size:clamp(38px,5.5vw,68px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.tprice-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 10px;border-radius:6px}
.tprice-head p{font-size:17px;color:var(--ink-2);line-height:1.55;max-width:580px;margin:0 auto}
.tprice-toggle{display:inline-flex;align-items:center;gap:0;margin:0 auto 36px;padding:5px;background:var(--paper-2);border:1px solid var(--line);border-radius:100px;position:relative;left:50%;transform:translateX(-50%)}
.tprice-toggle button{padding:10px 22px;font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;border:none;background:transparent;color:var(--ink-2);border-radius:100px;cursor:pointer;transition:all .25s;display:flex;align-items:center;gap:8px}
.tprice-toggle button:hover{color:var(--ink);background:transparent}
.tprice-toggle button.act,.tprice-toggle button.act:hover{background:var(--ink);color:var(--gold)}
.tprice-toggle .save{background:var(--green);color:white;font-size:9px;letter-spacing:0.16em;padding:2px 6px;border-radius:3px;font-weight:800}
.tprice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1100px;margin:0 auto}
.tplan{padding:36px 30px;background:var(--paper);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.tplan:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px rgba(31,36,44,.15);background:var(--paper)}
.tplan.featured{border:2.5px solid var(--ink);background:var(--paper-2);box-shadow:0 30px 60px -15px rgba(31,36,44,.25);transform:scale(1.02)}
.tplan.featured:hover{transform:scale(1.02) translateY(-4px);background:var(--paper-2)}
.tplan.featured::before{content:'MOST POPULAR';position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:0.18em;padding:6px 14px;font-weight:800;border-radius:5px}
.tplan-tier{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:6px}
.tplan h3{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-0.02em;line-height:1.1;margin-bottom:6px;color:var(--ink)}
.tplan h3 em{font-style:italic;color:var(--ink-2);font-weight:400}
.tplan-tagline{font-size:14px;color:var(--ink-2);margin-bottom:22px;line-height:1.4}
.tplan-pricing{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px;min-height:120px}
.tplan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}
.tplan-cur{font-family:var(--serif);font-size:20px;font-weight:300;font-style:italic;color:var(--ink-2);letter-spacing:-0.02em}
.tplan-amt{font-family:var(--serif);font-size:54px;font-weight:300;font-style:italic;color:var(--ink);line-height:.9;letter-spacing:-0.04em}
.tplan-per{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--muted);text-transform:uppercase;font-weight:600}
.tplan-per strong{color:var(--ink);font-weight:800}
.tplan-was{font-family:var(--mono);font-size:11px;color:var(--muted);text-decoration:line-through;font-weight:600;margin-bottom:4px;letter-spacing:0.04em}
.tplan-save{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:0.14em;background:var(--green);color:white;padding:3px 8px;border-radius:3px;font-weight:800;margin-top:4px}
.tplan ul{list-style:none;padding:0;flex:1;margin-bottom:22px}
.tplan ul li{padding:11px 0 11px 26px;border-bottom:1px dashed var(--line);font-size:13px;color:var(--ink-2);line-height:1.5;position:relative}
.tplan ul li::before{content:'✓';position:absolute;left:0;top:11px;color:var(--ink);font-weight:800;font-size:12px}
.tplan ul li.no::before{content:'—';color:var(--muted);font-weight:400}
.tplan ul li.no{color:var(--muted)}
.tplan ul li strong{color:var(--ink);font-weight:600}
.tplan-cta{display:block;text-align:center;padding:14px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;border-radius:8px;border:2px solid var(--ink);transition:all .2s}
.tplan-cta.gold{background:var(--gold);color:var(--ink)}
.tplan-cta.ghost{background:transparent;color:var(--ink)}
.tplan-cta.gold:hover{background:var(--ink);color:var(--gold)}
.tplan-cta.ghost:hover{background:var(--ink);color:var(--paper)}
.tplan-meta{margin-top:10px;font-family:var(--mono);font-size:9px;letter-spacing:0.1em;color:var(--muted);text-align:center;font-weight:600;text-transform:uppercase}
@media(max-width:1024px){.tprice-grid{grid-template-columns:1fr 1fr}.tplan.featured{transform:none}.tplan.featured:hover{transform:translateY(-4px)}}
@media(max-width:680px){.tprice-grid{grid-template-columns:1fr}}

.tcomp{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper-2);position:relative;overflow:hidden}
.tcomp::before{content:'비교';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.04);top:50%;left:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.tcomp .wrap{position:relative;z-index:1}
.tcomp-head{margin-bottom:40px;max-width:780px}
.tcomp-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:.98;margin-bottom:14px;color:var(--ink)}
.tcomp-head h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 8px;border-radius:6px}
.tcomp-head p{font-size:17px;color:var(--ink-2);line-height:1.55}
.tcomp-table{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.tcomp-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:0;align-items:stretch}
.tcomp-row:not(:last-child){border-bottom:1px solid var(--line)}
.tcomp-row.head{background:var(--ink);color:var(--paper)}
.tcomp-cell{padding:18px 22px;display:flex;align-items:center;border-right:1px solid var(--line);font-size:14px}
.tcomp-cell:last-child{border-right:none}
.tcomp-row.head .tcomp-cell{border-right:1px solid rgba(254,248,231,.15)}
.tcomp-cell.q{font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-0.01em;line-height:1.4;color:var(--ink)}
.tcomp-row.head .tcomp-cell.q{color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800}
.tcomp-row.head .tcomp-cell.col{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800}
.tcomp-row.head .tcomp-cell.col.theirs{color:rgba(254,248,231,.6)}
.tcomp-row.head .tcomp-cell.col.ours{color:var(--gold)}
.tcomp-cell.theirs{color:var(--ink-2);font-family:var(--mono);font-size:12px;letter-spacing:0.04em;font-weight:600;background:var(--paper-2)}
.tcomp-cell.ours{color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:0.04em;font-weight:700;background:var(--cream)}
@media(max-width:780px){.tcomp-row{grid-template-columns:1fr}.tcomp-cell{border-right:none;border-bottom:1px solid var(--line)}.tcomp-row.head{display:none}.tcomp-cell.q{font-weight:700;background:var(--paper-2)}.tcomp-cell.theirs::before{content:'Marketplace fees: ';color:var(--muted);margin-right:8px;font-weight:600;letter-spacing:0;text-transform:none;font-size:11px}.tcomp-cell.ours::before{content:'Teacher Tools: ';color:var(--ink);margin-right:8px;font-weight:800;letter-spacing:0;text-transform:none;font-size:11px}}

.testi{padding:100px 0;border-bottom:1px solid var(--line);background:var(--cream);position:relative;overflow:hidden}
.testi::before{content:'증언';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,400px);color:rgba(31,36,44,.06);top:50%;right:-80px;transform:translateY(-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.testi .wrap{position:relative;z-index:1}
.testi-head{text-align:center;max-width:780px;margin:0 auto 40px}
.testi-head .snum{justify-content:center}
.testi-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;margin-bottom:14px;color:var(--ink)}
.testi-head h2 em{color:var(--ink);font-style:italic;background:var(--paper);padding:0 8px;border-radius:6px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tcard{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.tcard:hover{transform:translateY(-3px);box-shadow:0 16px 32px -10px rgba(31,36,44,.15);background:var(--paper)}
.tcard-stars{color:var(--gold);font-size:14px;letter-spacing:1px;margin-bottom:14px}
.tcard q{font-family:var(--serif);font-size:17px;font-style:italic;font-weight:500;line-height:1.5;letter-spacing:-0.01em;color:var(--ink);margin-bottom:18px;display:block;quotes:none}
.tcard q::before,.tcard q::after{content:none}
.tcard q em{font-style:italic;color:var(--ink-2);font-weight:400;background:var(--cream);padding:0 4px;border-radius:3px}
.tcard-author{padding-top:14px;border-top:1px dashed var(--line);display:flex;align-items:center;gap:12px;margin-top:auto}
.tcard-pic{width:38px;height:38px;border-radius:50%;background:var(--paper-2);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-weight:600;color:var(--ink);font-size:16px;flex-shrink:0;border:2px solid var(--gold)}
.tcard-meta{font-size:12px;color:var(--ink-2);line-height:1.3}
.tcard-meta strong{color:var(--ink);font-weight:700;display:block;margin-bottom:2px;font-size:13px}
.tcard-flag{font-family:var(--mono);font-size:9px;letter-spacing:0.12em;color:var(--muted);font-weight:700;text-transform:uppercase}
@media(max-width:900px){.testi-grid{grid-template-columns:1fr}}

.tfaq{padding:90px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.tfaq-head{text-align:center;margin-bottom:40px}
.tfaq-head .snum{justify-content:center}
.tfaq-head h2{font-family:var(--serif);font-size:clamp(36px,5vw,60px);font-weight:300;letter-spacing:-0.04em;line-height:1;color:var(--ink)}
.tfaq-head h2 em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 8px;border-radius:6px}
.tfaq-list{max-width:880px;margin:0 auto}
.tfaq-item{padding:22px 0;border-bottom:1px solid var(--line)}
.tfaq-item summary{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:-0.01em;cursor:pointer;list-style:none;line-height:1.3;position:relative;padding-right:46px;color:var(--ink)}
.tfaq-item summary::-webkit-details-marker{display:none}
.tfaq-item summary em{font-style:italic;color:var(--ink)}
.tfaq-item summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:var(--serif);font-style:italic;font-size:32px;color:var(--ink);transition:transform .25s;line-height:1;font-weight:300}
.tfaq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.tfaq-item p{font-size:15px;color:var(--ink-2);line-height:1.6;padding-top:14px}
.tfaq-item p strong{color:var(--ink);font-weight:600}

.tcta{padding:130px 0;background:var(--ink);color:var(--paper);text-align:center;position:relative;overflow:hidden}
.tcta::before{content:'시작';position:absolute;font-family:var(--kr);font-weight:900;font-size:clamp(220px,28vw,420px);color:rgba(252,185,0,.07);top:50%;left:50%;transform:translate(-50%,-50%);line-height:.8;letter-spacing:-0.04em;pointer-events:none}
.tcta-c{position:relative;z-index:1;max-width:780px;margin:0 auto}
.tcta-tag{display:inline-flex;align-items:center;gap:10px;background:rgba(254,248,231,.08);border:1px solid rgba(254,248,231,.2);padding:8px 16px;border-radius:100px;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-weight:800;margin-bottom:24px;color:var(--paper)}
.tcta-tag .kr{font-family:var(--kr);font-weight:900;font-size:14px;letter-spacing:0;color:var(--gold)}
.tcta h2{font-family:var(--serif);font-size:clamp(54px,9vw,128px);font-weight:300;line-height:.94;letter-spacing:-0.05em;margin-bottom:20px;color:var(--paper)}
.tcta h2 em{color:var(--ink);font-style:italic;background:var(--gold);padding:0 14px;border-radius:10px}
.tcta p{font-size:19px;color:rgba(254,248,231,.78);max-width:560px;margin:0 auto 32px;line-height:1.55}
.tcta p strong{color:var(--gold);font-weight:600}
.tcta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}
.tcta .btn-mega.gold{border-color:var(--gold)}
.tcta .btn-mega.ghost{border-color:rgba(254,248,231,.3);color:var(--paper);background:transparent}
.tcta .btn-mega.ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.tcta-trust{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:rgba(254,248,231,.55);text-transform:uppercase;font-weight:700;flex-wrap:wrap}
.tcta-trust .check{color:var(--green);font-weight:800;font-size:12px}
.tcta-trust span:not(:last-child)::after{content:'·';margin-left:14px;color:rgba(254,248,231,.3)}
/* end teacher-tools */

/* =============================================================
   educators (/teach/) — comparison table + alt-CTA card
   Both used inline grid-template-columns originally, which can't
   be overridden by media queries. Extracted to classes for proper
   responsive behavior.
   ============================================================= */
.edu-cmp{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:18px}
.edu-cmp-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;border-top:1px solid var(--line)}
.edu-cmp-row:first-child{border-top:none}
.edu-cmp-head{background:var(--ink);color:var(--paper)}
.edu-cmp-cell{padding:16px 22px;font-family:var(--mono);font-size:12px;color:var(--ink-2);border-right:1px solid var(--line)}
.edu-cmp-cell:last-child{border-right:none}
.edu-cmp-head .edu-cmp-cell{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;padding:18px 22px;border-right-color:rgba(254,248,231,.15);color:rgba(254,248,231,.6)}
.edu-cmp-head .edu-cmp-cell:first-child{color:var(--paper)}
.edu-cmp-head .edu-cmp-cell.edu-cmp-us{color:var(--gold)}
.edu-cmp-q{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink)}
.edu-cmp-them{background:var(--paper-2)}
.edu-cmp-us{background:var(--cream);color:var(--ink);font-weight:700}
@media(max-width:760px){
  /* Stack vertically: each row becomes a 3-row mini-card. Mono headers
     repeat above each value via :before pseudo-element so users don't
     lose context. */
  .edu-cmp-row{grid-template-columns:1fr;border-top:2px solid var(--line)}
  .edu-cmp-row:first-child{display:none} /* hide column headers on mobile */
  .edu-cmp-cell{border-right:none;border-bottom:1px solid var(--line);padding:12px 18px}
  .edu-cmp-cell:last-child{border-bottom:none}
  .edu-cmp-them::before{content:'OTHER SCHOOLS — ';font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--muted);font-weight:800;display:block;margin-bottom:4px}
  .edu-cmp-us::before{content:'UBITTO — ';font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--ink-2);font-weight:800;display:block;margin-bottom:4px}
}

/* Alt-CTA card (Teacher Pro upsell) — body+button side-by-side on
   desktop, stacked on mobile. */
.edu-altcta{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:40px 36px;background:var(--paper);border:2px solid var(--ink);border-radius:18px;box-shadow:0 20px 40px -10px rgba(31,36,44,.15)}
.edu-altcta-h{font-family:var(--serif);font-size:clamp(28px,4vw,42px);font-weight:300;letter-spacing:-0.03em;line-height:1.1;margin-bottom:10px}
.edu-altcta-h em{font-style:italic;color:var(--ink);background:var(--gold);padding:0 8px;border-radius:6px}
.edu-altcta-p{font-size:16px;color:var(--ink-2);line-height:1.55;max-width:580px;margin-bottom:6px}
.edu-altcta-btn{display:inline-flex;align-items:center;gap:10px;padding:17px 28px;background:var(--gold);color:var(--ink);font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:800;border-radius:10px;border:2.5px solid var(--ink);white-space:nowrap;text-decoration:none}
.edu-altcta-btn:hover{background:var(--ink);color:var(--gold)}
.edu-altcta-arrow{font-size:15px}
@media(max-width:760px){
  .edu-altcta{grid-template-columns:1fr;gap:24px;padding:28px 22px;text-align:center}
  .edu-altcta-btn{justify-self:center;white-space:normal}
}

/* =============================================================
   BB-header variant — neutralize BuddyBoss's content wrappers
   so v3.10 full-bleed sections (sphero, sec, cta-final) render
   edge-to-edge under the BB masthead. Activated only on pages
   that opt in via body.v3-10-bb-header.
   ============================================================= */
/* Reserve 76px at the top of the OUTERMOST content wrapper to clear
   BB's fixed sticky header (mirrors the working /membership-plans/
   template's pattern). #content and .site-content are aliases for the
   same outer element. */
body.v3-10-bb-header #content,
body.v3-10-bb-header .site-content {
    padding: 76px 0 0;
    margin: 0;
    max-width: none;
    width: 100%;
}

/* Nested wrappers — zero padding/margin only; do NOT add another 76px
   top push (would stack on top of the outer rule above and double-offset
   the content). */
body.v3-10-bb-header .site-content > .container,
body.v3-10-bb-header .site-content-grid,
body.v3-10-bb-header .bb-grid.site-content-grid,
body.v3-10-bb-header #primary,
body.v3-10-bb-header .site-main,
body.v3-10-bb-header article.page,
body.v3-10-bb-header .entry-content {
    padding: 0;
    margin: 0;
    max-width: none;
    width: 100%;
}

/* BB's .bb-grid uses display:flex on direct children with negative
   horizontal margins (-10px each side) and 10px child padding to recreate
   gutter spacing inside .site-content's 10px padding. For our full-bleed
   v3.10 sections this needs to be entirely neutralized. */
body.v3-10-bb-header .bb-grid.site-content-grid {
    display: block;
    margin-left: 0;
    margin-right: 0;
}
body.v3-10-bb-header .bb-grid.site-content-grid > * {
    flex: none;
    padding-left: 0;
    padding-right: 0;
}

/* BB also adds 10px horizontal padding to .site-content directly. Strip it
   so v3.10 section backgrounds extend edge-to-edge of the viewport. */
body.v3-10-bb-header .site,
body.v3-10-bb-header #page,
body.v3-10-bb-header .site-content,
body.v3-10-bb-header #content,
body.v3-10-bb-header .site-content > .container {
    padding-left: 0;
    padding-right: 0;
    max-width: none;
    overflow-x: visible;
}

/* Hide BB sidebar / widget area on these pages — v3.10 layouts are
   full-bleed, no sidebar. */
body.v3-10-bb-header .sidebar,
body.v3-10-bb-header .widget-area,
body.v3-10-bb-header #secondary,
body.v3-10-bb-header .bb-share-container {
    display: none;
}



/* Hide WordPress/BB auto-rendered page title above the v3.10 hero. */
body.v3-10-bb-header .bb-content-heading-wrap,
body.v3-10-bb-header .entry-header,
body.v3-10-bb-header .post-thumbnail,
body.v3-10-bb-header > .entry-title,
/* (Earlier we hid .bb-mobile-panel-wrapper to fix empty space on mobile,
   but that broke BB's hamburger menu — the wrapper IS what the hamburger
   toggles. Real empty-space cause was the dashboard sidebar's top:76px,
   which has been removed separately.) */
