@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500;1,600&family=Manrope:wght@400;500;600;700&display=swap');

:root{
  --gold:#d7a24f;
  --gold-light:#e8c27b;
  --cream:#f4efe6;
  --ink:#211912;
  --muted:#8e8174;
  --line:rgba(255,255,255,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f5f0e8;color:var(--ink);font-family:Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.hero{position:relative;min-height:100svh;height:100vh;overflow:hidden;color:#fff;background:#24180f}
.hero-bg{position:absolute;inset:0;background:url("images/hero-bg.png") center center/cover no-repeat;transform:scale(1.01)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,5,3,.82) 0%,rgba(8,5,3,.56) 32%,rgba(8,5,3,.16) 66%,rgba(8,5,3,.25) 100%),linear-gradient(0deg,rgba(8,5,3,.4),transparent 42%,rgba(8,5,3,.28))}
.site-header{position:absolute;z-index:10;top:0;left:0;right:0;height:116px;display:flex;align-items:flex-start;padding:17px 5.3vw 0}
.brand{width:150px;display:block}
.brand img{width:145px;height:auto;display:block}
.main-nav{position:absolute;left:50%;top:27px;transform:translateX(-50%);display:flex;align-items:center;gap:32px;white-space:nowrap}
.main-nav a{position:relative;font-size:12px;font-weight:500;letter-spacing:.08em;color:rgba(255,255,255,.94);padding:13px 0 16px}
.main-nav a.active{color:var(--gold-light)}
.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-light);box-shadow:0 0 12px rgba(215,162,79,.45)}
.phone{position:absolute;right:5.2vw;top:18px;height:49px;padding:0 24px;border:1px solid rgba(255,255,255,.9);border-radius:999px;display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.03em;background:rgba(20,12,8,.08);backdrop-filter:blur(3px)}
.phone-icon,.small-phone{font-size:17px;line-height:1;transform:rotate(-30deg);display:inline-block}
.menu-toggle{display:none}
.hero-content{position:relative;z-index:2;max-width:840px;padding-top:25vh;margin-left:10.2vw}
.eyebrow,.section-kicker{margin:0 0 18px;color:var(--gold-light);font-size:11px;letter-spacing:.32em;font-weight:600}
.hero h1{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(48px,5.25vw,86px);line-height:.88;font-weight:500;letter-spacing:-.035em}
.hero h1 em{font-style:italic;font-weight:500}
.lead{max-width:650px;margin:28px 0 31px;font-size:16px;line-height:1.55;color:rgba(255,255,255,.94)}
.actions{display:flex;gap:22px;align-items:center}
.btn{min-height:60px;padding:0 32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:11px;font-size:14px;font-weight:600;letter-spacing:.01em;transition:.25s ease}
.btn-gold{background:linear-gradient(135deg,#e0b260,#c99039);color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-outline{border:1px solid rgba(255,255,255,.92);color:#fff;background:rgba(0,0,0,.04)}
.btn-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn-outline span{font-size:21px;font-weight:400}
.scroll-cue{position:absolute;z-index:3;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:#fff;font-size:9px;letter-spacing:.28em}
.scroll-cue i{width:1px;height:40px;background:rgba(255,255,255,.75);position:relative}
.scroll-cue i:after{content:"";position:absolute;left:-4px;bottom:0;width:8px;height:8px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}

.section{padding:115px 10vw}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end;background:#f4efe7}
.section h2,.contact h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,5vw,78px);font-weight:500;line-height:.92;letter-spacing:-.025em;margin:0}
.section h2 em,.contact h2 em{font-style:italic}
.intro-copy{font-size:16px;line-height:1.8;color:#62574d;max-width:560px}
.intro-copy p{margin:0 0 18px}
.occasions{background:#211811;color:#fff}
.section-heading{margin-bottom:50px}
.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.occasion-grid article{padding:34px 28px 25px 0;border-right:1px solid rgba(255,255,255,.12);min-height:230px}
.occasion-grid article+article{padding-left:28px}
.occasion-grid span{color:var(--gold-light);font-size:11px;letter-spacing:.18em}
.occasion-grid h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:37px;font-weight:500;margin:42px 0 10px}
.occasion-grid p{color:#bfb4aa;line-height:1.65;font-size:14px;margin:0;max-width:250px}
.rooms{background:#f4efe7}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.room{background:#fff;box-shadow:0 18px 45px rgba(51,34,21,.07)}
.photo-placeholder{min-height:300px;background:linear-gradient(135deg,#ddd2c3,#eee8de);display:flex;align-items:center;justify-content:center;color:#8b7d6d;font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.room-copy{padding:27px 28px 31px}
.room-copy span{font-size:10px;letter-spacing:.25em;color:#a27a3c}
.room-copy h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:33px;font-weight:500;margin:12px 0 8px}
.room-copy p{font-size:13px;line-height:1.7;color:#76695d;margin:0}
.why{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center;background:#211811;color:#fff}
.why-photo{min-height:560px;background:linear-gradient(135deg,#493a2e,#17100b)}
.why-copy p:not(.section-kicker){color:#bfb4aa;line-height:1.8;max-width:500px}
.checks{display:flex;flex-direction:column;gap:15px;margin-top:28px;color:#e9dfd2;font-size:13px}
.gallery{background:#f4efe7}
.gallery-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr;grid-template-rows:280px 220px;gap:16px}
.gallery-grid .photo-placeholder{min-height:0}
.gallery-grid .large{grid-row:1 / span 2}
.gallery-grid .wide{grid-column:2 / span 2}
.testimonials{background:#e9e0d4}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:55px}
blockquote{margin:0;padding:38px;background:#f7f2eb;font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;line-height:1.05}
cite{display:block;margin-top:30px;font-family:Manrope,Arial,sans-serif;font-size:11px;letter-spacing:.1em;color:#8b7a68;font-style:normal}
.contact{padding:100px 10vw;display:flex;align-items:center;justify-content:space-between;gap:50px;background:#1b120d;color:#fff}
.contact-actions{display:flex;gap:14px;flex-wrap:wrap}
.light-outline{border-color:rgba(255,255,255,.45)}
footer{padding:35px 5vw;background:#120c08;color:#a99a8c;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.06em}
footer img{width:100px}
footer a{color:#e1c083}

@media(max-width:1050px){
  .main-nav{gap:19px}
  .main-nav a{font-size:10px}
  .phone{right:3vw;padding:0 17px;font-size:12px}
  .brand{width:120px}.brand img{width:120px}
  .hero-content{margin-left:8vw}
}
@media(max-width:820px){
  .hero{min-height:760px;height:100svh}
  .site-header{height:86px;padding:15px 22px}
  .brand,.brand img{width:108px}
  .main-nav{display:none;position:absolute;top:76px;left:15px;right:15px;transform:none;background:rgba(24,15,10,.96);border:1px solid rgba(255,255,255,.15);padding:12px;flex-direction:column;gap:0}
  .main-nav.open{display:flex}
  .main-nav a{width:100%;padding:15px 12px;font-size:11px}
  .main-nav a.active:after{display:none}
  .phone{right:62px;top:15px;height:42px;padding:0 15px;font-size:11px}
  .menu-toggle{display:flex;position:absolute;right:18px;top:20px;width:32px;height:32px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px}
  .menu-toggle span{height:1px;width:24px;background:#fff;display:block}
  .hero-bg{background-position:62% center}
  .hero-content{padding:185px 24px 100px;margin:0;max-width:650px}
  .eyebrow{font-size:9px;letter-spacing:.25em;margin-bottom:16px}
  .hero h1{font-size:clamp(45px,10.7vw,66px);line-height:.9}
  .lead{font-size:14px;margin:22px 0 25px;max-width:540px}
  .actions{gap:10px;flex-wrap:wrap}
  .btn{min-height:52px;padding:0 22px;font-size:12px}
  .scroll-cue{bottom:22px}
  .section{padding:80px 24px}
  .intro,.why{grid-template-columns:1fr;gap:35px}
  .occasion-grid{grid-template-columns:1fr 1fr}
  .occasion-grid article{border-bottom:1px solid rgba(255,255,255,.12);border-right:0}
  .occasion-grid article+article{padding-left:0}
  .room-grid{grid-template-columns:1fr}
  .why-photo{min-height:350px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}
  .gallery-grid .large{grid-row:auto}
  .gallery-grid .wide{grid-column:1 / span 2}
  .quote-grid{grid-template-columns:1fr}
  .contact{padding:75px 24px;flex-direction:column;align-items:flex-start}
  footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:500px){
  .phone span:last-child{display:none}
  .phone{width:42px;justify-content:center;padding:0}
  .hero-content{padding-top:165px}
  .hero h1{font-size:43px}
  .lead{font-size:13px}
  .btn{width:100%}
  .actions{width:100%}
  .occasion-grid{grid-template-columns:1fr}
  .occasion-grid article{min-height:auto;padding:25px 0}
  .occasion-grid article+article{padding-left:0}
  .occasion-grid h3{margin-top:22px}
  .gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,190px)}
  .gallery-grid .wide{grid-column:auto}
}


/* MENU — kafelki z animowanym przejściem */
.menus{
  background:#1b120d;
  color:#f4efe6;
  overflow:hidden;
}
.menu-heading{
  max-width:760px;
  margin-bottom:48px;
}
.menu-heading h2{
  margin-bottom:20px;
}
.menu-intro{
  max-width:650px;
  color:#b9aa9b;
  font-size:14px;
  line-height:1.8;
}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  align-items:stretch;
}
.menu-card{
  position:relative;
  min-height:560px;
  padding:30px 27px 25px;
  display:flex;
  flex-direction:column;
  background:linear-gradient(150deg,#33241b 0%,#241812 65%,#1e130e 100%);
  border:1px solid rgba(232,194,123,.16);
  overflow:hidden;
  transform:translateY(0);
  transition:transform .45s cubic-bezier(.2,.8,.2,1), border-color .45s ease, box-shadow .45s ease, background .45s ease;
}
.menu-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,transparent,#d7a24f,transparent);
  transform:scaleX(.15);
  transform-origin:center;
  transition:transform .55s ease;
}
.menu-card::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  right:-90px;
  bottom:-100px;
  border:1px solid rgba(215,162,79,.16);
  border-radius:50%;
  transition:transform .65s ease, opacity .45s ease;
  opacity:.35;
}
.menu-card:hover{
  transform:translateY(-12px);
  border-color:rgba(232,194,123,.48);
  box-shadow:0 28px 70px rgba(0,0,0,.32);
  background:linear-gradient(150deg,#3b2a20 0%,#281a13 65%,#20140f 100%);
}
.menu-card:hover::before{
  transform:scaleX(1);
}
.menu-card:hover::after{
  transform:scale(2.2);
  opacity:.75;
}
.menu-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:48px;
}
.menu-number{
  color:#d7a24f;
  font-size:11px;
  letter-spacing:.16em;
}
.menu-type{
  color:#958476;
  font-size:8px;
  letter-spacing:.16em;
  text-align:right;
}
.menu-card h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:39px;
  line-height:.92;
  font-weight:500;
  margin:0;
}
.menu-card h3 em{
  color:#e3bd79;
}
.menu-price{
  margin-top:26px;
  color:#c2b4a6;
  font-size:12px;
  letter-spacing:.03em;
}
.menu-price strong{
  color:#f4efe6;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:30px;
  font-weight:500;
}
.menu-line{
  height:1px;
  background:rgba(255,255,255,.12);
  margin:25px 0 18px;
}
.menu-card ul{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.menu-card li{
  position:relative;
  padding-left:15px;
  color:#a99b8e;
  font-size:11px;
  line-height:1.4;
}
.menu-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.48em;
  width:4px;
  height:4px;
  border:1px solid #d7a24f;
  border-radius:50%;
}
.menu-more{
  margin-top:auto;
  padding-top:28px;
  color:#e1c083;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.menu-more span{
  display:inline-block;
  margin-left:8px;
  font-size:15px;
  transition:transform .35s ease;
}
.menu-card:hover .menu-more span{
  transform:translateX(5px);
}
.menu-card-featured{
  border-color:rgba(215,162,79,.34);
  background:linear-gradient(150deg,#3b2a1f 0%,#291b13 65%,#21140e 100%);
}
@media(max-width:1100px){
  .menu-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .menu-grid{grid-template-columns:1fr}
  .menu-card{min-height:500px}
  .menu-card-top{margin-bottom:38px}
}




/* LIVE GOOGLE INTEGRATION */
.google-section{background:#e9e0d4}
.google-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}
.google-link-top{font-size:12px;letter-spacing:.05em;border-bottom:1px solid #8d765c;padding-bottom:8px;color:#59483a}
.google-link-top span{font-size:18px;margin-left:8px}
.google-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.google-card,.review-card{background:#fff;border:1px solid #e1d9ce;box-shadow:0 24px 70px rgba(51,34,21,.10)}
.google-card{padding:34px 38px 38px}
.google-brand-row{display:flex;align-items:center;justify-content:space-between}
.google-mark{font-family:Arial,sans-serif;font-size:29px;font-weight:600;letter-spacing:-3px}
.g-blue{color:#4285f4}.g-red{color:#ea4335}.g-yellow{color:#fbbc05}.g-green{color:#34a853}
.google-verified{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#897765}
.google-rating{display:flex;align-items:center;gap:26px;margin-top:28px}
.google-rating strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:67px;line-height:.8;font-weight:500}
.stars,.review-stars{font-family:Arial,sans-serif;letter-spacing:3px;font-size:21px;color:#e2a63f}
.google-rating p{margin:7px 0 0;color:#77695d;font-size:12px}
.google-divider{height:1px;background:#ebe5dd;margin:30px 0}
.google-note{color:#6f6257;font-size:14px;line-height:1.7;max-width:640px;margin:0 0 25px}
.google-button{display:inline-flex;align-items:center;gap:15px;border:0;border-radius:999px;padding:13px 20px;font-size:12px;font-weight:600;color:#fff}
.review-card{padding:32px 30px;display:flex;flex-direction:column;justify-content:center}
.review-source{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#897765}
.mini-google{width:25px;height:25px;border-radius:50%;background:#f1f1f1;display:inline-flex;align-items:center;justify-content:center;font:bold 15px Arial;color:#4285f4}
.review-stars{margin:22px 0 14px;font-size:18px}
.review-card p{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;line-height:1.25;color:#30251d;margin:0}
.review-card small{font-size:10px;line-height:1.6;color:#8b7c6e;margin-top:22px}
.review-card a{text-decoration:underline}
.location-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;background:#f4efe7}
.location-copy>p:not(.section-kicker){color:#75685c;line-height:1.8;max-width:480px}
.address-box{display:flex;align-items:center;gap:16px;margin:28px 0 25px}
.pin{width:45px;height:45px;border-radius:50%;background:#211811;color:#e2b66d;display:flex;align-items:center;justify-content:center;font-size:25px}
.address-box strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;font-weight:500}
.address-box span:last-child{display:block;color:#77695d;font-size:12px;line-height:1.6;margin-top:2px}
.map-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.dark-outline{border-color:#5e5044;color:#3e3228}
.map-info{font-size:11px!important;line-height:1.6!important;color:#897c70!important;max-width:520px!important}
.map-card{position:relative;min-height:470px;background:#d9d1c7;overflow:hidden;box-shadow:0 25px 65px rgba(51,34,21,.12)}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-badge{position:absolute;left:18px;bottom:18px;background:#211811;color:#f4efe7;padding:12px 16px;font-size:10px;letter-spacing:.12em;box-shadow:0 8px 25px rgba(0,0,0,.18)}
.google-error{color:#8d3e32!important}
@media(max-width:820px){
  .google-heading{align-items:flex-start;flex-direction:column}
  .google-layout{grid-template-columns:1fr}
  .google-card{padding:28px 22px}
  .location-section{grid-template-columns:1fr;gap:35px}
  .map-card{min-height:390px}
}
@media(max-width:500px){
  .google-rating{gap:17px}
  .google-rating strong{font-size:55px}
  .stars{font-size:17px}
  .map-card{min-height:330px}
}


/* =========================================================
   KORONA — PREMIUM REDESIGN / RESPONSIVE OVERRIDES
   ========================================================= */
:root{
  --ink:#241b15;
  --ink-2:#33251d;
  --cream:#fbf7f0;
  --paper:#fffdf9;
  --gold:#c79a52;
  --gold-2:#e0bc78;
  --line:rgba(36,27,21,.12);
  --muted:#756a60;
  --shadow:0 18px 55px rgba(37,25,15,.12);
  --radius:24px;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
  overflow-x:hidden;
}
a{transition:all .25s ease}
::selection{background:rgba(199,154,82,.25);color:var(--ink)}
h1,h2,h3,h4,.serif{font-family:var(--serif);letter-spacing:.01em}
h1{font-weight:600;line-height:.98}
h2{font-weight:600;line-height:1.05}
button,.btn,.nav a{font-family:var(--sans);letter-spacing:.02em}

/* HEADER */
header, .site-header, nav{
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(24,17,12,.88);
  border-bottom:1px solid rgba(224,188,120,.16);
  box-shadow:0 8px 30px rgba(0,0,0,.10);
}
header img{max-height:58px;width:auto}
nav a{
  position:relative;
  color:rgba(255,250,242,.9);
  font-size:.74rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.12em;
}
nav a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:-8px;
  height:1px;background:var(--gold-2);
  transition:right .25s ease;
}
nav a:hover{color:#fff}
nav a:hover::after{right:0}

/* HERO */
.hero{
  min-height:clamp(680px,88vh,900px);
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(18,12,8,.78) 0%,rgba(18,12,8,.53) 48%,rgba(18,12,8,.25) 100%),
    linear-gradient(0deg,rgba(18,12,8,.45),transparent 35%);
  z-index:-1;
}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 70% 45%,rgba(224,188,120,.15),transparent 34%);
  pointer-events:none;z-index:-1;
}
.hero .hero-content{
  width:min(1180px,92%);
  margin:auto;
  padding:120px 0 90px;
}
.hero h1{
  max-width:760px;
  font-size:clamp(3.4rem,7.2vw,7rem);
  color:#fffaf1;
  text-shadow:0 8px 28px rgba(0,0,0,.26);
}
.hero p{
  max-width:650px;
  color:rgba(255,250,242,.84);
  font-size:clamp(.95rem,1.3vw,1.1rem);
}
.hero .eyebrow,.section-eyebrow{
  color:var(--gold-2);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}
.hero .eyebrow::before{
  content:"";
  display:inline-block;
  width:42px;height:1px;
  background:var(--gold-2);
  vertical-align:middle;
  margin-right:14px;
}
.btn{
  border-radius:999px!important;
  min-height:48px;
  padding:13px 23px!important;
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
.btn-primary{
  background:linear-gradient(135deg,var(--gold-2),var(--gold))!important;
  color:#241a11!important;
  border:1px solid transparent!important;
  box-shadow:0 12px 28px rgba(199,154,82,.24);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(199,154,82,.30)}
.btn-outline{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.45)!important;
  background:rgba(255,255,255,.05)!important;
}
.btn-outline:hover{border-color:var(--gold-2)!important;background:rgba(224,188,120,.08)!important}

/* SECTIONS */
section{
  position:relative;
}
section:not(.hero){
  padding-block:clamp(70px,9vw,120px);
}
.section-head{
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.section-head h2{
  font-size:clamp(2.5rem,5vw,4.5rem);
  margin:.15em 0 .3em;
  color:var(--ink);
}
.section-head p{color:var(--muted);max-width:620px;margin:auto}
.section-eyebrow{display:block;margin-bottom:8px;color:#a77b39}

/* MENU CARDS */
.menu-grid,.cards-grid,.features-grid{
  width:min(1180px,92%);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.card,.menu-card,.feature-card{
  background:rgba(255,253,249,.92);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 10px 35px rgba(40,26,15,.06);
  padding:30px;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.card:hover,.menu-card:hover,.feature-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  border-color:rgba(199,154,82,.38);
}
.card h3,.menu-card h3,.feature-card h3{
  font-size:1.75rem;
  margin:.2rem 0 .55rem;
}
.card p,.menu-card p,.feature-card p{color:var(--muted);font-size:.92rem}

/* GOOGLE REVIEWS */
.reviews-section,.google-section{background:#f3ede3}
.review-card{
  width:min(780px,92%);
  margin:auto;
  background:var(--paper);
  border:1px solid rgba(199,154,82,.22);
  border-radius:28px;
  padding:clamp(26px,5vw,48px);
  box-shadow:var(--shadow);
}
.rating{
  color:#b07e30;
  font-weight:700;
}
.review-author{font-weight:700;color:var(--ink)}
.review-date{color:var(--muted);font-size:.8rem}

/* MAP */
.map-section{background:var(--ink);color:#fff}
.map-section .section-head h2{color:#fffaf1}
.map-section .section-head p{color:rgba(255,250,242,.66)}
.map-wrap{
  width:min(1180px,92%);
  margin:auto;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(224,188,120,.22);
  box-shadow:0 22px 70px rgba(0,0,0,.25);
}
.map-wrap iframe{display:block;width:100%;min-height:420px;border:0}

/* FOOTER */
footer{
  background:#120e0b!important;
  color:rgba(255,250,242,.68);
  border-top:1px solid rgba(224,188,120,.14);
}
footer a{color:#e0bc78}
footer a:hover{color:#fff}

/* MOBILE CALL */
.mobile-call{
  display:none;
  position:fixed;
  z-index:100;
  left:14px;right:14px;bottom:14px;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  background:linear-gradient(135deg,#e0bc78,#b98237);
  color:#21170f!important;
  font-weight:800;
  font-size:.76rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 12px 30px rgba(0,0,0,.28);
  text-decoration:none!important;
}

/* TABLET */
@media (max-width:900px){
  .menu-grid,.cards-grid,.features-grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:760px}
}

/* PHONE */
@media (max-width:640px){
  body{font-size:15px;padding-bottom:76px}
  header{padding-inline:14px}
  header img{max-height:48px}
  .hero{min-height:720px}
  .hero .hero-content{
    width:calc(100% - 36px);
    padding:120px 0 72px;
  }
  .hero h1{
    font-size:clamp(3rem,16vw,4.5rem);
    max-width:100%;
  }
  .hero p{font-size:.9rem}
  .hero .eyebrow{font-size:.63rem;letter-spacing:.18em}
  .hero .eyebrow::before{width:28px;margin-right:9px}
  .hero .actions,.hero-actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
    max-width:340px;
  }
  .btn{width:100%;justify-content:center}
  section:not(.hero){padding-block:70px}
  .section-head{margin-bottom:34px}
  .section-head h2{font-size:2.75rem}
  .menu-grid,.cards-grid,.features-grid{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:14px;
  }
  .card,.menu-card,.feature-card{padding:24px 22px;border-radius:20px}
  .review-card{width:calc(100% - 28px);padding:24px 20px;border-radius:22px}
  .map-wrap{width:calc(100% - 28px);border-radius:20px}
  .map-wrap iframe{min-height:340px}
  .mobile-call{display:flex}
}

/* SMALL PHONE */
@media (max-width:390px){
  .hero .hero-content{width:calc(100% - 28px)}
  .hero h1{font-size:2.8rem}
  .section-head h2{font-size:2.45rem}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}


/* =========================================================
   FINAL VISUAL POLISH — header / buttons / menu / mobile
   ========================================================= */

/* HEADER — logo stays cleanly to the far left */
.site-header{
  height:96px;
  padding:0 5.4vw;
  align-items:center;
  background:rgba(18,11,7,.78);
  border-bottom:1px solid rgba(226,187,112,.14);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.brand{
  position:absolute;
  left:5.4vw;
  top:16px;
  width:128px;
  z-index:3;
}
.brand img{
  display:block;
  width:128px;
  max-width:none;
  height:auto;
}
.main-nav{
  top:0;
  height:96px;
  gap:29px;
  align-items:center;
}
.main-nav a{
  padding:10px 0 12px;
  font-size:11px;
  font-weight:600;
}
.phone{
  right:5.4vw;
  top:24px;
  height:48px;
  padding:0 23px;
  color:#f7dfb2;
  border:1px solid rgba(225,183,105,.85);
  background:linear-gradient(135deg,rgba(222,178,94,.20),rgba(112,70,23,.32));
  box-shadow:0 8px 24px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.03);
}
.phone:hover{
  color:#fff5df;
  border-color:#e6bd72;
  background:linear-gradient(135deg,rgba(224,183,100,.32),rgba(130,82,28,.40));
  transform:translateY(-1px);
}
.phone-icon{color:#e4b969}

/* HERO buttons */
.actions .btn{
  min-height:54px;
  padding:0 27px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.10em!important;
  text-transform:uppercase;
}
.actions .btn-gold{
  color:#24170e!important;
  background:linear-gradient(135deg,#e7bd70,#c78f3b)!important;
  border:1px solid rgba(255,226,166,.35)!important;
  box-shadow:0 13px 30px rgba(83,48,12,.28);
}
.actions .btn-gold:hover{
  filter:none;
  background:linear-gradient(135deg,#f0c981,#d39a43)!important;
}
.actions .btn-outline{
  color:#fff9ef!important;
  border:1px solid rgba(255,255,255,.58)!important;
  background:rgba(21,13,8,.22)!important;
}
.actions .btn-outline:hover{
  color:#fff!important;
  border-color:#e5bc73!important;
  background:rgba(224,181,100,.12)!important;
}

/* MENU — light premium cards, dark readable typography */
.menus{
  background:#1b120d!important;
}
.menus .menu-heading h2{
  color:#fffaf2;
}
.menus .menu-intro{
  color:#bbaea1;
}
.menus .menu-card{
  min-height:540px;
  padding:30px 28px 25px;
  background:linear-gradient(155deg,#f8f3eb 0%,#eee7dc 100%)!important;
  border:1px solid rgba(199,154,82,.28)!important;
  border-radius:0 0 22px 22px;
  color:#281c15!important;
  box-shadow:0 12px 38px rgba(0,0,0,.16);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.menus .menu-card::before{
  background:linear-gradient(90deg,transparent,#c99648,transparent);
}
.menus .menu-card::after{
  border-color:rgba(199,154,82,.20);
}
.menus .menu-card:hover{
  transform:translateY(-7px);
  background:linear-gradient(155deg,#fffaf3 0%,#f1e9dd 100%)!important;
  border-color:rgba(199,154,82,.55)!important;
  box-shadow:0 24px 55px rgba(0,0,0,.25);
}
.menus .menu-card-featured{
  background:linear-gradient(155deg,#fff9ed 0%,#eee1cd 100%)!important;
  border-color:rgba(199,154,82,.48)!important;
}
.menus .menu-card-top{margin-bottom:42px}
.menus .menu-number{color:#b27e35!important;font-weight:700}
.menus .menu-type{color:#8b7a68!important}
.menus .menu-card h3{
  color:#2c211a!important;
  font-size:42px;
}
.menus .menu-card h3 em{
  color:#bd8a40!important;
}
.menus .menu-price{
  color:#786b5e!important;
}
.menus .menu-price strong{
  color:#2b2018!important;
}
.menus .menu-line{
  background:rgba(54,39,28,.14)!important;
}
.menus .menu-card ul{
  color:#4b3d32;
}
.menus .menu-card li{
  color:#66594d!important;
}
.menus .menu-card li::before{
  border-color:#c18c40!important;
}
.menus .menu-more{
  color:#9b6d2e!important;
  font-weight:700;
}
.menus .menu-more:hover{color:#6e481c!important}
.menus .menu-more span{color:#b27e35}

/* Fix the malformed nested list in the first menu card visually */
.menu-card ul ul{
  margin:0;
  padding:0;
  gap:8px;
}
.menu-card ul ul:first-child{
  margin-bottom:4px;
}
.menu-card ul ul:not(:first-child){
  margin-top:2px;
}

/* GENERAL BUTTON SYSTEM */
.btn-gold{
  background:linear-gradient(135deg,#e3b86a,#c58c39)!important;
  color:#25180f!important;
  border:1px solid rgba(255,221,160,.35)!important;
  box-shadow:0 10px 25px rgba(72,43,17,.18);
}
.btn-gold:hover{
  transform:translateY(-2px);
  filter:none!important;
  background:linear-gradient(135deg,#edc77f,#d39a46)!important;
}
.dark-outline{
  color:#2d2119!important;
  border:1px solid rgba(45,33,25,.32)!important;
  background:rgba(255,255,255,.28)!important;
}
.dark-outline:hover{
  color:#21160f!important;
  border-color:#b98742!important;
  background:#fffaf2!important;
}

/* Google CTA */
.google-button{
  color:#25180f!important;
  background:linear-gradient(135deg,#e3b86a,#c58c39)!important;
}
.google-button:hover{transform:translateY(-2px);filter:none!important}

/* MAP ACTIONS */
.map-actions .btn{
  min-height:52px;
  padding:0 23px!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}

/* MOBILE HEADER */
@media(max-width:820px){
  .site-header{
    height:76px;
    padding:0 18px;
    align-items:center;
  }
  .brand{
    left:18px;
    top:13px;
    width:105px;
  }
  .brand img{width:105px}
  .phone{
    right:60px;
    top:17px;
    width:44px;
    height:42px;
    padding:0;
    justify-content:center;
    border-color:rgba(225,183,105,.78);
    background:linear-gradient(135deg,rgba(222,178,94,.26),rgba(112,70,23,.36));
  }
  .phone span:last-child{display:none}
  .phone-icon{font-size:17px}
  .menu-toggle{
    right:16px;
    top:22px;
    width:32px;
    height:28px;
  }
  .menu-toggle span{
    width:25px;
    height:1px;
    background:#f3dfb9;
  }
  .main-nav{
    top:76px;
    left:14px;
    right:14px;
    height:auto;
    padding:8px;
    gap:0;
    background:rgba(24,15,10,.98);
    border:1px solid rgba(225,183,105,.20);
    box-shadow:0 20px 50px rgba(0,0,0,.35);
  }
  .main-nav a{
    color:#f8f0e4!important;
    padding:14px 13px;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .main-nav a:last-child{border-bottom:0}
  .main-nav a.active{color:#e4b86b!important}
  .main-nav a.active:after{display:none}
  .menus .menu-card{
    min-height:0;
    padding:25px 22px 23px;
    border-radius:0 0 18px 18px;
  }
  .menus .menu-card h3{font-size:37px}
  .menu-card-top{margin-bottom:32px!important}
}

/* TIGHT PHONE LAYOUT */
@media(max-width:500px){
  .hero-content{padding-top:150px}
  .actions .btn{min-height:52px}
  .menus .menu-card h3{font-size:35px}
  .menus .menu-card{padding:24px 20px}
}

/* EXTRA SMALL */
@media(max-width:360px){
  .brand,.brand img{width:96px}
  .phone{right:54px}
  .menus .menu-card h3{font-size:32px}
}


/* =========================================================
   FINAL HEADER FIX
   ========================================================= */

/* One uniform header tone — no sudden vertical colour change */
.site-header{
  background:rgba(18,11,7,.97)!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 1px 0 rgba(224,188,120,.08);
}

/* Cropped logo asset + contained sizing: no stretched/padded look */
.brand{
  width:118px!important;
  height:auto!important;
  left:5.4vw!important;
  top:15px!important;
}
.brand img{
  display:block!important;
  width:118px!important;
  height:auto!important;
  max-width:118px!important;
  object-fit:contain!important;
}

/* Desktop nav starts from the left instead of being centered as one block */
@media(min-width:1051px){
  .main-nav{
    left:31.5%!important;
    transform:none!important;
    top:0!important;
    height:96px!important;
    gap:28px!important;
  }
}

/* Keep phone clear and visible */
.phone{
  color:#f4d69b!important;
  border-color:rgba(224,181,100,.82)!important;
  background:#2a1a0d!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
.phone-icon{color:#e6b963!important}

/* Mobile keeps the same clean solid header */
@media(max-width:820px){
  .site-header{
    background:rgba(18,11,7,.98)!important;
    box-shadow:0 1px 0 rgba(224,188,120,.10);
  }
  .brand{
    left:18px!important;
    top:14px!important;
    width:100px!important;
  }
  .brand img{
    width:100px!important;
    max-width:100px!important;
  }
}


/* HERO — left aligned */
.hero .hero-content{
  width:min(1180px,92%);
  margin-left:10.2vw;
  margin-right:0;
  padding-left:0;
  text-align:left;
}
.hero .hero-content .eyebrow,
.hero .hero-content h1,
.hero .hero-content .lead{
  text-align:left;
}
.hero .hero-content h1{
  max-width:760px;
}
@media (max-width:1050px){
  .hero .hero-content{margin-left:8vw;margin-right:0}
}
@media (max-width:820px){
  .hero .hero-content{margin-left:0;margin-right:0;text-align:left}
}
@media (max-width:640px){
  .hero .hero-content{margin-left:0;margin-right:0}
}


/* OKAZJE — sekcja usunięta z aktualnej wersji */
#okazje{display:none!important}

/* =========================================================
   SECTION RHYTHM — ciemne / jasne naprzemiennie
   ========================================================= */

/* 01 O NAS — jasna */
.intro{
  background:#f4efe7 !important;
  color:#241912 !important;
}
.intro .section-kicker{color:#b8873f !important}
.intro p:not(.section-kicker){color:#75685c !important}

/* 02 SALE — ciemna */
.rooms{
  background:#211811 !important;
  color:#fffaf2 !important;
}
.rooms .section-kicker{color:#d7a24f !important}
.rooms h2{color:#fffaf2 !important}
.rooms .room{
  background:#2b1e16 !important;
  color:#fffaf2 !important;
  border:1px solid rgba(215,162,79,.16);
  box-shadow:0 20px 50px rgba(0,0,0,.20) !important;
}
.rooms .room-copy h3{color:#fffaf2 !important}
.rooms .room-copy p{color:#bfb4aa !important}
.rooms .photo-placeholder{
  background:linear-gradient(135deg,#493a2e,#2b1d15) !important;
  color:#a99582 !important;
}

/* 03 MENU — jasna */
.menus{
  background:#f4efe7 !important;
  color:#241912 !important;
}
.menus .menu-heading h2{color:#241912 !important}
.menus .menu-intro{color:#75685c !important}

/* 04 GALERIA — ciemna */
.gallery{
  background:#211811 !important;
  color:#fffaf2 !important;
}
.gallery h2{color:#fffaf2 !important}
.gallery .section-kicker{color:#d7a24f !important}
.gallery .photo-placeholder{
  background:linear-gradient(135deg,#493a2e,#2b1d15) !important;
  color:#a99582 !important;
}

/* 05 OPINIE — jasna */
.google-section{
  background:#e9e0d4 !important;
  color:#241912 !important;
}

/* 06 DOJAZD — ciemna */
.location-section{
  background:#211811 !important;
  color:#fffaf2 !important;
}
.location-section h2{color:#fffaf2 !important}
.location-section .section-kicker{color:#d7a24f !important}
.location-copy>p:not(.section-kicker){color:#bfb4aa !important}
.location-section .pin{
  background:#f4efe7 !important;
  color:#b27e35 !important;
}
.location-section .map-card{
  box-shadow:0 25px 65px rgba(0,0,0,.28) !important;
}

/* 07 KONTAKT — jasna */
.contact{
  background:#f4efe7 !important;
  color:#241912 !important;
}
.contact h2{color:#241912 !important}
.contact .section-kicker{color:#b8873f !important}
.contact p{color:#75685c !important}

/* footer pozostaje ciemny — zamknięcie strony */
footer{background:#120c08 !important}

@media(max-width:820px){
  .rooms .room{border-radius:18px}
}

/* FINAL LIGHTER DARK PALETTE */
.occasions,
.why{
  background:#2a1d15;
}
.menus{
  background:#2a1d15 !important;
}
.contact{
  background:#241811;
}
footer{
  background:#1a100b;
}
.pin,
.map-badge{
  background:#2a1d15;
}

/* FINAL PALETTE FIX — warm coffee with milk, keep alternating rhythm */
.rooms,
.gallery,
.location-section{
  background:#4b3a2f !important;
  color:#fffaf2 !important;
}

.rooms .room{
  background:#57453a !important;
  border-color:rgba(224,188,120,.22) !important;
}
.rooms .photo-placeholder,
.gallery .photo-placeholder{
  background:linear-gradient(135deg,#6a5547,#4a392f) !important;
  color:#d8c7b5 !important;
}

.menus,
.contact{
  background:#f4efe7 !important;
  color:#241912 !important;
}
.menus .menu-heading h2,
.contact h2{color:#241912 !important}
.menus .menu-intro,
.contact p{color:#75685c !important}

.location-section .map-card{
  box-shadow:0 25px 65px rgba(28,18,12,.22) !important;
}

footer{background:#30231c !important}

/* FINAL PALETA — kawa z mlekiem, odrobinę głębsza + ciemna góra i dół */
header.site-header,
header{
  background:rgba(30,22,16,.94) !important;
}

/* Ciemne sekcje: ciepły, lekko głębszy brąz zamiast czerni */
.rooms,
.gallery,
.location-section{
  background:#2a1e17 !important;
}

.rooms .room{
  background:#34271f !important;
}

.rooms .photo-placeholder,
.gallery .photo-placeholder{
  background:linear-gradient(135deg,#46362b,#34271f) !important;
}

.location-section .map-card{
  background:#d8cec2 !important;
}

/* Stopka na samym dole — ten sam ciepły kierunek, ale trochę głębsza */
footer{
  background:#211811 !important;
  color:rgba(255,250,242,.72) !important;
  border-top:1px solid rgba(224,188,120,.18) !important;
}
footer a{color:#e0bc78 !important}

/* Góra i dół mają być wizualnym zamknięciem strony */
.site-header .brand img,
footer img{
  object-fit:contain;
  height:auto;
}



/* =========================================================
   KORONA — OSTATECZNE DOPRACOWANIE
   Czysty rytm, mniej pustki, czytelność + mobile.
   ========================================================= */

:root{
  --coffee:#2a1e17;
  --coffee-2:#34271f;
  --coffee-3:#46362b;
  --cream:#f3eee6;
  --cream-2:#ebe3d8;
  --paper:#faf7f1;
  --ink:#261b15;
  --muted:#75685c;
  --gold:#c9974b;
  --gold-light:#e6bd76;
}

/* ---------- GLOBAL ---------- */
html{scroll-padding-top:24px}
body{
  background:var(--cream);
  color:var(--ink);
  overflow-x:hidden;
}
::selection{background:rgba(201,151,75,.28);color:var(--ink)}
a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold-light);
  outline-offset:4px;
}

/* ---------- HEADER / LOGO ---------- */
.site-header{
  height:92px!important;
  padding:0 5.4vw!important;
  align-items:center!important;
  background:rgba(25,18,13,.96)!important;
  border-bottom:1px solid rgba(230,189,118,.12);
  box-shadow:0 10px 35px rgba(0,0,0,.12);
}
.brand{
  position:absolute!important;
  left:5.4vw!important;
  top:17px!important;
  width:auto!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
}
.brand img{
  width:auto!important;
  height:58px!important;
  max-width:none!important;
  object-fit:contain!important;
  display:block!important;
}
.main-nav{
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  height:92px!important;
  gap:28px!important;
  align-items:center!important;
}
.main-nav a{
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:.075em!important;
  padding:10px 0 12px!important;
}
.phone{
  top:21px!important;
  right:5.4vw!important;
  height:46px!important;
  padding:0 22px!important;
  gap:10px!important;
  color:#f0cf96!important;
  background:rgba(49,34,23,.75)!important;
  border:1px solid rgba(224,178,91,.82)!important;
  box-shadow:none!important;
  transition:background .25s ease,border-color .25s ease,transform .25s ease!important;
}
.phone:hover{
  background:rgba(76,53,32,.88)!important;
  border-color:#e9c57d!important;
  transform:translateY(-1px);
}
.phone-icon{
  display:inline-flex!important;
  width:16px!important;
  height:16px!important;
  transform:none!important;
  font-size:0!important;
  color:#e6bd76!important;
}
.phone-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.phone-icon circle{fill:currentColor;stroke:none}

/* ---------- HERO ---------- */
.hero{
  min-height:720px;
  height:100svh;
  max-height:940px;
}
.hero-shade{
  background:
    linear-gradient(90deg,rgba(7,4,2,.78) 0%,rgba(7,4,2,.48) 34%,rgba(7,4,2,.13) 70%,rgba(7,4,2,.22) 100%),
    linear-gradient(0deg,rgba(7,4,2,.42),transparent 45%,rgba(7,4,2,.22));
}
.hero-content{
  width:min(1180px,calc(100% - 11vw))!important;
  max-width:760px!important;
  margin-left:10.2vw!important;
  padding-top:clamp(175px,24vh,235px)!important;
}
.hero .eyebrow{
  font-size:10px;
  letter-spacing:.25em;
  margin-bottom:20px;
}
.hero h1{
  max-width:760px;
  font-size:clamp(54px,5.4vw,82px);
  line-height:.88;
}
.hero .lead{
  max-width:650px;
  margin:26px 0 29px;
  font-size:15px;
  line-height:1.65;
}
.actions{gap:13px}
.btn{
  min-height:54px;
  padding:0 24px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.actions .btn-gold{
  min-width:180px;
}
.actions .btn-outline{
  min-width:170px;
}
.scroll-cue{
  bottom:26px;
}

/* ---------- SECTION RHYTHM ---------- */
.section{
  padding:88px 10vw;
}
.section-kicker{
  margin-bottom:15px;
  font-size:9px;
  letter-spacing:.30em;
}
.section h2,.contact h2{
  font-size:clamp(43px,4.7vw,70px);
  line-height:.93;
}
.intro{
  min-height:310px;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
  background:var(--cream)!important;
}
.intro-copy{
  max-width:520px;
  font-size:14px;
  line-height:1.75;
}
.intro-copy p{margin-bottom:13px}

/* ---------- ROOMS — DARK ---------- */
.rooms{
  background:var(--coffee)!important;
  padding-top:82px;
  padding-bottom:92px;
}
.section-heading{margin-bottom:34px}
.rooms .room-grid{
  gap:14px;
}
.rooms .room{
  background:var(--coffee-2)!important;
  border:1px solid rgba(230,189,118,.14)!important;
  box-shadow:0 16px 45px rgba(0,0,0,.16)!important;
  overflow:hidden;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.rooms .room:hover{
  transform:translateY(-5px);
  border-color:rgba(230,189,118,.30)!important;
  box-shadow:0 22px 50px rgba(0,0,0,.25)!important;
}
.rooms .photo-placeholder,
.gallery .photo-placeholder{
  position:relative;
  min-height:260px;
  background-image:
    linear-gradient(180deg,rgba(20,13,9,.10),rgba(20,13,9,.62)),
    url("images/hero-bg.png")!important;
  background-size:cover!important;
  background-position:center!important;
  color:rgba(255,245,230,.82)!important;
  text-shadow:0 2px 15px rgba(0,0,0,.55);
}
.rooms .room:nth-child(2) .photo-placeholder{background-position:58% center!important}
.rooms .room:nth-child(3) .photo-placeholder{background-position:78% center!important}
.rooms .room-copy{padding:22px 24px 24px}
.rooms .room-copy h3{
  font-size:29px;
  margin:0 0 7px;
}
.rooms .room-copy p{
  font-size:12px;
  line-height:1.65;
  color:#c8b9ab!important;
}

/* ---------- MENU — LIGHT ---------- */
.menus{
  background:var(--cream)!important;
  color:var(--ink)!important;
  padding-top:88px;
  padding-bottom:92px;
}
.menu-heading{
  max-width:820px;
  margin-bottom:34px;
}
.menus .menu-intro{
  max-width:610px;
  color:#75685c!important;
  font-size:13px;
  line-height:1.7;
}
.menu-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}
.menus .menu-card{
  min-height:475px!important;
  padding:25px 23px 22px!important;
  border-radius:0 0 18px 18px!important;
  background:linear-gradient(150deg,#fbf7f0 0%,#eee6da 100%)!important;
  border:1px solid rgba(154,111,53,.20)!important;
  box-shadow:0 12px 32px rgba(61,43,28,.09)!important;
}
.menus .menu-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 42px rgba(61,43,28,.14)!important;
}
.menus .menu-card-top{
  margin-bottom:34px!important;
}
.menus .menu-type{color:#8a7b6b!important}
.menus .menu-card h3{
  color:#2c211a!important;
  font-size:35px!important;
}
.menus .menu-card h3 em{color:#b47d32!important}
.menus .menu-price{
  margin-top:20px;
  color:#76695d!important;
}
.menus .menu-price strong{
  color:#2c211a!important;
  font-size:27px;
}
.menus .menu-line{
  margin:20px 0 16px!important;
  background:rgba(60,43,29,.12)!important;
}
.menus .menu-card li{
  color:#5f5247!important;
  font-size:10.5px;
}
.menus .menu-card li::before{
  border-color:#bd873b!important;
}
.menus .menu-more{
  padding-top:22px;
  color:#956727!important;
  font-size:9px;
}

/* Clean sample menu structure */
.menu-sample{
  display:flex;
  flex-direction:column;
  gap:13px;
}
.sample-group>span{
  display:block;
  margin-bottom:7px;
  color:#3a2b20;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:19px;
}
.sample-group ul{
  margin:0!important;
  padding:0!important;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.sample-group li{
  padding-left:14px!important;
}
.sample-group li::before{
  width:3px!important;
  height:3px!important;
}

/* ---------- GALLERY — DARK ---------- */
.gallery{
  background:var(--coffee)!important;
  padding-top:84px;
  padding-bottom:88px;
}
.gallery-grid{
  grid-template-columns:1.25fr .75fr .75fr;
  grid-template-rows:235px 185px;
  gap:13px;
}
.gallery-grid .photo-placeholder{
  min-height:0!important;
  border:1px solid rgba(230,189,118,.13);
}
.gallery-grid .photo-placeholder:nth-child(2){background-position:28% center!important}
.gallery-grid .photo-placeholder:nth-child(3){background-position:66% center!important}
.gallery-grid .photo-placeholder:nth-child(4){background-position:90% center!important}

/* ---------- GOOGLE — LIGHT ---------- */
.google-section{
  background:#e9e0d4!important;
  padding-top:82px;
  padding-bottom:84px;
}
.google-heading{
  margin-bottom:30px;
}
.google-heading h2{
  font-size:clamp(43px,4.7vw,70px);
}
.google-link-top{
  color:#665444;
  font-size:10px;
}
.google-layout{
  gap:16px;
}
.google-card,.review-card{
  box-shadow:0 18px 45px rgba(51,34,21,.08);
}
.google-card{
  padding:28px 32px 30px;
}
.google-rating{margin-top:22px;gap:20px}
.google-rating strong{font-size:60px}
.google-divider{margin:24px 0}
.google-note{font-size:12px;line-height:1.6;margin-bottom:19px}
.review-card{padding:28px}
.review-card p{font-size:24px}

/* ---------- LOCATION — DARK ---------- */
.location-section{
  background:var(--coffee)!important;
  color:#fffaf2!important;
  padding-top:86px;
  padding-bottom:86px;
}
.location-section .location-copy>p:not(.section-kicker){
  color:#c9bbad!important;
  font-size:13px;
  line-height:1.7;
}
.address-box{margin:23px 0 22px}
.pin{
  background:#3a2b21!important;
  border:1px solid rgba(230,189,118,.16);
}
.address-box strong{font-size:22px}
.address-box span:last-child{color:#b9aa9d!important}
.map-actions{gap:10px;margin-bottom:17px}
.map-actions .btn{
  min-height:49px;
  padding:0 19px!important;
}
.map-info{
  color:#9f9184!important;
  font-size:10px!important;
  line-height:1.6!important;
}
.map-card{
  overflow:hidden;
  border:1px solid rgba(230,189,118,.16);
  box-shadow:0 22px 55px rgba(0,0,0,.25)!important;
}
.map-card iframe{min-height:430px}

/* ---------- CONTACT — LIGHT ---------- */
.contact{
  padding:78px 10vw!important;
  background:var(--cream)!important;
  color:var(--ink)!important;
  border-top:1px solid rgba(57,41,28,.08);
}
.contact h2{
  color:var(--ink)!important;
}
.contact .section-kicker{color:#b47d32!important}
.contact-actions{gap:10px}
.contact .btn-gold{
  color:#281b12!important;
}
.contact .dark-outline,
.contact .light-outline{
  color:#33251c!important;
  border-color:rgba(51,37,28,.30)!important;
  background:rgba(255,255,255,.34)!important;
}
.contact .dark-outline:hover,
.contact .light-outline:hover{
  background:#fffaf3!important;
  border-color:#b88640!important;
}

/* ---------- FOOTER ---------- */
footer{
  min-height:92px;
  padding:22px 5.4vw!important;
  background:#211811!important;
  color:rgba(255,250,242,.66)!important;
  border-top:1px solid rgba(230,189,118,.13)!important;
}
footer img{
  width:auto!important;
  height:48px!important;
  object-fit:contain!important;
}
footer a{color:#e1bd79!important}

/* ---------- MOBILE ---------- */
@media(max-width:1050px){
  .main-nav{gap:18px!important}
  .main-nav a{font-size:10px!important}
  .phone{right:3vw!important}
  .hero-content{margin-left:8vw!important}
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .site-header{
    height:76px!important;
    padding:0 18px!important;
  }
  .brand{
    left:18px!important;
    top:13px!important;
    height:50px!important;
  }
  .brand img{
    height:50px!important;
    width:auto!important;
  }
  .main-nav{
    top:76px!important;
    left:14px!important;
    right:14px!important;
    height:auto!important;
    padding:7px!important;
    display:none;
    transform:none!important;
    background:rgba(28,19,14,.985)!important;
    border:1px solid rgba(230,189,118,.18)!important;
  }
  .main-nav.open{display:flex!important}
  .main-nav a{
    width:100%;
    padding:14px 12px!important;
    color:#f8f0e4!important;
    font-size:10px!important;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .main-nav a:last-child{border-bottom:0}
  .phone{
    right:60px!important;
    top:17px!important;
    width:43px!important;
    height:42px!important;
    padding:0!important;
    justify-content:center!important;
  }
  .phone span:last-child{display:none!important}
  .menu-toggle{
    right:16px!important;
    top:22px!important;
    width:30px!important;
    height:30px!important;
  }
  .menu-toggle span{background:#f2d39b!important}
  .hero{
    min-height:700px!important;
    height:100svh!important;
  }
  .hero-content{
    width:auto!important;
    max-width:650px!important;
    margin-left:0!important;
    padding:160px 24px 90px!important;
  }
  .hero h1{font-size:clamp(45px,10.8vw,66px)!important}
  .hero .lead{font-size:13px!important;max-width:560px}
  .actions{width:100%;flex-wrap:wrap}
  .actions .btn{flex:0 0 auto}
  .section{padding:68px 24px}
  .intro{
    min-height:0;
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .section h2,.contact h2{font-size:clamp(42px,12vw,60px)}
  .rooms,.menus,.gallery,.google-section,.location-section{padding-top:68px;padding-bottom:70px}
  .room-grid{grid-template-columns:1fr!important;gap:14px}
  .rooms .photo-placeholder{min-height:230px}
  .menu-grid{grid-template-columns:1fr!important;gap:13px}
  .menus .menu-card{min-height:0!important}
  .gallery-grid{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:200px 160px 160px!important;
  }
  .gallery-grid .large{grid-row:auto!important}
  .gallery-grid .wide{grid-column:1 / span 2!important}
  .google-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:18px;
  }
  .google-layout{grid-template-columns:1fr!important}
  .location-section{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .map-card iframe{min-height:360px}
  .contact{
    padding:66px 24px!important;
    flex-direction:column;
    align-items:flex-start!important;
    gap:28px;
  }
  .contact-actions{width:100%}
  .contact-actions .btn{width:100%}
  footer{
    padding:25px 24px!important;
    align-items:flex-start!important;
  }
}
@media(max-width:520px){
  .hero-content{padding-top:145px!important}
  .hero h1{font-size:44px!important;line-height:.91!important}
  .hero .lead{font-size:12.5px!important;line-height:1.65}
  .actions .btn{width:100%;min-height:50px}
  .scroll-cue{display:none}
  .section h2,.contact h2{font-size:45px!important}
  .intro-copy{font-size:13px}
  .rooms .photo-placeholder{min-height:205px}
  .gallery-grid{
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(4,175px)!important;
  }
  .gallery-grid .wide{grid-column:auto!important}
  .google-card{padding:25px 22px}
  .google-rating strong{font-size:53px}
  .review-card{padding:25px 22px}
  .map-card iframe{min-height:320px}
  footer span{line-height:1.6}
}
@media(max-width:360px){
  .brand img{height:46px!important}
  .phone{right:54px!important}
  .hero h1{font-size:40px!important}
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
