@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display&display=swap');
:root{--green:#246b53;--deep:#183e32;--ink:#263c32;--muted:#697a70;--line:#dfe7dd;--cream:#fbfaf5;--soft:#edf2eb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input{font:inherit}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:-.7px}h1{font-size:clamp(44px,5vw,78px)}h2{font-size:clamp(34px,3.3vw,51px)}.wrap{max-width:1180px;padding:0 28px;margin:auto}.topline{height:5px;background:linear-gradient(90deg,#236e55,#aec9ad,#e1b07c)}.site-header{position:sticky;top:0;background:#fbfaf5f5;z-index:99;border-bottom:1px solid #e4e8e0;backdrop-filter:blur(14px)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:11px;align-items:center;font-size:17px;font-weight:800;line-height:1.1}.brand img{width:43px;height:43px}.brand small{font-size:10px;letter-spacing:2px;color:#87928a;text-transform:uppercase}.navlinks{display:flex;gap:25px;align-items:center;font-size:13px;font-weight:750}.navlinks a:hover{color:var(--green)}.btn{background:var(--green);color:white;border-radius:11px;padding:13px 20px;display:inline-flex;gap:8px;align-items:center;font-weight:750;font-size:14px}.btn:hover{background:#17533e}.btn-light{background:#f6eedb;color:#1d4b38}.btn-ghost{background:transparent;border:1px solid #b7c9b9;color:var(--green)}.menu{display:none;border:0;background:none;font-size:26px}.hero{padding:72px 0 80px;background:radial-gradient(circle at 80% 25%,#eaf0e6,var(--cream) 58%)}.hero-grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:60px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:800;color:var(--green)}.hero h1{margin:22px 0}.hero h1 em{color:var(--green);font-weight:400}.lead{color:var(--muted);line-height:1.82;max-width:560px}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:25px}.hero-image{width:100%;height:525px;object-fit:cover;border-radius:240px 240px 22px 22px;box-shadow:0 25px 65px #153d3020}.photo-shell{position:relative}.photo-label{position:absolute;left:22px;bottom:22px;border-radius:15px;background:#fffffff0;padding:14px 19px;font-size:13px;color:#29543f;box-shadow:0 8px 25px #0002}.section{padding:82px 0}.section-white{background:white}.section-muted{background:#f2f5ee}.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:30px}.section-head h2{margin:10px 0}.section-head p{max-width:590px;color:var(--muted)}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.method-pic{height:440px;width:100%;object-fit:cover;border-radius:23px}.steps{display:grid;gap:14px}.step{border:1px solid var(--line);padding:19px;border-radius:14px;display:flex;gap:15px;align-items:start;background:#f8faf6}.step-num{background:#dceadf;color:var(--green);border-radius:50%;height:42px;min-width:42px;display:grid;place-items:center;font-weight:800}.step h3{font:700 16px 'DM Sans',sans-serif;margin:0}.step p{font-size:13px;color:var(--muted);margin:3px 0 0}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.topic-card{background:white;border-radius:18px;overflow:hidden;border:1px solid var(--line);transition:.2s}.topic-card:hover,.article-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #123c2714}.topic-card img{height:214px;width:100%;object-fit:cover}.topic-card .pad{padding:23px}.topic-card h3{font-size:29px;margin:0 0 8px}.topic-card p{margin:0 0 12px;color:var(--muted);font-size:13px}.text-link{color:var(--green);font-weight:800;font-size:13px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 30px}.filter{border-radius:50px;border:1px solid var(--line);padding:9px 15px;background:white;font-size:12px;font-weight:750;cursor:pointer}.filter.active{background:var(--green);border-color:var(--green);color:white}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.article-card{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:white;transition:.2s}.article-card img{height:183px;width:100%;object-fit:cover}.article-card .pad{padding:21px}.cat-label{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;color:var(--green)}.article-card h3{font-size:23px;margin:10px 0 12px}.article-card .date{font-size:12px;color:#7e8b80}.searchbar{width:min(450px,100%);padding:12px 16px;border-radius:10px;border:1px solid #d6e2d8;background:white;color:var(--ink)}.appsection{background:#194a3b;color:white;overflow:hidden}.app-grid{display:grid;grid-template-columns:1fr .75fr;align-items:center;gap:90px}.appsection .lead{color:#c8dccf}.appsection .eyebrow{color:#b9d6bd}.phone{height:425px;width:245px;border:8px solid #122d27;border-radius:37px;background:#f9fbf7;margin:0 auto;box-shadow:22px 23px 0 #2a654e,0 40px 65px #08251c88;position:relative;padding:24px 17px;color:#274a39;transform:rotate(7deg)}.speaker{height:7px;width:65px;background:#223a31;border-radius:10px;position:absolute;top:10px;left:calc(50% - 32px)}.phone h3{font:800 18px 'DM Sans',sans-serif;margin:22px 0 6px}.phone p{font-size:10px;color:#697d6e}.ring{height:160px;width:160px;border-radius:50%;border:15px solid #e3efe6;border-top-color:#2d7a55;border-right-color:#2d7a55;display:grid;place-items:center;margin:21px auto 15px;text-align:center;transform:rotate(-35deg)}.ring span{transform:rotate(35deg);font-size:24px;font-weight:850}.ring small{font-size:10px;font-weight:500;color:#78877c}.phonebtn{background:#287658;color:white;font-size:11px;text-align:center;border-radius:10px;padding:12px}.footer{background:#173e32;color:#c2d6cb;padding:45px 0;font-size:13px}.footer a{color:#f4ead2}.footer-flex{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.article-hero{background:#edf2e9;padding:57px 0}.article-hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:52px;align-items:center}.article-hero h1{font-size:clamp(38px,4.1vw,63px);margin:14px 0 20px}.article-hero img{width:100%;height:345px;border-radius:22px;object-fit:cover}.crumb{font-size:12px;color:#688174}.article-meta{font-size:12px;color:#718376}.article-meta span{margin-right:14px}.article-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:62px;padding-top:62px;padding-bottom:90px}.toc{position:sticky;top:116px;align-self:start}.toc .cat-label{margin-bottom:18px}.toc a{display:block;font-size:12px;color:#718075;border-left:2px solid #d8e4d9;padding:8px 10px 8px 13px}.toc a:hover{color:var(--green);border-color:var(--green)}.article-body{font-size:16px;line-height:1.85;min-width:0}.article-body h2{font-size:32px;margin:36px 0 15px;scroll-margin-top:100px}.article-body h3{font-size:25px;margin:30px 0 12px;scroll-margin-top:100px}.article-body p{margin:0 0 20px}.article-body a{color:var(--green);text-decoration:underline}.article-body li{margin:4px 0}.article-body img{border-radius:13px;max-height:560px;object-fit:contain}.article-body blockquote{border-left:4px solid #aec5ad;margin:24px 0;padding:12px 22px;background:#f0f5ed}.article-body table{display:block;overflow:auto;width:100%}.module-slot{margin:38px 0}.share-module{border:1px solid var(--line);padding:25px;border-radius:18px;background:white}.share-module h3{font-size:26px;margin:0 0 8px}.share-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.share-actions a,.share-actions button{border:1px solid #d7e4d9;background:#eef4ee;border-radius:50px;padding:10px 14px;font-size:12px;font-weight:800;color:#245b45;cursor:pointer}.share-note{font-size:12px;color:var(--muted);margin-top:12px}.niko-module{background:#184e3c;color:white;border-radius:17px;padding:27px;display:flex;justify-content:space-between;align-items:center;gap:20px}.niko-module h3{font-size:26px;margin:0 0 8px}.niko-module p{font-size:13px;color:#d7e5d9;margin:0}.niko-module .btn{background:#f3ebd2;color:#205440;white-space:nowrap}.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.related-grid a{background:white;border:1px solid var(--line);border-radius:12px;padding:19px}.related-grid b{display:block;font:normal 21px 'DM Serif Display',serif;line-height:1.2;margin-top:7px}.all-articles-header{padding:65px 0 20px}.all-articles-header h1{font-size:56px}.disclaimer{font-size:11px;color:#97a49a;margin-top:20px}@media(max-width:890px){.hero-grid,.method-grid,.app-grid,.article-hero-grid{grid-template-columns:1fr}.hero-image{height:400px}.article-layout{grid-template-columns:1fr}.toc{position:static;display:none}.topic-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;padding:24px;background:var(--cream);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.menu{display:block}}@media(max-width:570px){.wrap{padding:0 20px}.hero{padding:46px 0}.hero-image{height:335px}.topic-grid,.article-grid,.related-grid{grid-template-columns:1fr}.section{padding:58px 0}.article-hero img{height:240px}.article-layout{padding-top:25px}.app-grid{gap:35px}.niko-module{display:block}.niko-module .btn{margin-top:16px}.footer-flex{display:block}}

/* Accessible button hover states: explicit foreground/background for every variant. */
.btn, .navlinks a.btn {color:#fff;}
.btn:hover, .btn:focus-visible, .navlinks a.btn:hover, .navlinks a.btn:focus-visible {background:#174a39;color:#fff;text-decoration:none;}
.btn-ghost {background:transparent;color:#246b53;border:1px solid #b7c9b9;}
.btn-ghost:hover, .btn-ghost:focus-visible {background:#205a45;color:#fff;border-color:#205a45;}
.btn-light {background:#f6eedb;color:#1d4b38;}
.btn-light:hover, .btn-light:focus-visible {background:#fff;color:#164533;}
.btn:focus-visible {outline:3px solid #e0bd77;outline-offset:3px;}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:13px 0;}
.footer-links a{text-decoration:underline;text-underline-offset:3px;}
.footer-company{margin-top:8px;color:#d7e4d9;font-size:12px;}
.legal-main{max-width:830px;margin:0 auto;padding:54px 26px 90px;line-height:1.75;}
.legal-main h1{font-size:clamp(35px,4vw,54px);margin:0 0 12px;}
.legal-main h2{font-size:27px;margin:30px 0 10px;}
.legal-main p,.legal-main li{color:#4c6055;}
.legal-main a{color:#206e50;text-decoration:underline;}
.legal-notice{background:#fff6e8;border-left:4px solid #bb8d49;padding:15px 19px;border-radius:5px;color:#5d4a30;}

/* Consent preferences: shared across static pages */
.jwm-consent-panel{position:fixed;z-index:9999;bottom:18px;left:18px;right:18px;max-width:850px;margin:0 auto;background:#fff;color:#243e31;border:1px solid #cfdbce;box-shadow:0 12px 45px #112e2360;border-radius:16px;padding:20px 23px;display:flex;align-items:center;gap:22px;justify-content:space-between;font-family:inherit}
.jwm-consent-panel strong{font-size:16px}
.jwm-consent-panel p{font-size:13px;line-height:1.55;margin:5px 0 0}
.jwm-consent-panel a{text-decoration:underline;color:#175b46}
.jwm-consent-actions{display:flex;gap:9px;flex-shrink:0}
.jwm-consent-actions button{background:#f1f5ef;color:#164f3b;border:1px solid #c9d9cb;border-radius:9px;padding:11px 13px;cursor:pointer;font-weight:700;font-size:13px}
.jwm-consent-actions button:last-child{background:#1c6048;color:#fff;border-color:#1c6048}
.jwm-consent-actions button:hover{filter:brightness(.9)}
@media(max-width:650px){.jwm-consent-panel{flex-direction:column;align-items:stretch;gap:12px;bottom:8px;left:8px;right:8px}.jwm-consent-actions button{flex:1}}

/* Final approved Japanese Walking Method brand header and icon styling */
.site-header .brand{display:inline-flex;align-items:center;min-width:0;gap:0;line-height:1}
.site-header .brand .brand-wordmark{width:clamp(176px,18vw,238px);height:auto;max-height:64px;object-fit:contain;object-position:left center;display:block}
@media(max-width:570px){.site-header .brand .brand-wordmark{width:176px;max-height:56px}}
