/*
Theme Name: Fortune Teller Cottage
Theme URI: https://thefortunetellercottage.com/
Author: Fortune Teller Cottage
Description: Custom responsive WordPress theme for Elizabeth Rothschild and Fortune Teller Cottage.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fortune-teller-cottage
*/

:root {
  --background: #f7f0e5;
  --foreground: #40372f;
  --card: #ffffff;
  --card-foreground: #4a2d2d;
  --popover: #ffffff;
  --popover-foreground: #4a2d2d;
  --primary: #7d654d;
  --primary-foreground: #fffaf4;
  --secondary: #f5f5f5;
  --secondary-foreground: #4a2d2d;
  --muted: #f5f5f5;
  --muted-foreground: #737373;
  --accent: #f5f5f5;
  --accent-foreground: #4a2d2d;
  --destructive: #e7000b;
  --border: #e5e5e5;
  --input: #e5e5e5;
  --ring: #a1a1a1;
  --chart-1: #f54900;
  --chart-2: #009689;
  --chart-3: #104e64;
  --chart-4: #ffb900;
  --chart-5: #fe9a00;
  --radius: 1rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #4a2d2d;
  --sidebar-primary: #9b3f45;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #4a2d2d;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
  --font-sans: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  margin: 0;
}

* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.announcement { min-height:36px; display:flex; align-items:center; justify-content:center; gap:8px; background:#71383b; color:#fff8ef; font-size:12px; letter-spacing:.07em; }
.announcement strong { color:#f4d08b; text-transform:uppercase; }
.announcement span { padding-left:8px; border-left:1px solid rgba(255,255,255,.34); letter-spacing:.03em; }
.site-header { height:84px; padding:0 clamp(22px,6vw,92px); display:flex; align-items:center; justify-content:space-between; background:rgba(250,246,239,.97); position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); }
.brand, .footer-brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; color:#846b54; background:#eee3d4; }
.brand strong { display:block; font:500 17px/1.05 Georgia,serif; letter-spacing:.05em; text-transform:uppercase; }
.brand small { display:block; margin-top:3px; color:#a55d68; font:600 10px/1 var(--font-sans); letter-spacing:.27em; text-transform:uppercase; }
nav { display:flex; gap:32px; font-size:12px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
nav a:hover { color:#a55d68; }
.header-cta { display:flex; align-items:center; gap:8px; background:#786049; color:white; padding:13px 19px; border-radius:999px; font-size:13px; font-weight:700; }

.review-banner { min-height:58px; padding:9px clamp(22px,6vw,92px); display:flex; align-items:center; justify-content:center; gap:14px; background:#fffdf9; color:#5f4b3c; text-align:center; position:relative; z-index:10; }
.review-banner-rating { display:flex; align-items:center; gap:9px; font-size:15px; font-weight:650; }
.review-banner .stars { color:#d99a2b; display:flex; gap:2px; }
.review-banner-proof { padding-left:14px; border-left:1px solid rgba(113,56,59,.32); font-size:14px; }
.google-wordmark { display:flex; align-items:baseline; gap:7px; color:#71383b; font-size:15px; font-weight:700; }
.google-name { font-size:21px; font-weight:400; letter-spacing:-.08em; }
.google-wordmark i { font-style:normal; }
.google-wordmark i:nth-child(1),.google-wordmark i:nth-child(4) { color:#4285f4; }
.google-wordmark i:nth-child(2),.google-wordmark i:nth-child(6) { color:#ea4335; }
.google-wordmark i:nth-child(3) { color:#fbbc05; }
.google-wordmark i:nth-child(5) { color:#34a853; }

.desktop-prestige { min-height:154px; padding:14px clamp(34px,7vw,105px) 18px; background:linear-gradient(110deg,#663337 0%,#7b3d42 52%,#613034 100%); border-top:1px solid #8f5558; border-bottom:2px solid #d6a35b; box-shadow:inset 0 1px rgba(255,255,255,.08); }
.desktop-prestige-intro { margin-bottom:11px; text-align:center; }
.desktop-prestige-intro strong { display:block; color:#fff9ef; font:500 21px/1.16 Georgia,serif; letter-spacing:.01em; }
.desktop-prestige-intro span { display:block; margin-top:6px; color:#edc37f; font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.desktop-prestige-logos { max-width:1120px; margin:auto; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); align-items:center; gap:12px; }
.desktop-prestige-logos div { height:80px; min-width:0; padding:7px 10px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#fffdf9; border:1px solid rgba(255,255,255,.65); border-radius:10px; box-shadow:0 8px 20px rgba(35,13,15,.25); }
.desktop-prestige-logos img { width:100%; height:45px; max-width:132px; object-fit:contain; }
.desktop-prestige-logos span { margin-top:5px; color:#694c49; font-size:9.5px; font-weight:750; line-height:1.1; text-align:center; white-space:nowrap; }

.hero { min-height:760px; padding:72px clamp(22px,8vw,120px) 86px; display:grid; grid-template-columns:1.02fr .9fr; gap:clamp(44px,7vw,110px); align-items:center; position:relative; overflow:hidden; background:radial-gradient(circle at 78% 16%,#d9c4a5 0%,#a98968 40%,#705844 100%); }
.mobile-prestige { display:none; }
.hero-glow { position:absolute; border-radius:50%; filter:blur(2px); opacity:.65; pointer-events:none; }
.hero-glow-one { width:420px; height:420px; right:-120px; top:-100px; background:radial-gradient(circle,rgba(255,225,190,.34),transparent 68%); }
.hero-glow-two { width:350px; height:350px; left:-120px; bottom:-80px; background:radial-gradient(circle,rgba(118,43,50,.25),transparent 68%); }
.hero-copy, .hero-visual { position:relative; z-index:1; }
.eyebrow, .kicker { color:#a45d68; font-size:12px; font-weight:750; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow { display:flex; align-items:center; gap:8px; margin-bottom:22px; }
.hero .eyebrow { color:#e2b46f; }
.press-pill { width:max-content; display:flex; align-items:center; gap:8px; border:1px solid rgba(245,217,169,.35); color:#e8d7bc; padding:8px 12px; margin-bottom:20px; font-size:11px; letter-spacing:.08em; }
.press-pill strong { font-family:Georgia,serif; font-size:14px; color:#f5d9a9; letter-spacing:.03em; }
h1, h2, h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
h1 { font-size:clamp(54px,5.7vw,86px); line-height:.98; letter-spacing:-.045em; margin:0; color:#fff9ef; }
h1 em { color:#e2b46f; font-weight:400; }
.hero-lead { margin:27px 0 24px; max-width:630px; font-size:18px; line-height:1.7; color:#fff3eb; }
.hero-price { display:flex; align-items:center; gap:14px; margin:0 0 22px; }
.price-lockup { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.price-lockup del { color:#f0d8cb; font-size:17px; font-weight:700; text-decoration-thickness:2px; opacity:.88; }
.price { font:400 44px/1 Georgia,serif; color:#f5d9a9; }
.hero-price strong,.hero-price small { display:block; }
.hero-price strong { font-size:14px; color:#fff9ef; }
.hero-price small { margin-top:4px; color:#f6ddd4; font-size:12px; }
.primary-button { width:max-content; display:flex; align-items:center; justify-content:center; gap:10px; padding:17px 25px; border-radius:5px; color:#21191a; background:#e2b46f; box-shadow:0 12px 28px rgba(0,0,0,.28); font-weight:800; transition:.2s ease; }
.primary-button:hover { transform:translateY(-2px); background:#f0c985; }
.micro-trust { display:flex; gap:20px; margin:15px 0 24px; color:#f8e6df; font-size:12px; }
.micro-trust span,.rating-line,.booking-trust span,.footer-contact a { display:flex; align-items:center; gap:6px; }
.rating-line { gap:11px; padding-top:21px; border-top:1px solid rgba(255,255,255,.28); max-width:530px; font-size:12px; color:#fff4ed; }
.stars { display:inline-flex; gap:2px; color:#c48c45; }
.hero-visual { max-width:510px; justify-self:center; }
.hero-visual:before { content:""; position:absolute; inset:16px -16px -16px 16px; border:1px solid rgba(226,180,111,.48); border-radius:18px; }
.hero-visual img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 20%; border-radius:18px; box-shadow:0 35px 80px rgba(0,0,0,.42); position:relative; }
.hero-credentials { position:relative; margin:28px 4px 0; color:#fff6ec; font-size:12px; font-weight:650; line-height:1.55; text-align:center; }
.personal-note { position:absolute; left:-62px; bottom:36px; display:flex; gap:11px; align-items:center; padding:15px 18px; background:rgba(255,250,241,.96); border:1px solid rgba(226,180,111,.35); box-shadow:0 14px 40px rgba(0,0,0,.25); border-radius:8px; }
.note-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#f5e5e2; color:#a55d68; }
.personal-note strong,.personal-note small { display:block; }
.personal-note strong { font:600 14px Georgia,serif; }
.personal-note small { color:#756865; font-size:11px; margin-top:3px; }

.credentials { padding:92px clamp(22px,8vw,120px); background:#f8f0e3; border-bottom:1px solid #dfd0bd; }
.credentials-heading { max-width:780px; margin:0 auto 44px; text-align:center; }
.credentials-heading h2 { margin:14px 0 16px; color:#71383b; font:400 clamp(38px,4.4vw,60px)/1.08 Georgia,serif; letter-spacing:-.03em; }
.credentials-heading p { max-width:690px; margin:auto; color:#675150; font-size:17px; line-height:1.72; }
.media-logo-grid { max-width:1100px; margin:auto; display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.media-logo-card { min-height:118px; padding:14px 10px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#fff; border:1px solid #ead8cc; border-radius:13px; box-shadow:0 8px 22px rgba(104,54,58,.06); }
.media-logo-card img { width:100%; max-width:145px; height:58px; object-fit:contain; }
.media-logo-card span { min-height:20px; margin-top:10px; color:#7a5d59; font-size:12px; font-weight:700; text-align:center; }
.television-appearances { max-width:1100px; margin:18px auto 0; padding:32px 28px 30px; background:rgba(255,255,255,.72); border:1px solid #e2d2c0; border-radius:18px; text-align:center; box-shadow:0 12px 30px rgba(104,54,58,.045); }
.television-appearances h3 { margin:0 0 22px; color:#71383b; font:400 clamp(30px,3vw,43px)/1.08 Georgia,serif; }
.television-appearances p { margin:11px 0; color:#352d2c; font-size:clamp(17px,1.7vw,22px); line-height:1.45; }
.television-appearances strong { font-weight:800; }
.television-appearances span { margin:0 10px; color:#8f7570; }
.television-appearances em { font-weight:400; }
.exclusive-events { max-width:1100px; margin:18px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.exclusive-events article { min-height:230px; padding:30px; display:grid; grid-template-columns:170px 1fr; gap:25px; align-items:center; background:#eee2d1; border:1px solid #dfcdb6; border-radius:18px; }
.event-logo { height:130px; display:grid; place-items:center; padding:12px; background:#fff; border-radius:13px; }
.event-logo img { width:100%; height:100%; object-fit:contain; }
.exclusive-events article span { color:#a3474c; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.exclusive-events article h3 { margin:8px 0 8px; color:#71383b; font-size:25px; line-height:1.12; }
.exclusive-events article p { margin:0; color:#6d5653; font-size:14px; line-height:1.6; }

.acclaim { padding:90px clamp(22px,8vw,120px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(45px,8vw,120px); background:#fffaf2; border-bottom:1px solid #e3d5c3; }
.acclaim-title h2 { max-width:650px; margin:15px 0 0; color:#2d2426; font:400 clamp(40px,4.4vw,62px)/1.08 Georgia,serif; letter-spacing:-.03em; }
.acclaim-copy>p { color:#5d504d; font-size:17px; line-height:1.75; margin:0 0 18px; }
.access-callout { display:flex; align-items:flex-start; gap:13px; margin-top:28px; padding:22px; border-left:3px solid #d9a85f; background:#f5e6cc; color:#443735; font-size:15px; line-height:1.6; }
.access-callout svg { color:#94515c; flex:none; margin-top:3px; }
.access-callout strong { display:block; font-family:Georgia,serif; font-size:18px; margin-bottom:4px; }

.included,.process,.reviews,.faq { padding:100px clamp(22px,8vw,120px); }
.section-heading { max-width:720px; margin:0 auto 48px; text-align:center; }
.section-heading h2,.about h2,.booking h2 { font-size:clamp(36px,4vw,55px); line-height:1.08; color:#71383b; margin:13px 0 16px; letter-spacing:-.025em; }
.section-heading p { color:#66716f; line-height:1.7; }
.find-out { color:#a55d68; font-weight:400; }
.included-kicker { display:inline-flex; align-items:center; gap:7px; margin:2px 0 17px; font-size:13px; }
.included-kicker strong { padding:5px 9px; border-radius:999px; background:#71383b; color:#f4d08b; font-size:14px; letter-spacing:.06em; box-shadow:0 5px 14px rgba(113,56,59,.16); }
.included { background:#fffdf9; }
.included-layout { max-width:1000px; margin:auto; display:grid; grid-template-columns:1.15fr .85fr; gap:24px; }
.benefit-card,.quote-panel { border-radius:20px; padding:36px; }
.benefit-card { background:#f3ece7; border:1px solid #eaded8; }
.benefit { display:flex; gap:13px; align-items:center; padding:13px 0; color:#374e4d; border-bottom:1px solid rgba(41,77,78,.1); }
.benefit span { width:27px; height:27px; border-radius:50%; display:grid; place-items:center; color:#fff; background:#a75f69; flex:none; }
.benefit-copy { line-height:1.45; }
.benefit-copy strong { color:#8f4247; font-weight:900; letter-spacing:.035em; }
.delivery-row { display:flex; gap:13px; align-items:center; margin-top:22px; color:#8f4247; }
.delivery-row strong,.delivery-row small { display:block; }
.delivery-row small { color:#77807f; margin-top:4px; }
.quote-panel { background:#ad5053; color:#fff; display:flex; flex-direction:column; justify-content:center; }
.quote-panel svg { color:#ddb2b2; }
.quote-panel p { font:400 29px/1.4 Georgia,serif; margin:22px 0; }
.quote-panel span { color:#f7ded9; font-size:13px; }

.offerings { padding:92px clamp(22px,8vw,120px); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(45px,8vw,115px); align-items:center; background:#eee2d2; }
.offerings-intro h2 { margin:14px 0 18px; color:#71383b; font:400 clamp(38px,4.2vw,58px)/1.08 Georgia,serif; letter-spacing:-.03em; }
.offerings-intro p { color:#6d5653; font-size:17px; line-height:1.72; }
.offering-grid { display:grid; grid-template-columns:1fr; gap:17px; max-width:720px; margin:0 auto; }
.offering-grid article { padding:32px; background:#fffaf5; border:1px solid #e4cdc2; border-radius:18px; box-shadow:0 15px 35px rgba(104,54,58,.07); }
.offering-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:23px; border-radius:50%; background:#f0d0ca; color:#9b3f45; }
.offering-grid small { color:#a3474c; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.offering-grid h3 { margin:10px 0 12px; color:#71383b; font-size:27px; line-height:1.2; }
.offering-grid p { margin:0; color:#6e5955; font-size:14px; line-height:1.65; }

.location { padding:92px clamp(22px,8vw,120px); display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,7vw,90px); align-items:center; background:#fffaf2; border-bottom:1px solid #e3d5c3; }
.location-map { min-height:460px; overflow:hidden; border:8px solid #efe0cf; border-radius:22px; box-shadow:0 24px 55px rgba(83,57,43,.14); }
.location-map iframe { width:100%; height:460px; display:block; border:0; }
.location-copy h2 { margin:14px 0 19px; color:#71383b; font:400 clamp(38px,4.2vw,58px)/1.08 Georgia,serif; letter-spacing:-.03em; }
.location-copy>p { color:#66534d; font-size:17px; line-height:1.7; }
.location-copy address { margin:26px 0 16px; padding:20px; display:flex; gap:14px; align-items:flex-start; background:#f1e3d1; border:1px solid #dfcbb3; border-radius:14px; color:#493a34; font-style:normal; font-size:16px; line-height:1.55; }
.location-copy address strong { display:block; margin-bottom:3px; color:#71383b; font:600 20px Georgia,serif; }
.location-pin { width:42px; height:42px; flex:none; display:grid; place-items:center; color:#fff; background:#9d4d56; border-radius:50%; }
.location-note { margin:0 0 22px; font-size:14px!important; }
.location-actions { display:flex; flex-wrap:wrap; gap:11px; }
.location-actions a { min-height:48px; padding:13px 18px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:7px; font-size:13px; font-weight:800; }
.location-directions { color:#241719; background:#e2b46f; }
.location-call { color:#71383b; border:1px solid #cba986; background:#fffdf9; }

.about { display:flex; justify-content:center; background:#ede3d8; }
.about-copy { padding:90px clamp(38px,8vw,120px); max-width:1000px; }
.about-copy p { color:#5a4b47; font-size:17px; line-height:1.75; }
.press-link { width:max-content; margin-top:25px; padding-bottom:6px; display:flex; align-items:center; gap:8px; color:#783f48; border-bottom:1px solid #aa7c6c; font-size:14px; font-weight:750; }
.about-points { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:28px; }
.about-points span { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:#5b4542; }
.about-points svg { color:#9a5f53; }

.spotlight { padding:100px clamp(22px,8vw,120px); display:grid; grid-template-columns:1.05fr .7fr; align-items:center; gap:clamp(45px,9vw,130px); background:linear-gradient(135deg,#735b46,#a48666); color:white; }
.spotlight h2 { font:400 clamp(40px,4.6vw,64px)/1.05 Georgia,serif; margin:15px 0 22px; max-width:680px; }
.spotlight-copy>p { max-width:650px; color:#fff2eb; font-size:17px; line-height:1.75; }
.video-note { width:max-content; display:flex; align-items:center; gap:9px; padding:14px 18px; margin:26px 0 34px; border:1px solid rgba(245,217,169,.55); color:#f5d9a9; font-weight:750; font-size:14px; }
.spotlight-quote { max-width:620px; border-top:1px solid rgba(255,255,255,.14); padding-top:25px; }
.spotlight-quote p { margin:12px 0 0; color:#fff5ef; font:400 20px/1.55 Georgia,serif; }
.video-shell { width:100%; max-width:390px; justify-self:center; aspect-ratio:9/16; padding:8px; border:1px solid rgba(255,235,208,.65); border-radius:22px; background:#f7d8ce; box-shadow:0 30px 70px rgba(92,39,42,.28); }
.video-shell video { width:100%; height:100%; display:block; border:0; border-radius:15px; background:#f7d8ce; object-fit:cover; }

.process { background:#fffdf9; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:1100px; margin:auto; }
.steps article { padding:8px 42px 14px; border-right:1px solid #dfd8d0; }
.steps article:last-child { border-right:0; }
.steps article>span { font:400 13px Georgia,serif; color:#a55d68; letter-spacing:.12em; }
.steps h3 { font-size:25px; margin:16px 0 12px; color:#71383b; }
.steps p { color:#6a7472; line-height:1.65; font-size:14px; }

.reviews { background:#f3e9e6; }
.review-grid { max-width:1150px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review-card { background:#fffdf9; border:1px solid #e5d8d3; padding:30px; border-radius:16px; box-shadow:0 12px 34px rgba(86,62,60,.06); }
.review-card p { font:400 18px/1.62 Georgia,serif; color:#425553; margin:20px 0 24px; }
.review-card strong,.review-card small { display:block; }
.review-card strong { font-size:13px; }
.review-card small { margin-top:4px; color:#89918e; font-size:10px; }

.booking { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,8vw,110px); padding:100px clamp(22px,8vw,120px); background:linear-gradient(135deg,#6f5743,#927355); color:#fff; }
.kicker.light { color:#e8bfc0; }
.booking h2 { color:#fff; }
.booking-copy>p { max-width:590px; color:#fff0e9; line-height:1.7; }
.booking-price { display:flex; align-items:center; gap:17px; margin:27px 0; }
.booking-price del { color:#e8b9ae; font-size:24px; font-weight:700; text-decoration-thickness:2px; }
.booking-price>strong { font:400 47px Georgia,serif; }
.booking-price span { font-size:13px; line-height:1.35; }
.booking-price b,.booking-price small { display:block; }
.booking-price b { color:#f4d08b; font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
.booking-price small { margin-top:4px; color:#f1d5cf; }
.booking-trust { display:flex; gap:18px; font-size:11px; color:#f9e5df; }
.elementor-booking-form label,
.elementor-booking-form input,
.elementor-booking-form textarea,
.elementor-booking-form button {
    all: unset;
}

.elementor-booking-form .elementor-field-group {
    display: block;
}

.elementor-booking-form input,
.elementor-booking-form textarea {
    width: 100%;
    box-sizing: border-box;
}
/*.booking-form { align-self:center; background:#fffdf9; border-radius:18px; padding:32px; color:#71383b; box-shadow:0 28px 60px rgba(92,39,42,.24); }*/
/*.form-heading { display:flex; align-items:center; gap:12px; margin-bottom:22px; }*/
/*.form-heading>span { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#f2dfde; color:#a55d68; }*/
/*.form-heading strong,.form-heading small { display:block; }*/
/*.form-heading strong { font:500 19px Georgia,serif; }*/
/*.form-heading small { color:#83908d; font-size:11px; margin-top:4px; }*/
/*.booking-form label { display:block; margin:14px 0 6px; font-size:11px; font-weight:750; }*/
/*.booking-form input,.booking-form textarea { width:100%; border:1px solid #d8ddd8; background:#fff; border-radius:7px; padding:12px 13px; outline:none; }*/
/*.booking-form input:focus,.booking-form textarea:focus { border-color:#a55d68; box-shadow:0 0 0 3px rgba(165,93,104,.1); }*/
/*.booking-form button { width:100%; border:0; margin-top:17px; padding:15px; border-radius:7px; color:#241719; background:#e2b46f; display:flex; justify-content:center; align-items:center; gap:8px; font-weight:800; cursor:pointer; }*/
/*.form-disclaimer { display:flex; justify-content:center; align-items:center; gap:5px; color:#83908d; font-size:10px; margin:12px 0 0; }*/
/*.form-status { margin:0 0 15px; padding:11px 13px; border-radius:7px; font-size:13px; line-height:1.4; }*/
/*.form-status.success { color:#315b3b; background:#e8f4ea; border:1px solid #bedbc4; }*/
/*.form-status.error { color:#7b3338; background:#f9e7e8; border:1px solid #e7bdc0; }*/

.admin-bar .site-header { top:32px; }

.faq { background:#fffdf9; }
.faq-list { max-width:800px; margin:auto; border-top:1px solid #ddd6ce; }
.faq details { border-bottom:1px solid #ddd6ce; padding:20px 2px; }
.faq summary { list-style:none; cursor:pointer; font:500 19px Georgia,serif; color:#71383b; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:after { content:"+"; float:right; color:#a55d68; }
.faq details[open] summary:after { content:"–"; }
.faq details p { max-width:700px; color:#6f7775; line-height:1.65; font-size:14px; }

footer { padding:55px clamp(22px,8vw,120px) 32px; background:#66503e; color:white; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.footer-brand strong,.footer-brand small { display:block; }
.footer-brand strong { font:500 17px Georgia,serif; }
.footer-brand small { color:#f0d1cb; font-size:10px; margin-top:5px; }
.footer-contact { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:22px; color:#fff2ec; font-size:12px; }
.legal { grid-column:1/-1; max-width:900px; margin:20px auto 0; text-align:center; color:#ebc8c3; line-height:1.6; font-size:10px; }
.copyright { grid-column:1/-1; text-align:center; border-top:1px solid rgba(255,255,255,.18); padding-top:22px; color:#dfb7b2; font-size:10px; }

@media (max-width: 900px) {
  nav { display:none; }
  .hero { grid-template-columns:1fr; padding-top:55px; }
  .hero-visual { max-width:560px; }
  .included-layout,.booking { grid-template-columns:1fr; }
  .media-logo-grid { grid-template-columns:repeat(6,1fr); }
  .desktop-prestige { padding-inline:22px; }
  .desktop-prestige-logos { gap:6px; }
  .desktop-prestige-logos span { font-size:8px; }
  .exclusive-events { grid-template-columns:1fr; }
  .offerings { grid-template-columns:1fr; }
  .location { grid-template-columns:1fr; }
  .spotlight { grid-template-columns:1fr; }
  .acclaim { grid-template-columns:1fr; }
  .about { grid-template-columns:1fr; }
  .steps,.review-grid { grid-template-columns:1fr; gap:16px; }
  .steps article { border-right:0; border-bottom:1px solid #dfd8d0; padding:22px 5px; }
  .steps article:last-child { border-bottom:0; }
}

@media (max-width: 600px) {
  .admin-bar .site-header { top:46px; }
  .announcement { display:none; }
  .site-header { height:68px; padding:0 17px; }
  .brand-mark { width:34px; height:34px; }
  .brand strong { font-size:13px; }
  .brand small { font-size:8px; }
  .header-cta { padding:11px 13px; font-size:11px; }
  .header-cta svg { display:none; }
  .review-banner { min-height:50px; padding:7px 14px; gap:8px; }
  .review-banner-rating { justify-content:center; font-size:13px; gap:6px; white-space:nowrap; }
  .review-banner-rating .stars svg { width:14px; height:14px; }
  .review-banner-proof { display:none; }
  .google-wordmark { font-size:12px; white-space:nowrap; }
  .google-name { font-size:17px; }
  .desktop-prestige { display:none; }
  .mobile-prestige { display:block; grid-row:1; margin:-28px -20px 0; padding:28px 15px 24px; background:linear-gradient(115deg,#663337 0%,#7b3d42 52%,#613034 100%); border-top:1px solid #8f5558; border-bottom:3px solid #d6a35b; box-shadow:inset 0 1px rgba(255,255,255,.08); text-align:center; }
  .mobile-prestige h2 { margin:8px 0 7px; color:#fff9ef; font-size:34px; line-height:1.04; letter-spacing:-.025em; }
  .mobile-prestige p { margin:0 auto 20px; color:#f4dfd5; font-size:14px; line-height:1.45; }
  .mobile-prestige-logos { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; align-items:center; }
  .mobile-prestige-logos div { min-width:0; height:52px; padding:6px 4px; display:grid; place-items:center; background:#fffdf9; border:1px solid rgba(255,255,255,.7); border-radius:8px; box-shadow:0 7px 16px rgba(35,13,15,.25); }
  .mobile-prestige-logos img { width:100%; height:100%; object-fit:contain; }
  .mobile-prestige>small { display:block; color:#edc37f; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
  .mobile-prestige>strong { display:block; margin-top:15px; color:#f3dfbe; font-size:10px; line-height:1.45; }
  .hero { min-height:auto; padding:28px 20px 64px; gap:34px; }
  .hero-visual { grid-row:2; max-width:100%; width:100%; }
  .hero-copy { grid-row:3; }
  .hero-visual img { height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; display:block; }
  .hero-visual:before { inset:10px -8px -10px 8px; }
  h1 { font-size:48px; }
  .hero-lead { font-size:16px; }
  .primary-button { width:100%; }
  .micro-trust { justify-content:center; gap:10px; flex-wrap:wrap; }
  .rating-line { justify-content:center; flex-wrap:wrap; }
  .personal-note { position:relative; left:auto; bottom:auto; z-index:2; width:calc(100% - 24px); margin:14px 12px 0; }
  .hero-credentials { margin-top:18px; font-size:11px; }
  .credentials { padding:68px 20px; }
  .media-logo-grid { gap:5px; }
  .media-logo-card { min-width:0; min-height:58px; padding:7px 4px; border-radius:7px; }
  .media-logo-card img { height:31px; }
  .media-logo-card span { display:none; }
  .television-appearances { padding:25px 16px 23px; }
  .television-appearances h3 { margin-bottom:17px; font-size:30px; }
  .television-appearances p { margin:13px auto; font-size:17px; }
  .television-appearances p span { margin:0 6px; }
  .exclusive-events article { min-height:auto; padding:20px; grid-template-columns:115px 1fr; gap:16px; }
  .event-logo { height:105px; }
  .exclusive-events article h3 { font-size:21px; }
  .offerings { padding:68px 20px; gap:30px; }
  .offering-grid { grid-template-columns:1fr; }
  .location { padding:68px 20px; }
  .location-map,.location-map iframe { min-height:330px; height:330px; }
  .location-copy h2 { font-size:39px; }
  .location-actions a { width:100%; }
  .offering-grid article { padding:25px; }
  .spotlight { padding:72px 20px; }
  .acclaim { padding:68px 20px; gap:30px; }
  .included,.process,.reviews,.faq { padding:72px 20px; }
  .section-heading { margin-bottom:34px; }
  .benefit-card,.quote-panel { padding:25px; }
  .quote-panel p { font-size:24px; }
  .about-copy { padding:65px 22px; }
  .booking { padding:72px 20px; }
  .booking-form { padding:24px 18px; }
  .booking-trust { flex-wrap:wrap; }
  footer { grid-template-columns:1fr; padding:48px 22px 28px; }
  .footer-contact { justify-content:flex-start; align-items:flex-start; flex-direction:column; gap:10px; }
  .legal,.copyright { grid-column:1; }
}
