  :root{
    --navy:#123C61; --navy-2:#0D2C48; --navy-3:#1B4C78;
    --teal:#14A39A; --teal-soft:#E3F5F3;
    --paper:#FAFAF7; --white:#fff; --line:#E3E8EE; --muted:#5B6F84; --faint:#94A6B8;
    --c-view:#2F7FD1;  --c-view-s:#E2EEFB;
    --c-quiet:#1E9A8C; --c-quiet-s:#DDF3F0;
    --c-twin:#7C5CBF;  --c-twin-s:#ECE6F8;
    --c-cozy:#D9902B;  --c-cozy-s:#FBEEDA;
    --warn:#B5651D; --warn-s:#FDF1E3; --err:#C0453B; --err-s:#FBEAE8;
    --radius:18px; --shadow:0 6px 24px rgba(13,44,72,.10);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Sarabun','Noto Sans KR','Noto Sans SC',system-ui,sans-serif;background:var(--paper);color:var(--navy);line-height:1.55;}
  body.ko{font-family:'Noto Sans KR',system-ui,sans-serif;}
  body.zh{font-family:'Noto Sans SC',system-ui,sans-serif;}
  a{color:inherit;}
  button,input,select,textarea{font:inherit;color:inherit;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
  .serif{font-family:'Fraunces',serif;}
  [hidden]{display:none!important;}

  /* top bar */
  .topbar{position:absolute;top:0;left:0;right:0;z-index:10;}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:16px;gap:12px;}
  .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:'Fraunces',serif;font-weight:600;font-size:17px;}
  .brand img{width:42px;height:42px;border-radius:50%;background:#fff;}
  .nav{display:flex;gap:4px;align-items:center;}
  .nav a{color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:7px 11px;border-radius:999px;}
  .nav a:hover{background:rgba(255,255,255,.15);}
  .langs{display:flex;background:rgba(13,44,72,.55);backdrop-filter:blur(6px);border-radius:999px;padding:3px;margin-left:6px;}
  .langs a{color:#fff;text-decoration:none;font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;}
  .langs a.on{background:#fff;color:var(--navy);}

  /* hero */
  .hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy) url('/hero.webp') center 35%/cover no-repeat;}
  .hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,44,72,.82) 0%,rgba(13,44,72,.5) 42%,rgba(13,44,72,0) 72%),linear-gradient(180deg,rgba(13,44,72,.45) 0%,rgba(13,44,72,0) 25%,rgba(13,44,72,0) 50%,rgba(13,44,72,.8) 100%);}
  .hero .wrap{position:relative;padding-bottom:120px;width:100%;}
  .eyebrow{display:inline-block;background:var(--teal);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:14px;}
  h1{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(38px,7vw,66px);line-height:1.05;margin-bottom:12px;text-shadow:0 2px 14px rgba(0,0,0,.3);}
  .lead{font-size:clamp(16px,2.2vw,19px);max-width:560px;opacity:.96;text-shadow:0 2px 12px rgba(0,0,0,.3);}

  /* search card */
  .search{position:relative;z-index:5;margin-top:-80px;}
  .search .card{background:#fff;border-radius:var(--radius);box-shadow:0 14px 40px rgba(13,44,72,.18);padding:16px;display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:12px;align-items:end;}
  .field{min-width:0;}
  .field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.4px;}
  .field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;min-height:46px;border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;background:#fff;font-size:15px;}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,163,154,.15);}
  .diet-opts{display:flex;flex-wrap:wrap;gap:6px;}
  .field .dopt{display:inline-flex;font-size:14px;color:var(--navy);text-transform:none;letter-spacing:0;font-weight:500;margin:0;}
  .field .dopt:has(input:checked){color:#fff;}
  .dopt{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line, #DCE3EA);border-radius:999px;padding:7px 12px;font-size:14px;cursor:pointer;color:var(--navy);}
  .field .dopt input{width:16px;height:16px;min-height:0;margin:0;padding:0;-webkit-appearance:auto;appearance:auto;flex:none;}
  .dopt:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy);}
  .check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer;grid-column:1/-1;color:var(--muted);}
  .check input{width:18px;height:18px;accent-color:var(--teal);}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;text-decoration:none;font-weight:700;font-size:15px;padding:12px 20px;border-radius:12px;transition:transform .12s,box-shadow .12s,background .12s;}
  .btn:hover{transform:translateY(-1px);}
  .btn svg{width:19px;height:19px;flex:none;}
  .btn-primary{background:var(--navy);color:#fff;}
  .btn-primary:hover{background:var(--navy-2);box-shadow:0 6px 16px rgba(13,44,72,.25);}
  .btn-teal{background:var(--teal);color:#fff;}
  .btn-wa{background:#25D366;color:#fff;}
  .btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--navy);}
  .btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none;}
  .search-msg{margin-top:10px;font-size:14px;color:var(--muted);min-height:20px;}
  .search-msg.err{color:var(--err);font-weight:600;}

  .closed-note{background:var(--warn-s);color:var(--warn);border-radius:12px;padding:12px 14px;font-weight:600;margin-top:14px;}

  section{padding:64px 0;}
  h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(26px,4vw,36px);margin-bottom:6px;}
  .sub{color:var(--muted);margin-bottom:26px;max-width:680px;}

  /* rooms */
  .rooms{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  .room-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);}
  .room-card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1;}
  .type-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
  .type-dot i{width:10px;height:10px;border-radius:3px;display:inline-block;}
  .room-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:21px;line-height:1.2;}
  .room-card .tag{color:var(--muted);font-size:15px;}
  .facts{display:flex;flex-wrap:wrap;gap:6px;}
  .facts span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:500;}
  .price-row{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
  .price{font-weight:700;font-size:18px;}
  .price small{display:block;font-weight:500;font-size:12.5px;color:var(--muted);}
  .left{font-size:13px;font-weight:700;color:var(--teal);}
  .left.none{color:var(--err);}

  /* carousel */
  .car{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#DCE6F0,#EEF3F8);}
  .car .track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:100%;scrollbar-width:none;}
  .car .track::-webkit-scrollbar{display:none;}
  .car .slide{flex:0 0 100%;scroll-snap-align:start;height:100%;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:14px;}
  .car .slide img{width:100%;height:100%;object-fit:cover;display:block;}
  .car .arr{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.9);cursor:pointer;font-size:18px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;}
  .car .arr.l{left:10px;} .car .arr.r{right:10px;}
  .car .count{position:absolute;bottom:10px;right:10px;background:rgba(13,44,72,.7);color:#fff;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;}
  .car .ph-ph{display:flex;flex-direction:column;align-items:center;gap:6px;}
  .car .ph-ph svg{width:40px;height:40px;opacity:.5;}

  /* floor plan */
  .plan-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px;align-items:start;}
  .floors{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
  .floor-btn{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:9px 14px;cursor:pointer;text-align:left;min-width:120px;}
  .floor-btn b{display:block;font-size:16px;}
  .floor-btn span{font-size:12.5px;color:var(--muted);}
  .floor-btn.on{background:var(--navy);border-color:var(--navy);color:#fff;}
  .floor-btn.on span{color:#C9D6E3;}
  .floor-btn .rec{display:inline-block;background:var(--teal);color:#fff;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px;}
  .plan-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:var(--shadow);}
  svg.plan{width:100%;height:auto;display:block;}
  .plan .room{cursor:pointer;}
  .plan .room:focus{outline:none;}
  .plan .room:focus .box,.plan .room:hover .box{stroke-width:4;}
  .plan .room.sel .box{stroke:var(--navy)!important;stroke-width:5;}
  .plan .room.off{cursor:not-allowed;}
  .plan-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:13px;color:var(--muted);margin-top:10px;}
  .plan-legend i{display:inline-block;width:13px;height:13px;border-radius:3px;vertical-align:-2px;margin-right:5px;border:2px solid;}
  .plan-hint{background:var(--teal-soft);color:#0E6F69;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;margin-bottom:12px;}
  .stairs-warn{background:var(--warn-s);color:var(--warn);border-radius:12px;padding:10px 12px;font-size:14px;font-weight:600;margin-bottom:12px;}
  .floor-list{display:flex;flex-direction:column;gap:8px;}
  .fl-item{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;text-align:left;width:100%;}
  .fl-item:hover{border-color:var(--navy);}
  .fl-item .num{font-family:'Fraunces',serif;font-size:22px;font-weight:600;width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;}
  .fl-item .t{flex:1;min-width:0;}
  .fl-item .t b{display:block;font-size:15px;}
  .fl-item .t span{font-size:13px;color:var(--muted);}
  .fl-item .p{font-weight:700;text-align:right;font-size:15px;}
  .fl-item .p small{display:block;font-weight:500;font-size:12px;color:var(--muted);}
  .fl-item.off{opacity:.55;cursor:not-allowed;}
  .fl-item.sel{border-color:var(--navy);box-shadow:0 0 0 2px var(--navy) inset;}

  /* info */
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
  .card .ico{width:42px;height:42px;border-radius:12px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;margin-bottom:12px;}
  .card .ico svg{width:22px;height:22px;}
  .card h3{font-size:17px;font-weight:700;margin-bottom:4px;}
  .card p{color:var(--muted);font-size:15px;}
  .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-top:22px;}
  .gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block;}

  .loc{display:grid;grid-template-columns:1fr 1.2fr;gap:22px;}
  .loc .card{display:flex;flex-direction:column;gap:14px;}
  .map{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);min-height:320px;background:#E6ECF2;}
  .map iframe{width:100%;height:100%;min-height:320px;border:0;display:block;}
  .contact a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;padding:5px 0;}
  .contact svg{width:18px;height:18px;color:var(--teal);}

  footer{background:var(--navy-2);color:#C9D6E3;padding:32px 0;font-size:14px;}
  footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center;}
  footer img{width:46px;height:46px;border-radius:50%;background:#fff;}
  .foot-brand{display:flex;gap:12px;align-items:center;color:#fff;font-family:'Fraunces',serif;font-size:16px;}

  /* sheet / modal */
  .overlay{position:fixed;inset:0;background:rgba(13,44,72,.5);z-index:50;display:none;align-items:center;justify-content:center;padding:16px;}
  .overlay.open{display:flex;}
  .sheet{background:#fff;border-radius:22px;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.3);position:relative;}
  .sheet .x{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.95);box-shadow:var(--shadow);cursor:pointer;font-size:18px;}
  .sheet .inner{padding:18px 20px 20px;}
  .sheet h3{font-family:'Fraunces',serif;font-weight:600;font-size:24px;line-height:1.15;}
  .sheet .meta{color:var(--muted);font-size:14px;margin:4px 0 12px;}
  .opt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;margin-bottom:8px;}
  .opt input{width:18px;height:18px;accent-color:var(--navy);}
  .opt .lbl{flex:1;}
  .opt .lbl b{display:block;}
  .opt .lbl span{font-size:13px;color:var(--muted);}
  .opt .amt{font-weight:700;font-size:17px;text-align:right;}
  .opt .amt small{display:block;font-size:12px;font-weight:500;color:var(--muted);}
  .opt.on{border-color:var(--navy);background:#F4F8FC;}
  .policy{border-radius:14px;padding:12px 14px;font-size:14px;margin:10px 0;}
  .policy.hs{background:var(--c-twin-s);color:#4E3590;}
  .policy.normal{background:var(--teal-soft);color:#0E6F69;}
  .policy b{display:block;margin-bottom:2px;}
  .summary{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px;margin-bottom:12px;}
  .summary .row{display:flex;justify-content:space-between;gap:10px;padding:2px 0;}
  .summary .row span:first-child{color:var(--muted);}
  .summary .total{border-top:1px solid var(--line);margin-top:6px;padding-top:6px;font-weight:700;font-size:16px;}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
  .form-grid .full{grid-column:1/-1;}
  .err-box{background:var(--err-s);color:var(--err);border-radius:12px;padding:10px 12px;font-weight:600;font-size:14px;margin-top:10px;}
  .warn-box{background:var(--warn-s);color:var(--warn);border-radius:12px;padding:10px 12px;font-weight:600;font-size:14px;margin:8px 0;}
  .done{text-align:center;padding:10px 4px;}
  .done .big{width:64px;height:64px;border-radius:50%;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;margin:4px auto 10px;font-size:32px;}
  .done .ref{font-family:'Fraunces',serif;font-size:26px;font-weight:600;letter-spacing:1px;margin:6px 0;}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .spin{display:inline-block;width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .8s linear infinite;}
  @keyframes sp{to{transform:rotate(360deg)}}

  @media (max-width:900px){
    .nav a{display:none;}
    .search .card{grid-template-columns:1fr 1fr;}
    .search .card .go{grid-column:1/-1;}
    .rooms{grid-template-columns:1fr;}
    .plan-layout{grid-template-columns:1fr;}
    .grid3{grid-template-columns:1fr 1fr;}
    .loc{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    .brand span{display:none;}
    .hero{min-height:auto;display:block;padding-top:56vh;background-size:auto 60vh;background-position:center top;}
    .hero:before{background:linear-gradient(180deg,rgba(13,44,72,.45) 0%,rgba(13,44,72,0) 20%,rgba(13,44,72,0) 46%,var(--navy) 60%);}
    .hero .wrap{padding-top:10px;padding-bottom:100px;}
    .grid3{grid-template-columns:1fr;}
    .form-grid{grid-template-columns:1fr;}
    .overlay{padding:0;align-items:flex-end;}
    .sheet{border-radius:22px 22px 0 0;max-height:92vh;width:100%;}
    .floor-btn{min-width:0;flex:1;}
    section{padding:48px 0;}
  }

  /* photo / room-plan tabs */
  .media{position:relative;background:#fff;}
  .media .m-pl{display:none;aspect-ratio:4/3;background:#fff;padding:50px 10px 36px;position:relative;}
  .media.show-plan .m-pl{display:block;}
  .media.show-plan .m-ph{display:none;}
  .mtabs{position:absolute;top:10px;left:10px;z-index:3;display:flex;background:rgba(255,255,255,.94);border-radius:999px;padding:3px;box-shadow:0 2px 10px rgba(13,44,72,.18);}
  .mtabs button{border:none;background:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--navy);padding:6px 11px;border-radius:999px;white-space:nowrap;}
  .mtabs button.on{background:var(--navy);color:#fff;}
  .media .m-pl .pfig{width:100%;height:100%;display:block;}
  .pfig .pdim{font:700 28px 'Sarabun',system-ui,sans-serif;fill:#5E574E;}
  .pchip{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700;color:var(--navy);white-space:nowrap;}
  .sheet .media{border-radius:22px 22px 0 0;overflow:hidden;}
  .sheet .mtabs{left:12px;top:12px;}
  .room-card h3 a{text-decoration:none;}
  .room-card h3 a:hover{text-decoration:underline;}
  .room-card .tag a.more{font-weight:700;color:var(--teal);text-decoration:none;white-space:nowrap;}
  .room-card .tag a.more:hover{text-decoration:underline;}
  .lang-sug{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:40;white-space:nowrap;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;box-shadow:0 8px 24px rgba(13,44,72,.3);}

  /* nearby + FAQ */
  .near{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px;}
  .near li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
  .near b{display:block;font-size:15.5px;margin-bottom:3px;}
  .near span{font-size:14px;color:var(--muted);}
  .faq{display:flex;flex-direction:column;gap:10px;max-width:820px;}
  .faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 18px;}
  .faq summary{cursor:pointer;font-weight:700;font-size:16px;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary:after{content:'+';font-size:20px;line-height:1;color:var(--teal);}
  .faq details[open] summary:after{content:'–';}
  .faq details p{color:var(--muted);padding:0 0 16px;font-size:15px;}
  .foot-links{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;}
  .foot-links a{color:#C9D6E3;text-decoration:none;}
  .foot-links a:hover{color:#fff;text-decoration:underline;}

  /* room pages */
  .rp-top{background:var(--navy);color:#fff;}
  .rp-top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px;}
  .rp-top .nav a{display:inline-block;}
  .crumbs{font-size:13.5px;color:var(--muted);margin:22px 0 8px;display:flex;flex-wrap:wrap;gap:6px;}
  .crumbs a{color:var(--muted);}
  .rp-head h1{color:var(--navy);text-shadow:none;font-size:clamp(30px,5vw,46px);margin-bottom:8px;}
  .rp-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:26px;align-items:start;margin:18px 0 10px;}
  .rp-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;}
  .rp-intro{font-size:17px;color:var(--navy);margin:4px 0 16px;max-width:720px;}
  .spec{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:6px 18px;box-shadow:var(--shadow);}
  .spec div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;}
  .spec div:last-child{border-bottom:none;}
  .spec dt{color:var(--muted);} .spec dd{font-weight:700;text-align:right;}
  .rp-cta{background:var(--teal-soft);border-radius:var(--radius);padding:16px 18px;margin-top:14px;}
  .rp-cta .btn{width:100%;margin-top:10px;}
  .rp-cta .price{font-size:20px;}
  .rp-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 0;}
  .ticks{list-style:none;display:flex;flex-direction:column;gap:7px;}
  .ticks li{padding-left:26px;position:relative;font-size:15px;}
  .ticks li:before{content:'✓';position:absolute;left:0;color:var(--teal);font-weight:800;}
  .note{font-size:13px;color:var(--muted);margin-top:8px;}
  .others{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .others a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:var(--shadow);}
  .others img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:#fff;}
  .others img.isplan{object-fit:contain;padding:10px;}
  .others b{display:block;padding:10px 14px 2px;font-size:15.5px;}
  .others span{display:block;padding:0 14px 12px;font-size:13.5px;color:var(--muted);}
  @media (max-width:900px){
    .near{grid-template-columns:1fr 1fr;}
    .rp-grid{grid-template-columns:1fr;}
    .rp-top .nav a{display:none;}
  }
  @media (max-width:560px){
    .near{grid-template-columns:1fr;}
    .rp-cols{grid-template-columns:1fr;}
    .others{grid-template-columns:1fr;}
    .mtabs button{padding:6px 9px;font-size:12.5px;}
    .hero{background-image:url('/hero-800.webp');}
  }

  /* Our rooms: Photos / Floor plan views */
  .vtabs{display:inline-flex;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:4px;margin:0 0 20px;box-shadow:var(--shadow);}
  .vtabs button{border:none;background:none;cursor:pointer;font-size:15px;font-weight:700;color:var(--navy);padding:10px 22px;border-radius:999px;}
  .vtabs button.on{background:var(--navy);color:#fff;}
  .fp{position:relative;line-height:0;}
  .fp-img{width:100%;height:auto;display:block;border-radius:10px;}
  .fp-twin{position:absolute;display:block;}
  .fp-room{position:absolute;border:3px solid var(--c);border-radius:10px;background:color-mix(in srgb, var(--cs) 18%, transparent);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:background .15s, box-shadow .15s;}
  .fp-room:hover,.fp-room:focus-visible{background:color-mix(in srgb, var(--cs) 45%, transparent);outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.8) inset;}
  .fp-room.taken{border-color:#A9B4C0;background:repeating-linear-gradient(45deg,rgba(238,241,244,.72) 0 8px,rgba(213,219,226,.72) 8px 16px);cursor:not-allowed;}
  .fp-room.sel{border-color:var(--navy);border-width:5px;}
  .fp-chip{background:rgba(255,255,255,.96);border-radius:12px;padding:6px 10px;box-shadow:0 4px 14px rgba(13,44,72,.22);display:flex;flex-direction:column;align-items:center;line-height:1.15;color:var(--navy);max-width:92%;}
  .fp-chip b{font-family:'Fraunces',serif;font-size:clamp(17px,2.4vw,26px);font-weight:600;}
  .fp-chip i{font-style:normal;font-size:clamp(10px,1.2vw,12.5px);font-weight:700;color:var(--c);text-align:center;}
  .fp-chip em{font-style:normal;font-size:clamp(10.5px,1.25vw,13px);font-weight:700;margin-top:2px;}
  .fp-room.taken .fp-chip{color:#8C99A6;} .fp-room.taken .fp-chip i{color:#8C99A6;}
  .fp-street{position:absolute;left:0;right:0;bottom:-30px;height:24px;line-height:24px;text-align:center;background:var(--navy);color:#fff;font-size:12px;font-weight:700;border-radius:6px;}
  #planSvg{padding-bottom:32px;}
  .totop{position:fixed;right:18px;bottom:18px;z-index:45;border:none;cursor:pointer;background:var(--navy);color:#fff;font-weight:700;font-size:14px;padding:11px 16px;border-radius:999px;box-shadow:0 8px 24px rgba(13,44,72,.3);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s, transform .2s;}
  .totop.show{opacity:1;pointer-events:auto;transform:none;}
  @media (max-width:560px){
    .vtabs{display:flex;}
    .vtabs button{flex:1;padding:10px 8px;}
    .fp-chip{padding:4px 6px;border-radius:9px;}
    .totop{padding:0;width:46px;height:46px;font-size:20px;}
    .totop span[data-i]{display:none;}
    .lang-sug{bottom:76px;}
  }

  /* Our rooms box: tabs on top of the box, floors below */
  .rbox{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
  .rtabs{display:flex;gap:4px;padding:10px 10px 0;background:#EEF2F6;border-bottom:1px solid var(--line);}
  .rtabs button{border:1px solid transparent;border-bottom:none;background:none;cursor:pointer;font-size:16px;font-weight:700;color:var(--muted);padding:12px 26px;border-radius:14px 14px 0 0;margin-bottom:-1px;}
  .rtabs button:hover{color:var(--navy);}
  .rtabs button.on{background:#fff;color:var(--navy);border-color:var(--line);box-shadow:inset 0 3px 0 var(--teal);}
  .rbody{padding:18px;}
  .rbody .floors{margin-bottom:14px;}
  @media (max-width:560px){
    .rtabs button{flex:1;padding:12px 8px;font-size:15px;}
    .rbody{padding:12px;}
  }

  /* Good to know: 4 cards · café & laundry section */
  .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  #services{padding-top:0;}
  .svc{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;}
  .svc-card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .svc-card h3{font-family:'Fraunces',serif;font-weight:600;font-size:22px;}
  .svc-card p{color:var(--muted);font-size:15px;}
  .svc-ph{aspect-ratio:4/3;background:linear-gradient(135deg,#E3F5F3,#EAF1FB);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--teal);}
  .svc-ph svg{width:72px;height:72px;}
  .svc-ph b{font-family:'Fraunces',serif;font-size:26px;color:var(--navy);}
  .svc-ph span{font-size:14px;color:var(--muted);font-weight:600;}
  .svc-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;}
  .svc-btns .btn{flex:1;}
  @media (max-width:900px){ .grid4{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .grid4{grid-template-columns:1fr;} .svc{grid-template-columns:1fr;} }
