*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fafbf9;color:#163c3b;font-family:Arial,"Yu Gothic",Meiryo,sans-serif;line-height:1.8}a{color:inherit}header{height:80px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dfe6e2;position:sticky;top:0;z-index:5}.brand{font-size:22px;letter-spacing:.13em;font-weight:bold;text-decoration:none}.brand span{margin-left:12px;padding:4px 8px;background:#174d47;color:white;font-size:14px}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}main{max-width:1280px;margin:auto;padding:0 4%}.availability{margin:24px 0;background:#e8f4ef;border-left:4px solid #2b7967;padding:13px 20px;font-size:14px;display:flex;gap:20px;align-items:center}.availability strong{font-size:18px}.availability.ended{background:#ffebe5;color:#8a3223;border-color:#bd4d35}.availability.unknown{background:#fff5d9;color:#715716;border-color:#ba942f}.hero{display:grid;grid-template-columns:43% 57%;margin-top:36px;align-items:center}.hero-copy{padding:18px 30px 30px 0}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;color:#5d807a}.access{font-size:14px;font-weight:bold}h1{font-family:"Yu Mincho",serif;font-weight:500;font-size:clamp(34px,4.5vw,60px);line-height:1.5;letter-spacing:.05em;margin:28px 0 20px}.property-name{font-size:21px;margin-bottom:14px}.property-name strong{font-size:16px;font-weight:normal;margin-left:10px}.intro{color:#536d68;font-size:15px}.hero-photo{position:relative;background:#eee}.hero-photo img{display:block;width:100%;height:590px;object-fit:cover}.hero-photo>span{position:absolute;bottom:20px;left:20px;background:#ffffffdd;padding:4px 12px;font-size:12px;letter-spacing:.1em}.rent{margin-top:26px}.rent small,.monthly small,.cost-total small{display:block;font-size:14px}.rent strong,.monthly strong,.cost-total strong{font-size:40px;line-height:1.5;font-weight:600;font-variant-numeric:tabular-nums}.rent strong span,.monthly strong span,.cost-total strong span{font-size:17px;margin-left:10px}.rent p{margin:0;font-size:14px}.features{display:grid;grid-template-columns:repeat(3,1fr);background:#174d47;color:white;margin:40px 0 0;padding:24px}.features>div{text-align:center;border-right:1px solid #ffffff38}.features>div:last-child{border:0}.features strong{font-size:38px;line-height:1.4}.features strong span{font-size:16px;margin-left:5px}.features p{margin:3px 0;font-size:14px}section{margin-top:90px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-head p{font-size:14px}.section-head .eyebrow{font-size:12px}h2{font-family:"Yu Mincho",serif;font-size:30px;font-weight:500;line-height:1.6;margin:6px 0 24px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo{background:white;border:1px solid #e2e8e4;padding:0;cursor:pointer;color:inherit;text-align:left;overflow:hidden}.photo img{width:100%;height:300px;object-fit:contain;background:#f0f2ef;display:block;transition:transform .3s}.photo:hover img{transform:scale(1.02)}.photo span{display:flex;justify-content:space-between;padding:12px 16px;font-size:14px}.photo b{font-weight:normal}.details,.cost{display:grid;grid-template-columns:42% 58%;gap:0}.details>div,.cost>div:first-child{padding-right:40px}.monthly{background:#e7f0eb;padding:24px;margin-top:30px}.muted,.note{color:#61736c}.note{font-size:13px;line-height:1.9}.monthly p{margin:8px 0 0}dl{margin:0}dl>div{display:grid;grid-template-columns:43% 57%;padding:14px 0;border-bottom:1px solid #dce3dc;font-size:14px}dt{color:#61736c}dd{margin:0}.tags{display:flex;flex-wrap:wrap;gap:12px}.tags span{padding:10px 18px;background:#e8f0ec;border-radius:4px;font-size:15px}.cost{background:#edf3ef;padding:40px;margin-top:70px}.cost-total{margin-top:30px}.cost-total p{font-size:14px}.location-grid{display:grid;grid-template-columns:35% 65%;background:#eaf1ed}.location-copy{padding:32px}.location-copy h3{font-size:24px;margin:20px 0 10px}.location-copy p{font-size:14px}.location-copy a{display:block;margin-top:18px;font-size:14px}.location-grid iframe{border:0;width:100%;height:450px}.contact{text-align:center;padding:55px 20px;border-top:1px solid #cedbd4;margin-bottom:60px}.contact p{font-size:15px}footer{padding:35px 5%;background:#123c37;color:#dce9e2;font-size:12px}footer strong{letter-spacing:.15em}dialog{background:#12251ff5;color:#fff;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:60px;position:fixed}dialog::backdrop{background:#000d}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;max-width:85%;text-align:center}dialog img{max-width:100%;height:auto;max-height:80dvh;object-fit:contain}dialog button{background:#fff;color:#163c3b;border:0;border-radius:6px;padding:10px 18px;cursor:pointer;font-size:22px}#close{position:absolute;right:20px;top:16px;font-size:14px}#prev{position:absolute;left:14px}#next{position:absolute;right:14px}button:focus-visible,a:focus-visible{outline:3px solid #dca849;outline-offset:4px}@media(max-width:700px){header{height:65px;padding:0 16px}.brand{font-size:16px}.brand span{font-size:11px;margin-left:4px}nav{gap:12px;font-size:12px}main{padding:0 18px}.availability{display:block;margin:16px 0}.availability span{display:block;font-size:13px}.hero{display:flex;flex-direction:column;margin-top:16px}.hero-copy{padding:8px 0 20px;width:100%}h1{font-size:38px;margin:18px 0}.hero-photo{width:100%}.hero-photo img{height:440px;object-position:center}.rent strong{font-size:36px}.features{padding:20px 4px;margin-top:24px}.features strong{font-size:30px}.features p{font-size:11px}.features strong span{font-size:13px}section{margin-top:55px}h2{font-size:26px}.section-head{display:block}.section-head>p{margin:0}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.photo img{height:210px}.photo span{font-size:12px;padding:8px}.details,.cost{display:block}.details>div,.cost>div:first-child{padding:0}.details dl{margin-top:24px}.cost{padding:24px 18px}.cost dl{margin-top:24px}.location-grid{display:block}.location-copy{padding:24px}.location-grid iframe{height:350px}dialog{padding:55px 35px}dialog button{padding:6px 10px}#prev{left:3px}#next{right:3px}dialog figure{max-width:100%}.contact{padding:36px 0}}

