/*
Theme Name: キーパー大阪 Studio
Theme URI: https://keyper-osaka.jp/
Author: Keyper Osaka
Description: キーパー大阪のオリジナルデザイン。写真で選べる料金案内、施工事例の自動追加、管理画面からの画像・価格編集に対応。
Version: 3.1.13
Requires PHP: 7.4
Text Domain: keyper-osaka-studio
*/
:root{--ink:#162b2c;--deep:#123434;--deep2:#0e2c2b;--muted:#63716e;--cream:#f5f7f3;--paper:#fff;--line:#dde6e1;--light:#edf4f0;--red:#e32730;--green:#0d784b;--shadow:0 18px 50px rgba(23,57,49,.085)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Yu Gothic",sans-serif;color:var(--ink);margin:0;background:#fff;line-height:1.75;letter-spacing:.015em;-webkit-font-smoothing:antialiased}body.admin-bar .kos-header{top:32px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #19a6a4;outline-offset:4px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}.kos-shell{width:min(1180px,calc(100% - 64px));margin:0 auto}.kos-mobile-only{display:none}
.kos-top{color:#d9ece5;background:var(--deep2);font-size:11px;font-weight:650}.kos-top .kos-shell{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:20px}.kos-top-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#75c7a3;margin-right:4px;vertical-align:1px}.kos-top-side{font-weight:400;opacity:.78}.kos-sep{opacity:.3}.kos-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.97);border-bottom:1px solid #eff1ed;backdrop-filter:blur(12px)}.kos-header-inner{display:flex;align-items:center;gap:48px;min-height:92px}.kos-brand{display:flex;align-items:center;flex-shrink:0}.kos-brand img{width:230px;height:auto;display:block}.kos-nav{display:flex;align-items:center;gap:32px;margin-left:auto;white-space:nowrap}.kos-nav a{font-size:13px;font-weight:750;transition:color .2s}.kos-nav a:hover{color:var(--green)}.kos-header-call{background:var(--deep);color:#fff;border-radius:7px;display:flex;align-items:center;gap:11px;padding:13px 17px;white-space:nowrap;font-size:13px;font-weight:800}.kos-header-call:hover{background:#1b5750}.kos-header-call span:first-child{font-size:18px}.kos-menu-button{display:none}
.kos-hero{background:#f2f6f2;overflow:hidden}.kos-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;min-height:562px;gap:48px}.kos-hero-copy{padding:66px 0 69px}.kos-overline{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:900;color:#1b6952;letter-spacing:.09em}.kos-overline-square{background:var(--red);width:10px;height:10px;border-radius:1px;display:inline-block}.kos-hero h1{font-size:clamp(43px,4.35vw,64px);letter-spacing:-.063em;line-height:1.42;margin:20px 0 22px;font-weight:950;max-width:590px}.kos-lead{color:#4d6560;font-size:15px;line-height:2;max-width:530px;margin:0}.kos-hero-points{display:flex;align-items:center;gap:12px;margin:26px 0}.kos-hero-points>span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #d5e3d8;border-radius:7px;padding:8px 11px;font-size:12px;font-weight:800}.kos-hero-points b{color:#0f8f55;font-size:16px}.kos-sup{font-size:9px}.kos-contact{display:flex;gap:10px}.kos-btn{display:inline-flex;min-height:55px;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:13px 23px;font-size:14px;font-weight:850;transition:transform .2s,background .2s;border:1px solid transparent;text-align:center}.kos-btn:hover{transform:translateY(-2px)}.kos-btn-phone{background:var(--green);color:#fff;box-shadow:0 6px 12px rgba(17,112,77,.13)}.kos-btn-phone:hover{background:#095a3b}.kos-btn-line{background:white;color:#087449;border-color:#a7cfb5}.kos-btn-outline{background:#fff;color:#1f5549;border-color:#b4cfc3}.kos-line-mark{background:#06b84c;color:white;font-size:10px;border-radius:15px;padding:2px 5px;font-weight:900}.kos-hero-caption{margin-top:17px;font-size:11px;color:#566b64;line-height:1.7}.kos-hero-caption small{font-size:10px;color:#72817b}.kos-hero-media{position:relative;height:550px;margin-right:calc((1180px - 100vw)/2);min-width:0;isolation:isolate}.kos-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,41,42,.13),transparent 50%)}.kos-hero-media>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 47%}.kos-photo-caption{position:absolute;z-index:2;bottom:25px;left:27px;background:rgba(255,255,255,.93);font-size:11px;color:#38544b;border-radius:3px;padding:9px 13px;font-weight:700}.kos-photo-caption span{font-size:9px;color:#829089;letter-spacing:.08em}.kos-hero-label{position:absolute;z-index:2;top:23px;right:28px;color:white;font-size:10px;line-height:1.4;font-weight:850;letter-spacing:.2em;text-align:right;text-shadow:0 2px 9px #1d262677}.kos-hero-ribbon{background:#143938;color:#d9efe7}.kos-hero-ribbon .kos-shell{display:grid;grid-template-columns:1fr 1.45fr 1.25fr;min-height:71px;align-items:center}.kos-hero-ribbon span{font-size:11px;border-right:1px solid #4d746d;padding:0 20px;line-height:1.6}.kos-hero-ribbon span:first-child{padding-left:0}.kos-hero-ribbon span:last-child{border:0;padding-right:0}.kos-hero-ribbon strong{color:white;font-size:12px}
.kos-section{padding:108px 0}.kos-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:35px}.kos-section-head h2,.kos-why h2{font-size:clamp(30px,3.15vw,45px);letter-spacing:-.05em;line-height:1.42;margin:8px 0 0;font-weight:950}.kos-section-head>p{font-size:13px;color:var(--muted);max-width:420px;line-height:1.9;margin:0 0 4px}.kos-kicker{font-size:11px;font-weight:900;letter-spacing:.15em;color:#4b7c6c;margin:0 0 5px}.kos-kicker span{color:var(--red);margin-right:8px}.kos-finder{background:#fff}.kos-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.kos-choice{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:1px solid #e2e9e4;background:#fff;border-radius:12px;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}.kos-choice:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.kos-choice.selected{border-color:#1a775c;box-shadow:0 0 0 2px rgba(21,111,84,.16)}.kos-choice-photo{display:block;height:188px;overflow:hidden;background:#e9ebe7}.kos-choice-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.kos-choice:hover img{transform:scale(1.04)}.kos-choice-bottom{display:block;position:relative;padding:17px 19px 18px;min-height:93px}.kos-choice-bottom strong{font-size:17px;letter-spacing:-.035em;display:block;line-height:1.4}.kos-choice-bottom small{display:block;color:#72847d;font-size:11px;margin-top:5px;padding-right:24px}.kos-choice-arrow{position:absolute;right:17px;top:17px;font-size:20px;color:#8fa59c}.kos-choice.selected .kos-choice-arrow{color:var(--green)}.kos-finder-details{grid-column:1/-1;min-width:0;margin-top:12px}.kos-detail{scroll-margin-top:120px;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);background:#f3f7f4;border-radius:18px;overflow:hidden;border:1px solid #dfeae3;box-shadow:0 8px 35px #143a2a07}.kos-detail[hidden]{display:none!important}.kos-detail-left{padding:22px 0 16px 22px}.kos-detail-image{position:relative;height:100%;min-height:330px;overflow:hidden;border-radius:12px}.kos-detail-image img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.kos-detail-image>span{position:absolute;left:14px;bottom:14px;background:#fffdf9e9;border-radius:5px;color:#253f39;padding:6px 10px;font-size:11px;font-weight:850}.kos-detail-left>p{font-size:10px;color:#6a8378;margin:12px 0 0;line-height:1.6}.kos-detail-right{padding:34px 36px 32px}.kos-detail-eyebrow{color:#4b7c6c;font-size:10px;letter-spacing:.16em;font-weight:900}.kos-detail-eyebrow span{color:#648c77;margin-left:8px;letter-spacing:0}.kos-detail h3{font-size:28px;letter-spacing:-.045em;line-height:1.4;margin:7px 0}.kos-detail-description{font-size:12px;color:#6b7d75;line-height:1.85;margin:0 0 15px}.kos-price-row{border-top:1px solid #d6e3d9;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.kos-price-row>div{min-width:0}.kos-price-row strong{display:block;font-size:13px;line-height:1.5}.kos-price-row small{display:block;color:#75857e;font-size:10px;margin-top:3px}.kos-price-row>span{font-size:20px;letter-spacing:-.035em;color:#143c33;font-weight:950;white-space:nowrap}.kos-detail-conditions{font-size:10px;line-height:1.8;color:#687e74;margin:12px 0 20px}.kos-detail-cta{display:flex;gap:10px}.kos-detail-cta .kos-btn{min-height:46px;font-size:12px;padding:9px 17px}.kos-finder-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:24px;font-size:11px;color:#698079}.kos-finder-bottom a{font-size:12px;font-weight:850;color:#115d43}.kos-finder-bottom a:hover{text-decoration:underline}
.kos-why{background:#f6f8f4}.kos-why-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:120px}.kos-why h2{margin:12px 0 20px}.kos-why-intro{font-size:14px;line-height:2.1;color:#586d64;max-width:440px;margin-bottom:26px}.kos-text-link{font-size:13px;font-weight:850;color:#125e43;border-bottom:1px solid #b3ceba;padding-bottom:6px}.kos-why-list>div{display:grid;grid-template-columns:58px 1fr;gap:5px;border-bottom:1px solid #d8e4dd;padding:14px 0 21px}.kos-why-list>div:first-child{padding-top:0}.kos-why-num{font-size:15px;color:#be3234;font-weight:900;letter-spacing:.04em}.kos-why-list h3{font-size:17px;letter-spacing:-.035em;margin:0 0 8px}.kos-why-list p{font-size:12px;color:#637970;line-height:1.9;margin:0}
.kos-cases-section{background:#fff}.kos-cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kos-case{border:1px solid #e2e8e3;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 6px 25px rgba(13,47,38,.035);min-width:0}.kos-case-visual{height:210px;display:block;overflow:hidden;background:#eff3ef}.kos-case-visual img{display:block;width:100%;height:100%;object-fit:cover}.kos-case-placeholder{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;color:#adc0b8;background:linear-gradient(135deg,#e6ece7,#f5f8f5);gap:5px}.kos-case-placeholder span{font-size:58px;font-weight:200;line-height:1}.kos-case-placeholder small{font-size:11px}.kos-case-info{padding:22px}.kos-meta-line{display:flex;gap:7px;flex-wrap:wrap}.kos-meta-line span{font-size:10px;font-weight:750;color:#2e7459;background:#eaf4ed;border-radius:4px;padding:3px 7px}.kos-case-info h3{font-size:17px;line-height:1.58;letter-spacing:-.035em;margin:11px 0 8px}.kos-case-info h3 a:hover{color:var(--green)}.kos-case-price{font-size:12px;font-weight:850;color:#325748;margin-bottom:14px}.kos-more{font-size:11px;color:#207356;font-weight:850}.kos-more span{font-size:16px;margin-left:4px}.kos-case-footer{display:flex;justify-content:center;margin-top:32px}.kos-allcases{font-size:13px;min-width:240px}.kos-empty-case{grid-column:1/-1;background:#f7faf8;border:1px dashed #cad7ce;padding:38px;text-align:center;border-radius:12px}.kos-empty-case span{font-size:42px;color:#adc2b4}.kos-empty-case h3{font-size:16px;margin:10px 0 4px}.kos-empty-case p{font-size:12px;color:#73857a;margin:0}
.kos-process{background:#f5f8f5}.kos-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kos-step-grid>div{background:white;padding:27px;border:1px solid #e2ebe2;border-radius:11px}.kos-step-grid b{color:#c73736;font-size:26px;line-height:1}.kos-step-grid h3{font-size:17px;margin:18px 0 6px}.kos-step-grid p{font-size:12px;line-height:1.9;color:#708078;margin:0}.kos-final{background:#123c38;color:white;padding:72px 0}.kos-final-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.kos-final h2{font-size:29px;letter-spacing:-.04em;margin:8px 0 12px}.kos-final p:not(.kos-kicker){font-size:12px;color:#c5e1d7;margin:0}.kos-kicker-light{color:#96c7b3}.kos-final .kos-btn{min-width:185px}.kos-final .kos-btn-line{color:#146849}
.kos-footer{background:#0f2828;color:#ccddd5}.kos-footer-main{padding:55px 0;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px}.kos-footer-maincol img{display:block;width:240px;filter:brightness(0) invert(1);margin-bottom:17px}.kos-footer-maincol p{max-width:370px;font-size:11px;line-height:1.95;color:#a9c2b7}.kos-footer h3{color:white;font-size:13px;margin:0 0 18px}.kos-footer-main>div:not(:first-child)>a{display:block;font-size:12px;padding:4px 0;color:#d5e3de}.kos-footer-main small{display:block;color:#879c92;font-size:10px;margin-top:10px}.kos-footer-bottom{border-top:1px solid #2c4744;font-size:10px;color:#9eb5aa}.kos-footer-bottom .kos-shell{display:flex;justify-content:space-between;padding:18px 0}.kos-mobile-bar{display:none}
/* Interior pages */
.kos-content-page{background:#f6f8f5;padding:28px 0 100px;min-height:65vh}.kos-breadcrumb{display:flex;gap:12px;align-items:center;font-size:11px;color:#74867b;margin-bottom:26px}.kos-breadcrumb a:hover{color:#1e7b5c}.kos-article{background:#fff;border-radius:16px;border:1px solid #e0e9e2;max-width:860px;margin:0 auto;padding:55px 65px;box-shadow:0 8px 35px rgba(17,43,27,.025)}.kos-article h1{font-size:34px;line-height:1.5;letter-spacing:-.035em;margin:0 0 30px}.kos-richtext{font-size:14px;line-height:2;overflow-wrap:anywhere}.kos-richtext>*+*{margin-top:1.2em}.kos-richtext h2{font-size:23px;border-bottom:2px solid #e6ede6;margin-top:2em;padding-bottom:9px;line-height:1.5}.kos-richtext h3{font-size:19px;margin-top:1.7em}.kos-richtext p{line-height:2}.kos-richtext img{max-width:100%;height:auto;border-radius:9px}.kos-richtext figure{max-width:100%}.kos-richtext a{color:#087849;text-decoration:underline}.kos-richtext table{border-collapse:collapse;width:100%;font-size:13px}.kos-richtext th,.kos-richtext td{border:1px solid #dce5dd;padding:10px;text-align:left}.kos-richtext th{background:#eff6f1}.kos-richtext .wp-block-columns{display:flex;flex-wrap:wrap;gap:20px}.kos-richtext .wp-block-column{flex:1;min-width:200px}.kos-article-contact{background:#eef6f0;border-radius:11px;padding:28px;margin-top:60px}.kos-article-contact h2{font-size:20px;margin:0 0 5px}.kos-article-contact p{font-size:12px;color:#63796c;margin:0 0 16px}.kos-article-date{color:#7c9287;font-size:11px}.kos-work-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #dae8dc;background:#f4f9f5;margin:0 0 24px;border-radius:8px;padding:15px}.kos-work-summary>div{padding:8px}.kos-work-summary span{font-size:11px;color:#748579;display:block}.kos-work-summary strong{font-size:13px}.kos-archive-head{margin:26px 0 36px}.kos-archive-head h1{font-size:38px;margin:8px 0}.kos-archive-head p{font-size:13px;color:#748378}.kos-pagination{margin:35px auto;text-align:center}.kos-price-page .kos-inner-hero{background:#f1f7f3;padding:68px 0 61px}.kos-inner-hero h1{font-size:40px;margin:7px 0}.kos-inner-hero p:not(.kos-kicker){font-size:14px;color:#667c6f;margin:0}.kos-price-page .kos-finder{padding:80px 0}.kos-old-prices{padding-bottom:90px}.kos-old-prices details{border:1px solid #d9e6dd;background:white;border-radius:13px;overflow:hidden}.kos-old-prices summary{padding:23px 28px;font-weight:850;color:#275c45;cursor:pointer;list-style:none}.kos-old-prices summary span{float:right}.kos-old-prices .kos-richtext{padding:25px 40px 45px;border-top:1px solid #e6eee8}.kos-notfound{text-align:center;padding:50px 0}.kos-notfound h1{font-size:32px}.kos-notfound p{font-size:13px;color:#687c73}.kos-notfound .kos-btn{margin-top:15px}
@media(max-width:1150px){.kos-header-inner{gap:28px}.kos-nav{gap:18px}.kos-brand img{width:206px}.kos-hero-grid{gap:28px}.kos-hero h1{font-size:48px}.kos-hero-media{margin-right:-32px}.kos-why-grid{gap:65px}.kos-shell{width:calc(100% - 52px)}}
@media(max-width:900px){.kos-header-inner{min-height:76px}.kos-header-call{display:none}.kos-menu-button{display:flex;border:0;background:transparent;width:42px;height:38px;flex-direction:column;justify-content:center;gap:6px;margin-left:auto;align-items:center}.kos-menu-button span{height:2px;width:27px;background:var(--deep);display:block}.kos-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 12px 20px #172e231f;flex-direction:column;gap:0;padding:12px 26px 23px}.kos-nav.is-open{display:flex}.kos-nav a{display:block;border-bottom:1px solid #e6eee7;width:100%;padding:12px 0}.kos-hero-grid{grid-template-columns:1fr 1fr;min-height:470px;gap:20px}.kos-hero h1{font-size:clamp(32px,5vw,48px)}.kos-hero-media{height:470px}.kos-hero-copy{padding:45px 0}.kos-hero-points{flex-wrap:wrap}.kos-hero-buttons{flex-wrap:wrap}.kos-hero-ribbon .kos-shell{grid-template-columns:1fr 1fr}.kos-hero-ribbon span:last-child{display:none}.kos-section{padding:72px 0}.kos-choice-photo{height:155px}.kos-choice-bottom{padding:14px}.kos-choice-bottom strong{font-size:14px}.kos-why-grid{gap:45px}.kos-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kos-final-inner{display:block}.kos-final-cta{margin-top:22px}}
@media(max-width:620px){html{scroll-padding-top:75px}body{font-size:13px}.kos-shell{width:calc(100% - 34px)}.kos-top .kos-shell{min-height:31px;font-size:10px}.kos-top-side{display:none}.kos-header-inner{min-height:67px}.kos-brand img{width:197px}.kos-hero-grid{display:flex;flex-direction:column;gap:0;min-height:0}.kos-hero-copy{padding:31px 0 22px}.kos-overline{font-size:10px}.kos-hero h1{font-size:clamp(32px,9.2vw,42px);max-width:340px;margin:13px 0 17px;line-height:1.38}.kos-lead{font-size:12px;line-height:1.95;max-width:350px}.kos-hero-points{gap:8px;margin:20px 0 13px}.kos-hero-points>span{font-size:10px;padding:5px 8px}.kos-hero-points b{font-size:12px}.kos-hero-buttons{display:none}.kos-hero-caption{margin:7px 0;font-size:10px}.kos-hero-caption small{font-size:9px}.kos-hero-media{height:225px;width:calc(100% + 34px);margin:0 -17px}.kos-hero-media>img{object-position:50% 60%}.kos-photo-caption{bottom:12px;left:13px;font-size:9px;padding:6px 8px}.kos-photo-caption span{font-size:8px}.kos-hero-label{font-size:8px;top:15px;right:15px}.kos-hero-ribbon .kos-shell{min-height:0;display:flex;gap:0;padding:14px 0;flex-direction:column;align-items:stretch}.kos-hero-ribbon span{border:0;padding:0!important;font-size:10px;line-height:1.9}.kos-hero-ribbon span:nth-child(2){border:0}.kos-hero-ribbon strong{font-size:10px}.kos-section{padding:62px 0}.kos-section-head{display:block;margin-bottom:24px}.kos-section-head h2,.kos-why h2{font-size:29px;line-height:1.43}.kos-section-head>p{margin:11px 0 0;font-size:11px;line-height:1.8}.kos-kicker{font-size:10px}.kos-mobile-only{display:block}.kos-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kos-choice{border-radius:10px}.kos-choice-photo{height:112px}.kos-choice-bottom{padding:12px 11px 12px;min-height:83px}.kos-choice-bottom strong{font-size:13px;letter-spacing:-.055em}.kos-choice-bottom small{font-size:9px;line-height:1.45;margin-top:5px;padding-right:10px}.kos-choice-arrow{top:10px;right:10px;font-size:14px}.kos-finder-details{margin-top:10px}.kos-detail{display:flex;flex-direction:column;border-radius:11px;scroll-margin-top:80px}.kos-detail-left{padding:12px 12px 0}.kos-detail-image{min-height:0;height:180px}.kos-detail-image img{position:static}.kos-detail-image>span{font-size:10px;bottom:9px;left:9px}.kos-detail-left>p{font-size:9px;margin:6px 0 0}.kos-detail-right{padding:15px 17px 20px}.kos-detail h3{font-size:22px;margin:4px 0}.kos-detail-description{font-size:11px;line-height:1.8}.kos-price-row{padding:10px 0;gap:9px}.kos-price-row strong{font-size:11px}.kos-price-row small{font-size:9px}.kos-price-row>span{font-size:17px}.kos-detail-conditions{font-size:9px}.kos-detail-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kos-detail-cta .kos-btn{font-size:10px;min-height:45px;padding:9px 7px}.kos-finder-bottom{flex-direction:column;align-items:flex-start;padding-top:14px;font-size:10px;gap:4px}.kos-why-grid{grid-template-columns:1fr;gap:27px}.kos-why-intro{font-size:12px;margin:15px 0 20px}.kos-why-list>div{grid-template-columns:45px 1fr;padding:14px 0}.kos-why-list h3{font-size:14px}.kos-why-list p{font-size:11px}.kos-cases-grid{grid-template-columns:1fr;gap:12px}.kos-case{display:grid;grid-template-columns:38% 1fr;min-height:165px}.kos-case-visual{height:100%;min-height:165px}.kos-case-info{padding:14px 13px;min-width:0}.kos-meta-line span{font-size:8px;padding:2px 5px}.kos-case-info h3{font-size:13px;margin:6px 0;line-height:1.55}.kos-case-price{font-size:10px;margin-bottom:8px}.kos-more{font-size:10px}.kos-case-footer{margin-top:22px}.kos-step-grid{grid-template-columns:1fr;gap:10px}.kos-step-grid>div{padding:16px;display:grid;grid-template-columns:48px 1fr;column-gap:6px}.kos-step-grid b{grid-row:span 2;font-size:23px}.kos-step-grid h3{font-size:14px;margin:0 0 4px}.kos-step-grid p{font-size:11px}.kos-final{padding:58px 0 110px}.kos-final h2{font-size:25px}.kos-final p:not(.kos-kicker){font-size:11px}.kos-final .kos-contact{display:none}.kos-footer-main{grid-template-columns:1fr 1fr;gap:30px 22px;padding:45px 0}.kos-footer-maincol{grid-column:1/-1}.kos-footer-maincol img{width:215px}.kos-footer-bottom{padding-bottom:83px}.kos-mobile-bar{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:200;grid-template-columns:1fr 1fr;gap:9px;background:#fffffff7;box-shadow:0 -7px 30px #133c3024;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}.kos-mobile-bar a{min-height:49px;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:12px;font-weight:900}.kos-mobile-call{background:#0c7d4c;color:#fff}.kos-mobile-line{background:#edf9ef;border:1px solid #a0d1ad;color:#067441}.kos-content-page{padding:20px 0 65px}.kos-breadcrumb{font-size:10px;gap:8px}.kos-article{padding:24px 17px 35px;border-radius:10px}.kos-article h1{font-size:25px}.kos-richtext{font-size:12px}.kos-richtext h2{font-size:20px}.kos-richtext h3{font-size:17px}.kos-richtext table{font-size:10px}.kos-richtext th,.kos-richtext td{padding:8px}.kos-article-contact{padding:17px 14px;margin-top:40px}.kos-article-contact .kos-contact{display:flex;flex-direction:column}.kos-work-summary{grid-template-columns:1fr 1fr;padding:10px}.kos-work-summary span{font-size:9px}.kos-work-summary strong{font-size:11px}.kos-inner-hero h1{font-size:30px}.kos-price-page .kos-finder{padding:50px 0}.kos-old-prices summary{padding:18px;font-size:12px}.kos-old-prices .kos-richtext{padding:12px 14px 30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ---- Keyper Studio 2.1: refined text rhythm, sections and CTA consistency ---- */
.kos-heading-line{display:block;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
.kos-hero h1{font-size:clamp(34px,3.55vw,52px);letter-spacing:-.055em;max-width:none;line-height:1.44}
.kos-hero-media>img{image-rendering:auto}
.kos-detail-cta{margin-top:6px;display:flex;gap:10px}
.kos-detail-cta .kos-btn{font-size:13px;min-height:51px;padding:11px 18px;flex:1;border-radius:8px}
.kos-staff-section{background:#fff;padding:0 0 92px}
.kos-staff-card{border:1px solid #dde9e0;border-radius:18px;background:#f5f9f6;display:flex;align-items:center;padding:23px 31px;gap:25px}
.kos-staff-portrait{flex:0 0 85px;width:85px;height:85px;background:#e2eee6;border:1px solid #cee1d5;border-radius:14px;overflow:hidden;display:grid;place-items:center}
.kos-staff-portrait img{display:block;width:100%;height:100%;object-fit:cover}
.kos-staff-fallback{text-align:center;color:#215642;line-height:1.3}.kos-staff-fallback small{display:block;font-size:9px;letter-spacing:.1em;color:#69947e}.kos-staff-fallback strong{display:block;font-size:15px;margin-top:6px}
.kos-staff-copy{flex:1;min-width:0}.kos-staff-copy .kos-kicker{margin-bottom:3px;font-size:9px}.kos-staff-copy h2{font-size:20px;line-height:1.4;margin:0 0 6px;letter-spacing:-.045em}.kos-staff-copy p:not(.kos-kicker){font-size:12px;line-height:1.85;color:#566e63;margin:0}
.kos-staff-facts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.kos-staff-cert,.kos-staff-experience{display:inline-flex;align-items:center;max-width:100%;border:1px solid #bed8c9;border-radius:24px;color:#33654d;background:#fff;font-size:11px;font-weight:800;padding:6px 12px;line-height:1.5}.kos-staff-experience{border-color:#d6e3d9;background:#eef5ef;color:#285c4a;white-space:normal}
.kos-area{background:#f5f8f5}.kos-area-grid{display:grid;grid-template-columns:1.13fr .87fr;gap:70px;align-items:center}
.kos-area h2,.kos-faq h2{font-size:clamp(30px,3.15vw,44px);letter-spacing:-.055em;line-height:1.45;margin:11px 0 23px;font-weight:950}
.kos-area-lead{font-size:15px;line-height:2;color:#4c665b;max-width:530px;margin:0 0 23px}
.kos-area-tags{display:flex;gap:9px;flex-wrap:wrap}.kos-area-tags span{font-size:12px;border-radius:999px;padding:8px 16px;color:#17583e;background:#fff;border:1px solid #cde1d2;font-weight:750}
.kos-area-notes{font-size:11px;color:#637970;margin:19px 0 0;line-height:1.9;max-width:540px}
.kos-area-board{border-radius:22px;min-height:352px;position:relative;overflow:hidden;background:radial-gradient(circle at 60% 45%,#245b4e,#143b37 60%,#0b302e);color:#fff;padding:27px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center}
.kos-area-board:before,.kos-area-board:after{content:"";position:absolute;z-index:0;border:1px solid #cde9d82c;border-radius:50%;width:325px;height:325px;top:-18px;left:calc(50% - 162px)}.kos-area-board:after{width:245px;height:245px;top:22px;left:calc(50% - 122px)}
.kos-area-board-label{font-size:10px;font-weight:800;letter-spacing:.17em;opacity:.72;position:relative;z-index:1;align-self:flex-start}
.kos-area-orbit{width:150px;height:150px;display:grid;place-items:center;border-radius:50%;border:1px solid #c1e4d65c;background:#255b4eb0;z-index:1;position:relative;box-shadow:0 0 0 10px #ffffff09}
.kos-area-orbit small{font-size:10px;display:block;opacity:.75;margin-bottom:7px}.kos-area-orbit strong{font-size:20px;line-height:1.35;letter-spacing:.02em}
.kos-area-board p{font-size:12px;line-height:1.85;color:#cfdfd7;position:relative;z-index:1;margin:0}
.kos-faq{background:#fff}.kos-faq-grid{display:grid;grid-template-columns:.73fr 1.27fr;gap:95px;align-items:start}.kos-faq-lead>p:not(.kos-kicker){font-size:13px;color:#678073;line-height:2;margin:0 0 24px;max-width:315px}.kos-faq-list{border-top:1px solid #dbe6dd}
.kos-faq-item{border-bottom:1px solid #dbe6dd;padding:0}.kos-faq-item summary{list-style:none;display:flex;align-items:center;gap:16px;padding:23px 6px;font-weight:800;font-size:15px;line-height:1.6;cursor:pointer}.kos-faq-item summary::-webkit-details-marker{display:none}.kos-faq-q{color:#c2393c;font-size:18px;font-family:Arial,sans-serif;font-weight:900}.kos-faq-toggle{flex:0 0 21px;width:21px;height:21px;border:1px solid #cddfd3;border-radius:50%;position:relative;margin-left:auto}.kos-faq-toggle:after,.kos-faq-toggle:before{content:"";position:absolute;background:#346e54;left:6px;right:6px;top:9px;height:1px}.kos-faq-toggle:after{transform:rotate(90deg)}.kos-faq-item[open] .kos-faq-toggle:after{transform:rotate(0)}
.kos-faq-answer{padding:0 48px 24px 41px;font-size:12px;line-height:2;color:#546e61}
@media(max-width:1150px){.kos-hero h1{font-size:clamp(32px,3.65vw,45px)}.kos-nav{gap:14px}.kos-area-grid{gap:32px}.kos-faq-grid{gap:50px}}
@media(max-width:900px){.kos-hero h1{font-size:clamp(30px,3.85vw,39px)}.kos-staff-section{padding-bottom:70px}.kos-area-board{min-height:300px}.kos-faq-grid{grid-template-columns:1fr;gap:24px}.kos-faq-lead>p:not(.kos-kicker){max-width:630px}.kos-area-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.kos-hero h1{font-size:clamp(29px,8.2vw,36px);line-height:1.45;letter-spacing:-.055em;max-width:none}.kos-hero-copy{width:100%}.kos-detail-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kos-detail-cta .kos-btn{min-height:48px;font-size:10px;padding:8px 9px}.kos-detail-cta .kos-line-mark{font-size:8px}.kos-staff-section{padding:0 0 59px}.kos-staff-card{padding:17px;gap:13px;flex-wrap:wrap;border-radius:12px}.kos-staff-portrait{flex-basis:59px;width:59px;height:59px;border-radius:9px}.kos-staff-fallback small{font-size:7px}.kos-staff-fallback strong{font-size:12px}.kos-staff-copy{flex:1}.kos-staff-copy h2{font-size:15px;margin-bottom:4px}.kos-staff-copy p:not(.kos-kicker){font-size:10px;line-height:1.75}.kos-staff-facts{margin-top:9px;gap:6px}.kos-staff-cert,.kos-staff-experience{font-size:9px;padding:5px 9px}.kos-area-grid{grid-template-columns:1fr;gap:30px}.kos-area h2,.kos-faq h2{font-size:29px;margin-bottom:16px}.kos-area-lead{font-size:12px;margin-bottom:15px}.kos-area-tags{gap:7px}.kos-area-tags span{font-size:10px;padding:6px 11px}.kos-area-notes{font-size:10px}.kos-area-board{min-height:270px}.kos-area-orbit{width:126px;height:126px}.kos-area-orbit strong{font-size:17px}.kos-faq-grid{grid-template-columns:1fr;gap:22px}.kos-faq-item summary{padding:18px 4px;font-size:12px;gap:10px}.kos-faq-q{font-size:15px}.kos-faq-answer{padding:0 23px 20px 31px;font-size:11px}.kos-faq-lead>p:not(.kos-kicker){font-size:11px}.kos-experience{font-size:11px;padding:9px 12px;margin-bottom:18px}}

/* --- v2.2: image-led LINE guide, contextual case studies and case archive filters --- */
.kos-price-related{margin:15px 0 6px;border-top:1px solid #d8e7db;padding-top:19px}
.kos-price-related-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:11px}
.kos-price-related-head strong{font-size:14px;color:#173d33}.kos-price-related-head>span{font-size:10px;color:#768980}
.kos-price-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kos-related-card{background:#fff;display:flex;align-items:stretch;min-width:0;border:1px solid #d9e5db;border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s;color:inherit}
.kos-related-card:hover{border-color:#7fae94;box-shadow:0 6px 20px #18382a12}
.kos-related-thumb{width:37%;flex:0 0 37%;min-height:126px;display:grid;place-items:center;background:#d9e7dd;color:#6e9380;font-size:26px}
.kos-related-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.kos-related-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 10px;min-width:0}
.kos-related-copy small{font-size:10px;color:#508165;font-weight:700}
.kos-related-copy strong{font-size:12px;line-height:1.55;letter-spacing:-.025em;color:#1d3830;overflow-wrap:anywhere}
.kos-related-copy em{font-size:11px;font-style:normal;color:#2e5b49;font-weight:800}
.kos-related-link{font-size:10px;color:#0c7750;text-decoration:underline;text-underline-offset:3px;font-weight:800;margin-top:auto}
.kos-related-more{display:inline-flex;margin:12px 0 2px;font-weight:800;font-size:12px;color:#126948;text-decoration:underline;text-underline-offset:4px}
.kos-photo-guide{background:#f5f8f5;padding:80px 0 86px;border-top:1px solid #e6eee8}
.kos-photo-guide-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:27px}
.kos-photo-guide-heading h2{font-size:clamp(28px,3vw,42px);line-height:1.46;letter-spacing:-.055em;margin:7px 0 0;font-weight:950}
.kos-photo-guide-heading>p{color:#5a7469;font-size:12px;line-height:1.9;max-width:345px;margin:0 0 3px}
.kos-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.kos-guide-card{background:white;border:1px solid #dfebe2;border-radius:14px;overflow:hidden}
.kos-guide-photo{height:192px;position:relative;overflow:hidden;background:#e5eae7}
.kos-guide-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.kos-guide-number{position:absolute;top:13px;left:13px;background:#143f33;color:#fff;padding:6px 10px;border-radius:5px;font-size:11px;font-weight:900;letter-spacing:.08em}
.kos-guide-info{padding:18px 19px 21px}.kos-guide-info h3{font-weight:900;font-size:17px;letter-spacing:-.04em;margin:0 0 7px}.kos-guide-info p{font-size:12px;line-height:1.75;color:#62776a;margin:0}
.kos-guide-illustration{height:100%;display:grid;place-items:center;background:linear-gradient(117deg,#d7dbd8 0 42%,#b2b9b6 42% 44%,#555e5a 45% 50%,#bec4c0 50% 100%)}
.kos-guide-door-edge{height:90%;width:85px;background:#747e7a;border:3px solid #dce0db;box-shadow:9px 0 22px #142c2744;display:grid;place-items:center;border-radius:4px}
.kos-guide-metal{width:43px;height:125px;border:1px solid #71817e;border-radius:4px;background:linear-gradient(90deg,#ced6d2,#f8faf8 40%,#a8b3af);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:11px 0;color:#495854}
.kos-guide-metal i{width:9px;height:9px;border-radius:50%;border:1px solid #7a8882;background:#c1cbc6}.kos-guide-metal b{font-size:10px;font-weight:800}
.kos-guide-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #dbe7dc;padding-top:24px;margin-top:24px}
.kos-guide-notice{font-size:11px;line-height:1.95;color:#657c70;margin:0}.kos-guide-notice strong{color:#2c5747;font-size:12px}
.kos-guide-action{flex-shrink:0;min-width:260px}
.kos-case-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.kos-case-filters a{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;padding:9px 15px;border:1px solid #d3e4d8;color:#315b48;background:#fff;font-size:12px;font-weight:800;min-height:38px}
.kos-case-filters a:hover,.kos-case-filters a.is-active{background:#115c42;color:#fff;border-color:#115c42}
.kos-filter-caption{font-size:12px;margin:0 0 18px;color:#668176}.kos-filter-caption strong{color:#154936}
.kos-case-no-results{grid-column:1/-1;padding:38px 26px;background:#f6faf6;border-radius:10px;color:#295a42}.kos-case-no-results p{font-size:12px;color:#647e6d}
@media(max-width:950px){.kos-price-related-grid{grid-template-columns:1fr}.kos-photo-guide{padding:64px 0}.kos-photo-guide-heading{display:block}.kos-photo-guide-heading>p{max-width:100%;margin-top:13px}.kos-guide-photo{height:160px}.kos-guide-info{padding:14px}.kos-guide-info h3{font-size:15px}}
@media(max-width:620px){.kos-price-related-head{display:block}.kos-price-related-head>span{display:block;margin-top:4px}.kos-related-thumb{min-height:100px}.kos-related-copy{padding:10px}.kos-related-copy strong{font-size:11px}.kos-related-copy em{font-size:10px}.kos-photo-guide{padding:58px 0}.kos-photo-guide-heading h2{font-size:27px}.kos-photo-guide-heading>p{font-size:11px}.kos-guide-grid{gap:10px}.kos-guide-card{display:flex;align-items:stretch;min-height:124px;border-radius:11px}.kos-guide-photo{flex:0 0 38%;height:auto;min-height:124px}.kos-guide-info{padding:15px 11px;display:flex;flex-direction:column;justify-content:center}.kos-guide-info h3{font-size:13px;line-height:1.45}.kos-guide-info p{font-size:10px}.kos-guide-grid{display:flex;flex-direction:column}.kos-guide-number{top:8px;left:8px;font-size:9px;padding:4px 7px}.kos-guide-door-edge{width:53px}.kos-guide-metal{width:29px;height:85px;padding:6px 0}.kos-guide-metal b{font-size:8px}.kos-guide-footer{flex-direction:column;align-items:stretch;gap:16px}.kos-guide-notice{font-size:10px}.kos-guide-action{min-width:0;width:100%}.kos-case-filters{gap:7px;margin:0 0 18px}.kos-case-filters a{font-size:11px;padding:7px 12px;min-height:35px}.kos-filter-caption{font-size:11px}}

/* ----- Studio v2.3: image clarity, visible all-in conditions and coverage copy ----- */
.kos-hero-media>img{object-position:47% 50%}
.kos-hero-media:after{background:linear-gradient(90deg,rgba(10,38,37,.08),transparent 45%)}
.kos-hero-media .kos-photo-caption{background:rgba(255,255,255,.96);color:#214b3e;box-shadow:0 4px 18px rgba(16,48,39,.12)}
.kos-detail-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;color:#1c6347}
.kos-detail-eyebrow span{font-size:11px;color:#175b42;background:#e5f4e9;border-radius:999px;padding:4px 11px;letter-spacing:0;margin-left:0}
.kos-total-note{display:flex;align-items:flex-start;gap:10px;border:1px solid #b7d9c2;background:#e7f6ec;border-radius:11px;padding:13px 15px;margin:16px 0 8px;color:#14563a}
.kos-total-note-check{display:inline-grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#0d784b;color:#fff;font-weight:900;font-size:15px;line-height:1}
.kos-total-note strong{display:block;font-size:13px;line-height:1.65;letter-spacing:-.02em}
.kos-total-note small{display:block;font-size:11px;margin-top:5px;line-height:1.65;color:#4d7762}
.kos-price-row>span{font-size:22px;font-weight:950;color:#0e6446;letter-spacing:-.045em}
.kos-detail-conditions{background:rgba(255,255,255,.8);border:1px solid #d6e5dc;border-radius:8px;padding:12px 14px;color:#5c7468;line-height:1.9;font-size:11px}
.kos-finder-bottom span{font-weight:750;color:#2b6350}
.kos-area-arrival{margin:22px 0 0;border-left:4px solid #159265;padding:6px 0 6px 17px;line-height:1.8}
.kos-area-arrival strong{font-size:16px;display:block;color:#174d3c}
.kos-area-arrival span{display:block;color:#61766b;font-size:12px;margin-top:3px}
.kos-area-board p strong{color:#fff;font-size:17px;line-height:1.8}
@media(max-width:900px){.kos-hero-media>img{object-position:42% 50%}}
@media(max-width:620px){
  .kos-hero-media>img{object-position:54% 44%}
  .kos-detail-eyebrow{font-size:9px}
  .kos-detail-eyebrow span{font-size:9px;padding:3px 9px}
  .kos-total-note{margin:13px 0 8px;padding:11px 10px;gap:9px}
  .kos-total-note strong{font-size:11px}
  .kos-total-note small{font-size:10px}
  .kos-price-row>span{font-size:18px}
  .kos-detail-conditions{font-size:10px;padding:10px 11px}
  .kos-area-arrival{margin-top:18px;padding-left:12px}
  .kos-area-arrival strong{font-size:13px}
  .kos-area-arrival span{font-size:10px}
  .kos-area-board p strong{font-size:15px}
}


/* ----------------------------------------------------
 * Studio 2.4 — FOREST EDITION
 * 深緑の安心感 × 明るい写真 × Kロゴの赤アクセント。
 * 2.3の税込総額案内や投稿の自動表示はそのまま保持。
 * ---------------------------------------------------- */
:root{
  --ink:#142c29;
  --deep:#174238;
  --deep2:#10342e;
  --muted:#60766c;
  --cream:#f5f8f3;
  --line:#d8e4dc;
  --light:#eaf2ec;
  --green:#0d7958;
  --red:#db2934;
  --shadow:0 17px 45px rgba(13,55,41,.105);
}
/* White wordmark stays legible. The more expressive forest palette lives below. */
.kos-top{background:#10342e;color:#e1f3ea}
.kos-header{box-shadow:0 2px 15px rgba(15,55,42,.045)}
.kos-header-call{background:#17473c;border-radius:10px}
.kos-header-call:hover{background:#0d614b}
.kos-hero{background:radial-gradient(ellipse at 22% 4%,#d8ecdf 0%,rgba(216,236,223,.55) 31%,transparent 68%),linear-gradient(128deg,#edf5ee 0%,#f2f7f2 72%,#e5f0e8 100%)}
.kos-hero h1{color:#142e29}
.kos-hero h1 .kos-heading-line:last-child{color:#0d785a}
.kos-hero .kos-lead{color:#405d51}
.kos-hero-points>span{border:1px solid #c7ddcf;background:rgba(255,255,255,.91);box-shadow:0 4px 20px rgba(12,68,48,.04)}
.kos-hero-media{margin-top:28px;margin-bottom:28px;height:520px;min-width:0;margin-right:0;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(14,51,40,.16)}
.kos-hero-media:after{background:linear-gradient(0deg,rgba(10,44,38,.24),transparent 28%,transparent 85%)}
.kos-photo-caption{border-radius:8px}
.kos-hero-label{font-size:9px}
.kos-btn-phone{background:#087e5a;box-shadow:0 8px 19px rgba(6,97,68,.13)}
.kos-btn-phone:hover{background:#075f46}
.kos-btn-line{background:rgba(255,255,255,.94);border-color:#97c3a9;color:#125c43}
.kos-hero-ribbon{background:#153e35;color:#e2f1e7}
.kos-hero-ribbon span{border-right-color:#477366}
/* Softer photo selector with clear forest active indication */
.kos-finder{background:#fff}
.kos-choice{border-color:#d5e3da;box-shadow:0 3px 14px rgba(20,60,44,.04)}
.kos-choice.selected{border-color:#0d7958;box-shadow:0 0 0 2px rgba(13,121,88,.17),0 13px 30px rgba(14,81,56,.08)}
.kos-choice.selected .kos-choice-bottom{background:#e8f3eb}
.kos-choice.selected .kos-choice-bottom strong{color:#155341}
.kos-detail{background:#ebf3ed;border-color:#cfdfd4}
.kos-detail-right{background:linear-gradient(149deg,#1b4a3f 0%,#153c33 58%,#10332e 100%);color:#f5fff8}
.kos-detail h3{color:#fff}
.kos-detail-description{color:#cfdfd3}
.kos-detail-eyebrow{color:#b0d7c0}
.kos-detail-eyebrow span{background:rgba(228,255,235,.12);color:#ecfff0;border:1px solid rgba(224,250,225,.22)}
.kos-detail .kos-total-note{background:#e5f5e8;color:#184b36;border-color:#c6e8ce}
.kos-detail .kos-total-note strong{color:#174a35}
.kos-detail .kos-total-note small{color:#4c7760}
.kos-detail .kos-price-row{border-top-color:rgba(240,255,244,.23)}
.kos-detail .kos-price-row strong{color:#f7fff9}
.kos-detail .kos-price-row small{color:#c4d9ca}
.kos-detail .kos-price-row>span{color:#c8f6da}
.kos-detail .kos-detail-conditions{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);color:#e4f1e7}
.kos-detail .kos-related-more{color:#eafbeb}
.kos-detail .kos-btn-phone{background:#087a58;color:white}
.kos-detail .kos-btn-line{background:#f6fff8;color:#15573f;border-color:transparent}
.kos-finder-bottom{padding-top:31px}
.kos-finder-bottom span{color:#295e4a}
/* Dark editorial section brings the remembered visual tone back. */
.kos-why{background:#153e35;color:#f6fff8}
.kos-why .kos-kicker{color:#abd6be}
.kos-why h2,.kos-why .kos-why-list h3{color:#fff}
.kos-why .kos-why-intro,.kos-why .kos-why-list p{color:#d0e4d7}
.kos-why .kos-text-link{color:#d8f9e6;border-bottom-color:#7ea892}
.kos-why .kos-why-list>div{border-bottom-color:rgba(227,250,235,.2)}
.kos-why .kos-why-num{color:#f38486}
.kos-photo-guide{background:#f1f7f2}
.kos-guide-card{background:#fff;border-color:#dbe8df}
.kos-process{background:#eef5ef}
.kos-step-grid>div{border-color:#cfe1d4;box-shadow:0 7px 22px rgba(26,71,46,.04)}
.kos-staff-card{background:#f0f6f0;border-color:#d1e4d6}
.kos-area{background:#f6f8f4}
.kos-area-board{background:radial-gradient(circle at 60% 42%,#357360 0%,#17483d 48%,#0d302c 100%);box-shadow:0 22px 45px rgba(15,54,42,.13)}
.kos-faq{background:#fff}
.kos-final{background:linear-gradient(120deg,#164538,#10342d)}
.kos-footer{background:#f1f6f0}
/* Mobile balance: light mint hero, vivid image, no cramped dark cards. */
@media(max-width:900px){
  .kos-hero-media{margin:0 0 18px;border-radius:17px;height:390px}
}
@media(max-width:620px){
  .kos-hero{background:linear-gradient(142deg,#e4f1e7 0%,#f2f7f0 66%,#e6f1e8 100%)}
  .kos-hero h1 .kos-heading-line:last-child{color:#0b7757}
  .kos-hero-media{margin:4px 0 0;border-radius:13px 13px 0 0;box-shadow:none;width:100%}
  .kos-hero-ribbon{background:#153e35}
  .kos-detail-right{background:linear-gradient(160deg,#1b4a3f,#10352e)}
  .kos-detail .kos-price-row>span{color:#c4f2d3}
  .kos-why{background:#174238}
  .kos-why .kos-why-intro,.kos-why .kos-why-list p{color:#d8e8dc}
  .kos-mobile-call{background:#087a58}
}
/* Dark-panel related works: headings must remain readable. */
.kos-detail .kos-price-related{border-top-color:rgba(234,255,238,.27)}
.kos-detail .kos-price-related-head strong{color:#f5fff8}
.kos-detail .kos-price-related-head>span{color:#b8d5c3}
.kos-detail .kos-related-card{color:#183d32;background:#fff}


/* ----------------------------------------------------
 * Studio 2.5 — coordinated internal pages.
 * All service pages share forest theme, photograph,
 * transparent pricing, reusable CTA and real work cards.
 * ---------------------------------------------------- */
.kos-service-page,.kos-general-page,.kos-story-page{background:#f5f8f3}
.kos-service-breadcrumb{padding-top:20px;margin-bottom:0;color:#668073}
.kos-service-hero{background:radial-gradient(ellipse at 18% 5%,#dcefe2,transparent 58%),linear-gradient(130deg,#f1f8f1,#e8f3eb 85%);padding:42px 0 68px}
.kos-service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.93fr);gap:64px;align-items:center}
.kos-service-hero-copy{padding:8px 0}
.kos-service-hero h1{font-size:clamp(31px,3.8vw,55px);letter-spacing:-.065em;font-weight:950;line-height:1.35;color:#14352e;margin:14px 0 22px;overflow-wrap:normal;word-break:keep-all}
.kos-service-lead{font-size:16px;line-height:1.95;color:#4b695b;max-width:570px;margin:0}
.kos-service-badges{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0 20px}
.kos-service-badges span{display:inline-block;border:1px solid #cadfd0;background:#fffdfa;border-radius:7px;padding:8px 12px;color:#255a47;font-weight:850;font-size:11px}
.kos-service-hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.kos-service-hero-cta .kos-btn{min-height:54px;font-size:13px;padding:12px 21px}
.kos-service-caveat{font-size:10px;color:#708677;line-height:1.7;margin:17px 0 0}
.kos-service-image{position:relative;height:380px;min-width:0;border-radius:19px;overflow:hidden;box-shadow:0 22px 50px #133c2d22;background:#d8e4da}
.kos-service-image img{display:block;width:100%;height:100%;object-fit:cover}
.kos-service-image span{position:absolute;left:18px;bottom:18px;background:#fffffff0;padding:7px 11px;font-size:11px;color:#204c3a;border-radius:5px}
.kos-service-pricing{background:#143e34;color:#edf8ef;padding:73px 0}
.kos-service-pricing-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:75px;align-items:start}
.kos-service-pricing h2,.kos-service-repair-note h2{font-size:clamp(30px,3vw,41px);margin:7px 0 19px;line-height:1.43;letter-spacing:-.06em}
.kos-service-pricing .kos-kicker{color:#abd8c1}
.kos-service-pricing-grid>div:first-child>p:not(.kos-kicker){font-size:14px;line-height:1.95;color:#e0f2e7;margin:0 0 16px}
.kos-pricing-small{font-size:11px!important;color:#bdd8c9!important}
.kos-service-price-box{background:#fff;border-radius:16px;padding:22px 27px;color:#193a30;box-shadow:0 20px 40px #0b241b2b}
.kos-micro-title{font-weight:900;color:#36795f;font-size:11px;letter-spacing:.05em}
.kos-service-price-row{border-top:1px solid #dfeae1;padding:16px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
.kos-service-price-row:first-of-type{margin-top:12px}
.kos-service-price-row strong{font-size:14px;line-height:1.6;display:block}
.kos-service-price-row small{display:block;font-size:11px;color:#75877a;line-height:1.5;margin-top:5px}
.kos-service-price-row b{font-size:22px;font-weight:950;color:#0d7958;white-space:nowrap;letter-spacing:-.04em}
.kos-service-price-box>p{font-size:11px;color:#708478;line-height:1.85;border-top:1px solid #dfeae1;margin:0;padding-top:15px}
.kos-service-price-more{display:inline-flex;color:#0f7855;font-size:13px;font-weight:900;margin-top:19px}
.kos-service-repair-note{padding:64px 0;background:#143e34;color:#fff}
.kos-service-repair-note .kos-kicker{color:#abd8c1}
.kos-service-repair-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.kos-service-repair-grid p:not(.kos-kicker){color:#d5e9df;font-size:14px;line-height:2;margin:0 0 18px}
.kos-service-repair-grid a{color:#c3f3d6;font-weight:900;font-size:13px}
.kos-service-body-section{padding:85px 0;background:#f8faf7}
.kos-service-body-grid{display:grid;grid-template-columns:minmax(200px,.4fr) minmax(0,.9fr);align-items:start;gap:65px}
.kos-service-body-head{position:sticky;top:95px}
.kos-service-body-head h2{font-size:30px;line-height:1.45;letter-spacing:-.05em;margin:12px 0}
.kos-service-body-head>p:not(.kos-kicker){font-size:13px;color:#708579;line-height:1.8}
.kos-service-prose{background:#fff;border:1px solid #dce8df;border-radius:15px;padding:35px 40px;box-shadow:0 10px 27px #163a2b0a;min-width:0}
.kos-service-prose>:first-child{margin-top:0}
.kos-service-prose h2{color:#153e33;border-bottom:2px solid #dfece2}
.kos-service-prose h3{color:#1c5441}
.kos-service-prose .wp-block-button__link,.kos-service-prose a.wp-block-button__link{background:#0d7958;color:#fff;text-decoration:none;border-radius:8px;padding:12px 20px}
.kos-service-prose .wp-block-image img{max-width:100%;height:auto}
.kos-service-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.kos-service-related{padding:78px 0;background:#fff}
.kos-service-nav{background:#eef5ef;padding:43px 0 62px}
.kos-service-nav .kos-micro-title{font-size:11px;margin:0 0 16px;color:#416950}
.kos-service-nav .kos-micro-title span{letter-spacing:0;margin-left:14px;color:#62786a}
.kos-service-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.kos-service-nav-link{background:#fff;border:1px solid #d9e8dc;min-height:75px;border-radius:10px;padding:18px 17px;display:flex;justify-content:space-between;align-items:center;gap:8px;transition:transform .2s,border-color .2s}
.kos-service-nav-link:hover{transform:translateY(-2px);border-color:#1b855f}
.kos-service-nav-link.is-current{border-color:#39765b;background:#e0f0e4}
.kos-service-nav-link strong{font-size:13px;line-height:1.55}
.kos-service-nav-link span{font-size:19px;color:#50856d}
.kos-inner-contact{background:#123e33;color:#fff;padding:68px 0 76px}
.kos-inner-contact-flex{display:flex;align-items:center;justify-content:space-between;gap:36px}
.kos-inner-contact h2{font-size:30px;line-height:1.45;margin:9px 0}
.kos-inner-contact p:not(.kos-kicker){font-size:12px;line-height:1.8;color:#c5e5d3;margin:0}
.kos-inner-contact .kos-kicker{color:#afd9c4}
.kos-inner-contact-buttons{flex-wrap:wrap;gap:10px}
.kos-inner-contact-buttons .kos-btn{min-height:53px}
.kos-general-hero{background:linear-gradient(125deg,#e0efe4,#f1f7ef);padding:30px 0 63px}
.kos-general-hero .kos-breadcrumb{margin-bottom:33px}
.kos-general-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.44;letter-spacing:-.05em;color:#153b30;margin:12px 0 0}
.kos-general-content{padding:65px 0 80px}
.kos-general-content .kos-service-prose{max-width:920px;margin:auto}
.kos-story-hero{background:linear-gradient(145deg,#e7f2e8,#f6f9f5);padding:25px 0 50px}
.kos-story-hero h1{font-size:clamp(28px,3.8vw,44px);letter-spacing:-.05em;line-height:1.5;margin:10px 0 13px;max-width:850px}
.kos-story-hero p:not(.kos-kicker){font-size:12px;color:#627a68}
.kos-story-hero .kos-kicker span{letter-spacing:0;margin-left:15px;color:#6b8a76}
.kos-story-body{padding:46px 0 85px;background:#f7faf6}
.kos-story-article{max-width:880px;margin:auto;border-radius:16px;background:#fff;border:1px solid #dfebe2;padding:43px 52px}
.kos-story-back{display:inline-flex;font-size:13px;color:#15694c;font-weight:900;margin-top:40px}
.kos-price-service-link{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;color:#1a6047;background:#e6f6ea;border:1px solid #c5e3d1;border-radius:8px;font-size:12px;font-weight:900;margin:8px 0 15px}
.kos-detail .kos-price-service-link{background:#e9f6e8;color:#18513d;border-color:#c3dfcc}
@media(max-width:950px){
.kos-service-hero-grid{gap:30px}.kos-service-image{height:320px}
.kos-service-pricing-grid{gap:30px}.kos-service-body-grid{grid-template-columns:1fr;gap:20px}.kos-service-body-head{position:static}.kos-service-nav-grid{grid-template-columns:repeat(2,1fr)}
.kos-inner-contact-flex{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
.kos-service-breadcrumb{padding-top:12px}.kos-service-hero{padding:24px 0 47px}.kos-service-hero-grid{grid-template-columns:1fr;gap:24px}
.kos-service-hero-copy{padding:0}.kos-service-hero h1{font-size:clamp(28px,8vw,35px);margin:8px 0 14px}
.kos-service-lead{font-size:12px;line-height:1.85}.kos-service-badges{gap:7px;margin:17px 0 14px}.kos-service-badges span{font-size:10px;padding:6px 9px}
.kos-service-hero-cta{display:none}.kos-service-caveat{font-size:9px;margin-top:11px}.kos-service-image{height:220px;border-radius:11px}
.kos-service-image span{bottom:10px;left:10px;font-size:9px}.kos-service-pricing{padding:45px 0}
.kos-service-pricing-grid,.kos-service-repair-grid{grid-template-columns:1fr;gap:22px}
.kos-service-pricing h2,.kos-service-repair-note h2{font-size:29px}.kos-service-pricing-grid>div:first-child>p:not(.kos-kicker){font-size:12px}
.kos-pricing-small{font-size:10px!important}.kos-service-price-box{padding:16px}.kos-service-price-row{padding:12px 0}
.kos-service-price-row strong{font-size:11px}.kos-service-price-row small{font-size:9px}.kos-service-price-row b{font-size:17px}
.kos-service-repair-note{padding:43px 0}.kos-service-repair-grid p:not(.kos-kicker){font-size:12px}
.kos-service-body-section,.kos-general-content{padding:44px 0}.kos-service-body-head h2{font-size:25px}
.kos-service-prose{padding:20px 16px;border-radius:10px}
.kos-service-related{padding:50px 0}.kos-service-nav{padding:36px 0 45px}.kos-service-nav-grid{gap:9px}.kos-service-nav-link{min-height:58px;padding:12px;font-size:11px}.kos-service-nav-link strong{font-size:11px}
.kos-inner-contact{padding:47px 0 90px}.kos-inner-contact h2{font-size:24px}.kos-inner-contact-buttons{display:none}
.kos-general-hero{padding:20px 0 42px}.kos-general-hero h1{font-size:30px}
.kos-story-hero{padding:18px 0 39px}.kos-story-hero h1{font-size:27px}.kos-story-body{padding:26px 0 48px}.kos-story-article{padding:24px 17px}
}

/* -------------------------------------------------------
   Studio v2.6 — visual, complete price guide for /price/
   Maintains existing admin-configurable service pricing.
   ------------------------------------------------------- */
.kos-p26{background:#fff;color:#183c32;overflow:clip}
.kos-p26-crumb{padding-top:19px;padding-bottom:4px}
.kos-p26-crumb .kos-breadcrumb{margin:0;font-size:11px}
.kos-p26-kicker{font-size:11px;letter-spacing:.15em;font-weight:900;color:#227955;margin:0 0 19px;line-height:1.4}
.kos-p26-kicker span{margin-left:12px;color:#6f8a79;font-size:10px;letter-spacing:.05em}
.kos-p26-hero{background:radial-gradient(circle at 35% 0%,#eff8ed 0%,transparent 62%),linear-gradient(115deg,#eaf4ec,#f6faf5);padding:48px 0 58px}
.kos-p26-hero-grid{display:grid;grid-template-columns:minmax(0,1.11fr) minmax(0,.89fr);gap:65px;align-items:center}
.kos-p26-hero-text{padding:8px 0}
.kos-p26-hero h1{font-size:clamp(42px,4.8vw,69px);font-weight:950;line-height:1.36;letter-spacing:-.08em;margin:0 0 20px;color:#16372f}
.kos-p26-hero h1 em{font-style:normal;color:#13805b}
.kos-p26-lead{font-size:15px;line-height:2;color:#45675a;max-width:565px;margin-bottom:24px}
.kos-p26-lead strong{color:#133e30;background:linear-gradient(transparent 73%,#c9e5ca 73%);font-weight:850}
.kos-p26-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.kos-p26-badges span{font-size:11px;font-weight:800;color:#175841;background:#fff;border:1px solid #c9ddd0;border-radius:99px;padding:8px 12px}
.kos-p26-hero-link{background:#0d7652;color:#fff;border-radius:11px;padding:14px 26px;display:inline-flex;align-items:center;gap:35px;font-weight:850;font-size:14px;box-shadow:0 10px 28px #0b65472a}
.kos-p26-hero-link:hover{background:#0b6145;color:#fff}
.kos-p26-hero-link span{font-size:22px;font-weight:500}
.kos-p26-hero-photo{height:480px;position:relative;border-radius:18px;overflow:hidden;box-shadow:0 25px 55px #103c2927}
.kos-p26-hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 49%;display:block}
.kos-p26-hero-over{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(12,39,34,.90),rgba(12,39,34,.05));color:#fff;padding:55px 30px 23px;display:flex;flex-direction:column;gap:2px}
.kos-p26-hero-over span{font-size:10px;letter-spacing:.12em;color:#bbd5c6}
.kos-p26-hero-over strong{font-size:20px;line-height:1.4}
.kos-p26-hero-over small{font-size:10px;color:#dbe8df}
.kos-p26-commit{background:#123d33;color:#fff;padding:26px 0}
.kos-p26-commit-row{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:50px}
.kos-p26-commit-row>div{display:flex;align-items:center;gap:22px}
.kos-p26-commit b{font-size:10px;white-space:nowrap;letter-spacing:.06em;font-weight:800;color:#a4d2b2;border-right:1px solid #467764;padding-right:23px}
.kos-p26-commit strong{font-size:16px;line-height:1.65}
.kos-p26-commit .kos-p26-commit-accent{color:#baf3cb;white-space:nowrap}
.kos-p26-commit p{font-size:11px;line-height:1.8;color:#c6e1d1;margin:0}
.kos-p26-pick{padding:84px 0 88px;background:#fff;scroll-margin-top:85px}
.kos-p26-section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.kos-p26-section-intro .kos-p26-kicker{margin-bottom:9px}
.kos-p26-section-intro h2{font-size:clamp(29px,3.2vw,44px);line-height:1.42;letter-spacing:-.06em;font-weight:950;color:#163e32;margin:0}
.kos-p26-section-intro>p{max-width:415px;color:#6d8075;font-size:13px;line-height:1.85;margin:0}
.kos-p26-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.kos-p26-pick-card{border-radius:13px;overflow:hidden;min-width:0;background:#f9fbf8;border:1px solid #dfe8df;transition:transform .15s, box-shadow .15s, border-color .15s}
.kos-p26-pick-card:hover{transform:translateY(-3px);box-shadow:0 13px 35px #174a3221;border-color:#92b5a0}
.kos-p26-pick-photo{height:188px;display:block;background:#e6ede7;overflow:hidden}
.kos-p26-pick-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s}
.kos-p26-pick-card:hover img{transform:scale(1.035)}
.kos-p26-pick-info{padding:18px 19px 21px;display:block;position:relative;min-height:92px}
.kos-p26-pick-info strong{display:block;font-size:17px;font-weight:900;color:#1b4536;line-height:1.4}
.kos-p26-pick-info small{display:block;font-size:11px;line-height:1.5;color:#6b8576;margin-top:6px;padding-right:23px}
.kos-p26-pick-info>span{position:absolute;top:18px;right:17px;font-size:17px;color:#18815c}
.kos-p26-image-hint{font-size:11px;color:#75867c;margin:20px 0 0;line-height:1.75}
.kos-p26-main{background:#f4f8f4;padding:92px 0 80px}
.kos-p26-main .kos-p26-section-intro{margin-bottom:35px}
.kos-p26-group{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:0;border:1px solid #e1eae3;background:#fff;border-radius:18px;overflow:hidden;margin-bottom:28px;scroll-margin-top:105px;box-shadow:0 9px 30px #1539230b}
.kos-p26-group-left{background:#dde9e0;position:relative;display:flex;flex-direction:column;min-width:0}
.kos-p26-group-photo{height:100%;min-height:470px;position:relative;flex:1}
.kos-p26-group-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kos-p26-group-photo span{position:absolute;left:20px;top:20px;border-radius:6px;padding:8px 12px;background:#fffffff2;color:#234d3d;font-weight:800;font-size:11px}
.kos-p26-group-index{position:absolute;right:22px;bottom:17px;color:#fff;font-weight:900;letter-spacing:.18em;text-shadow:0 1px 14px #203b3b88;font-size:11px}
.kos-p26-group-right{padding:40px 44px 34px;min-width:0}
.kos-p26-eyebrow{font-size:10px;font-weight:850;letter-spacing:.11em;color:#28815f;margin:0 0 9px}
.kos-p26-group-right h3{font-size:30px;line-height:1.4;letter-spacing:-.06em;margin:0 0 7px;font-weight:950;color:#183e31}
.kos-p26-group-description{color:#6a8173;font-size:12px;line-height:1.85;margin:0 0 20px}
.kos-p26-bill{display:flex;align-items:flex-start;gap:10px;border-radius:10px;background:#ecf7ed;border:1px solid #cce5d0;padding:13px 14px;margin:0 0 13px;color:#1b6344}
.kos-p26-bill-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#147652;color:white;flex:0 0 25px;font-size:12px;font-weight:950}
.kos-p26-bill strong{font-size:13px;font-weight:900;line-height:1.6;display:block}
.kos-p26-bill small{color:#5e7f69;font-size:11px;line-height:1.7;display:block;margin-top:3px}
.kos-p26-rows{border-top:1px solid #e3ebe4}
.kos-p26-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid #e3ebe4}
.kos-p26-row-copy{min-width:0}.kos-p26-row-copy b{display:block;font-size:13px;line-height:1.5;font-weight:850;color:#173d32}
.kos-p26-row-copy small{display:block;font-size:10px;color:#7d9083;margin-top:4px;line-height:1.6}
.kos-p26-row-price{font-size:22px;letter-spacing:-.045em;color:#107853;white-space:nowrap;font-weight:950}
.kos-p26-smallprint{color:#7c8e82;font-size:10px;line-height:1.85;margin:16px 0 18px}
.kos-p26-related{padding:18px 0 3px}.kos-p26-related h4{font-size:13px;color:#1f5d43;margin:0 0 12px}
.kos-p26-contact{display:flex;gap:10px;margin:21px 0 0}.kos-p26-contact .kos-btn{font-size:12px;flex:1;min-height:48px;padding:11px 12px;border-radius:8px}
.kos-p26-extras{padding:90px 0 94px;background:#fff}
.kos-p26-extras-list{border-top:1px solid #dbe7de;display:flex;flex-direction:column}
.kos-p26-extra{border-bottom:1px solid #dbe7de;background:#fff;scroll-margin-top:100px}
.kos-p26-extra summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:19px 6px}
.kos-p26-extra summary::-webkit-details-marker{display:none}
.kos-p26-extra-img{flex:0 0 84px;width:84px;height:73px;border-radius:9px;overflow:hidden;background:#e5ece5}
.kos-p26-extra-img img{display:block;width:100%;height:100%;object-fit:cover}
.kos-p26-extra-label{display:block;flex:1;min-width:0}
.kos-p26-extra-label strong{display:block;font-size:18px;color:#183e30;line-height:1.55;font-weight:950}
.kos-p26-extra-label small{display:block;color:#778a7b;font-size:11px;margin-top:4px;line-height:1.6}
.kos-p26-extra-toggle{width:35px;height:35px;flex:0 0 35px;border-radius:50%;display:grid;place-items:center;color:#137c58;background:#e5f3e8;font-size:22px;font-weight:400;transition:transform .15s}
.kos-p26-extra[open] .kos-p26-extra-toggle{transform:rotate(45deg)}
.kos-p26-extra-body{padding:0 22px 26px 110px}
.kos-p26-extra-row{padding:12px 0;border-top:1px solid #e1e9e2;display:flex;justify-content:space-between;gap:18px;align-items:center}
.kos-p26-extra-row>div{min-width:0}
.kos-p26-extra-row strong{color:#234636;display:block;font-size:12px;line-height:1.5}
.kos-p26-extra-row small{color:#849687;font-size:10px;display:block;margin-top:4px}
.kos-p26-extra-row b{font-size:15px;color:#176f50;font-weight:900;white-space:nowrap}
.kos-p26-extra-caveat{background:#f4f8f3;border-radius:8px;padding:12px;font-size:11px;line-height:1.8;color:#607b6b;margin:15px 0 0}
.kos-p26-steps{padding:82px 0 90px;background:#eaf4ec}
.kos-p26-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kos-p26-steps-grid>div{background:#fff;padding:28px 25px;border-radius:12px;border:1px solid #d1e5d6}
.kos-p26-steps-grid span{display:block;color:#12744d;font-size:12px;font-weight:950;letter-spacing:.1em;margin-bottom:20px}
.kos-p26-steps-grid strong{font-size:17px;color:#173e30;display:block;margin-bottom:8px}
.kos-p26-steps-grid p{font-size:12px;line-height:1.9;margin:0;color:#678070}
@media(max-width:980px){
 .kos-p26-hero-grid{gap:32px}
 .kos-p26-hero-photo{height:410px}
 .kos-p26-commit-row{gap:20px}
 .kos-p26-group{grid-template-columns:minmax(0,.37fr) minmax(0,.63fr)}
 .kos-p26-group-right{padding:26px 24px}
 .kos-p26-row-price{font-size:19px}
 .kos-p26-contact .kos-btn{font-size:11px}
}
@media(max-width:700px){
 .kos-p26-crumb{padding-top:12px}
 .kos-p26-hero{padding:32px 0 42px}
 .kos-p26-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:20px}
 .kos-p26-hero-text{padding:0}
 .kos-p26-kicker{font-size:10px;margin-bottom:10px}
 .kos-p26-hero h1{font-size:clamp(31px,8.4vw,45px);margin-bottom:15px;line-height:1.4}
 .kos-p26-lead{font-size:12px;line-height:1.85;margin-bottom:15px}
 .kos-p26-badges{gap:6px;margin-bottom:19px}
 .kos-p26-badges span{font-size:9px;padding:6px 8px}
 .kos-p26-hero-link{padding:11px 16px;font-size:12px;gap:22px}
 .kos-p26-hero-photo{height:230px;border-radius:12px}
 .kos-p26-hero-over{padding:40px 15px 12px}
 .kos-p26-hero-over strong{font-size:14px}
 .kos-p26-hero-over span,.kos-p26-hero-over small{font-size:9px}
 .kos-p26-commit{padding:22px 0}
 .kos-p26-commit-row{display:flex;flex-direction:column;gap:13px;align-items:stretch}
 .kos-p26-commit-row>div{gap:12px}
 .kos-p26-commit b{font-size:8px;padding-right:12px}
 .kos-p26-commit strong{font-size:13px;line-height:1.55}
 .kos-p26-commit p{font-size:10px}
 .kos-p26-pick{padding:58px 0 62px}
 .kos-p26-section-intro{display:block;margin-bottom:22px}
 .kos-p26-section-intro h2{font-size:29px}
 .kos-p26-section-intro>p{font-size:11px;margin-top:12px}
 .kos-p26-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .kos-p26-pick-photo{height:114px}
 .kos-p26-pick-info{padding:12px 11px 15px;min-height:84px}
 .kos-p26-pick-info strong{font-size:13px}
 .kos-p26-pick-info small{font-size:9px;padding-right:12px;line-height:1.5}
 .kos-p26-pick-info>span{font-size:14px;top:10px;right:10px}
 .kos-p26-image-hint{font-size:9px;margin-top:14px}
 .kos-p26-main{padding:58px 0 45px}
 .kos-p26-group{display:flex;flex-direction:column;border-radius:12px;margin-bottom:15px;scroll-margin-top:72px}
 .kos-p26-group-photo{min-height:0;height:182px;flex:none}
 .kos-p26-group-photo img{object-position:center 45%}
 .kos-p26-group-photo span{top:10px;left:10px;font-size:9px;padding:5px 7px}
 .kos-p26-group-index{right:12px;bottom:10px;font-size:9px}
 .kos-p26-group-right{padding:20px 16px 22px}
 .kos-p26-eyebrow{font-size:9px;margin-bottom:4px}
 .kos-p26-group-right h3{font-size:23px;margin-bottom:6px}
 .kos-p26-group-description{font-size:11px;margin-bottom:13px}
 .kos-p26-bill{gap:9px;padding:11px 10px;margin-bottom:12px}
 .kos-p26-bill strong{font-size:11px}.kos-p26-bill small{font-size:9px}
 .kos-p26-row{padding:11px 0;gap:10px}
 .kos-p26-row-copy b{font-size:11px}.kos-p26-row-copy small{font-size:9px}
 .kos-p26-row-price{font-size:17px}
 .kos-p26-smallprint{font-size:9px;line-height:1.7}
 .kos-p26-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .kos-p26-contact .kos-btn{font-size:10px;min-height:48px;padding:9px 7px}
 .kos-p26-extras{padding:58px 0 65px}
 .kos-p26-extra summary{gap:12px;padding:14px 2px}
 .kos-p26-extra-img{width:56px;height:58px;flex-basis:56px}
 .kos-p26-extra-label strong{font-size:14px}.kos-p26-extra-label small{font-size:9px}
 .kos-p26-extra-toggle{width:28px;height:28px;flex-basis:28px;font-size:19px}
 .kos-p26-extra-body{padding:0 2px 22px}
 .kos-p26-extra-row strong{font-size:11px}.kos-p26-extra-row small{font-size:9px}
 .kos-p26-extra-row b{font-size:12px}
 .kos-p26-extra-caveat{font-size:9px}
 .kos-p26-steps{padding:60px 0 65px}
 .kos-p26-steps-grid{display:flex;flex-direction:column;gap:10px}
 .kos-p26-steps-grid>div{padding:18px 20px}
 .kos-p26-steps-grid span{margin-bottom:5px;font-size:10px}
 .kos-p26-steps-grid strong{font-size:14px}.kos-p26-steps-grid p{font-size:11px}
}
@media(max-width:345px){
 .kos-p26-row-price{font-size:15px}
 .kos-p26-contact .kos-btn{font-size:9px}
 .kos-p26-commit strong{font-size:12px}
}

/* More specific prices from existing price sheet, shown without overstating all-in coverage. */
.kos-p26-more{margin-top:13px;border:1px solid #d8e8dc;border-radius:9px;overflow:hidden;background:#fbfdfb}
.kos-p26-more summary{padding:14px 17px;display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:12px;color:#175c3f;font-weight:900}
.kos-p26-more summary::-webkit-details-marker{display:none}
.kos-p26-more summary span{font-size:18px;line-height:1;color:#237e56;transition:transform .15s}
.kos-p26-more[open] summary span{transform:rotate(45deg)}
.kos-p26-more-rows{padding:0 15px 12px}
.kos-p26-more-row{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 0;border-top:1px solid #e4ebe5}
.kos-p26-more-row>div{min-width:0}.kos-p26-more-row strong{font-size:12px;line-height:1.5;display:block}.kos-p26-more-row small{font-size:10px;color:#7b8c80;display:block;margin-top:3px}
.kos-p26-more-row b{font-size:15px;color:#116e4c;white-space:nowrap}
@media(max-width:700px){.kos-p26-more summary{font-size:11px;padding:12px}.kos-p26-more-rows{padding:0 10px 10px}.kos-p26-more-row strong{font-size:10px}.kos-p26-more-row small{font-size:9px}.kos-p26-more-row b{font-size:12px}}

/* =============================================================
 * Studio v2.7 — real-work journal, forest-green editorial design
 * All new article content comes from genuine WordPress Posts.
 * ============================================================= */
.kos-work-archive,.kos-work-single{background:#f7faf7;color:#17382f}
.kos-wa-hero{position:relative;overflow:hidden;background:linear-gradient(122deg,#e9f3e9 5%,#f6faf5 69%,#e2f1e6);padding:24px 0 63px;border-bottom:1px solid #d8e7dc}
.kos-wa-hero .kos-breadcrumb{margin:0 0 35px}
.kos-wa-hero-main{display:flex;gap:32px;justify-content:space-between;align-items:center}
.kos-wa-hero-main>div:first-child{flex:1;min-width:0}
.kos-wa-kicker,.kos-ws-kicker{font-size:11px;color:#155d4a;font-weight:950;letter-spacing:.13em;margin:0 0 15px}
.kos-wa-kicker span,.kos-ws-kicker span{font-weight:950;color:#0f7858}
.kos-wa-hero h1{font-size:clamp(32px,4.2vw,54px);line-height:1.35;letter-spacing:-.065em;margin:0 0 15px;overflow-wrap:anywhere}
.kos-wa-hero-main>div:first-child>p:last-child{color:#597568;font-size:14px;line-height:2;margin:0}
.kos-wa-hero-symbol{width:220px;min-height:170px;border-radius:14px;background:#1a473d;color:#eefbf0;display:flex;flex-direction:column;justify-content:center;padding:32px;box-shadow:0 20px 50px #1e493626}
.kos-wa-hero-symbol span{font-size:11px;letter-spacing:.23em;font-weight:800;color:#b5d8c7}
.kos-wa-hero-symbol strong{font-size:53px;line-height:1.3;letter-spacing:-.12em}
.kos-wa-hero-symbol small{font-size:9px;letter-spacing:.14em;color:#b4d4c3}
.kos-wa-list{padding:47px 0 90px;background:#fff}
.kos-wa-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 40px}
.kos-wa-filters a{border:1px solid #d5e6d9;background:#f7faf7;color:#2b5d4b;font-size:12px;font-weight:850;min-height:39px;border-radius:40px;padding:8px 17px}
.kos-wa-filters a:hover,.kos-wa-filters a.is-active{color:#fff;border-color:#145b45;background:#145b45}
.kos-wa-list-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 21px;padding-bottom:14px;border-bottom:1px solid #dfe9e2}
.kos-wa-list-meta h2{font-size:22px;line-height:1.35;letter-spacing:-.04em;margin:0;color:#143b30}
.kos-wa-list-meta>span{font-size:12px;color:#597f6d;font-weight:800}
.kos-wa-grid{row-gap:24px}
.kos-work-card{display:flex;flex-direction:column;border:1px solid #dce9e0;border-radius:14px;box-shadow:0 10px 32px #173e3110;overflow:hidden;transition:transform .2s,box-shadow .2s}
.kos-work-card:hover{transform:translateY(-3px);box-shadow:0 17px 37px #173e311a}
.kos-work-card .kos-case-visual{height:225px;position:relative;background:#e6efe8}
.kos-work-card .kos-case-visual img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.kos-work-card:hover .kos-case-visual img{transform:scale(1.035)}
.kos-work-card-type{position:absolute;left:14px;top:14px;background:#15563f;color:#f7fff9;border-radius:100px;padding:6px 13px;font-size:11px;font-weight:850;box-shadow:0 3px 12px #092c2850}
.kos-work-card .kos-case-info{display:flex;flex-direction:column;align-items:stretch;flex:1;padding:21px 22px 19px}
.kos-work-card-meta{display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;font-size:11px;color:#65806e;line-height:1.65;margin:0}
.kos-work-card-meta>span:not(:first-child):before{content:'・'}
.kos-work-card-meta time{margin-left:auto;font-size:10px;color:#81978a}
.kos-work-card h3{font-size:18px;line-height:1.55;margin:12px 0 15px;color:#14372f;letter-spacing:-.045em;overflow-wrap:anywhere}
.kos-work-card-facts{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px 15px;background:#f2f7f2;border:1px solid #e5ede6;border-radius:9px;padding:12px;margin-top:auto;font-size:11px;color:#536f60}
.kos-work-card-facts>strong{display:flex;align-items:baseline;gap:6px;color:#26614b;font-size:10px;flex-wrap:wrap}
.kos-work-card-facts b{font-size:18px;color:#ba4b2b;letter-spacing:-.04em;line-height:1.4}
.kos-work-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:17px;font-size:12px;border-top:1px solid #e7efe9;padding-top:14px}
.kos-work-card-link span{color:#1a7554;font-size:18px}
.kos-work-single .kos-breadcrumb{margin-bottom:26px}
.kos-ws-intro{background:radial-gradient(circle at 5% 4%,#e0f0e3,transparent 40%),linear-gradient(118deg,#eef6ee,#f9fbf8);padding:24px 0 47px;border-bottom:1px solid #d8e7dc}
.kos-ws-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:40px;align-items:center}
.kos-ws-hero:not(:has(.kos-ws-hero-image)){display:block}
.kos-ws-heading{min-width:0}
.kos-ws-kicker{margin:0 0 14px}
.kos-ws-tags{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:20px}
.kos-ws-tags>span{display:inline-block;color:#225f48;font-size:12px;border-radius:60px;padding:6px 13px;background:#fff;border:1px solid #cee3d3;font-weight:850}
.kos-ws-tags .kos-ws-tag-primary{color:#fff;background:#145c43;border-color:#145c43}
.kos-ws-intro h1{font-size:clamp(28px,3.65vw,47px);line-height:1.47;letter-spacing:-.052em;color:#163b31;margin:0 0 14px;max-width:830px;overflow-wrap:anywhere}
.kos-ws-lead{font-size:13px;line-height:1.85;color:#5e766a;margin:0 0 13px}
.kos-ws-date{font-size:11px;color:#738e7d}
.kos-ws-hero-image{position:relative;border-radius:18px;overflow:hidden;margin:0;height:280px;background:#e2eee4;box-shadow:0 13px 30px #173e3117}
.kos-ws-hero-image img{width:100%;height:100%;display:block;object-fit:cover}
.kos-ws-hero-image figcaption{position:absolute;left:14px;bottom:14px;background:#fffef6f2;border-radius:5px;padding:5px 10px;color:#325d47;font-size:10px;font-weight:750}
.kos-ws-content{padding:46px 0 85px}
.kos-ws-grid{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:26px;align-items:start}
.kos-ws-article{min-width:0;background:#fff;border:1px solid #dce9df;border-radius:16px;padding:40px 43px 36px;box-shadow:0 9px 29px #163a2c0c}
.kos-ws-side{position:sticky;top:111px;display:flex;flex-direction:column;gap:13px}
.kos-ws-facts{background:#19483b;color:#f7fffa;border-radius:15px;padding:28px 27px 23px;box-shadow:0 12px 25px #1c513425}
.kos-ws-side-kicker{font-size:10px;letter-spacing:.16em;color:#b9d8c8;font-weight:850;margin-bottom:8px}
.kos-ws-facts h2{color:#fff;font-size:21px;margin:0 0 17px;letter-spacing:-.05em}
.kos-ws-facts dl{margin:0}
.kos-ws-facts dl>div{display:grid;grid-template-columns:98px 1fr;gap:10px;border-top:1px solid #ffffff26;padding:11px 0;align-items:baseline}
.kos-ws-facts dt{font-size:11px;color:#b6d0c3}
.kos-ws-facts dd{margin:0;font-size:12px;color:#f4fcf7;font-weight:750;overflow-wrap:anywhere}
.kos-ws-price{padding:20px 17px;background:#f4f8ee;color:#154b38;border-radius:10px;margin-top:14px}
.kos-ws-price span{font-size:11px;display:block;font-weight:850}
.kos-ws-price strong{display:block;font-size:27px;line-height:1.4;color:#0c7554;letter-spacing:-.035em;margin:5px 0}
.kos-ws-price small{font-size:10px;color:#526e5b;line-height:1.65;display:block}
.kos-ws-photo-note{font-size:10px;line-height:1.75;color:#cde4d6;margin:14px 0 0}
.kos-ws-side-contact{background:#ecf5ed;border:1px solid #d4e6d8;border-radius:13px;padding:23px 18px}
.kos-ws-side-contact>strong{font-size:14px;color:#174b38}
.kos-ws-side-contact>p{font-size:11px;line-height:1.65;margin:5px 0 14px;color:#60786a}
.kos-ws-contact-buttons{display:grid;gap:8px}
.kos-ws-contact-buttons .kos-btn{min-height:42px;padding:9px 10px;font-size:11px}
.kos-ws-info-panels{display:grid;gap:13px;margin-bottom:28px}
.kos-ws-text-panel{padding:21px 24px;border-radius:11px;border:1px solid #deebe1;background:#f3f8f2}
.kos-ws-text-panel>span{color:#17714e;font-size:10px;letter-spacing:.06em;font-weight:850}
.kos-ws-text-panel h2{color:#194a39;font-size:20px;line-height:1.45;margin:8px 0 9px;letter-spacing:-.05em}
.kos-ws-text-panel p{line-height:2;color:#3e6250;font-size:13px;margin:0}
.kos-ws-editorial{line-height:2;color:#304b3c;font-size:14px}
.kos-ws-editorial h2{border-bottom:none;font-size:23px;letter-spacing:-.035em;position:relative;padding-left:17px;margin-top:1.8em}
.kos-ws-editorial h2:before{content:'';position:absolute;width:4px;left:0;top:.1em;bottom:.1em;border-radius:4px;background:#15835c}
.kos-ws-editorial h3{font-size:19px;color:#174838}
.kos-ws-editorial img{display:block;max-width:100%;height:auto;border-radius:12px}
.kos-ws-editorial figure{max-width:100%;margin:25px 0}
.kos-ws-editorial figcaption{font-size:11px;line-height:1.7;color:#6a8275;margin:9px 0}
.kos-ws-editorial .wp-block-image img{max-height:650px;object-fit:contain}
.kos-ws-editorial .wp-block-gallery{display:flex;flex-wrap:wrap;gap:12px}
.kos-ws-editorial .wp-block-gallery>figure{flex:1 1 40%;margin:0}
.kos-ws-editorial table{width:100%;border-collapse:collapse}
.kos-ws-editorial th,.kos-ws-editorial td{padding:10px;border:1px solid #d9e7dd}
.kos-ws-editorial th{background:#edf5ee}
.kos-ws-notice{margin-top:27px;background:#f5f7ee;border-left:4px solid #d6a44b;border-radius:0 8px 8px 0;padding:17px 20px}
.kos-ws-notice strong{font-size:13px;color:#554f2d}
.kos-ws-notice p{font-size:12px;margin:7px 0 0;line-height:1.85;color:#655f43}
.kos-ws-article-end{border-top:1px solid #dfebe2;margin-top:31px;padding-top:19px;display:flex;flex-direction:column;gap:14px}
.kos-ws-article-end span{font-size:11px;color:#73887a;line-height:1.9}
.kos-ws-article-end a{font-size:12px;font-weight:850;color:#16684e}
.kos-ws-related{background:#fff;padding:70px 0 80px;border-top:1px solid #e3ece5}
.kos-ws-related-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.kos-ws-related-head h2{font-size:30px;margin:0;color:#174435;letter-spacing:-.05em}
.kos-ws-related-head a{font-size:12px;color:#116c4d;font-weight:850}
.kos-ws-related .kos-cases-grid{gap:17px}
.kos-pagination .page-numbers{display:inline-flex;min-width:34px;min-height:34px;align-items:center;justify-content:center;border-radius:7px;margin:0 3px;padding:4px 7px;border:1px solid #d3e3d8;font-size:12px;color:#255c47;font-weight:750}
.kos-pagination .page-numbers.current{color:#fff;background:#155b44;border-color:#155b44}
@media(max-width:960px){
 .kos-ws-grid{grid-template-columns:minmax(0,1fr) 270px;gap:19px}
 .kos-ws-article{padding:29px 25px}
 .kos-ws-facts{padding:23px 20px}
 .kos-ws-facts dl>div{grid-template-columns:80px 1fr;gap:7px}
}
@media(max-width:760px){
 .kos-wa-hero{padding:18px 0 40px}
 .kos-wa-hero .kos-breadcrumb{margin-bottom:22px}
 .kos-wa-hero-symbol{display:none}
 .kos-wa-hero h1{font-size:clamp(27px,8vw,39px)}
 .kos-wa-hero-main>div:first-child>p:last-child{font-size:12px}
 .kos-wa-list{padding:28px 0 55px}
 .kos-wa-filters{gap:7px;margin-bottom:27px}
 .kos-wa-filters a{font-size:11px;min-height:36px;padding:7px 12px}
 .kos-wa-list-meta h2{font-size:19px}
 .kos-ws-intro{padding:18px 0 33px}
 .kos-ws-hero{grid-template-columns:1fr;gap:22px}
 .kos-ws-intro h1{font-size:clamp(27px,7.5vw,38px)}
 .kos-ws-hero-image{height:240px}
 .kos-ws-content{padding:24px 0 48px}
 .kos-ws-grid{grid-template-columns:1fr;gap:17px}
 .kos-ws-side{position:static;order:-1}
 .kos-ws-facts{padding:22px 19px}
 .kos-ws-facts dl{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
 .kos-ws-facts dl>div{display:block;padding:10px 0}
 .kos-ws-facts dd{margin-top:4px}
 .kos-ws-side-contact{display:none}
 .kos-ws-article{padding:25px 18px}
 .kos-ws-text-panel{padding:18px 16px}
 .kos-ws-text-panel h2{font-size:17px}
 .kos-ws-related{padding:45px 0 55px}
 .kos-ws-related-head{align-items:flex-start;flex-direction:column;gap:8px}
 .kos-ws-related-head h2{font-size:24px}
 .kos-work-card .kos-case-visual{height:215px}
}
@media(max-width:620px){
 .kos-wa-grid{grid-template-columns:1fr;gap:15px}
 .kos-work-card{border-radius:12px}
 .kos-work-card .kos-case-info{padding:16px 18px}
 .kos-work-card h3{font-size:17px}
 .kos-work-card-facts b{font-size:17px}
 .kos-ws-side .kos-ws-price strong{font-size:23px}
 .kos-ws-facts h2{font-size:19px}
 .kos-ws-editorial{font-size:13px}
 .kos-ws-editorial h2{font-size:20px}
 .kos-ws-editorial h3{font-size:17px}
 .kos-ws-editorial table{font-size:11px}
 .kos-ws-editorial th,.kos-ws-editorial td{padding:7px}
 .kos-work-single .kos-breadcrumb{margin-bottom:18px}
 .kos-ws-tags{margin-bottom:15px}
}
/* ================================================================
 * KEYper Osaka 2.9 — mobile-first quality pass
 * Touch targets, readable typography, consistent conversion paths,
 * safe-area spacing and small-screen resilient pricing layouts.
 * The desktop design above is intentionally preserved.
 * ================================================================ */
@media (max-width: 760px) {
  html{scroll-padding-top:86px}
  body{overflow-wrap:break-word}
  .kos-nav{max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain}
  .kos-nav a{min-height:48px;display:flex;align-items:center;font-size:14px}
  .kos-menu-button{min-width:46px;min-height:46px;border-radius:9px}
  .kos-header-call,.kos-btn,.kos-p26-hero-link,.kos-p26-pick-card,.kos-case-filters a,.kos-wa-filters a{touch-action:manipulation}
  .kos-richtext img,.kos-ws-editorial img{height:auto;max-width:100%}
  .kos-richtext iframe,.kos-ws-editorial iframe{max-width:100%}
  .kos-richtext table,.kos-ws-editorial table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .kos-richtext pre,.kos-ws-editorial pre{max-width:100%;overflow-x:auto}
  .kos-wa-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:2px 2px 11px;scrollbar-width:thin}
  .kos-wa-filters a{flex:0 0 auto;scroll-snap-align:start;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
  .kos-ws-facts dl{grid-template-columns:1fr 1fr}
}
@media (max-width: 620px) {
  :root{--kos-mobile-side:16px}
  .kos-shell{width:calc(100% - 2 * var(--kos-mobile-side))}
  .kos-top .kos-shell{min-height:28px;font-size:10px}
  .kos-header-inner{min-height:62px;gap:12px}
  .kos-brand{min-width:0}
  .kos-brand img{width:clamp(159px,53vw,196px);max-width:100%;height:auto}
  .kos-nav{padding:8px var(--kos-mobile-side) 15px}
  .kos-menu-button{flex:0 0 46px;min-height:46px;width:46px;margin-left:auto}
  .kos-hero-copy{padding:27px 0 18px}
  .kos-overline{font-size:11px;letter-spacing:.02em;gap:8px}
  .kos-hero h1{font-size:clamp(27px,7.9vw,37px);max-width:none;margin:12px 0 14px;line-height:1.38;letter-spacing:-.055em}
  .kos-heading-line{white-space:nowrap}
  .kos-lead{font-size:13px;line-height:1.85;max-width:100%}
  .kos-hero-points{margin:16px 0 15px;gap:7px}
  .kos-hero-points>span{font-size:11px;padding:6px 9px;line-height:1.5}
  .kos-hero-buttons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .kos-hero-buttons .kos-btn{width:100%;min-width:0;min-height:50px;font-size:clamp(10px,2.9vw,12px);padding:9px 4px;line-height:1.4;gap:4px}
  .kos-hero-buttons .kos-line-mark{font-size:9px;padding:2px 3px}
  .kos-hero-caption{margin:10px 0 0;font-size:11px;line-height:1.65}
  .kos-hero-caption small{font-size:10px}
  .kos-hero-media{height:clamp(210px,59vw,310px);width:calc(100% + 2 * var(--kos-mobile-side));margin:17px calc(-1 * var(--kos-mobile-side)) 0;border-radius:13px 13px 0 0}
  .kos-hero-media>img{object-position:center 48%}
  .kos-photo-caption{font-size:10px;bottom:10px}
  .kos-hero-label{font-size:9px}
  .kos-hero-ribbon .kos-shell{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;padding:14px 0}
  .kos-hero-ribbon span{font-size:11px;line-height:1.7;padding:0!important}
  .kos-hero-ribbon span:last-child{display:block;grid-column:1/-1;padding-top:8px!important;border-top:1px solid #ffffff2b}
  .kos-hero-ribbon strong{font-size:12px;display:block;margin-bottom:2px}
  .kos-section{padding:52px 0}
  .kos-section-head{margin-bottom:22px}
  .kos-section-head h2,.kos-why h2{font-size:clamp(25px,7.2vw,31px);line-height:1.42}
  .kos-section-head>p{font-size:12px;line-height:1.85;margin-top:9px}
  .kos-kicker{font-size:10px}
  .kos-choice-grid{gap:10px}
  .kos-choice-photo{height:auto;aspect-ratio:1.42;min-height:112px}
  .kos-choice-photo img{height:100%;object-fit:cover}
  .kos-choice-bottom{padding:12px 11px 13px;min-height:93px}
  .kos-choice-bottom strong{font-size:14px;line-height:1.5;letter-spacing:-.03em;padding-right:10px}
  .kos-choice-bottom small{font-size:11px;line-height:1.5;margin-top:5px;padding-right:2px;color:#4e6d5d}
  .kos-choice-arrow{top:12px;right:8px;font-size:17px}
  .kos-finder-details{margin-top:12px}
  .kos-detail-left{padding:12px 12px 0}
  .kos-detail-image{height:190px}
  .kos-detail-image>span{font-size:11px}
  .kos-detail-left>p{font-size:10px;line-height:1.6;margin:8px 0 2px}
  .kos-detail-right{padding:20px 16px 19px}
  .kos-detail h3{font-size:23px;line-height:1.4;margin:8px 0}
  .kos-detail-description{font-size:12px;line-height:1.85}
  .kos-total-note{padding:12px 11px;gap:10px}
  .kos-total-note strong,.kos-detail .kos-total-note strong{font-size:12px;line-height:1.6}
  .kos-total-note small{font-size:11px;line-height:1.7}
  .kos-price-row{gap:12px;padding:13px 0}
  .kos-price-row strong{font-size:12px;line-height:1.65}
  .kos-price-row small{font-size:11px;line-height:1.6}
  .kos-price-row>span{font-size:19px;flex:0 0 auto}
  .kos-detail-conditions{font-size:11px;line-height:1.8;padding:12px 11px}
  .kos-detail-eyebrow{font-size:10px;gap:7px}
  .kos-detail-eyebrow span{font-size:10px}
  .kos-detail-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kos-detail-cta .kos-btn{min-width:0;min-height:50px;padding:10px 6px;font-size:clamp(10px,2.7vw,12px);line-height:1.4;gap:5px}
  .kos-detail-cta .kos-line-mark{font-size:9px}
  .kos-finder-bottom{padding-top:20px;gap:8px;font-size:11px;line-height:1.8}
  .kos-finder-bottom a{display:inline-flex;align-items:center;min-height:42px;font-size:13px}
  .kos-why-intro{font-size:13px;line-height:1.9}
  .kos-why-list h3{font-size:15px}
  .kos-why-list p{font-size:12px}
  .kos-case{min-height:166px;grid-template-columns:36% minmax(0,1fr)}
  .kos-case-visual{height:100%;min-height:166px}
  .kos-case-info{padding:14px 13px}
  .kos-meta-line span{font-size:10px}
  .kos-case-info h3{font-size:14px;line-height:1.55}
  .kos-case-price{font-size:12px}
  .kos-more{font-size:12px}
  .kos-staff-card{padding:17px;gap:13px}
  .kos-staff-copy h2{font-size:17px}
  .kos-staff-copy p:not(.kos-kicker){font-size:12px;line-height:1.8}
  .kos-staff-cert,.kos-staff-experience{font-size:11px;line-height:1.5}
  .kos-area h2,.kos-faq h2{font-size:clamp(26px,7vw,31px)}
  .kos-area-lead{font-size:13px}
  .kos-area-tags span{font-size:12px;padding:7px 11px}
  .kos-area-arrival strong{font-size:14px}
  .kos-area-arrival span{font-size:11px}
  .kos-faq-item summary{min-height:56px;font-size:14px;line-height:1.6;padding:14px 4px}
  .kos-faq-answer{font-size:12px;line-height:1.9}
  .kos-faq-lead>p:not(.kos-kicker){font-size:12px}
  .kos-article h1,.kos-inner-hero h1{font-size:clamp(24px,7vw,30px)}
  .kos-richtext{font-size:13px;line-height:1.9}
  .kos-mobile-bar{grid-template-columns:1.05fr 1fr;gap:8px;border-top:1px solid #e2eae3;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);box-shadow:0 -4px 22px rgba(13,49,39,.13)}
  .kos-mobile-bar a{min-height:52px;border-radius:10px;font-size:13px;line-height:1.35;letter-spacing:-.02em;padding:7px 4px}
  .kos-mobile-line{background:#f0faf2}
  .kos-final,.kos-inner-contact{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  .kos-footer-bottom{padding-bottom:calc(85px + env(safe-area-inset-bottom))}
  .kos-footer-main{padding:36px 0;gap:24px 18px}
  .kos-footer-maincol p{font-size:12px}
  .kos-footer-main>div:not(:first-child)>a{font-size:12px;min-height:34px}
  /* service pages: show a real CTA above the fold, not just fixed footer */
  .kos-service-hero{padding:23px 0 38px}
  .kos-service-hero-grid{gap:18px}
  .kos-service-hero h1{font-size:clamp(27px,7.7vw,36px);line-height:1.42}
  .kos-service-lead{font-size:13px;line-height:1.85}
  .kos-service-badges span{font-size:11px;line-height:1.5}
  .kos-service-hero-cta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kos-service-hero-cta .kos-btn{min-height:51px;min-width:0;padding:9px 6px;font-size:clamp(10px,2.8vw,12px);line-height:1.5;gap:5px}
  .kos-service-caveat{font-size:11px;line-height:1.7}
  .kos-service-image{height:clamp(190px,52vw,265px)}
  .kos-service-image span{font-size:10px}
  .kos-service-pricing{padding:48px 0}
  .kos-service-pricing h2,.kos-service-repair-note h2{font-size:27px}
  .kos-service-pricing-grid>div:first-child>p:not(.kos-kicker){font-size:13px}
  .kos-pricing-small{font-size:11px!important;line-height:1.8}
  .kos-service-price-box{padding:19px 16px}
  .kos-service-price-row strong{font-size:12px}
  .kos-service-price-row small{font-size:11px;line-height:1.6}
  .kos-service-price-row b{font-size:19px}
  .kos-service-prose{padding:21px 16px;font-size:13px}
  .kos-service-nav-link{min-height:64px}
  .kos-service-nav-link strong{font-size:12px}
  /* full pricing page */
  .kos-p26-hero{padding:27px 0 30px}
  .kos-p26-hero-grid{gap:17px}
  .kos-p26-hero h1{font-size:clamp(29px,8vw,38px);line-height:1.4}
  .kos-p26-lead{font-size:13px;line-height:1.85}
  .kos-p26-badges span{font-size:11px;padding:7px 9px;line-height:1.4}
  .kos-p26-hero-link{min-height:46px;font-size:13px}
  .kos-p26-hero-photo{height:clamp(205px,56vw,280px)}
  .kos-p26-commit p{font-size:12px;line-height:1.85}
  .kos-p26-commit strong{font-size:14px}
  .kos-p26-pick,.kos-p26-main,.kos-p26-extras{padding:50px 0}
  .kos-p26-section-intro h2{font-size:clamp(25px,7vw,31px)}
  .kos-p26-section-intro>p{font-size:12px;line-height:1.8}
  .kos-p26-pick-grid{gap:10px}
  .kos-p26-pick-photo{height:auto;aspect-ratio:1.42;min-height:110px}
  .kos-p26-pick-photo img{height:100%;object-fit:cover}
  .kos-p26-pick-info{padding:12px 11px 14px;min-height:89px}
  .kos-p26-pick-info strong{font-size:14px}
  .kos-p26-pick-info small{font-size:11px;line-height:1.5}
  .kos-p26-image-hint{font-size:11px;line-height:1.75}
  .kos-p26-group{scroll-margin-top:82px;margin-bottom:18px}
  .kos-p26-group-photo{height:clamp(175px,50vw,250px)}
  .kos-p26-group-right{padding:20px 16px 22px}
  .kos-p26-group-right h3{font-size:24px}
  .kos-p26-eyebrow{font-size:11px}
  .kos-p26-group-description{font-size:12px;line-height:1.9}
  .kos-p26-bill{padding:12px 11px;gap:10px}
  .kos-p26-bill strong{font-size:12px;line-height:1.65}
  .kos-p26-bill small{font-size:11px;line-height:1.6}
  .kos-p26-row{padding:13px 0;gap:12px}
  .kos-p26-row-copy b{font-size:12px;line-height:1.65}
  .kos-p26-row-copy small{font-size:11px;line-height:1.65}
  .kos-p26-row-price{font-size:19px}
  .kos-p26-smallprint{font-size:11px;line-height:1.85}
  .kos-p26-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .kos-p26-contact .kos-btn{min-width:0;min-height:50px;padding:9px 4px;font-size:clamp(10px,2.8vw,12px);line-height:1.5}
  .kos-p26-extra summary{min-height:72px;gap:12px;padding:12px 2px}
  .kos-p26-extra-img{width:62px;height:62px;flex-basis:62px}
  .kos-p26-extra-label strong{font-size:14px}
  .kos-p26-extra-label small{font-size:11px}
  .kos-p26-extra-row strong{font-size:12px}
  .kos-p26-extra-row small{font-size:11px}
  .kos-p26-extra-row b{font-size:14px}
  .kos-p26-extra-caveat{font-size:11px;line-height:1.8}
  .kos-p26-more summary{min-height:49px;font-size:12px;align-items:center}
  .kos-p26-more-row strong,.kos-p26-more-row b{font-size:12px}
  .kos-p26-more-row small{font-size:11px}
  .kos-p26-steps-grid strong{font-size:15px}
  .kos-p26-steps-grid p{font-size:12px}
  /* work gallery & case details: mobile legibility */
  .kos-wa-hero{padding:20px 0 35px}
  .kos-wa-hero h1{font-size:clamp(27px,7.5vw,36px)}
  .kos-wa-hero-main>div:first-child>p:last-child{font-size:13px;line-height:1.85}
  .kos-wa-filters{margin-bottom:18px}
  .kos-wa-list{padding:27px 0 54px}
  .kos-work-card .kos-case-visual{height:clamp(180px,55vw,230px);min-height:0}
  .kos-work-card .kos-case-info{padding:17px 16px}
  .kos-work-card h3{font-size:17px;margin:11px 0 13px}
  .kos-work-card-meta{font-size:12px}
  .kos-work-card-facts{font-size:12px;line-height:1.6}
  .kos-work-card-facts b{font-size:19px}
  .kos-work-card-link{font-size:13px;min-height:45px;align-items:center}
  .kos-ws-intro h1{font-size:clamp(26px,7.6vw,36px);line-height:1.5}
  .kos-ws-lead{font-size:13px}
  .kos-ws-tags>span{font-size:11px}
  .kos-ws-hero-image{height:clamp(190px,58vw,275px)}
  .kos-ws-content{padding:21px 0 46px}
  .kos-ws-facts{padding:21px 16px}
  .kos-ws-facts h2{font-size:20px}
  .kos-ws-facts dt{font-size:12px}
  .kos-ws-facts dd{font-size:13px}
  .kos-ws-price span{font-size:12px}
  .kos-ws-price strong{font-size:26px}
  .kos-ws-price small{font-size:11px}
  .kos-ws-article{padding:24px 16px}
  .kos-ws-text-panel h2{font-size:18px}
  .kos-ws-text-panel p{font-size:13px;line-height:1.9}
  .kos-ws-editorial{font-size:13px;line-height:2}
  .kos-ws-editorial figcaption{font-size:11px}
  .kos-ws-related-head h2{font-size:25px}
  .kos-ws-editorial .wp-block-gallery{gap:9px}
  .kos-ws-editorial .wp-block-gallery>figure{flex-basis:100%}
}
@media(max-width:359px){
  :root{--kos-mobile-side:13px}
  .kos-brand img{width:159px}
  .kos-hero h1{font-size:26px}
  .kos-choice-bottom strong,.kos-p26-pick-info strong{font-size:13px}
  .kos-choice-bottom small,.kos-p26-pick-info small{font-size:10px}
  .kos-price-row>span,.kos-p26-row-price{font-size:17px}
  .kos-hero-points>span{font-size:10px;padding:5px 7px}
  .kos-mobile-bar a{font-size:12px}
  .kos-p26-extra-img{width:51px;flex-basis:51px;height:55px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .kos-choice,.kos-work-card,.kos-btn,.kos-choice-photo img{transition:none!important}
}
/* WordPress toolbar height differs on small screens. */
@media(min-width:601px) and (max-width:782px){body.admin-bar .kos-header{top:46px}}
@media(max-width:600px){body.admin-bar .kos-header{top:0}}
/* Keep the bottom actions clear of the service area even on narrow screens. */
@media(max-width:359px){.kos-choice-grid,.kos-p26-pick-grid{gap:8px}.kos-choice-photo,.kos-p26-pick-photo{min-width:0;overflow:hidden}.kos-choice-photo img,.kos-p26-pick-photo img{min-width:0}}
/* Prevent aspect-ratio thumbnails from enforcing a wider intrinsic minimum at 320px. */
@media(max-width:620px){
 .kos-choice-photo,.kos-p26-pick-photo{display:block;width:100%;min-height:0;aspect-ratio:1.42;overflow:hidden}
 .kos-choice-photo img,.kos-p26-pick-photo img{width:100%;height:100%;object-fit:cover}
}


/* v3.0 : mobile-first, photo-free branded hero. Image examples are in the service finder, not the hero. */
.kos-brand-hero{position:relative;isolation:isolate;overflow:hidden;background:#123b31;color:#fff;background-image:radial-gradient(ellipse at 86% -25%,rgba(95,167,133,.24) 0,transparent 55%),linear-gradient(138deg,#0d3029 0%,#113d31 58%,#0b2b27 100%)}
.kos-brand-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0px,transparent 122px,rgba(255,255,255,.018) 123px,transparent 124px)}
.kos-brand-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);align-items:center;gap:clamp(35px,5vw,95px);padding-top:clamp(62px,6.5vw,106px);padding-bottom:clamp(64px,6vw,95px)}
.kos-brand-hero-copy{min-width:0}
.kos-brand-hero-eyebrow{display:flex;align-items:center;gap:10px;color:#b3dac6;font-size:13px;font-weight:750;letter-spacing:.045em;margin:0 0 23px}
.kos-brand-eyebrow-mark{width:9px;height:9px;display:inline-block;border-radius:2px;background:#e5484b;flex:0 0 9px}
.kos-brand-hero h1{font-size:clamp(39px,4.4vw,62px);line-height:1.37;letter-spacing:-.065em;font-weight:950;margin:0 0 22px}
.kos-brand-hero h1 .kos-heading-line{display:block;white-space:nowrap}
.kos-brand-hero h1 .kos-heading-line:last-child{color:#b9ecd0}
.kos-brand-hero-lead{font-size:16px;line-height:1.95;color:#e0f0e6;margin:0 0 26px}
.kos-brand-hero-lead strong{color:#fff;border-bottom:2px solid #97d8b7;font-weight:900}
.kos-brand-hero-trust{display:flex;gap:11px;flex-wrap:wrap;margin-bottom:26px}
.kos-brand-hero-trust>span{border:1px solid #ffffff40;border-radius:10px;padding:9px 13px;display:inline-flex;align-items:center;gap:7px;color:#f1faf4;font-size:12px;font-weight:780;background:#ffffff0e}
.kos-brand-trust-tick{color:#a8f2c4;font-size:17px;line-height:1}
.kos-brand-hero-trust small{font-size:9px}
.kos-brand-hero-buttons{display:flex;gap:10px}
.kos-brand-hero-buttons .kos-btn{min-width:0;flex:1;min-height:60px;font-size:14px;padding:13px 16px;border-radius:10px}
.kos-brand-hero-buttons .kos-btn-phone{background:#11a36d;border-color:#23b67c;box-shadow:0 7px 22px #091c1640}
.kos-brand-hero-buttons .kos-btn-phone:hover{background:#13b27a}
.kos-brand-hero-buttons .kos-btn-line{border-color:#c5dfcf;background:#fff;color:#075d40}
.kos-brand-hero-caption{font-size:12px;line-height:1.7;margin:13px 0 0;color:#d7eae1}
.kos-brand-hero-caption small{font-size:11px;color:#b2cdc0}
.kos-brand-downlink{color:#aee6c9;display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:10px 0;border-bottom:1px solid #8bc6ad69;font-size:12px;font-weight:800}
.kos-brand-downlink span{font-size:20px}
.kos-brand-promise{background:#eff7f0;color:#153d32;border:1px solid rgba(195,236,210,.95);box-shadow:0 25px 50px rgba(1,18,12,.12);padding:34px 33px 30px;border-radius:23px;min-width:0}
.kos-brand-promise-eyebrow{letter-spacing:.18em;color:#477c65;font-size:11px;font-weight:800;margin:0 0 12px}
.kos-brand-promise h2{font-size:clamp(23px,2.55vw,31px);letter-spacing:-.05em;line-height:1.48;margin:0 0 11px;color:#123c2e}
.kos-brand-promise h2 span{color:#138359}
.kos-brand-promise>p:not(.kos-brand-promise-eyebrow){font-size:12px;color:#587466;line-height:1.9;margin-bottom:20px}
.kos-brand-promise ol{padding:0;margin:0;list-style:none;border-top:1px solid #d2e3d8}
.kos-brand-promise li{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #d2e3d8;font-size:13px;font-weight:800}
.kos-brand-promise li b{font-size:12px;letter-spacing:.1em;color:#128d62}
.kos-brand-promise-footer{background:#dbeddf;border-radius:10px;padding:14px 15px;margin-top:22px}
.kos-brand-promise-footer strong{font-size:13px;display:block;color:#14583e}
.kos-brand-promise-footer small{display:block;color:#537566;font-size:11px;line-height:1.6;margin-top:4px}
.kos-brand-ribbon{background:#0e332a}
.kos-finder{padding-top:72px;background:#fbfcf9}
.kos-finder .kos-kicker{color:#0e855c}
.kos-finder .kos-section-head h2{color:#12372c}
.kos-finder .kos-choice{box-shadow:0 8px 28px #1b47300c}
.kos-finder .kos-choice.selected{background:#eff8f1;border-color:#0f9666}
.kos-finder .kos-choice-photo img{object-fit:cover}
@media(max-width:980px){.kos-brand-hero-grid{grid-template-columns:1fr;gap:22px}.kos-brand-promise{max-width:670px}.kos-brand-hero-copy{max-width:690px}}
@media(max-width:620px){
 .kos-brand-hero-grid{display:block;padding-top:36px;padding-bottom:35px}
 .kos-brand-hero-eyebrow{font-size:11px;line-height:1.6;letter-spacing:0;margin-bottom:15px;gap:7px}
 .kos-brand-eyebrow-mark{width:7px;height:7px;flex-basis:7px}
 .kos-brand-hero h1{font-size:clamp(27px,7.85vw,36px);line-height:1.4;margin:0 0 14px;letter-spacing:-.065em}
 .kos-brand-hero-lead{font-size:13px;line-height:1.85;margin-bottom:19px}
 .kos-brand-hero-trust{gap:7px;margin-bottom:18px}
 .kos-brand-hero-trust>span{padding:7px 9px;font-size:11px;line-height:1.45;border-radius:7px;gap:5px}
 .kos-brand-trust-tick{font-size:14px}
 .kos-brand-hero-buttons{display:grid;grid-template-columns:1fr;gap:9px}
 .kos-brand-hero-buttons .kos-btn{min-height:52px;font-size:14px;padding:10px 12px;border-radius:9px;flex:auto}
 .kos-brand-hero-buttons .kos-line-mark{font-size:10px}
 .kos-brand-hero-caption{font-size:11px;line-height:1.65;margin:12px 0 0}
 .kos-brand-hero-caption small{font-size:10px}
 .kos-brand-downlink{display:flex;gap:9px;font-size:12px;min-height:42px;margin-top:17px;width:max-content}
 .kos-brand-promise{display:none}
 .kos-finder{padding-top:35px;padding-bottom:44px}
 .kos-finder .kos-section-head{margin-bottom:20px}
 .kos-finder .kos-section-head h2{font-size:clamp(25px,7.3vw,31px);line-height:1.34}
 .kos-finder .kos-section-head>p{font-size:12px;line-height:1.7;margin-top:7px}
 .kos-finder .kos-choice-photo{aspect-ratio:1.55;min-height:0}
 .kos-finder .kos-choice-bottom{min-height:83px}
 .kos-brand-ribbon .kos-shell{padding:15px 0}
}
@media(max-width:359px){
 .kos-brand-hero-grid{padding-top:27px;padding-bottom:27px}
 .kos-brand-hero h1{font-size:25.5px;letter-spacing:-.07em}
 .kos-brand-hero-eyebrow{font-size:10px}
 .kos-brand-hero-trust>span{font-size:10px;padding:7px 6px}
 .kos-brand-hero-buttons .kos-btn{font-size:13px}
}
/* Keep mid-sized tablets focused on the service selector rather than an extra-tall secondary panel. */
@media (min-width:621px) and (max-width:980px){.kos-brand-promise{display:none}.kos-brand-hero-grid{padding:58px 0}.kos-brand-hero-copy{max-width:740px}}


/* ----------------------------------------------------
 * Studio 3.1 — compact visual hero with category card.
 * Right side shows multiple lock categories; lower photo
 * selector heading and unlocking image were also refreshed.
 * ---------------------------------------------------- */
.kos-brand-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(355px,.98fr);align-items:start;gap:clamp(30px,4.3vw,70px);padding-top:clamp(56px,5.8vw,92px);padding-bottom:24px}
.kos-brand-showcase{background:#f7fbf8;color:#12382e;border:1px solid rgba(214,235,222,.92);box-shadow:0 24px 54px rgba(3,27,20,.16);padding:18px;border-radius:24px;min-width:0}
.kos-brand-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.kos-brand-showcase-tile{margin:0}
.kos-brand-showcase-tile img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid #dbe9e1;box-shadow:0 8px 22px rgba(16,57,42,.06)}
.kos-brand-showcase-body h2{font-size:clamp(30px,2.75vw,46px);line-height:1.18;letter-spacing:-.055em;color:#0f3a2c;margin:0 0 8px;font-weight:950}
.kos-brand-showcase-body p{margin:0;color:#516d62;font-size:14px;line-height:1.85}
.kos-brand-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.kos-brand-service-card{background:#eff6f1;border:1px solid #deece4;border-radius:15px;padding:16px 12px 14px;text-align:center;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px}
.kos-brand-service-icon{font-size:30px;line-height:1;display:block;min-height:34px}
.kos-brand-service-card strong{font-size:15px;line-height:1.4;color:#143b31;letter-spacing:-.02em}
.kos-brand-service-card small{font-size:12px;line-height:1.7;color:#60786d}
.kos-brand-mini-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 0 clamp(28px,4vw,42px)}
.kos-brand-mini-points>span{display:flex;align-items:center;gap:14px;padding:13px 16px;border-top:1px solid rgba(217,240,228,.28);color:#e6f3ed}
.kos-brand-mini-points b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(217,240,228,.34);font-size:22px;font-weight:900;color:#f3d88b;flex:0 0 46px}
.kos-brand-mini-points strong{display:block;font-size:16px;line-height:1.45;color:#fff;letter-spacing:-.02em}
.kos-brand-mini-points small{display:block;font-size:12px;line-height:1.65;color:#b7d2c7;margin-top:2px}
.kos-brand-ribbon{background:#0e332a}
@media(max-width:1100px){
 .kos-brand-showcase-body h2{font-size:34px}
 .kos-brand-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
 .kos-brand-hero-grid{grid-template-columns:1fr;gap:24px;padding-bottom:16px}
 .kos-brand-hero-copy{max-width:720px}
 .kos-brand-showcase{max-width:760px}
 .kos-brand-mini-points{grid-template-columns:1fr;gap:0;padding-bottom:26px}
 .kos-brand-mini-points>span{padding:12px 0}
}
@media(max-width:620px){
 .kos-brand-hero-grid{padding-top:32px;padding-bottom:10px}
 .kos-brand-showcase{padding:14px;border-radius:18px}
 .kos-brand-showcase-grid{gap:8px;margin-bottom:14px}
 .kos-brand-showcase-tile img{border-radius:11px}
 .kos-brand-showcase-body h2{font-size:22px;margin-bottom:6px}
 .kos-brand-showcase-body p{font-size:12px;line-height:1.75}
 .kos-brand-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
 .kos-brand-service-card{min-height:118px;padding:12px 8px 11px;border-radius:12px;gap:6px}
 .kos-brand-service-icon{font-size:24px;min-height:26px}
 .kos-brand-service-card strong{font-size:13px}
 .kos-brand-service-card small{font-size:10px;line-height:1.55}
 .kos-brand-mini-points{padding-bottom:18px}
 .kos-brand-mini-points>span{gap:11px;border-top-color:rgba(217,240,228,.2)}
 .kos-brand-mini-points b{width:38px;height:38px;flex-basis:38px;font-size:18px}
 .kos-brand-mini-points strong{font-size:14px}
 .kos-brand-mini-points small{font-size:10px}
}


/* Studio 3.1.1 — clean photo crops and real text badges */
.kos-brand-showcase-tile{position:relative;overflow:hidden;border-radius:14px;background:#e2ece5}
.kos-brand-showcase-tile img{border-radius:14px;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover}
.kos-brand-showcase-tile figcaption{position:absolute;left:7px;bottom:7px;max-width:calc(100% - 14px);border-radius:7px;background:rgba(11,61,44,.94);color:#fff;font-size:11px;line-height:1.35;font-weight:800;padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ffffff30;box-shadow:0 3px 9px #001b1424}
@media(max-width:620px){.kos-brand-showcase-tile{border-radius:11px}.kos-brand-showcase-tile img{border-radius:11px}.kos-brand-showcase-tile figcaption{font-size:9px;padding:4px 5px;left:4px;bottom:4px;max-width:calc(100% - 8px);border-radius:5px}}


/* ----------------------------------------------------
 * Studio 3.1.2 — opening photo unified + mobile polish.
 * ---------------------------------------------------- */
.kos-choice-grid .kos-choice:first-child .kos-choice-photo img{object-position:center center}
.kos-choice-grid .kos-choice:first-child .kos-choice-bottom strong{letter-spacing:-.03em}
@media(max-width:620px){
 .kos-brand-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .kos-brand-showcase-grid .kos-brand-showcase-tile:last-child:nth-child(odd){grid-column:auto}
 .kos-brand-showcase{padding:14px 14px 12px}
 .kos-brand-service-grid{gap:8px}
 .kos-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .kos-choice-bottom{padding:11px 10px 12px;min-height:80px}
 .kos-choice-bottom strong{font-size:12.5px;line-height:1.42}
 .kos-choice-bottom small{font-size:9px;line-height:1.5;padding-right:8px}
 .kos-choice-photo{aspect-ratio:1.48;min-height:0}
 .kos-detail-image{height:210px}
}


/* -------------------------------------------------------------
 * Studio 3.1.3 — approved headline, balanced typesetting,
 * accessible footer contrast and non-orphan card headings.
 * ------------------------------------------------------------- */
/* Two complete semantic phrases with controlled transitions at phone sizes. */
.kos-brand-hero-copy{min-width:0}
.kos-brand-hero h1{
  margin:0 0 24px;
  line-height:1.31;
  letter-spacing:-.06em;
  font-weight:950;
  overflow-wrap:normal;
  word-break:keep-all;
  text-wrap:initial;
}
.kos-brand-hero h1 .kos-heading-line{display:block;white-space:normal}
.kos-brand-hero h1 .kos-heading-actions{
  font-size:clamp(28px,2.57vw,35px);
  color:#ffffff;
  line-height:1.36;
  letter-spacing:-.052em;
}
.kos-brand-hero h1 .kos-heading-brand{
  margin-top:10px;
  font-size:clamp(30px,2.76vw,38px);
  color:#b9ecd0;
  line-height:1.35;
  letter-spacing:-.062em;
}
.kos-brand-hero h1 .kos-h-actions-pair,
.kos-brand-hero h1 .kos-h-actions-tail,
.kos-brand-hero h1 .kos-h-brand-intro,
.kos-brand-hero h1 .kos-h-brand-name{white-space:nowrap}
.kos-brand-hero h1 .kos-heading-custom{
  display:block;
  font-size:clamp(31px,3.6vw,50px);
  color:#fff;
  overflow-wrap:anywhere;
  word-break:normal;
  text-wrap:balance;
}
/* The right-hand card headline is one intentional line, never just 「い。」 */
.kos-brand-showcase-body h2{
  font-size:clamp(21px,2.1vw,29px);
  font-weight:950;
  line-height:1.33;
  letter-spacing:-.065em;
  white-space:nowrap;
  word-break:keep-all;
  margin:0 0 10px;
}
/* Restrained text shaping elsewhere: avoid one-character orphans. */
.kos-section-head h2,.kos-why h2,.kos-final h2,.kos-area h2,
.kos-faq h2,.kos-brand-service-card strong{
  text-wrap:balance;
  word-break:keep-all;
}
/* Footer was lightened in v2.4 but left white text and a white logo filter. */
.kos-footer{background:#edf4ee;color:#183c31}
.kos-footer-maincol img{filter:none}
.kos-footer-maincol p{color:#385b4b;font-size:12px;line-height:1.9}
.kos-footer h3{color:#153f31;font-size:14px;font-weight:900}
.kos-footer-main>div:not(:first-child)>a{
  color:#225443;
  font-weight:650;
  font-size:13px;
  line-height:1.65;
}
.kos-footer-main>div:not(:first-child)>a:hover{color:#006e50;text-decoration:underline}
.kos-footer-main small{color:#546b5e;font-size:11px;line-height:1.8}
.kos-footer-bottom{border-color:#d2dfd5;color:#4b6658}
.kos-footer-bottom .kos-shell{font-size:11px}
@media(min-width:981px) and (max-width:1160px){
  .kos-brand-hero h1 .kos-heading-actions{font-size:28px}
  .kos-brand-hero h1 .kos-heading-brand{font-size:30px}
  .kos-brand-showcase-body h2{font-size:clamp(21px,2vw,25px)}
}
@media(min-width:621px) and (max-width:980px){
  .kos-brand-hero h1 .kos-heading-actions{font-size:clamp(29px,3.9vw,39px)}
  .kos-brand-hero h1 .kos-heading-brand{font-size:clamp(31px,4vw,40px)}
  .kos-brand-showcase-body h2{font-size:clamp(23px,3vw,29px)}
}
@media(max-width:620px){
  .kos-brand-hero h1{margin-bottom:18px;line-height:1.35}
  .kos-brand-hero h1 .kos-heading-actions{
    font-size:clamp(24px,7.1vw,30px);
    line-height:1.37;
  }
  .kos-brand-hero h1 .kos-h-actions-tail{display:block}
  .kos-brand-hero h1 .kos-heading-brand{
    font-size:clamp(26px,7.6vw,34px);
    line-height:1.34;
    margin-top:8px;
  }
  .kos-brand-hero h1 .kos-h-brand-intro,
  .kos-brand-hero h1 .kos-h-brand-name{display:block}
  .kos-brand-hero h1 .kos-heading-custom{font-size:clamp(27px,7.5vw,35px)}
  .kos-brand-showcase-body h2{font-size:clamp(18px,5.3vw,23px);letter-spacing:-.06em;line-height:1.35}
  .kos-footer-maincol img{width:210px}
  .kos-footer-maincol p{font-size:12px}
  .kos-footer h3{font-size:13px;margin-bottom:8px}
  .kos-footer-main>div:not(:first-child)>a{font-size:12px}
  .kos-footer-main small{font-size:10px}
  .kos-footer-bottom .kos-shell{font-size:10px;gap:12px;flex-wrap:wrap}
}
@media(max-width:359px){
 .kos-brand-hero h1 .kos-heading-actions{font-size:23px}
 .kos-brand-hero h1 .kos-heading-brand{font-size:25px}
 .kos-brand-showcase-body h2{font-size:17px}
}


/* ----------------------------------------------------
 * Studio 3.1.4 — line photo guide image consistency.
 * 01/02 now use the same apartment door scene and mobile
 * guide cards are slightly refined for clarity.
 * ---------------------------------------------------- */
@media(max-width:620px){
 .kos-guide-card{min-height:132px}
 .kos-guide-photo{flex:0 0 40%;min-height:132px}
 .kos-guide-info{padding:14px 11px}
 .kos-guide-info h3{font-size:13.5px;line-height:1.38}
 .kos-guide-info p{font-size:10px;line-height:1.6}
}


/* ----------------------------------------------------
 * Studio 3.1.5 — mobile hero compact side-by-side layout.
 * On smartphones, keep the top showcase compact so the
 * finder-link and the showcase do not feel like one flow.
 * ---------------------------------------------------- */
@media (min-width:360px) and (max-width:620px){
  .kos-brand-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 156px;
    gap:12px;
    align-items:start;
    padding-top:26px;
    padding-bottom:12px;
  }
  .kos-brand-hero-copy{max-width:none;min-width:0}
  .kos-brand-hero h1{
    font-size:clamp(22px,6.9vw,28px);
    line-height:1.36;
    margin:0 0 12px;
    letter-spacing:-.065em;
  }
  .kos-brand-hero-lead{font-size:12px;line-height:1.72;margin-bottom:15px}
  .kos-brand-hero-trust{gap:6px;margin-bottom:14px}
  .kos-brand-hero-trust>span{padding:6px 8px;font-size:10px;line-height:1.4}
  .kos-brand-hero-buttons{gap:8px}
  .kos-brand-hero-buttons .kos-btn{min-height:49px;font-size:13px;padding:10px 10px}
  .kos-brand-hero-caption{font-size:10px;line-height:1.58;margin-top:10px}
  .kos-brand-hero-caption small{font-size:9px}
  .kos-brand-downlink{margin-top:11px;font-size:11px;gap:7px;min-height:0}

  .kos-brand-showcase{
    padding:10px;
    border-radius:16px;
    margin-top:2px;
    box-shadow:0 12px 26px rgba(3,27,20,.13);
  }
  .kos-brand-showcase-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-bottom:9px;
  }
  .kos-brand-showcase-tile,
  .kos-brand-showcase-tile img{border-radius:10px}
  .kos-brand-showcase-tile figcaption{font-size:8px;padding:3px 5px;left:4px;bottom:4px}
  .kos-brand-showcase-body h2{
    font-size:14px;
    line-height:1.42;
    letter-spacing:-.04em;
    margin:0;
  }
  .kos-brand-showcase-body p,
  .kos-brand-service-grid{display:none}
}
@media (min-width:421px) and (max-width:620px){
  .kos-brand-hero-grid{grid-template-columns:minmax(0,1fr) 168px;gap:14px}
  .kos-brand-showcase-body h2{font-size:15px}
}
@media (max-width:359px){
  .kos-brand-showcase{padding:12px 12px 10px}
  .kos-brand-showcase-body p,
  .kos-brand-service-grid{display:none}
  .kos-brand-showcase-body h2{font-size:15px;line-height:1.4;margin:0}
}


/* ----------------------------------------------------
 * Studio 3.1.6 — 320px compatible compact mobile hero.
 * The old 360px minimum missed WordPress mobile previews
 * (often 320px). Keep the full-width headline readable,
 * distinguish the six-category overview from price cards,
 * and place the price selector link AFTER that overview.
 * ---------------------------------------------------- */
.kos-brand-mobile-finder-link{display:none}
@media (max-width:620px){
  .kos-brand-hero-grid{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding-top:27px;
    padding-bottom:21px;
  }
  .kos-brand-hero-copy{width:100%;max-width:none;min-width:0}
  .kos-brand-hero h1{margin-bottom:17px}
  .kos-brand-hero h1 .kos-heading-actions{font-size:clamp(24px,7.1vw,30px)}
  .kos-brand-hero h1 .kos-heading-brand{font-size:clamp(26px,7.6vw,34px)}
  .kos-brand-hero-lead{font-size:12px;line-height:1.8;margin-bottom:17px}
  .kos-brand-hero-buttons{display:grid;grid-template-columns:1fr;gap:9px}
  .kos-brand-hero-buttons .kos-btn{min-height:49px;font-size:13px}
  .kos-brand-hero-caption{margin-bottom:13px}
  .kos-brand-downlink{display:none}
  .kos-brand-showcase{
    width:100%;max-width:none;
    border-radius:16px;
    padding:12px;
    margin:7px 0 0;
    box-shadow:0 12px 28px rgba(3,27,20,.14);
  }
  .kos-brand-showcase-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:9px;
  }
  .kos-brand-showcase-tile,
  .kos-brand-showcase-tile img{border-radius:8px}
  .kos-brand-showcase-tile img{aspect-ratio:1.08/1;object-fit:cover}
  .kos-brand-showcase-tile figcaption{
    font-size:9px;line-height:1.25;
    max-width:calc(100% - 6px);
    left:3px;bottom:3px;
    padding:3px 4px;border-radius:4px;
  }
  .kos-brand-showcase-body h2{
    text-align:center;
    font-size:clamp(16px,4.5vw,19px);
    white-space:nowrap;
    line-height:1.4;
    margin:3px 0 0;
  }
  .kos-brand-showcase-body p,.kos-brand-service-grid{display:none}
  .kos-brand-mobile-finder-link{
    display:flex;align-items:center;justify-content:center;gap:12px;
    width:100%;min-height:44px;
    margin-top:18px;padding:10px 12px;
    background:#f4fbf6;color:#114f3c;
    border:1px solid #b1dbc4;
    border-radius:9px;
    font-size:13px;font-weight:850;
  }
  .kos-brand-mobile-finder-link span{font-size:20px;line-height:1}
  .kos-brand-mini-points{display:none}
  .kos-finder{padding-top:40px}
}
@media(max-width:359px){
  .kos-brand-showcase-grid{gap:6px}
  .kos-brand-showcase-tile figcaption{font-size:8px}
  .kos-brand-showcase-body h2{font-size:16px}
}


/* ----------------------------------------------------
 * Studio v3.1.7 — detail-first prices, mobile real 2-column hero.
 * All price rows remain editable with previous settings.
 * ---------------------------------------------------- */
.kos-price-accord-intro{background:linear-gradient(125deg,#eef7f0,#fafcf9);padding:54px 0 46px}
.kos-price-accord-intro h1{font-size:clamp(35px,4vw,53px);line-height:1.3;letter-spacing:-.06em;margin:7px 0 14px;color:#113e30;font-weight:950}
.kos-price-accord-intro p:not(.kos-p26-kicker){color:#425f50;font-size:14px;line-height:1.9;margin:0;max-width:800px}
.kos-price-accord-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.kos-price-accord-trust span{background:#fff;border:1px solid #cde1d3;border-radius:8px;padding:7px 12px;color:#246147;font-size:11px;font-weight:800}
.kos-price-accord-main{padding:57px 0 85px;background:#fff;scroll-margin-top:90px}
.kos-price-accord-grouphead{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:16px}
.kos-price-accord-grouphead h2{font-size:clamp(22px,2.6vw,33px);line-height:1.4;color:#123d30;letter-spacing:-.05em;margin:0;font-weight:950;text-wrap:balance}
.kos-price-accord-grouphead p{margin:0;color:#617969;font-size:12px;line-height:1.8;max-width:390px}
.kos-price-accord-second{margin-top:58px}
.kos-price-accord-list{border-top:1px solid #d8e7db}
.kos-price-accord-item{scroll-margin-top:105px}
.kos-price-accord-item summary{padding:18px 10px;min-height:98px;transition:background .15s ease}
.kos-price-accord-item summary:hover{background:#f3faf5}
.kos-price-accord-item summary:focus-visible{outline:3px solid #16a66c;outline-offset:-3px}
.kos-price-accord-item[open] summary{background:#f0f8f2}
.kos-price-accord-item .kos-p26-extra-body{background:#fbfdfb;padding-top:17px;padding-bottom:25px;padding-right:22px}
.kos-price-accord-description{font-size:12px;line-height:1.85;color:#436250;margin:0 0 15px}
.kos-price-accord-allin{border-radius:9px;background:#eaf6ec;border:1px solid #cce5d3;padding:12px 15px;margin-bottom:12px}
.kos-price-accord-allin strong{display:block;font-size:12px;color:#145438;line-height:1.7}
.kos-price-accord-allin small{display:block;font-size:10px;color:#587561;line-height:1.65;margin-top:3px}
.kos-price-accord-subhead{font-size:14px;line-height:1.5;color:#185039;margin:23px 0 9px}
.kos-price-accord-related{padding-top:21px}
.kos-price-accord-related h3{font-size:14px;color:#174e37;margin:0 0 12px}
.kos-price-accord-consult{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:850;color:#0d754c;text-decoration:underline;margin-top:15px}
.kos-price-accord-note{background:#eff7f0;border-radius:12px;padding:20px 24px;margin-top:35px;color:#245342}
.kos-price-accord-note strong{font-size:14px}
.kos-price-accord-note p{font-size:12px;line-height:1.85;margin:7px 0 0}
.kos-action-word{display:inline;white-space:nowrap}
.kos-showcase-phrase{display:inline}
@media(max-width:700px){
 .kos-price-accord-intro{padding:35px 0 32px}
 .kos-price-accord-intro h1{font-size:32px}
 .kos-price-accord-intro p:not(.kos-p26-kicker){font-size:12px}
 .kos-price-accord-trust{gap:6px;margin-top:16px}
 .kos-price-accord-trust span{font-size:10px;padding:6px 8px}
 .kos-price-accord-main{padding:37px 0 56px}
 .kos-price-accord-grouphead{display:block;margin-bottom:12px}
 .kos-price-accord-grouphead h2{font-size:23px}
 .kos-price-accord-grouphead p{font-size:11px;margin:6px 0 0}
 .kos-price-accord-second{margin-top:44px}
 .kos-price-accord-item summary{min-height:75px;padding:11px 5px}
 .kos-price-accord-item .kos-p26-extra-body{padding:12px 10px 17px}
 .kos-price-accord-allin{padding:10px 11px}
 .kos-price-accord-allin strong{font-size:11px}
 .kos-price-accord-allin small{font-size:9px}
 .kos-price-accord-note{padding:16px}
 .kos-price-accord-note p{font-size:11px}
}
/* Mobile uses the SAME copy + six-photo side-by-side composition as PC.
   The contact buttons retain the full page width for usability. */
@media(max-width:620px){
 .kos-brand-hero-grid{
   display:grid;
   grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
   column-gap:10px;
   row-gap:8px;
   padding-top:20px;
   padding-bottom:12px;
   align-items:start;
 }
 .kos-brand-hero-copy{display:contents}
 .kos-brand-hero-eyebrow{grid-column:1/-1;grid-row:1;margin:0 0 6px;font-size:10px}
 .kos-brand-hero h1{grid-column:1;grid-row:2;margin:0;line-height:1.19;letter-spacing:-.05em;min-width:0}
 .kos-brand-hero h1 .kos-heading-actions{font-size:clamp(17px,4.8vw,23px);line-height:1.28}
 .kos-brand-hero h1 .kos-h-actions-pair,.kos-brand-hero h1 .kos-h-actions-tail{display:block}
 .kos-brand-hero h1 .kos-action-word{display:block;white-space:nowrap}
 .kos-brand-hero h1 .kos-heading-brand{font-size:clamp(17px,4.7vw,24px);line-height:1.26;margin-top:10px}
 .kos-brand-hero h1 .kos-h-brand-intro,.kos-brand-hero h1 .kos-h-brand-name{display:block;white-space:nowrap}
 .kos-brand-hero h1 .kos-heading-custom{font-size:19px;overflow-wrap:anywhere}
 .kos-brand-hero-lead{grid-column:1;grid-row:3;font-size:10px;line-height:1.65;margin:0;min-width:0}
 .kos-brand-hero-trust{grid-column:1;grid-row:4;margin:2px 0 0;display:flex;gap:5px;flex-wrap:wrap}
 .kos-brand-hero-trust>span{font-size:9px;line-height:1.4;padding:5px 6px;gap:3px}
 .kos-brand-trust-tick{font-size:11px}
 .kos-brand-showcase{grid-column:2;grid-row:2/5;align-self:stretch;min-width:0;width:100%;max-width:none;margin:0;padding:8px;border-radius:13px;box-shadow:0 9px 22px rgba(0,22,16,.13)}
 .kos-brand-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:7px}
 .kos-brand-showcase-tile{border-radius:7px}
 .kos-brand-showcase-tile img{aspect-ratio:1/1;object-fit:cover;border-radius:7px}
 .kos-brand-showcase-tile figcaption{font-size:7px;line-height:1.2;left:2px;bottom:2px;max-width:calc(100% - 4px);padding:2px 3px;border-radius:3px}
 .kos-brand-showcase-body h2{font-size:clamp(11px,3vw,14px);line-height:1.3;white-space:normal;text-align:center;letter-spacing:-.05em;margin:0}
 .kos-showcase-phrase{display:block;white-space:nowrap}
 .kos-brand-showcase-body p,.kos-brand-service-grid{display:none}
 .kos-brand-hero-buttons{grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
 .kos-brand-hero-buttons .kos-btn{min-height:48px;padding:8px 5px;font-size:11px;white-space:nowrap}
 .kos-brand-hero-buttons .kos-line-mark{font-size:9px}
 .kos-brand-hero-caption{grid-column:1/-1;grid-row:6;font-size:10px;line-height:1.6;margin:0}
 .kos-brand-hero-caption small{font-size:9px}
 .kos-brand-downlink{display:none}
 .kos-brand-mobile-finder-link{margin-top:12px}
}
@media(max-width:359px){
 .kos-brand-hero-grid{column-gap:7px}
 .kos-brand-hero h1 .kos-heading-actions{font-size:17px}
 .kos-brand-hero h1 .kos-heading-brand{font-size:17px}
 .kos-brand-hero-trust>span{font-size:8px;padding:4px 5px}
 .kos-brand-showcase{padding:6px}
 .kos-brand-showcase-grid{gap:4px}
 .kos-brand-showcase-tile figcaption{font-size:6.5px}
 .kos-brand-showcase-body h2{font-size:10.8px}
 .kos-brand-hero-buttons .kos-btn{font-size:10px}
}

@media(min-width:621px) and (max-width:980px){
 .kos-brand-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:start;
  gap:clamp(17px,3vw,28px);
  padding-top:48px;
  padding-bottom:24px;
 }
 .kos-brand-hero-copy{display:block;max-width:none}
 .kos-brand-showcase{min-width:0;width:100%;max-width:none;padding:13px}
 .kos-brand-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .kos-brand-hero h1 .kos-heading-actions{font-size:clamp(21px,2.8vw,28px)}
 .kos-brand-hero h1 .kos-heading-brand{font-size:clamp(23px,3vw,30px)}
 .kos-brand-hero-lead{font-size:13px}
 .kos-brand-hero-buttons .kos-btn{font-size:11px;min-height:52px;padding:9px 7px}
 .kos-brand-showcase-body h2{font-size:clamp(18px,2.1vw,23px)}
 .kos-brand-showcase-body p{font-size:12px}
 .kos-brand-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
 .kos-brand-service-card{min-height:125px;padding:9px 5px}
 .kos-brand-service-card strong{font-size:12px}
 .kos-brand-service-card small{font-size:9px}
}


/* ----------------------------------------------------
 * Studio v3.1.8 — Mobile hero finder link across both columns.
 * The link lives as a direct child of .kos-brand-hero-grid.
 * Prior CSS allowed auto-placement in column one only, which
 * created a narrow box and word-by-word wrapping on mobile.
 * ---------------------------------------------------- */
@media(max-width:620px){
 .kos-brand-hero-grid>.kos-brand-mobile-finder-link{
   grid-column:1 / -1;
   grid-row:7;
   display:flex;
   justify-content:center;
   align-items:center;
   width:100%;
   min-width:0;
   max-width:100%;
   min-height:50px;
   gap:14px;
   padding:11px 15px;
   margin:12px 0 0;
   font-size:13px;
   font-weight:850;
   line-height:1.45;
   text-align:center;
   white-space:nowrap;
   word-break:keep-all;
 }
 .kos-brand-hero-grid>.kos-brand-mobile-finder-link span{
   flex-shrink:0;
 }
}
@media(max-width:359px){
 .kos-brand-hero-grid>.kos-brand-mobile-finder-link{
   font-size:12px;
   padding-inline:10px;
   gap:9px;
 }
}

/* --------------------------------------------------------------------------
 * Studio v3.1.9 — mobile editorial density / scroll-length revision.
 * Keep substantive fees, warnings, responsive navigation and sticky CTAs.
 * -------------------------------------------------------------------------- */
@media (max-width:760px){
  .kos-service-hero h1,.kos-section-head h2,.kos-photo-guide-heading h2,
  .kos-price-accord-grouphead h2,.kos-why h2,.kos-process h2,
  .kos-faq h2,.kos-general-hero h1,.kos-story-hero h1{
    text-wrap:balance;
    overflow-wrap:break-word;
  }
}
@media (max-width:620px){
  /* Common typography and rhythm: less air, without microtype for body copy. */
  body{line-height:1.62}
  .kos-shell{width:calc(100% - 32px)}
  .kos-section{padding:33px 0}
  .kos-section-head{margin-bottom:14px}
  .kos-section-head h2,.kos-why h2{font-size:clamp(22px,6vw,26px);line-height:1.32;letter-spacing:-.047em;margin-top:4px}
  .kos-section-head>p{font-size:11px;line-height:1.65;margin-top:5px}
  .kos-kicker{font-size:9px;line-height:1.45;letter-spacing:.12em;margin-bottom:4px}
  .kos-btn{line-height:1.35}
  .kos-mobile-bar{padding:7px 10px calc(7px + env(safe-area-inset-bottom));gap:8px}
  .kos-mobile-bar a{min-height:48px;font-size:12px}
  /* Top: a single permanently visible CTA pair is enough on smartphones.
     Avoid a second identical row inside the hero and lead to service prices sooner. */
  .kos-brand-hero-grid{padding-top:14px;padding-bottom:14px;row-gap:6px;column-gap:9px}
  .kos-brand-hero-eyebrow{font-size:9px;margin:0 0 3px;line-height:1.45}
  .kos-brand-hero h1 .kos-heading-actions{font-size:clamp(17px,4.6vw,22px);line-height:1.22}
  .kos-brand-hero h1 .kos-heading-brand{font-size:clamp(17px,4.55vw,22px);margin-top:7px;line-height:1.2}
  .kos-brand-hero-lead{font-size:10px;line-height:1.52;margin-top:1px}
  .kos-brand-hero-trust{margin-top:2px;gap:4px}
  .kos-brand-hero-trust>span{font-size:9px;line-height:1.35;padding:4px 5px}
  .kos-brand-showcase{padding:6px;border-radius:11px;box-shadow:0 7px 17px #001a1327}
  .kos-brand-showcase-grid{gap:4px;margin-bottom:5px}
  .kos-brand-showcase-body h2{font-size:clamp(11px,2.8vw,13px);line-height:1.24}
  .kos-brand-hero-buttons{display:none!important}
  .kos-brand-hero-caption{grid-row:5;grid-column:1/-1;margin-top:2px;font-size:10px;line-height:1.4}
  .kos-brand-hero-caption small{font-size:9px}
  .kos-brand-hero-grid>.kos-brand-mobile-finder-link{
    grid-row:6;min-height:45px;margin:5px 0 0;padding:9px 12px;
    font-size:12px;line-height:1.35;border-radius:8px
  }
  .kos-brand-hero-grid>.kos-brand-mobile-finder-link span{font-size:17px}
  /* Homepage photo selector: image+title stay legible, less dead space. */
  .kos-finder{padding-top:28px;padding-bottom:33px}
  .kos-finder .kos-section-head{margin-bottom:14px}
  .kos-finder .kos-section-head h2{font-size:clamp(22px,5.9vw,25px);line-height:1.32}
  .kos-finder .kos-section-head>p{font-size:11px;line-height:1.55;margin-top:5px}
  .kos-choice-grid{gap:8px}
  .kos-finder .kos-choice-photo{aspect-ratio:1.68;min-height:0}
  .kos-choice-bottom,.kos-finder .kos-choice-bottom{min-height:70px;padding:9px 9px 9px}
  .kos-choice-bottom strong{font-size:12px;line-height:1.35;padding-right:10px}
  .kos-choice-bottom small{font-size:10px;line-height:1.4;margin-top:4px;padding-right:5px}
  .kos-choice-arrow{top:8px;right:7px;font-size:15px}
  .kos-finder-details{margin-top:8px}
  .kos-detail-left{padding:9px 9px 0}
  .kos-detail-image{height:146px}
  .kos-detail-left>p{margin:5px 0 0;font-size:10px;line-height:1.5}
  .kos-detail-right{padding:14px 13px 17px}
  .kos-detail h3{font-size:21px;line-height:1.32;margin:5px 0 7px}
  .kos-detail-description{font-size:11px;line-height:1.62;margin-bottom:9px}
  .kos-detail-eyebrow{font-size:9px;gap:5px}
  .kos-detail-eyebrow span{font-size:9px;padding:3px 7px}
  .kos-total-note{padding:9px;gap:8px;margin:9px 0 5px}
  .kos-total-note strong,.kos-detail .kos-total-note strong{font-size:11px;line-height:1.5}
  .kos-total-note small{font-size:10px;line-height:1.55;margin-top:3px}
  .kos-price-row{padding:9px 0;gap:9px}
  .kos-price-row strong{font-size:11px;line-height:1.5}
  .kos-price-row small{font-size:10px;line-height:1.45;margin-top:2px}
  .kos-price-row>span{font-size:18px}
  .kos-price-related{padding-top:12px;margin-top:11px}
  .kos-related-thumb{min-height:90px}
  .kos-related-copy{padding:8px}
  .kos-detail-conditions{font-size:10px;line-height:1.6;padding:9px;margin:9px 0 13px}
  .kos-detail-cta .kos-btn{min-height:47px}
  .kos-finder-bottom{padding-top:13px;gap:3px;line-height:1.55}
  .kos-finder-bottom a{min-height:38px;font-size:12px}
  /* The extra assurance ribbon repeats the hero and price selector on phones. */
  .kos-brand-ribbon{display:none}
  /* Trust and work examples. */
  .kos-why-grid{gap:15px}
  .kos-why h2{margin:5px 0 10px}
  .kos-why-intro{font-size:12px;line-height:1.7;margin:10px 0 13px}
  .kos-why-list>div{grid-template-columns:34px 1fr;padding:10px 0}
  .kos-why-list h3{font-size:13px;line-height:1.42;margin:0 0 4px}
  .kos-why-list p{font-size:11px;line-height:1.58}
  .kos-why-num{font-size:12px}
  .kos-cases-grid{gap:9px}
  .kos-case{min-height:135px;grid-template-columns:37% minmax(0,1fr)}
  .kos-case-visual{min-height:135px}
  .kos-case-info{padding:10px 11px}
  .kos-case-info h3{font-size:13px;line-height:1.45;margin:5px 0}
  .kos-case-price{font-size:11px;margin-bottom:5px}
  .kos-meta-line span{font-size:9px}
  .kos-case-footer{margin-top:14px}
  .kos-staff-section{padding:0 0 32px}
  .kos-staff-card{padding:13px;gap:10px}
  .kos-staff-copy h2{font-size:15px}
  .kos-staff-copy p:not(.kos-kicker){font-size:11px;line-height:1.65}
  .kos-staff-facts{margin-top:8px}
  /* Step cards, geographic coverage, questions. */
  .kos-step-grid{gap:8px}
  .kos-step-grid>div{padding:12px;grid-template-columns:37px 1fr}
  .kos-step-grid b{font-size:19px}
  .kos-step-grid h3{font-size:13px;line-height:1.45}
  .kos-step-grid p{font-size:11px;line-height:1.55}
  .kos-area-grid{gap:15px}
  .kos-area h2,.kos-faq h2{font-size:clamp(23px,6vw,27px);line-height:1.32;margin-bottom:10px}
  .kos-area-lead{font-size:12px;line-height:1.7;margin-bottom:12px}
  .kos-area-tags{gap:6px}
  .kos-area-tags span{font-size:10px;padding:5px 9px}
  .kos-area-arrival{margin-top:13px}
  .kos-area-arrival strong{font-size:13px}
  .kos-area-arrival span{font-size:11px;line-height:1.55}
  .kos-area-board{display:none} /* repeat of area text in a large decorative board */
  .kos-faq-grid{gap:12px}
  .kos-faq-item summary{min-height:48px;padding:11px 4px;font-size:12px;line-height:1.5}
  .kos-faq-answer{font-size:11px;line-height:1.7;padding:0 16px 13px 27px}
  .kos-faq-lead>p:not(.kos-kicker){font-size:11px;line-height:1.6}
  .kos-final{padding:32px 0 calc(70px + env(safe-area-inset-bottom))}
  .kos-final h2{font-size:22px;line-height:1.35}
  .kos-final p:not(.kos-kicker){font-size:11px;line-height:1.65}
  /* Photos to send via LINE. */
  .kos-photo-guide{padding:34px 0 35px}
  .kos-photo-guide-heading{margin-bottom:14px}
  .kos-photo-guide-heading h2{font-size:clamp(21px,5.8vw,26px);line-height:1.32;margin-top:4px}
  .kos-photo-guide-heading>p{font-size:11px;line-height:1.6;margin-top:8px}
  .kos-guide-grid{gap:8px}
  .kos-guide-card{min-height:108px}
  .kos-guide-photo{min-height:108px;flex:0 0 36%}
  .kos-guide-info{padding:10px}
  .kos-guide-info h3{font-size:12px;line-height:1.35;margin-bottom:4px}
  .kos-guide-info p{font-size:10px;line-height:1.5}
  .kos-guide-footer{margin-top:14px;padding-top:13px;gap:10px}
  .kos-guide-notice{font-size:10px;line-height:1.65}
  .kos-guide-notice strong{font-size:11px}
  .kos-guide-action{min-height:47px}
  /* Price details page: same data, denser rows. */
  .kos-p26-crumb{padding-top:10px}
  .kos-price-accord-intro{padding:19px 0 21px}
  .kos-price-accord-intro h1{font-size:clamp(26px,7vw,30px);line-height:1.3;margin:5px 0 9px}
  .kos-price-accord-intro p:not(.kos-p26-kicker){font-size:11px;line-height:1.62}
  .kos-price-accord-trust{gap:5px;margin-top:11px}
  .kos-price-accord-trust span{font-size:10px;padding:4px 7px}
  .kos-price-accord-main{padding:25px 0 38px}
  .kos-price-accord-grouphead{margin-bottom:8px}
  .kos-price-accord-grouphead h2{font-size:20px;line-height:1.3}
  .kos-price-accord-grouphead p{font-size:11px;line-height:1.55;margin-top:4px}
  .kos-price-accord-second{margin-top:30px}
  .kos-price-accord-item summary{min-height:59px;padding:8px 4px;gap:10px}
  .kos-price-accord-item .kos-p26-extra-img{width:50px;height:50px;flex-basis:50px;border-radius:7px}
  .kos-price-accord-item .kos-p26-extra-label strong{font-size:13px;line-height:1.38}
  .kos-price-accord-item .kos-p26-extra-label small{font-size:10px;line-height:1.45;margin-top:2px}
  .kos-price-accord-item .kos-p26-extra-toggle{width:30px;height:30px;flex-basis:30px;font-size:19px}
  .kos-price-accord-item .kos-p26-extra-body{padding:9px 8px 14px}
  .kos-p26-extra-row{padding:9px 0;gap:8px}
  .kos-p26-extra-row strong{font-size:11px;line-height:1.45}
  .kos-p26-extra-row small{font-size:10px;line-height:1.5;margin-top:2px}
  .kos-p26-extra-row b{font-size:14px}
  .kos-price-accord-note{padding:13px;margin-top:20px}
  .kos-price-accord-note p{font-size:11px;line-height:1.6}
  .kos-p26-steps{padding:29px 0 35px}
  .kos-p26-section-intro{margin-bottom:14px}
  .kos-p26-section-intro h2{font-size:22px;line-height:1.35}
  .kos-p26-steps-grid{gap:8px}
  .kos-p26-steps-grid>div{padding:13px}
  .kos-p26-steps-grid span{margin-bottom:4px}
  .kos-p26-steps-grid strong{font-size:13px;margin-bottom:4px}
  .kos-p26-steps-grid p{font-size:11px;line-height:1.6}
  /* Individual service pages, story pages, archive and footer. */
  .kos-service-breadcrumb{padding-top:7px}
  .kos-service-hero{padding:14px 0 25px}
  .kos-service-hero-grid{gap:13px}
  .kos-service-hero h1{font-size:clamp(24px,6.8vw,30px);line-height:1.32;margin:6px 0 8px}
  .kos-service-lead{font-size:12px;line-height:1.62}
  .kos-service-badges{margin:12px 0 10px;gap:5px}
  .kos-service-badges span{font-size:10px;padding:5px 7px}
  .kos-service-hero-cta .kos-btn{min-height:46px}
  .kos-service-caveat{font-size:10px;line-height:1.55;margin-top:7px}
  .kos-service-image{height:clamp(165px,45vw,195px);border-radius:10px}
  .kos-service-pricing{padding:31px 0}
  .kos-service-pricing-grid{gap:13px}
  .kos-service-pricing h2,.kos-service-repair-note h2{font-size:23px;line-height:1.32}
  .kos-service-price-box{padding:13px}
  .kos-service-price-row{padding:9px 0}
  .kos-service-body-section,.kos-general-content{padding:30px 0}
  .kos-service-body-head h2{font-size:23px}
  .kos-service-prose{padding:15px 13px}
  .kos-richtext{font-size:12px;line-height:1.7}
  .kos-richtext h2{font-size:18px}
  .kos-richtext h3{font-size:15px}
  .kos-richtext>*+*{margin-top:1em}
  .kos-service-related{padding:31px 0}
  .kos-service-nav{padding:24px 0 31px}
  .kos-service-repair-note{padding:28px 0}
  .kos-inner-contact{padding:31px 0 calc(70px + env(safe-area-inset-bottom))}
  .kos-inner-contact h2{font-size:21px}
  .kos-general-hero{padding:13px 0 27px}
  .kos-general-hero h1{font-size:25px}
  .kos-story-hero{padding:13px 0 28px}
  .kos-story-hero h1{font-size:24px}
  .kos-story-body{padding:21px 0 32px}
  .kos-story-article{padding:18px 15px}
  .kos-wa-hero{padding:14px 0 24px}
  .kos-wa-list{padding:23px 0 32px}
  .kos-work-card .kos-case-visual{height:155px}
  .kos-work-card .kos-case-info{padding:13px}
  .kos-work-card h3{font-size:15px;margin:8px 0 9px}
  .kos-ws-intro{padding:15px 0 25px}
  .kos-ws-content{padding:20px 0 35px}
  .kos-ws-hero-image{height:200px}
  .kos-ws-facts{padding:15px}
  .kos-ws-article{padding:17px 14px}
  .kos-ws-related{padding:31px 0}
  .kos-footer-main{padding:24px 0;gap:17px 15px}
  .kos-footer-maincol img{width:176px}
  .kos-footer-maincol p{font-size:11px;line-height:1.55;margin-top:8px}
  .kos-footer h3{font-size:12px;margin-bottom:5px}
  .kos-footer-main>div:not(:first-child)>a{font-size:11px;line-height:1.5;min-height:28px}
  .kos-footer-main small{font-size:10px;line-height:1.55}
  .kos-footer-bottom{padding-bottom:calc(77px + env(safe-area-inset-bottom))}
}
@media (max-width:359px){
  .kos-brand-hero-grid{column-gap:7px}
  .kos-brand-hero h1 .kos-heading-actions,.kos-brand-hero h1 .kos-heading-brand{font-size:16.5px}
  .kos-brand-hero-grid>.kos-brand-mobile-finder-link{font-size:11px}
  .kos-choice-bottom strong{font-size:11.5px}
  .kos-price-accord-item .kos-p26-extra-label strong{font-size:12px}
}


/* --------------------------------------------------------------
 * Studio v3.1.10 — Mobile hero typography & optical spacing.
 * Two-line action rhythm, more air around the heading, a slightly
 * wider copy column, with readable photo labels and unchanged CTAs.
 * Only the top hero on phones is affected.
 * -------------------------------------------------------------- */
@media(max-width:620px){
 .kos-brand-hero-grid{
   grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
   column-gap:10px;
   row-gap:7px;
   padding-top:20px;
   padding-bottom:17px;
 }
 .kos-brand-hero-eyebrow{
   margin:0 0 7px;
   font-size:9px;
   line-height:1.5;
   letter-spacing:.015em;
 }
 .kos-brand-hero h1{
   margin:0;
   letter-spacing:-.065em;
 }
 .kos-brand-hero h1 .kos-heading-actions{
   font-size:clamp(15px,4.05vw,19px);
   line-height:1.4;
   letter-spacing:-.065em;
 }
 .kos-brand-hero h1 .kos-h-actions-pair{
   display:block;
   white-space:nowrap;
 }
 .kos-brand-hero h1 .kos-action-word{
   display:inline;
   white-space:nowrap;
 }
 .kos-brand-hero h1 .kos-h-actions-tail{display:block}
 .kos-brand-hero h1 .kos-heading-brand{
   margin-top:12px;
   font-size:clamp(15px,4.15vw,19px);
   line-height:1.38;
   letter-spacing:-.065em;
 }
 .kos-brand-hero-lead{
   font-size:10px;
   line-height:1.76;
   margin:4px 0 0;
 }
 .kos-brand-hero-trust{
   margin:6px 0 0;
   gap:6px;
   align-content:start;
 }
 .kos-brand-hero-trust>span{
   padding:5px 7px;
   font-size:9px;
   line-height:1.45;
 }
 .kos-brand-showcase{
   padding:8px;
   align-self:start;
   border-radius:13px;
 }
 .kos-brand-showcase-grid{gap:5px;margin-bottom:8px}
 .kos-brand-showcase-body h2{font-size:clamp(11px,3vw,14px);line-height:1.45}
 .kos-brand-hero-caption{
   margin:6px 0 0;
   font-size:10px;
   line-height:1.6;
 }
 .kos-brand-hero-caption small{font-size:9px;line-height:1.6}
 .kos-brand-hero-grid>.kos-brand-mobile-finder-link{
   margin:6px 0 0;
   min-height:46px;
 }
}
@media(max-width:359px){
 .kos-brand-hero-grid{column-gap:9px}
 .kos-brand-hero h1 .kos-heading-actions{font-size:15px}
 .kos-brand-hero h1 .kos-heading-brand{font-size:15px}
 .kos-brand-hero-trust>span{font-size:8.5px;padding:5px 6px}
 .kos-brand-showcase{padding:6px}
 .kos-brand-showcase-body h2{font-size:11px}
}

@media(min-width:540px) and (max-width:620px){
 .kos-brand-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .kos-brand-showcase-body h2{font-size:14px}
}


/* Studio 3.1.11 — short consistent pricing notice, not a contract-like block. */
.kos-price-short-notice{
  margin:16px 0 15px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  max-width:100%;
}
.kos-price-short-notice p{
  color:inherit;
  font-size:12px;
  line-height:1.8;
  opacity:.85;
  margin:0;
  overflow-wrap:break-word;
}
.kos-price-short-notice a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  font-weight:750;
  line-height:1.65;
  margin-top:8px;
  text-decoration:underline;
  text-underline-offset:3px;
  color:inherit;
}
.kos-price-short-notice a:hover{opacity:1;text-decoration-thickness:2px}
.kos-detail .kos-price-short-notice{margin:14px 0 14px}
.kos-detail .kos-price-short-notice p{color:#d6e7de;opacity:1}
.kos-detail .kos-price-short-notice a{color:#c3f0d6}
.kos-service-pricing .kos-price-short-notice{margin:16px 0 0}
.kos-service-pricing .kos-price-short-notice p{color:#d2e6d8;opacity:1}
.kos-price-accord-note{
  background:transparent;
  border:0;
  border-top:1px solid #dce9de;
  border-radius:0;
  box-shadow:none;
  padding:16px 2px 0;
  margin-top:26px;
  color:#456451;
}
.kos-price-accord-note .kos-price-short-notice{margin:0}
.kos-price-accord-note .kos-price-short-notice p{color:#496753;opacity:1}
.kos-price-accord-note .kos-price-accord-explanation{
  margin:5px 0 0;
  font-size:11px;
  line-height:1.7;
  color:#63786b;
}
@media(max-width:620px){
 .kos-price-short-notice{margin:11px 0 12px}
 .kos-price-short-notice p{font-size:11px;line-height:1.7}
 .kos-price-short-notice a{font-size:11px;margin-top:6px;min-height:26px}
 .kos-detail .kos-price-short-notice{margin:10px 0 11px}
 .kos-service-pricing .kos-price-short-notice{margin-top:10px}
 .kos-price-accord-note{margin-top:18px;padding:11px 1px 0}
 .kos-price-accord-note .kos-price-accord-explanation{font-size:10px;line-height:1.65}
}


/* ----------------------------------------------------
 * Studio 3.1.12 — Phone first, LINE as optional photo channel.
 * A single mobile phone CTA; compact optional LINE links.
 * Photo guide stays available in native accessible details.
 * ---------------------------------------------------- */
.kos-contact{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:7px;
}
.kos-contact .kos-btn-phone{
  width:100%;
  flex:none;
  justify-content:center;
}
.kos-contact-secondary{
  margin:0;
  padding:2px 0 0;
  font-size:11px;
  line-height:1.65;
  color:#6b8274;
  text-align:center;
}
.kos-contact-secondary a{
  color:#1b7857;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
}
.kos-contact-secondary a:hover{color:#08583f}
.kos-brand-hero-buttons{max-width:440px}
.kos-brand-hero-buttons .kos-contact-secondary,
.kos-final-cta .kos-contact-secondary,
.kos-inner-contact-buttons .kos-contact-secondary{color:#bdd9c8}
.kos-brand-hero-buttons .kos-contact-secondary a,
.kos-final-cta .kos-contact-secondary a,
.kos-inner-contact-buttons .kos-contact-secondary a{color:#dbf7e9}
.kos-service-hero-cta .kos-contact-secondary{color:#5d786a}
.kos-detail-cta{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.kos-detail-cta .kos-btn-phone{min-height:50px;flex:none}
.kos-detail-cta .kos-contact-secondary{color:#cae4d2}
.kos-detail-cta .kos-contact-secondary a{color:#def5e5}
.kos-inner-contact-buttons .kos-btn-phone,
.kos-final-cta .kos-btn-phone{min-width:220px}
.kos-footer-main a.kos-footer-line-link{
  font-size:11px;
  color:#577a68;
  font-weight:500;
}
.kos-footer-main a.kos-footer-line-link:hover{color:#087957}
/* Optional photographic instruction, not another primary sales CTA. */
.kos-photo-guide-compact{
  padding:30px 0;
  background:#f4f8f4;
}
.kos-guide-disclosure{
  background:#fff;
  border:1px solid #dce8df;
  border-radius:13px;
  overflow:hidden;
}
.kos-guide-disclosure>summary{
  list-style:none;
  min-height:68px;
  padding:15px 22px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  cursor:pointer;
}
.kos-guide-disclosure>summary::-webkit-details-marker{display:none}
.kos-guide-disclosure-title{
  display:block;
  font-size:16px;
  line-height:1.5;
  font-weight:850;
  color:#1d4837;
}
.kos-guide-disclosure-title small{
  display:block;
  color:#6c8173;
  font-size:11px;
  line-height:1.55;
  font-weight:450;
  margin-top:3px;
}
.kos-guide-disclosure-toggle{
  color:#1c6d4e;
  font-size:21px;
  line-height:1;
  flex:0 0 26px;
  text-align:center;
}
.kos-guide-disclosure[open] .kos-guide-disclosure-toggle{transform:rotate(45deg)}
.kos-guide-disclosure-body{padding:0 22px 21px}
.kos-guide-disclosure-lead{
  border-top:1px solid #e2ebe3;
  padding-top:16px;
  margin:0 0 18px;
  font-size:12px;
  line-height:1.85;
  color:#526d5e;
}
.kos-guide-disclosure .kos-guide-grid{margin:0}
.kos-guide-disclosure .kos-guide-footer{margin-top:16px;padding-top:16px}
.kos-guide-line-link{
  color:#1f7856;
  font-size:12px;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
  flex-shrink:0;
}
@media(max-width:620px){
  .kos-mobile-bar{
    display:block;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  }
  .kos-mobile-bar a.kos-mobile-call{
    display:flex;
    width:100%;
    min-height:50px;
    padding:10px 14px;
    font-size:14px;
    gap:8px;
  }
  .kos-detail-cta{display:flex;flex-direction:column;gap:5px}
  .kos-detail-cta .kos-btn-phone{width:100%;min-height:45px;font-size:12px;padding:10px 12px}
  .kos-contact-secondary{font-size:10px;line-height:1.6}
  .kos-photo-guide-compact{padding:17px 0 19px}
  .kos-guide-disclosure{border-radius:10px}
  .kos-guide-disclosure>summary{padding:11px 13px;min-height:59px;gap:10px}
  .kos-guide-disclosure-title{font-size:13px}
  .kos-guide-disclosure-title small{font-size:10px}
  .kos-guide-disclosure-body{padding:0 12px 14px}
  .kos-guide-disclosure-lead{font-size:10.5px;line-height:1.7;padding-top:12px;margin-bottom:12px}
  .kos-guide-disclosure .kos-guide-footer{margin-top:11px;padding-top:12px}
  .kos-guide-line-link{font-size:11px}
}
