/* Royan Suites Sultanahmet: one fixed cinematic stage, nine chapters along Akbıyık Street, each entered through the Royan window. */
:root{
  --green:#05403a; --green-deep:#021f1b; --gold:#d1a974; --gold-ink:#8a6533;
  --cream:#f1e8d8; --paper:#f5f0e6; --ink:#0f2723; --ink-soft:#4a5c57;
  --f-display:"Marcellus","Cormorant Garamond",Georgia,serif;
  --f-body:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --f-accent:"Cormorant Garamond",Georgia,serif;
  --gutter-l:max(24px, env(safe-area-inset-left, 0px));
  --gutter-r:max(24px, env(safe-area-inset-right, 0px));
  color-scheme:dark;
}
html,body{height:100%}
body{background:var(--green-deep);color:var(--cream);font-family:var(--f-body);font-weight:300;-webkit-font-smoothing:antialiased;padding-left:max(0px, env(safe-area-inset-left, 0px));padding-right:max(0px, env(safe-area-inset-right, 0px))}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.eb{font-family:var(--f-body);font-weight:500;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}

/* ---------- top bar ---------- */
.top{position:fixed;z-index:30;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(18px + env(safe-area-inset-top, 0px)) var(--gutter-r) 18px var(--gutter-l);pointer-events:none}
.top > *{pointer-events:auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:26px;height:auto;display:block}
.brand b{font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:19px;letter-spacing:.14em;color:var(--cream)}
.brand small{display:block;font-size:9.5px;letter-spacing:.42em;color:var(--gold);margin-top:3px;font-weight:500}
.nav{display:flex;align-items:center;gap:26px;white-space:nowrap;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.nav a{text-decoration:none;opacity:.86;transition:opacity .2s}
.nav a:hover{opacity:1}
.nav .book{border:1px solid var(--gold);color:var(--cream);padding:11px 18px;border-radius:999px;opacity:1;background:rgba(5,64,58,.35);backdrop-filter:blur(6px)}
.nav .book:hover{background:var(--gold);color:var(--green-deep)}
.top.paper .brand b,.top.paper .nav a{color:var(--ink)}
.top.paper .nav .book{color:var(--ink);background:transparent;border-color:var(--gold-ink)}
.top.paper .nav .book:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.top.paper .brand small{color:var(--gold-ink)}
.top.paper{background:rgba(245,240,230,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(15,39,35,.08);pointer-events:auto}
.menu-btn{display:none}
@media (max-width:860px){
  .nav a:not(.book):not(.j){display:none}
  .nav{gap:14px;font-size:11.5px;letter-spacing:.12em}
  .nav .book{padding:9px 13px;font-size:11px}
  .brand{gap:9px}.brand img{width:21px}
  .brand b{font-size:14px;letter-spacing:.12em;white-space:nowrap}
  .brand small{font-size:8px;letter-spacing:.36em}
}

/* ---------- home stage ---------- */
#home{position:fixed;inset:0;overflow:hidden;background:var(--green-deep)}
#gl{position:absolute;inset:0;width:100%;height:100%;display:block}
#fallback{position:absolute;inset:0;background-size:cover;background-position:center;display:none}
.shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(2,24,21,.72) 0%,rgba(2,24,21,.35) 34%,rgba(2,24,21,0) 60%),
  linear-gradient(0deg,rgba(2,24,21,.55) 0%,rgba(2,24,21,0) 38%),
  linear-gradient(180deg,rgba(2,24,21,.5) 0%,rgba(2,24,21,0) 18%)}
.js .ch{position:absolute;left:var(--gutter-l);bottom:max(96px, calc(72px + env(safe-area-inset-bottom, 0px)));width:min(760px, calc(100% - 48px));
  visibility:hidden;opacity:0;will-change:transform,opacity;pointer-events:none}