.map-preview{position:relative;min-width:0;height:450px;overflow:hidden}.map-preview iframe{display:block;pointer-events:none;height:100%;width:100%}.map-open{position:absolute;inset:0;display:block}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;align-items:center;flex-direction:column;filter:drop-shadow(0 2px 3px #0004)}.map-pin>span{background:#b62722;color:white;border-radius:4px;padding:3px 13px;white-space:nowrap;font-size:14px;font-weight:bold}.map-pin svg{display:block}.map-hint{position:absolute;right:12px;bottom:32px;background:#fff;padding:7px 12px;border-radius:4px;font-size:12px;box-shadow:0 1px 6px #0002}@media(max-width:700px){.map-preview{height:350px}.map-preview iframe{height:100%}}

/* A single consultation action, with room for device safe areas. */
body.has-consultation{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
.consultation-dock{position:fixed;bottom:0;left:0;right:0;z-index:8;padding:10px 18px calc(12px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #dce6e1;box-shadow:0 -4px 18px #153f3910}
.consultation-dock>div{max-width:600px;margin:auto}.consultation-hint{font-size:12px;text-align:center;color:#546c66;margin:0 0 6px}
.consultation-button{display:flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 18px;border-radius:8px;background:#175650;color:#fff;text-decoration:none;font-size:15px;font-weight:600;text-align:center;cursor:pointer}
.consultation-button:hover{background:#12463f}.consultation-button[aria-busy=true]{opacity:.7;cursor:wait}.contact .consultation-button{max-width:420px;margin:14px auto}.contact .note{font-size:12px}
@media(max-width:380px){.consultation-button{font-size:14px;padding:11px 9px}.consultation-hint{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Small, optional similar-property cards. */
#recommendations[hidden]{display:none}#recommendations{border-top:1px solid #d7e3df;padding-top:38px}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.recommendation-card{display:block;color:inherit;text-decoration:none;border:1px solid #d7e3df;border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .2s}.recommendation-card:hover{box-shadow:0 8px 22px #174e4b18}.recommendation-card:focus-visible{outline:3px solid #398b83;outline-offset:3px}.recommendation-image{position:relative;aspect-ratio:4/3;background:#eef3f1;overflow:hidden}.recommendation-image img{width:100%;height:100%;object-fit:cover}.recommendation-image span{position:absolute;bottom:0;left:0;right:0;padding:6px 10px;background:#143f3cdd;color:white;font-size:11px}.recommendation-no-photo{display:grid;place-items:center;font-size:13px}.recommendation-body{padding:17px}.recommendation-body h3{font-size:17px;line-height:1.5;margin:9px 0}.recommendation-body p{font-size:13px;margin:6px 0;line-height:1.6}.recommendation-body .recommendation-reasons{font-size:11px;color:#246b63}.recommendation-body .recommendation-price{font-size:25px;font-weight:600;color:#174e4b}.recommendation-price small{font-size:12px;font-weight:400;margin-left:4px}.recommendation-open{display:block;font-size:13px;margin-top:15px;color:#174e4b}.recommendation-body .note{font-size:11px}@media(max-width:700px){.recommendation-grid{grid-template-columns:1fr}.recommendation-card{display:grid;grid-template-columns:110px minmax(0,1fr)}.recommendation-image{aspect-ratio:auto;height:100%;min-height:155px}.recommendation-body{padding:12px}.recommendation-body h3{font-size:15px}.recommendation-body .recommendation-price{font-size:22px}}

#recommendations.recommendations-ended{margin-top:24px;border-top:0;padding:24px;background:#edf3ef;border-radius:12px}#recommendations.recommendations-ended h2{margin-bottom:12px}@media(max-width:700px){#recommendations.recommendations-ended{margin-top:16px;padding:18px 12px}#recommendations.recommendations-ended h2{font-size:23px}}
