/* Sorriso residence: ivory, charcoal, and restrained brass. */
:root{--ink:#282e2b;--cream:#f5f2ec;--line:#d9d4c9;--muted:#79766e;--gold:#a58b5d;--night:#222a26;--sans:'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--serif:'Yu Mincho','Hiragino Mincho ProN',serif}
body{background:var(--cream);font-size:14px;line-height:2.05}header{height:102px;background:var(--night);color:#f5f2ec;border-bottom:1px solid #ffffff16;padding:0 6%}header .brand span{font-size:28px;font-weight:400;letter-spacing:.21em}header .brand small{color:#c7b58f;font-size:14px;letter-spacing:.4em;margin-top:12px}nav{gap:34px;font-size:14px;letter-spacing:.07em}.nav-contact{background:transparent;border:1px solid #aa936477;padding:12px 23px}.nav-contact span{color:#c9b389}.nav-contact:hover{background:#aa936413;opacity:1}.menu{color:#f5f2ec}
.hero{background:var(--night);padding:0 32px 30px}.hero-visual{width:100%;background:var(--night)}.hero-visual>img{width:100%;height:auto;aspect-ratio:901/623;object-fit:contain}.hero-visual:after{background:linear-gradient(180deg,transparent 40%,#111a1510 54%,#111a15cc 100%)}.hero-overlay{left:7%;bottom:8%;right:5%;text-shadow:0 2px 14px #0006}.hero-overlay:before{content:'';display:block;width:48px;height:1px;background:#dbc698;margin-bottom:25px}.hero .hero-overlay h1{font-size:clamp(34px,4.1vw,62px);font-weight:400;letter-spacing:.13em;margin-bottom:16px}.hero-tagline{font-size:clamp(20px,2.3vw,34px);font-weight:400;letter-spacing:.13em;margin-bottom:27px}.hero-details{font-size:clamp(14px,1.2vw,18px);letter-spacing:.09em;color:#f0ece4;line-height:2}
.fact-strip{background:var(--night);color:#e9e4d9;padding:15px 6% 43px}.fact-strip>div{border-color:#ffffff20;padding:6px 20px}.fact-strip small{font-size:14px;letter-spacing:.2em;color:#bdab83;margin-bottom:8px}.fact-strip strong{font-size:14px;letter-spacing:.07em;font-weight:400}.fact-strip strong span{font-size:20px;color:#dfd2b6}
.section{padding:130px 7%;max-width:1320px}.eyebrow{color:var(--gold);font-size:14px;letter-spacing:.22em;font-weight:500;margin-bottom:29px}h2{font-family:var(--serif);font-size:clamp(32px,3.4vw,48px);line-height:1.75;font-weight:400;letter-spacing:.085em;margin-bottom:30px}h3{letter-spacing:.04em}p{letter-spacing:.025em}.intro{padding-top:140px;padding-bottom:145px;gap:9%}.intro-copy{padding-top:5px}.intro-copy p{font-size:14px;line-height:2.5;margin-bottom:24px}.tiny{font-size:14px;letter-spacing:.21em;color:var(--gold);margin-top:38px}.section-heading{margin-bottom:55px;gap:65px}.section-heading>p{font-size:14px;line-height:2.4;color:#68675f}
.pet-feature{max-width:none;background:var(--night);color:#f2eee5;padding:120px max(7%,calc((100vw - 1135px)/2));margin:0}.pet-feature .section-heading h2{font-size:clamp(32px,3.4vw,48px)}.pet-feature .eyebrow{color:#bda780}.pet-feature .section-heading>p{color:#bdbeb5}.pet-main-photo>img{aspect-ratio:1.95;object-position:center}.pet-main-photo .image-label{font-size:14px;letter-spacing:.2em;color:#e6dbbf;bottom:25px;left:28px}.pet-editorial{margin-top:60px;gap:10%}.pet-description h3{font-size:29px;line-height:1.9;letter-spacing:.07em}.pet-description>p{font-size:14px;line-height:2.5;color:#d5d5cc}.pet-description .simple-list li{font-size:14px;border-color:#ffffff1f;padding:13px 0;color:#dfdfd5}.pet-description .simple-list li:before{color:#bda780}.pet-description .pet-condition{color:#e6d7b9;font-size:14px}.pet-description .note,.pet-editorial figcaption{color:#aeb2a7;font-size:14px}.pet-description .text-link{color:#e4d7bb;border-color:#ac987b66;font-size:14px;letter-spacing:.06em}.pet-editorial figure img{aspect-ratio:1.1}.pet-editorial figcaption{padding-top:18px}
.terrace{background:#e7e1d6;grid-template-columns:1.3fr 1fr}.terrace-text{padding:100px 12% 90px}.terrace-text>p{font-size:14px;line-height:2.4}.terrace h2{font-size:clamp(30px,3vw,43px)}.big-number{border-color:#b7ad982e;padding-top:25px;margin-top:38px}.big-number small{font-size:14px;letter-spacing:.06em;color:#706858}.big-number strong{font-size:60px;font-weight:400;letter-spacing:-.03em}.big-number span{font-size:22px}.terrace-text .note{font-size:14px}.photo-switch{background:#f5f2ecf0;padding:3px}.photo-switch button{font-size:14px;padding:10px 23px}.photo-switch button.active{background:var(--night)}.text-link{font-size:14px;border-color:#9f947b7d;padding:16px 0}.text-link span{color:var(--gold)}.photo-note{font-size:14px}.living-photo img{aspect-ratio:1.95}.room-facts{padding:27px 0;font-size:14px;letter-spacing:.04em;border-color:var(--line)}.room-facts .use-area-summary{font-weight:400;color:#7d6744}
.community{padding-top:0}.shared-grid{gap:60px;grid-template-columns:1.1fr 1fr}.shared-grid article>img,.car-image{height:345px}.shared-grid article>small{font-size:14px;letter-spacing:.2em;color:var(--gold);margin-top:30px}.shared-grid h3{font-size:24px;line-height:1.9;margin:14px 0}.shared-grid article>p{font-size:14px;line-height:2.3;color:#6e6d65}.car-image{background:#ede8df}.car-image span{font-size:14px;letter-spacing:.2em;color:var(--gold);top:24px;left:27px}.shared-entrance{margin-top:80px;gap:60px}.shared-entrance h3{font-size:28px;line-height:1.9}.shared-entrance p{font-size:14px;line-height:2.4;color:#706e64}.shared-entrance .eyebrow{color:var(--gold)}.amenities{padding:33px 0;margin-top:75px;border-color:var(--line)}.amenities>div{padding:0 23px;border-color:var(--line)}.amenities span{color:var(--gold);font-size:18px;font-weight:400}.amenities h3{font-size:14px;font-weight:500;margin-top:16px}.amenities p{font-size:14px;line-height:2}
.rooms{max-width:none;background:#e9e4db;padding-top:120px;padding-bottom:120px}.rooms>.section-heading,.rooms>.filters,.rooms>.area-highlight,.rooms>.result-line,.rooms>.room-grid,.rooms>.note{max-width:1135px}.rent-range{font-size:31px;font-weight:400;letter-spacing:-.025em}.rent-range small{font-size:14px}.filters{border-color:#cbc3b5;padding:22px 0;gap:28px}.filters>div{display:flex;gap:24px}.filters button{border:0;border-bottom:1px solid transparent;padding:8px 0;background:transparent;font-size:14px;letter-spacing:.07em}.filters button.selected{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--gold);font-weight:500}.filters label{font-size:14px}.filters input{accent-color:#806c48;width:14px;height:14px}.sort select{font-size:14px;border-color:#aa9c83}.area-highlight{background:transparent;border-bottom:1px solid #cbc3b5;border-top:0;padding:30px 0;margin-top:0;margin-bottom:5px}.area-highlight>span{font-size:21px;letter-spacing:.06em}.area-highlight small{font-size:14px;letter-spacing:.04em}.area-highlight strong{font-size:38px;color:#77623f;font-weight:400;letter-spacing:-.02em}.area-highlight em{font-size:16px}.area-highlight>p{font-size:14px;color:#7a7468;line-height:2}.result-line{font-size:14px;letter-spacing:.04em;padding:23px 0}.room-grid{grid-template-columns:repeat(2,1fr);gap:25px}.room-card{display:grid;grid-template-columns:.95fr 1.05fr;column-gap:24px;padding:28px;background:#faf8f3;border:1px solid #ded6c7;box-shadow:none}.room-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px #4b40300a;border-color:#b6a07a}.room-card-top{grid-column:2;grid-row:1;align-self:start;margin-bottom:12px}.room-card-top strong{font-size:28px;font-weight:400}.room-card-top strong small{font-size:14px}.room-card-top span{font-size:14px;letter-spacing:.07em}.plan-thumb{grid-column:1;grid-row:1 / 7;align-self:center;height:265px;object-fit:contain;margin:0;background:#fff}.room-benefits{grid-column:2;grid-row:2;min-height:58px;margin-bottom:0;gap:5px}.room-card .room-benefits .roof-tag,.room-card .room-benefits .entry-tag{background:#eae4d7;color:#786440;font-size:14px;font-weight:400;padding:4px 7px;line-height:1.7}.room-card .use-area{grid-column:2;grid-row:3;display:block;border-top:0;border-bottom:1px solid #ded6c7;margin:5px 0 12px;padding:4px 0 13px}.room-card .use-area>span{font-size:14px;font-weight:400;display:block;margin-bottom:5px;color:#766b57;letter-spacing:.06em}.room-card .use-area strong{font-size:37px;font-weight:400;letter-spacing:-.035em}.room-card .use-area small{font-size:14px;color:#766b57}.room-card .area-breakdown{grid-column:2;grid-row:4;font-size:14px;color:#837c70;margin-bottom:10px}.room-price{grid-column:2;grid-row:5;border-top:0;padding:0;margin:0;display:block;line-height:1.8}.room-price strong{font-size:23px;font-weight:400}.room-price small{font-size:14px}.room-price>span{display:block;font-size:14px;color:#8d7957;margin-top:10px;letter-spacing:.06em}.empty{grid-column:1/-1}.rooms>.note{font-size:14px;line-height:2.1;margin-top:28px}
.access-grid{grid-template-columns:1.3fr 1fr}.access-grid>img{background:#e7e1d6;height:450px}.address{padding:50px 0 30px 15%}.address h3{font-size:28px;letter-spacing:.09em}.address p{font-size:14px;line-height:2.2}.station{border-top:1px solid var(--line);padding-top:22px}.station>span{font-size:14px;color:var(--gold)}.station strong{font-family:var(--serif);font-size:18px;letter-spacing:.04em}.station em{font-family:var(--sans);font-size:14px}.button.dark{background:var(--night);color:#f4eee2}.button.dark:hover{background:#3d4840}.address .button{font-size:14px;padding:15px 20px;gap:26px}.button span{color:#c9b389}.overview,.faq{padding-top:0}.overview h2,.faq h2{font-size:31px;letter-spacing:.07em}.tables{gap:65px}.tables dl>div{font-size:14px;line-height:2.1;padding:20px 0;border-color:var(--line)}.tables dt{color:#8b7b5f;font-size:14px}.tables dd small{font-size:14px}.overview>.note{font-size:14px;margin-top:24px;line-height:2.2}.faq details{border-color:var(--line)}.faq summary{padding:25px 0;font-size:14px;letter-spacing:.035em}.faq summary span{color:var(--gold);font-size:14px}.faq details p{font-size:14px;line-height:2.2}
.contact{background:var(--night);padding:115px 7%;color:#efe9de}.contact .eyebrow{color:#bca780;font-size:14px;letter-spacing:.21em}.contact h2{font-size:clamp(32px,3.5vw,47px);letter-spacing:.08em;line-height:1.8}.contact>p{font-size:14px;line-height:2.4;color:#bfc2b8}.phone{font-family:var(--sans);font-size:44px;font-weight:300;letter-spacing:.04em;border-color:#ad946466;padding:16px 22px;margin:15px 0 20px}.phone span{font-size:17px;color:#bda780}.contact-company{font-size:14px!important;letter-spacing:.1em}.contact-back{font-size:14px;letter-spacing:.05em;border-color:#ad946466;color:#cfc6b3;padding-bottom:7px;margin-top:30px}footer{background:var(--night);color:#ddd6c7;border-top:1px solid #ffffff15;padding:48px 7%}footer .brand span{font-size:24px;letter-spacing:.2em}footer .brand small{color:#bba47a}footer p{font-size:14px;color:#aeb4a7;line-height:2.3}footer>small{color:#b8aa8e;font-size:14px;letter-spacing:.1em}
dialog{background:#f8f5ef;padding:48px;border:1px solid #ad946477}dialog::backdrop{background:#131d16b8;backdrop-filter:blur(5px)}.dialog-close{color:#89744f}.dialog-layout h2{font-size:34px;font-weight:400}.dialog-layout p{font-size:14px;line-height:2}.detail-use-area{border-color:#d6cbb8}.detail-use-area strong{font-weight:400;font-size:43px;color:#7c6744}.detail-plan .room-benefits .roof-tag,.detail-plan .room-benefits .entry-tag{background:#eae4d7;color:#786440;font-size:14px;font-weight:400}.dialog-layout small{line-height:2;font-size:14px}
@media(max-width:1000px){header{padding:0 4%;height:90px}nav{gap:22px;font-size:14px}.nav-contact{padding:11px 15px}.hero{padding:0 22px 24px}.section{padding:95px 6%}.pet-feature{max-width:none;padding:90px 6%}.community,.overview,.faq{padding-top:0}h2{font-size:35px}.section-heading{gap:30px}.pet-feature .section-heading h2{font-size:35px}.terrace-text{padding:75px 9%}.shared-grid{gap:35px}.shared-grid article>img,.car-image{height:285px}.room-card{padding:20px;column-gap:17px;grid-template-columns:.85fr 1.15fr}.plan-thumb{height:260px}.room-card .use-area strong{font-size:33px}.room-card .room-benefits .entry-tag{font-size:14px}.room-price strong{font-size:21px}.area-highlight>span{font-size:18px}.area-highlight strong{font-size:32px}.filters{gap:20px}.filters>div{gap:20px}.tables{gap:35px}.address{padding-left:10%}.access-grid>img{height:400px}.amenities>div{padding:0 14px}}
@media(max-width:650px){header{height:78px;padding:0 6%}header .brand span{font-size:23px}header .brand small{font-size:14px;margin-top:9px}nav{top:78px;background:var(--night);color:#eee8dc;padding:27px 6%;gap:22px;font-size:14px;border-color:#ffffff25}.nav-contact{text-align:center}.hero{padding:0 12px 15px}.hero-overlay{left:6%;bottom:7%;right:4%}.hero-overlay:before{width:28px;margin-bottom:10px}.hero .hero-overlay h1{font-size:clamp(23px,6.5vw,39px);letter-spacing:.08em;margin-bottom:7px}.hero-tagline{font-size:clamp(15px,4.2vw,25px);letter-spacing:.055em;margin-bottom:10px}.hero-details{font-size:14px;letter-spacing:0;line-height:1.9}.hero-visual:after{background:linear-gradient(180deg,transparent 28%,#111a1530 48%,#111a15cc 100%)}.fact-strip{padding:8px 5% 20px}.fact-strip>div{padding:15px 7px;border-color:#ffffff20}.fact-strip>div:nth-child(-n+2){border-color:#ffffff20}.fact-strip small{font-size:14px;margin-bottom:6px}.fact-strip strong{font-size:14px;letter-spacing:.02em}.section{padding:75px 7%}.intro{gap:20px;padding-top:80px;padding-bottom:85px}.eyebrow{font-size:14px;letter-spacing:.17em;margin-bottom:24px}h2{font-size:29px;letter-spacing:.065em;line-height:1.85;margin-bottom:25px}.intro-copy p{font-size:14px;line-height:2.4}.tiny{font-size:14px}.section-heading{margin-bottom:33px}.section-heading>p{font-size:14px;line-height:2.3}.pet-feature{padding:75px 7%;max-width:none}.pet-feature .section-heading h2{font-size:29px}.pet-main-photo>img{aspect-ratio:1.25}.pet-main-photo .image-label{font-size:14px;left:15px;bottom:16px}.pet-editorial{margin-top:38px;gap:35px}.pet-description h3{font-size:25px;line-height:1.85}.pet-description>p,.pet-description .simple-list li{font-size:14px;line-height:2.3}.pet-description .pet-condition{font-size:14px}.pet-description .note{font-size:14px}.pet-editorial figure img{aspect-ratio:1.3}.pet-editorial figcaption{font-size:14px}.terrace-text{padding:58px 7%}.terrace h2{font-size:29px}.terrace-text>p{font-size:14px;line-height:2.3}.big-number strong{font-size:51px}.big-number small{font-size:14px}.living-photo img{aspect-ratio:1.2}.room-facts{font-size:14px;gap:12px;line-height:1.9}.community,.overview,.faq{padding-top:0}.shared-grid{gap:37px}.shared-grid article>img,.car-image{height:auto;aspect-ratio:1.35}.shared-grid article>small{margin-top:23px;font-size:14px}.shared-grid h3{font-size:21px;line-height:1.85}.shared-grid article>p{font-size:14px;line-height:2.2}.shared-entrance{margin-top:45px;gap:24px}.shared-entrance h3{font-size:22px}.shared-entrance p{font-size:14px}.amenities{margin-top:45px;padding:28px 0}.amenities h3{font-size:14px}.amenities p{font-size:14px}.rooms{padding:75px 7%}.rent-range{font-size:28px}.filters{gap:17px;padding:20px 0}.filters>div{gap:24px;width:100%}.filters button{flex:none;font-size:14px;padding:7px 0}.filters label{font-size:14px}.sort select{font-size:14px}.area-highlight{padding:24px 0;gap:13px}.area-highlight>span{font-size:18px}.area-highlight small{font-size:14px}.area-highlight strong{font-size:30px}.area-highlight>p{font-size:14px}.result-line{font-size:14px;letter-spacing:0;gap:20px}.room-grid{grid-template-columns:1fr;gap:20px}.room-card{padding:22px;grid-template-columns:.95fr 1.05fr;column-gap:20px}.plan-thumb{height:245px;margin:0}.room-card-top strong{font-size:26px}.room-card-top span{font-size:14px}.room-card .room-benefits{min-height:55px;margin:0}.room-card .room-benefits .roof-tag,.room-card .room-benefits .entry-tag{font-size:14px;padding:4px 6px}.room-card .use-area{display:block;margin:5px 0 10px;padding:4px 0 12px}.room-card .use-area strong{font-size:33px}.room-card .use-area>span{font-size:14px}.room-card .use-area small{font-size:14px}.room-card .area-breakdown{font-size:14px}.room-price strong{font-size:21px}.room-price small{font-size:14px}.room-price>span{font-size:14px;margin-top:8px}.rooms>.note{font-size:14px}.access-grid{grid-template-columns:1fr}.access-grid>img{height:auto;aspect-ratio:1.5}.address{padding:35px 0 0}.address h3{font-size:25px}.address .button{font-size:14px}.tables{gap:0}.tables dl>div{font-size:14px;padding:16px 0;grid-template-columns:95px 1fr}.tables dt{font-size:14px}.overview h2,.faq h2{font-size:26px}.overview>.note{font-size:14px}.faq summary{font-size:14px;padding:22px 0}.faq details p{font-size:14px;line-height:2.2}.contact{padding:80px 7%}.contact h2{font-size:29px;line-height:1.85}.contact>p{font-size:14px}.contact .eyebrow{font-size:14px}.phone{font-size:32px;padding:12px 5px}.phone span{font-size:14px}.contact-back{font-size:14px}footer{padding:40px 7%}footer .brand span{font-size:22px}footer p{font-size:14px}dialog{padding:38px 22px 26px}.dialog-layout{grid-template-columns:1fr;gap:24px}.detail-plan>img{height:290px}.detail-use-area strong{font-size:38px}.dialog-layout h2{font-size:30px}}
@media(max-width:370px){.room-card{padding:17px;column-gap:13px;grid-template-columns:.85fr 1.15fr}.room-card .use-area strong{font-size:29px}.plan-thumb{height:220px}.room-card .room-benefits .entry-tag{font-size:14px}.hero-details{font-size:14px}}

/* Readable content sizes and stronger contrast at normal browser zoom. */
:root{--muted:#625e54;--gold:#856c40}
body{font-size:16px;line-height:2}
nav{font-size:14px;gap:28px}
.intro-copy p,.section-heading>p,.pet-description>p,.pet-description .simple-list li,.terrace-text>p,.shared-grid article>p,.shared-entrance p,.address p,.contact>p{font-size:16px;line-height:2.15}
.eyebrow,.tiny,.shared-grid article>small,.fact-strip small{font-size:14px;letter-spacing:.12em}
.fact-strip strong{font-size:15px;line-height:1.9}
.pet-description .pet-condition{font-size:16px}.pet-description .note,.pet-editorial figcaption{font-size:14px;color:#c6cabd;line-height:1.95}
.pet-feature .section-heading>p{color:#d5d7cb}.pet-feature .eyebrow{color:#d0ba90}
.note,.rooms>.note,.overview>.note,.area-highlight>p,.result-line{font-size:14px;line-height:1.95;color:#625e54}
.room-facts{font-size:15px}.amenities h3{font-size:16px;line-height:1.8}.amenities p{font-size:14px;color:#625e54;line-height:1.9}
.filters{gap:23px}.filters label,.sort select,.filters button{font-size:14px}.filters>div{gap:22px}.filters label{line-height:1.8}
.room-card{padding:26px;column-gap:22px}.room-card-top span,.room-card-top strong small,.room-card .use-area>span{font-size:14px;line-height:1.8}
.room-benefits{min-height:82px;gap:7px}.room-card .room-benefits .roof-tag,.room-card .room-benefits .entry-tag{font-size:14px;line-height:1.7;padding:5px 8px;color:#6d5730;background:#e8e0cf}
.room-card .area-breakdown{font-size:14px;line-height:1.8;color:#625e54}.room-price small,.room-price>span{font-size:14px;line-height:1.8}.room-price>span{color:#796035}
.area-highlight small{font-size:14px}.area-highlight>div{gap:16px}.area-highlight>p{color:#625e54}
.tables dl>div{font-size:15px;line-height:1.95;grid-template-columns:125px 1fr}.tables dt,.tables dd small{font-size:14px;color:#655940}
.station>span,.station em{font-size:14px}.button,.address .button,.text-link,.pet-description .text-link{font-size:14px;line-height:1.8}
.faq summary{font-size:16px;line-height:1.9}.faq details p{font-size:15px;line-height:2}.contact-company{font-size:14px!important}.contact-back{font-size:14px}.contact>p{color:#d0d4c7}
footer p{font-size:14px;color:#c8cebe}footer>small{font-size:14px;color:#c9bc9f}
.dialog-layout p{font-size:15px;line-height:1.95}.dialog-layout small,.detail-plan .room-benefits .roof-tag,.detail-plan .room-benefits .entry-tag{font-size:14px;line-height:1.9}.detail-use-area>span{font-size:14px}
.hero-details{font-size:clamp(14px,1.2vw,18px);line-height:1.95}.photo-note,.pet-main-photo .image-label{font-size:14px;line-height:1.8}
@media(max-width:1000px){header{padding:0 4%}nav{gap:16px;font-size:14px}.nav-contact{padding:11px 13px}.room-grid{grid-template-columns:1fr}.room-card{grid-template-columns:1fr 1.3fr;column-gap:36px;padding:30px}.plan-thumb{height:300px}.room-card .room-benefits .entry-tag{font-size:14px}.tables{gap:28px}.tables dl>div{grid-template-columns:100px 1fr}.area-highlight{gap:16px 25px}}
@media(max-width:800px){.menu{display:block;border:0;background:transparent;font-size:25px}header{height:78px;padding:0 6%}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--night);padding:27px 6%;flex-direction:column;align-items:stretch;gap:22px;border-bottom:1px solid #ffffff25}nav.open{display:flex}.nav-contact{text-align:center}.tables{grid-template-columns:1fr;gap:0}.tables dl>div{grid-template-columns:120px 1fr}}
@media(max-width:650px){body{font-size:15px}.intro-copy p,.section-heading>p,.pet-description>p,.pet-description .simple-list li,.terrace-text>p,.shared-grid article>p,.shared-entrance p,.address p,.contact>p{font-size:15px;line-height:2.05}.eyebrow,.tiny,.shared-grid article>small,.fact-strip small{font-size:14px;letter-spacing:.07em}.fact-strip strong{font-size:14px}.fact-strip>div{padding:17px 8px}.hero-overlay:before{margin-bottom:8px}.hero .hero-overlay h1{font-size:28px;line-height:1.35;margin-bottom:7px}.hero-tagline{font-size:19px;line-height:1.5;margin-bottom:10px}.hero-details{font-size:14px;line-height:1.8;letter-spacing:0}.hero-overlay{bottom:6%;left:6%;right:5%}.hero-visual:after{background:linear-gradient(180deg,transparent 12%,#111a1540 35%,#111a15db 100%)}.photo-note,.pet-main-photo .image-label{font-size:14px}.pet-main-photo .image-label{right:12px;left:12px}.pet-description .pet-condition{font-size:15px}.shared-entrance{grid-template-columns:1fr;gap:20px}.shared-entrance>img{height:330px}.shared-entrance h3{font-size:26px}.room-facts{font-size:14px}.amenities{gap:25px 0}.amenities h3{font-size:15px}.amenities p{font-size:14px}.filters>div{gap:23px}.filters button,.filters label,.sort select{font-size:14px}.result-line{flex-direction:column;gap:5px;font-size:14px}.area-highlight>span{font-size:21px}.area-highlight small{font-size:14px}.area-highlight strong{font-size:30px}.area-highlight>div{gap:15px;flex-wrap:wrap}.room-grid{grid-template-columns:1fr;gap:24px}.room-card{display:flex;flex-direction:column;padding:25px;gap:0}.room-card-top{margin-bottom:18px}.room-card-top strong{font-size:29px}.room-card-top span{font-size:15px}.plan-thumb{height:280px;margin:0 0 20px}.room-card .room-benefits{min-height:0;margin-bottom:16px;gap:8px}.room-card .room-benefits .roof-tag,.room-card .room-benefits .entry-tag{font-size:14px;padding:6px 10px}.room-card .use-area{display:flex;align-items:center;margin:0 0 14px;padding:8px 0 15px}.room-card .use-area>span{font-size:15px;margin:0}.room-card .use-area strong{font-size:39px}.room-card .use-area small{font-size:16px}.room-card .area-breakdown{font-size:14px;margin-bottom:15px}.room-price{display:flex;align-items:center;gap:15px}.room-price strong{font-size:26px}.room-price small,.room-price>span{font-size:14px}.room-price>span{margin:0}.tables dl>div{font-size:15px;grid-template-columns:100px 1fr;gap:12px}.tables dt,.tables dd small{font-size:14px}.faq summary{font-size:16px;line-height:1.9}.faq details p{font-size:15px}.contact .eyebrow{font-size:14px}.contact-company{font-size:14px!important}.contact-back{font-size:14px}.phone{font-size:31px}.dialog-layout p{font-size:15px}.dialog-layout small{font-size:14px}.dialog-layout .button{white-space:normal}.detail-plan .room-benefits .roof-tag,.detail-plan .room-benefits .entry-tag{font-size:14px}footer p,footer>small{font-size:14px}}

/* 契約予定の住戸（2026-10-20 追加） */
.status-stamp{background:#c0392b;color:#fff;font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.3em;padding:8px 14px 8px 18px;white-space:nowrap;box-shadow:0 0 0 4px #ffffffcc;transform:rotate(-8deg);pointer-events:none;z-index:1}
.room-card.is-reserved{background:#f3efee;border:2px solid #c0392b}
.room-card.is-reserved .status-stamp{grid-column:1;grid-row:1 / 7;align-self:center;justify-self:center}
.room-card.is-reserved .plan-thumb{opacity:.38}.detail-plan.is-reserved>img{opacity:.55}
.room-card.is-reserved .room-price strong,.room-card.is-reserved .use-area strong{color:var(--muted)}
.room-card.is-reserved .room-price>span{font-weight:600;color:#c0392b}
.detail-plan.is-reserved{position:relative}
.detail-plan .status-stamp{position:absolute;left:50%;top:235px;transform:translate(-50%,-50%) rotate(-8deg);font-size:20px;padding:10px 18px 10px 24px}
.status-note{border:1px solid #c0392b;padding:12px 14px;font-size:13px;line-height:1.8;margin:12px 0}
.status-note strong{display:inline-block;background:#c0392b;color:#fff;font-weight:500;padding:1px 10px;margin-right:10px;letter-spacing:.15em}
@media(max-width:650px){.room-card.is-reserved .status-stamp{align-self:center;margin:-172px 0 140px;position:relative}.detail-plan .status-stamp{top:145px;font-size:15px}.status-stamp{font-size:12px;letter-spacing:.2em;padding:6px 10px 6px 12px}}
/* 商談中の住戸（2026-10-22 追加）：赤で目立たせる。契約予定（濃い緑）とは別の色 */
.room-card.is-nego{background:#fdf3f2;border:2px solid #c0392b}
.room-card.is-nego .plan-thumb{opacity:.7}.detail-plan.is-nego>img{opacity:.8}
.room-card.is-nego .room-price strong,.room-card.is-nego .use-area strong{color:var(--ink)}
.room-card.is-nego .room-price>span{color:#c0392b}
.is-nego .status-stamp{background:#c0392b;color:#fff}
.status-note.is-nego{border-color:#c0392b}
.status-note.is-nego strong{background:#c0392b}
/* パンフレットのダウンロード（2026-10-22 追加） */
.pamphlet-link{display:flex;width:fit-content;max-width:100%;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;margin:26px auto 10px;padding:14px 24px;border:1px solid #ad946499;color:#efe9de;font-size:15px;letter-spacing:.08em;text-decoration:none}
.pamphlet-link:hover{background:#ffffff10}
.pamphlet-link small{font-size:12px;color:#bfc2b8;letter-spacing:.04em}
.pamphlet-link span{color:#bda780}
.result-line a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.nav-pamphlet{white-space:nowrap}.nav-pamphlet span{color:#c9b389}
@media(max-width:800px){.nav-pamphlet{text-align:center;border:1px solid #aa936455;padding:11px 13px}}
@media(min-width:801px){nav a{white-space:nowrap}}
@media(min-width:801px) and (max-width:1000px){nav{gap:14px;font-size:13px;letter-spacing:.02em}.nav-contact{padding:10px 12px}}
/* ヘッダーのパンフレットにも枠線（2026-10-22） */
.nav-pamphlet{border:1px solid #aa936477;padding:12px 18px}
.nav-pamphlet:hover{background:#aa936413;opacity:1}
@media(min-width:801px) and (max-width:1000px){.nav-pamphlet{padding:10px 12px}}
@media(max-width:800px){.nav-pamphlet{padding:11px 13px}}
/* お申込み状況の帯とパネル（2026-10-22 追加） */
.demand-ribbon{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;background:#c0392b;color:#fff;text-decoration:none;padding:14px 5%;font-size:15px;letter-spacing:.04em;line-height:1.6;text-align:center}
.demand-ribbon[hidden]{display:none}
.demand-ribbon strong{font-weight:600;font-size:16px}
.demand-ribbon b{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.demand-ribbon .ribbon-go{border-bottom:1px solid #ffffffaa;padding-bottom:1px;white-space:nowrap}
.demand-ribbon:hover .ribbon-go{border-color:#fff}
.live{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.live small{font-size:12px;opacity:.85}
.live i{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 #ffffffaa;animation:livepulse 1.8s infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 #ffffffb0}70%{box-shadow:0 0 0 9px #ffffff00}100%{box-shadow:0 0 0 0 #ffffff00}}
.demand-panel{max-width:1135px;margin:10px auto 34px;border:2px solid #c0392b;background:#fff;padding:30px 34px;display:grid;gap:18px}
.demand-panel[hidden]{display:none}
.demand-head .eyebrow{color:#c0392b;font-size:13px;letter-spacing:.18em;margin:0 0 8px}
.demand-head .live i{background:#c0392b;animation-name:livepulsered}
@keyframes livepulsered{0%{box-shadow:0 0 0 0 #c0392b88}70%{box-shadow:0 0 0 9px #c0392b00}100%{box-shadow:0 0 0 0 #c0392b00}}
.demand-head h3{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.6vw,30px);letter-spacing:.06em;margin:0 0 8px;color:var(--ink)}
.demand-head p{margin:0;font-size:15px;line-height:1.9}
.demand-head b{color:#c0392b;font-size:20px}
.demand-bar{display:grid;grid-template-columns:repeat(23,1fr);gap:4px}
.demand-bar .cell{height:22px;background:#e9e5dc}
.demand-bar .cell.is-done{background:#c0392b}
.demand-bar .cell.is-nego{background:repeating-linear-gradient(135deg,#c0392b 0 5px,#e8a49c 5px 10px)}
.demand-legend{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.demand-legend span{display:inline-flex;align-items:center;gap:7px}
.demand-legend i{width:14px;height:14px;background:#e9e5dc;display:inline-block}
.demand-legend i.is-done{background:#c0392b}
.demand-legend i.is-nego{background:repeating-linear-gradient(135deg,#c0392b 0 4px,#e8a49c 4px 8px)}
.demand-scarce{display:flex;flex-wrap:wrap;gap:10px}
.demand-scarce span{border:1px solid #c0392b;color:#c0392b;padding:6px 14px;font-size:14px}
.demand-scarce b{font-weight:600;margin-right:4px}
.demand-scarce strong{font-size:18px;margin-left:2px}
.demand-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.demand-cta small{font-size:13px;color:var(--muted)}
@media(max-width:650px){.demand-ribbon{font-size:14px;padding:12px 5%;gap:6px 14px}.demand-ribbon strong{font-size:15px;flex-basis:100%}.demand-panel{padding:22px 18px;margin:6px 0 26px}.demand-bar{gap:2px}.demand-bar .cell{height:18px}}
@media(prefers-reduced-motion:reduce){.live i{animation:none}}
/* 周辺地図（2026-10-22 追加）：募集概要の次 */
.map{padding-top:0;max-width:1135px;margin:0 auto}
.map h2{font-size:30px}
.map-frame{position:relative;width:100%;aspect-ratio:16/7;max-width:100%;background:#e8e6df;border:1px solid var(--line);margin-top:22px}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin-top:14px;font-size:14px}
.map-foot p{margin:0}
@media(max-width:650px){.map-frame{aspect-ratio:4/3}.map h2{font-size:24px}}
.map .text-link{color:var(--ink);border-bottom:1px solid #9f947b7d;padding:6px 0;text-decoration:none}
/* 紹介動画（2026-11-04 追加）：特長の帯の下 */
.movie{max-width:1135px;margin:0 auto;padding-bottom:0}
.movie h2{font-size:30px;margin-bottom:0}
.movie-frame{width:100%;max-width:100%;aspect-ratio:16/9;background:#1f2622;margin-top:22px}
.movie-frame video{display:block;width:100%;height:100%;object-fit:cover}
.movie .note{margin-top:12px}
@media(max-width:650px){.movie h2{font-size:21px;letter-spacing:.04em}}
/* スマホ下の固定ボタン（2026-11-08 追加）：800px 以下だけ */
.mobile-bar{display:none}
@media(max-width:800px){
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:1px;background:#ffffff30;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 16px #00000026}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:9px 4px 10px;background:var(--night);color:#f4eee2;text-decoration:none;line-height:1.35;text-align:center}
.mobile-bar a.mb-tel{background:#c0392b;color:#fff}
.mobile-bar b{font-size:14px;font-weight:600;letter-spacing:.04em}
.mobile-bar small{font-size:11px;opacity:.85;letter-spacing:.02em}
body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
}
/* 移設版（2026-11-08 追加）：キャンペーンの帯・内見予約と空室待ちのフォーム・満室御礼モード */
.campaign-bar{background:#fff3d6;color:#5b4310;text-align:center;padding:12px 5%;font-size:15px;font-weight:600;letter-spacing:.04em}
.campaign-bar[hidden]{display:none}
.booking{max-width:880px;margin:0 auto}
.booking[hidden]{display:none}
.booking h2{font-size:30px}
.f-lead{margin:10px 0 22px;line-height:1.9}
.pform{display:grid;gap:14px;background:#fff;border:1px solid var(--line);padding:26px 28px}
.pform label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.pform input,.pform select,.pform textarea{font:inherit;font-weight:400;font-size:16px;padding:10px 12px;border:1px solid #cfcbbf;background:#fbfaf6;color:var(--ink);width:100%;box-sizing:border-box}
.pform input:focus,.pform select:focus,.pform textarea:focus{outline:2px solid #c0392b55;border-color:#c0392b}
.f-row.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-row.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.f-hint{margin:-6px 0 0;font-size:13px;color:var(--muted)}
.f-agree{display:flex!important;align-items:center;gap:8px;font-weight:400!important}
.f-agree input{width:auto!important}
.pform button{justify-self:start;border:0;cursor:pointer;font:inherit;font-size:16px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-result{padding:14px 16px;margin:0 0 16px;font-weight:600}
.form-result.ok{background:#ddf5e8;color:#1d5b3a}.form-result.ng{background:#ffe3dc;color:#8a2a1c}
.form-result[hidden]{display:none}
.full-mode{max-width:1135px;margin:0 auto}
.full-mode[hidden]{display:none}
.full-banner{text-align:center;display:grid;gap:16px;justify-items:center;padding:20px 0 34px}
.full-banner h2{font-size:clamp(26px,3.4vw,38px);line-height:1.7}
.full-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.full-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mode-full #rooms,.mode-full #demand-ribbon,.mode-full #demand-panel,.mode-full #overview,.mode-full #movie,.mode-full #viewing,.mode-full .nav-pamphlet,.mode-full .pamphlet-link,.mode-full #mb-pdf,.mode-full #campaign,.mode-full nav a[href="#rooms"],.mode-full .result-line a{display:none!important}
.mode-full .mobile-bar{grid-template-columns:1fr 1fr}
@media(max-width:650px){.f-row.two,.f-row.three{grid-template-columns:1fr}.pform{padding:20px 16px}.booking h2{font-size:24px}.full-gallery{grid-template-columns:1fr 1fr}}
/* フォームを一番目立つ入口に（2026-11-09）：スマホ下はフォームが赤、電話は2番目 */
.mobile-bar a.mb-tel{background:var(--night);color:#f4eee2}
.mobile-bar a.mb-form{background:#c0392b;color:#fff}
.button.form-cta{background:#c0392b;color:#fff;border:0;font-weight:600}
.button.form-cta:hover{background:#a93226}
.contact .form-cta{display:inline-flex;margin:18px auto 6px;font-size:16px;padding:16px 26px}
.contact-or{font-size:13px!important;color:#bfc2b8;margin:10px 0 0}
.demand-cta .form-cta{font-size:15px}
.booking,#rooms,#contact{scroll-margin-top:96px}
@media(max-width:800px){.booking,#rooms,#contact{scroll-margin-top:84px}}

/* ある1日（2026-11-09） */
.day{padding-top:110px;padding-bottom:110px}.day-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}.day-grid article{border-top:1px solid var(--line);padding-top:22px}.day-grid small{color:var(--gold);letter-spacing:.3em;font-size:11px}.day-grid h3{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:.12em;margin:6px 0 12px}.day-grid p{font-size:14px;line-height:2.05;margin-bottom:10px}@media(max-width:900px){.day-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.day{padding-top:70px;padding-bottom:70px}.day-grid{grid-template-columns:1fr;gap:22px}}
.cost-example{border:1px solid var(--line);background:#fffdf8;padding:22px 26px;margin:26px 0 30px}.cost-example .cost-title{color:var(--gold);letter-spacing:.12em;font-size:13px;margin-bottom:6px}.cost-example strong{font-size:22px;font-weight:500;letter-spacing:.04em}.cost-example p{line-height:2}
