/* Tool no Niwa — clean static portal / v1 */
:root{--green:#367e50;--green-deep:#24583a;--mint:#eaf5e9;--mint-light:#f6faf4;--sage:#83ac85;--cream:#fcfdf9;--ink:#273b2d;--muted:#637369;--line:#e3ebe1;--paper:#fff;--shadow:0 14px 35px rgba(47,92,54,.07);--radius:22px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,select{color:inherit}img{max-width:100%}svg{display:block}::selection{background:#dceedd;color:#244b31}
:focus-visible{outline:3px solid #9bcc9c;outline-offset:3px}
.container{max-width:1160px;width:calc(100% - 64px);margin-inline:auto}.narrow{max-width:790px}.muted{color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:200;left:12px;top:-70px;background:#fff;padding:8px 18px;border-radius:14px;box-shadow:var(--shadow)}.skip-link:focus{top:12px}
/* Header */
.site-header{height:88px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;backdrop-filter:blur(16px)}
.header-inner{height:100%;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-emblem{width:43px;height:43px;border-radius:15px;background:#dbedda;display:grid;place-items:center}.brand-emblem svg{width:29px;height:29px}.brand-text strong{font-size:21px;letter-spacing:-.05em;line-height:1.15;display:block;color:#28593b}.brand-text small{display:block;font-size:10px;color:#839586;letter-spacing:.17em;margin-top:4px;line-height:1.4}
.desktop-nav{display:flex;align-items:center;gap:29px;margin-left:auto}.desktop-nav a{color:#4e6253;font-size:13px;font-weight:700;white-space:nowrap;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--green)}
.header-actions{display:flex;align-items:center;gap:9px}.favorite-nav{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;border:1px solid #dce7dc;border-radius:999px;padding:10px 15px;background:#fff;white-space:nowrap}.favorite-nav:hover{background:#f2f8f1}.heart-inline{font-size:17px;color:#6e9a76;line-height:1}.menu-toggle{display:none;width:43px;height:43px;background:#f1f8f0;border:1px solid var(--line);border-radius:13px;font-size:22px;line-height:1;align-items:center;justify-content:center}
.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:14px 22px 22px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(36,78,43,.09)}.mobile-menu a{display:block;padding:13px 8px;border-bottom:1px solid #eff4ed;font-weight:700;font-size:14px}
/* Hero */
.hero{position:relative;background:linear-gradient(120deg,#f5faf1 0%,#eff7ec 58%,#e8f3e5 100%);overflow:hidden;border-bottom:1px solid #e1eddd}.hero::before{content:"";position:absolute;width:510px;height:510px;border-radius:50%;right:-180px;top:-225px;background:rgba(204,230,196,.42)}.hero::after{content:"";position:absolute;width:420px;height:280px;border-radius:50%;left:-230px;bottom:-210px;background:rgba(207,231,196,.3)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:45px;align-items:center;min-height:560px;padding:66px 0 70px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid #cae2c7;border-radius:999px;color:#54875b;background:#fbfffa;font-size:12px;font-weight:750;padding:5px 14px}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#80b587}.hero h1{font-size:clamp(37px,4.4vw,58px);line-height:1.53;font-weight:800;letter-spacing:-.065em;color:#294b34;margin:18px 0 15px}.hero h1 em{font-style:normal;color:var(--green);position:relative;white-space:nowrap}.hero h1 em::after{content:"";height:10px;background:#cee7c9;position:absolute;left:0;right:0;bottom:2px;z-index:-1;border-radius:80%}.hero-text{max-width:510px;color:#5c6f5e;margin:0 0 25px;font-size:15px;line-height:2.05}.hero-benefits{display:flex;gap:15px;flex-wrap:wrap;color:#507354;font-size:12px;font-weight:700;margin-bottom:25px}.hero-benefits span::before{content:"✓";background:#d7ebd3;border-radius:50%;padding:2px 5px;margin-right:7px;color:#44814e}
.search-form{background:white;display:flex;align-items:center;padding:7px;border:1px solid #cfe0cb;border-radius:16px;width:min(100%,560px);box-shadow:0 16px 28px rgba(63,117,66,.09)}.search-icon{margin-left:13px;color:#8aa18b;display:grid;place-items:center}.search-icon svg{width:20px;height:20px}.search-form input{flex:1;min-width:0;height:45px;background:none;border:none;outline:none;padding:0 13px;font-size:14px;color:var(--ink)}.search-form input::placeholder{color:#899b8b}.search-form button{border:none;background:var(--green);color:#fff;border-radius:11px;font-size:13px;font-weight:800;padding:0 22px;height:46px;transition:.2s;white-space:nowrap}.search-form button:hover,.btn-primary:hover{background:var(--green-deep)}.search-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;color:#7c917e;font-size:11px}.search-tags button{font-size:11px;border:1px solid #d8e7d4;border-radius:999px;background:#fff;padding:4px 12px;color:#52775a}.search-tags button:hover{background:#eef7eb}
.hero-illustration{position:relative;max-width:500px;margin:0 auto}.hero-illustration img{display:block;width:100%;filter:drop-shadow(0 20px 25px rgba(76,117,67,.08))}.float-label{position:absolute;display:flex;align-items:center;gap:9px;border:1px solid #e6ece1;border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 15px 28px rgba(57,99,55,.09);color:#3a6442;padding:10px 16px;font-size:12px;font-weight:800}.float-label i{font-style:normal;font-size:18px}.float-one{right:-4px;top:15%}.float-two{left:2%;bottom:13%}
/* Sections */
.section{padding:83px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.13em;color:#7da284;margin-bottom:6px}.section-head h2,.page-head h1{font-size:clamp(25px,3vw,34px);color:#2b4a33;letter-spacing:-.05em;line-height:1.5;margin:0}.section-head p{margin:6px 0 0;color:#6b7f70;font-size:13px}.section-link{color:var(--green);font-size:13px;font-weight:800;white-space:nowrap;border-bottom:1px solid #b5d6b3;padding-bottom:3px}
.category-section{background:#fff}.category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.category-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:24px 18px;display:flex;flex-direction:column;align-items:flex-start;min-height:195px;position:relative;transition:.22s;box-shadow:0 6px 16px rgba(45,92,47,.025)}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#b8d6b6}.category-emoji{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;font-size:27px;margin-bottom:19px;background:#f0f6ed}.category-card[data-cat="calc"] .category-emoji{background:#f6f4e5}.category-card[data-cat="date"] .category-emoji{background:#f5eefa}.category-card[data-cat="image"] .category-emoji{background:#fbeee9}.category-card[data-cat="dev"] .category-emoji{background:#eaf1f7}.category-card strong{font-size:16px;color:#314b38;letter-spacing:-.02em}.category-card p{margin:3px 0 0;font-size:11px;color:#7c8d7e;line-height:1.7}.category-card .arrow{position:absolute;right:17px;bottom:16px;color:#93b198;font-size:20px}
.tools-section{background:#f8fbf7}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}.filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.filter{white-space:nowrap;border:1px solid #d9e7d8;border-radius:999px;padding:8px 16px;background:#fff;font-size:12px;color:#637867;font-weight:800;transition:.2s}.filter:hover{background:#edf7ec}.filter[aria-pressed="true"]{background:#e0f0df;border-color:#a9cdaa;color:#2e6a40}.results-count{font-size:12px;font-weight:700;color:#7b8f7c;white-space:nowrap}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.tool-card{position:relative;background:#fff;border-radius:20px;border:1px solid var(--line);transition:.2s;overflow:hidden;min-height:154px}.tool-card:hover{border-color:#bbd7ba;box-shadow:var(--shadow);transform:translateY(-3px)}.tool-main{display:flex;gap:14px;padding:24px 18px;min-height:100%;align-items:flex-start}.tool-bubble{width:48px;height:48px;border-radius:14px;flex:0 0 48px;background:#eef6ec;display:grid;place-items:center;font-size:22px}.tool-card[data-cat="calc"] .tool-bubble{background:#f7f4e6}.tool-card[data-cat="date"] .tool-bubble{background:#f5edf8}.tool-card[data-cat="image"] .tool-bubble{background:#fcefea}.tool-card[data-cat="dev"] .tool-bubble{background:#eaf2f7}.tool-card-text{min-width:0;flex:1}.tool-card-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}.tool-category{font-size:10px;font-weight:800;color:#7b917e}.tool-status{font-size:10px;border-radius:999px;padding:2px 8px;background:#f1f3f0;color:#829086;font-weight:800}.tool-status.live{background:#e2f2dd;color:#4d8356}.tool-card strong{font-size:16px;line-height:1.55;color:#304936;display:block;padding-right:20px}.tool-card p{font-size:12px;color:#768779;margin:6px 0 0;line-height:1.9}.fav-button{position:absolute;right:13px;top:15px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #e2ece0;border-radius:50%;background:#fff;color:#adc1af;font-size:18px;line-height:1;transition:.2s}.fav-button:hover,.fav-button[aria-pressed="true"]{color:#dd7779;background:#fff5f5;border-color:#f4d0d0}.empty{border:1px dashed #bdd7ba;border-radius:22px;text-align:center;padding:45px 20px;color:#697c6d;background:white}.empty strong{font-size:17px;display:block;color:#3a5740}.empty p{font-size:13px;margin:8px 0 15px}
.benefits-section{background:#fff}.benefit-panel{border-radius:29px;background:linear-gradient(120deg,#e8f3e5,#f4f9f1);padding:40px;display:grid;grid-template-columns:1fr 1.05fr;gap:35px;align-items:center}.benefit-panel h2{font-size:clamp(26px,3vw,34px);line-height:1.5;color:#2c5136;letter-spacing:-.04em;margin:5px 0 14px}.benefit-panel p{color:#627c66;font-size:14px;margin:0}.benefit-items{display:grid;grid-template-columns:1fr;gap:11px}.benefit-item{background:#fff;border:1px solid #e2eee0;border-radius:16px;padding:15px 17px;display:flex;gap:15px;align-items:center}.benefit-item span{font-size:24px}.benefit-item strong{font-size:14px;display:block;color:#34583c}.benefit-item small{font-size:12px;color:#819184;display:block}
.garden-banner{padding:65px 0}.garden-banner-inner{background:#377e51;color:#fff;border-radius:27px;padding:36px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.garden-banner-inner::after{content:"✿";position:absolute;right:31%;top:-70px;font-size:190px;color:#ffffff13;pointer-events:none}.garden-banner h2{font-size:clamp(24px,3vw,32px);margin:0;line-height:1.48}.garden-banner p{margin:7px 0 0;font-size:13px;color:#e4f1e4}.banner-link{display:inline-block;position:relative;z-index:2;border-radius:999px;background:#fff;color:#2b7848;font-weight:850;padding:12px 21px;font-size:13px;white-space:nowrap}
/* Footer */
.site-footer{background:#f5f8f2;border-top:1px solid #e3eadf}.footer-inner{display:flex;justify-content:space-between;gap:30px;padding:47px 0 38px}.footer-brand p{margin:13px 0 0;font-size:13px;color:#738473}.footer-links{display:flex;gap:80px}.footer-links strong{font-size:13px;color:#405b45;display:block;margin-bottom:11px}.footer-links a{display:block;color:#758576;font-size:12px;padding:3px 0}.footer-links a:hover{color:var(--green)}.copyright{border-top:1px solid #e1e8df;padding:16px 0 25px;font-size:11px;color:#90a190}
.back-top{position:fixed;right:22px;bottom:22px;width:43px;height:43px;border-radius:50%;border:1px solid #d8e6d7;background:#fff;color:var(--green);box-shadow:var(--shadow);font-size:22px;z-index:20}
/* Inner pages */
.page-hero{padding:52px 0 53px;background:linear-gradient(120deg,#f1f8ee,#eaf4e7);border-bottom:1px solid #e0eddf}.crumbs{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#819184;font-size:12px;margin-bottom:23px}.crumbs a:hover{color:var(--green)}.page-head{display:flex;gap:18px;align-items:flex-start}.page-head .category-emoji{margin:0;flex:none;width:67px;height:67px}.page-head p{margin:9px 0 0;color:#6a806c;max-width:700px;font-size:14px}.category-overview{padding-top:65px;padding-bottom:85px}.category-overview .tool-grid{margin-top:26px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px;padding:58px 0 90px}.detail-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 10px 24px rgba(63,104,61,.035)}.detail-box+.detail-box{margin-top:18px}.detail-box h2{font-size:21px;color:#2c5134;margin:0 0 14px;letter-spacing:-.03em}.detail-box p{font-size:14px;color:#667968;margin:0 0 14px}.detail-box p:last-child{margin-bottom:0}.detail-box ol{margin:12px 0 0;padding-left:22px;color:#59705d;font-size:14px}.detail-box li{margin-bottom:10px}.detail-box li:last-child{margin-bottom:0}.detail-box ul{margin:10px 0;padding-left:18px}.detail-panel{background:#f6faf5;border:1px solid #dfeade;border-radius:16px;padding:25px 22px}.detail-panel h2{font-size:22px;margin:9px 0}.detail-panel p{color:#6a806d;font-size:14px}.btn-primary{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;background:var(--green);padding:11px 19px;color:#fff;font-weight:800;font-size:13px}.btn-muted{display:inline-flex;gap:9px;align-items:center;padding:11px 15px;border-radius:12px;background:#e9f0e6;color:#66806a;font-size:13px;font-weight:800}.aside{align-self:start}.aside h3{font-size:15px;margin:0 0 12px}.aside a{display:block;border-radius:10px;padding:8px 10px;margin-left:-10px;color:#56715a;font-size:13px}.aside a:hover{background:#f1f8ee}.plain-content{padding:58px 0 88px}.plain-content h2{color:#2b5138;font-size:21px;margin:24px 0 8px}.plain-content h2:first-child{margin-top:0}.plain-content p{font-size:14px;color:#627966;margin:0 0 18px}.notice{background:#fff5e5;border:1px solid #f4e4c2;border-radius:13px;padding:14px 17px;color:#77683b;margin:16px 0 22px;font-size:13px}
@media(max-width:1050px){.desktop-nav{gap:17px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{gap:16px}.hero h1{font-size:clamp(34px,4vw,45px)}}
@media(max-width:780px){.container{width:calc(100% - 36px)}.desktop-nav,.favorite-nav{display:none}.menu-toggle{display:flex}.header-inner{justify-content:space-between}.site-header{height:76px}.hero-inner{grid-template-columns:1fr;min-height:auto;padding:45px 0 58px}.hero h1{font-size:clamp(35px,7vw,44px);line-height:1.48}.hero-illustration{max-width:400px;width:100%;margin-top:18px}.section{padding:67px 0}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-panel,.detail-layout{grid-template-columns:1fr}.detail-layout{padding:42px 0 75px}.benefit-panel{padding:28px;gap:22px}.footer-inner{flex-direction:column}.footer-links{gap:60px}}
@media(max-width:540px){.container{width:calc(100% - 30px)}.brand-text strong{font-size:19px}.brand-emblem{width:40px;height:40px}.hero-inner{padding:35px 0 47px}.hero h1{font-size:34px;line-height:1.52}.hero-text{font-size:14px}.hero-benefits{gap:7px 15px}.search-form input{font-size:13px;padding:0 9px}.search-form button{padding:0 17px}.hero-illustration{max-width:330px}.float-label{padding:7px 10px;font-size:10px;gap:6px}.float-label i{font-size:15px}.float-one{right:0}.float-two{left:0}.section{padding:56px 0}.section-head h2{font-size:26px}.section-head{align-items:flex-start}.category-grid{gap:11px}.category-card{min-height:161px;padding:17px 15px;border-radius:16px}.category-emoji{width:46px;height:46px;border-radius:13px;font-size:22px;margin-bottom:13px}.category-card strong{font-size:14px}.category-card p{font-size:10px}.tool-grid{grid-template-columns:1fr;gap:11px}.tool-card{min-height:auto}.tool-main{padding:18px 15px;gap:12px}.tool-card strong{font-size:16px}.tool-card p{font-size:12px}.benefit-panel{padding:22px;border-radius:19px}.benefit-panel h2{font-size:25px}.garden-banner{padding:20px 0 60px}.garden-banner-inner{padding:26px 23px;flex-direction:column;align-items:flex-start;gap:21px;border-radius:20px}.garden-banner h2{font-size:26px}.footer-links{gap:40px}.page-hero{padding:32px 0 37px}.page-head{gap:12px}.page-head .category-emoji{height:52px;width:52px}.page-head h1{font-size:26px}.detail-box{padding:22px}.category-overview{padding-top:42px;padding-bottom:63px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}



/* Tool no Niwa / 暮らしのウェブサイトを参考にしたリデザイン */
:root{--green:#3b7d53;--green-deep:#265d3b;--ink:#304738;--muted:#667669;--line:#dfebdf;--cream:#fffefa}
body{background:#fffefa;color:var(--ink);font-size:15px;line-height:1.82}
.container{max-width:1140px}
.site-header{background:rgba(255,254,249,.97);border-bottom:1px solid #e7ede5;height:94px}
.header-inner{gap:26px}
.brand-emblem{border-radius:100%;background:#e5f2e3;width:48px;height:48px}
.brand-emblem svg{width:30px;height:30px}
.brand-text strong{font-size:22px;letter-spacing:-.045em;color:#2d6140}
.brand-text small{letter-spacing:.06em;color:#7c9b7f}
.desktop-nav{gap:30px}.desktop-nav a{font-size:13px;letter-spacing:.015em}
.favorite-nav{background:#fff;border-radius:999px;box-shadow:none}
.section{padding:90px 0}
/* Main visual */
.tn-hero{position:relative;background:linear-gradient(116deg,#f5f8ef 0%,#ecf5e7 58%,#e1f0db 100%);overflow:hidden}
.tn-hero:before{position:absolute;content:"";width:640px;height:640px;right:-205px;top:-220px;border-radius:50%;background:rgba(176,211,159,.16)}
.tn-hero:after{position:absolute;content:"";left:-90px;bottom:80px;width:260px;height:270px;border-radius:48% 52% 49% 51%;background:rgba(191,223,179,.14);transform:rotate(-22deg)}
.tn-hero-backdrop{position:absolute;inset:0;background-image:radial-gradient(#88b48924 1px,transparent 1px);background-size:31px 31px;mask-image:linear-gradient(90deg,transparent 46%,#000 100%);pointer-events:none}
.tn-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:625px;padding:72px 0 105px;position:relative;z-index:2}
.tn-hero-copy{position:relative;z-index:3}
.tn-hero-brow{font-size:13px;font-weight:750;letter-spacing:.06em;color:#649169;display:inline-flex;align-items:center;gap:10px}
.tn-brow-flower{font-size:23px;color:#81af78;font-weight:400;line-height:1}
.tn-hero h1{font-size:clamp(37px,3.6vw,50px);color:#2d5b3d;line-height:1.48;letter-spacing:-.055em;font-weight:800;margin:19px 0 23px}
.tn-hero h1 span{position:relative;white-space:nowrap}.tn-hero h1 .tn-title-line:after{display:none}
.tn-hero h1 span:after{position:absolute;left:0;right:0;bottom:-1px;height:9px;content:"";background:#cce5c1;border-radius:90%;z-index:-1}
.tn-lead{font-size:16px;line-height:2.25;color:#5c7260;margin:0 0 31px;font-weight:530;letter-spacing:.025em}
.tn-search{width:min(100%,535px);border-radius:999px;padding:7px;box-shadow:0 13px 27px rgba(43,99,47,.09);border-color:#caddc6}
.tn-search .search-icon{margin-left:16px}
.tn-search input{height:46px;padding:0 13px}
.tn-search button{height:46px;border-radius:999px;padding:0 25px;display:flex;gap:12px;align-items:center;white-space:nowrap;background:#3e8154}
.tn-search button:hover{background:#2c6b40}
.search-tags{font-size:12px;margin-top:17px;gap:10px;color:#819783}
.search-tags button{border:0;background:none;color:#497b52;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:3px 6px}
.search-tags button:hover{background:transparent;color:#285d3b}
.tn-hero-visual{position:relative;width:min(100%,515px);margin-inline:auto;align-self:center;display:flex;align-items:center;justify-content:center}
.tn-visual-halo{position:absolute;width:95%;aspect-ratio:1;border-radius:50%;background:#dbead0;opacity:.62;filter:blur(1px)}
.tn-hero-visual img{width:min(100%,540px);height:auto;position:relative;z-index:2;filter:drop-shadow(0 14px 16px rgba(59,93,58,.05))}
.tn-visual-spark{position:absolute;color:#88b787;font-size:31px;z-index:3}.tn-visual-spark.one{right:2%;top:12%}.tn-visual-spark.two{left:3%;bottom:20%;font-size:19px}
.tn-hero-bottom{position:absolute;bottom:-1px;width:100%;height:90px;z-index:2}.tn-hero-bottom svg{width:100%;height:100%;display:block}
/* Popular links, no cards */
.tn-picks{background:#fffefa;padding:12px 0 70px}
.tn-picks-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d9e6d8;padding-bottom:27px}
.tn-picks-title{font-size:13px;font-weight:800;display:flex;align-items:center;gap:11px;color:#567961;white-space:nowrap}
.tn-small-leaf{font-size:23px;color:#81ae81;font-weight:400}
.tn-picks-links{display:flex;gap:36px;align-items:center;flex-wrap:wrap}
.tn-picks-links a{display:inline-flex;align-items:center;gap:14px;font-size:14px;font-weight:720;color:#3f6249;white-space:nowrap}
.tn-picks-links a span{color:#91ad93;font-size:18px}.tn-picks-links a:hover{color:#2d8a49}
/* Category list: soft icon illustrations and hairline dividers */
.tn-categories{padding:70px 0 115px;background:#fffefa}
.tn-heading-row{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:46px}
.tn-section-label{color:#6c9c75;font-weight:800;letter-spacing:.055em;font-size:13px;display:flex;align-items:center;gap:7px}
.tn-sprig{font-size:20px;line-height:1;font-weight:400;color:#95bd8b}
.tn-heading-row h2,.tn-about-copy h2{font-size:clamp(31px,3.45vw,46px);line-height:1.48;color:#31563d;letter-spacing:-.055em;margin:10px 0 0;font-weight:780}
.tn-heading-row p{font-size:14px;color:#768676;margin:10px 0 0}
.tn-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:70px;border-top:1px solid #d8e5d8}
.tn-category-item{position:relative;min-height:157px;border-bottom:1px solid #d8e5d8;display:flex;align-items:center;gap:26px;padding:23px 15px 23px 0;transition:background .2s}
.tn-category-item:hover{background:#f7fbf5}
.tn-category-art{width:105px;height:105px;border-radius:50%;flex:0 0 105px;display:grid;place-items:center;background:#e4f1e0;transition:transform .25s}
.tn-category-art svg{width:85px;height:85px}.tn-category-item:hover .tn-category-art{transform:rotate(-6deg)}
.tn-art-text{background:#e6f2e4}.tn-art-calc{background:#faeddc}.tn-art-date{background:#e4efe9}.tn-art-image{background:#f4ebdf}.tn-art-dev{background:#e9f0e8}
.tn-category-text{min-width:0;display:flex;flex-direction:column;gap:4px}
.tn-category-number{font-size:11px;letter-spacing:.13em;color:#8ca893;font-weight:730}
.tn-category-text strong{font-size:23px;line-height:1.45;color:#304c3a;letter-spacing:-.045em}
.tn-category-text small{font-size:13px;line-height:1.65;color:#7c8e7e}
.tn-category-arrow{font-size:22px;color:#88a98b;margin-left:auto;align-self:center;transition:transform .2s}.tn-category-item:hover .tn-category-arrow{transform:translate(3px,-3px);color:#397d53}
/* Tool finder */
.tools-section{padding:103px 0 112px;background:#f6f9f4}
.tools-section .tn-heading-row{margin-bottom:40px}
.tn-inline-link{color:#477e54;font-size:13px;font-weight:800;display:inline-flex;align-items:center;gap:21px;border-bottom:1px solid #b2cbb1;padding-bottom:5px;white-space:nowrap}
.tn-inline-link:hover{color:#295b37}
.filter-row{margin-bottom:26px;gap:20px}
.filters{gap:22px;flex-wrap:wrap}
.filter{border:0;background:transparent;border-bottom:2px solid transparent;border-radius:0;padding:8px 2px;color:#697c6c;font-weight:700}
.filter:hover{background:none;color:#397d53}
.filter[aria-pressed="true"]{border:0;border-bottom:2px solid #478859;background:none;color:#2e7042}
.results-count{font-weight:600}
.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:70px;row-gap:0;border-top:1px solid #d9e5d7}
.tool-card{min-height:139px;border:0;border-bottom:1px solid #d9e5d7;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
.tool-card:hover{transform:none;box-shadow:none;background:#eff6ed}
.tool-main{min-height:137px;padding:25px 63px 24px 8px;gap:0;align-items:center}
.tool-card-top{margin-bottom:5px}.tool-card strong{font-size:20px;letter-spacing:-.045em;color:#31543c}.tool-card p{font-size:13px;color:#788b7b;margin:6px 0 0}
.tool-category{font-weight:750;color:#648569}.tool-status{padding:0;background:none;border-radius:0;font-size:10px;color:#8d9d8c}.tool-status.live{background:none;color:#3d8552}
.tool-arrow{right:13px;top:62px;font-size:23px;color:#8ead91}
.fav-button{top:18px;right:4px;border:0;background:none;width:31px;height:31px;font-size:22px;color:#9db49f}
.fav-button:hover,.fav-button[aria-pressed="true"]{background:none;border:0;color:#bf7881}
/* Editorial brand story */
.tn-about{background:#fffefa;padding:118px 0 130px}
.tn-about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:105px;align-items:center}
.tn-about-art{min-height:390px;position:relative;display:flex;align-items:center;justify-content:center}
.tn-about-art-blob{position:absolute;background:#e4f0df;width:370px;height:360px;border-radius:45% 55% 51% 49%;transform:rotate(-11deg)}
.tn-about-art svg{max-width:400px;width:100%;z-index:1;position:relative}
.tn-about-copy h2{font-size:clamp(32px,3.6vw,46px);margin:13px 0 27px}
.tn-about-copy p{color:#64776a;font-size:16px;line-height:2.25;margin:0 0 8px}
.tn-about-copy .tn-inline-link{margin-top:28px}
.site-footer{background:#eef5eb;border-top:1px solid #e2eddf}.footer-inner{padding:66px 0 50px}.back-top{box-shadow:0 9px 24px rgba(49,87,52,.10)}
/* Secondary pages styling */
.page-hero{background:#eff6eb;border-color:#dfe9db}.page-head h1{letter-spacing:-.06em;color:#2f573f}
.category-overview{padding:78px 0 110px}.category-overview .tool-grid{margin-top:25px}
.detail-layout{padding:72px 0 125px;gap:54px}.detail-box{padding:25px 0 34px;border:0;border-bottom:1px solid #deeadc;border-radius:0;background:none;box-shadow:none}.detail-box+.detail-box{margin-top:0}
.detail-panel{padding:28px 30px;background:#eff6ec;border:0;border-left:3px solid #9bc29a;border-radius:0}
.aside .detail-box{border-top:1px solid #deeadc}
.plain-content{padding:67px 0 120px}
/* Responsive */
@media(max-width:1050px){.tn-hero-inner{min-height:570px;gap:20px}.tn-hero h1{font-size:clamp(37px,4.6vw,53px)}.tn-category-grid{column-gap:30px}.tn-category-art{width:88px;height:88px;flex-basis:88px}.tn-category-art svg{width:72px;height:72px}.tool-grid{column-gap:32px}.tn-about-layout{gap:50px}}
@media(max-width:780px){.site-header{height:74px}.tn-hero-inner{grid-template-columns:minmax(0,1fr);padding:49px 0 94px;min-height:0;gap:2px}.tn-hero-visual{width:320px;max-width:85%;margin:0 auto;max-height:280px;overflow:visible}.tn-hero-visual img{width:100%;max-height:310px;object-fit:contain}.tn-hero h1{font-size:clamp(36px,6vw,53px)}.tn-hero-bottom{height:65px}.tn-picks-inner{align-items:flex-start;flex-direction:column;gap:15px}.tn-category-grid{column-gap:20px}.tn-category-item{gap:14px;min-height:136px}.tn-category-art{width:79px;height:79px;flex-basis:79px}.tn-category-art svg{width:67px;height:67px}.tn-category-text strong{font-size:19px}.tn-category-text small{font-size:12px}.tn-category-arrow{font-size:18px}.tn-categories{padding:65px 0 87px}.tools-section{padding:80px 0 90px}.tn-about{padding:75px 0 95px}.tn-about-layout{grid-template-columns:1fr 1fr;gap:20px}.tn-about-art{min-height:300px}.tn-about-art-blob{width:270px;height:270px}.tn-about-copy h2{font-size:35px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.site-header{height:70px}.tn-hero-inner{padding:38px 0 89px}.tn-hero-copy{min-width:0}.tn-search{max-width:100%;min-width:0}.tn-search input{width:0}.tn-hero h1{font-size:clamp(32px,9vw,43px);line-height:1.5;margin:17px 0 17px}.tn-hero h1 span{white-space:normal}.tn-lead{font-size:14px;line-height:2.2;margin-bottom:26px}.tn-hero-brow{font-size:12px}.tn-search{padding:5px;gap:0}.tn-search input{height:45px;font-size:13px;padding:0 6px}.tn-search .search-icon{margin-left:9px}.tn-search button{height:45px;padding:0 18px;font-size:13px}.tn-hero-visual{max-width:80%;width:280px;margin-top:6px}.tn-visual-halo{width:94%}.tn-hero-bottom{height:49px}.tn-picks{padding:10px 0 40px}.tn-picks-inner{padding-bottom:22px}.tn-picks-links{gap:14px 21px}.tn-picks-links a{font-size:12px;gap:7px}.tn-heading-row{margin-bottom:26px;align-items:flex-start}.tn-heading-row h2{font-size:30px}.tn-heading-row p{font-size:12px}.tn-category-grid{grid-template-columns:1fr}.tn-category-item{min-height:117px;gap:17px;padding:15px 6px 15px 0}.tn-category-art{width:80px;height:80px;flex-basis:80px}.tn-category-art svg{width:66px;height:66px}.tn-category-text strong{font-size:19px}.tn-categories{padding:48px 0 75px}.tools-section{padding:69px 0 79px}.tools-section .tn-heading-row{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:24px}.filters{flex-wrap:nowrap;gap:18px;overflow:auto;scrollbar-width:thin}.filter{font-size:12px;white-space:nowrap}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:112px}.tool-main{min-height:111px;padding:19px 55px 18px 5px}.tool-card strong{font-size:18px}.tool-card p{font-size:12px}.tool-arrow{top:51px;right:5px}.fav-button{top:13px;right:0}.tn-about{padding:67px 0 83px}.tn-about-layout{display:flex;flex-direction:column;gap:8px}.tn-about-art{order:2;width:100%;min-height:300px;margin-top:23px}.tn-about-art svg{max-width:320px}.tn-about-art-blob{width:230px;height:230px}.tn-about-copy{order:1}.tn-about-copy h2{font-size:34px}.tn-about-copy p{font-size:14px}.tn-about-copy .tn-inline-link{margin-top:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}


/* ================================================
   Tool no Niwa – 2026 Japanese lifestyle design
   Inspired by the editorial rhythm and large visuals
   of the two reference sites; artwork is original.
   ================================================ */
:root{--green:#427e56;--green-deep:#21523a;--ink:#2c4233;--muted:#657a6b;--line:#dce9db;--cream:#fffefa}
body{background:#fffefa;color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.container{max-width:1220px;width:calc(100% - 100px)}
.site-header{height:94px;background:rgba(255,254,250,.97);border-bottom:1px solid #e2ebe0;box-shadow:0 1px 10px rgba(40,86,50,.025)}
.header-inner{gap:25px}
.brand-emblem{height:52px;width:52px;border-radius:50%;background:#e6f3e2}
.brand-emblem svg{height:34px;width:34px}
.brand-text strong{font-size:23px;color:#295a3e;letter-spacing:-.05em}
.brand-text small{font-size:10px;letter-spacing:.12em;color:#86a489}
.desktop-nav{gap:36px}.desktop-nav a{font-size:13px;color:#3e5a47;font-weight:750}
.favorite-nav{border-color:#cfe1cc;background:#fffefa;border-radius:999px;padding:11px 18px}
/* Large joyful main visual */
.niwa-hero{position:relative;background:#eff6e9;overflow:hidden;isolation:isolate}
.niwa-hero:before{position:absolute;content:"";inset:0;z-index:-1;background:radial-gradient(circle at 2% 92%,#e0edda 0 11%,transparent 11.1%),radial-gradient(circle at 94% 2%,#e6f0de 0 12%,transparent 12.1%)}
.niwa-hero-inner{position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:0;min-height:688px;padding-top:85px;padding-bottom:117px}
.niwa-hero-copy{position:relative;z-index:3;margin-top:-5px}
.niwa-small-intro{display:flex;align-items:center;gap:12px;color:#4e8b5d;font-size:14px;font-weight:800;letter-spacing:.07em;margin:0 0 27px}
.niwa-dot{width:11px;height:11px;border-radius:50%;background:#e9b477;box-shadow:0 0 0 7px #f7e9cb}
.niwa-hero h1{font-size:clamp(44px,4.65vw,69px);line-height:1.47;font-weight:800;color:#28583b;letter-spacing:-.08em;position:relative;margin:0 0 27px;white-space:nowrap}
.niwa-hero h1 span{color:#3f8353;position:relative;z-index:1}
.niwa-hero h1 span:after{position:absolute;content:"";height:18px;background:#d3e5c9;bottom:0;left:-.02em;right:0;z-index:-1;border-radius:100% 60% 50% 50%;transform:rotate(-1deg)}
.niwa-title-mark{color:#e4b776;position:absolute;font-size:39px;font-style:normal;top:-5px;right:1.6em;transform:rotate(-17deg)}
.niwa-subline{font-size:16px;font-weight:500;line-height:2.2;letter-spacing:.02em;color:#546b59;margin:0 0 34px}
.niwa-hero-search{max-width:538px;width:100%;background:white;border:2px solid #fff;border-radius:17px;box-shadow:0 13px 35px rgba(60,120,64,.11);padding:7px 8px}
.niwa-hero-search:focus-within{outline:3px solid #b6dbb6;outline-offset:2px}
.niwa-hero-search .search-icon{margin-left:14px;color:#7b9f83}
.niwa-hero-search input{padding:12px 14px;height:51px;font-size:15px}
.niwa-hero-search button{border-radius:11px;min-height:48px;padding:0 24px;background:#3d7e52;color:#fff;font-size:14px;font-weight:800;white-space:nowrap;display:flex;align-items:center;gap:16px}
.niwa-hero-search button:hover{background:#28683f}
.niwa-trending{margin-top:22px;gap:16px;color:#69816e;font-size:12px}
.niwa-trending button{font-size:12px;background:none;border:0;padding:2px;color:#387a4d;border-bottom:1px solid #90ba96;border-radius:0;font-weight:700}
.niwa-trending button:hover{background:none;color:#205f38}
.niwa-hero-visual{position:relative;z-index:2;margin-right:-74px;margin-left:-62px;align-self:center}
.niwa-hero-visual img{display:block;width:100%;height:auto;min-width:585px;filter:drop-shadow(0 22px 13px rgba(65,105,64,.065))}
.niwa-hero-sideword{position:absolute;bottom:94px;right:0;font-size:12px;letter-spacing:.34em;color:#83af84;font-weight:800;writing-mode:vertical-rl;z-index:4}
.niwa-wave{position:absolute;z-index:5;bottom:-1px;left:0;width:100%;height:86px;pointer-events:none}.niwa-wave svg{width:100%;height:100%;display:block}
/* quick links like a news / pickup strip */
.niwa-highlights{padding:20px 0 55px;background:#fffefa}
.niwa-highlights-inner{display:flex;align-items:center;gap:58px;border-bottom:1px solid #dce8da;padding-bottom:26px}
.niwa-highlights-label{font-size:13px;font-weight:800;color:#3d744e;white-space:nowrap;display:flex;align-items:center;gap:11px}
.niwa-highlights-label span{color:#9ebd96;font-size:19px}
.niwa-highlights-links{display:flex;align-items:center;gap:52px;flex-wrap:wrap}
.niwa-highlights-links a{color:#3b5a44;font-size:14px;font-weight:750;display:inline-flex;align-items:center;gap:17px}
.niwa-highlights-links a span{color:#83a987;transition:.2s}.niwa-highlights-links a:hover{color:#328149}.niwa-highlights-links a:hover span{transform:translate(3px,-3px)}
/* Category index modeled after open corporate service menus rather than cards */
.niwa-categories{padding:84px 0 137px;background:#fffefa}
.niwa-section-header{margin-bottom:54px}
.niwa-centered{text-align:center}
.niwa-kicker{font-weight:800;color:#61946b;font-size:13px;display:inline-flex;align-items:center;gap:8px;letter-spacing:.07em}
.niwa-flower{font-size:23px;font-weight:500;line-height:1;color:#8cb785}
.niwa-section-header h2{font-size:clamp(36px,3.4vw,50px);line-height:1.48;letter-spacing:-.07em;color:#2e613e;font-weight:800;margin:13px 0 9px}
.niwa-section-header p{font-size:15px;color:#728475;margin:0}
.niwa-categories-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:start}
.niwa-category-link{display:flex;align-items:center;flex-direction:column;position:relative;text-align:center;padding:0 8px 25px;min-width:0;transition:transform .25s}
.niwa-category-link:hover{transform:translateY(-6px)}
.niwa-category-art{width:175px;height:175px;max-width:100%;aspect-ratio:1;border-radius:50% 52% 48% 51%;display:grid;place-items:center;background:#e5f0e0;transform:rotate(-6deg);transition:transform .25s}
.niwa-category-link:hover .niwa-category-art{transform:rotate(2deg) scale(1.04)}
.niwa-category-art svg{width:78%;height:78%;transform:rotate(5deg)}
.niwa-two .niwa-category-art{background:#faeddd}.niwa-three .niwa-category-art{background:#e1efec}.niwa-four .niwa-category-art{background:#f4eadb}.niwa-five .niwa-category-art{background:#e9efdf}
.niwa-category-name{display:block;margin-top:20px;font-size:21px;font-weight:800;letter-spacing:-.045em;color:#2b5339}
.niwa-category-desc{display:block;font-size:13px;color:#829284;margin-top:2px;white-space:nowrap}
.niwa-round-arrow{display:grid;place-items:center;margin-top:14px;border-radius:50%;height:30px;width:30px;border:1px solid #cbdcca;color:#53875f;font-size:18px;line-height:1}
/* tool directory, broad pale-green editorial color block */
.niwa-tool-section{position:relative;background:#f1f7ee;padding:114px 0 130px}
.niwa-tool-section:before{position:absolute;content:"";width:100%;height:48px;top:-1px;left:0;background:#fffefa;clip-path:ellipse(65% 100% at 50% 0%)}
.niwa-tool-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:47px}
.niwa-tool-head h2{margin:12px 0 6px}.niwa-tool-head p{margin:0}
.niwa-arrow-link{font-size:14px;font-weight:800;color:#367648;display:inline-flex;gap:14px;align-items:center;padding-bottom:9px;border-bottom:1px solid #a6c7a7;white-space:nowrap}
.niwa-arrow-link:hover{color:#1d5733}.niwa-arrow-link span{transition:transform .2s}.niwa-arrow-link:hover span{transform:translate(2px,-2px)}
.niwa-tool-section .filters{gap:25px;flex-wrap:wrap}
.niwa-tool-section .filter{border:0;border-radius:0;background:none;padding:10px 0;color:#758875}
.niwa-tool-section .filter[aria-pressed="true"]{border:0;border-bottom:2px solid #3c8053;color:#347a49;background:none}
.niwa-tool-section .filter:hover{background:none;color:#3e7e53}
.niwa-tool-section .tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px;row-gap:0;border-top:1px solid #d5e3d4}
.niwa-tool-section .tool-card{border:0;border-bottom:1px solid #d5e3d4;box-shadow:none;border-radius:0;background:none;overflow:visible;min-height:139px}
.niwa-tool-section .tool-card:hover{background:#e9f2e5;transform:none;box-shadow:none}
.niwa-tool-section .tool-main{padding:25px 58px 21px 7px;min-height:136px;align-items:center}
.niwa-tool-section .tool-card strong{font-size:21px;color:#2f513a;letter-spacing:-.045em}
.niwa-tool-section .tool-card p{color:#728775;font-size:13px;margin:6px 0 0}
.niwa-tool-section .tool-arrow{color:#6e9d76;right:11px;top:57px}
.niwa-tool-section .tool-status{background:none;border:0;color:#8ca48c;padding:0}.niwa-tool-section .tool-status.live{background:none;color:#3d8651}
.niwa-tool-section .fav-button{width:32px;height:32px;border:0;background:none;box-shadow:none;top:19px;right:0;color:#86ab8d}
.niwa-tool-section .fav-button:hover,.niwa-tool-section .fav-button[aria-pressed="true"]{background:none;color:#c2818b}
/* brand story, landscape fullbleed rhythm */
.niwa-story{background:#fffefa;padding:140px 0 155px}
.niwa-story-inner{display:grid;grid-template-columns:.98fr 1.02fr;gap:80px;align-items:center}
.niwa-story-graphic{position:relative;min-height:425px;display:flex;align-items:center;justify-content:center}
.niwa-story-disc{display:grid;place-items:center;background:#e8f1df;border-radius:49% 51% 44% 56%;width:430px;height:415px;max-width:100%;transform:rotate(-7deg)}
.niwa-story-disc img{width:97%;height:auto;transform:rotate(7deg)}
.niwa-story-flower{position:absolute;color:#a2c9a1;font-size:41px}.niwa-story-flower.a{top:28px;left:35px}.niwa-story-flower.b{bottom:46px;right:21px;font-size:24px}
.niwa-story-copy h2{color:#2a583c;font-size:clamp(38px,3.8vw,55px);font-weight:800;letter-spacing:-.075em;line-height:1.48;margin:18px 0 28px}
.niwa-story-copy p{color:#526c59;font-size:17px;line-height:2.3;margin:0 0 8px}
.niwa-story-copy .niwa-arrow-link{margin-top:25px}
.site-footer{background:#eaf3e6;border-top:1px solid #dce9d9}.footer-inner{padding:66px 0 47px}
/* consistent category / detail pages */
.page-hero{background:#eaf4e8}.page-head h1{color:#295a3c;letter-spacing:-.07em}
.category-overview .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:50px;row-gap:0;border-top:1px solid #d9e8d9}
.category-overview .tool-card{border:0;border-bottom:1px solid #d9e8d9;border-radius:0;background:transparent;box-shadow:none}
.category-overview .tool-card:hover{transform:none;background:#f4faf2;box-shadow:none}
.detail-box{border-radius:7px}
@media(max-width:1180px){.niwa-hero-visual{margin-right:-40px;margin-left:-55px}.niwa-hero-visual img{min-width:490px}.niwa-hero h1{font-size:clamp(38px,4.4vw,58px)}.niwa-category-art{width:145px;height:145px}.niwa-category-name{font-size:19px}}
@media(max-width:950px){.container{width:calc(100% - 56px)}.niwa-hero-inner{min-height:580px;padding:66px 0 100px}.niwa-hero-visual{margin-right:-70px;margin-left:-85px}.niwa-hero-visual img{min-width:400px}.niwa-hero h1{font-size:clamp(35px,4.4vw,47px)}.niwa-category-art{width:127px;height:127px}.niwa-category-name{font-size:18px}.niwa-categories-grid{gap:8px}.niwa-tool-section .tool-grid{column-gap:30px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.site-header{height:78px}.brand-emblem{width:45px;height:45px}.brand-text strong{font-size:20px}.niwa-hero-inner{display:flex;flex-direction:column;align-items:stretch;min-height:unset;padding:48px 0 95px}.niwa-hero-copy{z-index:3}.niwa-hero h1{font-size:clamp(37px,7.4vw,55px);margin-bottom:18px}.niwa-title-mark{top:-18px;right:15px;font-size:29px}.niwa-subline{font-size:15px;line-height:2.05;margin-bottom:26px}.niwa-hero-visual{margin:13px -13px -56px auto;width:90%;align-self:flex-end}.niwa-hero-visual img{min-width:unset}.niwa-hero-sideword{display:none}.niwa-wave{height:60px}.niwa-highlights{padding-top:14px;padding-bottom:48px}.niwa-highlights-inner{flex-direction:column;align-items:flex-start;gap:13px}.niwa-highlights-links{gap:13px 26px}.niwa-categories{padding:66px 0 90px}.niwa-categories-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}.niwa-category-art{width:135px;height:135px}.niwa-category-link{padding:0 0 14px}.niwa-category-name{font-size:18px}.niwa-category-desc{white-space:normal}.niwa-tool-section{padding:94px 0 102px}.niwa-tool-section .tool-grid{grid-template-columns:1fr}.niwa-story{padding:80px 0 95px}.niwa-story-inner{grid-template-columns:1fr;gap:18px}.niwa-story-graphic{min-height:300px}.niwa-story-disc{width:350px;height:330px}.niwa-story-copy h2{font-size:36px}.niwa-story-copy p{font-size:15px}}
@media(max-width:480px){.container{width:calc(100% - 32px)}.niwa-hero-inner{padding:44px 0 64px}.niwa-small-intro{font-size:12px;margin-bottom:18px}.niwa-hero h1{font-size:clamp(29px,8.1vw,38px);line-height:1.53;margin-bottom:20px}.niwa-hero h1 span:after{height:9px}.niwa-title-mark{display:none}.niwa-subline{font-size:13px;margin-bottom:23px}.niwa-hero-search{padding:6px;border-radius:14px}.niwa-hero-search input{height:43px;padding:8px;font-size:13px;min-width:0}.niwa-hero-search button{font-size:12px;padding:0 10px;min-height:42px;gap:5px;border-radius:10px}.niwa-hero-search .search-icon{margin-left:5px}.niwa-trending{font-size:11px;gap:7px;margin-top:14px}.niwa-trending button{font-size:11px}.niwa-hero-visual{width:99%;margin:8px -12px -47px auto}.niwa-wave{height:38px}.niwa-highlights{padding-top:17px;padding-bottom:37px}.niwa-highlights-links{gap:10px 18px}.niwa-highlights-links a{font-size:12px;gap:5px}.niwa-categories{padding:55px 0 73px}.niwa-section-header{margin-bottom:36px}.niwa-section-header h2{font-size:31px}.niwa-section-header p{font-size:13px}.niwa-categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.niwa-category-art{width:136px;height:136px}.niwa-category-name{font-size:17px;margin-top:13px}.niwa-category-desc{font-size:12px}.niwa-tool-head{align-items:flex-start;flex-direction:column;gap:17px}.niwa-tool-section{padding:70px 0 86px}.niwa-tool-section .filters{gap:9px 17px}.niwa-tool-section .filter{font-size:12px}.niwa-tool-section .tool-card strong{font-size:18px}.niwa-story{padding:73px 0 89px}.niwa-story-graphic{min-height:280px}.niwa-story-disc{width:290px;height:284px}.niwa-story-copy h2{font-size:33px}}
@media(min-width:761px) and (max-width:900px){.niwa-hero h1{white-space:normal}.niwa-hero-inner{grid-template-columns:1.1fr .9fr}}
@media(prefers-reduced-motion:reduce){.niwa-category-link:hover{transform:none}.niwa-category-link:hover .niwa-category-art{transform:none}}

/* Finishing fixes */
@media(max-width:480px){.niwa-story-disc{width:min(100%,290px);height:auto;aspect-ratio:1.02}.niwa-story-graphic{overflow:hidden}.niwa-hero h1{letter-spacing:-.088em}}

/* v5: cards limited to the actual tool list; no decorative arrows on every tile */
.niwa-tool-section .tool-grid,.category-overview .tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0}
.niwa-tool-section .tool-card,.category-overview .tool-card{border:1px solid #dce7da;border-radius:18px;background:#fff;box-shadow:0 6px 17px rgba(38,83,43,.035);min-height:153px;overflow:hidden;transition:background .2s,box-shadow .2s,border-color .2s,transform .2s}
.niwa-tool-section .tool-card:hover,.category-overview .tool-card:hover{border-color:#acd0ac;background:#fff;transform:translateY(-3px);box-shadow:0 14px 28px rgba(41,93,47,.08)}
.niwa-tool-section .tool-card strong,.category-overview .tool-card strong{font-size:18px;letter-spacing:-.03em;padding:0 20px 0 0;line-height:1.6}
.niwa-tool-section .tool-card p,.category-overview .tool-card p{font-size:12px;margin:7px 0 0;line-height:1.7}
.niwa-tool-section .tool-main,.category-overview .tool-main{display:flex;min-height:155px;padding:22px 24px 25px 20px;gap:0;align-items:flex-start}
.niwa-tool-section .tool-card-top,.category-overview .tool-card-top{margin-bottom:10px}
.niwa-tool-section .fav-button,.category-overview .fav-button{top:15px;right:15px}
.tool-unavailable{cursor:default;color:#718473}
.tool-card .tool-unavailable:hover{background:transparent}
.tool-card[hidden]{display:none!important}
.niwa-highlights-links .feature-pending{font-size:13px;color:#54765a;font-weight:700}
.niwa-highlights-links .feature-pending small{color:#879b89;font-size:10px;font-weight:600;margin-left:7px}
.niwa-highlights-links a:hover{text-decoration:underline;text-underline-offset:6px}
.niwa-round-arrow,.tool-arrow{display:none!important}
.niwa-category-link{padding-bottom:0}
.niwa-category-link:hover .niwa-category-name{text-decoration:underline;text-underline-offset:6px}
.niwa-guide{background:#fffefa;padding:78px 0 95px;border-top:1px solid #e9eee8}
.niwa-guide-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.niwa-guide h2{font-size:clamp(24px,2.7vw,35px);color:#31513a;line-height:1.55;margin:15px 0}
.niwa-guide-content p{max-width:650px;font-size:15px;color:#687a69;line-height:2.1;margin:0 0 16px}
.category-explainer{border-top:1px solid #dfeadc;margin-top:48px;padding-top:46px;max-width:900px}
.category-explainer h2{color:#2c4b36;font-size:25px;margin:0 0 16px;line-height:1.5}
.category-explainer h3{color:#34523e;font-size:19px;margin:32px 0 8px}
.category-explainer p{font-size:14px;color:#647b69;line-height:2;margin:0 0 12px}
@media(max-width:1020px){.niwa-tool-section .tool-grid,.category-overview .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.niwa-guide-inner{gap:36px}}
@media(max-width:640px){.niwa-tool-section .tool-grid,.category-overview .tool-grid{grid-template-columns:1fr;gap:12px}.niwa-tool-section .tool-card,.category-overview .tool-card{min-height:118px;border-radius:15px}.niwa-tool-section .tool-main,.category-overview .tool-main{min-height:120px;padding:20px 20px 18px}.niwa-tool-section .tool-card strong,.category-overview .tool-card strong{font-size:17px}.niwa-guide{padding:56px 0 62px}.niwa-guide-inner{grid-template-columns:1fr;gap:12px}.niwa-guide-content p{font-size:14px}.category-explainer{margin-top:36px;padding-top:30px}.category-explainer h2{font-size:23px}}
