:root{--green:#214a35;--deep:#173426;--ink:#25382d;--cream:#f7f3ea;--gold:#ae6f37;--muted:#637065}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.85;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #c18e52;outline-offset:5px}img{display:block;max-width:100%}.skip-link{position:fixed;z-index:5;top:-100px;left:16px;background:white;color:var(--green);padding:12px 20px}.skip-link:focus{top:12px}.sample-notice{padding:11px 4.5%;background:#efe3ca;color:#4b3525;display:flex;justify-content:center;align-items:center;gap:15px;font-size:18px;line-height:1.65;border-bottom:1px solid #d6be91}.notice-tag{border:1px solid #9e8159;padding:1px 7px;white-space:nowrap;font-weight:bold}.sample-notice>a{margin-left:12px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.header{min-height:116px;padding:24px 4.5%;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;gap:12px;align-items:center;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:28px;line-height:1.4;font-weight:700;color:var(--green);white-space:nowrap}.brand small{font-size:18px;vertical-align:middle}.brand em{display:block;font:18px/1.5 "Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:.07em;margin-top:4px;font-style:normal;color:#7b826e}.brand-symbol{width:40px;flex-shrink:0}.brand-symbol svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5}.nav{display:flex;gap:24px;font-size:18px;font-weight:700}.nav a{padding:8px 0;border-bottom:1px solid transparent}.nav a:hover{border-color:var(--green)}.header-cta{background:var(--green);color:white;padding:14px 21px;font-size:18px;border-radius:4px;white-space:nowrap}.header-cta span{margin-left:16px}.hero{position:relative;min-height:670px;padding:94px 7%;display:flex;align-items:center;background:linear-gradient(90deg,rgba(18,45,31,.95),rgba(18,45,31,.82) 35%,rgba(18,45,31,.25) 65%,rgba(18,45,31,.05)),url("./assets/komorebi-home-images.png") center top / cover no-repeat;color:white}.hero-copy{max-width:780px;position:relative;z-index:1}.eyebrow{font-size:18px;font-weight:700;letter-spacing:.15em;color:#ead9b8;margin:0 0 22px}.hero .eyebrow{font-size:18px;letter-spacing:.1em}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.2vw,64px);line-height:1.5;margin:0 0 26px;font-weight:600;letter-spacing:.025em}.hero-lead{font-size:20px;line-height:2;margin:0 0 35px}.buttons{display:flex;gap:15px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 26px;border-radius:4px;font-weight:700;font-size:18px;line-height:1.6;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:#b8793f;color:#fff}.btn.light{background:#fff;color:var(--green)}.hero-note{font-size:18px;margin:24px 0 0;color:#d4dfd6}.hero-caption{position:absolute;bottom:28px;right:4.5%;font-size:18px;letter-spacing:.2em;writing-mode:vertical-rl}.section{padding:96px 6%;background:#fff}.section.alt{background:var(--cream)}.section-heading{margin:0 auto 46px;text-align:center}.green{color:#768669}.section h2,.message-band h2,.contact h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(26px,3vw,40px);line-height:1.6;letter-spacing:.025em;margin:0 0 20px;color:var(--green);font-weight:600}.section-heading .eyebrow{margin-bottom:15px}.lead{margin:0 auto;max-width:800px;color:var(--muted);font-size:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;max-width:1300px;margin:0 auto}.card{background:white;overflow:hidden;border-radius:9px;box-shadow:0 8px 30px rgba(42,50,44,.07);border:1px solid #e8e0d2}.photo{position:relative;overflow:hidden;background:#e8e0d2;aspect-ratio:334/410}.photo img{position:absolute;max-width:none;width:306.586826%;height:auto;top:-164.87805%;left:0}.photo.house img{left:-102.994012%}.photo.dining img{left:-205.688623%}.photo.shop img,.photo.washroom img{top:-266.341463%}.photo.shop img{left:-205.688623%}.photo.washroom img{left:-102.994012%}.card .photo{aspect-ratio:334/270}.card .photo img{top:-250.37037%}.card .photo.shop img,.card .photo.washroom img{top:-404.44444%}.card-copy{padding:22px 22px 25px;position:relative}.card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:23px;margin:4px 0 10px;color:var(--green);line-height:1.4}.card p{font-size:18px;color:var(--muted);margin:0;line-height:1.9}.strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;max-width:1240px;margin:0 auto}.strength{padding:31px 30px 33px;background:#fff;border-top:4px solid #38674b;border-radius:4px;box-shadow:0 6px 22px rgba(42,50,44,.035)}.strength h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:23px;color:var(--green);margin:10px 0 13px;line-height:1.5}.strength p{margin:0;color:var(--muted);font-size:18px}.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1240px;margin:0 auto}.cases figure{margin:0}.cases .photo{border-radius:7px}.cases figcaption{padding:18px 0 0}.cases figcaption>span{font-size:18px;color:#a67c4b;letter-spacing:.08em}.cases h3{font-size:18px;line-height:1.7;margin:5px 0 0;font-weight:500}.image-note{text-align:right;font-size:18px;margin:23px auto 0;color:#83715d;max-width:1300px;line-height:1.8}.info-wrap{display:grid;grid-template-columns:1.3fr .8fr;gap:35px;max-width:1240px;margin:0 auto;align-items:stretch}.info{padding:45px;background:#fff;border-radius:8px}.info .eyebrow{margin-bottom:10px}.info h2{text-align:left;margin-bottom:22px}.info dl{margin:0}.info dl>div{border-top:1px solid #e5e8e1;padding:20px 0}.info dt{font-size:18px;color:#7b857c;margin-bottom:8px}.info dd{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;font-weight:600;margin:0;line-height:1.6}.info dd.detail{font-family:inherit;font-size:18px;font-weight:400}.fiction-label{display:block;font:18px/1.6 "Hiragino Sans","Yu Gothic",sans-serif;color:#8b7357;margin-top:4px}.supplement{display:block;font-size:18px;color:#778075;margin-top:5px}.contact-card{background:var(--green);color:#fff;border-radius:8px;padding:47px 36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.contact-card-label{font-size:18px;color:#d9ddc9}.contact-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:31px;line-height:1.65;font-weight:500;margin:21px 0}.contact-card p{font-size:18px;color:#e0e8e0;line-height:2;margin:0 0 25px}.contact-card .btn{font-size:18px;padding:14px 19px;gap:16px}.contact-card small{font-size:18px;color:#c6d5c8;margin-top:15px}.message-band{padding:65px 7%;background:#e8dfcf;text-align:center}.message-band .eyebrow{margin-bottom:15px}.message-band h2{font-size:34px;margin-bottom:14px}.message-band>p:last-child{font-size:18px;margin:0}.contact{padding:79px 7% 86px;background:#b8783e;color:#fff;text-align:center}.contact .eyebrow{color:#f2debc;margin-bottom:15px}.contact h2{color:#fff;margin-bottom:15px}.contact-lead{font-size:18px;margin:0 0 32px}.demo-contact{max-width:670px;margin:0 auto;padding:31px 35px 34px;border:1px solid #dcb591;border-radius:6px;background:rgba(84,45,13,.1)}.demo-label{font-size:18px;color:#f3ddc7;letter-spacing:.07em}.demo-contact h3{font-size:19px;font-weight:600;margin:11px 0 13px}.demo-contact p{font-size:18px;line-height:2;margin:0 0 25px;color:#fff4e8}.demo-contact .btn{font-size:18px}.footer{padding:52px 7% 25px;background:var(--deep);color:#fff;text-align:center}.footer-brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:27px;font-weight:600;display:inline-block;line-height:1.6}.footer-brand>span{font:18px/1.6 "Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:.08em;color:#d5d9c7;display:block;margin-top:4px}.warning{font-size:18px;line-height:2.1;color:#c8d7cb;margin:26px auto 31px;max-width:900px}.credit{border-top:1px solid rgba(255,255,255,.2);padding-top:22px;font-size:18px;display:flex;justify-content:center;gap:35px;flex-wrap:wrap;color:#c8d7cb}.credit a{text-decoration:underline;text-underline-offset:4px}.mobile-only{display:none}@media(min-width:1600px){.hero{background-size:100% auto}}@media(max-width:1200px){.header{flex-wrap:wrap;gap:18px}.nav{order:3;width:100%;justify-content:center;border-top:1px solid #edf0e9;padding-top:13px;gap:45px}.header{padding:20px 5% 16px}.hero{min-height:620px;padding:70px 6%;background-size:max(100%,1040px) auto}.cards{gap:18px}.card-copy{padding:18px}.card h3{font-size:20px}.strength{padding:26px}.strength h3{font-size:21px}}@media(max-width:760px){body{font-size:18px}.sample-notice{padding:10px 5%;flex-wrap:wrap;gap:5px 9px;font-size:18px;justify-content:flex-start}.sample-notice>span:nth-child(2){flex:1;min-width:210px}.sample-notice>a{margin:0 0 0 auto;font-size:18px}.header{padding:20px 5% 14px;gap:16px}.brand{font-size:23px;gap:8px}.brand-symbol{width:30px}.brand small{font-size:18px}.brand em{font-size:18px}.header-cta{font-size:18px;padding:11px 13px}.header-cta span{margin-left:5px}.nav{gap:25px;font-size:18px;justify-content:flex-start;overflow-x:auto;white-space:nowrap;width:100%;padding-top:10px}.hero{min-height:630px;padding:70px 6% 62px;background-position:41% top;background-size:auto 1600px;background-image:linear-gradient(90deg,rgba(18,45,31,.9),rgba(18,45,31,.72) 62%,rgba(18,45,31,.42)),url("./assets/komorebi-home-images.png")}.hero h1{font-size:clamp(31px,6.5vw,45px);line-height:1.6;margin-bottom:23px;letter-spacing:.015em}.hero .eyebrow{font-size:18px;letter-spacing:.06em}.hero-lead{font-size:18px;margin-bottom:28px;line-height:2}.buttons{gap:12px}.btn{font-size:18px;padding:15px 22px;gap:20px}.hero-note{font-size:18px;max-width:300px;margin-top:23px;line-height:1.8}.hero-caption{display:none}.section{padding:66px 6%}.section-heading{margin-bottom:32px}.section h2{font-size:29px;line-height:1.6;margin-bottom:18px}.section-heading .eyebrow{font-size:18px}.lead{font-size:18px}.desktop-only{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.card h3{font-size:19px}.card-copy{padding:16px 14px 20px}.card p{font-size:18px}.card .photo{aspect-ratio:334/330}.card .photo img{top:-204.848485%}.card .photo.shop img,.card .photo.washroom img{top:-330.909091%}.image-note{font-size:18px;text-align:left;margin-top:20px}.strengths{grid-template-columns:1fr;gap:17px}.strength{padding:26px 25px}.strength h3{font-size:22px;margin:7px 0 12px}.strength p{font-size:18px}.cases{grid-template-columns:1fr;gap:32px}.cases .photo{aspect-ratio:334/300}.cases .photo img{top:-225.333333%}.cases h3{font-size:18px}.cases figcaption{padding-top:12px}.info-wrap{grid-template-columns:1fr;gap:23px}.info{padding:31px 26px}.info dd{font-size:23px}.info dd.detail{font-size:18px}.info dl>div{padding:18px 0}.contact-card{padding:35px 28px}.contact-card h3{font-size:29px;margin:16px 0}.contact-card p{font-size:18px}.message-band{padding:53px 6%}.message-band h2{font-size:28px}.message-band>p:last-child{font-size:18px}.contact{padding:58px 6% 64px}.contact h2{font-size:29px}.contact-lead{font-size:18px}.demo-contact{padding:25px 20px 29px}.demo-contact h3{font-size:18px}.demo-contact p{font-size:18px}.demo-contact .btn{font-size:18px;padding:14px 18px;gap:12px}.footer{padding:43px 6% 27px}.footer-brand{font-size:24px}.warning{font-size:18px;text-align:left;margin:24px auto}.credit{font-size:18px;gap:16px 22px}.mobile-only{display:initial}}@media(max-width:410px){.header-cta{display:none}.brand{font-size:25px}.nav{gap:20px;font-size:18px}.hero{min-height:620px;padding-top:59px}.hero h1{font-size:31px}.hero-lead{font-size:18px}.buttons{flex-direction:column;align-items:flex-start}.btn{min-width:198px;justify-content:space-between}.card h3{font-size:18px}.card-copy{padding:15px 12px 18px}.card p{font-size:18px}.section h2{font-size:26px}.contact h2{font-size:26px}.demo-contact .btn{min-width:0}.contact-card .btn{min-width:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Readability floors and undecorated category labels. */
body{font-size:18px}
.card h3,.strength h3{text-align:center}
.card p,.strength p{text-align:left;font-size:18px}
.nav,.nav a{font-size:16px}
.nav a{min-height:44px;display:inline-flex;align-items:center}
.btn,.header-cta,.contact-card .btn,.demo-contact .btn{font-size:17px;min-height:48px}
.footer,.footer-brand>span,.warning,.credit,.credit a{font-size:16px}
.footer-brand>span{font:16px/1.7 "Hiragino Sans","Yu Gothic",sans-serif}
.brand em{font-size:16px;white-space:normal}
@media(max-width:760px){
  .cards{grid-template-columns:1fr}
  .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;overflow:visible;white-space:normal}
  .nav a{font-size:16px;line-height:1.6;padding:9px 0}
  .hero h1{font-size:clamp(30px,6.5vw,45px)}
  .hero-note{max-width:none}
  .sample-notice{display:block;font-size:18px}
  .sample-notice .notice-tag{display:inline-block;margin-bottom:6px}
  .sample-notice>span:nth-child(2){display:block}
  .sample-notice>a{display:inline-flex;align-items:center;min-height:44px;margin:4px 0 0;font-size:16px;white-space:normal}
  .brand{white-space:normal;min-width:0}
  .brand small{font-size:16px}
  .info,.contact-card{padding:30px 24px}
  .contact-card-label,.contact-card small,.fiction-label,.supplement,.image-note{font-size:18px}
  .footer,.footer-brand>span,.warning,.credit,.credit a{font-size:16px}
  .credit a{display:inline-flex;align-items:center;min-height:44px}
}

/* Five-page sample navigation and concise inner-page heading. */
.nav{flex-wrap:wrap;gap:8px 20px}.nav a[aria-current="page"]{border-color:var(--green)}
.page-heading{padding:28px 6% 12px;background:var(--cream)}
.page-heading h1{font-family:"Yu Mincho",serif;font-size:clamp(28px,4vw,40px);margin:0;color:var(--green)}
.page-heading+.section{padding-top:32px}
.page-heading+.contact{padding-top:32px}
.page-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:32px 6%;background:#e8dfcf}
@media(max-width:760px){.page-heading{padding-top:24px}.page-links{display:grid;grid-template-columns:1fr}.page-links .btn{min-width:0}.nav{gap:0 20px}}
