:root{--ink:#17393a;--text:#273d3c;--muted:#687b7a;--line:#dce6e2;--accent:#137f70;--accentdark:#0b6357;--cream:#fbfbf7;--mint:#ecf5ee;--gold:#efba65;--white:#fff;--radius:18px;--shadow:0 14px 40px rgba(17,56,53,.07)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--cream);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.82;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img{max-width:100%}h1,h2,h3,p{margin-top:0}.container{max-width:1150px;padding:0 28px;margin:0 auto}.skip-link{position:absolute;transform:translateY(-150%);left:16px;top:16px;background:var(--white);padding:8px 18px;z-index:100}.skip-link:focus{transform:none}
.site-header{background:rgba(251,251,247,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(18px)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand-mark{height:42px;width:42px;display:grid;place-items:center;background:var(--ink);border-radius:12px;color:#fff;font-weight:900;font-size:21px;line-height:1;letter-spacing:-2px}.brand-mark span{color:var(--gold)}.brand-copy{display:flex;flex-direction:column;gap:0}.brand-copy strong{color:var(--ink);font-weight:800;letter-spacing:.04em;line-height:1.4;font-size:15px}.brand-copy small{font-size:10px;color:var(--muted);font-weight:600;letter-spacing:.07em}.nav{display:flex;gap:25px;white-space:nowrap}.nav a{font-size:12px;font-weight:800;color:#536b67}.nav a:hover{color:var(--accent)}
.eyebrow{font-size:11px;font-weight:900;color:var(--accent);letter-spacing:.14em;margin-bottom:13px;text-transform:uppercase;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.hero{overflow:hidden;background:radial-gradient(circle at 88% 30%,#deeee5 0,#eef5ed 31%,transparent 60%),linear-gradient(110deg,#f4f5ec 0%,#edf5ed 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:55px;align-items:center;min-height:546px;padding-top:72px;padding-bottom:76px}.hero h1{font-weight:900;letter-spacing:-.055em;font-size:clamp(38px,4.5vw,63px);line-height:1.38;color:var(--ink);margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--accent);position:relative}.hero-lead{font-size:15px;color:#536d69;line-height:2.05;margin-bottom:26px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:800;padding:12px 20px;border-radius:10px;border:1px solid var(--ink);line-height:1.6;white-space:nowrap;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:var(--accentdark);border-color:var(--accentdark);color:#fff;box-shadow:0 5px 14px rgba(17,57,56,.15)}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{color:var(--ink);background:#fff}.hero-points{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;font-weight:700;color:var(--muted)}.hero-visual{position:relative;min-height:350px}.visual-grid{position:relative;width:100%;height:334px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.26));border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;overflow:hidden}.visual-grid:before{content:"";inset:0;position:absolute;background-image:linear-gradient(rgba(18,91,82,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(18,91,82,.045) 1px,transparent 1px);background-size:24px 24px}.visual-paper{z-index:1;width:200px;height:252px;background:#fff;padding:18px 16px 12px;box-shadow:0 13px 36px rgba(23,58,55,.18);transform:rotate(-6deg);display:flex;flex-direction:column}.visual-photo{flex:1;background:linear-gradient(#d0ecdd 0%,#bedfe4 48%,#c4d4bb 49%,#86b9a2 100%);position:relative;overflow:hidden}.visual-sun{width:50px;height:50px;border-radius:50%;position:absolute;right:24px;top:29px;background:#f9d98a}.visual-hills{position:absolute;bottom:-18px;left:-45px;width:260px;height:98px;border-radius:100% 75% 0 0;background:#4b8e84;transform:rotate(-7deg)}.visual-hills:after{content:"";position:absolute;width:220px;height:65px;left:80px;top:4px;background:#31776c;border-radius:70% 60% 0 0;transform:rotate(20deg)}.visual-caption{font-size:10px;font-weight:800;color:var(--muted);text-align:center;padding-top:12px}.float-pill{z-index:2;position:absolute;background:#fff;box-shadow:0 14px 28px rgba(17,56,53,.12);padding:12px 17px;border-radius:12px;display:flex;flex-direction:column;line-height:1.35}.float-pill .pill-label{font-size:10px;font-weight:700;color:var(--muted)}.float-pill strong{font-size:22px;letter-spacing:-.04em;color:var(--ink)}.float-pill small{font-size:12px}.float-ppi{top:43px;right:19px;transform:rotate(5deg)}.float-size{left:13px;bottom:35px;transform:rotate(-2deg)}.visual-note{font-size:10px;color:var(--muted);text-align:center;margin:10px 0 0}
.page-section{padding:84px 0}.section-tint{background:#f1f5ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{margin-bottom:27px}.section-heading h2{font-size:32px;letter-spacing:-.035em;color:var(--ink);margin:0 0 8px;line-height:1.4}.section-heading p{font-size:14px;color:var(--muted);margin:0}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-card{display:flex;flex-direction:column;gap:18px;border:1px solid var(--line);background:var(--white);border-radius:18px;padding:26px;box-shadow:0 6px 22px rgba(19,56,50,.035);min-height:267px;transition:transform .17s,border-color .17s,box-shadow .17s}.tool-card:hover,.guide-card:hover{transform:translateY(-3px);border-color:#a5c8bd;box-shadow:0 12px 28px rgba(19,56,50,.085);color:var(--text)}.tool-icon{width:46px;height:46px;border-radius:14px;background:var(--mint);color:var(--accent);font-size:28px;display:grid;place-items:center;font-weight:800;line-height:1}.meta-tag{font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--accent)}.tool-card h3,.guide-card h3{font-size:17px;line-height:1.6;color:var(--ink);margin:5px 0 8px;letter-spacing:-.025em}.tool-card p,.guide-card p{font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 18px}.inline-link{font-size:12px;font-weight:800;color:var(--accent);margin-top:auto}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.guide-card{display:flex;flex-direction:column;min-height:245px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;transition:transform .17s,border-color .17s,box-shadow .17s}.guide-category{display:inline-flex;align-self:flex-start;font-size:11px;font-weight:800;color:var(--accent);background:#edf6f2;padding:3px 9px;border-radius:30px}.section-action{display:flex;justify-content:center;margin-top:28px}.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.method-grid h2{font-size:36px;letter-spacing:-.04em;line-height:1.5;color:var(--ink);margin:0}.method-grid p{color:var(--muted);line-height:2.05}.text-link{color:var(--accent);font-weight:800;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.narrow-top{padding-top:36px;padding-bottom:90px}.breadcrumbs{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:33px}.breadcrumbs a{color:var(--accent)}.page-heading{max-width:850px;margin-bottom:38px}.page-heading h1{font-size:clamp(30px,4vw,45px);line-height:1.43;letter-spacing:-.04em;color:var(--ink);margin-bottom:12px}.page-heading p{color:var(--muted);font-size:15px;line-height:1.95;margin:0}.note-panel{border-left:3px solid var(--accent);background:#edf5f0;padding:18px 23px;font-size:12px;line-height:1.95;color:#526967;margin-top:30px;border-radius:0 9px 9px 0}.tool-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr);gap:22px;align-items:start}.calculator-panel{padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.panel-title{color:var(--ink);font-size:19px;margin-bottom:22px}.calculator-form{display:flex;flex-direction:column;gap:18px}.calculator-form fieldset{border:none;padding:0;margin:0}.calculator-form legend{font-size:12px;font-weight:800;color:var(--ink);margin-bottom:9px}.radio-row{display:flex;flex-wrap:wrap;gap:10px}.radio-row label{font-size:13px;padding:8px 13px;border-radius:10px;background:#f3f7f4;border:1px solid var(--line);display:flex;align-items:center;gap:7px;cursor:pointer}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.fields label{display:flex;flex-direction:column;font-size:12px;font-weight:800;color:var(--ink);gap:5px}.fields input,.fields select{width:100%;min-width:0;height:43px;border:1px solid #cbdad5;border-radius:9px;background:#fff;color:var(--ink);padding:8px 10px;font-size:14px}.fields small{font-size:10px;font-weight:600;color:var(--muted)}.calculator-form .button{align-self:flex-start;min-width:172px}.result{background:#eff7f2;border:1px solid #c8e3d6;border-radius:14px;padding:23px;margin-top:2px;min-height:118px}.result-eyebrow{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.07em}.result-primary{font-size:clamp(22px,3vw,30px);font-weight:900;color:var(--ink);line-height:1.4;letter-spacing:-.04em;margin-top:6px;margin-bottom:11px}.result-primary small{font-size:14px;font-weight:700}.result-notes{border-top:1px solid #d4e6da;padding-top:10px}.result-notes p{font-size:12px;color:#536f67;margin:6px 0;line-height:1.7}.result-notes .quality-label{color:var(--accent);font-weight:900}.result-notes .fine-note{margin-top:14px;font-size:11px;color:#687a73}.result-error{color:#a53d35;font-size:13px;font-weight:700}.side-note{padding:29px 27px;background:#f0f5ef;border-radius:18px;border:1px solid var(--line)}.side-note h2{font-size:20px;line-height:1.5;color:var(--ink);margin-bottom:22px}.side-note h3{font-size:14px;color:var(--ink);margin:20px 0 7px}.side-note p{font-size:12px;color:#5a706c;line-height:1.9}.source-inline{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.source-inline a{color:var(--accent);text-decoration:underline}.related-block{margin-top:78px}
.article-layout{display:grid;grid-template-columns:minmax(0,755px) minmax(230px,1fr);gap:42px;align-items:start}.article-heading{margin-bottom:31px}.article-heading h1{font-size:clamp(28px,3.4vw,40px);color:var(--ink);letter-spacing:-.04em;line-height:1.58;margin:14px 0}.article-lead{font-size:15px;line-height:2.05;color:#506763}.article-date{font-size:11px;color:#82928d}.prose{font-size:15px;line-height:2.15}.prose h2{font-size:23px;color:var(--ink);line-height:1.5;letter-spacing:-.025em;margin:0 0 13px}.prose p{margin:0 0 16px}.prose section{margin-bottom:34px}.article-section{border-bottom:1px solid var(--line);padding:0 0 18px}.takeaway{border-left:4px solid var(--accent);padding:19px 22px;background:#edf5ee;border-radius:0 12px 12px 0;margin-bottom:36px}.takeaway span{font-size:11px;font-weight:900;color:var(--accent)}.takeaway p{font-weight:800;color:var(--ink);font-size:16px;line-height:1.8;margin:3px 0 0}.faq-section details{border:1px solid var(--line);border-radius:10px;background:#fff;padding:14px 18px;margin-bottom:9px}.faq-section summary{cursor:pointer;font-size:14px;font-weight:800;color:var(--ink)}.faq-section details p{font-size:13px;color:var(--muted);margin:11px 0 0}.sources-section{font-size:13px}.sources-section p{font-size:13px;color:var(--muted)}.sources-section ul{padding-left:22px;line-height:2}.sources-section a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.article-aside{position:sticky;top:107px}.aside-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;margin-bottom:18px}.aside-box h3{font-size:17px;line-height:1.5;color:var(--ink);margin:4px 0 10px}.aside-box p{color:var(--muted);font-size:12px;line-height:1.85}.aside-box .button{white-space:normal;font-size:12px;width:100%}.aside-box.flat{background:#f0f5ef}
.info-shell{max-width:910px}.info-prose{background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 44px}.info-prose section+section{border-top:1px solid var(--line);padding-top:30px}.info-prose p{color:#526b66}.info-prose a{color:var(--accent);text-decoration:underline}.not-found{padding-top:100px;padding-bottom:130px}.not-found h1{font-size:38px;color:var(--ink)}.not-found p{color:var(--muted)}
.site-footer{background:#143535;color:#e7f0eb;padding:52px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-bottom:38px}.footer-logo{font-size:20px;font-weight:900;letter-spacing:.04em}.footer-top p{color:#b7cbc4;font-size:12px;margin:8px 0 0}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 22px;max-width:600px}.footer-links a{color:#d7e7e1;font-size:12px;font-weight:700}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #34605c;padding-top:20px;font-size:10px;gap:20px;color:#a6bfba}
@media(max-width:980px){.hero-grid{gap:25px}.hero h1{font-size:43px}.tool-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{gap:24px}.nav{gap:14px}} 
@media(max-width:720px){.container{padding:0 18px}.header-inner{height:auto;min-height:68px;flex-wrap:wrap;padding-top:12px;padding-bottom:10px;gap:13px}.brand-mark{width:36px;height:36px;font-size:18px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:9px}.nav{width:100%;overflow:auto;gap:19px;padding-bottom:3px}.nav a{font-size:11px}.hero-grid{grid-template-columns:1fr;gap:26px;padding-top:46px;padding-bottom:46px}.hero h1{font-size:clamp(32px,8.3vw,45px)}.hero-lead{font-size:13px}.hero-visual{min-height:250px}.visual-grid{height:258px}.visual-paper{width:154px;height:203px;padding:12px}.float-ppi{top:22px;right:16px}.float-size{bottom:22px;left:12px}.float-pill strong{font-size:17px}.float-pill{padding:9px 12px}.page-section{padding:58px 0}.section-heading h2{font-size:27px}.tool-grid,.guide-grid{grid-template-columns:1fr}.tool-card{min-height:0;flex-direction:row;gap:15px;padding:19px}.tool-icon{flex:0 0 42px;width:42px;height:42px}.tool-card p,.guide-card p{margin-bottom:12px}.guide-card{min-height:0}.method-grid{grid-template-columns:1fr;gap:19px}.method-grid h2{font-size:30px}.narrow-top{padding-top:25px;padding-bottom:60px}.page-heading h1{font-size:31px}.page-heading p{font-size:13px}.tool-layout,.article-layout{grid-template-columns:1fr}.calculator-panel{padding:21px}.fields{grid-template-columns:1fr 1fr;gap:12px}.side-note{padding:23px}.related-block{margin-top:53px}.article-aside{position:static}.article-heading h1{font-size:29px}.prose{font-size:14px;line-height:2.1}.prose h2{font-size:21px}.info-prose{padding:25px 22px}.footer-top,.footer-bottom{flex-direction:column}.footer-links{justify-content:flex-start}.footer-top{gap:22px}.footer-bottom{gap:4px}} 
@media(max-width:390px){.fields{grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-points{gap:10px}.brand-copy strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Editorial comparison tables keep calculated values usable on phones. */
.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #dce5e0;border-radius:14px;margin:18px 0 8px}
.data-table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:420px;line-height:1.55}
.data-table th{background:#eaf2eb;color:#25463d;text-align:left;font-size:.82rem;font-weight:750}
.data-table td,.data-table th{padding:13px 15px;border-bottom:1px solid #e1e9e4;white-space:nowrap}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:nth-child(even){background:#f9fbf8}
.prose p.table-note{font-size:.82rem;color:#667870;margin:10px 0 0}
@media (max-width:560px){.data-table td,.data-table th{padding:12px 11px;font-size:.83rem}}
.article-layout>.prose,.article-layout>.article-aside{min-width:0}
.table-scroll{width:100%;box-sizing:border-box}
@media (max-width:720px){.article-layout{grid-template-columns:minmax(0,1fr)}}

/* Reader checklists: steps are part of the article and should remain readable on mobile. */
.article-step-list { padding-left: 1.4rem; margin: 1rem 0 1.3rem; }
.article-step-list li { padding-left: .35rem; margin-bottom: .85rem; line-height: 1.8; }
.article-step-list li::marker { font-weight: 800; color: #376c64; }
