/* Scoped service landing page. Copy and images remain native WordPress blocks. */
.kokoro-landing{background:#fffdf9;color:#273f36}
.km-wrap{width:90%;max-width:1160px;margin-inline:auto}
.km-content p{line-height:2.05;font-size:15px;margin:0 0 20px;color:#56645b}
.km-content h1,.km-content h2,.km-content h3{font-family:var(--serif);font-weight:400;letter-spacing:.045em}
.km-content h2{font-size:clamp(27px,2.6vw,36px);line-height:1.75;margin:0}
.km-content h3{font-size:20px;line-height:1.7;margin:0 0 12px}
.km-content .km-eyebrow{font:11px var(--sans);letter-spacing:.21em;line-height:1.8;color:#947442;margin:0 0 21px}
.km-header{position:sticky;top:0;z-index:80;background:#fffdf9f5;border-bottom:1px solid #e7e7de;backdrop-filter:blur(12px)}
.admin-bar .km-header{top:32px}
.km-header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:92px}
.km-brand{display:flex;flex-direction:column;color:#263f35;flex-shrink:0}
.km-brand>span{font:24px var(--serif);letter-spacing:.08em}
.km-brand small{font-size:10px;letter-spacing:.12em;margin-top:4px;color:#687567}
.km-navigation{display:flex;gap:27px;align-items:center;font-size:12px}
.km-navigation>a:not(.km-button){padding:14px 0}
.km-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;background:#284d3d;color:#fff!important;border:1px solid #284d3d;border-radius:3px;padding:16px 25px;font:14px var(--sans);line-height:1.55;letter-spacing:.025em;transition:background .2s}
.km-button:hover{background:#193b2d}
.km-button:focus-visible,.km-text-link:focus-visible,.km-navigation a:focus-visible,.km-brand:focus-visible{outline:3px solid #b5985d;outline-offset:5px}
.km-navigation .km-button{font-size:12px;min-height:46px;padding:12px 19px}
.km-content .km-hero{padding:64px 0 72px;background:#f6f3ec}
.km-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.km-content .km-audience{font-size:11px;letter-spacing:.06em;color:#536d59;margin:0 0 21px}
.km-content .km-hero h1{font-size:clamp(30px,3.55vw,46px);line-height:1.75;margin:0 0 18px;letter-spacing:.045em}
.km-content .km-service-name{font:24px var(--serif);letter-spacing:.1em;color:#294636;margin:0 0 25px}
.km-content .km-lead{font-size:14px;line-height:2.1;margin-bottom:31px}
.km-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:17px 24px}
.km-content .km-action,.km-hero-actions>p{margin:0}
.km-text-link{font-size:12px;color:#344f40;padding:12px 0;border-bottom:1px solid #91a18f}
.km-content .km-hero-photo{width:100%;aspect-ratio:1.12;border-radius:120px 6px 6px 6px;overflow:hidden;margin:0}
.km-content .km-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:53% 50%;display:block}
.km-summary{background:#fdfcf8;border-bottom:1px solid #e3e5db}
.km-summary-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;padding:27px 0;gap:25px}
.km-content .km-summary p{margin:0;font-size:12px;color:#526452;line-height:1.8}
.km-summary span{font:italic 16px Georgia,serif;color:#a28554;margin-right:12px}
.km-section{padding:94px 0;scroll-margin-top:140px}
.km-about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start}
.km-about-copy{padding-top:4px}
.km-content .km-emphasis{margin:28px 0 0;border-left:2px solid #c5b78e;padding-left:22px;color:#365342;font-family:var(--serif);font-size:17px}
.km-flow{background:#f0f2e9}
.km-section-title{margin-bottom:18px}
.km-content .km-section-intro{margin-bottom:42px}
.km-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.km-steps>.km-step,.km-about-grid>.wp-block-group,.km-preparation-grid>.wp-block-group,.km-preparation-list>.km-preparation-item{margin-block:0}
.km-step{position:relative;background:white;padding:24px 20px 28px;border-top:1px solid #a8b89c}
.km-content .km-step-number{font:25px Georgia,serif;color:#ae9259;margin:0}
.km-content .km-step .flow-illustration{width:100%;height:145px;background:#fff;margin:8px 0 18px}
.km-content .km-step .flow-illustration img{width:100%;height:100%;object-fit:contain;display:block}
.km-content .km-step h3{font-size:18px;letter-spacing:0}
.km-content .km-step>p:last-child{font-size:13px;margin:0;line-height:2}
.km-flow-note{margin-top:35px;padding:25px 30px;border-top:1px solid #bec8b6;border-bottom:1px solid #bec8b6}
.km-content .km-note-title{font-family:var(--serif);font-size:19px;color:#38533e;margin-bottom:8px}
.km-content .km-flow-note>p:last-child{font-size:13px;margin:0;max-width:920px}
.km-preparation .km-section-title{text-align:center;margin-bottom:42px}
.km-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.km-benefits>.km-benefit{margin-block:0;min-width:0;border-top:1px solid #c6cfbb;background:#f6f4ed;padding:25px 26px 30px}
.km-content .km-benefit-illustration{width:100%;aspect-ratio:3/2;margin:0 0 22px}
.km-content .km-benefit-illustration img{display:block;width:100%;height:100%;object-fit:contain}
.km-content .km-benefit-copy{margin:0}
.km-content .km-benefit-number{font:italic 19px Georgia,serif;color:#a88a51;margin:0 0 12px}
.km-content .km-benefit h3{font-size:clamp(19px,1.7vw,22px);line-height:1.65;letter-spacing:.025em;margin-bottom:16px}
.km-content .km-benefit-copy>p:last-child{font-size:14px;line-height:2;margin:0;overflow-wrap:anywhere}
.km-benefit-support{margin-top:32px;padding:26px 0 0;border-top:1px solid #d6dbcf}
.km-content .km-benefit-support>p:last-child{font-size:14px;margin:0;max-width:850px}
@media(max-width:950px){.km-benefits{grid-template-columns:1fr;gap:20px}.km-benefits>.km-benefit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:center;gap:30px;padding:26px 30px}.km-content .km-benefit-illustration{margin:0}.km-content .km-benefit h3{font-size:22px}}
@media(max-width:600px){.km-preparation .km-section-title{margin-bottom:30px}.km-benefits>.km-benefit{display:block;padding:22px 24px 27px}.km-content .km-benefit-illustration{max-width:300px;max-height:180px;margin:0 auto 20px}.km-content .km-benefit h3{font-size:22px}.km-benefit-support{margin-top:27px;padding-top:23px}}
.km-faq{background:#faf8f3}
.km-faq>.km-wrap{max-width:850px}
.km-faq-list{margin-top:32px;border-top:1px solid #d7dccf}
.km-faq details{border-bottom:1px solid #d7dccf;padding:0 5px}
.km-faq summary{display:list-item;list-style:disclosure-closed;padding:24px 10px;cursor:pointer;font:16px var(--sans);line-height:1.8;margin-left:20px}
.km-faq details[open] summary{list-style:disclosure-open}
.km-faq summary::marker{color:#7a8d6b;font-size:11px}
.km-content .km-faq details>p{padding:0 10px 25px 30px;font-size:14px;margin:0}
.km-consultation{background:#244738;text-align:center;color:white}
.km-content .km-consultation .km-eyebrow{color:#d6c39c}
.km-content .km-consultation h2{color:#fff;font-size:clamp(28px,3vw,40px)}
.km-content .km-consultation h2+p{color:#dce4d7;margin:24px 0 31px}
.km-consultation .km-button{background:#fcfaf2;color:#244738!important;border-color:#fcfaf2;min-width:300px}
.km-consultation .km-button:hover{background:#e9e8db}
.km-content .km-operator{color:#c6d2c2;font-size:11px;margin:26px 0 0;letter-spacing:.06em}
.km-footer{background:#fffdf9;padding:42px 0 24px}
.km-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.km-footer p{font-size:11px;color:#657160;margin:8px 0 0}
.km-footer p.km-footer-name{font:22px var(--serif);letter-spacing:.08em;color:#344c3d;margin:0}
.km-footer nav{display:flex;gap:24px;font-size:11px;flex-wrap:wrap}
.km-footer nav a{padding:8px 0}
.km-copyright{font-size:9px;color:#6f7d69;margin-top:30px;letter-spacing:.07em}
@media(max-width:1050px){.km-navigation{gap:16px}.km-navigation>a:not(.km-button){display:none}.km-hero-grid{gap:32px}.km-content .km-hero h1{font-size:33px}.km-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.km-content .km-step .flow-illustration{height:175px}.km-about-grid,.km-preparation-grid{gap:40px}.km-summary-grid{gap:15px}.km-summary span{margin-right:5px}.km-summary p{font-size:11px}}
@media(max-width:782px){.admin-bar .km-header{top:46px}.km-header-inner{min-height:77px}.km-brand>span{font-size:20px}.km-brand small{font-size:9px}.km-navigation .km-button{font-size:11px;padding:12px 13px}.km-hero-grid{grid-template-columns:1fr 1fr;gap:25px}.km-content .km-hero{padding:46px 0}.km-content .km-hero h1{font-size:28px;letter-spacing:0}.km-content .km-service-name{font-size:20px}.km-content .km-lead{font-size:13px}.km-content .km-hero-photo{aspect-ratio:.82;border-top-left-radius:85px}.km-section{padding:68px 0}.km-summary-grid{grid-template-columns:1fr;gap:8px;padding:22px 0}.km-summary span{margin-right:12px}.km-about-grid,.km-preparation-grid{grid-template-columns:1fr;gap:30px}.km-preparation-heading>p:last-child{max-width:none}.km-footer-inner{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:600px){.admin-bar .km-header{top:0}.km-wrap{width:88%}.km-header>.km-wrap{width:92%}.km-header-inner{gap:10px;min-height:74px}.km-brand>span{font-size:18px;letter-spacing:.025em}.km-brand small{font-size:8px}.km-navigation .km-button{font-size:10px;padding:11px 10px;min-height:44px}.km-hero-grid{grid-template-columns:1fr;gap:29px}.km-content .km-hero{padding:37px 0 35px}.km-content .km-audience{font-size:10px;margin-bottom:17px}.km-content .km-hero .km-eyebrow{font-size:9px;margin-bottom:16px}.km-content .km-hero h1{font-size:clamp(28px,7.7vw,39px);line-height:1.8;letter-spacing:.035em;margin-bottom:13px}.km-content .km-service-name{font-size:21px;margin-bottom:19px}.km-content .km-lead{font-size:13px;margin-bottom:24px}.km-hero-actions{gap:20px}.km-hero-actions .km-action{width:100%}.km-hero-actions .km-button{width:100%;min-height:54px}.km-content .km-hero-photo{aspect-ratio:1.4;border-radius:70px 3px 3px 3px}.km-content .km-eyebrow{font-size:10px;margin-bottom:15px}.km-section{padding:59px 0;scroll-margin-top:98px}.km-content h2{font-size:26px;letter-spacing:.025em}.km-content p{font-size:14px}.km-content .km-emphasis{font-size:16px;padding-left:16px}.km-steps{grid-template-columns:1fr;gap:21px}.km-step{padding:22px 24px 26px}.km-content .km-step .flow-illustration{height:165px;max-width:300px;margin:0 auto 13px}.km-content .km-step h3{font-size:20px}.km-content .km-step>p:last-child{font-size:14px}.km-flow-note{padding:23px 0;margin-top:28px}.km-content .km-note-title{font-size:18px}.km-preparation-item{gap:12px;grid-template-columns:29px 1fr;padding:23px 0}.km-faq summary{font-size:14px;padding:22px 4px;margin-left:16px}.km-content .km-faq details>p{padding-left:20px}.km-consultation .km-button{min-width:0;width:100%}.km-content .km-consultation h2{font-size:28px}.km-content .km-consultation h2+p{font-size:13px}.km-footer{padding:34px 0 25px}.km-footer nav{gap:12px 20px}.km-footer p{font-size:10px}.km-copyright{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.km-button{transition:none}}
