.apt-banner{background-size:cover;background-position:center;color:#fff;padding:9rem 0 3.5rem}
.apt-banner h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin:.3rem 0}
.crumbs{font-size:.85rem;opacity:.85}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--gold)}
.apt-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:3rem;padding:3rem 0 2rem;align-items:start}
.apt-main h2,.apt-others h2{font-size:1.3rem;margin:2rem 0 .8rem}
.apt-intro{font-size:1.05rem;color:#334b49}
.amen{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.2rem}
.amen li{padding-left:1.5rem;position:relative}
.amen li::before{content:'';position:absolute;left:0;top:.55em;width:.7rem;height:.4rem;border:solid var(--gold);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.apt-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.apt-gallery figure{aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--line)}
.apt-gallery img{width:100%;height:100%;object-fit:cover}
.apt-book{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.4rem;display:grid;gap:.9rem}
.apt-price strong{font-size:1.6rem}
.apt-book form{display:grid;gap:.8rem}
.apt-book label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:500;min-width:0}
.apt-book input,.apt-book select{min-width:0;max-width:100%;min-height:2.6rem;-webkit-appearance:none;appearance:none;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
.apt-note{font-size:.82rem;color:#5d7270}.apt-note a{color:var(--deep);font-weight:500}
.apt-others{padding-bottom:4rem}
.others-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.other{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.other img{width:100%;aspect-ratio:16/10;object-fit:cover}
.other span{display:block;padding:.8rem 1rem}.other small{display:block;color:#5d7270}
.other:hover{border-color:var(--gold)}
@media (max-width:900px){.apt-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.apt-book{position:static;order:-1}.others-grid{grid-template-columns:minmax(0,1fr)}.apt-banner{padding-top:7.5rem}}
@media (max-width:520px){.amen{grid-template-columns:minmax(0,1fr)}}

.room-gal{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(110px,15vw,160px);gap:.7rem;margin-bottom:1.6rem}
.room-gal .g-item{aspect-ratio:auto;height:100%}
.room-gal .g-item:first-child{grid-column:span 2;grid-row:span 2}
.room-gal.n1{grid-template-columns:minmax(0,1fr);grid-auto-rows:clamp(200px,32vw,380px)}.room-gal.n1 .g-item:first-child{grid-column:auto;grid-row:auto}
.room-gal.n2{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(160px,24vw,280px)}.room-gal.n2 .g-item:first-child{grid-column:auto;grid-row:auto}
.fac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.fac{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;min-width:0}
.fac i{font-style:normal;font-size:1.35rem;line-height:1;flex:none}.fac span{font-size:.93rem;font-weight:500}
@media (max-width:900px){.fac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.room-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:110px}.room-gal .g-item:first-child{grid-column:span 2;grid-row:span 2}.room-gal.n1,.room-gal.n2{grid-auto-rows:190px}.fac-grid{grid-template-columns:minmax(0,1fr)}}
