:root{--ink:#172238;--muted:#637087;--line:#dce2ea;--surface:#fff;--soft:#f5f7f9;--accent:#176b5b;--accent-dark:#0f5145;--accent-soft:#e4f3ee;--warm:#f4b860;--danger:#b42318;--danger-soft:#fef3f2;--radius:18px;--shadow:0 18px 50px rgba(23,34,56,.08);font-family:Inter,Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}body{font-size:16px;line-height:1.65}a{text-decoration-thickness:1px;text-underline-offset:3px}button,a,input,summary{outline-offset:3px}:focus-visible{outline:3px solid rgba(23,107,91,.42)}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.container--narrow{width:min(760px,calc(100% - 40px))}.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 16px;border-radius:8px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{height:74px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:100}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:inline-flex;align-items:center;gap:10px;font-weight:850;font-size:20px;text-decoration:none;letter-spacing:-.04em}.logo__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;font-size:13px;letter-spacing:-.1em}.nav__links{display:flex;align-items:center;gap:28px;list-style:none}.nav__links a{text-decoration:none;color:#46536a;font-weight:650}.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--accent)}.menu-toggle{display:none;border:0;background:transparent;padding:8px;border-radius:8px;color:var(--ink)}.menu-toggle span{display:block;width:22px;height:2px;margin:4px;background:currentColor}.hero{padding:88px 0 72px;background:linear-gradient(135deg,#f7faf9 0%,#fff 52%,#fff9ee 100%);overflow:hidden}.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}.eyebrow{color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.08;letter-spacing:-.06em}.hero__lead,.page-lead{max-width:680px;margin-top:22px;color:var(--muted);font-size:19px;line-height:1.75}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:30px}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 18px;border:1px solid transparent;border-radius:11px;text-decoration:none;font-weight:750;transition:background-color .15s,border-color .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--accent);color:#fff}.button--primary:hover{background:var(--accent-dark)}.button--secondary{border-color:var(--line);background:#fff;color:var(--ink)}.button--secondary:hover{border-color:#aeb8c6;background:var(--soft)}.hero-puzzle{position:relative;padding:24px 24px 58px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow);transform:rotate(1.5deg)}.mini-grid{display:grid;grid-template-columns:repeat(9,1fr);border:2px solid var(--ink);aspect-ratio:1}.mini-grid span{display:grid;place-items:center;border-right:1px solid #cbd2dc;border-bottom:1px solid #cbd2dc;font-weight:700;font-size:clamp(10px,1.5vw,17px)}.mini-grid span:nth-child(3n){border-right:2px solid var(--ink)}.mini-grid span:nth-child(9n){border-right:0}.mini-grid span:nth-child(n+19):nth-child(-n+27),.mini-grid span:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--ink)}.mini-grid span:nth-child(n+73){border-bottom:0}.hero-puzzle__note{position:absolute;bottom:16px;left:24px;color:var(--muted);font-size:14px;font-weight:700}.section{padding:86px 0}.section--compact{padding:52px 0}.section--tint{background:var(--soft)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading--center{justify-content:center;text-align:center}.section-heading h2,.callout h2,.guide-box h2{font-size:clamp(28px,4vw,40px);line-height:1.2;letter-spacing:-.045em}.text-link{font-weight:750;color:var(--accent);white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{position:relative;min-height:310px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.feature-card--active{box-shadow:var(--shadow)}.feature-card--muted{background:#fafbfc}.feature-card__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:var(--accent-soft);color:var(--accent);font-weight:850}.tag{display:inline-flex;align-items:center;margin-top:24px;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:12px;font-weight:800}.tag--muted{background:#e9edf2;color:#667085}.feature-card h3{margin-top:14px;font-size:25px;letter-spacing:-.035em}.feature-card p:not(.tag){margin-top:10px;color:var(--muted)}.stretched-link{display:inline-block;margin-top:22px;color:var(--accent);font-weight:750}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.benefit{padding-top:20px;border-top:2px solid var(--ink)}.benefit__number{display:block;color:var(--accent);font-weight:850;font-size:13px}.benefit h3{margin-top:20px;font-size:22px}.benefit p{margin-top:8px;color:var(--muted)}.callout{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px;border-radius:24px;background:var(--ink);color:#fff}.callout .eyebrow{color:#8ed2c4}.callout p:last-child{margin-top:12px;color:#c7cfdb}.callout .button{flex:none}.page-main{padding:48px 0 96px}.breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:44px;color:var(--muted);font-size:14px}.breadcrumb a:hover{color:var(--accent)}.page-main h1{font-size:clamp(38px,6vw,62px);line-height:1.12;letter-spacing:-.055em}.prose{margin-top:50px}.prose h2{margin-top:42px;font-size:27px;line-height:1.35;letter-spacing:-.035em}.prose h2:first-child{margin-top:0}.prose h3{margin-top:30px;font-size:20px}.prose p,.prose ul,.prose ol{margin-top:14px;color:#4d596e}.prose ul,.prose ol{padding-left:24px}.prose li+li{margin-top:8px}.prose a{color:var(--accent);font-weight:700}.inline-action{margin-top:28px}.updated{font-size:14px}.site-footer{padding:54px 0 30px;background:#111a2a;color:#d8dde6}.footer__top{display:grid;grid-template-columns:1.4fr .6fr .6fr;gap:40px;padding-bottom:42px}.footer__brand p{max-width:480px;margin-top:14px;color:#9da8ba}.footer__heading{margin-bottom:14px;color:#fff;font-size:14px;font-weight:800}.footer__links{list-style:none}.footer__links li+li{margin-top:9px}.footer__links a{color:#bac3d0;text-decoration:none}.footer__links a:hover{color:#fff}.footer__bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid #2a3445;color:#8995a8;font-size:13px}.listing-intro{display:flex;align-items:end;justify-content:space-between;gap:40px}.listing-stat{display:flex;align-items:center;gap:12px;padding:16px 22px;border:1px solid var(--line);border-radius:14px}.listing-stat strong{font-size:30px;color:var(--accent)}.listing-stat span{color:var(--muted);font-size:14px}.puzzle-list{display:grid;gap:18px}.puzzle-card{display:grid;grid-template-columns:210px 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(23,34,56,.05)}.puzzle-card__preview{display:grid;grid-template-columns:repeat(3,1fr);place-items:center;gap:1px;padding:42px;background:var(--accent-soft);color:var(--accent-dark);font-weight:800;font-size:20px}.puzzle-card__body{padding:28px}.puzzle-card__meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px}.puzzle-card__meta .tag{margin:0}.puzzle-card h3{margin-top:14px;font-size:26px}.puzzle-card p{margin-top:8px;color:var(--muted)}.guide-box{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;margin-top:48px;padding:34px;border-radius:var(--radius);background:var(--soft)}.guide-box>p{color:var(--muted)}.contact-card{margin-top:44px;padding:34px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.contact-card h2{font-size:28px}.contact-card h3{margin-top:28px}.contact-card p,.contact-card ul{margin-top:12px;color:var(--muted)}.contact-card ul{padding-left:22px}.contact-placeholder{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border:1px dashed #aab4c3;border-radius:10px;background:var(--soft);font-family:ui-monospace,monospace}.contact-placeholder span{font:700 12px Inter,sans-serif;color:var(--danger)}.notice{padding:14px;border-radius:10px;background:#fff8e8;color:#6c511a!important}.ad-slot{display:grid;place-items:center;min-height:72px;margin:34px 0;border:1px dashed #cbd3dd;border-radius:12px;background:#fafbfc;color:#8a94a5;font-size:13px}.print-brand{display:none}
@media(max-width:800px){.container,.container--narrow{width:min(100% - 28px,1120px)}.site-header{height:64px}.nav{height:64px}.menu-toggle{display:block}.nav__links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 14px 18px;border-bottom:1px solid var(--line);background:#fff;box-shadow:0 12px 24px rgba(23,34,56,.08)}.nav__links.is-open{display:flex}.nav__links a{display:block;padding:11px 12px;border-radius:8px}.hero{padding:56px 0}.hero__grid{grid-template-columns:1fr;gap:48px}.hero-puzzle{width:min(100%,430px);margin:auto}.card-grid,.benefit-grid{grid-template-columns:1fr}.benefit-grid{gap:26px}.section{padding:64px 0}.callout{align-items:flex-start;flex-direction:column}.footer__top{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}.listing-intro{align-items:flex-start;flex-direction:column}.puzzle-card{grid-template-columns:1fr}.puzzle-card__preview{min-height:160px}.guide-box{grid-template-columns:1fr;gap:18px}}
@media(max-width:520px){.hero h1{font-size:42px}.button-row .button{width:100%}.section-heading{align-items:flex-start;flex-direction:column}.puzzle-card__body{padding:22px}.puzzle-card__meta{align-items:flex-start;flex-direction:column;gap:6px}.footer__top{grid-template-columns:1fr}.footer__brand{grid-column:auto}.footer__bottom{flex-direction:column}.contact-card{padding:22px}.contact-placeholder{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.button{transition:none}}