.ch.on{pointer-events:auto}
.ch h1,.ch h2{font-family:var(--f-display);font-weight:400;font-size:clamp(44px, 6.6vw, 96px);line-height:1.02;letter-spacing:.005em;margin:18px 0 0;text-wrap:balance;color:var(--cream)}
.ch h1 em,.ch h2 em{font-family:var(--f-accent);font-style:italic;font-weight:500;color:var(--gold);letter-spacing:0}
.ch p{font-size:clamp(16px, 1.5vw, 19px);line-height:1.6;max-width:44ch;margin:24px 0 0;color:rgba(241,232,216,.9)}
.ch .rule{width:64px;height:1px;background:var(--gold);margin-top:28px}
.ch[data-i="0"]{bottom:auto;top:50%;transform:translateY(-50%)}
.ch[data-i="0"] .lead{display:flex;gap:12px;align-items:center;margin-top:30px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,232,216,.75)}
.ch[data-i="0"] .lead i{display:block;width:34px;height:1px;background:var(--gold)}
.ch.wide{width:min(980px, calc(100% - 48px))}

.know{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;margin-top:30px;max-width:860px}
.know div{border-top:1px solid rgba(209,169,116,.45);padding-top:14px;min-width:0}
.know b{display:block;font-family:var(--f-display);font-weight:400;font-size:21px;color:var(--cream)}
.know span{display:block;font-size:15px;line-height:1.5;margin-top:6px;color:rgba(241,232,216,.8)}

.jcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.jcard{display:block;text-decoration:none;min-width:0}
.jcard .ph{aspect-ratio:16/10;background-size:cover;background-position:center;border-radius:2px;filter:saturate(.95);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.jcard:hover .ph{transform:scale(1.025)}
.jcard small{display:block;margin-top:14px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}
.jcard b{display:block;margin-top:8px;font-family:var(--f-display);font-weight:400;font-size:20px;line-height:1.25;color:var(--cream)}

.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;text-decoration:none;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;transition:background .2s,color .2s}
.btn.solid{background:var(--gold);color:var(--green-deep)}
.btn.solid:hover{background:var(--cream)}
.btn.line{border:1px solid rgba(241,232,216,.55);color:var(--cream)}
.btn.line:hover{border-color:var(--cream);background:rgba(241,232,216,.08)}
.contact{display:flex;flex-wrap:wrap;gap:10px 34px;margin-top:30px;font-size:15px;color:rgba(241,232,216,.85)}
.contact span{user-select:all}
.contact small{display:block;font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;font-weight:500}

/* chapter rail */
.rail{position:absolute;right:var(--gutter-r);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:5}
.rail button{display:flex;align-items:center;justify-content:flex-end;gap:12px;height:26px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(241,232,216,.0);transition:color .3s}
.rail button i{display:block;width:14px;height:1px;background:rgba(241,232,216,.45);transition:width .35s,background .35s}
.rail button.act i{width:36px;background:var(--gold)}
.rail:hover button{color:rgba(241,232,216,.7)}
.rail button.act{color:var(--gold)}
.rail button:focus-visible{color:rgba(241,232,216,.9)}

/* bottom HUD */
.hud{position:absolute;left:var(--gutter-l);right:var(--gutter-r);bottom:calc(26px + env(safe-area-inset-bottom, 0px));display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(241,232,216,.7);pointer-events:none}
.hud .count{font-variant-numeric:tabular-nums}
.hud .count b{color:var(--cream);font-weight:500}
.scrub{display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;transition:opacity .4s;text-align:center}
.scrub.on{opacity:1}
.scrub .bar{display:flex;gap:6px}
.scrub .bar i{display:block;width:22px;height:2px;background:rgba(241,232,216,.28);transition:background .3s,width .3s}
.scrub .bar i.act{background:var(--gold);width:40px}
.scrub .cap{letter-spacing:.2em;color:var(--cream)}
.scrub .cred{letter-spacing:.08em;text-transform:none;font-size:11px;color:rgba(241,232,216,.6)}
.hint{display:flex;align-items:center;gap:12px;transition:opacity .4s}
.hint .mouse{width:16px;height:26px;border:1px solid rgba(241,232,216,.6);border-radius:10px;position:relative}
.hint .mouse::after{content:"";position:absolute;left:50%;top:5px;width:2px;height:5px;margin-left:-1px;background:var(--gold);border-radius:2px;animation:wheel 1.8s infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(7px);opacity:0}100%{opacity:0}}
.loader{position:absolute;inset:0;display:grid;place-items:center;background:var(--green-deep);z-index:40;transition:opacity .9s .1s, visibility 0s 1s}
.loader.done{opacity:0;visibility:hidden}
.loader img{width:min(300px, 60vw);opacity:.95}
.loader .ln{width:min(220px, 50vw);height:1px;background:rgba(209,169,116,.25);margin:26px auto 0;position:relative;overflow:hidden}
.loader .ln i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(0);transition:transform .3s}

