.ct-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;padding:54px 20px 20px}.ct-hero h1{font-size:clamp(2.4rem,5.5vw,4rem);margin:18px 0 0}.ct-hero h1 em{font-style:normal;background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}.ct-lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--ink-soft);font-weight:500;max-width:52ch;margin:20px 0 0}.ct-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.ct-btn-primary,.ct-btn-ghost{text-decoration:none;font-weight:700;font-size:15px;padding:14px 22px;border-radius:999px;border:2px solid var(--ink);box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s}.ct-btn-primary{background:var(--accent);color:var(--accentInk)}.ct-btn-ghost{background:var(--card);color:var(--ink)}.ct-btn-primary:hover,.ct-btn-ghost:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.ct-btn-primary:active,.ct-btn-ghost:active{transform:translate(3px,3px);box-shadow:none}.ct-trust{list-style:none;display:flex;flex-wrap:wrap;gap:18px;padding:0;margin:26px 0 0;font-size:13.5px;font-weight:600;color:var(--ink-soft)}.ct-hero-visual{display:flex;justify-content:center;align-items:center}.ct-hero-visual figure{margin:0;width:100%;max-width:460px}.ct-hero-visual img{display:block;width:100%;height:auto;border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card)}@media(max-width:880px){.ct-hero{grid-template-columns:1fr;gap:32px}.ct-hero-visual{order:2}.ct-hero-visual figure{max-width:360px;margin:0 auto}}.ct-calcwrap{padding:38px 20px 0;scroll-margin-top:80px}.ct-calchead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px;flex-wrap:wrap}.ct-calchead h2{font-size:clamp(1.5rem,3vw,2rem)}.ct-calchint{font-size:14px;font-weight:600;color:var(--ink-soft)}.ct-benes{padding:70px 20px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ct-bene{padding:24px}.ct-bene span{font-size:30px;display:inline-block;width:56px;height:56px;line-height:56px;text-align:center;border:2px solid var(--ink);border-radius:14px;background:var(--paper-2)}.ct-bene h3{font-size:1.2rem;margin:16px 0 6px}.ct-bene p{color:var(--ink-soft);font-weight:500;font-size:14.5px;margin:0}@media(max-width:800px){.ct-benes{grid-template-columns:1fr}}.ct-explain{padding:80px 20px 0;display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:start}.ct-explain-viz{position:sticky;top:88px}.ct-viz-tag{display:inline-block;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:16px}.ct-road{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:12px}.ct-road:before{content:"";position:absolute;left:35px;top:30px;bottom:30px;width:3px;background:var(--paper-2);z-index:0}.ct-road li{position:relative;z-index:1;display:flex;align-items:center;gap:15px;background:var(--card);border:2px solid var(--ink);border-radius:16px;padding:13px 16px;box-shadow:var(--shadow-sm)}.ct-road-n{flex:none;width:38px;height:38px;border-radius:50%;border:2px solid var(--ink);background:var(--paper-2);display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:18px}.ct-road b{font-family:var(--font-display);font-size:1.05rem;display:block;line-height:1.15}.ct-road small{color:var(--ink-soft);font-size:13px;font-weight:500}.ct-road .is-final{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 32%,var(--card)),var(--card));box-shadow:var(--shadow)}.ct-road .is-final .ct-road-n{background:var(--brand);color:#fff}.ct-explain-txt h2{font-size:clamp(1.45rem,2.6vw,1.9rem);margin:30px 0 10px}.ct-explain-txt>h2:first-child{margin-top:0}.ct-explain-txt p{color:#36302a;font-size:1.05rem;margin:0 0 8px}.ct-explain-txt ul,.ct-explain-txt ol{color:#36302a;font-size:1.05rem;padding-left:20px}.ct-explain-txt li{margin:6px 0}.ct-explain-txt code{background:var(--paper-2);border-radius:5px;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:.92em}.ct-tip{margin-top:26px!important;background:var(--card);border:2px solid var(--ink);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm);font-weight:500}@media(max-width:860px){.ct-explain{grid-template-columns:1fr;gap:36px}.ct-explain-viz{position:static}}.ct-faq{padding:80px 20px 0}.ct-faq>h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:18px}.ct-faqlist{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}@media(max-width:760px){.ct-faqlist{grid-template-columns:1fr}}.ct-faqitem{background:var(--card);border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.ct-faqitem summary{cursor:pointer;padding:16px 18px;font-weight:700;font-family:var(--font-display);list-style:none;display:flex;justify-content:space-between;gap:12px}.ct-faqitem summary::-webkit-details-marker{display:none}.ct-faqitem summary:after{content:"+";font-size:22px;line-height:1;color:var(--accent);-webkit-text-stroke:1px var(--ink)}.ct-faqitem[open] summary:after{content:"−"}.ct-faqitem p{padding:0 18px 18px;margin:0;color:var(--ink-soft);font-weight:500}.ct-related{padding:70px 20px 0}.ct-related>h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:18px}.ct-relgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ct-relcard{position:relative;display:flex;flex-direction:column;gap:5px;padding:20px;text-decoration:none;overflow:hidden;transition:transform .14s,box-shadow .14s}.ct-relcard:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:var(--c);border-bottom:2px solid var(--ink)}.ct-relcard:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}.ct-relcard strong{font-family:var(--font-display);font-size:1.15rem;margin-top:6px}.ct-relcard span{color:var(--ink-soft);font-size:14px;font-weight:500}.ct-relcard em{font-style:normal;font-weight:700;font-size:14px;margin-top:8px}@media(max-width:800px){.ct-relgrid{grid-template-columns:1fr}}.ct-cta{padding:70px 20px 0}.ct-cta-in{padding:38px;text-align:center;background:var(--card)}.ct-cta-in h2{font-size:clamp(1.6rem,3.5vw,2.3rem)}.ct-cta-in p{color:var(--ink-soft);font-weight:500;margin:12px 0 22px}.ct-cta-in .tl-cta{font-size:16px;padding:14px 24px}
