*{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}}