/* custom cursor */
.cur{position:fixed;left:0;top:0;z-index:50;pointer-events:none;width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid rgba(209,169,116,.85);border-radius:50%;
  display:grid;place-items:center;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);transition:width .25s,height .25s,margin .25s,background .25s,opacity .3s;opacity:0}
.cur.show{opacity:1}
.cur.big{width:84px;height:84px;margin:-42px 0 0 -42px;background:rgba(5,64,58,.35);backdrop-filter:blur(2px)}
.cur.link{width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--gold);border-color:var(--gold)}
.cur.link span{opacity:0}

@media (max-width:860px){
  .shade{background:linear-gradient(0deg,rgba(2,24,21,.9) 0%,rgba(2,24,21,.55) 40%,rgba(2,24,21,0) 70%),linear-gradient(180deg,rgba(2,24,21,.55) 0%,rgba(2,24,21,0) 20%)}
  .ch{bottom:calc(84px + env(safe-area-inset-bottom, 0px));width:calc(100% - 48px)}
  .ch[data-i="0"]{top:auto;bottom:calc(84px + env(safe-area-inset-bottom, 0px));transform:none}
  .ch h1,.ch h2{font-size:clamp(38px, 11vw, 60px)}
  .ch p{font-size:15.5px;margin-top:16px}
  .rail{display:none}
  .know{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
  .know b{font-size:17px}.know span{font-size:13.5px;margin-top:3px}
  .jcards{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
  .jcard{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center}
  .jcard small{margin-top:0}
  .jcard b{font-size:17px}
  .btn{padding:14px 20px;font-size:12px}
  .contact{font-size:14px;margin-top:20px}
  .hud{justify-content:center}
  .hud .count{display:none}
}
@media (max-height:760px) and (min-width:861px){
  .jcard .ph{aspect-ratio:21/9}
  .ch{bottom:84px}
  .ch h1,.ch h2{font-size:clamp(40px, 6vw, 76px)}
  .know{gap:14px 34px;margin-top:22px}
  .jcards{margin-top:22px}
}

/* ---------- journal & article ---------- */
.doc{min-height:100%;background:var(--paper);color:var(--ink);color-scheme:light}
.doc .wrap{max-width:1180px;margin:0 auto;padding-left:max(24px, env(safe-area-inset-left, 0px));padding-right:max(24px, env(safe-area-inset-right, 0px))}
.jhead{padding-block:150px 40px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;border-bottom:1px solid rgba(15,39,35,.14)}
.jhead h1{font-family:var(--f-display);font-weight:400;font-size:clamp(48px, 8vw, 112px);line-height:.98;margin:16px 0 0;letter-spacing:-.005em;text-wrap:balance}
.jhead h1 em{font-family:var(--f-accent);font-style:italic;font-weight:500;color:var(--gold-ink)}
.jhead p{font-size:18px;line-height:1.6;color:var(--ink-soft);margin:0;max-width:40ch}
.doc .eb{color:var(--gold-ink)}
.filters{display:flex;flex-wrap:wrap;gap:8px;padding-block:22px}
.filters button{padding:10px 16px;border-radius:999px;border:1px solid rgba(15,39,35,.2);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:400}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.feat{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;align-items:center;text-decoration:none;padding-block:18px 56px;border-bottom:1px solid rgba(15,39,35,.14)}
.feat .ph{aspect-ratio:3/2;background-size:cover;background-position:center;overflow:hidden}
.feat h2{font-family:var(--f-display);font-weight:400;font-size:clamp(30px, 3.6vw, 50px);line-height:1.08;margin:14px 0 0;text-wrap:balance}
.feat p{font-size:17px;line-height:1.65;color:var(--ink-soft);margin:18px 0 0}
.more{display:inline-flex;gap:10px;align-items:center;margin-top:24px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--ink)}
.more i{display:block;width:30px;height:1px;background:currentColor;transition:width .3s}
a:hover .more i{width:48px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px;padding-block:52px 90px}
.card{text-decoration:none;display:block;min-width:0}
.card .ph{aspect-ratio:4/3;background-size:cover;background-position:center}
.card h3{font-family:var(--f-display);font-weight:400;font-size:24px;line-height:1.2;margin:16px 0 0}
.card p{font-size:15.5px;line-height:1.6;color:var(--ink-soft);margin:10px 0 0}
.meta{display:flex;gap:14px;align-items:center;margin-top:18px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);font-weight:500}
.card .meta{margin-top:18px}
.ph{transition:filter .4s}
a:hover .ph{filter:brightness(1.04) saturate(1.05)}
.foot{background:var(--green);color:var(--cream);padding-block:64px calc(48px + env(safe-area-inset-bottom, 0px))}
.foot .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:36px;align-items:start}
.foot img{width:190px;display:block}
.foot small{display:block;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:500}
.foot p{margin:0;font-size:15px;line-height:1.65;color:rgba(241,232,216,.86)}
.foot a{color:var(--cream)}
.foot .fine{grid-column:1/-1;border-top:1px solid rgba(209,169,116,.25);padding-top:22px;font-size:12.5px;color:rgba(241,232,216,.6)}

