@charset "UTF-8";
/* Splide v4.1.3 - https://github.com/Splidejs/splide/tree/v4.1.3
The MIT License (MIT)

Copyright (c) 2022 Naotoshi Fujita

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}
:root{--ink:#242724;--muted:#626862;--paper:#fcfcf9;--soft:#f1f2ed;--line:#d9ddd6;--photo:#e3e6df;--radius:4px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #547258;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.04em;line-height:1.45}h2{font-size:clamp(30px,3.2vw,44px)}h3{font-size:20px}p{color:var(--muted)}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{padding:100px 0}.soft{background:var(--soft)}.bordered{border-block:1px solid var(--line)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;line-height:1.6;color:var(--muted);margin-bottom:24px}.caption{font-size:12px;line-height:1.85;color:var(--muted);margin-top:20px}.caption a{text-decoration:underline;text-underline-offset:4px}.section-heading{margin-bottom:48px}.section-heading h2+p{margin-top:22px}.split{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.split>p{max-width:390px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:#fff;padding:19px 24px;border:1px solid var(--ink);border-radius:var(--radius);font-size:14px;font-weight:700;line-height:1.6;transition:background .2s,transform .2s}.button:hover{background:#424b42;transform:translateY(-2px)}.button span{font-size:19px}.button.small{font-size:13px;padding:11px 18px;gap:18px}.text-link{font-size:14px;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-block}.tag,.outline-tag{font-size:12px;line-height:1.5;padding:6px 11px;display:inline-block;letter-spacing:.02em;border-radius:2px}.tag{background:#f7f8f4;color:#555e53;border:1px solid #d3d8ce}.outline-tag{border:1px solid var(--line);white-space:nowrap}.dark{background:var(--ink);color:#fff}.dark p{color:#c5ccc4}.dark .eyebrow{color:#c5ccc4}.dark .outline-tag{border-color:#60665f}.skip-link{position:fixed;left:16px;top:-100px;background:white;z-index:10;padding:12px}.skip-link:focus{top:16px}.review-bar{background:#e9ece5;display:flex;justify-content:space-between;gap:20px;padding:8px 48px;font-size:12px;letter-spacing:.06em;line-height:1.6}.review-bar>span:first-child{display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:#596750;border-radius:50%}.header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 48px;background:rgba(252,252,249,.97);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0}.brand-wordmark{font-size:27px;font-weight:700;letter-spacing:-.04em;line-height:1}.header nav{display:flex;gap:27px;font-size:13px}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding-block:65px 60px;align-items:center}.hero .eyebrow{margin-bottom:26px}.hero-kicker{font-size:14px;color:var(--ink);margin-bottom:15px}.hero h1{font-size:clamp(46px,5.5vw,76px);letter-spacing:-.06em;line-height:1.3}.title-outline{color:#6e7969}.lead{margin-top:26px;font-size:16px;line-height:2}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px}.hero-actions .button{font-size:13px;gap:18px}.hero .caption{max-width:440px}.hero-visual{min-height:480px;position:relative;background:var(--photo);overflow:hidden;border-radius:130px 4px 4px 4px;display:flex;flex-direction:column;justify-content:space-between;padding:26px}.visual-top,.visual-bottom{font-size:12px;display:flex;gap:15px;justify-content:space-between;position:relative;z-index:2;color:#596252}.visual-top{margin-top:18px;margin-left:30px}.visual-bottom{align-items:flex-end}.visual-bottom span:first-child{font-size:15px}.visual-bottom span:last-child{font-size:12px}.architecture{position:absolute;inset:0;overflow:hidden;background:linear-gradient(145deg,#e5e8e1 0%,#d9ddd3 65%,#c3c9bd 100%)}.architecture:after{content:"";position:absolute;left:0;right:0;bottom:0;height:31%;background:#c9cfc2;clip-path:polygon(0 20%,100% 0,100% 100%,0 100%)}.arch{position:absolute;left:15%;top:19%;height:58%;width:35%;border-radius:100px 100px 0 0;background:#f1f2ec;border:16px solid #d0d6c8}.window{position:absolute;top:23%;right:13%;height:32%;width:26%;background:linear-gradient(90deg,transparent 48%,#c2cbb7 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,#c2cbb7 48% 52%,transparent 52%),#f3f4ee;border:7px solid #c2cbb7}.sofa{position:absolute;bottom:22%;left:19%;width:52%;height:15%;background:#a9b2a0;border-radius:12px 12px 3px 3px;z-index:1;box-shadow:0 8px 0 #939f88}.sofa:after{content:"";position:absolute;left:6%;right:6%;top:44%;border-top:2px solid #bdc6b4}.table{position:absolute;bottom:15%;left:46%;width:25%;height:6%;background:#b8c0ad;z-index:1;transform:skewX(-15deg);border-radius:50%;box-shadow:0 8px 0 #a5af98}.plant{position:absolute;right:13%;bottom:26%;height:22%;width:2px;background:#a0ad94;z-index:1}.plant:before,.plant:after{content:"";width:22px;height:46px;position:absolute;background:#a9b69d;border-radius:100% 0;top:8px;right:0}.plant:after{right:auto;left:0;top:38px;transform:rotate(80deg)}.floating-label{position:absolute;right:24px;top:40%;background:#f8f9f3;padding:17px 20px;font-size:12px;letter-spacing:.09em;line-height:1.7;z-index:2;border:1px solid #ccd2c4}.floating-label strong{font-size:15px}.facts{display:grid;grid-template-columns:1fr 1fr 1.5fr;border-block:1px solid var(--line);padding-block:30px}.facts>div{padding:0 34px;border-right:1px solid var(--line)}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.fact-label{font-size:12px;letter-spacing:.12em;color:var(--muted)}.facts p{font-size:40px;color:var(--ink);line-height:1.6;font-weight:600;letter-spacing:-.04em}.facts p span{font-size:17px;margin-left:8px}.facts p.fact-text{font-size:25px;line-height:2.55}.facts small{font-size:12px;color:var(--muted);display:block}.issue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.issue-grid>div{border-top:1px solid var(--line);padding-top:22px}.index{font-size:12px;color:var(--muted);display:block;margin-bottom:28px}.issue-grid h3{margin-bottom:14px}.process-strip{display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);border:1px solid var(--line)}.process-strip>div{padding:28px 20px;border-right:1px solid var(--line);position:relative}.process-strip>div:last-child{border:0}.process-strip>div>span{font-size:12px;letter-spacing:.1em;color:var(--muted)}.process-strip h3{font-size:17px;margin-top:30px}.process-strip p{font-size:12px;margin-top:10px}.note{display:flex;align-items:flex-start;gap:26px;background:#e8ebe3;padding:22px 26px;margin-top:26px;font-size:13px}.note>span{font-size:12px;flex-shrink:0;letter-spacing:.03em;font-weight:700}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.role-panel{padding:40px;border:1px solid var(--line);border-radius:var(--radius)}.role-panel h3{font-size:24px}.check-list{list-style:none;padding:0;margin:28px 0 0}.check-list li{position:relative;padding:12px 0 12px 27px;border-bottom:1px solid var(--line);font-size:14px}.check-list li:before{content:"✓";position:absolute;left:0;color:#75816a}.dark .check-list li{border-color:#485044}.dark .check-list li:before{color:#bfcdb0}.benefit-line{padding:30px 0 0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;align-items:center}.benefit-line h3{font-size:21px}.benefit-line p{grid-column:2;font-size:13px}.expertise-list article{display:flex;gap:35px;align-items:center;padding:35px 0;border-top:1px solid var(--line)}.expertise-list article:last-child{border-bottom:1px solid var(--line)}.large-index{font-size:34px;color:#8d9788;letter-spacing:-.04em}.expertise-list article>div{flex:1}.expertise-list h3{font-size:24px;margin-bottom:12px}.expertise-list p{max-width:730px}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-slot{background:var(--photo);position:relative;display:flex;align-items:center;justify-content:center;color:#646f5e;font-size:13px;min-height:180px;border:1px solid #d5dbcd;border-radius:var(--radius);overflow:hidden;background-image:linear-gradient(135deg,transparent 49.9%,#d2d8cc 50%,transparent 50.1%),linear-gradient(45deg,transparent 49.9%,#d2d8cc 50%,transparent 50.1%)}.image-slot.tall{min-height:540px}.slot-code{position:absolute;top:20px;left:22px;font-size:12px;letter-spacing:.12em}.slot-center{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px}.slot-center strong{font-size:16px;color:#596451}.image-symbol{font-size:34px;font-weight:400;color:#87967b}.slot-foot{position:absolute;bottom:20px;left:22px;right:22px;font-size:12px}.editorial-copy>p:not(.eyebrow):not(.caption){margin-top:23px}.designer{margin-top:32px;display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:28px}.designer .eyebrow{margin-bottom:6px}.designer h3{font-size:18px}.designer p:last-child{font-size:13px}.avatar-placeholder{width:64px;height:64px;border-radius:50%;background:#dfe4d8;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;color:#606c58}.mini-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.mini-image-grid .image-slot{min-height:130px}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.property{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.property>.image-slot{min-height:270px;border:0;border-radius:0}.property .image-slot .tag{position:absolute;bottom:20px;left:22px}.property-body{padding:28px 30px}.property-body .eyebrow{margin-bottom:10px}.property-body h3{font-size:24px;margin-bottom:10px}.property-body>p:not(.eyebrow){font-size:14px}.property dl{margin:24px 0}.property dl>div{display:flex;justify-content:space-between;gap:20px;font-size:13px;border-top:1px solid var(--line);padding:11px 0}.property dd{margin:0;color:var(--muted)}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;min-width:660px;text-align:center;font-size:14px}caption{text-align:left;padding:15px 22px;font-size:12px;color:var(--muted);background:var(--soft)}th,td{padding:18px 24px;border-bottom:1px solid var(--line)}thead th{background:#eceee8;font-weight:600}tbody th{text-align:left;font-weight:500}td{color:var(--muted)}.featured{background:#e8ede1}thead .featured{background:#d7e0cc}.result-row th,.result-row td{font-weight:700;color:var(--ink);border-top:2px solid #aebaa4}tbody tr:last-child>*{border-bottom:0}.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.cost-grid h2+p{margin-top:24px}.price{font-size:80px;font-weight:600;line-height:1.4;letter-spacing:-.055em;margin-top:30px}.price span{font-size:24px;margin-left:12px}.cost-panel{background:var(--paper);padding:34px;border:1px solid var(--line);border-radius:var(--radius)}.detail-list{margin:24px 0 0}.detail-list>div{padding:17px 0;border-top:1px solid var(--line);font-size:14px}.detail-list dt{font-weight:600}.detail-list dd{font-size:13px;color:var(--muted);margin:5px 0 0}.timeline{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.timeline li{display:flex;gap:25px;align-items:center;padding:28px 0;border-top:1px solid var(--line)}.timeline li>span:first-child{font-size:16px;color:#7d8974}.timeline li>div{flex:1}.timeline h3{font-size:18px}.timeline p{font-size:13px;margin-top:8px}.timeline .outline-tag{font-size:12px}.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.voice-card{padding:32px;border:1px solid var(--line);background:#f4f5f0;position:relative}.quote-mark{font-size:60px;line-height:1;color:#a6b19b;margin-top:28px}.voice-card h3{font-size:24px;margin-bottom:16px}.voice-card>p{font-size:14px}.voice-person{margin-top:30px;padding-top:25px;border-top:1px solid var(--line);display:flex;gap:18px;align-items:center;font-size:13px}.voice-person small{font-size:12px;color:var(--muted)}.portrait{min-height:570px}.signature{padding-top:25px;margin-top:30px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px}.signature span{font-size:12px;color:var(--muted)}.signature strong{font-size:22px;letter-spacing:.15em;font-weight:600}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.team-grid .image-slot{min-height:290px;margin-bottom:25px}.team-grid .eyebrow{margin-bottom:10px}.team-grid h3{margin-bottom:10px}.team-grid article>p:last-child{font-size:14px}.offer-main{display:grid;grid-template-columns:1fr 1fr;gap:24px}.offer-main article{padding:34px 40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}.offer-main article.dark{background:var(--ink)}.offer-main h3{margin-top:26px;font-size:23px}.offer-main article>p:last-child{font-size:13px}.offer-number{font-size:80px;line-height:1.5;color:#fff!important;letter-spacing:-.05em}.offer-number span{font-size:36px;margin-left:8px}.offer-word{font-size:43px;line-height:2.78;letter-spacing:-.04em;color:var(--ink);font-weight:600}.offer-candidates{margin-top:30px;padding:25px 0;border-block:1px solid var(--line)}.offer-candidates .eyebrow{margin-bottom:16px}.offer-candidates>div{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;font-size:13px;color:var(--muted)}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.faq-layout h2+p{margin-top:25px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:23px 40px 23px 0;font-size:15px;font-weight:600;cursor:pointer;position:relative;list-style:none;line-height:1.7}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:3px;top:22px;font-size:20px;font-weight:500;color:var(--muted)}details[open] summary:after{content:"−"}details>p{padding:0 26px 24px 0;font-size:14px}.contact-panel{padding:60px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:60px;border-radius:var(--radius)}.contact-panel .eyebrow{color:#b9c4af}.contact-panel h2+p{margin-top:22px;color:#c6cec0}.contact-note{font-size:12px;color:#b9c4af;margin-top:35px}.form-preview{background:#f6f7f2;padding:28px;color:var(--ink);border-radius:var(--radius)}.form-field{margin-bottom:17px}.form-field>span{display:block;font-size:13px;margin-bottom:7px}.form-field>div{background:#fff;border:1px solid var(--line);border-radius:2px;padding:10px 12px;color:#788071;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.textarea-preview{min-height:84px}.form-button{width:100%;padding:14px 18px;background:#67715e;border-color:#67715e;cursor:not-allowed}.form-button span{font-size:12px}.form-button:hover{transform:none;background:#67715e}.footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:35px}.footer p{font-size:12px}.footer a:not(.back-top){text-decoration:underline;text-underline-offset:4px}.back-top{display:flex;width:44px;height:44px;border:1px solid var(--line);align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
@media(min-width:1600px){.wrap{width:min(1280px,calc(100% - 120px))}.hero h1{font-size:82px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding:20px 32px}.header nav{gap:16px}.hero{gap:30px}.hero-visual{min-height:430px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero h1{font-size:57px}.facts>div{padding-inline:24px}.facts p.fact-text{font-size:21px}.editorial-grid{gap:40px}.process-strip>div{padding:24px 14px}.process-strip h3{font-size:15px}.timeline{gap:0 30px}.timeline li{gap:15px}.timeline .outline-tag{display:none}.contact-panel{padding:40px;gap:35px}.faq-layout{gap:40px}.offer-candidates>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.section{padding:68px 0}.review-bar{padding:8px 20px}.review-bar>span:last-child{display:none}.header{padding:17px 20px;gap:12px}.brand-wordmark{font-size:22px}.header nav{display:none}.button.small{padding:9px 12px;gap:12px}.hero{grid-template-columns:1fr;padding-block:40px;gap:35px}.hero h1{font-size:clamp(44px,9vw,64px)}.hero .eyebrow{margin-bottom:20px}.hero-kicker{font-size:12px}.lead{font-size:15px;margin-top:22px}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .button{font-size:13px;padding:16px 18px}.hero-visual{min-height:370px;border-radius:100px 4px 4px 4px}.hero .caption{max-width:none}.facts{grid-template-columns:1fr 1fr;padding-block:22px}.facts>div{padding:0 18px}.facts>div:nth-child(2){border:0}.facts>div:last-child{grid-column:1/-1;padding:20px 0 0;border-top:1px solid var(--line);margin-top:20px}.facts p{font-size:35px}.facts p.fact-text{font-size:24px;line-height:1.9}.split{display:block}.split>p{margin-top:22px}.section-heading{margin-bottom:32px}.eyebrow{margin-bottom:18px}.issue-grid{gap:20px}.issue-grid h3{font-size:17px}.issue-grid p{font-size:13px}.index{margin-bottom:18px}.process-strip{grid-template-columns:1fr}.process-strip>div{display:grid;grid-template-columns:36px 1fr;gap:3px 12px;border-right:0;border-bottom:1px solid var(--line);padding:20px}.process-strip h3{margin:0;font-size:17px}.process-strip p{grid-column:2;margin:0;font-size:13px}.note{display:block;padding:20px}.note p{margin-top:8px}.role-grid{grid-template-columns:1fr}.role-panel{padding:28px}.role-panel h3{font-size:22px}.benefit-line{display:block}.benefit-line h3{margin-top:12px;font-size:20px}.benefit-line p{margin-top:10px}.expertise-list article{gap:20px;align-items:flex-start;padding:28px 0}.expertise-list .outline-tag{display:none}.expertise-list h3{font-size:21px}.expertise-list p{font-size:14px}.large-index{font-size:26px}.editorial-grid{grid-template-columns:1fr;gap:35px}.image-slot.tall{min-height:380px}.property-grid{gap:20px}.property>.image-slot{min-height:220px}.property-body{padding:24px 20px}.property-body h3{font-size:21px}.property dl>div{flex-direction:column;gap:3px}.cost-grid{grid-template-columns:1fr;gap:30px}.price{font-size:65px}.cost-panel{padding:25px}.timeline{grid-template-columns:1fr}.timeline li{gap:22px;padding:24px 0}.timeline .outline-tag{display:block}.voice-grid{gap:20px}.voice-card{padding:24px}.voice-card h3{font-size:21px}.voice-person{flex-direction:column;align-items:flex-start}.portrait{min-height:420px}.team-grid{gap:18px}.team-grid .image-slot{min-height:210px}.team-grid h3{font-size:18px}.team-grid article>p:last-child{font-size:13px}.team-grid .eyebrow{font-size:12px;letter-spacing:.03em}.offer-main article{padding:26px}.offer-main h3{font-size:20px}.offer-word{font-size:30px;line-height:3.4}.offer-number{font-size:68px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout>div:first-child>p:not(.eyebrow){display:none}.contact-panel{grid-template-columns:1fr;padding:30px;gap:30px}.contact-panel h2{font-size:34px}.contact-note{margin-top:20px}.footer{flex-wrap:wrap;gap:22px}.footer>.brand{width:calc(100% - 70px);order:0}.footer>.back-top{order:1}.footer>p{order:2;width:calc(50% - 15px)}.desktop{display:none}}
@media(max-width:520px){.wrap{width:calc(100% - 36px)}.header{padding-inline:18px}.header .button.small{font-size:12px}.header .button.small span{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero-actions .button{width:100%}.hero h1{font-size:48px}.hero-visual{min-height:320px;padding:20px}.visual-top{margin-left:23px;font-size:12px;gap:10px}.visual-top span:last-child{display:none}.visual-bottom{flex-direction:column;align-items:flex-start;gap:3px}.floating-label{right:16px;padding:12px;font-size:12px;top:36%}.floating-label strong{font-size:13px}.facts p{font-size:32px}.facts p span{font-size:15px}.facts small{line-height:1.7}.issue-grid{grid-template-columns:1fr;gap:25px}.issue-grid h3{font-size:20px}.issue-grid p{font-size:14px}.issue-grid>div{position:relative;padding-left:38px}.issue-grid .index{position:absolute;left:0;top:24px}.image-slot.tall{min-height:320px}.property-grid,.voice-grid,.offer-main{grid-template-columns:1fr}.property>.image-slot{min-height:235px}.property dl>div{flex-direction:row}.property-body{padding:26px}.timeline li{gap:16px}.timeline .outline-tag{display:none}.voice-person{flex-direction:row;align-items:center}.portrait{min-height:350px}.team-grid{grid-template-columns:1fr;gap:28px}.team-grid article{display:grid;grid-template-columns:110px 1fr;column-gap:20px;align-content:start}.team-grid .image-slot{grid-column:1;grid-row:1/4;min-height:150px;margin:0}.team-grid .eyebrow{grid-column:2;align-self:end;margin:12px 0 8px}.team-grid h3{grid-column:2}.team-grid article>p:last-child{grid-column:2}.offer-main h3{font-size:23px}.offer-word{font-size:37px;line-height:2.5}.offer-candidates>div{gap:15px;font-size:12px}.contact-panel{padding:26px 22px}.form-preview{padding:20px}.form-row{grid-template-columns:1fr;gap:0}.footer>p{width:100%}.table-scroll{margin-inline:0}th,td{padding:16px 20px}}
@media(max-width:800px){.faq-layout>div:first-child>p.caption{display:block}}
#flow .timeline{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#flow .timeline li{flex-direction:column;align-items:flex-start;gap:22px;padding:26px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
#flow .timeline li>span:first-child{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:14px;color:var(--ink);background:var(--soft)}
#flow .timeline h3{font-size:17px;line-height:1.6}
#flow .timeline .outline-tag{display:inline-flex;margin-top:auto}
@media(max-width:900px){#flow .timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:520px){#flow .timeline{gap:12px}#flow .timeline li{padding:20px 16px;gap:18px}#flow .timeline h3{font-size:16px}}
#voices .voice-carousel{width:100%;min-width:0}
#voices .voice-carousel{visibility:visible}
#voices .splide__track{padding:8px 0 24px;overflow-x:auto}
#voices .voice-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(280px,28vw,420px);gap:24px}
#voices .is-initialized .splide__track{overflow:hidden}
#voices .is-initialized .voice-grid{display:flex;gap:0}
#voices .voice-card{min-width:0;flex:0 0 clamp(280px,28vw,420px)}
#voices .voice-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#voices .voice-index{font-size:12px;color:var(--muted);white-space:nowrap}
#voices .voice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
#voices .voice-scroll-hint{font-size:13px;color:var(--muted);margin:0}
#voices .voice-scroll-hint span{margin-left:8px}
#voices .voice-controls{display:flex;align-items:center;gap:12px}
#voices .voice-controls[hidden]{display:none}
#voices .voice-total{font-size:12px;color:var(--muted);margin-right:10px}
#voices .voice-arrow{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
#voices .voice-arrow:hover:not(:disabled){background:var(--ink);color:#fff}
#voices .voice-arrow:disabled{color:#a4aaa0;background:var(--soft);cursor:default}
#voices .splide__track:focus-visible{outline-offset:-3px}
@media(max-width:900px){#voices .voice-grid{gap:20px}}
@media(max-width:520px){
  #voices .voice-carousel{width:calc(100% - 20px);margin-inline-start:20px}
}
@media(max-width:520px){#voices .voice-card{flex-basis:88vw}#voices .voice-grid{grid-auto-columns:88vw;gap:16px}#voices .voice-toolbar{gap:12px}#voices .voice-total{display:none}#voices .voice-controls{gap:8px}}
#offers .offer-main{grid-template-columns:repeat(3,minmax(0,1fr))}
#offers .offer-main article{padding:32px 28px}
#offers .offer-placeholder{border-style:dashed;background:var(--paper)}
#offers .offer-placeholder .offer-word{font-size:clamp(20px,2.4vw,28px);line-height:1.6;min-height:120px;display:flex;align-items:center;color:var(--muted)}
@media(max-width:900px){#offers .offer-main{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){#offers .offer-main{grid-template-columns:1fr}}
/* NEWO brand theme — indigo #292986 / magenta #e62c8b (newo.co.jp) */
:root{--ink:#1b1b33;--muted:#5a5c74;--paper:#fcfcfe;--soft:#f2f3f8;--line:#dcdeea;--photo:#e7e9f3;--radius:6px;--navy:#292986;--navy-deep:#1e1e66;--midnight:#121238;--magenta:#e62c8b;--magenta-text:#c01f72;--lavender:#9393c2;--on-dark:#c9cae6;--mincho:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;--latin:"Avenir Next","Avenir","Futura","Helvetica Neue",Arial,sans-serif;--numeral:"Didot","Bodoni 72","Bodoni MT","Hiragino Mincho ProN","Yu Mincho",serif;--shadow:0 30px 60px -36px rgba(30,30,102,.38)}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic",Meiryo,sans-serif;letter-spacing:.04em;line-height:2}
::selection{background:var(--navy);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--navy);outline-offset:5px}
.dark :focus-visible,#expertise :focus-visible,.contact-panel :focus-visible,.review-bar :focus-visible{outline-color:#fff}
h1,h2,h3{font-family:var(--mincho);font-weight:700;letter-spacing:.06em;line-height:1.6;color:var(--ink)}
h2{font-size:clamp(28px,3vw,42px);line-height:1.65}
.eyebrow{font-family:var(--latin);font-weight:600;letter-spacing:.24em;color:var(--navy)}
.hero .eyebrow,.section-heading .eyebrow,.editorial-copy>.eyebrow,.cost-grid .eyebrow,.faq-layout .eyebrow,.contact-panel .eyebrow{display:flex;align-items:center;gap:14px}
.hero .eyebrow:before,.section-heading .eyebrow:before,.editorial-copy>.eyebrow:before,.cost-grid .eyebrow:before,.faq-layout .eyebrow:before,.contact-panel .eyebrow:before{content:"";width:28px;height:1px;background:var(--magenta);flex-shrink:0}
.caption{color:var(--muted)}
.section{padding:120px 0}
.soft{background:var(--soft)}

