/* Premium refresh — keeps the same structure and palette, upgrades the visual language. */
:root{
  --radius:16px;
  --radius-md:20px;
  --radius-lg:28px;
  --shadow-soft:0 10px 24px rgba(76,55,39,.05);
  --shadow-card:0 14px 34px rgba(76,55,39,.08),0 2px 10px rgba(76,55,39,.04);
  --shadow-lift:0 24px 48px rgba(76,55,39,.12),0 6px 16px rgba(76,55,39,.05);
}

html{
  background:linear-gradient(180deg,#f8f4ef 0%,#f5eee8 100%);
}
body{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.72), transparent 32%),
    linear-gradient(180deg,#f7f3ee 0%,#f4eee8 100%);
}

h1,h2,h3{
  text-wrap:balance;
  text-rendering:optimizeLegibility;
}

.site-header{
  position:sticky;
  top:0;
  background:rgba(250,247,243,.84);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 10px 26px rgba(76,55,39,.06);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(156,122,91,.35),transparent);
}
.brand>span{
  letter-spacing:.12em;
}
.desktop-nav a,
.mobile-menu a{
  position:relative;
}
.desktop-nav a::after,
.mobile-menu a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  opacity:.35;
  transition:transform .25s ease;
}
.desktop-nav a:hover::after,
.mobile-menu a:hover::after{
  transform:scaleX(1);
}
.mobile-menu{
  background:rgba(247,243,238,.96);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.btn{
  min-height:54px;
  padding:0 26px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  box-shadow:var(--shadow-soft);
}
.btn:hover{
  box-shadow:var(--shadow-lift);
}
.btn-primary{
  background:linear-gradient(135deg,#b08b69 0%,#997455 58%,#7f5e44 100%);
  border-color:rgba(120,88,61,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(87,63,42,.16);
}
.btn-primary:hover{
  background:linear-gradient(135deg,#a38061 0%,#8b674b 58%,#76573f 100%);
}
.btn-outline{
  border-color:rgba(143,113,88,.4);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 22px rgba(87,63,42,.06), inset 0 1px 0 rgba(255,255,255,.75);
}
.btn-outline:hover{
  background:rgba(255,255,255,.9);
  border-color:rgba(143,113,88,.65);
}
.btn-small{
  min-height:42px;
  padding:0 18px;
}

.hero{
  border-bottom:1px solid rgba(156,122,91,.08);
}
.hero-glow{
  background:linear-gradient(90deg,rgba(247,243,238,.92) 0%,rgba(247,243,238,.76) 36%,rgba(247,243,238,.18) 74%,rgba(247,243,238,0) 100%);
}
.hero-content h1{
  max-width:720px;
}
.hero-lead{
  font-size:16px;
  max-width:480px;
  color:#594c42;
}
.hero-signature{
  text-shadow:0 6px 26px rgba(71,46,28,.22);
}
.hero-seal{
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(255,252,249,.72);
  border:1px solid rgba(141,116,93,.38);
  box-shadow:0 18px 42px rgba(76,55,39,.13);
}

.choice-card,
.upload-panel,
.review-card,
.faq-list details{
  border-color:rgba(156,122,91,.16);
  border-radius:24px;
  box-shadow:var(--shadow-card);
}
.choice-card{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,252,248,.98));
}
.choice-card:hover{
  box-shadow:var(--shadow-lift);
  transform:translateY(-6px);
}
.choice-image,
.choice-image img,
.gallery-tile,
.gallery-tile img{
  border-radius:inherit;
}
.choice-image img,
.gallery-tile img,
.about-photo img{
  filter:saturate(1.02) contrast(1.02);
}
.choice-body p,
.about-content>p:not(.eyebrow),
.gallery-intro>p:not(.eyebrow),
.reviews-intro>p:not(.eyebrow),
.faq-intro>p:not(.eyebrow),
.preview-copy>p:not(.eyebrow){
  color:#5b4f46;
}

.preview-section,
.reviews-section,
.faq-section{
  position:relative;
}
.preview-section::before,
.reviews-section::before,
.faq-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at top center, rgba(255,255,255,.22), transparent 38%);
}
.preview-copy .preview-cta{
  border-radius:20px;
  box-shadow:0 16px 34px rgba(84,59,39,.16);
}
.preview-copy .preview-cta__arrow{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.26);
}
.compare{
  border:1px solid rgba(156,122,91,.14);
  border-radius:28px;
  box-shadow:0 22px 50px rgba(76,55,39,.16),0 6px 16px rgba(76,55,39,.05);
}
.compare-line{
  box-shadow:0 0 16px rgba(55,34,23,.2);
}
.compare-line>.compare-handle{
  background:#fff;
  border-color:#d7c4b6;
  box-shadow:0 10px 20px rgba(41,26,17,.16),0 0 0 4px rgba(255,255,255,.7);
}
.compare-line>.compare-hint{
  box-shadow:0 10px 18px rgba(41,26,17,.10);
}
.image-disclaimer{
  color:#6c6057;
}