.art-hero{padding-block:140px 0}
.art-hero .back{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--ink-soft)}
.art-hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(40px, 6.4vw, 86px);line-height:1.02;margin:22px 0 0;max-width:16ch;text-wrap:balance}
.art-hero .dek{font-family:var(--f-accent);font-style:italic;font-weight:500;font-size:clamp(22px, 2.4vw, 30px);line-height:1.35;color:var(--ink-soft);margin:22px 0 0;max-width:34ch}
.art-img{margin:48px 0 0;aspect-ratio:21/9;background-size:cover;background-position:center}
.art-cap{font-size:12.5px;color:var(--ink-soft);margin-top:10px}
.art-body{max-width:680px;margin:0 auto;padding-block:56px 40px;font-size:18.5px;line-height:1.75;font-weight:400;color:#1c302c}
.art-body p{margin:0 0 1.15em}
.art-body h2{font-family:var(--f-display);font-weight:400;font-size:28px;line-height:1.2;margin:1.8em 0 .5em;color:var(--ink)}
.art-body blockquote{margin:1.6em 0;padding:0 0 0 0;font-family:var(--f-accent);font-style:italic;font-weight:500;font-size:28px;line-height:1.35;color:var(--green)}
.art-body > p:first-child::first-letter{font-family:var(--f-display);float:left;font-size:4.2em;line-height:.86;padding:6px 12px 0 0;color:var(--green)}
.art-end{max-width:680px;margin:0 auto;padding-block:10px 70px;border-top:1px solid rgba(15,39,35,.14)}
.art-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:28px}
.art-cta b{font-family:var(--f-display);font-weight:400;font-size:24px}
.art-cta .btn.solid{background:var(--green);color:var(--cream)}
.art-cta .btn.solid:hover{background:var(--ink)}
.related{padding-block:20px 90px;border-top:1px solid rgba(15,39,35,.14)}
.related .grid{padding-block:28px 0}

