/* Hot Rock Spa Carp — refresh preview. Colored backgrounds + stock photos (no exterior/panoramic). */
:root{
  --ink:#2E2420; --ink-soft:#6b5d54; --cream:#F7ECE8; --sand:#e8ddd2;
  --teal:#7E271D; --teal-d:#5f1c15; --terra:#A45B4D; --terra-d:#8a4638;
  --clay:#C07A5B; --gold:#E4934E; --line:#e5d6cc; --white:#fffdfb;
  --shadow:0 18px 45px rgba(46,36,32,.15); --radius:18px;
  --wrap:1120px; --font:"Georgia",serif; --sans:"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font);line-height:1.15;font-weight:600}
h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h3{font-size:1.25rem}
p{color:var(--ink-soft)}
a{color:var(--teal-d);text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--terra)}

/* preview ribbon */
.ribbon{background:#241f1c;color:#f4e7d6;font-size:.78rem;text-align:center;padding:7px 14px;letter-spacing:.03em}
.ribbon b{color:var(--gold)}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(247,241,234,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center}
.brand img{height:44px;width:auto;display:block}
.brand span{color:var(--terra)}

/* rebrand transition strip */
.rebrand{background:var(--sand);border-bottom:1px solid var(--line)}
.rebrand .wrap{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 22px;flex-wrap:wrap;text-align:center}
.rebrand img.loyly{height:38px;width:auto;opacity:.9}
.rebrand img.alxmini{height:34px;width:auto}
.rebrand .arrow{color:var(--terra);font-size:1.3rem;font-weight:700}
.rebrand p{font-size:.9rem;color:var(--ink);margin:0}
.rebrand b{color:var(--teal)}
@media(max-width:560px){.rebrand p{font-size:.82rem;flex-basis:100%}}
.nav ul{display:flex;gap:26px;list-style:none;font-size:.9rem;font-weight:600}
.nav ul a{color:var(--ink-soft)}
.nav ul a:hover{color:var(--teal-d)}
.btn{display:inline-block;background:var(--terra);color:#fff;font-weight:700;font-size:.9rem;padding:12px 22px;border-radius:999px;letter-spacing:.02em;transition:.2s;border:0;cursor:pointer}
.btn:hover{background:var(--terra-d);color:#fff;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--teal-d);border:1.5px solid var(--teal)}
.btn.ghost:hover{background:var(--teal);color:#fff}
.btn.teal{background:var(--teal)}.btn.teal:hover{background:var(--teal-d)}
@media(max-width:760px){.nav ul{display:none}}

/* hero — colored gradient, no exterior photo */
.hero{position:relative;background:
   radial-gradient(1100px 480px at 80% -10%,rgba(228,147,78,.34),transparent 60%),
   linear-gradient(135deg,#4a1610 0%,var(--teal) 48%,#9c3a2c 100%);
   color:#fff;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero h1{font-size:clamp(2.2rem,5vw,3.5rem);color:#fff}
.hero p.lead{color:#e7f3f1;font-size:1.12rem;margin:18px 0 26px;max-width:34ch}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .pill{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.hero-photo{position:relative}
.hero-photo img{border-radius:22px;box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;width:100%}
.hero-photo .tag{position:absolute;bottom:-16px;left:-14px;background:#fff;color:var(--ink);padding:12px 18px;border-radius:14px;box-shadow:var(--shadow);font-size:.85rem;font-weight:700}
.hero-photo .tag small{display:block;color:var(--terra);font-weight:800;letter-spacing:.04em}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr;padding-top:40px}.hero-photo{order:-1}}

/* sections */
section{padding:66px 0}
.section-head{max-width:640px;margin:0 auto 40px;text-align:center}
.section-head p{margin-top:12px}
.alt{background:var(--sand)}
.tint{background:linear-gradient(180deg,#fbf6f0,#f3e7d9)}

/* service cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 22px rgba(36,31,28,.06);transition:.2s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card .ph{aspect-ratio:3/2;object-fit:cover;width:100%}
.card .body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.card h3{margin-bottom:6px}
.card .price{color:var(--terra-d);font-weight:800;font-size:.95rem;margin:2px 0 10px}
.card p{font-size:.92rem;flex:1}
.card .btn{margin-top:16px;align-self:flex-start;padding:10px 18px;font-size:.82rem}

/* couples feature band */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.feature img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover;width:100%}
.feature ul{list-style:none;margin:18px 0 24px}
.feature li{padding-left:28px;position:relative;margin-bottom:9px;color:var(--ink-soft)}
.feature li:before{content:"✦";position:absolute;left:0;color:var(--terra);font-size:.9rem}
@media(max-width:820px){.feature{grid-template-columns:1fr}}

/* sauna notice */
.notice{background:linear-gradient(135deg,#3a2f28,#5b463a);color:#f6ecdf;border-radius:22px;padding:34px 34px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;box-shadow:var(--shadow)}
.notice .flag{display:inline-block;background:var(--gold);color:#3a2f28;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:999px;margin-bottom:14px}
.notice h2{color:#fff}
.notice p{color:#e8d9c7;margin-top:12px}
.notice img{border-radius:16px;aspect-ratio:1/1;object-fit:cover;width:100%;opacity:.92}
@media(max-width:760px){.notice{grid-template-columns:1fr}}

/* booking */
.booking-box{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;min-height:300px}
.sqnote{font-size:.8rem;color:var(--ink-soft);text-align:center;margin-top:14px}
.sqmock{display:flex;align-items:center;justify-content:center;text-align:center;
  background:
   repeating-linear-gradient(-45deg,transparent,transparent 12px,rgba(31,111,107,.04) 12px,rgba(31,111,107,.04) 24px),
   var(--white);
  border:2px dashed var(--teal)}
.sqmock-inner{max-width:420px;padding:24px}
.sqmock-icon{font-size:2.2rem;margin-bottom:6px}
.sqmock-inner h3{color:var(--teal-d);margin-bottom:8px}
.sqmock-inner p{font-size:.92rem}
.sqmock-svc{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px 0}
.sqmock-svc span{background:var(--sand);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.8rem;font-weight:600}

/* footer */
footer{background:var(--ink);color:#c9bcaf;padding:48px 0 30px;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;margin-bottom:26px}
footer h4{color:#fff;font-family:var(--font);margin-bottom:12px;font-weight:600}
footer a{color:#c9bcaf}footer a:hover{color:#fff}
footer ul{list-style:none}footer li{margin-bottom:7px}
footer .fine{border-top:1px solid #3a332e;padding-top:18px;color:#8f8177;font-size:.8rem}
@media(max-width:760px){footer .cols{grid-template-columns:1fr}}
.center{text-align:center}
.mt{margin-top:26px}
.soon{display:inline-block;vertical-align:middle;background:var(--gold);color:#3a2f28;font-family:var(--sans);font-weight:800;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-left:6px}
