/* Final visual system: readable local type, restrained navy/ivory palette. */
:root{--ink:#173344;--muted:#526673;--gold:#927446;--line:#dfe5e7;--reading-font:"Noto Sans TC","Microsoft JhengHei","PingFang TC",Arial,sans-serif;--display-font:"Noto Serif TC","Songti TC","PMingLiU",serif}
html[lang=ja]{--reading-font:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif;--display-font:"Yu Mincho","Hiragino Mincho ProN",serif}
html[lang=en]{--reading-font:"Segoe UI",Arial,sans-serif;--display-font:Georgia,"Times New Roman",serif}
html{scroll-padding-top:140px}body{font-size:17px;line-height:1.85}main p,main li,main dd{line-height:1.85}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
html body h1,html body h2{font-weight:600!important;letter-spacing:.025em}html[lang=en] body h1,html[lang=en] body h2{font-family:var(--display-font)!important;letter-spacing:-.025em}
html body h3{font-weight:650;line-height:1.5}html body .container{width:min(1200px,calc(100% - 64px))}html body .section{padding-block:80px}
html body .section-kicker{font-size:13px;line-height:1.6;letter-spacing:.16em;font-weight:700}
html body .nav-shell{min-height:82px;height:auto;gap:24px;padding-block:12px}.header .logo-type strong{font-size:24px!important;letter-spacing:.08em}.header .logo-seal{width:46px;height:46px;flex-basis:46px}.desktop-nav{gap:18px}.desktop-nav a{font-size:14px!important;font-weight:600;white-space:nowrap}.nav-cta{margin-left:auto;flex-shrink:0}.language-switch a{min-height:40px;display:flex;align-items:center;justify-content:center;font-size:14px}.announcement-inner{font-size:11px!important;min-height:30px!important}
.desktop-nav a[aria-current=page]{color:#765b2e;border-bottom:1px solid #927446}.menu-button{min-width:44px;min-height:44px}.desktop-nav .recruit-link{background:none;font-weight:600;padding-inline:0;color:inherit}
html body .button{border-radius:8px;font-size:16px;min-height:48px;line-height:1.5;letter-spacing:0;padding:13px 22px;font-weight:650;box-shadow:none}.button:hover{box-shadow:0 8px 22px #12374b15}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c19146;outline-offset:4px}
.home-premium-2026 .hero:after{display:none}.home-premium-2026 .hero,.home-premium-2026 .hero-content{min-height:620px}.home-premium-2026 .hero-content{grid-template-columns:minmax(0,1fr) 280px;gap:72px;padding-block:64px}.home-premium-2026 .hero-copy{padding:0}.home-premium-2026 .hero-copy h1{font-size:clamp(38px,4.1vw,58px);line-height:1.4;letter-spacing:.03em;margin:20px 0 24px}.home-premium-2026 .hero-copy>p{font-size:18px;max-width:620px;line-height:1.9}.home-premium-2026 .hero-shade{background:linear-gradient(90deg,rgba(6,30,44,.87),rgba(6,30,44,.62) 55%,rgba(6,30,44,.12))}.home-premium-2026 .hero-card{padding:28px;align-self:center;margin:0;border:1px solid #ffffff65;border-top:3px solid #b99a65;border-radius:8px;background:#fffffff0}.home-premium-2026 .hero-card h2{font-size:22px}.home-premium-2026 .hero-card p{font-size:15px;line-height:1.85}.home-premium-2026 .hero-card a{font-size:15px}.home-premium-2026 .hero-proof{gap:18px;margin-top:32px}.home-premium-2026 .hero-proof strong{font-size:13px}.hero-scroll{display:none}
.home-premium-2026 .service-paths{padding-block:36px}.service-path-grid a{border-radius:8px}.home-premium-2026 .service-path-grid h2{font-size:24px}.home-premium-2026 .photo-inspiration{padding-block:80px}.photo-story{border-radius:10px;overflow:hidden}.photo-story h3{font-size:22px}.photo-story-copy{padding:24px}.photo-story-number{color:#765b2e}.home-premium-2026 .home-rentals-feature{background:#f6f5f1;padding-block:80px}.home-premium-2026 .home-rental-card{border-radius:10px;overflow:hidden;border:1px solid #dde3e5;box-shadow:none}.home-premium-2026 .home-rental-card>img{object-fit:cover;aspect-ratio:16/10;filter:none}.home-premium-2026 .home-rental-copy{padding:28px}.home-premium-2026 .home-rental-copy strong{color:#75572c;font-size:24px}.home-premium-2026 .home-rental-tag{font-size:13px;letter-spacing:0}.home-premium-2026 .home-rental-tag.commercial{color:#fff}.listing-freshness{color:#536772;font-size:14px!important;margin-top:24px}
.home-premium-2026 .home-business{padding-block:80px}.home-premium-2026 .section-title-row h2,.home-premium-2026 .home-rentals-head h2,.photo-section-head h2,.home-premium-2026 .estate-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.45}.feature-card,.review-cards article{border-radius:10px;overflow:hidden}.estate-hero{min-height:440px}.estate-hero-content{padding-block:66px}.estate-hero h1{max-width:930px;font-size:clamp(34px,4vw,52px);line-height:1.45}.estate-quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.estate-hero-tags{margin-top:20px}.rental-listings{background:#f6f5f1}.rental-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.rental-card{min-width:0;background:#fff;border:1px solid #dfe5e7;border-radius:12px;overflow:hidden;box-shadow:0 12px 36px #17334408;scroll-margin-top:130px}.rental-media{height:auto;position:relative}.rental-media>img{width:100%;height:auto!important;aspect-ratio:4/3;object-fit:cover!important}.rental-body{padding:28px}.rental-body h3{font-size:25px}.rental-price strong{font-size:34px;color:#75572c}.rental-points{padding-left:20px}.rental-points li{font-size:16px;line-height:1.85;margin-bottom:8px}.rental-address,.rental-caution{font-size:14px!important;line-height:1.8}.rental-actions{gap:12px;flex-wrap:wrap}.rental-actions .button{flex:1 1 180px}.rental-actions .text-link{font-size:14px}.rental-badge{font-size:14px}.property-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 12px 0}.gallery-tile{min-width:0;display:block;background:#f4f5f3;border-radius:4px;overflow:hidden;border:1px solid #e1e6e6}.gallery-tile img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:filter .2s}.gallery-tile:hover img{filter:brightness(1.08)}.gallery-tile span{display:block;font-size:12px;line-height:1.5;padding:7px 8px;color:#284b5f}.property-photo-note{font-size:12px!important;line-height:1.7!important;color:#536772;padding:0 16px;margin:12px 0 0}.rental-faq{background:#fff}.rental-faq .review-faq{max-width:900px}.review-faq summary{min-height:48px;font-size:18px}.gallery-dialog{width:min(1080px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);border:0;border-radius:10px;padding:16px;background:#102a3b;color:#fff;overflow:auto}.gallery-dialog::backdrop{background:#00101de8}.gallery-dialog-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.gallery-dialog-header p{margin:0;font-size:16px}.gallery-dialog button{border:1px solid #7692a4;border-radius:6px;color:#fff;background:#203f52;min-width:48px;min-height:44px;padding:8px 16px;font-size:16px;cursor:pointer}.gallery-dialog img{width:100%;height:65dvh;object-fit:contain}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:12px}.gallery-counter{font-size:14px}.page-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.4}.content-panel,.polished-form,.contact-aside{border-radius:10px}.content-panel p,.content-panel li{max-width:80ch}.polished-form input,.polished-form select,.polished-form textarea{border-radius:6px;border:1px solid #aebdc6;min-height:48px;background:#fff}.polished-form label{line-height:1.7}.breadcrumbs{font-size:13px;padding-block:16px}.complete-footer{padding-top:56px}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer p,.footer a{font-size:14px;line-height:1.85}
@media(max-width:1380px){html body .desktop-nav{display:none!important}html body .menu-button{display:flex!important}.nav-cta{margin-left:auto}.mobile-menu.open{max-height:calc(100dvh - 150px)}}
@media(max-width:1000px){.home-premium-2026 .hero-content{display:block;min-height:0;padding-block:72px}.home-premium-2026 .hero{min-height:0}.home-premium-2026 .hero-card{display:none}.home-premium-2026 .hero-copy{max-width:740px}.rental-grid{gap:20px}.rental-body{padding:22px}.rental-price strong{font-size:29px}.property-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){html{scroll-padding-top:145px}html body .container{width:calc(100% - 36px)}html body .section,.home-premium-2026 .home-rentals-feature,.home-premium-2026 .home-business,.home-premium-2026 .photo-inspiration{padding-block:52px}.header .logo-type strong{font-size:22px!important}.header .logo-type-en strong{font-size:18px!important;letter-spacing:0}.header .logo-seal{width:38px;height:38px;flex-basis:38px}.header .nav-shell{min-height:76px;gap:12px}.home-premium-2026 .hero-content{padding-block:48px}.home-premium-2026 .hero-copy h1{font-size:36px;line-height:1.5;letter-spacing:.025em}.home-premium-2026 .hero-copy>p{font-size:17px;line-height:1.9}.home-premium-2026 .hero-buttons{gap:10px}.home-premium-2026 .hero-proof{display:none}.home-premium-2026 .hero-shade{background:linear-gradient(90deg,#061e2cdd,#061e2ca8)}.photo-story-media{aspect-ratio:16/11}.photo-story-copy{padding:22px}.home-premium-2026 .home-rental-copy{padding:24px}.home-premium-2026 .home-rental-copy h3{font-size:23px}.home-premium-2026 .home-rental-card>img{aspect-ratio:4/3}.rental-grid{grid-template-columns:1fr;gap:32px}.property-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.rental-media>img{aspect-ratio:4/3}.rental-body{padding:24px 20px}.rental-body h3{font-size:24px}.estate-hero,.estate-hero-content{min-height:0}.estate-hero-content{padding-block:48px}.estate-hero h1{font-size:34px}.estate-hero-content>p{font-size:17px}.estate-quick-actions .button{flex:1 1 100%}.gallery-dialog{padding:12px}.gallery-dialog img{height:55dvh}.gallery-dialog-header p{font-size:14px}.gallery-controls button{font-size:14px;padding:8px 12px}.home-premium-2026 .service-path-grid h2{font-size:23px}.gallery-tile span{font-size:11px;padding:6px}.rental-card{scroll-margin-top:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.home-rental-card:hover{transform:none!important}}

.home-premium-2026 .hero-card:after{display:none}.home-premium-2026 .button{border-radius:8px!important}.rental-overview{padding:24px 28px 18px}.rental-overview h3{font-size:25px;margin:5px 0 14px}.rental-overview .rental-location{margin:0;color:#526673;font-size:14px}.rental-overview .rental-price{margin:0 0 14px}.rental-overview .rental-specs{margin:0}.rental-card{scroll-margin-top:0}@media(max-width:760px){.rental-overview{padding:24px 20px 18px}.rental-overview h3{font-size:23px}}

@media(max-width:400px){html[lang=en] .home-premium-2026 .hero-copy h1{font-size:32px;line-height:1.35;letter-spacing:-.025em}}
/* Prevent stretched grid media from deriving an oversized width from its aspect ratio. */
.home-premium-2026 .feature-main{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
.home-premium-2026 .feature-main>div{min-width:0;width:100%}
.home-premium-2026 .feature-image{aspect-ratio:auto;position:relative;align-self:stretch;height:auto}
.home-premium-2026 .feature-image>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover}
.home-premium-2026 .feature-copy{padding:clamp(28px,3.3vw,48px);overflow-wrap:anywhere}
.feature-footer{gap:16px;flex-wrap:wrap}.feature-footer .round-link{flex-shrink:0}
@media(max-width:900px){.home-premium-2026 .feature-main{grid-template-columns:minmax(0,1fr)}.home-premium-2026 .feature-image{aspect-ratio:4/3;align-self:start}.home-premium-2026 .feature-copy{padding:28px}}
.home-premium-2026 .feature-copy h3{font-size:clamp(26px,2.25vw,32px);line-height:1.5}
.home-premium-2026 .feature-copy>p:not(.feature-number){font-size:16px;line-height:1.85}
.home-premium-2026 .feature-specs span{font-size:13px;line-height:1.65}
