:root{--ink:#172a31;--muted:#667579;--brand:#2f6555;--brand-dark:#224d41;--accent:#c3733e;--paper:#fffdf8;--soft:#f3efe5;--line:#ddd6c7;--white:#fff;--shadow:0 18px 50px rgba(35,53,49,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,72px);border-bottom:1px solid rgba(221,214,199,.8);background:rgba(255,253,248,.94);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;font-weight:800}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;border-radius:11px;background:var(--brand);font-family:serif;font-size:1.25rem}.site-header nav{display:flex;gap:28px;font-size:.9rem;font-weight:700}.site-header nav a:hover{color:var(--brand)}
main{overflow:hidden}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(40px,7vw,110px);align-items:center;min-height:650px;padding:clamp(70px,9vw,125px) clamp(24px,8vw,120px);background:radial-gradient(circle at 90% 15%,#e3eee7 0,transparent 32%),linear-gradient(135deg,#fffdf8 0%,#f6f0e4 100%)}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hero h1{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.35rem,5vw,4.65rem);font-weight:600;line-height:1.3;letter-spacing:.03em}.lead{max-width:760px;margin:28px 0;color:#4f6265;font-size:1.05rem}.hero-actions,.reissue-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid var(--brand);border-radius:13px;color:var(--brand);background:#fff;font:700 .95rem inherit;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,101,85,.17)}.button.primary{color:#fff;background:var(--brand)}.button.secondary{border-color:var(--line);color:var(--ink);background:#fff}.notice{max-width:720px;margin:25px 0 0;color:#7a756c;font-size:.78rem}.hero-panel{padding:34px;border:1px solid rgba(255,255,255,.8);border-radius:26px;background:rgba(255,255,255,.76);box-shadow:var(--shadow)}.flow-step{display:flex;align-items:center;gap:17px}.flow-step>span{display:grid;place-items:center;flex:0 0 42px;height:42px;color:#fff;border-radius:50%;background:var(--brand);font-weight:800}.flow-step strong,.flow-step small{display:block}.flow-step small{color:var(--muted)}.flow-line{width:1px;height:42px;margin:5px 0 5px 21px;background:var(--line)}
.section{padding:95px clamp(22px,7vw,110px)}.section.soft{background:var(--soft)}.section-heading{max-width:760px;margin:0 auto 44px;text-align:center}.section-heading h2,.reissue-card h2{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:600}.section-heading>p:last-child{color:var(--muted)}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1180px;margin:auto}.plan-card{position:relative;display:flex;flex-direction:column;padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 25px rgba(46,54,51,.06)}.plan-card.recommended{border:2px solid var(--brand);transform:translateY(-8px);box-shadow:var(--shadow)}.plan-card.unlimited{background:linear-gradient(160deg,#f4efe4,#e6eee8)}.plan-label{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.1em}.plan-card h3{margin:6px 0 3px;font-size:1.45rem}.price{display:flex;align-items:baseline;gap:8px;margin:5px 0 20px}.price strong{font-family:Georgia,serif;font-size:2.65rem;line-height:1}.price span{color:var(--muted);font-size:.82rem}.plan-card ul{flex:1;margin:0 0 27px;padding:0;list-style:none}.plan-card li{padding:7px 0;border-bottom:1px solid #eee9de;font-size:.9rem}.plan-card li::before{content:"✓";margin-right:8px;color:var(--brand);font-weight:900}.plan-button{width:100%}.recommend-badge{position:absolute;top:-14px;right:22px;padding:5px 14px;color:#fff;border-radius:999px;background:var(--brand);font-size:.74rem;font-weight:800}.selection-message{max-width:880px;margin:30px auto 0;padding:22px 26px;border-left:5px solid var(--brand);border-radius:12px;background:#edf5f1}.selection-message strong,.selection-message span{display:block}.selection-message span{color:var(--muted)}.selection-message div{display:flex;gap:18px;margin-top:10px}.selection-message a{color:var(--brand);font-weight:800}.table-wrap{max-width:990px;margin:auto;overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(42,51,48,.06)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:17px 22px;border-bottom:1px solid #eee9de;text-align:center}thead th{color:#fff;background:var(--brand)}tbody th{text-align:left;background:#faf8f2}.check{color:var(--brand);font-weight:900}.reissue-card{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center;max-width:1180px;margin:auto;padding:45px;border-radius:24px;color:#fff;background:linear-gradient(120deg,var(--brand-dark),var(--brand));box-shadow:var(--shadow)}.reissue-card .eyebrow{color:#efbd9c}.reissue-card p{max-width:720px;margin-bottom:0;color:#dceae5}.reissue-card .button.primary{color:var(--brand);background:#fff}.reissue-card .button.secondary{color:#fff;background:transparent;border-color:rgba(255,255,255,.45)}footer{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:40px clamp(22px,7vw,110px);color:#d8e3df;background:#152d27}footer p{margin:5px 0 0;font-size:.78rem}footer small{white-space:nowrap}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto}.plans{grid-template-columns:1fr}.plan-card.recommended{transform:none}.reissue-card{grid-template-columns:1fr}.site-header nav{display:none}}@media(max-width:560px){.hero,.section{padding-left:18px;padding-right:18px}.hero h1{font-size:2.2rem}.hero-panel,.plan-card,.reissue-card{padding:25px}.hero-actions,.reissue-actions{flex-direction:column}.button{width:100%}footer{align-items:flex-start;flex-direction:column}}
.reissue-help{flex-basis:100%;max-width:460px!important;margin:4px 0 0!important;color:#dceae5!important;font-size:.82rem}.reissue-help[data-state="success"]{color:#fff8d8!important;font-weight:800}.reissue-help[data-state="error"]{color:#ffd7d7!important;font-weight:800}
.admin-utility{padding:0 clamp(22px,7vw,110px) 54px;background:#fffdf8}.admin-utility details{max-width:1180px;margin:0 auto;padding:18px 22px;border:1px dashed #d8cdbb;border-radius:18px;background:#faf7ef;color:#6f756f}.admin-utility summary{width:max-content;cursor:pointer;color:#6d746f;font-size:.9rem;font-weight:800}.admin-utility p{margin:12px 0 10px;color:#7a756c;font-size:.86rem}.admin-links{display:flex;flex-wrap:wrap;gap:10px}.admin-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid #d8cdbb;border-radius:999px;color:#2f6555;background:#fff;font-size:.86rem;font-weight:800;text-decoration:none}.admin-links a:hover{background:#edf5f1}

/* Sales landing page additions */
.hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.hero-badges span{padding:7px 12px;border:1px solid #ddd6c7;border-radius:999px;background:rgba(255,255,255,.68);color:#315b51;font-size:.82rem;font-weight:900}.panel-title{margin:0 0 22px;color:var(--accent);font-weight:900;letter-spacing:.08em}.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0 clamp(22px,7vw,110px);background:var(--line)}.proof-strip div{padding:24px 18px;background:#fff;text-align:center}.proof-strip strong{display:block;color:var(--brand);font-family:Georgia,serif;font-size:1.38rem}.proof-strip span{display:block;color:var(--muted);font-size:.84rem;font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1180px;margin:auto}.feature-grid article{padding:27px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(46,54,51,.05)}.feature-grid span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:var(--brand);font-family:Georgia,serif;font-weight:900}.feature-grid h3{margin:18px 0 8px}.feature-grid p{margin:0;color:var(--muted);font-size:.92rem}.area-card{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1050px;margin:auto}.area-card>div{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 8px 25px rgba(46,54,51,.05)}.area-card h3{margin:0 0 14px}.area-card p{margin:0;color:var(--muted)}.pref-tags{display:flex;flex-wrap:wrap;gap:10px}.pref-tags span{padding:9px 14px;border-radius:999px;color:#fff;background:var(--brand);font-weight:900}.plan-summary{min-height:3.3em;margin:0 0 18px;color:#5c6d6d;font-size:.9rem}.process-section{background:linear-gradient(180deg,#fffdf8,#f7f2e8)}.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1180px;margin:auto}.process-list article{position:relative;padding:28px 22px;border-radius:20px;background:#fff;border:1px solid var(--line)}.process-list b{display:grid;place-items:center;width:34px;height:34px;color:#fff;border-radius:50%;background:var(--accent);font-family:Georgia,serif}.process-list h3{margin:14px 0 6px}.process-list p{margin:0;color:var(--muted);font-size:.9rem}.caution-section{padding-top:40px}.caution-card{max-width:1050px;margin:auto;padding:38px;border:1px solid #ead7c8;border-radius:24px;background:#fff8ef}.caution-card h2{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:600}.caution-card ul{margin:18px 0 0;padding-left:1.3em;color:#5e6463}.caution-card li{margin:8px 0}

@media(max-width:900px){.proof-strip,.feature-grid,.process-list,.area-card{grid-template-columns:1fr}}@media(max-width:560px){.caution-card{padding:25px}}

/* Purchase confirmation */
.purchase-body{background:linear-gradient(180deg,#fffdf8,#f4efe4)}.purchase-main{overflow:visible}.purchase-hero{padding:72px clamp(22px,7vw,110px) 30px;text-align:center}.purchase-hero h1{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:600}.purchase-hero p:last-child{max-width:720px;margin:18px auto 0;color:var(--muted)}.purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;max-width:1180px;margin:0 auto 80px;padding:0 clamp(18px,4vw,32px)}.purchase-card,.purchase-side{border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.purchase-card{padding:36px}.purchase-card h2{margin:4px 0 0;font-family:"Yu Mincho",serif;font-size:2.4rem;font-weight:600}.purchase-price{display:flex;align-items:baseline;gap:8px;margin:8px 0 6px}.purchase-price strong{font-family:Georgia,serif;font-size:3.2rem;line-height:1;color:var(--brand)}.purchase-price span{color:var(--muted);font-weight:800}.purchase-summary{margin:0 0 24px;color:#526568}.purchase-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0;padding:14px;border-radius:18px;background:#faf7ef}.purchase-info-grid div{padding:12px;border-radius:14px;background:#fff}.purchase-info-grid span{display:block;color:var(--muted);font-size:.78rem;font-weight:900}.purchase-info-grid strong{display:block;margin-top:4px;font-size:.9rem}.purchase-card h3{margin:26px 0 10px}.purchase-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.purchase-list li{padding:10px 12px;border:1px solid #eee9de;border-radius:12px;background:#fffdf8;font-weight:800;font-size:.9rem}.purchase-list li::before{content:"✓";margin-right:8px;color:var(--brand);font-weight:900}.purchase-notice{margin:28px 0;padding:20px;border:1px solid #ead7c8;border-radius:18px;background:#fff8ef}.purchase-notice strong{display:block;margin-bottom:8px;color:#8b4d28}.purchase-notice ul{margin:0;padding-left:1.3em;color:#5f6664;font-size:.9rem}.agree-box{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:16px;background:#faf7ef;font-weight:900}.agree-box input{width:20px;height:20px;margin-top:4px;accent-color:var(--brand)}.purchase-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.purchase-actions .button[disabled]{opacity:.52;cursor:not-allowed;transform:none;box-shadow:none}.purchase-help{margin:12px 0 0;color:var(--muted);font-size:.86rem;font-weight:800}.purchase-side{position:sticky;top:88px;padding:28px}.purchase-side h2{margin:0 0 18px;font-family:"Yu Mincho",serif;font-weight:600}.purchase-side ol{display:grid;gap:14px;margin:0;padding:0;list-style:none;counter-reset:steps}.purchase-side li{position:relative;padding-left:48px;counter-increment:steps}.purchase-side li::before{content:counter(steps);position:absolute;left:0;top:2px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:var(--brand);font-family:Georgia,serif;font-weight:900}.purchase-side strong,.purchase-side span{display:block}.purchase-side span{color:var(--muted);font-size:.86rem}
@media(max-width:900px){.purchase-layout{grid-template-columns:1fr}.purchase-side{position:static}.purchase-info-grid,.purchase-list{grid-template-columns:1fr}}@media(max-width:560px){.purchase-card,.purchase-side{padding:24px}.purchase-actions{flex-direction:column}}

/* Terms and notes */
.terms-inline-link{margin:22px 0 0!important}.terms-inline-link a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid #cfa37f;border-radius:999px;color:#8b4d28;background:#fff;font-weight:900}.footer-links{margin-top:8px!important}.footer-links a{color:#fff;text-decoration:underline;text-underline-offset:3px}.agree-box a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}.terms-body{background:linear-gradient(180deg,#fffdf8,#f4efe4)}.terms-main{overflow:visible}.terms-hero{padding:72px clamp(22px,7vw,110px) 28px;text-align:center}.terms-hero h1{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.6rem);font-weight:600}.terms-hero p:last-child{max-width:780px;margin:18px auto 0;color:var(--muted)}.terms-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start;max-width:1180px;margin:0 auto 80px;padding:0 clamp(18px,4vw,32px)}.terms-nav{position:sticky;top:92px;display:grid;gap:8px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(46,54,51,.06)}.terms-nav a{padding:8px 10px;border-radius:10px;color:#526568;font-weight:800;font-size:.9rem}.terms-nav a:hover{color:var(--brand);background:#edf5f1}.terms-card{padding:38px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.terms-card section{padding:26px 0;border-bottom:1px solid #eee9de}.terms-card section:first-child{padding-top:0}.terms-card section:last-of-type{border-bottom:0}.terms-card h2{margin:0 0 12px;font-family:"Yu Mincho",serif;font-size:1.7rem;font-weight:600}.terms-card p,.terms-card li{color:#536566}.terms-card ul{margin:0;padding-left:1.3em}.terms-card li{margin:8px 0}.terms-updated{font-weight:900;color:var(--brand)!important}.terms-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.legal-alert{margin:0 0 22px!important;padding:16px 18px;border:1px solid #e1b98f;border-radius:16px;color:#8b4d28!important;background:#fff8e7;font-weight:900}.legal-table{min-width:0;border:1px solid #eee9de;border-radius:16px;overflow:hidden}.legal-table th,.legal-table td{padding:16px 18px;text-align:left;vertical-align:top}.legal-table th{width:230px;color:#244e43;background:#faf7ef}.legal-table td small{color:var(--muted);font-weight:800}.placeholder-text{display:inline-flex;padding:3px 9px;border-radius:999px;color:#8b4d28;background:#fff1df;font-weight:900}.legal-source a{color:var(--brand);font-weight:900;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.terms-layout{grid-template-columns:1fr}.terms-nav{position:static}.terms-card{padding:26px}}@media(max-width:560px){.terms-actions{flex-direction:column}}

/* Mock login and access control */
.access-section{background:linear-gradient(180deg,#f7f2e8,#fffdf8)}.access-card{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;max-width:1180px;margin:auto;padding:36px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.access-card h2{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:600}.access-card p{color:var(--muted)}.mock-login-panel{padding:22px;border:1px solid #eee9de;border-radius:20px;background:#faf7ef}.mock-login-panel label{display:grid;gap:8px;font-weight:900}.mock-login-panel input{min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.mock-login-actions,.mock-grant-actions,.access-open-actions{display:flex;flex-wrap:wrap;gap:10px}.mock-login-actions{margin-top:14px}.mock-login-status{margin:12px 0 0!important;font-size:.9rem;font-weight:900}.access-status-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.access-status-card{padding:20px;border:1px solid #eee1d4;border-radius:18px;background:#fff8ef}.access-status-card.is-active{border-color:#b6d5c8;background:#edf7f2}.access-status-card span{display:inline-flex;padding:4px 10px;border-radius:999px;color:#8b4d28;background:#fff;font-size:.76rem;font-weight:900}.access-status-card.is-active span{color:#fff;background:var(--brand)}.access-status-card h3{margin:12px 0 4px}.access-status-card p{margin:0;color:#536566;font-size:.9rem}.access-status-card small{display:block;margin-top:10px;color:var(--brand);font-weight:900}.mock-grant-actions,.access-open-actions{grid-column:1/-1}.danger-button{border-color:#c98d8d!important;color:#9a3a3a!important}.access-open-actions{padding-top:4px}.access-open-actions .button.primary{min-width:180px}
@media(max-width:900px){.access-card{grid-template-columns:1fr}.access-status-grid{grid-template-columns:1fr}}

/* Checkout result pages */
.checkout-result-hero{padding:72px clamp(22px,7vw,110px) 28px;text-align:center}.checkout-result-hero h1{margin:0;font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3.7rem);font-weight:600}.checkout-result-hero p:last-child{max-width:760px;margin:16px auto 0;color:var(--muted)}.result-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;color:#fff;font-size:2.1rem;font-weight:900}.checkout-result-hero.success .result-icon{background:var(--brand)}.checkout-result-hero.cancel .result-icon{background:#a86a28}.checkout-result-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start;max-width:1180px;margin:0 auto 80px;padding:0 clamp(18px,4vw,32px)}.result-card{min-height:0}.result-info-grid{grid-template-columns:repeat(4,1fr)}.result-card button[disabled]{opacity:.54;cursor:not-allowed;transform:none;box-shadow:none}
@media(max-width:900px){.checkout-result-layout{grid-template-columns:1fr}.result-info-grid{grid-template-columns:1fr}}
