:root{--ground:#F7F7F4;--paper:#fff;--ink:#18181B;--muted:#71717A;--line:rgba(0,0,0,.1);--line-strong:rgba(0,0,0,.3);--soft:#f2f2ef;--black:#000;--accent:#FF5600;--accent-soft:rgba(255,86,0,.08);--shadow:0 20px 40px -15px rgba(0,0,0,.05);--serif:'Hedvig Letters Serif',Georgia,serif;--sans:'IBM Plex Sans KR',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;--mono:'Geist Mono',Menlo,Monaco,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px;overflow-x:clip}html.gsap-enter .hero-copy>*,html.gsap-enter .mock{opacity:0}body{margin:0;color:var(--ink);background:var(--ground);font:15px/1.75 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}body.landing-home{-webkit-user-select:none;user-select:none}body.landing-home input,body.landing-home textarea,body.landing-home [contenteditable]{-webkit-user-select:text;user-select:text}h1,h2,h3,p{margin:0}h1,h2,h3{word-break:keep-all;text-wrap:balance}p,li{word-break:keep-all;overflow-wrap:anywhere}a{color:inherit}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}button{color:inherit}button:disabled{cursor:default}a{text-underline-offset:4px}button,summary,a{touch-action:manipulation}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.wrap{max-width:1280px;width:100%;margin-inline:auto;padding-inline:32px}.skip{position:fixed;z-index:100;left:16px;top:-60px;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding-block:14px;background:var(--ground);gap:24px}.brand{font:500 31px/1 var(--serif);letter-spacing:-.025em;text-decoration:none}.brand span:not(.brand-dot){font-style:italic}.hero{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-block:88px 76px}.eyebrow{font-size:11px;letter-spacing:.05em;font-weight:500;color:var(--muted);text-transform:uppercase}.hero h1{font-size:clamp(38px,4.5vw,59px);font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:25px 0}.lead{font-size:16px;color:var(--muted);line-height:1.7;max-width:30em;text-wrap:pretty}.hero-hook{font-size:clamp(19px,2.2vw,24px);font-weight:700;line-height:1.45;letter-spacing:-.02em;color:var(--ink);margin:10px 0 0}.hero-hook+h1{margin-top:14px}@media(min-width:761px){.hero-hook .hook-br{display:none}}.hero-hook mark{background:#e64d00;color:#fff;border-radius:.22em;padding:0 .16em}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin:31px 0 20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:44px;border-radius:14px;padding:12px 21px;font-size:14px;font-weight:500;border:1px solid var(--line);text-decoration:none;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:0 4px 10px #00000012}.quiet{background:var(--paper);color:var(--ink)}.quiet:hover{background:var(--soft)}.text-link{background:none;border:0;padding:0;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:12px}.text-link:hover{text-decoration:underline}.micro{font-size:12px;color:var(--muted)}.tag{display:inline-block;font-size:12px;border:1px solid var(--line);padding:3px 8px;border-radius:9999px;white-space:nowrap;letter-spacing:0}.connect-section{padding:40px 0 80px}
.connect-head{max-width:600px;margin:0 auto 44px;text-align:center}
.connect-head h2{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-top:14px}
.connect-head>p{margin-top:14px;font-size:15px;line-height:1.7;color:var(--muted)}
.connect-flow{max-width:960px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1.15fr) 44px minmax(0,1fr);align-items:center;gap:10px}
.connect-flow>.connect-group:first-child{justify-self:end}
.connect-label{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}
.connect-sub{margin-top:5px;font-size:13px;color:var(--muted)}
.connect-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
.connect-list li{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:500;letter-spacing:-.01em}
.connect-icon{width:26px;height:26px;flex:none;border-radius:8px;object-fit:contain}
svg.connect-icon{color:var(--muted)}
.connect-more{color:var(--muted)}
.connect-arrow{position:relative;height:2px;background:linear-gradient(90deg,var(--ink),var(--accent));transform:translateX(8px)}
.connect-arrow::after{content:"";position:absolute;right:-1px;top:50%;width:10px;height:10px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);transform:translateY(-50%) rotate(45deg)}
.connect-arrow:nth-of-type(2){background:linear-gradient(90deg,var(--accent),var(--ink));transform:translateX(-8px)}
.connect-arrow:nth-of-type(2)::after{border-color:var(--ink)}
.connect-pdf{display:flex;flex-direction:column;align-items:center}
.connect-pdf .connect-label{margin-bottom:16px}
.pdf-card{position:relative;width:100%;max-width:236px;padding:17px 18px 15px;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 40px -15px rgba(0,0,0,.1)}
.pdf-file{display:flex;align-items:center;gap:7px;padding-bottom:11px;border-bottom:1px solid var(--line);font:500 11px var(--mono);color:var(--muted)}
.pdf-title{margin-top:13px;font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.pdf-rows{margin-top:11px;display:flex;flex-direction:column;gap:9px}
.pdf-rows p{display:flex;gap:9px;font-size:13px;line-height:1.55}
.pdf-rows b{flex:none;width:46px;font-weight:600;color:var(--ink)}
.pdf-rows span{color:var(--muted)}
.pdf-tag{display:inline-block;margin-top:14px;padding:3px 8px;border-radius:5px;background:var(--accent-soft);color:var(--ink);font:500 11px var(--mono);letter-spacing:.02em}
.pdf-rows .ink-target{position:relative;display:inline-block;align-self:flex-start}
.ink{position:absolute;overflow:visible;pointer-events:none}
.ink path{fill:none;stroke:#2563eb;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ink-circle{left:-6px;right:-6px;top:-5px;bottom:-5px;width:calc(100% + 12px);height:calc(100% + 10px)}
.ink-under{left:0;right:0;bottom:-5px;width:100%;height:6px}
.ink-row{position:relative}
.ink-check{left:-15px;top:50%;width:13px;height:13px;margin-top:-7px}
.ink-memo{position:absolute;right:14px;top:44px;font-size:14px;font-weight:800;color:#2563eb;transform:rotate(-8deg);transform-origin:100% 50%;white-space:nowrap}
.pdf-card.ink-ready .ink path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .5s ease}
.pdf-card.ink-ready .ink-memo{opacity:0;transform:rotate(-8deg) scale(.6);transition:opacity .3s ease,transform .35s cubic-bezier(.3,1.6,.5,1)}
.pdf-card.is-inked .ink path{stroke-dashoffset:0}
.pdf-card.is-inked .ink-circle path{transition-delay:.15s}
.pdf-card.is-inked .ink-under path{transition-delay:.7s;transition-duration:.35s}
.pdf-card.is-inked .ink-check path{transition-delay:1.15s;transition-duration:.25s}
.pdf-card.is-inked .ink-memo{opacity:1;transform:rotate(-8deg) scale(1);transition-delay:.6s}
@media (prefers-reduced-motion: reduce){.pdf-card .ink path{stroke-dashoffset:0!important;transition:none!important}.pdf-card .ink-memo{opacity:1!important;transform:rotate(-8deg)!important;transition:none!important}}

@media(max-width:860px){
  .connect-section{padding:48px 0}
  .connect-flow{grid-template-columns:1fr;gap:0;max-width:340px}
  .connect-group{text-align:center;justify-self:stretch}
  .connect-flow>.connect-group:first-child{justify-self:stretch}
  .connect-pdf .connect-label{margin-bottom:12px}
  .connect-list{display:inline-flex;text-align:left;margin-top:16px;gap:10px}
  .connect-arrow{width:2px;height:30px;margin:14px auto;background:linear-gradient(180deg,var(--ink),var(--accent));transform:translateY(6px)}
  .connect-arrow::after{right:auto;left:50%;top:auto;bottom:-1px;width:10px;height:10px;border-top:0;border-right-width:0;border-bottom:2px solid var(--accent);border-left:2px solid var(--accent);transform:translateX(-50%) rotate(-45deg)}
  .connect-arrow:nth-of-type(2){background:linear-gradient(180deg,var(--accent),var(--ink));transform:translateY(-6px)}
  .connect-arrow:nth-of-type(2)::after{border-color:var(--ink)}
}.demo-section{background:var(--black);padding:80px 0;color:#F4F4F5}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:38px}.section-head h2,.faq h2{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-top:14px}.section-head>p{font-size:13px;color:var(--muted);line-height:1.9}.on-dark .eyebrow,.on-dark>p{color:rgba(255,255,255,.6)}.demo-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:stretch}.source-panel{background:#18181B;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:22px 28px}.window-bar{display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.6);font-size:12px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1)}.dots{font-size:8px;letter-spacing:4px;color:rgba(255,255,255,.6)}.source-heading{padding:24px 0}.inverse{border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.6)}.source-heading h3{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:12px 0 6px}.source-heading>p{font-size:11px;color:rgba(255,255,255,.6)}.transcript-line{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:15px 0;border-top:1px solid rgba(255,255,255,.1)}.transcript-line time{font:11px/1.9 var(--mono);font-variant-numeric:tabular-nums;color:rgba(255,255,255,.6)}.transcript-line p{font-size:12px;line-height:1.85;color:#F4F4F5}.source-end{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:10px;color:rgba(255,255,255,.6);font-size:12px}.demo-note{background:var(--paper);color:var(--ink);border-radius:10px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.note-tabs{display:flex;gap:6px;padding:15px 22px;border-bottom:1px solid var(--line);background:#fafaf9}.note-tabs button{border:0;background:none;padding:8px 14px;font-size:12px;border-radius:9999px;color:var(--muted)}.note-tabs [aria-selected=true]{background:var(--ink);color:var(--paper)}#demoOutput{padding:28px 31px;flex:1;min-height:440px;max-height:560px;overflow-y:auto;scroll-behavior:smooth}#demoOutput::-webkit-scrollbar{width:6px}#demoOutput::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}#demoOutput h3{font-size:24px;line-height:1.33;font-weight:600;letter-spacing:-.02em;margin:12px 0 25px}#demoOutput h4{font-size:14px;font-weight:600;margin:24px 0 12px;letter-spacing:-.01em}#demoOutput p,#demoOutput li{font-size:13px;line-height:1.9}#demoOutput ul{padding-left:18px}.note-callout{margin-block:18px;padding:16px 18px;background:var(--ground);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;font-size:13px;line-height:1.75}.note-callout-title{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:600;font-size:13px;color:var(--ink)}.note-bottom{border-top:1px solid var(--line);padding:18px 26px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.note-bottom button{color:var(--ink)}.demo-caption{font-size:12px;color:rgba(255,255,255,.6);max-width:850px;margin-top:23px;line-height:1.8}.section{padding-block:80px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line)}.plan{background:var(--paper);border:1px solid var(--line);border-radius:0;padding:24px 21px;display:flex;flex-direction:column;margin-top:-1px;margin-left:-1px;transition:background .2s}.plan:hover,.plan:focus-within{background:rgba(0,0,0,.03)}.plan-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.plan h3{font:600 24px/1.3 var(--sans);letter-spacing:-.01em}.solid{background:var(--accent);color:var(--ink);border-color:var(--accent)}.plan-for{font-size:16px;line-height:1.5;letter-spacing:-.01em;color:var(--ink);margin:10px 0 20px}.price{font-size:31px;font-weight:600;line-height:1.2;letter-spacing:-.02em;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.price span{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:4px}.price{margin-bottom:2px}.plan-outcome{font-size:13px;line-height:1.85;margin:24px 0 0;padding-top:22px;border-top:1px solid var(--line);font-weight:500}.benefits{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--muted)}.benefits .carry{color:var(--ink);font-weight:500}.benefits-label{font-size:12px;font-weight:600;margin:16px 0 10px}.benefits li:before{content:'✓';color:var(--ink);margin-right:9px}summary{cursor:pointer}.plan-actions{display:flex;flex-direction:column;gap:12px;margin-top:19px}.sample-button{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;padding:11px 0;border:0;background:none;text-align:left}.sample-button:hover{text-decoration:underline}.plan-actions .button{width:100%;font-size:12px;padding:11px}.student-row{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 26px;text-align:center}.student-toggle{min-height:44px;padding:4px 2px;border:0;background:none;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.student-toggle:hover{color:var(--ink)}.student-toggle[aria-pressed=true]{color:var(--ink);font-weight:600}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-list details{padding:20px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:500}.faq-list p{font-size:13px;color:var(--muted);margin-top:15px;padding-right:20px}.site-footer{background:var(--black);color:#F4F4F5;padding:60px 0 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-top>div>p:not(.eyebrow){font-size:12px;color:rgba(255,255,255,.6);margin-top:17px}.footer-top nav{display:flex;flex-direction:column;gap:12px}.footer-top nav a,.footer-top>div>a:not(.brand){font-size:12px;color:rgba(255,255,255,.6);text-decoration:none}.footer-top nav a:hover{text-decoration:underline;color:#F4F4F5}.footer-top .eyebrow{color:rgba(255,255,255,.6);margin-bottom:14px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.1);padding-top:23px;margin-top:45px}dialog{width:min(820px,calc(100% - 32px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #0003}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}.dialog-head{position:sticky;top:0;z-index:1;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 30px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:22px;font-weight:600;letter-spacing:-.02em}.dialog-head form{margin:0}.close-button{border:1px solid var(--line);background:var(--ground);padding:7px 11px;border-radius:5px;font-size:12px;white-space:nowrap}.sample-origin{padding:20px 30px;background:var(--ground);font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.sample-body{padding:30px 38px 40px;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.sample-body h1{font-size:27px;line-height:1.5;letter-spacing:-.04em;margin-bottom:25px}.sample-body h2{font-size:21px;margin:32px 0 13px;letter-spacing:-.03em}.sample-body h3{font-size:17px;margin:24px 0 12px}.sample-body h4{font-size:15px;margin:20px 0 10px}.sample-body p{margin-block:12px}.sample-body ul{padding-left:21px}.sample-body li{margin-block:7px}.sample-body hr{border:0;border-top:1px solid var(--line);margin:28px 0}.table-wrap{overflow-x:auto;margin-block:18px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:360px;text-align:left}th,td{padding:10px 14px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}th{font-weight:600;background:var(--ground);color:var(--ink)}.formula{padding:14px;background:var(--ground);border-radius:8px;font-family:ui-monospace,monospace;font-size:12.5px;overflow-wrap:anywhere;border:1px solid var(--line)}.sample-body .transcript-line{border-color:var(--line)}.sample-body .transcript-line p{color:var(--ink);margin:0}.compact-dialog{width:min(480px,calc(100% - 32px));padding:0 28px calc(28px + env(safe-area-inset-bottom))}.compact-dialog .dialog-head{padding:23px 0}.compact-dialog>p{font-size:13px;line-height:1.9;margin-top:22px}.compact-dialog>.button{margin-top:24px;width:100%}.policy-link{display:block;font-size:12px;color:var(--muted);margin-top:22px}
@media(min-width:1400px){.hero{gap:110px}}
@media(max-width:1100px){.hero{gap:40px}.plan{padding:28px}.hero h1{font-size:43px}.demo-grid{gap:20px}.section-head>p br{display:none}}
@media(max-width:760px){.plan-grid{grid-template-columns:1fr}.wrap{padding-inline:16px}.site-header{padding-block:12px}.brand{font-size:27px}.hero{grid-template-columns:1fr;padding:54px 0 42px;gap:40px}.hero h1{font-size:45px}.hero-copy .lead{font-size:16px}.hero-actions{gap:18px}.demo-section{padding:48px 0}.section-head{display:block}.section-head>p{margin-top:18px}.section-head h2,.faq h2{font-size:28px}.demo-grid{grid-template-columns:1fr}.source-panel{padding:20px}.source-heading h3{font-size:20px}.transcript-line p{font-size:12px}#demoOutput{padding:24px;min-height:0}.note-tabs{padding:14px}.note-bottom{padding:18px;flex-wrap:wrap}.section{padding-block:48px}.plan-grid{gap:0}.plan{padding:22px 18px}.plan h3{font-size:25px}.plan-heading{flex-wrap:wrap}.price{font-size:27px}.faq{grid-template-columns:1fr;gap:25px}.footer-top{grid-template-columns:1fr 1fr;gap:32px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.dialog-head{padding:18px 20px}.dialog-head h2{font-size:20px}.sample-origin{padding:16px 20px}.sample-body{padding:20px;font-size:14px}.sample-body h1{font-size:23px}}
@media(max-width:540px){.site-header nav>a{display:none}.site-header nav{gap:8px}}
@media(max-width:430px){.plan-grid{grid-template-columns:1fr}.plan{padding:27px}.price{font-size:34px}.plan-heading{flex-wrap:nowrap}.plan-actions{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px}.hero h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.plan:hover,.plan:focus-within,.button:hover{transform:none}}

.reviews{padding:80px 0;overflow:hidden;background:var(--ground)}
.reviews-head{display:grid;justify-items:center;text-align:center;margin-bottom:36px}
.reviews-head h2{font-size:clamp(26px,3vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:14px 0 0}
.review-subtitle{max-width:42em;margin-top:14px;font-size:13px;line-height:1.85;color:var(--muted)}
.reviews-viewport{width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}
.reviews.is-ready .reviews-viewport{overflow:hidden;scroll-snap-type:none;scrollbar-width:auto}
.reviews-row{overflow:hidden}
.reviews-viewport+.reviews-viewport{margin-top:16px}
.reviews-track{display:flex;width:max-content}
.reviews-track.is-ready{animation:reviews-scroll 30s linear infinite;animation-delay:var(--review-delay,0s);animation-direction:var(--review-direction,normal)}
.reviews-group{display:flex;flex:none;gap:16px;padding-right:16px}
.review-card{position:relative;display:flex;flex-direction:column;flex:none;width:320px;min-height:230px;padding:20px 24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.review-stars{font-size:12px;letter-spacing:.15em;line-height:1;color:var(--ink)}
.review-card h3{margin-top:20px;font-size:18px;font-weight:600;letter-spacing:-.015em;line-height:1.45}
.review-card>p{margin:10px 0 16px;font-size:14px;line-height:1.75;color:var(--muted)}
.review-source{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.review-source span{display:inline-block;padding:3px 8px;border:1px solid var(--line);border-radius:9999px;line-height:1.2}
.reviews.is-paused .reviews-track.is-ready{animation-play-state:paused}
@media(hover:hover){.reviews-viewport:hover .reviews-track.is-ready,.reviews-viewport:focus-within .reviews-track.is-ready{animation-play-state:paused}}
/* Four equal groups let each 30-second loop move only one group without a wide-screen gap. */
@keyframes reviews-scroll{to{transform:translateX(-25%)}}
@media(max-width:760px){.reviews{padding:48px 0}.reviews-head{padding-inline:16px;margin-bottom:28px}.reviews-head h2{font-size:28px}.review-subtitle{font-size:14px}.reviews-viewport{mask-image:none;-webkit-mask-image:none}.reviews-row{overflow:visible;padding-inline:16px}.review-card{width:min(300px,calc(100vw - 88px));min-height:220px;padding:16px 20px;scroll-snap-align:start}.review-card h3{margin-top:17px;font-size:16px}.review-card>p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.reviews-viewport{mask-image:none;-webkit-mask-image:none}.reviews-row{overflow:visible;padding-inline:16px}.reviews-track{transform:none!important}.reviews-group[aria-hidden=true]{display:none}.review-card{scroll-snap-align:start}}

.school-section{padding:40px 0;overflow:hidden;background:var(--ground)}
.school-heading{margin:0 0 32px;text-align:center;font-size:15px;line-height:1.5;font-weight:400;color:var(--muted)}
.school-marquee-wrap{display:flex;overflow:hidden;max-width:1280px;margin-inline:auto;mask-image:linear-gradient(90deg,transparent,#000 min(112px,12%),#000 calc(100% - min(112px,12%)),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 min(112px,12%),#000 calc(100% - min(112px,12%)),transparent)}
.school-marquee-track{display:flex;min-width:fit-content;flex-shrink:0;align-items:center;animation:marquee-left 38.9s linear infinite}
.school-marquee-wrap:active .school-marquee-track{animation-play-state:paused}
@media(hover:hover){.school-marquee-wrap:hover .school-marquee-track,.school-marquee-wrap:focus-within .school-marquee-track{animation-play-state:paused}}
.school-logo{height:64px;width:auto;object-fit:contain;margin-right:64px;flex-shrink:0}
@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(calc(-100% / 3))}}
@media(max-width:760px){
  .school-section{padding:40px 0}
  .school-heading{font-size:14px;margin-bottom:24px}
  .school-marquee-wrap{overflow-x:auto;mask-image:none;-webkit-mask-image:none;scrollbar-width:none}
  .school-marquee-track{animation-duration:31.7s}
  .school-logo{height:48px;margin-right:40px}
}
@media(prefers-reduced-motion:reduce){
  .school-marquee-track{animation:none!important}
}

/* Professional Note Visual Components */
.badge-tag{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;border-radius:4px;letter-spacing:-.01em;line-height:1.2}
.badge-win{background:#fee2e2;color:#b91c1c;border:1px solid rgba(185,28,28,.2)}
.badge-rec{background:#ecfdf5;color:#047857;border:1px solid rgba(4,120,87,.25)}
.badge-sub{background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.badge-accent{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(255,86,0,.2)}

.chart-box{background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-block:18px}
.chart-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:10px}
.chart-header h5{margin:0;font-size:13.5px;font-weight:600;color:var(--ink)}
.chart-header span{font-size:11.5px;color:var(--muted);font-family:var(--mono)}
.chart-row{margin-bottom:12px}
.chart-row:last-child{margin-bottom:0}
.chart-meta{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:5px;font-weight:500}
.chart-meta .val{font-family:var(--mono);font-weight:600}
.chart-track{height:20px;background:rgba(0,0,0,.06);border-radius:6px;overflow:hidden;position:relative}
.chart-bar{height:100%;border-radius:6px;display:flex;align-items:center;padding-inline:10px;color:#fff;font-size:11px;font-weight:600;font-family:var(--mono);box-sizing:border-box;white-space:nowrap}
.chart-bar.bar-primary{background:linear-gradient(90deg,#ff762e,#ff944d)}
.chart-bar.bar-muted{background:#94a3b8}
.chart-caption{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-size:11.5px;line-height:1.7;color:var(--muted)}
.chart-caption strong{color:var(--ink)}

.chart-svg-wrap{background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-block:18px}
.chart-svg-wrap .chart-header{margin-bottom:12px}
.chart-svg{width:100%;height:auto;display:block;overflow:visible}

.checklist-box{background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-block:18px}
.checklist-box h5{margin:0 0 12px;font-size:13.5px;font-weight:600;color:var(--ink)}
.checklist-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:12.5px;line-height:1.7}
.checklist-list li{display:flex;align-items:flex-start;gap:8px}
.checklist-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-family:var(--mono);flex-shrink:0;margin-top:2px}

/* 내장 브라우저에서도 문서 확대와 터치 스크롤을 유지한다. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body:has(dialog[open]) { overflow: hidden; }
dialog { overscroll-behavior: contain; overflow: auto; padding-bottom: env(safe-area-inset-bottom); }
.dialog-head > :first-child { min-width: 0; overflow-wrap: anywhere; }
.dialog-head form { flex-shrink: 0; }
.close-button { min-width: 44px; min-height: 44px; }
.table-scroll { max-width: 100%; overflow-x: auto; }

/* 사전 예약 폼 */
.reserve-plan { display: inline-block; margin-top: 18px; padding: 4px 10px; border: 1px solid var(--line-strong); border-radius: 9999px; font-size: 12px; font-weight: 500; }
#reserveForm { margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
#reserveForm .field label { display: block; font-size: 12px; font-weight: 500; margin-bottom: 6px; }
#reserveForm input[type="email"], #reserveForm input[type="tel"] { width: 100%; min-height: 44px; padding: 11px 13px; border: 1px solid var(--line-strong); border-radius: 8px; font: 16px var(--sans); background: var(--paper); color: var(--ink); }
#reserveForm input[type="email"]:focus, #reserveForm input[type="tel"]:focus { outline: 2px solid var(--ink); outline-offset: 1px; }
#reserveForm input[aria-invalid="true"] { border-color: #c0392b; }
.field-error { margin-top: 6px; font-size: 12px; color: #c0392b; }
.reserve-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.6; color: var(--muted); }
.reserve-consent input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--ink); flex-shrink: 0; }
.reserve-consent b { color: var(--ink); }
#reserveStatus { font-size: 13px; color: var(--muted); min-height: 1em; margin: 0; }
#reserveSubmit { width: 100%; min-height: 48px; }
#reserveSubmit[disabled] { opacity: .6; }

/* 예약 완료 페이지 */
.thanks-main { min-height: 100dvh; display: flex; flex-direction: column; }
.thanks-body { flex: 1; display: flex; align-items: center; justify-content: center; padding: 48px 32px 80px; }
.thanks-card { max-width: 560px; width: 100%; text-align: center; }
.thanks-check { width: 56px; height: 56px; margin: 0 auto 24px; border-radius: 50%; background: var(--ink); color: var(--paper); display: flex; align-items: center; justify-content: center; font-size: 26px; }
.thanks-card h1 { font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -.02em; margin-bottom: 14px; }
.thanks-card > p { font-size: 15px; color: var(--muted); line-height: 1.8; }
.thanks-card > p strong { color: var(--ink); }
.thanks-next { margin-top: 36px; padding: 20px 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); text-align: left; }
.thanks-next p { font-size: 13px; color: var(--muted); line-height: 1.8; }
.thanks-next p + p { margin-top: 8px; }
.thanks-actions { margin-top: 32px; display: flex; flex-direction: column; gap: 12px; align-items: center; }
.thanks-actions .button { width: 100%; max-width: 320px; }
.thanks-share-status { font-size: 12px; color: var(--muted); min-height: 1em; }
@media (max-width: 760px) {
  .thanks-body { padding: 32px 20px 56px; }
}
@media (max-width: 760px) {
  .source-panel, .plan, .footer-top > * { min-width: 0; }
  .note-tabs { flex-wrap: wrap; gap: 8px; }
  .note-tabs button, .sample-button, .text-link { min-height: 44px; }
  .plan-heading { flex-wrap: wrap; }
  .plan-actions { display: flex; }
  .chart-header, .chart-meta { flex-wrap: wrap; gap: 8px; }
  .review-card { scroll-snap-align: start; max-width: calc(100vw - 48px); }
  /* 가독성: 본문급 설명은 14px, 라벨·태그는 12~13px (docs/mobile-web-principles.md §2) */
  .eyebrow { font-size: 12px; }
  .micro { font-size: 13px; }
  .section-head > p, .connect-sub { font-size: 14px; }
  .plan-outcome, .benefits, .faq-list p { font-size: 14px; }
  .sample-button, .student-toggle { font-size: 14px; }
  /* 히어로 문구는 hero-mockup.css(.hero-stacked)가 뒤에 덮어쓰므로 한 단계 높은 선택자로 맞춘다 */
  .hero.hero-stacked .eyebrow { font-size: 12px; }
  .hero.hero-stacked .lead { font-size: 16px; }
  .hero.hero-stacked .hero-actions .button { min-height: 48px; }
  #reserveForm .field label { font-size: 13px; }
  .field-error, .reserve-consent, #reserveStatus { font-size: 14px; }
  .site-footer { padding: 48px 0 25px; }
  .footer-top nav { gap: 4px; }
  .footer-top nav a, .footer-top > div > a:not(.brand) { font-size: 14px; padding-block: 7px; }
}
@media (max-width: 540px) {
  .site-header nav { margin-left: auto; }
  .footer-top { grid-template-columns: 1fr; }
  .compact-dialog { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .reviews.is-ready .reviews-viewport, .school-marquee-wrap { overflow-x: auto; }
  .reviews-row { overflow: visible; }
}

/* FROM LECTURE TO NOTES: a fixed illustrative scene keeps the evidence readable without a tab state. */
#preview.comparison-section{padding:88px 0 80px}
#preview .section-head{margin-bottom:30px}

#preview .section-head>p{max-width:28em}
#preview .lecture-graph{max-width:960px;margin:0 auto 22px;padding:0;overflow:hidden;border:1px solid #30343a;border-radius:18px;background:#171a1e;color:#f5f4ef}
#preview .lecture-player-bar{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;background:#20242a;color:#d7d9dc;font-size:12px;letter-spacing:.01em}
#preview .lecture-player-brand{font-weight:700;color:#fff;letter-spacing:-.03em}
#preview .lecture-player-course{color:#9ba2aa}#preview .lecture-player-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:#8fd18f;font-size:11px}
#preview .zoom-dot{width:7px;height:7px;border-radius:50%;background:#4cc64c}
#preview .share-stage{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:10px;margin:18px}
#preview .zoom-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
#preview .zoom-tile{position:relative;aspect-ratio:4/3;border-radius:8px;background:#2b2e33;overflow:hidden}
#preview .zoom-tile.is-speaker{outline:2px solid #3f9e4d;outline-offset:-2px}
/* 모바일 전용: 줌처럼 나머지 참여자를 "+N" 타일로 접어 둔다. */
#preview .zoom-more{display:none}
#preview .zoom-avatar{position:absolute;inset:0;display:grid;place-items:center;color:#c9ccd1;font:600 20px var(--sans);letter-spacing:.02em}
#preview .zoom-name{position:absolute;left:6px;bottom:5px;color:#fff;font-size:9.5px;line-height:1;text-shadow:0 1px 2px #0009}
#preview .zoom-mic{position:absolute;right:5px;bottom:5px;width:11px;height:11px;color:#e05b5b}
/* The shared screen is a fixed 16:9 video frame; everything inside it scales with the frame's own width (cqw). */
#preview .comparison-slide{margin:0;aspect-ratio:16/9;container-type:inline-size;display:flex;flex-direction:column;background:#fbfaf6;color:#20252a;border-radius:9px;box-shadow:0 1px 0 rgba(255,255,255,.15);overflow:hidden}
#preview .comparison-slide-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:2.4cqw;padding:2.5cqw 3.4cqw 1cqw}
#preview .comparison-slide-kicker{margin-bottom:.7cqw;color:#71808c;font-family:var(--mono);font-weight:500;font-size:11px;font-size:1.55cqw;line-height:1.4;letter-spacing:.04em}
#preview .comparison-slide-title{margin:0;font-weight:700;font-size:23px;font-size:3.05cqw;line-height:1.28;letter-spacing:-.04em}
#preview .comparison-slide-page{flex:none;padding-top:.3cqw;color:#7d858c;font-family:var(--mono);font-size:12px;font-size:1.7cqw;line-height:1.4}
#preview .comparison-slide-body{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:3cqw;padding:.5cqw 3.4cqw}
#preview .loss-formulas{min-width:0;display:flex;flex-direction:column;justify-content:center;font-family:var(--serif)}
#preview .loss-score{margin:0;font-size:19px;font-size:2.7cqw;letter-spacing:-.01em}
#preview .loss-params{margin:.9cqw 0 0;font-size:14px;font-size:1.95cqw;line-height:1.55;color:#3a4147}
#preview .loss-data{margin-top:1.2cqw;width:auto;min-width:0;max-width:100%;border-collapse:collapse;font-size:12px;font-size:1.7cqw}
#preview .loss-data caption{padding:0 0 .6cqw;text-align:left;font-family:var(--sans);font-weight:500;font-size:10px;font-size:1.45cqw;color:#7d858c;letter-spacing:.03em}
#preview .loss-data th,#preview .loss-data td{padding:.35cqw 1.3cqw;border-color:#e2e0d8;text-align:center}
#preview .loss-data th{background:transparent;color:#5e6b73;font-family:var(--sans);font-weight:600;font-size:11px;font-size:1.6cqw}
#preview .loss-data .y-pos{color:#c9701e;font-weight:600}
#preview .loss-data .y-neg{color:#2f5fb3;font-weight:600}
#preview .loss-zero{margin:1.4cqw 0 0;font-size:14.5px;font-size:2cqw}
#preview .loss-right{min-width:0;display:grid;place-items:center}
#preview .loss-plot{display:block;width:100%;max-width:100%;height:auto;max-height:100%}
#preview .loss-lines{flex:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2cqw 2.4cqw;margin:0;padding:.9cqw 3.4cqw;list-style:none;border-top:1px solid #eceadf;font-family:var(--sans);font-size:11.5px;font-size:1.65cqw;line-height:1.6;color:#3a4147}
#preview .loss-lines li{white-space:nowrap}
#preview .loss-lines b{color:#b4531f;font-weight:600}
#preview .loss-total{font-weight:600;color:#20252a}
#preview .plot-grid path{stroke:#e4e2da;stroke-width:1}
#preview .plot-axis path{stroke:#8a939b;stroke-width:1.25;fill:none}
#preview .plot-axis text{fill:#5e6b73;font:12px var(--sans)}
#preview .plot-pos{fill:#e0973a;stroke:#fbfaf6;stroke-width:2.5}
#preview .plot-neg{fill:#3a63c0;stroke:#fbfaf6;stroke-width:2.5}
#preview .loss-boundary{fill:none;stroke:#8a5fb0;stroke-width:2.5}
#preview .loss-w,#preview .loss-w-head{fill:none;stroke:#8a5fb0;stroke-width:2;stroke-linecap:round}
#preview .loss-boundary,#preview .loss-w,#preview .loss-w-head,#preview .loss-miss-ring{opacity:0;transition:opacity .35s ease}
#preview .loss-miss-ring{fill:none;stroke:#e05b3a;stroke-width:3;stroke-dasharray:4 3}
#preview #lecturePlayer:not([data-scene="points"]) .loss-boundary,#preview #lecturePlayer:not([data-scene="points"]) .loss-w,#preview #lecturePlayer:not([data-scene="points"]) .loss-w-head{opacity:1}
#preview #lecturePlayer[data-scene="miss"] .loss-miss-ring,#preview #lecturePlayer[data-scene="loss"] .loss-miss-ring,#preview #lecturePlayer[data-scene="complete"] .loss-miss-ring{opacity:1}
#preview .lecture-pointer{fill:#e07d35;stroke:#fff;stroke-width:2;transform:translate(70px,110px);transform-origin:0 0;transition:transform .35s ease}
#preview #lecturePlayer[data-scene="points"] .lecture-pointer{transform:translate(150px,50px)}
#preview #lecturePlayer[data-scene="boundary"] .lecture-pointer{transform:translate(235px,142px)}
#preview #lecturePlayer[data-scene="miss"] .lecture-pointer{transform:translate(70px,110px)}
#preview #lecturePlayer[data-scene="loss"] .lecture-pointer{transform:translate(262px,205px)}
#preview .comparison-slide-subtitle{flex:none;display:flex;align-items:center;margin:0 1.5cqw;padding:.9cqw 1.5cqw 1cqw;border:0;border-radius:.7cqw .7cqw 0 0;background:rgba(24,29,34,.92)}#preview .comparison-slide-subtitle p{color:#fff;font-size:15px;font-size:2.15cqw;line-height:1.45}
#preview .lecture-player-controls{display:flex;align-items:center;gap:14px;padding:10px 18px 12px;background:#20242a;color:#aeb5ba;font:11px/1.4 var(--mono)}
#preview .zoom-controls{display:flex;align-items:center;gap:2px;flex:1;min-width:0}
#preview .zoom-ctl{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:40px;padding:5px 4px;border-radius:6px}
#preview .zoom-ctl svg{width:17px;height:17px}
#preview .zoom-ctl i{font:10px/1 var(--sans);font-style:normal}
#preview .zoom-ctl.is-share{color:#7fca7f}
#preview .zoom-leave{margin-left:auto;flex-direction:row;align-self:center;color:#e05b5b}
#preview .zoom-leave i{font-size:11.5px}
#preview mark{color:inherit;background:transparent}
#preview .comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#preview .comparison-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:25px;background:#18181b}
#preview .comparison-card.screen-audio{border-color:rgba(255,86,0,.6);background:linear-gradient(150deg,rgba(255,86,0,.13),#18181b 44%)}
#preview .comparison-card header{min-height:118px;padding-bottom:18px}
#preview .comparison-card .eyebrow{margin-bottom:12px;color:rgba(255,255,255,.58)}
#preview .comparison-card.screen-audio .eyebrow{color:#ff9a68}
#preview .comparison-card h3{font-size:21px;line-height:1.35;letter-spacing:-.025em}
#preview .comparison-card header>p:last-child{margin-top:10px;font-size:12px;line-height:1.8;color:rgba(255,255,255,.63)}
#preview .note-doc{flex:1;background:var(--paper);color:var(--ink);border-radius:10px;padding:20px 22px;font-size:12.5px;line-height:1.7}
#preview .note-doc h4{font-size:15px;font-weight:700;letter-spacing:-.02em}
#preview .note-doc h5{margin:14px 0 5px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--muted)}
#preview .note-doc blockquote{margin:6px 0 4px;padding:1px 0 1px 10px;border-left:2px solid var(--accent);color:var(--muted)}
#preview .note-doc ul{margin:0;padding-left:1.4em}
#preview .note-doc li{padding-left:.15em}
#preview .note-doc li+li{margin-top:3px}
#preview .note-doc .note-task{list-style:none;margin-left:-1.4em;display:flex;gap:7px;align-items:baseline}
#preview .note-doc input[type=checkbox]{accent-color:var(--accent);margin:0}
#preview .note-doc .note-table-scroll{margin:4px 0 2px;overflow-x:auto;overscroll-behavior-inline:contain}
#preview .note-doc table{width:100%;min-width:0;border-collapse:collapse;font-size:12px;line-height:1.5}
#preview .note-doc th,#preview .note-doc td{border:1px solid var(--line);padding:4px 8px;text-align:center}
#preview .note-doc th{background:var(--soft);font-weight:600}
#preview .note-doc>p{margin:8px 0 0}
#preview [data-evidence].is-highlighted{transition:filter .28s ease,background-color .28s ease,box-shadow .28s ease}
#preview .comparison-card [data-evidence].is-highlighted{padding-inline:5px;margin-inline:-5px;background:rgba(255,86,0,.12);box-shadow:inset 2px 0 var(--accent)}
#preview mark[data-evidence].is-highlighted{background:rgba(255,86,0,.28);border-radius:3px}
#preview svg g[data-evidence].is-highlighted{filter:drop-shadow(0 0 7px rgba(255,86,0,.55))}
@media(max-width:760px){
  #preview.comparison-section{padding:48px 0}
  #preview .lecture-graph{border-radius:11px}
  #preview .lecture-player-bar{padding-inline:14px;font-size:11px}
  #preview .lecture-player-course{display:none}
  #preview .share-stage{grid-template-columns:1fr;gap:8px;margin:12px}
  #preview .zoom-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:min(100%,432px);margin-inline:auto}
  #preview .zoom-tile{aspect-ratio:16/9}
  #preview .zoom-tiles:not(.is-expanded) .zoom-tile:nth-child(n+4){display:none}
  #preview .zoom-more{display:grid;place-items:center;aspect-ratio:16/9;padding:0;border:0;border-radius:8px;background:#2b2e33;color:#c9ccd1;font:600 14px var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
  #preview .zoom-avatar{font-size:15px}
  #preview .zoom-name{left:5px;bottom:4px;font-size:8px}
  #preview .zoom-mic{right:4px;bottom:4px;width:9px;height:9px}
  #preview .comparison-slide{border-radius:7px}
  #preview .lecture-player-controls{flex-wrap:wrap;gap:6px 12px;padding:9px 12px}
  #preview .zoom-ctl{min-width:34px}
  #preview .zoom-ctl i{display:none}
  #preview .zoom-leave{display:none}
  #preview .comparison-grid{grid-template-columns:1fr;gap:12px}
  #preview .comparison-card{padding:20px;border-radius:11px}
  #preview .comparison-card header{min-height:0}
  #preview .comparison-card header>p:last-child{font-size:14px}
  #preview .note-doc{padding:16px;font-size:13px}
  #preview .note-doc table{font-size:13px}
  #preview .note-doc th,#preview .note-doc td{padding:3px 5px}
}
@media(prefers-reduced-motion:reduce){
  #preview [data-evidence].is-highlighted,#preview .lecture-pointer,#preview .loss-boundary,#preview .loss-w,#preview .loss-w-head,#preview .loss-miss-ring{transition:none}
}

/* Launch offer: muted conditions retain readable contrast on the warm canvas. */
.offer-terms{font-size:12px;line-height:1.75;color:#6b6b73;font-weight:400}
.offer-headline{font-size:16px;line-height:1.6}.offer-headline strong{font-weight:600}
.hero-actions.offer-hero{gap:12px}
/* Single reservation CTA: the offer rides inside the button as a badge. */
.cta-reserve{min-height:56px;padding:14px 16px 14px 26px;gap:14px;font-size:16px;font-weight:600}.cta-badge{background:var(--accent);color:var(--ink);border-radius:9999px;padding:5px 12px;font-size:13px;font-weight:700;white-space:nowrap}.hero-platform{flex-basis:100%;margin-top:-4px}.hero-platform span{white-space:nowrap}@media(min-width:761px){.hero-platform{display:none}}
.plan-student-price{font-size:12px;color:var(--muted);margin-top:10px}.plan-student-price strong{color:var(--ink);font-weight:500}
.plan-offer{font-size:13px;font-weight:500;margin-top:12px}.plan-offer-note{margin-top:10px}.pricing-terms{margin-top:20px;max-width:920px}
.offer-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.offer-cell{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.3)}
.offer-cell h3{font-size:23px;line-height:1.45;margin:12px 0 18px;font-weight:500}.offer-cell h3 strong{font-weight:600}
.offer-cell>p:not(.eyebrow):not(.offer-terms){font-size:14px}.offer-cell .offer-terms{margin-top:16px}
.invite-asset{display:block;width:100%;max-width:480px;height:auto;margin:16px 0 22px}
/* STUDY TOGETHER assets: a coupon ticket (friend) and a two-friend progress
   that stamps +1개월 (me). Hidden state only after JS marks .inv-ready, so
   no-JS and reduced motion show the finished state. */
.inv-ticket{display:flex;max-width:360px;margin:6px 0 22px;border-radius:14px;overflow:hidden;position:relative;box-shadow:0 18px 34px -16px rgba(255,86,0,.55);-webkit-mask:radial-gradient(circle 9px at calc(100% - 78px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 9px at calc(100% - 78px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 9px at calc(100% - 78px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 9px at calc(100% - 78px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.inv-ticket::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%)}
.inv-ticket-main{flex:1;min-width:0;background:linear-gradient(135deg,#FF5600,#ff7a33);color:var(--ink);padding:16px 18px;display:flex;flex-direction:column;gap:2px}
.inv-kicker{font:600 11px var(--mono);letter-spacing:.04em}
.inv-ticket-main b{font-size:28px;line-height:1.2;font-weight:700;letter-spacing:-.02em}
.inv-sub{font-size:12px;font-weight:500}
.inv-ticket-stub{flex:none;width:78px;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:2px dashed rgba(255,255,255,.35)}
.inv-ticket-stub strong{font:600 26px/1 var(--mono)}.inv-ticket-stub i{font:500 10px var(--mono);font-style:normal;letter-spacing:.12em;margin-top:4px;color:#d4d4d8}
.inv-progress{display:flex;align-items:center;gap:10px;margin:6px 0 22px;flex-wrap:nowrap}
.inv-friend{display:flex;flex-direction:column;align-items:center;gap:6px}
.inv-av{width:46px;height:46px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);display:grid;place-items:center}
.inv-av svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:1.8}
.inv-friend em{font-style:normal;font-size:11px;font-weight:600;color:#973300;background:#fff0e5;border-radius:9999px;padding:2px 8px;white-space:nowrap}
.inv-plus{font-size:18px;font-weight:600;color:var(--muted);padding-bottom:22px}
.inv-arrow{flex:1;min-width:18px;max-width:64px;height:2px;background:var(--ink);position:relative;margin-bottom:22px;transform-origin:0 50%}
.inv-arrow::after{content:"";position:absolute;right:0;top:50%;width:8px;height:8px;border-top:2px solid var(--ink);border-right:2px solid var(--ink);transform:translateY(-50%) rotate(45deg)}
.inv-stamp{position:relative;flex:none;width:104px;background:#fff;border:3px solid #e64d00;border-radius:14px;text-align:center;overflow:visible;transform:rotate(-7deg);box-shadow:0 12px 24px -10px rgba(230,77,0,.5)}
.inv-stamp b{display:block;background:#e64d00;color:#fff;font-size:11px;font-weight:700;padding:4px 0;border-radius:10px 10px 0 0;letter-spacing:.02em}
.inv-stamp strong{display:block;font-size:22px;font-weight:700;letter-spacing:-.02em;padding:8px 0 10px;color:var(--ink)}
.inv-burst{position:absolute;left:50%;top:50%;width:170px;height:170px;margin:-85px 0 0 -85px;stroke:#FF5600;stroke-width:4;stroke-linecap:round;opacity:0;pointer-events:none}
.inv-ready .inv-ticket{opacity:0;transform:translateX(-24px) rotate(-3deg);transition:opacity .45s ease,transform .6s cubic-bezier(.2,1.4,.4,1)}
.inv-ready .inv-friend,.inv-ready .inv-plus{opacity:0;transform:scale(.5);transition:opacity .3s ease,transform .45s cubic-bezier(.3,1.7,.5,1)}
.inv-ready .inv-friend em{opacity:0;transition:opacity .3s ease}
.inv-ready .inv-arrow{transform:scaleX(0);transition:transform .35s ease}
.inv-ready .inv-stamp{opacity:0;transform:rotate(-24deg) scale(2.2);transition:opacity .2s ease,transform .32s cubic-bezier(.7,0,.9,.6)}
.inv-on .inv-ticket{opacity:1;transform:none}
.inv-on .inv-ticket::after{transform:translateX(120%);transition:transform .9s ease .55s}
.inv-on .inv-friend,.inv-on .inv-plus{opacity:1;transform:none}
.inv-on .inv-f1{transition-delay:.25s}.inv-on .inv-plus{transition-delay:.45s}.inv-on .inv-f2{transition-delay:.6s}
.inv-on .inv-f1 em{opacity:1;transition-delay:.55s}.inv-on .inv-f2 em{opacity:1;transition-delay:.9s}
.inv-on .inv-arrow{transform:none;transition-delay:1.05s}
.inv-on .inv-stamp{opacity:1;transform:rotate(-7deg);transition-delay:1.35s}
.inv-on .inv-burst{animation:inv-burst .55s ease-out 1.65s both}
@keyframes inv-burst{from{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.25)}}
@media(max-width:400px){.inv-progress{gap:6px}.inv-av{width:40px;height:40px}.inv-stamp{width:90px}.inv-stamp strong{font-size:19px}}
.reserve-offer{border-block:1px solid var(--line);padding:16px 0;margin:12px 0 22px}.reserve-offer>p+p{margin-top:8px}
.thanks-offer,.thanks-referral{text-align:left;border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
.thanks-offer h2,.thanks-referral h2{font-size:22px;line-height:1.45;margin:8px 0 12px;font-weight:600}
.thanks-referral>p:not(.eyebrow):not(.offer-terms){font-size:14px}.thanks-referral .offer-terms{margin-top:12px}
.referral-pending{margin-top:16px;font-weight:500}.thanks-actions>.offer-terms{flex-basis:100%}
@media(max-width:760px){.offer-grid{grid-template-columns:1fr}.offer-cell{padding:24px 20px}.offer-headline{font-size:14px}.offer-cell h3{font-size:21px}}
.hero-stacked .hero-actions.offer-hero{flex-direction:column;gap:12px}