/* Buttons & tags */
.button{background:var(--navy);border-color:var(--navy);border-radius:999px;padding:19px 30px;letter-spacing:.08em;box-shadow:0 18px 36px -22px rgba(41,41,134,.7);transition:background .3s,transform .3s,box-shadow .3s}
.button:hover{background:var(--navy-deep);transform:translateY(-2px);box-shadow:0 22px 40px -20px rgba(41,41,134,.8)}
.button span{transition:transform .3s}
.button:hover span{transform:translate(3px,-3px)}
.button.small{padding:11px 22px}
.text-link{color:var(--navy);letter-spacing:.06em;border-bottom-color:rgba(41,41,134,.35);transition:border-color .3s,color .3s}
.text-link:hover{border-bottom-color:var(--magenta);color:var(--navy-deep)}
.tag{background:#fff;color:var(--navy);border:1px solid rgba(41,41,134,.25);border-radius:999px;padding:5px 13px}
.outline-tag{border-color:var(--line);color:var(--muted);border-radius:999px;padding:5px 14px}
.dark{background:linear-gradient(150deg,var(--midnight) 0%,var(--navy-deep) 60%,var(--navy) 100%);color:#fff}
.dark p,.dark .eyebrow{color:var(--on-dark)}
.dark h3{color:#fff}
.dark .outline-tag{border-color:rgba(255,255,255,.28);color:var(--on-dark)}

/* Review bar & header */
.review-bar{background:var(--midnight);color:var(--on-dark);letter-spacing:.12em;font-family:var(--latin)}
.status-dot{background:var(--magenta);box-shadow:0 0 0 3px rgba(230,44,139,.25)}
.header{background:rgba(252,252,254,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(41,41,134,.1)}
.brand-wordmark{font-family:var(--latin);font-weight:600;font-size:22px;letter-spacing:.24em;color:var(--navy)}
.header nav{font-size:13px;letter-spacing:.1em;gap:34px}
.header nav a{position:relative;padding-block:6px}
.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--magenta);transition:right .3s}
.header nav a:hover{text-decoration:none;color:var(--navy)}
.header nav a:hover:after{right:0}

/* Hero */
.hero{padding-block:90px 80px;gap:72px}
.hero-kicker{font-size:14px;letter-spacing:.14em;color:var(--navy)}
.hero h1{font-size:clamp(44px,5.2vw,72px);letter-spacing:.04em;line-height:1.45;font-weight:700}
.title-outline{color:var(--magenta);position:relative;display:inline-block}
.lead{color:var(--muted)}
.hero-visual{background:var(--midnight);border-radius:200px 6px 6px 6px;box-shadow:var(--shadow);padding:30px}
.visual-top,.visual-bottom{color:var(--on-dark);font-family:var(--latin);letter-spacing:.16em}
.visual-bottom span:first-child{font-family:var(--mincho);letter-spacing:.1em;color:#fff}
.architecture{background:radial-gradient(circle at 74% 30%,rgba(147,147,194,.45) 0,transparent 42%),linear-gradient(160deg,#25257a 0%,#1a1a58 55%,#111134 100%)}
.architecture:after{background:linear-gradient(180deg,#191950,#0f0f2e);height:30%}
.arch{background:linear-gradient(180deg,#34349a,#22226a);border:14px solid #3b3ba6;border-radius:999px 999px 0 0}
.window{background:linear-gradient(90deg,transparent 48%,#4a4ab4 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,#4a4ab4 48% 52%,transparent 52%),linear-gradient(160deg,#c9cae6,#8f90c8);border:6px solid #4a4ab4;box-shadow:0 0 80px 10px rgba(147,147,194,.35)}
.sofa{background:linear-gradient(180deg,#5656b8,#3d3d98);box-shadow:0 8px 0 #2b2b78}
.sofa:after{border-top-color:rgba(255,255,255,.18)}
.table{background:#6f70c0;box-shadow:0 8px 0 #4a4a9e}
.plant{background:#6a6ab6}
.plant:before,.plant:after{background:#5a5aae}
.architecture .plant:after{background:#5a5aae}
.hero-visual:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:var(--magenta);right:34px;bottom:96px;box-shadow:-22px 8px 0 -3px rgba(255,255,255,.85);z-index:2}
.floating-label{background:rgba(255,255,255,.94);border:0;border-left:2px solid var(--magenta);color:var(--navy);font-family:var(--latin);letter-spacing:.18em;box-shadow:var(--shadow)}
.floating-label strong{font-weight:700}

/* Facts */
.facts{border-block:1px solid rgba(41,41,134,.18);padding-block:38px}
.facts>div{border-right-color:var(--line)}
.fact-label{font-family:var(--latin);letter-spacing:.24em;color:var(--navy)}
.facts p{font-family:var(--numeral);font-size:52px;font-weight:500;letter-spacing:0;color:var(--navy);line-height:1.5}
.facts p span{font-family:var(--mincho);font-size:17px;color:var(--ink)}
.facts p.fact-text{font-family:var(--mincho);font-size:24px;line-height:3.1;color:var(--ink);letter-spacing:.08em}

/* Needs */
.issue-grid>div{border-top:1px solid var(--navy);padding-top:28px}
.index{font-family:var(--numeral);font-size:22px;color:var(--magenta-text);letter-spacing:.04em}

/* About */
.process-strip{background:#fff;border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.process-strip>div{padding:34px 22px;transition:background .3s}
.process-strip>div:hover{background:var(--soft)}
.process-strip>div>span{font-family:var(--numeral);font-size:22px;color:var(--navy);letter-spacing:0}
.process-strip>div:before{content:"";position:absolute;left:22px;top:0;width:24px;height:2px;background:var(--magenta)}
.note{background:#fff;border:1px solid var(--line);border-left:2px solid var(--magenta);border-radius:0 var(--radius) var(--radius) 0}
.note>span{color:var(--navy);letter-spacing:.08em}

/* Ease */
.role-panel{border-color:var(--line);border-radius:var(--radius);padding:48px;background:#fff}
.role-panel.dark{border:0;box-shadow:var(--shadow);background:linear-gradient(150deg,var(--midnight) 0%,var(--navy-deep) 60%,var(--navy) 100%)}
.check-list li:before{color:var(--navy)}
.dark .check-list li{border-color:rgba(255,255,255,.14)}
.dark .check-list li:before{color:#ff9bcd}
.benefit-line{padding-top:40px}

/* Expertise (dark band) */
#expertise{background:radial-gradient(circle at 88% 12%,rgba(230,44,139,.16) 0,transparent 34%),linear-gradient(160deg,var(--midnight) 0%,var(--navy-deep) 70%,var(--navy) 100%);border:0;color:#fff}
#expertise h2,#expertise h3{color:#fff}
#expertise p{color:var(--on-dark)}
#expertise .eyebrow{color:#ffb3d6}
#expertise .expertise-list article{border-color:rgba(255,255,255,.14);padding:42px 0}
#expertise .large-index{font-family:var(--numeral);font-size:46px;color:#ff9bcd;min-width:64px}
#expertise .outline-tag{border-color:rgba(255,255,255,.28);color:var(--on-dark)}
#expertise .caption,#expertise .caption a{color:var(--on-dark)}

/* Image placeholders */
.image-slot{background:linear-gradient(150deg,#eef0f8 0%,#dfe2f0 100%);border:1px solid rgba(41,41,134,.12);color:#4b4d78;background-image:linear-gradient(135deg,transparent 49.9%,rgba(41,41,134,.08) 50%,transparent 50.1%),linear-gradient(45deg,transparent 49.9%,rgba(41,41,134,.08) 50%,transparent 50.1%),linear-gradient(150deg,#eef0f8 0%,#dfe2f0 100%)}
.slot-code{font-family:var(--latin);letter-spacing:.2em;color:var(--navy)}
.slot-center strong{color:var(--navy);font-family:var(--mincho);letter-spacing:.08em}
.image-symbol{color:var(--magenta)}
.avatar-placeholder{background:#e3e5f2;color:var(--navy);border:1px solid rgba(41,41,134,.15)}
.image-slot.tall,.portrait{border-radius:160px 6px 6px 6px}
.image-slot.tall .slot-code,.portrait .slot-code{left:auto;right:22px}
.visual-top{margin-left:64px}
.designer{border-top-color:var(--line)}

/* Properties */
.property{background:#fff;border-color:var(--line);box-shadow:var(--shadow);transition:transform .4s}
.property:hover{transform:translateY(-4px)}
.property-body{padding:34px 36px}
.property-body .eyebrow{letter-spacing:.12em;font-family:inherit}
.property dl>div{border-top-color:var(--line)}

/* Finance table */
.table-scroll{border-color:var(--line);background:#fff;box-shadow:var(--shadow)}
caption{background:var(--soft);color:var(--muted)}
thead th{background:#fff;color:var(--navy);font-weight:700;letter-spacing:.08em}
th,td{border-bottom-color:var(--line)}
.featured{background:#f1f1fa}
thead .featured{background:var(--navy);color:#fff}
.result-row th,.result-row td{border-top:2px solid var(--navy);color:var(--navy)}

/* Cost */
.price{font-family:var(--numeral);font-weight:500;font-size:104px;letter-spacing:0;color:var(--navy);line-height:1.2}
.price span{font-family:var(--mincho);color:var(--ink);font-size:26px}
.cost-panel{background:#fff;border-color:var(--line);box-shadow:var(--shadow);padding:40px}
.cost-panel h3{font-size:19px}
.detail-list dt{color:var(--navy);font-weight:700}

/* Flow */
#flow .timeline li{background:#fff;border-color:var(--line);box-shadow:var(--shadow);border-top:2px solid var(--navy)}
#flow .timeline li>span:first-child{font-family:var(--numeral);font-size:17px;width:44px;height:44px;border-color:var(--navy);background:#fff;color:var(--navy)}
#flow .timeline li:last-child{border-top-color:var(--magenta)}

/* Voices */
#voices{border-block:0;background:var(--soft)}
.voice-card{background:#fff;border-color:var(--line);border-radius:var(--radius)}
.quote-mark{font-family:var(--numeral);font-size:72px;color:var(--magenta)}
.voice-card h3{font-size:22px}
#voices .voice-arrow{border-color:rgba(41,41,134,.3);color:var(--navy);background:#fff}
#voices .voice-arrow:hover:not(:disabled){background:var(--navy);color:#fff;border-color:var(--navy)}
#voices .voice-arrow:disabled{color:#a3a5c2;background:var(--soft);border-color:var(--line)}
#voices .voice-index{font-family:var(--latin);letter-spacing:.14em}

/* Message */
.signature strong{font-family:var(--mincho);color:var(--navy);letter-spacing:.24em}

/* Team */
.team-grid .image-slot{border-radius:var(--radius)}
#team .stock-image{object-fit:contain}
#team .image-slot{background:#f8f5ef}
.team-grid .eyebrow{font-family:inherit;letter-spacing:.12em}

/* Offers */
#offers .offer-main article{border-color:var(--line);background:#fff;box-shadow:var(--shadow)}
#offers .offer-main article.dark{background:linear-gradient(150deg,var(--midnight) 0%,var(--navy) 100%);border:0}
#offers .offer-placeholder{background:transparent;border-color:rgba(41,41,134,.28);box-shadow:none}
.offer-number{font-family:var(--numeral);font-weight:500;letter-spacing:0}
.offer-word{font-family:var(--mincho);color:var(--navy);font-weight:700;letter-spacing:.06em}
#offers .offer-placeholder .offer-word{color:var(--muted);font-weight:600}
.offer-candidates{border-color:var(--line)}
.offer-candidates>div>span{padding-left:14px;position:relative}
.offer-candidates>div>span:before{content:"";position:absolute;left:0;top:.9em;width:5px;height:5px;border-radius:50%;background:var(--magenta)}

/* FAQ */
.faq-list{border-top-color:var(--navy)}
details{border-bottom-color:var(--line)}
summary{font-weight:700;transition:color .3s}
summary:hover,details[open] summary{color:var(--navy)}
summary:after{color:var(--magenta)}

/* Contact */
.contact-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 0% 100%,rgba(230,44,139,.22) 0,transparent 40%),linear-gradient(150deg,var(--midnight) 0%,var(--navy-deep) 55%,var(--navy) 100%);border-radius:8px;padding:72px;box-shadow:var(--shadow)}
.contact-panel h2{color:#fff}
.contact-panel .eyebrow,.contact-note{color:#ffb3d6}
.contact-panel h2+p{color:var(--on-dark)}
.form-preview{background:#fff;border-radius:var(--radius);padding:34px}
.form-field>span{color:var(--navy);font-weight:700;letter-spacing:.06em}
.form-field>div{border-color:var(--line);background:var(--soft);color:#62647e;border-radius:4px}
.form-button,.form-button:hover{background:#5b5ba0;border-color:#5b5ba0;border-radius:999px;box-shadow:none}

/* Footer */
.footer{border-top-color:var(--line)}
.back-top{border-radius:50%;border-color:rgba(41,41,134,.3);color:var(--navy);transition:background .3s,color .3s}
.back-top:hover{background:var(--navy);color:#fff}

@media(max-width:1100px){.header nav{gap:18px}.contact-panel{padding:44px}.price{font-size:88px}}
@media(max-width:800px){.section{padding:80px 0}.brand-wordmark{font-size:17px;letter-spacing:.16em}.hero{padding-block:48px}.hero h1{font-size:clamp(40px,9vw,60px)}.hero-visual{border-radius:120px 6px 6px 6px}.facts p{font-size:44px}.facts p.fact-text{font-size:22px;line-height:1.9}.image-slot.tall,.portrait{border-radius:110px 6px 6px 6px}.price{font-size:76px}.role-panel{padding:30px}.contact-panel{padding:32px}.contact-panel h2{font-size:32px}.cost-panel{padding:26px}}
@media(max-width:520px){.hero h1{font-size:42px}.hero-visual{border-radius:90px 6px 6px 6px}.hero-visual:after{right:22px;bottom:84px}.facts p{font-size:38px}.price{font-size:66px}.property-body{padding:26px}.contact-panel{padding:28px 22px}.form-preview{padding:22px}}
/* Hero v2 — full-bleed, light corporate */
.hero.wrap{width:100%;max-width:none;margin:0;padding:0;gap:0;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:stretch;min-height:max(680px,calc(100vh - 140px));position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 4% 8%,rgba(147,147,194,.16) 0,transparent 30%),linear-gradient(180deg,#fff 0%,#fff 62%,var(--soft) 100%)}
.hero.wrap:before{content:"";position:absolute;width:760px;height:760px;left:-380px;bottom:-560px;border-radius:50%;border:1px solid rgba(41,41,134,.1);box-shadow:0 0 0 70px rgba(41,41,134,.02),0 0 0 71px rgba(41,41,134,.07);z-index:-1;pointer-events:none}
.hero-copy{align-self:center;position:relative;z-index:1;padding:96px 56px 120px max(24px,calc((100vw - min(1180px,100vw - 96px))/2));animation:hero-rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.hero .eyebrow{color:var(--navy);margin-bottom:30px}
.hero .eyebrow:before{background:var(--magenta);width:44px}
@media(max-width:520px){
  .hero .hero-eyebrow-copy{min-width:0}
  .hero .hero-eyebrow-copy>span{display:block;white-space:nowrap}
}
.hero-kicker{color:var(--navy);font-size:15px;letter-spacing:.2em;margin-bottom:22px}
.hero h1{color:var(--ink);white-space:nowrap;font-size:clamp(48px,5.3vw,96px);line-height:1.34;letter-spacing:.03em}
.hero .title-outline{color:var(--magenta)}
.hero .lead{color:var(--muted);font-size:17px;margin-top:34px;line-height:2.1}
.hero-actions{margin-top:44px;gap:32px}
.hero .button{padding:22px 34px;font-size:14px}
.hero .caption{margin-top:28px}
.hero-visual{min-height:100%;border-radius:0;box-shadow:none;padding:40px 48px 120px;background:transparent;clip-path:ellipse(100% 120% at 100% 50%);animation:hero-reveal 1.4s cubic-bezier(.2,.7,.2,1) .15s both}
.hero-visual{color:#3b3d63}
.hero-visual .visual-top,.hero-visual .visual-bottom{color:#4a4c72}
.hero-visual .visual-bottom span:first-child{color:var(--ink)}
.hero-visual .architecture{background:linear-gradient(115deg,transparent 52%,rgba(255,255,255,.75) 60%,transparent 74%),radial-gradient(circle at 78% 30%,#fffdf8 0,transparent 42%),linear-gradient(170deg,#f1eee8 0%,#e9e5de 60%,#dfdad1 100%)}
.hero-visual .architecture:after{background:linear-gradient(180deg,#e2d3bd,#cdb89a);height:30%}
.hero-visual .arch{background:linear-gradient(180deg,#e9e5de,#f6f3ee);border:14px solid #fff;box-shadow:0 30px 60px -30px rgba(80,70,50,.35),inset 0 20px 40px rgba(120,110,90,.12)}
.hero-visual .window{background:linear-gradient(90deg,transparent 48%,#fff 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,#fff 48% 52%,transparent 52%),linear-gradient(170deg,#dcebfb 0%,#eef5fc 55%,#d7e6d2 100%);border:8px solid #fff;box-shadow:0 0 90px 20px rgba(255,252,240,.9),0 20px 40px -20px rgba(80,70,50,.3)}
.hero-visual .sofa{background:linear-gradient(180deg,#e6e3de,#d3cfc8);box-shadow:0 8px 0 #bfb9b0,0 30px 40px -18px rgba(70,60,40,.4)}
.hero-visual .sofa:after{border-top-color:rgba(255,255,255,.7)}
.hero-visual .table{background:#c9a97f;box-shadow:0 8px 0 #a98a62}
.hero-visual .plant{background:#6f8a69}
.hero-visual .plant:before,.hero-visual .plant:after,.hero-visual .architecture .plant:after{background:#86a57c}
.hero-visual .visual-top{margin:24px 0 0 22%}
.hero-visual .visual-bottom span:first-child{font-size:19px}
.hero-visual .floating-label{top:auto;bottom:24%;right:48px;padding:24px 28px}
.hero-visual .floating-label strong{font-size:18px}
.hero-visual:after{right:auto;left:calc(22% + 40px);bottom:auto;top:128px;width:18px;height:18px;box-shadow:-22px 8px 0 -3px var(--navy)}
.facts{position:relative;z-index:2;margin-top:-72px;background:#fff;border:0;border-radius:8px;padding:40px 48px;box-shadow:0 40px 80px -40px rgba(18,18,56,.3)}
@keyframes hero-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes hero-reveal{from{opacity:0;clip-path:ellipse(60% 120% at 100% 50%)}to{opacity:1;clip-path:ellipse(100% 120% at 100% 50%)}}
@media(max-width:1100px){.hero-copy{padding:80px 40px 110px 32px}.hero-visual{padding:32px 32px 112px}.hero-visual .floating-label{right:32px}.hero-visual .visual-bottom{flex-direction:column;align-items:flex-start;gap:4px}}
@media(max-width:900px){.hero.wrap{grid-template-columns:1fr;min-height:0}.hero-copy{padding:56px 20px 48px}.hero h1{font-size:clamp(44px,11vw,68px)}.hero .lead{font-size:15px;margin-top:26px}.hero-actions{margin-top:32px}.hero-visual{min-height:420px;clip-path:ellipse(140% 100% at 100% 100%);padding:28px 20px 96px}@keyframes hero-reveal{from{opacity:0}to{opacity:1}}.hero-visual .visual-top{margin:28px 0 0 34%}.hero-visual .visual-bottom{padding-left:0}.hero-visual .visual-bottom span:first-child{font-size:15px}.hero-visual .floating-label{right:20px;top:84px;bottom:auto}.hero-visual:after{display:none}.facts{margin-top:-56px;width:calc(100% - 40px);padding:26px 22px}}
@media(max-width:520px){.wrap.facts{width:calc(100% - 36px)}.hero h1{font-size:44px}.hero-copy{padding:48px 18px 40px}.hero .button{padding:18px 24px}.hero-visual{min-height:440px}.hero-visual .visual-top{margin-left:40%}.hero-visual .floating-label{padding:14px 16px}.hero-visual .floating-label strong{font-size:14px}}
/* Consultation version: introductory labels and example explanations. */
.consultation-cost-note{margin-top:24px;padding:20px;background:var(--soft);border-left:3px solid var(--magenta);font-size:15px;line-height:1.9}
#finance .simulation-example-note{font-size:13px;line-height:1.9;margin-bottom:20px}
.hero-accent-photo{display:none}
@media(max-width:520px){
  .hero .eyebrow:before{width:22px}
  .hero-copy{isolation:isolate}
  .hero-accent-photo{
    --accent-size:calc(clamp(420px,124vw,640px) + 44px);
    display:block;
    position:absolute;
    z-index:-1;
    inset:0 min(0px,calc(100vw - 194px - var(--accent-size) / 2)) auto auto;
    transform:translate(50%,-50%);
    width:var(--accent-size);
    height:var(--accent-size);
    object-fit:cover;
    object-position:58% 55%;
    border-radius:48% 52% 45% 55% / 47% 49% 51% 53%;
    opacity:.64;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 25%);
    mask-image:linear-gradient(to right,transparent,#000 25%);
    pointer-events:none
  }
}
/* Hero room illustration (inline SVG) */
.hero-visual .architecture{background:none}
.hero-visual .architecture:after,.hero-visual:after{display:none}
.hero-visual .architecture .room{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-visual .visual-bottom{margin-left:auto;align-self:flex-end;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 22px;background:rgba(255,255,255,.88);border-radius:6px;box-shadow:0 16px 30px -20px rgba(60,50,30,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.hero-visual .visual-bottom span:first-child{font-size:17px;white-space:nowrap}
.hero-visual .visual-top span{background:rgba(255,255,255,.86);padding:3px 12px;border-radius:999px}
@media(max-width:900px){.hero-visual{min-height:500px}.hero-visual .architecture{background:#d3bb96}.hero-visual .architecture .room{height:calc(100% - 92px)}.hero-visual .visual-bottom{margin-left:0;padding:12px 16px}.hero-visual .visual-bottom span:first-child{font-size:15px;white-space:normal}}
@media(max-width:380px){.hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual{animation:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.review-bar,.header,.hero-actions,.form-preview,.back-top{display:none}.wrap{width:94%}.section{padding:40px 0}.hero{padding:20px 0}.hero-visual{min-height:300px}.faq-layout{display:block}.faq-list details>p{display:block}.contact-panel{background:#eee;color:#222}.contact-panel p{color:#333}.image-slot{break-inside:avoid}h2,h3{break-after:avoid}body{font-size:13px}}
/* Text scale-up outside hero (generated) */
@media screen{
.hero{font-size:15px}
body:not(.hero):not(.hero *){font-size:16px}
h2:not(.hero):not(.hero *){font-size:clamp(33px,3.52vw,48px)}
h3:not(.hero):not(.hero *){font-size:22px}
.eyebrow:not(.hero):not(.hero *){font-size:13px}
.caption:not(.hero):not(.hero *){font-size:13px}
.button:not(.hero):not(.hero *){font-size:15px}
.button span:not(.hero):not(.hero *){font-size:21px}
.button.small:not(.hero):not(.hero *){font-size:14px}
.text-link:not(.hero):not(.hero *){font-size:15px}
.tag:not(.hero):not(.hero *),.outline-tag:not(.hero):not(.hero *){font-size:13px}
.review-bar:not(.hero):not(.hero *){font-size:13px}
.brand-wordmark:not(.hero):not(.hero *){font-size:30px}
.header nav:not(.hero):not(.hero *){font-size:14px}
.lead:not(.hero):not(.hero *){font-size:18px}
.visual-top:not(.hero):not(.hero *),.visual-bottom:not(.hero):not(.hero *){font-size:13px}
.visual-bottom span:first-child:not(.hero):not(.hero *){font-size:16px}
.visual-bottom span:last-child:not(.hero):not(.hero *){font-size:13px}
.floating-label:not(.hero):not(.hero *){font-size:13px}
.floating-label strong:not(.hero):not(.hero *){font-size:16px}
.fact-label:not(.hero):not(.hero *){font-size:13px}
.facts p:not(.hero):not(.hero *){font-size:44px}
.facts p span:not(.hero):not(.hero *){font-size:19px}
.facts p.fact-text:not(.hero):not(.hero *){font-size:28px}
.facts small:not(.hero):not(.hero *){font-size:13px}
.index:not(.hero):not(.hero *){font-size:13px}
.process-strip>div>span:not(.hero):not(.hero *){font-size:13px}
.process-strip h3:not(.hero):not(.hero *){font-size:19px}
.process-strip p:not(.hero):not(.hero *){font-size:13px}
.note:not(.hero):not(.hero *){font-size:14px}
.note>span:not(.hero):not(.hero *){font-size:13px}
.role-panel h3:not(.hero):not(.hero *){font-size:26px}
.check-list li:not(.hero):not(.hero *){font-size:15px}
.benefit-line h3:not(.hero):not(.hero *){font-size:23px}
.benefit-line p:not(.hero):not(.hero *){font-size:14px}
.large-index:not(.hero):not(.hero *){font-size:37px}
.expertise-list h3:not(.hero):not(.hero *){font-size:26px}
.image-slot:not(.hero):not(.hero *){font-size:14px}
.slot-code:not(.hero):not(.hero *){font-size:13px}
.slot-center strong:not(.hero):not(.hero *){font-size:18px}
.image-symbol:not(.hero):not(.hero *){font-size:37px}
.slot-foot:not(.hero):not(.hero *){font-size:13px}
.designer h3:not(.hero):not(.hero *){font-size:20px}
.designer p:last-child:not(.hero):not(.hero *){font-size:14px}
.avatar-placeholder:not(.hero):not(.hero *){font-size:13px}
.property-body h3:not(.hero):not(.hero *){font-size:26px}
.property-body>p:not(.eyebrow):not(.hero):not(.hero *){font-size:15px}
.property dl>div:not(.hero):not(.hero *){font-size:14px}
table:not(.hero):not(.hero *){font-size:15px}
caption:not(.hero):not(.hero *){font-size:13px}
.price:not(.hero):not(.hero *){font-size:88px}
.price span:not(.hero):not(.hero *){font-size:26px}
.detail-list>div:not(.hero):not(.hero *){font-size:15px}
.detail-list dd:not(.hero):not(.hero *){font-size:14px}
.timeline li>span:first-child:not(.hero):not(.hero *){font-size:18px}
.timeline h3:not(.hero):not(.hero *){font-size:20px}
.timeline p:not(.hero):not(.hero *){font-size:14px}
.timeline .outline-tag:not(.hero):not(.hero *){font-size:13px}
.quote-mark:not(.hero):not(.hero *){font-size:66px}
.voice-card h3:not(.hero):not(.hero *){font-size:26px}
.voice-card>p:not(.hero):not(.hero *){font-size:15px}
.voice-person:not(.hero):not(.hero *){font-size:14px}
.voice-person small:not(.hero):not(.hero *){font-size:13px}
.signature span:not(.hero):not(.hero *){font-size:13px}
.signature strong:not(.hero):not(.hero *){font-size:24px}
.team-grid article>p:last-child:not(.hero):not(.hero *){font-size:15px}
.offer-main h3:not(.hero):not(.hero *){font-size:25px}
.offer-main article>p:last-child:not(.hero):not(.hero *){font-size:14px}
.offer-number:not(.hero):not(.hero *){font-size:88px}
.offer-number span:not(.hero):not(.hero *){font-size:40px}
.offer-word:not(.hero):not(.hero *){font-size:47px}
.offer-candidates>div:not(.hero):not(.hero *){font-size:14px}
summary:not(.hero):not(.hero *){font-size:16px}
summary:not(.hero):not(.hero *):after{font-size:22px}
details>p:not(.hero):not(.hero *){font-size:15px}
.contact-note:not(.hero):not(.hero *){font-size:13px}
.form-field>span:not(.hero):not(.hero *){font-size:14px}
.form-field>div:not(.hero):not(.hero *){font-size:13px}
.form-button span:not(.hero):not(.hero *){font-size:13px}
.footer p:not(.hero):not(.hero *){font-size:13px}
.back-top:not(.hero):not(.hero *){font-size:22px}
@media(max-width:1100px){.facts p.fact-text:not(.hero):not(.hero *){font-size:23px}}
@media(max-width:1100px){.process-strip h3:not(.hero):not(.hero *){font-size:16px}}
@media(max-width:800px){.brand-wordmark:not(.hero):not(.hero *){font-size:24px}}
@media(max-width:800px){.lead:not(.hero):not(.hero *){font-size:16px}}
@media(max-width:800px){.facts p:not(.hero):not(.hero *){font-size:38px}}
@media(max-width:800px){.facts p.fact-text:not(.hero):not(.hero *){font-size:26px}}
@media(max-width:800px){.issue-grid h3:not(.hero):not(.hero *){font-size:19px}}
@media(max-width:800px){.issue-grid p:not(.hero):not(.hero *){font-size:14px}}
@media(max-width:800px){.process-strip h3:not(.hero):not(.hero *){font-size:19px}}
@media(max-width:800px){.process-strip p:not(.hero):not(.hero *){font-size:14px}}
@media(max-width:800px){.role-panel h3:not(.hero):not(.hero *){font-size:24px}}
@media(max-width:800px){.benefit-line h3:not(.hero):not(.hero *){font-size:22px}}
@media(max-width:800px){.expertise-list h3:not(.hero):not(.hero *){font-size:23px}}
@media(max-width:800px){.expertise-list p:not(.hero):not(.hero *){font-size:15px}}
@media(max-width:800px){.large-index:not(.hero):not(.hero *){font-size:29px}}
@media(max-width:800px){.property-body h3:not(.hero):not(.hero *){font-size:23px}}
@media(max-width:800px){.price:not(.hero):not(.hero *){font-size:72px}}
@media(max-width:800px){.voice-card h3:not(.hero):not(.hero *){font-size:23px}}
@media(max-width:800px){.team-grid h3:not(.hero):not(.hero *){font-size:20px}}
@media(max-width:800px){.team-grid article>p:last-child:not(.hero):not(.hero *){font-size:14px}}
@media(max-width:800px){.team-grid .eyebrow:not(.hero):not(.hero *){font-size:13px}}
@media(max-width:800px){.offer-main h3:not(.hero):not(.hero *){font-size:22px}}
@media(max-width:800px){.offer-word:not(.hero):not(.hero *){font-size:33px}}
@media(max-width:800px){.offer-number:not(.hero):not(.hero *){font-size:75px}}
@media(max-width:800px){.contact-panel h2:not(.hero):not(.hero *){font-size:37px}}
@media(max-width:520px){.header .button.small:not(.hero):not(.hero *){font-size:13px}}
@media(max-width:520px){.header .button.small span:not(.hero):not(.hero *){font-size:18px}}
@media(max-width:520px){.visual-top:not(.hero):not(.hero *){font-size:13px}}
@media(max-width:520px){.floating-label:not(.hero):not(.hero *){font-size:13px}}
@media(max-width:520px){.floating-label strong:not(.hero):not(.hero *){font-size:14px}}
@media(max-width:520px){.facts p:not(.hero):not(.hero *){font-size:35px}}
@media(max-width:520px){.facts p span:not(.hero):not(.hero *){font-size:16px}}
@media(max-width:520px){.issue-grid h3:not(.hero):not(.hero *){font-size:22px}}
@media(max-width:520px){.issue-grid p:not(.hero):not(.hero *){font-size:15px}}
@media(max-width:520px){.offer-main h3:not(.hero):not(.hero *){font-size:25px}}
@media(max-width:520px){.offer-word:not(.hero):not(.hero *){font-size:41px}}
@media(max-width:520px){.offer-candidates>div:not(.hero):not(.hero *){font-size:13px}}
#flow .timeline li>span:first-child:not(.hero):not(.hero *){font-size:15px}
#flow .timeline h3:not(.hero):not(.hero *){font-size:19px}
@media(max-width:520px){#flow .timeline h3:not(.hero):not(.hero *){font-size:18px}}
#voices .voice-index:not(.hero):not(.hero *){font-size:13px}
#voices .voice-scroll-hint:not(.hero):not(.hero *){font-size:14px}
#voices .voice-total:not(.hero):not(.hero *){font-size:13px}
#voices .voice-arrow:not(.hero):not(.hero *){font-size:24px}
#offers .offer-placeholder .offer-word:not(.hero):not(.hero *){font-size:clamp(22px,2.64vw,31px)}
h2:not(.hero):not(.hero *){font-size:clamp(31px,3.3vw,46px)}
.brand-wordmark:not(.hero):not(.hero *){font-size:24px}
.header nav:not(.hero):not(.hero *){font-size:14px}
.facts p:not(.hero):not(.hero *){font-size:57px}
.facts p span:not(.hero):not(.hero *){font-size:19px}
.facts p.fact-text:not(.hero):not(.hero *){font-size:26px}
.index:not(.hero):not(.hero *){font-size:24px}
.process-strip>div>span:not(.hero):not(.hero *){font-size:24px}
#expertise .large-index:not(.hero):not(.hero *){font-size:51px}
.price:not(.hero):not(.hero *){font-size:114px}
.price span:not(.hero):not(.hero *){font-size:29px}
.cost-panel h3:not(.hero):not(.hero *){font-size:21px}
#flow .timeline li>span:first-child:not(.hero):not(.hero *){font-size:19px}
.quote-mark:not(.hero):not(.hero *){font-size:79px}
.voice-card h3:not(.hero):not(.hero *){font-size:24px}
@media(max-width:1100px){.price:not(.hero):not(.hero *){font-size:97px}}
@media(max-width:800px){.brand-wordmark:not(.hero):not(.hero *){font-size:19px}}
@media(max-width:800px){.facts p:not(.hero):not(.hero *){font-size:48px}}
@media(max-width:800px){.facts p.fact-text:not(.hero):not(.hero *){font-size:24px}}
@media(max-width:800px){.price:not(.hero):not(.hero *){font-size:84px}}
@media(max-width:800px){.contact-panel h2:not(.hero):not(.hero *){font-size:35px}}
@media(max-width:520px){.facts p:not(.hero):not(.hero *){font-size:42px}}
@media(max-width:520px){.price:not(.hero):not(.hero *){font-size:73px}}
}

/* Stock photography for layout preview; customer voices remain photo-free. */
.stock-slot{position:relative;overflow:hidden;background-image:none}
.stock-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
#message .portrait .stock-image{object-position:center top}
.stock-credit{position:absolute;right:12px;bottom:12px;z-index:3;padding:4px 9px;border-radius:4px;background:rgba(255,255,255,.92);color:#252554;font:12px/1.6 Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;letter-spacing:0;text-decoration:none}
.stock-credit:hover{text-decoration:underline}
.stock-slot .slot-code{z-index:2;background:rgba(255,255,255,.92);padding:4px 9px;border-radius:4px}
.hero-visual>.stock-image{height:100%}
.designer .stock-slot{flex-shrink:0}
@media(max-width:520px){.mini-image-grid .stock-credit,.team-grid .stock-credit{left:6px;right:6px;bottom:6px;padding:3px 5px}}

/* Opening preparation: no rent before business opens. */
#ease .benefit-line{display:block;margin-top:40px;padding:32px 36px;background:#f3f3fb;border:1px solid #deddf0;border-left:5px solid var(--magenta);border-radius:6px}
#ease .benefit-line .tag{background:#fff}
#ease .benefit-line h3{margin-top:18px;font-size:clamp(26px,3vw,42px);line-height:1.6}
#ease .benefit-line .rent-zero{display:inline-block;color:var(--magenta);font-size:1.4em;font-weight:700;white-space:nowrap}
#ease .benefit-line p{margin-top:16px;font-size:15px;line-height:1.9}
@media(max-width:520px){#ease .benefit-line{padding:24px 20px;margin-top:30px}#ease .benefit-line p{font-size:14px}}

/* Semibold copy, descriptions and supporting text. */
body{font-weight:600}
tbody th,.facts p.fact-text,.facts p span,.price span,.stock-credit{font-weight:600}

/* Subtle pronunciation within the BINNO wordmark group. */
.brand{flex-direction:row;align-items:center;gap:10px}
.brand-reading{font-size:12px;font-weight:600;line-height:1;letter-spacing:.18em;color:var(--muted)}

/* Context photos for the three opening challenges. */
#needs .issue-photo{position:relative;aspect-ratio:16/6;overflow:hidden;border-radius:6px;margin-bottom:22px;background:var(--photo)}
@media(max-width:520px){#needs .issue-grid>div{padding-left:0}#needs .issue-grid .index{position:static;margin-bottom:18px}}
/* MA26075 listing: scope all additions to the registered project. */
#project-ma26075{min-width:0;scroll-margin-top:110px}
#project-ma26075 .property-photo-pending{display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:48px 24px}
#project-ma26075 .property-photo-pending strong{font-size:22px;color:var(--navy)}
#project-ma26075 .property-photo-pending p{font-size:14px;margin-top:8px}
#project-ma26075 .property-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
#project-ma26075 dl>div{flex-wrap:wrap;gap:6px 16px}
#project-ma26075 dt{flex:1 1 140px}
#project-ma26075 dd{flex:1 1 165px;text-align:right;overflow-wrap:anywhere}
#project-ma26075 .property-price{font-size:22px;color:var(--navy)}
#project-ma26075 .property-terms{padding:16px;background:var(--soft);border-left:3px solid var(--navy);font-size:14px}
#project-ma26075 .property-details{margin-top:20px;border-top:1px solid var(--line)}
#project-ma26075 summary{font-size:15px}
#project-ma26075 .property-detail-body{padding-bottom:20px;font-size:14px}
#project-ma26075 .property-detail-body dl{margin-top:0}
#project-ma26075 .property-detail-body p+p{margin-top:14px}
#project-ma26075 .property-source{font-size:12px;margin:20px 0}
@media(max-width:800px){#project-ma26075 dt,#project-ma26075 dd{flex-basis:auto}#project-ma26075 dd{text-align:left}#project-ma26075 dl>div{flex-direction:column}}
/* BINNO functional consultation form. */
#binno-contact-form .form-field label{display:block;font-size:14px;margin-bottom:7px}
#binno-contact-form label span{font-size:12px;color:var(--magenta);margin-left:6px}
#binno-contact-form input,#binno-contact-form textarea{display:block;width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.7;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px 12px}
#binno-contact-form textarea{resize:vertical;min-height:140px}
#binno-contact-form input:focus-visible,#binno-contact-form textarea:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
#binno-contact-form .form-button{background:var(--navy);border-color:var(--navy);cursor:pointer;justify-content:center;min-height:54px}
#binno-contact-form .form-button:disabled{cursor:default;opacity:.65}
#binno-contact-form .form-trap{display:none}
#binno-contact-form .form-status{font-size:14px;overflow-wrap:anywhere;color:var(--navy);margin-bottom:16px}
#binno-contact-form .form-status.is-error{color:#a62252}
#binno-contact-form [readonly]{background:#f3f4f8}
/* Choice of LINE or email at the beginning of the consultation form. */
#binno-contact-form .contact-method-lead{font-size:17px;font-weight:700;line-height:1.6;color:var(--navy)}
#binno-contact-form .contact-method-note{font-size:13px;line-height:1.8;margin:8px 0 18px}
#binno-contact-form .line-contact{display:flex;width:100%;min-height:54px;gap:12px;padding:15px 20px;background:#087f3f;border-color:#087f3f;color:#fff;font-size:16px;justify-content:center}
#binno-contact-form .line-contact:hover{background:#066b34;border-color:#066b34}
#binno-contact-form .contact-method-divider{font-size:14px;color:var(--navy);border-top:1px solid var(--line);padding-top:22px;margin:24px 0 20px}
/* Exact reference image from the supplied property PDF; preserve the full frame. */
#project-ma26075 .property-area-photo{margin:0;background:var(--soft)}
#project-ma26075 .property-area-photo img{display:block;width:100%;height:auto;aspect-ratio:624/414}
#project-ma26075 .property-area-photo figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:12px 20px;font-size:12px;line-height:1.7;color:var(--muted);border-bottom:1px solid var(--line)}
/* Header LINE action: keep both consultation routes visible at narrow widths. */
.header .header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header .header-actions .button{min-height:44px;white-space:nowrap}
.header .header-line{background:#087f3f;border-color:#087f3f;color:#fff;gap:10px}
.header .header-line:hover{background:#066b34;border-color:#066b34}
@media(max-width:1100px){html{scroll-padding-top:170px}.header{flex-wrap:wrap;gap:16px}.header .header-actions{margin-left:auto}.header nav{order:3;flex-basis:100%;justify-content:center}}
@media(max-width:800px){
  html{scroll-padding-top:88px;scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .header{display:flex;flex-wrap:nowrap;gap:12px;-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(252,252,254,.98)}
  .header nav{display:none}
  .header .header-actions{position:fixed;left:0;right:0;bottom:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:0;padding:12px max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:rgba(255,255,255,.98);border-top:1px solid rgba(41,41,134,.12);box-shadow:0 -6px 24px rgba(25,25,65,.1)}
  .header .header-actions .button{width:100%;min-width:0;min-height:52px;justify-content:center;gap:6px;padding:12px 8px}
  .header .header-actions .button span[aria-hidden="true"]{display:none}
}
/* Repeat the consultation actions at two points in the mobile page. */
.mobile-inline-cta{display:none}
@media(max-width:520px){
  .mobile-inline-cta{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:28px}
  .mobile-inline-cta .button{justify-content:center;width:100%;min-width:0;min-height:60px;padding:14px 20px;font-size:16px;letter-spacing:0;line-height:1.4;text-align:center;white-space:nowrap}
  .mobile-inline-cta .inline-line{background:#087f3f;border-color:#087f3f;color:#fff}
  .mobile-inline-cta .inline-line:hover{background:#066b34;border-color:#066b34}
}
/* User-provided remaining inventory, emphasized beside the hero message. */
/* LINE updates for visitors seeking a different property, beside the contact form. */
.contact-panel .contact-line-updates{margin-top:30px;padding:24px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.06)}
.contact-panel .contact-line-updates h3{font-size:20px;line-height:1.6;color:#fff}
.contact-panel .contact-line-updates p{margin:12px 0 20px;font-size:14px;line-height:1.9;color:#fff}
.contact-panel .contact-updates-link{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:6px 0;color:#fff;font-size:14px;font-weight:700;line-height:1.8;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.contact-panel .contact-updates-link:hover{text-decoration-thickness:2px}
@media(max-width:520px){.contact-panel .contact-line-updates{padding:20px 18px}.contact-panel .contact-line-updates h3{font-size:19px}.contact-panel .contact-updates-link span[aria-hidden="true"]{display:none}}
/* Campaign cards open a shared, keyboard-accessible detail dialog. */
#offers .offer-bonus-tag{display:inline-flex;align-items:center;align-self:flex-start;gap:10px;padding:10px 14px;border:1px solid var(--magenta-text);border-radius:6px;background:var(--magenta-text);color:#fff;font-size:16px;font-weight:800;line-height:1.4;letter-spacing:.02em;box-shadow:0 5px 14px rgba(192,31,114,.16)}
#offers .offer-bonus-tag strong{font-family:var(--latin);font-size:24px;font-weight:800;line-height:1;letter-spacing:0}
#offer-dialog-label{font-size:16px;font-weight:800;letter-spacing:.02em;color:var(--magenta-text)}
#offers .offer-main article{position:relative;display:flex;flex-direction:column}
#offers .offer-main article>p:last-of-type{font-size:14px}
#offers .offer-details-trigger{align-self:flex-start;margin-top:auto;padding:24px 0 0;border:0;background:transparent;color:var(--navy);font-size:14px;font-weight:700;line-height:1.8;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
#offers .offer-details-trigger[hidden]{display:none}
#offers .offer-main article[hidden]{display:none}
#offers .offer-details-trigger::after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:var(--radius)}
#offers .offer-details-trigger:hover::after{border-color:var(--magenta)}
#offers .offer-details-trigger:focus-visible{outline:none}
#offers .offer-details-trigger:focus-visible::after{outline:3px solid var(--navy);outline-offset:5px}
#offers .dark .offer-details-trigger{color:#fff}
#offers .dark .offer-details-trigger:focus-visible::after{outline-color:var(--magenta)}
.offer-modal-open{overflow:hidden;scrollbar-gutter:stable}
.offer-dialog{box-sizing:border-box;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(15,15,50,.28);overflow:auto;overscroll-behavior:contain}
.offer-dialog::backdrop{background:rgba(15,15,40,.65)}
.offer-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.offer-dialog-header .eyebrow{margin:0;font-size:12px;color:var(--navy)}
.offer-dialog-close{flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--navy);font-size:28px;line-height:1;cursor:pointer}
.offer-dialog h2{font-size:clamp(26px,4vw,34px);line-height:1.5;margin:0 0 20px}
.offer-dialog-content p,.offer-dialog-content dt,.offer-dialog-content dd{font-size:15px;line-height:1.9}
.offer-dialog-content p{color:var(--muted);font-weight:600}
.offer-dialog-content dl{margin:24px 0 0}
.offer-dialog-content dl>div{padding:18px 0;border-top:1px solid var(--line)}
.offer-dialog-content dt{font-weight:700;color:var(--navy);margin-bottom:6px}
.offer-dialog-content dd{margin:0;color:var(--muted);font-weight:600}
.offer-dialog-done{display:flex;justify-content:center;min-height:48px;margin:24px 0 0;width:100%;cursor:pointer}
@media(max-width:520px){.offer-dialog{padding:24px 20px;max-height:calc(100dvh - 24px)}.offer-dialog-content p,.offer-dialog-content dt,.offer-dialog-content dd{font-size:14px}}

/* Property-specific income simulation from the supplied worksheet. */
#finance .simulation-kicker{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:14px}
#finance .simulation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px}
#finance .simulation-summary>div{padding:24px;background:var(--soft);border:1px solid var(--line);border-radius:8px;min-width:0}
#finance .simulation-summary dt{font-size:14px;color:var(--navy);font-weight:700}
#finance .simulation-summary dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 8px;margin:12px 0 0;font-size:32px;line-height:1.5;font-weight:700;color:var(--navy)}
#finance .simulation-summary dd span{font-size:14px}
#finance .simulation-assumptions{font-size:14px;line-height:1.9;margin-bottom:18px}
#finance .simulation-scroll-hint{font-size:13px;line-height:1.8;margin-bottom:10px}
#finance table{min-width:1360px;table-layout:fixed}
#finance .simulation-item-col{width:200px}
#finance th,#finance td{padding:14px 16px;white-space:nowrap}
#finance thead th:first-child,#finance tbody th{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 var(--line)}
#finance .simulation-negative{color:#a02a4c}
#finance .simulation-note{font-size:12px;line-height:1.9;margin-top:20px}
@media(max-width:800px){#finance .simulation-summary{grid-template-columns:1fr;gap:12px}#finance .simulation-summary>div{padding:20px 22px}#finance .simulation-item-col{width:136px}#finance th,#finance td{padding:13px 14px;font-size:14px}#finance th:first-child{white-space:normal}}
/* NEWO track record: verified aggregate figures and company information. */
.track-record-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 0 32px}
.track-record-stats>div{min-width:0;padding:28px 24px;background:#fff;border:1px solid var(--line);border-radius:8px}
.track-record-stats dt{font-size:14px;font-weight:700;color:var(--navy);line-height:1.7}
.track-record-stats dd:not(.track-record-note){display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:18px 0 14px;color:var(--navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,4.5vw,64px);font-weight:500;line-height:1.15;letter-spacing:-.04em}
.track-record-stats dd span{font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;font-weight:700;letter-spacing:0}
.track-record-stats .track-record-note{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.track-record-company{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;padding:40px;background:#fff;border:1px solid var(--line);border-radius:8px}
.track-record-office h3{font-size:28px;margin-bottom:24px}
.track-record-office p:not(.eyebrow){font-size:15px;margin-bottom:16px;overflow-wrap:anywhere}
.track-record-office a:focus-visible,.track-record-source a:focus-visible{outline:3px solid #547258;outline-offset:5px}
.track-record-company-details{margin:0;align-self:center}
.track-record-company-details>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.track-record-company-details dt,.track-record-company-details dd{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.track-record-company-details dt{font-weight:700;color:var(--navy)}
.track-record-company-details dd{margin:0}
.track-record-source{font-size:12px;line-height:1.9;margin-top:24px}
.track-record-source a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.track-record-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.track-record-company{grid-template-columns:1fr;gap:28px}}
@media(max-width:520px){.track-record-stats{gap:12px}.track-record-stats>div{padding:22px 16px}.track-record-stats dt{font-size:13px}.track-record-stats dd span{font-size:14px}.track-record-company{padding:26px 22px}.track-record-office h3{font-size:25px}.track-record-company-details>div{grid-template-columns:1fr;gap:6px;padding:16px 0}}
#properties .property-availability{display:inline-flex;align-items:center;padding:10px 20px;margin:0 0 20px;background:#b51963;color:#fff;border-radius:999px;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.04em}
.hero .hero-availability{display:inline-flex;align-items:center;gap:5px;padding:10px 20px;margin:0 0 20px;background:#b51963;color:#fff;border-radius:999px;font-size:18px;font-weight:700;line-height:1.2;letter-spacing:.04em;box-shadow:0 8px 22px rgba(181,25,99,.18)}
.hero .hero-availability strong{font-size:34px;font-weight:700;line-height:1}
@media(max-width:520px){.hero .hero-availability{font-size:16px;padding:9px 16px;margin-bottom:18px}.hero .hero-availability strong{font-size:30px}}

/* The single available project pairs its area reference photo with its details. */
#properties .property-grid{grid-template-columns:minmax(0,1fr)}
#project-ma26075{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%)}
#project-ma26075 .property-area-photo{display:flex;flex-direction:column;min-width:0}
#project-ma26075 .property-area-photo img{flex:1 1 auto;min-height:0;height:100%;aspect-ratio:auto;object-fit:cover}
#project-ma26075 .property-area-photo figcaption{margin-top:auto}
#project-ma26075 .property-body{min-width:0;padding:clamp(28px,3.3vw,48px)}
/* Designer profile: scoped to the space-design section. */
#design .section-heading.split>p{max-width:410px}
#design .designer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 48px;background:var(--navy);color:#fff;border-radius:8px;overflow:hidden}
#design .designer-stats>div{padding:28px 30px;border-right:1px solid rgba(255,255,255,.2)}
#design .designer-stats>div:last-child{border-right:0}
#design .designer-stats dt{font-size:14px;font-weight:700;line-height:1.7;min-height:48px}
#design .designer-stats dd{margin:8px 0 4px;display:flex;align-items:baseline;gap:10px;line-height:1.2}
#design .designer-stats strong{font:600 64px/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
#design .designer-stats dd span{font-size:16px;font-weight:700}
#design .designer-stats .designer-stat-note{display:block;font-size:13px;line-height:1.7;color:#e0e4fc;margin:12px 0 0}
#design .designer-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
#design .designer-main-image{min-height:400px;border-radius:120px 6px 6px 6px}
#design .mini-image-grid{margin-top:18px;gap:18px}
#design .mini-image-grid .image-slot{min-height:150px}
#design .designer-overview>.eyebrow{margin-bottom:14px}
#design .designer-name{font-size:38px;line-height:1.4;letter-spacing:.06em}
#design .designer-name span{display:block;margin-top:8px;font:600 14px/1.7 "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.1em;color:var(--muted)}
#design .designer-qualifications{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:20px 0 26px}
#design .designer-qualifications li{font-size:13px;font-weight:700;line-height:1.6;padding:6px 12px;color:var(--navy);background:var(--soft);border:1px solid var(--line);border-radius:999px}
#design .designer-statement{font-size:26px;line-height:1.65;margin:0 0 18px;letter-spacing:-.025em}
#design .designer-overview>p:not(.eyebrow){font-size:15px;line-height:2}
#design .designer-award{margin-top:28px;padding:24px 26px;background:#faf3f7;border-left:3px solid var(--magenta-text);border-radius:0 6px 6px 0}
#design .designer-award .eyebrow{font-size:12px;margin-bottom:10px;color:var(--magenta-text)}
#design .designer-award-platform{font-size:13px}
#design .designer-award-title{font-size:18px;line-height:1.8;color:var(--navy);margin-top:4px}
#design .designer-award-title strong{font-size:28px;margin-right:8px}
#design .designer-award-honor{font-size:15px;line-height:1.9;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
#design .designer-award-honor strong{color:var(--navy);font-size:20px}
#design .designer-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:48px}
#design .designer-detail-card{padding:32px;background:var(--soft);border:1px solid var(--line);border-radius:8px;min-width:0}
#design .designer-detail-card>.eyebrow{margin-bottom:16px}
#design .designer-detail-card>h3{font-size:25px;line-height:1.65;margin-bottom:22px}
#design .designer-detail-card>p:not(.eyebrow){font-size:14px;line-height:2}
#design .designer-history{margin:0}
#design .designer-history>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
#design .designer-history dt{font-size:14px;font-weight:700;color:var(--navy)}
#design .designer-history dd{font-size:14px;line-height:1.9;margin:0}
#design .designer-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;counter-reset:design-step;margin:24px 0;padding:0}
#design .designer-services li{counter-increment:design-step;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;line-height:1.7;padding:12px;background:#fff;border:1px solid var(--line);border-radius:4px}
#design .designer-services li:before{content:counter(design-step,decimal-leading-zero);font:700 12px/1.4 Arial,sans-serif;color:var(--magenta-text);flex-shrink:0}
#design .designer-operation{border-top:1px solid var(--line);padding-top:20px}
#design .designer-operation h4{font-size:16px;line-height:1.8;margin:0 0 10px}
#design .designer-operation p{font-size:14px;line-height:2}
@media(max-width:900px){#design .designer-intro{grid-template-columns:minmax(0,1fr);gap:32px}#design .designer-overview{grid-row:1}#design .designer-media{grid-row:2}#design .designer-main-image{min-height:380px}#design .designer-stats>div{padding:24px 20px}#design .designer-stats strong{font-size:54px}#design .designer-details{grid-template-columns:minmax(0,1fr);gap:20px}#design .designer-award{max-width:620px}}
@media(max-width:520px){#design .designer-stats{grid-template-columns:minmax(0,1fr);margin-bottom:32px}#design .designer-stats>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2);align-items:center}#design .designer-stats>div:last-child{border-bottom:0}#design .designer-stats dt{min-height:0;font-size:13px}#design .designer-stats dd{grid-column:2;grid-row:1/3;margin:0;gap:7px}#design .designer-stats strong{font-size:46px}#design .designer-stats dd span{font-size:13px}#design .designer-stats .designer-stat-note{grid-column:1;grid-row:auto;display:block;margin:0;font-size:12px}#design .designer-name{font-size:32px}#design .designer-statement{font-size:22px}#design .designer-award{padding:20px}#design .designer-award-title{font-size:16px}#design .designer-award-title strong{font-size:24px}#design .designer-main-image{min-height:300px;border-radius:80px 6px 6px 6px}#design .mini-image-grid{gap:12px;margin-top:12px}#design .mini-image-grid .image-slot{min-height:110px}#design .designer-details{margin-top:32px}#design .designer-detail-card{padding:24px 20px}#design .designer-detail-card>h3{font-size:22px}#design .designer-history>div{grid-template-columns:72px minmax(0,1fr);gap:12px}#design .designer-services{grid-template-columns:minmax(0,1fr)}}
@media(max-width:800px){#project-ma26075{grid-template-columns:minmax(0,1fr)}#project-ma26075 .property-area-photo img{height:auto;aspect-ratio:624/414;object-fit:cover}#project-ma26075 .property-body{padding:28px 26px}}

/* Tanaka consultant: three team members */
@media(min-width:521px){#team .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Team label and surname share one row */
#team .team-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
#team .team-name-row .eyebrow,#team .team-name-row h3{margin:0}
#team .team-name-row h3{flex-shrink:0}
@media(max-width:800px){#team .team-name-row .eyebrow{font-size:12px;letter-spacing:.03em;white-space:nowrap}}
@media(max-width:520px){#team .team-name-row{grid-column:2;align-self:end;margin:12px 0 8px;min-width:0}}

/* Keep mobile cost and timing labels on one line. */
@media(max-width:520px){
  .wrap.facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:22px 12px}
  .facts>div{min-width:0;padding-inline:12px}
  .facts>div:first-child{padding-left:0}
  .facts>div:nth-child(2){padding-right:0}
  .facts>div:nth-child(-n+2)>.fact-label:not(.hero):not(.hero *){display:block;font-size:12px;letter-spacing:.02em;white-space:nowrap}
}

/* Preserve the two intended lines of the mobile package heading. */
@media(max-width:520px){
  #about .section-heading h2{font-size:clamp(24px,7.5vw,30px);white-space:nowrap}
}

/* Keep the mobile preparation and operation heading on two lines. */
@media(max-width:520px){
  #ease .section-heading h2{font-size:clamp(24px,7.5vw,30px);white-space:nowrap}
}

/* Break the mobile care title between complete phrases. */
@media(max-width:520px){
  #ease .role-care-title>span,#ease .role-choice-title>span{display:block;white-space:nowrap}
}

/* Keep the rent introduction and highlighted price on separate mobile lines. */
@media(max-width:520px){
  #ease .benefit-line h3{font-size:clamp(20px,6.25vw,24px)}
  #ease .benefit-line .rent-intro,#ease .benefit-line .rent-zero{display:block;white-space:nowrap}
}

/* Keep complete phrases in the mobile expertise heading. */
@media(max-width:520px){
  #expertise .expertise-heading{font-size:clamp(24px,7.5vw,30px)}
  #expertise .expertise-heading>span{display:block;white-space:nowrap}
  #expertise .expertise-heading>br{display:none}
}

/* Preserve the intended two mobile lines of the space-design heading. */
@media(max-width:520px){
  #design-title{font-size:clamp(24px,7.5vw,30px);white-space:nowrap}
}

/* Preserve complete phrases in the mobile one-stop design card. */
@media(max-width:520px){
  #design .designer-detail-card>h3.designer-one-stop-title{font-size:clamp(16px,5vw,20px);white-space:nowrap}
}

/* Property-specific financial overview below the hero facts. */
.hero-finance{margin-top:42px;margin-bottom:12px;padding:30px;background:#fff;border:1px solid var(--line);border-radius:8px}
.hero-finance-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.hero-finance-eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--magenta);margin-bottom:8px}
#hero-finance-title{font-size:clamp(22px,2.5vw,28px);line-height:1.5;letter-spacing:.03em}
.hero-finance-context{font-size:13px;line-height:1.8;color:var(--muted)}
.hero-finance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.hero-finance-metrics>div{min-width:0;padding:22px;background:var(--soft);border-radius:6px}
.hero-finance-metrics dt{font-size:14px;font-weight:700;line-height:1.6;color:var(--navy)}
.hero-finance-metrics dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:10px 0 0;color:var(--navy)}
.hero-finance-metrics dd strong{font-family:var(--numeral);font-size:clamp(42px,4.2vw,56px);font-weight:700;line-height:1.3;letter-spacing:0}
.hero-finance-metrics dd>span{font-size:16px;font-weight:700;white-space:nowrap}
.hero-finance-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}
.hero-finance-footer>p{font-size:12px;line-height:1.8;max-width:430px}
.hero-finance-link{display:inline-flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid currentColor;font-size:14px;font-weight:700;line-height:1.6;color:var(--navy)}
#finance .simulation-projection{padding:22px;background:var(--soft);border-left:3px solid var(--magenta);margin:20px 0}
#finance .simulation-projection h3{font-size:18px;line-height:1.6;margin-bottom:12px}
#finance .simulation-projection p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}
#finance .simulation-projection p+p{margin-top:10px}
@media(max-width:800px){
  .hero-finance{padding:22px;margin-top:28px}
  .hero-finance-heading{display:block;margin-bottom:18px}
  .hero-finance-context{margin-top:12px}
  .hero-finance-metrics{grid-template-columns:1fr;gap:10px}
  .hero-finance-metrics>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px}
  .hero-finance-metrics dt>span{display:block}
  .hero-finance-metrics dd{margin:0;flex-wrap:nowrap;gap:5px}
  .hero-finance-metrics dd strong{font-size:44px}
  .hero-finance-metrics dd>span{font-size:15px}
  .hero-finance-footer{display:block;margin-top:16px}
  .hero-finance-link{margin-top:8px}
}
@media(max-width:520px){
  .hero-finance{padding:18px}
  .hero-finance-metrics>div{grid-template-columns:minmax(0,1fr);padding:14px;gap:8px}
  .hero-finance-metrics dt>span{display:inline}
  .hero-finance-metrics dd{flex-wrap:wrap}
  .hero-finance-metrics dd strong{font-size:40px}
  .hero-finance-metrics dd>span{font-size:14px}
  #finance .simulation-projection{padding:18px}
}
/* Mobile section navigation: a disclosure below the sticky header. */
.mobile-menu-toggle,.header nav .mobile-nav-extra{display:none}
@media(max-width:800px){
  .header.mobile-nav-ready .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;gap:9px;margin-left:auto;min-width:92px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--navy);cursor:pointer;flex-shrink:0}
  .mobile-menu-label{font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.03em}
  .mobile-menu-icon{position:relative;display:block;width:20px;height:16px}
  .mobile-menu-icon span{position:absolute;left:0;width:20px;height:2px;background:currentColor}
  .mobile-menu-icon span:nth-child(1){top:0}
  .mobile-menu-icon span:nth-child(2){top:7px}
  .mobile-menu-icon span:nth-child(3){top:14px}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(1){top:7px;transform:rotate(45deg)}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(2){opacity:0}
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon span:nth-child(3){top:7px;transform:rotate(-45deg)}
  .header.mobile-nav-open nav{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;max-height:calc(100dvh - 180px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 28px rgba(25,25,65,.12)}
  .header.mobile-nav-open nav a{display:block;min-height:48px;padding:12px 8px;font-size:14px;font-weight:700;line-height:1.7;border-bottom:1px solid var(--line)}
  .header.mobile-nav-open nav a:last-child{border-bottom:0}
  .header.mobile-nav-open nav a:after{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Header: reduce vertical padding after scrolling on phones. */
@media(max-width:520px){.header.mobile-nav-ready.mobile-header-compact{padding-block:8px}}

/* Contact heading: keep the two intended lines at phone widths. */
@media(max-width:520px){#contact .contact-title{font-size:clamp(27px,8.5vw,34px);white-space:nowrap}}

/* Contact: hide only the two requested introduction paragraphs on phones. */
@media(max-width:520px){#contact .contact-mobile-hidden{display:none}}

/* Team and offers: phone-only carousels with the desktop grids retained. */
#team .team-carousel,#offers .offers-carousel{visibility:visible;min-width:0;width:100%}
#team .team-carousel .splide__track,#offers .offers-carousel .splide__track{overflow:visible}
#team .team-carousel .team-grid,#offers .offers-carousel .offer-main{height:auto}
#team .team-toolbar,#offers .offers-toolbar{display:none}
@media(max-width:520px){
  #team .team-carousel .splide__track,#offers .offers-carousel .splide__track{overflow-x:auto;padding-bottom:8px}
  #team .team-carousel.is-initialized .splide__track,#offers .offers-carousel.is-initialized .splide__track{overflow:hidden}
  #team .team-grid,#offers .offer-main{display:flex;gap:16px;align-items:stretch}
  #team .team-carousel.is-initialized .team-grid,#offers .offers-carousel.is-initialized .offer-main{gap:0}
  #team .team-grid>.splide__slide,#offers .offer-main>.splide__slide{width:84%;flex:0 0 auto;min-width:0}
  #team .team-toolbar,#offers .offers-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
  #team .team-scroll-hint,#offers .offers-scroll-hint{font-size:12px;line-height:1.7}
  #team .team-controls,#offers .offers-controls{display:flex;gap:12px;flex-shrink:0}
  #team .team-controls[hidden],#offers .offers-controls[hidden]{display:none}
  #team .team-arrow,#offers .offers-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(41,41,134,.3);border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
  #team .team-arrow:hover:not(:disabled),#offers .offers-arrow:hover:not(:disabled){background:var(--navy);color:#fff}
  #team .team-arrow:disabled,#offers .offers-arrow:disabled{color:#a3a5c2;background:var(--soft);border-color:var(--line);cursor:default}
  #team .splide__track:focus-visible,#offers .splide__track:focus-visible{outline-offset:-3px}
  #offers .offer-main>.splide__slide{padding:24px 20px}
  #offers .offer-word{font-size:clamp(28px,8.4vw,41px)}
}

/* LINE consultation: keep the mobile label and arrow on one line. */
@media(max-width:520px){
  #binno-contact-form .line-contact{white-space:nowrap;gap:8px;padding-inline:12px;font-size:clamp(12px,3.8vw,16px);letter-spacing:0}
  #binno-contact-form .line-contact>span[aria-hidden="true"]{flex-shrink:0;font-size:18px}
}

/* Simulation summary: a phone-only carousel; retain the desktop grid. */
#finance .summary-carousel{visibility:visible;min-width:0;width:100%;margin-bottom:24px}
#finance .summary-carousel .splide__track{overflow:visible}
#finance .summary-carousel .simulation-summary{height:auto}
#finance .summary-toolbar{display:none}
@media(max-width:520px){
  #finance .summary-carousel .splide__track{overflow-x:auto;padding-bottom:8px}
  #finance .summary-carousel.is-initialized .splide__track{overflow:hidden}
  #finance .simulation-summary{display:flex;gap:16px;align-items:stretch}
  #finance .summary-carousel.is-initialized .simulation-summary{gap:0}
  #finance .simulation-summary>.splide__slide{width:84%;flex:0 0 auto;min-width:0}
  #finance .summary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
  #finance .summary-scroll-hint{font-size:12px;line-height:1.7}
  #finance .summary-controls{display:flex;gap:12px;flex-shrink:0}
  #finance .summary-controls[hidden]{display:none}
  #finance .summary-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(41,41,134,.3);border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
  #finance .summary-arrow:hover:not(:disabled){background:var(--navy);color:#fff}
  #finance .summary-arrow:disabled{color:#a3a5c2;background:var(--soft);border-color:var(--line);cursor:default}
  #finance .splide__track:focus-visible{outline-offset:-3px}
}

/* Package details: open the existing cost content from about on phones. */
#about .package-details-button,.finance-details-button{display:none;background:#fff;color:var(--navy);border-color:var(--navy);box-shadow:none}
#about .package-details-button:hover,.finance-details-button:hover{background:var(--soft);color:var(--navy)}
#offer-dialog .cost-grid{width:100%;margin:0;grid-template-columns:minmax(0,1fr);gap:24px}
#offer-dialog .cost-panel{padding:20px;box-shadow:none}
#offer-dialog #design{width:100%;margin:32px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
#offer-dialog #design-title{font-size:24px}
#offer-dialog #design .designer-stats>div{padding:16px;border-top:0}
#offer-dialog #design .designer-stats dt,
#offer-dialog #design .designer-stats dd{color:inherit}
#offer-dialog #design .designer-stats .designer-stat-note{color:#e0e4fc}
#offer-dialog #design .designer-one-stop-title{white-space:normal}
#offer-dialog #finance{width:100%;margin:0;padding:0}
#offer-dialog #finance h2{font-size:clamp(20px,5.3vw,26px)}
@media(max-width:520px){
  #cost.package-modal-ready,#main>#design.package-modal-ready,#main>#finance.finance-modal-ready{display:none}
  .finance-details-button:not([hidden]){display:flex;width:calc(100% - 36px);min-height:48px;justify-content:center;margin:16px auto 0;font-size:14px;cursor:pointer}
  #about .package-details-button{display:flex;width:100%;min-height:48px;justify-content:center;margin-top:24px;font-size:14px;cursor:pointer}
  #about .package-details-button[hidden]{display:none}
}

/* Timeline: a phone-only carousel; keep the original desktop grid. */
#flow .timeline-carousel{visibility:visible;min-width:0;width:100%}
#flow .timeline-carousel .splide__track{overflow:visible}
#flow .timeline-carousel .timeline{height:auto}
#flow .timeline-toolbar{display:none}
@media(max-width:520px){
  #flow .timeline-carousel .splide__track{overflow-x:auto;padding:8px 0 16px}
  #flow .timeline-carousel.is-initialized .splide__track{overflow:hidden}
  #flow .timeline{display:flex;gap:16px;align-items:stretch}
  #flow .timeline-carousel.is-initialized .timeline{gap:0}
  #flow .timeline>.splide__slide{width:84%;flex:0 0 auto;min-width:0}
  #flow .timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
  #flow .timeline-scroll-hint{font-size:12px;line-height:1.7}
  #flow .timeline-controls{display:flex;gap:12px;flex-shrink:0}
  #flow .timeline-controls[hidden]{display:none}
  #flow .timeline-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(41,41,134,.3);border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
  #flow .timeline-arrow:hover:not(:disabled){background:var(--navy);color:#fff}
  #flow .timeline-arrow:disabled{color:#a3a5c2;background:var(--soft);border-color:var(--line);cursor:default}
  #flow .splide__track:focus-visible{outline-offset:-3px}
}

/* Simulation: hide only the requested supplementary sections on phones. */
@media(max-width:520px){#finance .simulation-projection,#finance .simulation-note{display:none}}

/* Properties: hide the specified operating-terms note only on phones. */
@media(max-width:520px){#properties .property-terms{display:none}}

/* Designer statistics: retain only the space-design metric on phones. */
@media(max-width:520px){
  #design .designer-stats>div:not(:first-child){display:none}
  #design .designer-stats>div:first-child{border-bottom:0}
}

/* Needs: let the introduction wrap naturally on phones. */
@media(max-width:520px){#needs .needs-copy-break{display:none}}

/* About: hide the contract note only on phones. */
@media(max-width:520px){#about .contract-note{display:none}}

/* Team: stack mobile labels and surnames without stretching their grid rows. */
@media(max-width:520px){
  #team .team-grid article{grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto 1fr}
  #team .team-name-row{grid-row:1;align-self:start;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px}
  #team .team-name-row .eyebrow{align-self:auto}
  #team .team-grid article>p:last-child{grid-row:2;align-self:start;margin:0}
}

/* Ease: hide only the customer responsibilities card on phones. */
@media(max-width:520px){#ease .role-grid>.role-choice-panel{display:none}}

/* Designer details: reuse the shared detail dialog on phones. */
#design .designer-profile-link{display:none}
#offer-dialog .designer-details{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0}
#offer-dialog .designer-detail-card{min-width:0;padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:8px}
#offer-dialog .designer-detail-card>.eyebrow{font-size:12px;margin-bottom:16px}
#offer-dialog .designer-detail-card>h3{font-size:22px;line-height:1.65;margin:0 0 22px;white-space:normal}
#offer-dialog .designer-detail-card>p:not(.eyebrow){font-size:14px;line-height:2}
#offer-dialog .designer-history{margin:0}
#offer-dialog .designer-history>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:18px 0;border-top:1px solid var(--line)}
#offer-dialog .designer-history dt{font-size:14px;font-weight:700;color:var(--navy)}
#offer-dialog .designer-history dd{font-size:14px;font-weight:400;line-height:1.9;margin:0}
#offer-dialog .designer-services{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;list-style:none;counter-reset:design-step;margin:24px 0;padding:0}
#offer-dialog .designer-services li{counter-increment:design-step;display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;line-height:1.7;padding:12px;background:#fff;border:1px solid var(--line);border-radius:4px}
#offer-dialog .designer-services li:before{content:counter(design-step,decimal-leading-zero);font:700 12px/1.4 Arial,sans-serif;color:var(--magenta-text);flex-shrink:0}
#offer-dialog .designer-operation{border-top:1px solid var(--line);padding-top:20px}
#offer-dialog .designer-operation h4{font-size:16px;line-height:1.8;margin:0 0 10px}
#offer-dialog .designer-operation p{font-size:14px;line-height:2}
@media(max-width:520px){
  #design.designer-modal-ready>.designer-details{display:none}
  #design.designer-modal-ready .designer-profile-link{display:inline-block;margin-top:32px;font-size:14px}
  #design .designer-profile-link[hidden]{display:none}
}

/* Company profile: reuse the shared detail dialog on phones. */
#track-record .company-profile-link{display:none}
#offer-dialog .offer-dialog-content>.track-record-company{grid-template-columns:1fr;gap:24px;padding:0;border:0;background:transparent}
#offer-dialog .track-record-company-details{margin:0}
@media(max-width:520px){
  #track-record.company-modal-ready>.wrap>.track-record-company{display:none}
  #track-record.company-modal-ready .company-profile-link{display:inline-block;font-size:14px}
  #track-record .company-profile-link[hidden]{display:none}
}

/* Track-record statistics: a phone-only carousel, desktop grid retained. */
#track-record .stats-carousel{visibility:visible;min-width:0;width:100%;margin-bottom:32px}
#track-record .stats-carousel .splide__track{overflow:visible}
#track-record .stats-carousel .track-record-stats{height:auto}
#track-record .stats-toolbar{display:none}
@media(max-width:520px){
  #track-record .stats-carousel .splide__track{overflow-x:auto;padding-bottom:8px}
  #track-record .stats-carousel.is-initialized .splide__track{overflow:hidden}
  #track-record .track-record-stats{display:flex;gap:16px;align-items:stretch}
  #track-record .stats-carousel.is-initialized .track-record-stats{gap:0}
  #track-record .track-record-stats>.splide__slide{width:84%;flex:0 0 auto;min-width:0}
  #track-record .stats-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
  #track-record .stats-scroll-hint{font-size:12px;line-height:1.7}
  #track-record .stats-controls{display:flex;gap:12px;flex-shrink:0}
  #track-record .stats-controls[hidden]{display:none}
  #track-record .stats-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(41,41,134,.3);border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
  #track-record .stats-arrow:hover:not(:disabled){background:var(--navy);color:#fff}
  #track-record .stats-arrow:disabled{color:#a3a5c2;background:var(--soft);border-color:var(--line);cursor:default}
  #track-record .splide__track:focus-visible{outline-offset:-3px}
}

/* About: one mobile list, retaining the existing numeral typography. */
@media(max-width:520px){
  #about .process-strip{display:grid;grid-template-columns:1fr;gap:16px;padding:22px 24px}
  #about .process-strip>div{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:0 12px;padding:0;border:0}
  #about .process-strip>div:before{display:none}
  #about .process-strip h3{margin:0}
  #about .process-strip p{display:none}
}

/* Needs: horizontal cards only on phones; wider screens retain the original grid. */
#needs .needs-carousel{visibility:visible;min-width:0;width:100%}
#needs .needs-carousel .splide__track{overflow:visible}
#needs .needs-toolbar{display:none}
@media(max-width:520px){
#needs .needs-carousel .splide__track{overflow-x:auto;padding-bottom:8px}
#needs .needs-carousel.is-initialized .splide__track{overflow:hidden}
#needs .issue-grid{display:flex;gap:16px;align-items:stretch}
#needs .needs-carousel.is-initialized .issue-grid{gap:0}
#needs .issue-grid>.splide__slide{width:84%;flex:0 0 auto;min-width:0;padding-left:0}
#needs .issue-grid .index{position:static;margin-bottom:18px}
#needs .needs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
#needs .needs-scroll-hint{font-size:12px;line-height:1.7}
#needs .needs-controls{display:flex;gap:12px;flex-shrink:0}
#needs .needs-controls[hidden]{display:none}
#needs .needs-arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(41,41,134,.3);border-radius:50%;background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
#needs .needs-arrow:hover:not(:disabled){background:var(--navy);color:#fff}
#needs .needs-arrow:disabled{color:#a3a5c2;background:var(--soft);border-color:var(--line);cursor:default}
#needs .splide__track:focus-visible{outline-offset:-3px}
}

/* Hero annual profit replaces the startup-cost highlight. */
.hero-finance[hidden]{display:none}
@media(max-width:520px){.facts>div:first-child p:not(.hero):not(.hero *){font-size:clamp(27px,8.4vw,42px);white-space:nowrap}}

/* Keep the special-offer title on one line, including narrow screens. */
#offers .section-heading h2{white-space:nowrap}
@media(max-width:800px){#offers .section-heading h2{font-size:clamp(20px,5.9vw,31px)}}

/* Keep the team title on one line, including narrow screens. */
#team .section-heading h2{white-space:nowrap}
@media(max-width:800px){#team .section-heading h2{font-size:clamp(16px,5vw,31px)}}
@media(max-width:520px){
  #team .section-heading h2{font-size:clamp(17px,calc((100vw - 40px) / 16.5),29px);letter-spacing:.02em}
  #team .section-heading>p{display:none}
}

/* Keep the owner-stories title on one line, including narrow screens. */
#voices .section-heading h2{white-space:nowrap}
@media(max-width:800px){#voices .section-heading h2{font-size:clamp(20px,5.9vw,31px)}}

/* Size the duration qualifier like the existing unit, with prefix spacing. */
.facts p .fact-approx{margin-left:0;margin-right:4px;color:inherit}

/* Hide the representative message on phones. */
@media(max-width:520px){#message{display:none}}

/* Keep the LINE guidance below the form at every viewport. */
#contact .contact-panel>.contact-line-updates{grid-column:1/-1;margin-top:0;min-width:0}
#contact .contact-panel>div>.contact-mobile-hidden:not(.contact-note){color:var(--on-dark)}

/* Desktop: LINE guidance at left, form at right. Narrow layouts keep it below. */
@media(min-width:801px){
  #contact .contact-panel{grid-template-rows:auto 1fr}
  #contact .contact-panel>div:first-child{grid-column:1;grid-row:1}
  #contact .contact-panel>.form-preview{grid-column:2;grid-row:1/3}
  #contact .contact-panel>.contact-line-updates{grid-column:1;grid-row:2;align-self:start}
}

/* Separate email consultation page and LP entry card. */
.contact-entry{display:grid;gap:20px;align-content:start}
.contact-entry p{color:var(--muted);font-size:15px}
.contact-entry .button{width:100%;justify-content:center}
.contact-entry .line-contact{background:#087f3f;border-color:#087f3f}
.contact-entry .line-contact:hover{background:#066b34;border-color:#066b34}
.contact-page .contact-title{color:#fff;font-size:clamp(28px,3.2vw,44px)}
.contact-page .contact-title+p{color:var(--on-dark);margin-top:22px}

/* Match the two consultation actions inside the mobile dropdown. */
@media(max-width:800px){
  .header.mobile-nav-open nav a.nav-consult{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:12px;padding:14px 16px;border:1px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff;font-size:14px;line-height:1.6;text-align:center}
  .header.mobile-nav-open nav a.nav-consult:hover{background:var(--navy-deep);color:#fff}
  .header.mobile-nav-open nav a.nav-line{background:#087f3f;border-color:#087f3f}
  .header.mobile-nav-open nav a.nav-line:hover{background:#066b34;color:#fff}
}

/* Hide the expertise section and its menu destination on phones only. */
@media(max-width:520px){#expertise,.header #site-navigation a[href$="#expertise"]{display:none}}

/* Keep the phone navigation focused on the requested destinations. */
@media(max-width:520px){.header #site-navigation a[href$="#design"],.header #site-navigation a[href$="#finance"],.header #site-navigation a[href$="#cost"]{display:none}}

/* Phone navigation follows the inline sections, with desktop/tablet items retained. */
.header #site-navigation a.mobile-nav-phone{display:none}
@media(max-width:520px){.header.mobile-nav-open #site-navigation a.mobile-nav-phone{display:block}}

/* Property example: reuse the shared dialog on phones, retaining the actual section. */
#ease .property-details-button{display:none;background:#fff;color:var(--navy);border-color:var(--navy);box-shadow:none}
#ease .property-details-button:hover{background:var(--soft);color:var(--navy)}
#offer-dialog #properties{width:100%;margin:0;padding:0;background:transparent}
#offer-dialog #properties>.wrap{width:100%;margin:0}
#offer-dialog #properties .section-heading{display:block;margin-bottom:24px}
#offer-dialog #properties .section-heading h2{font-size:clamp(20px,5.3vw,26px)}
#offer-dialog #properties .section-heading>p{margin-top:16px}
#offer-dialog #properties .property-grid{grid-template-columns:minmax(0,1fr)}
#offer-dialog #properties .property-body{padding:20px}
#offer-dialog #properties .property dl>div{flex-direction:column;align-items:flex-start;gap:4px}
@media(max-width:520px){
  #main>#properties.properties-modal-ready,.header #site-navigation a[href$="#properties"]{display:none}
  #ease .property-details-button:not([hidden]){display:flex;width:100%;min-height:48px;justify-content:center;margin-top:24px;font-size:14px;cursor:pointer}
}

/* Let the dropdown grow to the full height of its menu items. */
@media(max-width:800px){.header.mobile-nav-open nav{max-height:none;overflow:visible}}

/* Desktop consultation actions already appear in the separate header buttons. */
@media(min-width:801px){.header #site-navigation .nav-consult{display:none}}

/* The open mobile menu contains both consultation actions itself. */
@media(max-width:800px){.header.mobile-nav-open .header-actions{display:none}}

/* BINNO 4: decision information before the first consultation. */
.hero .hero-consultation-note{position:relative;z-index:1;margin:18px 0 0;color:var(--navy);font-size:14px;font-weight:700;line-height:1.8}
.facts>div:first-child .fact-label{white-space:normal;line-height:1.7}
.facts .fact-example-condition{display:block;margin-top:10px;font-size:12px;line-height:1.7;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;color:var(--muted)}
.consultation-guide,.planning-overview{padding-block:76px}
.consultation-guide .section-heading,.planning-overview .section-heading{margin-bottom:32px}
.consultation-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.consultation-guide-grid article{min-width:0;padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff}
.consultation-guide-grid .index{display:block;margin-bottom:18px;font-size:30px;line-height:1}
.consultation-guide-grid h3,.planning-grid h3{margin:0 0 16px;font-family:var(--mincho);font-size:23px;line-height:1.65;letter-spacing:.02em;overflow-wrap:anywhere}
.consultation-guide-grid article>p{font-size:15px;line-height:1.95;color:var(--muted);overflow-wrap:anywhere}
.consultation-guide-footer,.planning-consultation{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.consultation-guide-footer>p,.planning-consultation>p{font-size:14px;line-height:1.9;color:var(--muted)}
.consultation-guide-footer .button,.planning-consultation .button{flex-shrink:0}
.planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px}
.planning-grid>article{min-width:0;padding:32px;border:1px solid var(--line);border-radius:8px;background:#fff}
.planning-grid>.planning-returns{background:var(--soft)}
.planning-label{margin:0 0 16px;color:var(--navy);font-size:14px;font-weight:700;line-height:1.7;letter-spacing:.08em}
.funds-list{margin:0}
.funds-list>div{padding:18px 0;border-bottom:1px solid var(--line)}
.funds-list>div:first-child{padding-top:0}
.funds-list dt{font-size:15px;font-weight:700;line-height:1.8;color:var(--navy)}
.funds-list dd{margin:6px 0 0;font-size:14px;line-height:1.95;color:var(--muted);overflow-wrap:anywhere}
.planning-grid .planning-note{margin:18px 0 0;font-size:12px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}
.planning-scenarios{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;margin-top:20px}
.planning-scenarios caption{text-align:left;font-size:12px;line-height:1.8;color:var(--muted);padding-bottom:12px;caption-side:top}
.planning-scenarios th,.planning-scenarios td{padding:16px 12px;border-bottom:1px solid var(--line);white-space:normal}
.planning-scenarios thead th{text-align:left;font-size:13px;font-weight:700;color:var(--muted);line-height:1.7}
.planning-scenarios thead th:first-child{width:34%}
.planning-scenarios thead th:last-child{text-align:right}
.planning-scenarios tbody th{width:38%;text-align:left;font-size:18px;line-height:1.6;color:var(--navy)}
.planning-scenarios tbody td{text-align:right;font-family:var(--numeral);font-size:32px;font-weight:500;line-height:1.3;letter-spacing:0;white-space:nowrap;color:var(--navy)}
.planning-scenarios td>span{margin-left:5px;font-family:var(--latin);font-size:13px;font-weight:700}
.planning-scenarios th>small{display:block;font-size:12px;font-weight:400;line-height:1.6;color:var(--muted)}
.planning-scenarios .planning-scenario-highlight{background:#fff}
.planning-consultation{padding:24px;background:var(--soft);border-radius:8px}
.planning-consultation strong{color:var(--navy);font-size:16px}
.owner-role-summary{display:none}
#ease .benefit-line .rent-condition-note{margin-top:16px;font-size:12px;line-height:1.9}
#finance .simulation-note{display:block}
#contact .consultation-contact-lead{font-size:16px;line-height:1.95;color:var(--on-dark);margin-top:22px}
.consultation-contact-points{padding-left:1.2em;margin:18px 0 0;color:var(--on-dark);font-size:14px;line-height:1.9}
.consultation-contact-points li+li{margin-top:8px}
@media(max-width:900px){.consultation-guide-grid{gap:16px}.consultation-guide-grid article,.planning-grid>article{padding:24px}.planning-grid{gap:20px}.consultation-guide-grid h3,.planning-grid h3{font-size:21px}}
@media(max-width:800px){
  .consultation-guide,.planning-overview{padding-block:56px}
  .consultation-guide-grid,.planning-grid{grid-template-columns:minmax(0,1fr)}
  .consultation-guide-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:14px;padding:22px}
  .consultation-guide-grid .index{grid-column:1;grid-row:1/3;margin:4px 0 0;font-size:26px}
  .consultation-guide-grid h3{grid-column:2;margin-bottom:8px}
  .consultation-guide-grid article>p{grid-column:2;font-size:14px;line-height:1.9}
  .consultation-guide-footer,.planning-consultation{flex-direction:column;align-items:stretch;gap:16px}
  .consultation-guide-footer .button,.planning-consultation .button{justify-content:center;width:100%;min-width:0;white-space:normal;text-align:center}
}
@media(max-width:520px){
  .hero .hero-consultation-note{font-size:13px;margin-top:16px}
  .hero .hero-eyebrow-copy{font-size:12px;letter-spacing:.08em;white-space:normal}
  .facts>div:first-child .fact-label{font-size:12px;letter-spacing:.02em}
  .facts .fact-example-condition{margin-top:8px}
  .consultation-guide .section-heading,.planning-overview .section-heading{margin-bottom:24px}
  .consultation-guide-grid article,.planning-grid>article{padding:20px}
  .planning-grid h3{font-size:21px}
  .planning-scenarios th,.planning-scenarios td{padding:14px 8px}
  .planning-scenarios tbody td{font-size:28px}
  .planning-scenarios tbody th{font-size:16px}
  .planning-consultation{padding:20px}
  #ease .owner-role-summary{display:block;margin:20px 0 0;padding:20px;background:var(--soft);border-radius:8px;font-size:14px;line-height:1.95;color:var(--muted)}
  .owner-role-summary strong{display:block;margin-bottom:8px;font-size:15px;color:var(--navy)}
  #contact .consultation-contact-lead{font-size:15px}
}

/* Answer the three concerns before explaining the service flow. */
#solution{padding-block:88px;background:var(--navy);color:#fff}
#solution .solution-eyebrow{text-align:center;margin-bottom:24px;color:#ffb3d6;font-size:13px}
#solution .solution-title{margin:0 auto;color:#fff;font-family:var(--mincho);font-size:clamp(40px,5.6vw,72px);line-height:1.5;letter-spacing:.025em;text-align:center;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}
#solution .solution-title>span{color:#fff}
#solution .solution-lead{max-width:820px;margin:26px auto 0;color:#e5e5f4;font-size:17px;line-height:2;text-align:center;overflow-wrap:anywhere}
#solution .solution-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
#solution .solution-overview-grid>article{min-width:0;padding:30px;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:rgba(255,255,255,.08)}
#solution .solution-number{display:block;margin-bottom:18px;color:#ffb3d6;font-family:var(--numeral);font-size:38px;line-height:1}
#solution .solution-overview-grid h3{margin:0 0 18px;color:#fff;font-family:var(--mincho);font-size:23px;line-height:1.7;letter-spacing:.02em;overflow-wrap:anywhere}
#solution .solution-overview-grid article>p{margin:0;color:#e5e5f4;font-size:15px;line-height:1.95;overflow-wrap:anywhere}
#solution .solution-summary{max-width:820px;margin:32px auto 0;color:#e5e5f4;font-size:14px;line-height:2;text-align:center;overflow-wrap:anywhere}
#solution .solution-next{display:table;margin:24px auto 0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.6);color:#fff;font-size:14px;font-weight:700;line-height:1.8;text-decoration:none}
#solution .solution-next:hover{color:#ffb3d6;border-color:#ffb3d6}
#solution .solution-next:focus-visible{outline:2px solid #fff;outline-offset:5px}
#solution .solution-next>span{margin-left:12px}
@media(max-width:1000px){#solution .solution-overview-grid{gap:18px}#solution .solution-overview-grid>article{padding:24px}#solution .solution-overview-grid h3{font-size:21px}}
@media(max-width:800px){
  #solution{padding-block:64px}
  #solution .solution-title{font-size:clamp(34px,7vw,50px)}
  #solution .solution-lead{font-size:16px;margin-top:22px}
  #solution .solution-overview-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
  #solution .solution-overview-grid>article{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:16px}
  #solution .solution-number{grid-column:1;grid-row:1/3;margin:4px 0 0;font-size:30px}
  #solution .solution-overview-grid h3{grid-column:2;font-size:22px;margin-bottom:12px}
  #solution .solution-overview-grid article>p{grid-column:2;font-size:14px}
}
@media(max-width:520px){
  #solution{padding-block:56px}
  #solution .solution-eyebrow{font-size:12px;margin-bottom:18px}
  #solution .solution-title{font-size:clamp(34px,8.8vw,44px);letter-spacing:.01em;line-height:1.55}
  #solution .solution-lead{font-size:15px;text-align:left}
  #solution .solution-overview-grid>article{padding:22px 18px;grid-template-columns:30px minmax(0,1fr);column-gap:12px}
  #solution .solution-number{font-size:28px}
  #solution .solution-overview-grid h3{font-size:21px}
  #solution .solution-summary{text-align:left;font-size:14px}
}

/* Keep the solution heading on its two authored lines on phones. */
@media(max-width:520px){#solution .solution-title{font-size:clamp(24px,calc((100vw - 48px) / 10.1),40px);white-space:nowrap;overflow-wrap:normal;text-wrap:nowrap}}

/* Show dedicated labels only in the mobile floating consultation bar. */
.header .header-actions .button.small span.cv-label-desktop,
.header .header-actions .button.small span.cv-label-mobile{font:inherit;transform:none}
.header .header-actions .button.small .cv-label-mobile{display:none}
@media(max-width:800px){
  .header .header-actions .button.small .cv-label-desktop{display:none}
  .header .header-actions .button.small .cv-label-mobile{display:inline;letter-spacing:0}
}
@media(max-width:520px){
  .header .header-actions .button{padding-inline:6px}
  .header .header-actions .button.small span.cv-label-mobile{font-size:clamp(12px,3.6vw,14px)}
}