@media (max-width:860px){
  .jhead{grid-template-columns:minmax(0,1fr);padding-block:120px 28px;gap:18px}
  .feat{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:8px 40px}
  .grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:36px 64px}
  .foot .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot .wrap > div:first-child{grid-column:1/-1}
  .art-hero{padding-block:110px 0}
  .art-img{aspect-ratio:4/3;margin-top:32px}
  .art-body{font-size:17px;padding-block:36px 28px}
  .art-body blockquote{font-size:23px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
}
:root:lang(ru){--f-display:"Cormorant Garamond",Georgia,serif}
:root:lang(zh){--f-display:"Noto Serif SC","Songti SC",serif;--f-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--f-accent:"Noto Serif SC","Songti SC",serif}
:root:lang(ja){--f-display:"Noto Serif JP","Hiragino Mincho ProN",serif;--f-body:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--f-accent:"Noto Serif JP","Hiragino Mincho ProN",serif}
:lang(ru) .ch h1,:lang(ru) .ch h2,:lang(ru) .jhead h1,:lang(ru) .art-hero h1,:lang(ru) .feat h2,:lang(ru) .card h3{font-weight:500}
:lang(zh) .ch h1,:lang(zh) .ch h2,:lang(ja) .ch h1,:lang(ja) .ch h2{font-size:clamp(30px, 4.5vw, 64px);line-height:1.24;letter-spacing:.02em;font-weight:500}
:lang(zh) .jhead h1,:lang(ja) .jhead h1,:lang(zh) .art-hero h1,:lang(ja) .art-hero h1{font-size:clamp(34px, 5vw, 66px);line-height:1.2;font-weight:500}
:lang(zh) em,:lang(ja) em,:lang(zh) .ch h1 em,:lang(zh) .ch h2 em,:lang(ja) .ch h1 em,:lang(ja) .ch h2 em,:lang(zh) .jhead h1 em,:lang(ja) .jhead h1 em,:lang(zh) .art-hero .dek,:lang(ja) .art-hero .dek,:lang(zh) .art-body blockquote,:lang(ja) .art-body blockquote{font-style:normal}
:lang(zh) .eb,:lang(ja) .eb,:lang(zh) .nav,:lang(ja) .nav{letter-spacing:.12em}
:lang(zh) .art-body,:lang(ja) .art-body{line-height:1.9}
:lang(zh) .art-body > p:first-child::first-letter,:lang(ja) .art-body > p:first-child::first-letter{float:none;font-size:inherit;padding:0;line-height:inherit;color:inherit}
.langsel{position:relative}
#langBtn{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.16em;padding:10px 2px;opacity:.9;text-transform:uppercase;font-family:var(--f-body)}
#langBtn::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.langmenu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:rgba(3,31,27,.97);border:1px solid rgba(209,169,116,.35);padding:6px;display:grid;gap:2px;z-index:60;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.langmenu a{text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 12px;font-size:14.5px;letter-spacing:.02em;text-transform:none;color:var(--cream);text-align:left;font-family:var(--f-body)}
.langmenu a:hover,.langmenu a:focus-visible,.langmenu a[aria-current="true"]{background:rgba(209,169,116,.16)}
.langmenu a small{color:var(--gold);letter-spacing:.16em;font-size:10.5px;font-weight:500}
.top.paper #langBtn{color:var(--ink)}
.top.paper .langmenu{background:var(--paper);border-color:rgba(15,39,35,.16)}
.top.paper .langmenu a{color:var(--ink)}
.top.paper .langmenu a small{color:var(--gold-ink)}
.top.paper .langmenu a:hover,.top.paper .langmenu a[aria-current="true"]{background:rgba(15,39,35,.07)}
@media (max-width:440px){.nav a.j{display:none}}
.rooms{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0;max-width:560px}
.rooms li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:11px 0;border-top:1px solid rgba(209,169,116,.38)}
.rooms li:last-child{border-bottom:1px solid rgba(209,169,116,.38)}
.rooms b{font-family:var(--f-display);font-weight:400;font-size:19px;color:var(--cream)}
.rooms span{font-size:14px;color:rgba(241,232,216,.88);text-align:right}
.contact a{text-decoration:none;border-bottom:1px solid rgba(209,169,116,.5)}
.wa{position:fixed;z-index:35;right:max(20px, env(safe-area-inset-right, 0px));bottom:calc(78px + env(safe-area-inset-bottom, 0px))}
.doc-on .wa{bottom:calc(22px + env(safe-area-inset-bottom, 0px))}
.wa-btn{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--green-deep);box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .25s}
.wa-btn:hover{transform:scale(1.06)}
.wa-btn svg{width:26px;height:26px}
.wa-pop{position:absolute;right:0;bottom:70px;width:min(340px, calc(100vw - 40px));background:var(--paper);color:var(--ink);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}
.wa-pop header{background:var(--green);color:var(--cream);padding:16px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.wa-pop header b{display:block;font-family:var(--f-display);font-weight:400;font-size:19px}
.wa-pop header small{display:block;margin-top:4px;font-size:12.5px;letter-spacing:.06em;color:var(--gold)}
.wa-pop header button{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:var(--cream)}
.wa-pop header button:hover{background:rgba(241,232,216,.12)}
.wa-body{padding:16px 18px 18px;display:grid;gap:12px}
.wa-body p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-soft)}
.wa-body label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--gold-ink)}
.wa-body textarea{width:100%;box-sizing:border-box;min-height:86px;resize:vertical;border:1px solid rgba(15,39,35,.2);border-radius:8px;padding:10px 12px;font:15px/1.45 var(--f-body);color:var(--ink);background:#fffdf8}
.wa-body textarea:focus{outline:2px solid var(--gold-ink);outline-offset:1px}
.wa-send{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:999px;background:var(--green);color:var(--cream);text-decoration:none;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.wa-send:hover{background:var(--ink)}
@media (max-width:860px){.wa,.doc-on .wa{bottom:calc(16px + env(safe-area-inset-bottom, 0px));right:max(14px, env(safe-area-inset-right, 0px))}.wa-btn{width:50px;height:50px}.rooms b{font-size:16px}.rooms span{font-size:12.5px}.rooms li{padding:8px 0}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---------- production additions ---------- */
[hidden]{display:none!important}
.js.pg-home,.js.pg-home body{overflow:hidden;height:100%}
html:not(.js) #home{position:relative;inset:auto;min-height:100vh;overflow:visible;padding-bottom:80px}
html:not(.js) .ch{position:relative;visibility:visible;opacity:1;margin:0 auto;padding:120px 24px 0;width:auto;max-width:900px;top:auto!important;bottom:auto!important;left:auto;transform:none!important}
html:not(.js) #gl,html:not(.js) #fallback,html:not(.js) .loader,html:not(.js) .hud,html:not(.js) .rail,html:not(.js) .shade,html:not(.js) .cur{display:none}
.skip{position:fixed;left:-9999px;top:10px;z-index:100;background:var(--gold);color:var(--green-deep);padding:10px 16px;border-radius:4px;text-decoration:none;font-size:14px}
.skip:focus{left:16px}
body.doc-on{background:var(--paper)}
img.ph{display:block;width:100%;height:auto;object-fit:cover;background:#e6dfd2}
.ch img.ph{background:rgba(209,169,116,.15)}
.art-img{display:block;overflow:hidden;background:#e6dfd2}
.art-img img{display:block;width:100%;height:100%;object-fit:cover}
.art-body blockquote p{margin:0}
.art-body figure{margin:1.8em 0}
.art-body figure img{display:block;width:100%;height:auto}
.art-body ul,.art-body ol{margin:0 0 1.15em;padding-left:1.3em}
.art-load{margin:40px 0 120px;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.nf{padding-block:170px 120px;min-height:60vh}
.nf h1{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,6vw,80px);line-height:1.04;margin:16px 0 0;text-wrap:balance}
.nf p{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:40ch;margin:22px 0 0}
.nf .btn.line{border-color:rgba(15,39,35,.35);color:var(--ink)}
.nf .btn.line:hover{background:rgba(15,39,35,.06)}
.nf .btn.solid{background:var(--green);color:var(--cream)}
