*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#f5f4ec;color:#24392c;font:17px/1.65 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer}a:hover{color:#815d28}header{background:#f5f4ecf5;border-bottom:1px solid #cbd3c7;position:sticky;top:0;z-index:10}.header-inner{max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 4%;gap:24px}.brand{font:700 24px Georgia,serif;text-decoration:none;display:flex;align-items:center;gap:10px;white-space:nowrap}.brand small{display:block;font:11px system-ui;letter-spacing:2px;text-transform:uppercase}nav{display:flex;align-items:center;gap:22px;font-size:14px}nav a{text-decoration:none}nav details{position:relative}nav summary{cursor:pointer}nav details>div{position:absolute;background:#fffdf5;min-width:240px;padding:18px;box-shadow:0 10px 25px #24392c20;display:grid;gap:12px;right:0}.languages div{font-size:13px}.menu-toggle{display:none}.skip{position:absolute;top:-80px}.skip:focus{top:8px;background:white;z-index:20;padding:8px}.wide{max-width:1380px;margin:auto;padding:0 5%}.reading{max-width:850px;margin:60px auto;padding:0 28px}.eyebrow{display:block;font:600 12px/1.5 system-ui;letter-spacing:2px;text-transform:uppercase;color:#58674e;margin-bottom:18px}h1,h2,h3{font-family:Georgia,serif;line-height:1.08;font-weight:400;letter-spacing:-1.5px}h1{font-size:clamp(44px,6vw,82px);margin:15px 0 30px}h2{font-size:clamp(32px,4vw,48px);margin:40px 0 20px}h3{font-size:28px;letter-spacing:-.5px}.lead{font-size:22px;line-height:1.5;max-width:650px;color:#4b5d48}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;min-height:680px;padding:65px 0}.hero h1{font-size:clamp(66px,8vw,114px);line-height:.98}.hero h1 span{color:#b38940}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button,button{display:inline-block;padding:14px 20px;border:1px solid #344b3b;border-radius:4px;background:#344b3b;color:#fffdf4;text-decoration:none;font-size:14px;font-weight:600}.button:hover,button:hover{background:#26392b;color:white}.ghost{background:transparent;color:#344b3b}.hero-note,.fine{font-size:13px;color:#5d6a58}.orbit-art{position:relative;aspect-ratio:1;min-width:0}.orbit{border:1px solid #b7c2ac;border-radius:50%;position:absolute;inset:7%}.ring2{inset:21%;border-style:dashed;transform:rotate(40deg)}.orbit-center{position:absolute;inset:32%;border-radius:50%;background:#dce2cf;display:flex;align-items:center;justify-content:center;font:italic 27px/1.3 Georgia;text-align:center}.orbit-label{position:absolute;font-size:13px;background:#f5f4ec;padding:5px 12px;letter-spacing:.5px}.l1{top:9%;left:21%}.l2{right:0;top:48%}.l3{bottom:6%;left:13%}.notice{border-left:4px solid #a57b39;padding:22px 26px;background:#e8e9db;font-size:16px;margin:35px 0}.notice strong{display:block}.section-head{padding:70px 0 30px;max-width:720px}.section-head h2{font-size:58px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bfc9b7;border-left:1px solid #bfc9b7;margin-bottom:80px}.card{padding:30px;border-bottom:1px solid #bfc9b7;border-right:1px solid #bfc9b7;text-decoration:none;position:relative}.card:hover{background:#e8ecdf}.card p{font-size:15px}.num{font-size:13px;color:#58674e}.arrow{font-size:25px}.app-band{background:#344b3b;color:#fffdf4;padding:45px;margin:60px 0;border-radius:7px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center}.app-band .eyebrow{color:#d1dbbc}.app-band h2{margin-top:0;font-size:36px}.app-band p{font-size:15px}.badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.badges img{width:155px;height:46px;object-fit:contain}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin:100px 0}.paper{padding:35px;background:#fffdf5;box-shadow:6px 8px 0 #dce2cf;transform:rotate(2deg);border:1px solid #c5cdbb}.stamp{font-size:11px;letter-spacing:2px;text-transform:uppercase}.app-preview img{max-height:480px;max-width:100%;object-fit:contain;justify-self:center;border-radius:20px}.text-link{font-weight:600}.reading .crumb{display:block;font-size:13px;margin-bottom:35px}.article-meta{font-size:13px;color:#58674e;border-bottom:1px solid #ccd3c4;padding-bottom:25px}.on-page{display:grid;gap:8px;padding:25px;background:#e9ecdf;margin:30px 0}.citations{font-size:12px;color:#586b4e;margin-top:15px}.related{display:grid;gap:12px}.reading section{margin:55px 0}.reading h2{font-size:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:14px;font-weight:600;margin:20px 0}input,select,textarea{display:block;width:100%;margin-top:8px;background:#fffdf5;border:1px solid #9eae93;color:#24392c;border-radius:3px;padding:12px}textarea{min-height:100px;resize:vertical}.tool-actions{display:flex;gap:10px;flex-wrap:wrap}.tool-actions button{font-size:13px;padding:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#e8ecdf;padding:25px;font-size:14px}footer{background:#e2e6d7;padding:50px 7% 90px;display:grid;grid-template-columns:1fr 1fr;gap:28px}footer div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px}footer>.fine{grid-column:1/-1;max-width:950px}.sticky-app{position:fixed;bottom:18px;right:22px;background:#86632f;color:white;text-decoration:none;padding:12px 20px;border-radius:30px;box-shadow:0 4px 16px #24392c25;font-size:14px;z-index:12}:focus-visible{outline:3px solid #bd8628;outline-offset:4px}
@media(max-width:1000px){.header-inner{gap:12px}nav{gap:12px;font-size:12px}.card-grid{grid-template-columns:1fr 1fr}.hero{gap:10px}.orbit-label{font-size:11px}.app-band{grid-template-columns:1fr}.badges{justify-content:flex-start}}
@media(max-width:760px){.header-inner{padding:13px 5%;flex-wrap:wrap}.brand{font-size:21px}.brand img{width:32px;height:32px}.menu-toggle{display:block;font-size:12px;padding:8px 12px;background:transparent;color:#344b3b}nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;font-size:15px;padding:16px 0}nav.open{display:flex}nav details>div{position:static;box-shadow:none;min-width:0}.hero{grid-template-columns:1fr;min-height:0;padding:45px 0 10px}.hero h1{font-size:68px}.lead{font-size:19px}.hero-actions{align-items:flex-start;flex-direction:column}.orbit-art{width:92%;max-width:370px;margin:20px auto}.orbit-center{font-size:24px}.orbit-label{font-size:12px}.section-head{padding-top:45px}.section-head h2{font-size:44px}.card-grid{grid-template-columns:1fr}.card{padding:25px}.card h3{margin:15px 0}.app-band{padding:25px;margin:45px 0}.app-band h2{font-size:30px}.split{grid-template-columns:1fr;gap:35px;margin:65px 0}.paper{margin:8px}.reading{margin:40px auto;padding:0 22px}.reading h1{font-size:44px;overflow-wrap:break-word}.form-grid{grid-template-columns:1fr;gap:0}footer{grid-template-columns:1fr;padding:40px 6% 100px}footer div:nth-child(2){grid-template-columns:1fr 1fr}.sticky-app{right:12px;bottom:12px}.app-preview img{max-height:430px}.notice{padding:18px;font-size:15px}h1,h2,h3{letter-spacing:-1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){.l2{top:20%;right:-2%;font-size:11px}.orbit-center{font-size:22px}}
@media(max-width:760px){html[lang=es] .hero h1{font-size:48px;line-height:1.05}body:has(#episode-form) .sticky-app{position:static;display:block;width:max-content;margin:20px auto;box-shadow:none}}
/* Narrow screens keep the app CTA in document flow, never over a diagram or form. */
@media(max-width:760px){.sticky-app,body:has(#episode-form) .sticky-app{position:static;display:block;width:max-content;max-width:90%;margin:20px auto;box-shadow:none}.orbit-art{margin:35px auto}.orbit-label{max-width:44%;font-size:11px;line-height:1.25}.l1{top:0;left:0}.l2{top:0;right:0}.l3{bottom:0;left:0}}

@font-face{font-family:NotoSansKR;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/noto-sans-kr-400.woff2') format('woff2')}@font-face{font-family:NotoSansKR;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/noto-sans-kr-600.woff2') format('woff2')}@font-face{font-family:NotoSansKR;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/noto-sans-kr-700.woff2') format('woff2')}
html[lang=ko] body,html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] .eyebrow,html[lang=ko] .orbit-center,html[lang=ko] .brand small{font-family:NotoSansKR,NotoSansKRFull,sans-serif}
@font-face{font-family:NotoSansKRFull;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/noto-sans-kr-full.woff2') format('woff2')}
html[lang=ko] h1,html[lang=ko] h2,html[lang=ko] h3,html[lang=ko] .lead{word-break:keep-all;overflow-wrap:break-word}html[lang=ko] .hero h1{font-size:clamp(48px,6vw,86px);line-height:1.15}@media(max-width:760px){html[lang=ko] .hero h1{font-size:48px}}

html[dir=rtl] .notice{border-left:0;border-right:4px solid #a57b39}html[dir=rtl] .brand{direction:ltr}html[dir=rtl] pre{direction:rtl;text-align:right}html[dir=rtl] .eyebrow{letter-spacing:0}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{letter-spacing:0}html[lang=ru] .hero h1{font-size:clamp(48px,6vw,86px);line-height:1.08;overflow-wrap:break-word}@media(max-width:760px){html[lang=ru] .hero h1{font-size:48px}}
/* The app link stays in flow at every width and reading direction. */
.sticky-app{position:static;display:block;width:max-content;max-width:90%;margin:24px auto;box-shadow:none}
.reading h1,.reading h2,.reading h3,.reading p,.reading a{overflow-wrap:anywhere;hyphens:auto}
.app-band{background:#fffef8;color:#24372b;border:1px solid #b8c3b0;border-radius:26px;grid-template-columns:minmax(0,1fr) 180px;gap:24px;padding:36px;box-shadow:0 9px 35px #344b3b08}
.app-band .eyebrow{color:#52674e}.app-card-brand{display:flex;align-items:center;gap:15px;margin-bottom:25px}.app-card-brand img{width:64px;height:64px;object-fit:contain;border-radius:15px}.app-card-brand strong{font:700 28px Arial,sans-serif}.app-band .badges{grid-column:1;display:flex;gap:12px;flex-wrap:wrap}.app-card-product{grid-column:2;grid-row:1/3;width:180px;height:auto;max-height:380px;object-fit:contain;border-radius:24px}.app-band h2{font-size:34px}.app-band p{color:#52604f}
@media(max-width:600px){.app-band{grid-template-columns:minmax(0,1fr);padding:25px;gap:22px}.app-card-product{grid-column:1;grid-row:auto;width:160px;justify-self:center}.app-band .badges{grid-column:1;justify-content:flex-start}.app-card-brand strong{font-size:25px}.app-band h2{font-size:30px}.app-band .badges img{width:140px;height:auto}}
