
:root{
  --ink:#282527;
  --muted:#6e6870;
  --paper:#fbf8f1;
  --white:#fffdf9;
  --coral:#d46f58;
  --sun:#d7894a;
  --rose:#e9b8a8;
  --violet:#655a83;
  --blue:#6c86a6;
  --line:rgba(40,37,39,.12);
  --shadow:0 18px 60px rgba(71,53,60,.13);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 8%, rgba(233,184,168,.28), transparent 28rem),
    radial-gradient(circle at 88% 30%, rgba(108,134,166,.20), transparent 30rem),
    var(--paper);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1120px, calc(100% - 40px));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(251,248,241,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(40,37,39,.06);
}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:140px;height:52px;object-fit:contain;mix-blend-mode:multiply}
.brand-copy{display:none;font-family:Georgia,serif;font-size:.85rem;letter-spacing:.11em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:22px;font-size:.95rem}
.nav-links a{text-decoration:none}
.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}
.lang{
  padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.45)
}
.menu-toggle{display:none;background:none;border:0;font:inherit;font-size:1.4rem}
.hero{padding:76px 0 52px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.19em;color:var(--violet);font-weight:700;margin-bottom:14px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0}
h1{font-size:clamp(3rem,7vw,6.5rem);font-weight:500;letter-spacing:-.055em}
h2{font-size:clamp(2rem,4.2vw,4rem);font-weight:500;letter-spacing:-.035em}
h3{font-size:1.35rem;font-weight:500}
.lead{font-size:clamp(1.08rem,1.7vw,1.35rem);color:#524b51;max-width:690px}
.hero .lead{margin:24px 0 30px}
.script{
  font-family:"Segoe Script","Bradley Hand",cursive;
  font-weight:400;color:var(--coral);letter-spacing:-.03em
}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 20px;border-radius:999px;text-decoration:none;font-weight:700;
  border:1px solid transparent;transition:.2s ease;
}
.btn-primary{background:var(--ink);color:white}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(40,37,39,.18)}
.btn-secondary{border-color:var(--line);background:rgba(255,255,255,.6)}
.hero-art{
  position:relative;min-height:540px;border-radius:42px;overflow:hidden;box-shadow:var(--shadow);
  background:url('/assets/images/reel-sunset.webp') center/cover no-repeat;
}
.hero-art::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(34,28,37,.46),transparent 55%);
}
.hero-card{
  position:absolute;z-index:2;left:24px;right:24px;bottom:24px;
  padding:22px 24px;border-radius:22px;
  background:rgba(255,253,249,.88);backdrop-filter:blur(14px);
}
.hero-card strong{font-family:Georgia,serif;font-size:1.3rem}
.hero-card p{margin:.35rem 0 0;color:var(--muted)}
.section{padding:86px 0}
.section-soft{
  background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(233,184,168,.12));
  border-block:1px solid rgba(40,37,39,.06);
}
.section-head{max-width:760px;margin-bottom:36px}
.section-head p{color:var(--muted);font-size:1.08rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  padding:28px;border:1px solid var(--line);border-radius:var(--radius);
  background:rgba(255,253,249,.75);box-shadow:0 8px 30px rgba(68,54,63,.05)
}
.card .num{display:block;color:var(--coral);font-family:Georgia,serif;font-size:2rem;margin-bottom:16px}
.card p{margin-bottom:0;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.photo{
  border-radius:36px;overflow:hidden;box-shadow:var(--shadow);min-height:470px
}
.photo img{width:100%;height:100%;object-fit:cover}
.quote{
  font-family:Georgia,serif;font-size:clamp(1.6rem,3.5vw,3.1rem);line-height:1.22;
  max-width:850px;margin:0 auto;text-align:center
}
.quote small{display:block;margin-top:18px;font:500 .95rem/1.5 Inter,system-ui,sans-serif;color:var(--muted)}
.socials{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.social{
  padding:20px;border-radius:20px;border:1px solid var(--line);text-decoration:none;background:rgba(255,255,255,.55)
}
.social b{display:block;margin-bottom:5px}
.social span{font-size:.9rem;color:var(--muted)}
.footer{padding:32px 0 44px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center}
.footer a{text-decoration:none}

/* Book */
.book-hero{padding:70px 0 90px;overflow:hidden}
.book-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}
.book-cover-wrap{position:relative}
.book-cover-wrap::before,.book-cover-wrap::after{
  content:"";position:absolute;border-radius:50%;filter:blur(10px);z-index:-1
}
.book-cover-wrap::before{width:320px;height:320px;background:rgba(82,71,126,.28);left:-70px;top:30px}
.book-cover-wrap::after{width:300px;height:300px;background:rgba(212,111,88,.24);right:-80px;bottom:-50px}
.book-cover{
  width:min(390px,100%);margin:auto;border-radius:8px;box-shadow:0 28px 70px rgba(45,37,57,.25);
  transform:rotate(-1.3deg)
}
.book-title{font-size:clamp(2.8rem,6vw,6rem)}
.book-copy{font-size:1.12rem;color:#514b52}
.book-facts{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.pill{padding:8px 12px;border-radius:999px;background:rgba(101,90,131,.10);font-size:.9rem}
.watercolor-band{
  margin-top:55px;padding:46px;border-radius:34px;
  background:
    radial-gradient(circle at 15% 40%,rgba(80,89,153,.28),transparent 27%),
    radial-gradient(circle at 56% 10%,rgba(92,67,114,.22),transparent 32%),
    radial-gradient(circle at 88% 76%,rgba(207,92,82,.25),transparent 28%),
    rgba(255,255,255,.55);
  border:1px solid var(--line)
}

/* Booking */
.booking-hero{padding:68px 0 40px}
.booking-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:50px;align-items:start}
.info-panel{
  padding:32px;border-radius:32px;background:rgba(255,255,255,.66);border:1px solid var(--line)
}
.hours{display:grid;gap:10px;margin:22px 0 0}
.hour-row{display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px dashed var(--line)}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.price-card{
  padding:30px;border-radius:28px;border:1px solid var(--line);background:var(--white)
}
.price{font-family:Georgia,serif;font-size:2.6rem;margin:10px 0 18px}
.price small{font:500 .85rem Inter,system-ui,sans-serif;color:var(--muted)}
.note{font-size:.9rem;color:var(--muted)}
.location-card{
  overflow:hidden;border-radius:32px;border:1px solid var(--line);background:var(--white)
}
.location-card img{width:100%;height:340px;object-fit:cover}
.location-body{padding:28px}
.location-body p{color:var(--muted)}
.disclaimer{font-size:.82rem;color:var(--muted);margin-top:20px}

@media (max-width:860px){
  .nav{min-height:72px}
  .brand img{width:118px;height:46px}
  .nav-links{gap:12px;font-size:.86rem}
  .hero-grid,.split,.book-grid,.booking-grid{grid-template-columns:1fr}
  .hero{padding-top:46px}
  .hero-art{min-height:430px}
  .cards{grid-template-columns:1fr}
  .socials{grid-template-columns:1fr 1fr}
  .book-grid{gap:42px}
}
@media (max-width:600px){
  .container{width:min(100% - 28px,1120px)}
  .nav-links a:not(.lang){display:none}
  h1{font-size:clamp(2.7rem,16vw,4.7rem)}
  .hero-art{min-height:390px;border-radius:28px}
  .section{padding:64px 0}
  .socials,.price-grid{grid-template-columns:1fr}
  .watercolor-band{padding:28px}
  .footer-row{align-items:flex-start;flex-direction:column}
}
