@font-face{font-family:Pretendard;src:url('assets/pretendard-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Pretendard;src:url('assets/pretendard-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Pretendard;src:url('assets/pretendard-extrabold.woff2') format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Symbols;src:url('assets/symbols.woff2') format('woff2');font-display:swap}
:root{--u:min(1px,calc(100vw / 750))}




:root{--navy:#102e49;--ink:#334758;--blue:#326a8f;--page:#fff;--pale:#eff4f6;--cream:#f8f9f7;--accent:#397da2;--gutter:calc(58 * var(--u))}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--page)}
body{font-family:Pretendard,sans-serif;color:var(--ink);word-break:keep-all;-webkit-font-smoothing:antialiased}
main{width:calc(750 * var(--u));margin:0 auto;overflow:hidden;background:var(--page)}
h1,h2,h3,p{margin:0}
h1,h2,h3{color:var(--navy)}
h1{font-size:calc(94 * var(--u));line-height:1.1;letter-spacing:calc(-3.8 * var(--u));font-weight:800}
h2{font-size:calc(54 * var(--u));line-height:1.28;letter-spacing:calc(-1.8 * var(--u));font-weight:800}
p{font-size:calc(34 * var(--u));line-height:1.7;letter-spacing:calc(-.6 * var(--u))}
mark{background:none;color:var(--navy);font-weight:700}
.word{white-space:nowrap}.symbol{font-family:Symbols,sans-serif;font-weight:400}
svg{display:block}section{position:relative}
.section{padding:calc(100 * var(--u)) var(--gutter) calc(88 * var(--u))}
.section>h2{margin-bottom:calc(38 * var(--u))}
.section>h2:before{content:'';display:block;width:calc(48 * var(--u));height:calc(4 * var(--u));background:var(--accent);margin-bottom:calc(28 * var(--u))}
.section>p+p{margin-top:calc(30 * var(--u))}

.hero{height:calc(1100 * var(--u));isolation:isolate;background:#edf5f8 none center/cover no-repeat}
.hero-photo{display:none}
.hero:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#ffffff68 0%,#ffffff12 63%,#fff0 85%)}
.hero-copy{position:relative;z-index:2;padding:calc(72 * var(--u)) var(--gutter) 0}
.eyebrow{font-size:calc(27 * var(--u));line-height:1.3;font-weight:700;letter-spacing:calc(-.4 * var(--u));color:var(--navy);margin-bottom:calc(27 * var(--u))}
.logline{font-size:calc(34 * var(--u));line-height:1.6;color:var(--navy);letter-spacing:calc(-.6 * var(--u));margin-top:calc(32 * var(--u))}
.book{position:relative;filter:drop-shadow(calc(18 * var(--u)) calc(24 * var(--u)) calc(18 * var(--u)) #10293f30)}
.book img{display:block;position:relative;z-index:2;width:100%;border-radius:calc(1 * var(--u)) calc(3 * var(--u)) calc(3 * var(--u)) calc(1 * var(--u))}
.book-edge{position:absolute;top:calc(2 * var(--u));bottom:calc(-4 * var(--u));right:calc(-13 * var(--u));width:calc(18 * var(--u));background:repeating-linear-gradient(to right,#e9ece9 calc(0 * var(--u)),#fff calc(2 * var(--u)),#dce1de calc(3 * var(--u)));transform:skewY(13deg);transform-origin:top left;border-right:calc(2 * var(--u)) solid #f8f8f4}
.hero-book{position:absolute;z-index:2;right:calc(89 * var(--u));bottom:calc(136 * var(--u));width:calc(280 * var(--u));transform:rotate(3deg) skewY(2deg)}
.hero-book:before{content:'';position:absolute;left:calc(-12 * var(--u));top:calc(2 * var(--u));bottom:calc(-1 * var(--u));width:calc(13 * var(--u));background:linear-gradient(90deg,#b7c8cf,#f8f8f5);transform:skewY(-14deg)}
.scroll-cue{position:absolute;z-index:2;bottom:calc(31 * var(--u));left:0;right:0;text-align:center;font-size:calc(25 * var(--u));font-weight:700;line-height:1.4;letter-spacing:calc(-.4 * var(--u));color:var(--navy)}
.chevron{display:block;width:calc(14 * var(--u));height:calc(14 * var(--u));border-right:calc(2 * var(--u)) solid currentColor;border-bottom:calc(2 * var(--u)) solid currentColor;transform:rotate(45deg);margin:calc(14 * var(--u)) auto 0}

.scope{background:var(--cream);padding-bottom:calc(84 * var(--u))}
.scope>p{margin-bottom:calc(46 * var(--u))}
.minus{padding:calc(32 * var(--u));background:#eaf0f1;border-radius:calc(12 * var(--u))}
.label{display:flex;align-items:center;gap:calc(14 * var(--u));color:var(--navy);font-size:calc(31 * var(--u));line-height:1.3;font-weight:700;letter-spacing:calc(-.5 * var(--u))}
.math-sign{flex:none;width:calc(40 * var(--u));height:calc(40 * var(--u));border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d6e1e5;font-size:calc(31 * var(--u));color:#526e7d;font-weight:400;line-height:1}
.label-text{white-space:nowrap}
.minus>p{font-size:calc(31 * var(--u));line-height:1.7;color:#516872;margin-top:calc(22 * var(--u));letter-spacing:calc(-.5 * var(--u))}
.plus-label{margin:calc(38 * var(--u)) 0 calc(20 * var(--u))}
.math-sign.plus{background:var(--navy);color:#fff}
.feature-list{display:grid;gap:calc(16 * var(--u))}
.feature{display:flex;align-items:flex-start;gap:calc(24 * var(--u));background:#fff;border:calc(1 * var(--u)) solid #dce5e7;border-radius:calc(10 * var(--u));padding:calc(32 * var(--u)) calc(28 * var(--u))}
.feature-icon{flex:none;width:calc(42 * var(--u));height:calc(42 * var(--u));color:var(--accent);margin-top:calc(3 * var(--u))}
.feature-icon svg{width:calc(42 * var(--u));height:calc(42 * var(--u));stroke:var(--accent)}
.feature h3{font-size:calc(32 * var(--u));font-weight:700;line-height:1.3;letter-spacing:calc(-.75 * var(--u));margin-bottom:calc(12 * var(--u))}
.feature p{font-size:calc(30 * var(--u));line-height:1.65;letter-spacing:calc(-.45 * var(--u))}
.scope-close{margin-top:calc(42 * var(--u));padding-top:calc(35 * var(--u));border-top:calc(1 * var(--u)) solid #d8e1e2;color:var(--navy);text-align:center;font-size:calc(35 * var(--u));line-height:1.5;font-weight:700;letter-spacing:calc(-.8 * var(--u))}

.cta{background:var(--navy);padding:calc(72 * var(--u)) var(--gutter) calc(64 * var(--u));color:#fff}
.cta h2{color:#fff;font-size:calc(46 * var(--u));font-weight:700;line-height:1.4;letter-spacing:calc(-1.4 * var(--u));text-align:center;margin-bottom:calc(35 * var(--u))}
#cta2 h2{font-size:calc(42 * var(--u))}#cta3 h2{font-size:calc(43 * var(--u))}
.stores{display:grid;grid-template-columns:1fr 1fr;gap:calc(16 * var(--u))}
.store{display:flex;align-items:center;justify-content:space-between;min-height:calc(96 * var(--u));padding:0 calc(29 * var(--u));gap:calc(12 * var(--u));background:#fff;border:calc(1 * var(--u)) solid #e3ebee;border-radius:calc(6 * var(--u));color:var(--navy);font-size:calc(32 * var(--u));font-weight:700;letter-spacing:calc(-.4 * var(--u))}
.arrow{font-size:calc(28 * var(--u));font-weight:400;line-height:1;color:#56839c}
.offline{margin-top:calc(28 * var(--u));text-align:center;font-size:calc(26 * var(--u));line-height:1.6;letter-spacing:calc(-.3 * var(--u));color:#d0dce4}

.question{background:var(--page)}
.question h2{font-size:calc(54 * var(--u));line-height:1.28}
.question>p{margin-top:calc(30 * var(--u))}
.practice{padding-bottom:calc(62 * var(--u))}
.practice>p:last-of-type{margin-top:calc(34 * var(--u));border-left:calc(4 * var(--u)) solid var(--accent);padding-left:calc(25 * var(--u));color:var(--navy);font-weight:700}
.paper-stage{position:relative;margin-left:calc(-58 * var(--u));margin-right:calc(-58 * var(--u));overflow:hidden}
.poly-stage{height:calc(690 * var(--u));margin-top:calc(46 * var(--u));background:radial-gradient(ellipse at 50% 40%,#fff 0%,#edf3f5 85%)}
.paper{position:absolute;background:#fff;box-shadow:calc(15 * var(--u)) calc(22 * var(--u)) calc(32 * var(--u)) #183b4f27;transform-origin:center;overflow:hidden;border-right:calc(7 * var(--u)) solid #f3f3ee;border-bottom:calc(3 * var(--u)) solid #e9edeb;transform:rotate(4deg) skewY(3deg) scaleX(.95)}
.paper img{position:absolute;max-width:none}
.paper:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#fff0 35%,#dfe8e915);pointer-events:none}
.poly{width:calc(614 * var(--u));height:calc(566 * var(--u));top:calc(46 * var(--u));left:calc(77 * var(--u))}
.poly img{width:calc(790 * var(--u));left:calc(-132 * var(--u));top:calc(-98 * var(--u))}
.basics{background:var(--pale)}
.basics h2{font-size:calc(48 * var(--u));line-height:1.32;letter-spacing:calc(-1.45 * var(--u))}
.quad-stage{height:calc(710 * var(--u));margin-top:calc(42 * var(--u));background:radial-gradient(ellipse at 50% 50%,#e3ecef 0%,var(--pale) 78%)}
.quad{width:calc(590 * var(--u));height:calc(650 * var(--u));top:calc(16 * var(--u));left:calc(88 * var(--u))}
.quad img{width:calc(780 * var(--u));left:calc(-143 * var(--u));top:calc(-143 * var(--u))}
.closing-copy{margin-top:calc(36 * var(--u));padding-left:calc(25 * var(--u));border-left:calc(4 * var(--u)) solid var(--accent);color:var(--navy)}
.closing-copy p{font-size:calc(33 * var(--u));font-weight:700;line-height:1.65;letter-spacing:calc(-.55 * var(--u))}
.proof{padding-bottom:calc(92 * var(--u))}
.blueprint-stage{height:calc(420 * var(--u));margin-top:calc(46 * var(--u));border:calc(1 * var(--u)) solid #dce8ed;position:relative;overflow:hidden;background:linear-gradient(130deg,#f4f8fa,#e6f0f5);border-radius:calc(6 * var(--u))}
.blueprint-sheet{position:absolute;left:calc(6 * var(--u));top:calc(132 * var(--u));width:calc(526 * var(--u));padding:calc(15 * var(--u));border:calc(1 * var(--u)) solid #bad3e1;background:#e7f1f6;transform:rotate(-9deg) skewX(-15deg) scaleY(.66)}
.blueprint-sheet svg{width:100%}
.proof-book{position:absolute;right:calc(82 * var(--u));top:calc(40 * var(--u));width:calc(190 * var(--u));transform:rotate(3deg) skewY(2deg)}

.first-hour{position:relative;height:calc(1753.333333 * var(--u));overflow:hidden;background:#171b1e;color:#f7f4ec}
.first-hour-photo{position:absolute;bottom:0;left:0;width:calc(750 * var(--u));height:calc(1333.333333 * var(--u));background:none center/100% 100% no-repeat}
.first-hour-shade{position:absolute;inset:0;background:linear-gradient(to bottom,#171b1e calc(0 * var(--u)),#171b1e calc(520 * var(--u)),#171b1eb0 calc(740 * var(--u)),#171b1e00 calc(1050 * var(--u)))}
.first-hour-copy{position:relative;padding:calc(80 * var(--u)) var(--gutter) 0;z-index:3}
.first-hour h2{font-size:calc(54 * var(--u));line-height:1.3;letter-spacing:calc(-1.6 * var(--u));font-weight:700;color:#fff9ed;margin-bottom:calc(34 * var(--u))}
.first-hour-body p{font-size:calc(32 * var(--u));line-height:1.65;letter-spacing:calc(-.45 * var(--u));color:#e5e6e2;margin-bottom:calc(23 * var(--u))}
.first-hour-body p.last-line{font-weight:700;color:#efdfb5;margin-top:calc(27 * var(--u))}
.keystone{width:calc(750 * var(--u));height:calc(1753.333333 * var(--u));position:relative;overflow:hidden;background:#111b24}
.keystone-scene{position:absolute;top:calc(160 * var(--u));left:0;width:calc(750 * var(--u));height:calc(1333.333333 * var(--u));background:url('assets/section9_keystone.webp') center/100% 100% no-repeat}
.keystone-top-shade{position:absolute;inset:0 0 auto;height:calc(390 * var(--u));background:linear-gradient(to bottom,#111b24 calc(0 * var(--u)),#111b24 calc(155 * var(--u)),#111b2400 calc(350 * var(--u)))}
.keystone-bottom-shade{position:absolute;top:calc(760 * var(--u));left:0;width:calc(750 * var(--u));height:calc(993.333333 * var(--u));background:linear-gradient(to bottom,#111b2400 calc(0 * var(--u)),#111b24 calc(720 * var(--u)),#111b24 calc(993.333333 * var(--u)))}
.keystone h2{position:absolute;top:calc(72 * var(--u));left:calc(58 * var(--u));right:calc(58 * var(--u));font-size:calc(64 * var(--u));line-height:1.28;font-weight:700;letter-spacing:calc(-2 * var(--u));color:#fff9ed}
.keystone-copy{position:absolute;top:calc(1220 * var(--u));left:calc(58 * var(--u));right:calc(58 * var(--u))}
.keystone-copy p{font-size:calc(33 * var(--u));font-weight:400;line-height:1.65;letter-spacing:calc(-.45 * var(--u));color:#e3e8e7;margin-bottom:calc(26 * var(--u))}
.keystone-copy p.last{font-weight:700;color:#efdfb5;margin-top:calc(30 * var(--u))}

/* A / WHITE EDITORIAL */
:root{--navy:#10324e;--ink:#344a5c;--accent:#397fa9;--page:#fff;--cream:#f8fafb;--pale:#edf4f7}
.hero{background-image:none}
.eyebrow{border-bottom:calc(2 * var(--u)) solid #153e5880;width:calc(250 * var(--u));padding-bottom:calc(15 * var(--u));margin-bottom:calc(26 * var(--u))}
.section>h2:before{width:calc(48 * var(--u));height:calc(4 * var(--u))}
.minus{background:#eaf0f3;border-radius:calc(4 * var(--u))}
.feature{border-radius:calc(4 * var(--u));border-color:#dae5eb;border-left:calc(4 * var(--u)) solid #7ba6bd;padding-left:calc(25 * var(--u))}
.feature-icon svg{stroke:#397fa9}
.scope-close{border-top:calc(2 * var(--u)) solid #bfcfd9}
.cta{background:#10324e}
.store{border-radius:calc(4 * var(--u))}
.blueprint-stage{border-radius:0}
.first-hour h2,.keystone h2{color:#f8fbff}
.first-hour-body p.last-line,.keystone-copy p.last{color:#cee9f8}

/* A안 배포 마감: 카피·톤 유지, 실제 내지의 온전한 문장과 사진 경계 정리. */
.poly { height: calc(610 * var(--u)); }
.poly-stage { height: calc(740 * var(--u)); }
.first-hour-photo { z-index: 0; }
.first-hour-photo {
  background-image:
    linear-gradient(to bottom, #171b1e calc(0 * var(--u)), #171b1e calc(100 * var(--u)), rgba(23,27,30,.69) calc(320 * var(--u)), rgba(23,27,30,0) calc(630 * var(--u))),
    none;
}
.first-hour-shade { display: none; }
.keystone-scene { z-index: 0; }
.keystone-scene {
  background-image:
    linear-gradient(to bottom, #111b24 calc(0 * var(--u)), rgba(17,27,36,0) calc(210 * var(--u)), rgba(17,27,36,0) calc(800 * var(--u)), #111b24 calc(1333.333333 * var(--u))),
    url('assets/section9_keystone.webp');
}
.keystone-top-shade, .keystone-bottom-shade { display: none; }
.keystone h2, .keystone-copy { z-index: 2; }

/* Approved southwest quarter-view: original print, complete upper explanation and review heading. */
.practice { padding-bottom: calc(42 * var(--u)); }
.photo-stage { margin-top: calc(46 * var(--u)); background: none; }
.practice .photo-stage { height: calc(750 * var(--u)); }
.basics .photo-stage { height: calc(720 * var(--u)); margin-top: calc(42 * var(--u)); }
.photo-stage img { display: block; width: calc(750 * var(--u)); height: 100%; }
.basics .closing-copy { margin-top: calc(34 * var(--u)); }

/* Section 6 approved option 3: top-down student motif routed in a navy PCB. */
.proof .cpu-stage {
  margin-left: calc(-58 * var(--u));
  margin-right: calc(-58 * var(--u));
  width: calc(750 * var(--u));
  height: calc(500 * var(--u));
  border: 0;
  background: none;
}
.proof .cpu-stage img { display: block; width: calc(750 * var(--u)); height: calc(500 * var(--u)); }

/* Section 8 approved option 3: aligned paperback in quiet late-afternoon light. */
.first-hour .first-hour-photo {
  background-image:
    linear-gradient(to bottom, #171b1e calc(0 * var(--u)), #171b1e calc(100 * var(--u)), rgba(23,27,30,.69) calc(320 * var(--u)), rgba(23,27,30,0) calc(630 * var(--u))),
    url('assets/section8_desk_selected_3.webp');
}

/* Actual supplied interior scans, shown together after the section 2 copy. */
.scope .interior-preview {
  width: calc(750 * var(--u));
  margin: calc(60 * var(--u)) calc(-58 * var(--u)) calc(-84 * var(--u));
  padding: calc(64 * var(--u)) calc(28 * var(--u)) calc(76 * var(--u));
  background: #eef3f6;
}
.interior-preview .interior-spread {
  position: relative;
  display: flex;
  width: calc(694 * var(--u));
  margin: 0 auto;
  gap: calc(4 * var(--u));
  background: #d9e0e4;
  outline: calc(1 * var(--u)) solid #dce4e9;
  box-shadow: 0 calc(12 * var(--u)) calc(28 * var(--u)) rgba(28, 51, 66, .08);
}
.interior-preview .interior-leaf {
  position: relative;
  flex: 0 0 calc(345 * var(--u));
  width: calc(345 * var(--u));
  background: #fff;
}
.interior-preview .interior-leaf img {
  display: block;
  width: 100%;
  height: auto;
}
.interior-preview .interior-leaf::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: calc(10 * var(--u));
  pointer-events: none;
}
.interior-preview .interior-leaf-left::after {
  right: 0;
  background: linear-gradient(to right, transparent, rgba(39, 52, 61, .045));
}
.interior-preview .interior-leaf-right::after {
  left: 0;
  background: linear-gradient(to right, rgba(39, 52, 61, .045), transparent);
}

html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; }
body { background:#edf1f4; }
main { max-width:100%; }
.approved-hero { height:auto; background:none; }
.approved-hero::after { display:none; }
.approved-hero > img { display:block; width:100%; height:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
a.store { text-decoration:none; min-height:48px; }
a.store:hover { background:#eef6fb; }
a.store:focus-visible { outline:3px solid #e2bc67; outline-offset:3px; }
.interior-spread { align-items:flex-start; }
.interior-leaf img { object-fit:contain; }
.question > p, .scope > p { font-size:max(16px,calc(34 * var(--u))); }
.minus > p { font-size:max(16px,calc(31 * var(--u))); }
.feature p { font-size:max(16px,calc(30 * var(--u))); }
.closing-copy p { font-size:max(16px,calc(33 * var(--u))); }
.first-hour-body p { font-size:max(16px,calc(32 * var(--u))); }
.keystone-copy p { font-size:max(16px,calc(33 * var(--u))); }
.store { font-size:max(16px,calc(32 * var(--u))); }
.offline { font-size:max(13px,calc(26 * var(--u))); }
@media(max-width:360px) {
  .feature p br { display:none; }
  .first-hour { height:calc(1920 * var(--u)); }
  .keystone { height:calc(1860 * var(--u)); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.error-title { font-size:28px; }

/* Base sizing uses available content width, including desktop scrollbars. */
@supports (width:1cqw) {
  body { container-type:inline-size; }
  :root { --u:min(1px,calc(100cqw / 750)); }
}

a.store { min-height:max(48px,calc(96 * var(--u))); }

/* Publisher identity follows the ten approved sections. */
.site-footer {
  width:calc(750 * var(--u));
  max-width:100%;
  margin:0 auto;
  padding:max(24px,calc(40 * var(--u))) var(--gutter);
  border-top:1px solid #d7e1e8;
  background:var(--pale);
  color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  text-align:left;
}
.site-footer .publisher-name {
  color:var(--navy);
  font-size:max(18px,calc(30 * var(--u)));
  font-weight:700;
  line-height:1.5;
  letter-spacing:0;
  margin-bottom:8px;
}
.publisher-contact {
  display:grid;
  gap:2px;
  font-style:normal;
}
.site-footer .publisher-row {
  display:grid;
  grid-template-columns:5em minmax(0,1fr);
  column-gap:12px;
  align-items:baseline;
  font-size:max(14px,calc(24 * var(--u)));
  line-height:1.65;
  letter-spacing:0;
}
.publisher-row .contact-value {
  min-width:0;
  overflow-wrap:anywhere;
}
.publisher-row .contact-email {
  justify-self:start;
  justify-content:flex-start;
}
.site-footer .contact-label, .site-footer .publisher-copyright {
  font-size:max(14px,calc(24 * var(--u)));
  line-height:1.6;
  letter-spacing:0;
}
.site-footer .publisher-copyright {
  margin-top:12px;
  color:#526775;
  font-size:max(12px,calc(20 * var(--u)));
}
.contact-email {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  max-width:100%;
  color:var(--navy);
  font-size:max(16px,calc(28 * var(--u)));
  line-height:1.5;
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-underline-offset:3px;
}
.contact-email:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px;
}