.upload-panel{
  background:linear-gradient(135deg,rgba(255,252,249,.98) 0%,rgba(247,241,235,.96) 52%,rgba(240,231,221,.96) 100%);
}
.dropzone,
.selected-photo{
  border-radius:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.dropzone{
  background:rgba(255,255,255,.84);
}
.dropzone:hover,
.dropzone.dragging{
  box-shadow:0 12px 24px rgba(76,55,39,.08), inset 0 1px 0 rgba(255,255,255,.9);
}

.gallery-grid{
  gap:10px;
}
.gallery-tile{
  border-radius:18px;
  box-shadow:0 14px 28px rgba(76,55,39,.10);
  background:#e9dacc;
}
.gallery-tile::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(to top, rgba(34,24,18,.24), transparent);
  pointer-events:none;
}
.gallery-tile span{
  font-weight:600;
}

.reviews-track{
  padding-block:6px;
}
.review-card{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,252,248,.98));
}
.quote-mark{
  opacity:.92;
}
.review-card blockquote{
  color:#4c433d;
}
.review-source{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(156,122,91,.18);
}
.review-source-logo{
  opacity:.9;
}
.carousel-controls button{
  background:rgba(255,255,255,.88);
  border-color:rgba(156,122,91,.22);
  box-shadow:0 10px 18px rgba(76,55,39,.08);
}
.carousel-controls button:hover{
  background:#fff;
}

.about-section{
  position:relative;
  background:linear-gradient(180deg,#fffaf6 0%,#fbf5ef 100%);
  box-shadow:0 18px 40px rgba(76,55,39,.06);
}
.about-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%, rgba(255,255,255,.16) 45%, transparent 100%);
}
.about-features{
  border-left-color:rgba(156,122,91,.18);
}
.feature-icon{
  border-radius:12px;
  background:linear-gradient(180deg,#f7efe8,#f0e3d7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 16px rgba(76,55,39,.08);
}
.photo-note{
  text-shadow:0 6px 18px rgba(45,28,16,.20);
}

.faq-list details{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,252,248,.98));
}
.faq-list details:hover,
.faq-list details[open]{
  box-shadow:var(--shadow-card);
}
.faq-list summary{
  min-height:60px;
  font-weight:600;
}

.final-cta{
  border-top:1px solid rgba(156,122,91,.12);
}
.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 72% 45%, rgba(255,255,255,.4), transparent 34%);
  pointer-events:none;
}
.final-cta-inner{
  position:relative;
  z-index:1;
}
.final-cta .btn-primary{
  min-width:220px;
}

.site-footer{
  background:linear-gradient(180deg,#fffdfb 0%,#f6f1eb 100%);
}
.footer-main{
  position:relative;
}
.footer-main::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(156,122,91,.22),transparent);
}
.footer-social>a{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(156,122,91,.16);
  background:rgba(255,255,255,.68);
  box-shadow:0 10px 18px rgba(76,55,39,.07);
}
.footer-social .booking-link--icon-only .booksy-logo{
  width:20px;
  height:20px;
  min-width:20px;
}
.footer-social .back-to-top{
  margin-left:8px;
}

.notice-box{
  border-radius:18px;
  box-shadow:var(--shadow-card);
}

@media (max-width:990px){
  .choice-card,
  .upload-panel,
  .review-card,
  .faq-list details,
  .compare{
    border-radius:22px;
  }
}

@media (max-width:700px){
  :root{
    --radius:14px;
    --radius-md:18px;
    --radius-lg:22px;
  }
  .site-header{
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .btn{
    min-height:48px;
  }
  .hero-lead{
    font-size:14px;
  }
  .choice-card,
  .upload-panel,
  .review-card,
  .faq-list details,
  .compare,
  .gallery-tile,
  .dropzone,
  .selected-photo,
  .preview-copy .preview-cta{
    border-radius:18px;
  }
  .compare-line>.compare-handle{
    box-shadow:0 8px 16px rgba(41,26,17,.14),0 0 0 3px rgba(255,255,255,.72);
  }
  .footer-social>a{
    width:34px;
    height:34px;
  }
}

@media (prefers-reduced-motion:reduce){
  .desktop-nav a::after,
  .mobile-menu a::after{transition:none}
}
