:root {
  --bg: #050505;
  --bg-soft: #0b0b0d;
  --surface: #111114;
  --surface-2: #17171b;
  --text: #f7f7f2;
  --muted: #b7b7ad;
  --subtle: #77776f;
  --brand: #e50914;
  --brand-dark: #9b0008;
  --brand-soft: rgba(229, 9, 20, .13);
  --brand-glow: rgba(229, 9, 20, .38);
  --gold: #d6b46a;
  --border: rgba(255,255,255,.10);
  --shadow: 0 30px 90px rgba(0,0,0,.45);
  --radius: 24px;
  --max: 1180px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: Impact, Haettenschweiler, "Arial Narrow Bold", var(--font);
}

body[data-theme="gold"] { --brand:#d6b46a; --brand-dark:#8f7132; --brand-soft:rgba(214,180,106,.14); --brand-glow:rgba(214,180,106,.32); }
body[data-theme="blue"] { --brand:#2563eb; --brand-dark:#1e3a8a; --brand-soft:rgba(37,99,235,.14); --brand-glow:rgba(37,99,235,.34); }
body[data-theme="emerald"] { --brand:#10b981; --brand-dark:#047857; --brand-soft:rgba(16,185,129,.14); --brand-glow:rgba(16,185,129,.30); }
body[data-theme="rose"] { --brand:#ec4899; --brand-dark:#9d174d; --brand-soft:rgba(236,72,153,.14); --brand-glow:rgba(236,72,153,.30); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background:
    radial-gradient(circle at top left, var(--brand-soft), transparent 38rem),
    radial-gradient(circle at 80% 5%, rgba(255,255,255,.08), transparent 28rem),
    var(--bg);
  line-height: 1.5;
  overflow-x: hidden;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.section-pad { padding: clamp(64px, 8vw, 116px) 0; }
.surface-section { background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)); border-block: 1px solid var(--border); }
.skip-link { position: absolute; left: -999px; top: 10px; z-index: 99; background: var(--brand); padding: 12px 16px; border-radius: 999px; }
.skip-link:focus { left: 10px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(5,5,5,.78); backdrop-filter: blur(18px); border-bottom: 1px solid var(--border); }
.nav-shell { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: baseline; gap: 8px; font-weight: 900; letter-spacing: -.02em; }
.brand-mark { color: var(--brand); font-family: Georgia, serif; font-style: italic; font-weight: 800; font-size: 1.22rem; }
.brand-name { color: var(--text); font-size: 1rem; }
.nav-links { display: flex; align-items: center; gap: 28px; font-size: .92rem; font-weight: 750; color: var(--muted); }
.nav-links a { position: relative; padding: 28px 0; }
.nav-links a:hover, .nav-links a:focus { color: var(--text); }
.nav-links a::after { content:""; position:absolute; left:0; right:0; bottom:18px; height:2px; background:var(--brand); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
.nav-links a:hover::after { transform:scaleX(1); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.menu-toggle span { display:block; width:18px; height:2px; background:var(--text); margin:4px auto; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border-radius: 12px; min-height: 48px; padding: 0 20px; border: 1px solid transparent; font-weight: 900; letter-spacing: -.01em; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; cursor: pointer; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--brand), var(--brand-dark)); color: white; box-shadow: 0 18px 48px var(--brand-glow); }
.btn-secondary { background: rgba(255,255,255,.035); border-color: var(--border); color: var(--text); }
.btn-full { width: 100%; }
.text-link { color: var(--brand); font-weight: 900; }

.hero { min-height: calc(100vh - 76px); display: grid; align-items: center; border-bottom: 1px solid var(--border); position: relative; overflow: hidden; }
.hero::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(5,5,5,.95) 0%, rgba(5,5,5,.72) 48%, rgba(5,5,5,.22) 100%); pointer-events:none; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.03fr .97fr; gap: 56px; align-items: center; }
.eyebrow { margin: 0 0 14px; color: var(--brand); text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; font-weight: 950; }
h1, h2 { margin: 0; font-family: var(--display); text-transform: uppercase; letter-spacing: -.035em; line-height: .93; text-wrap: balance; }
h1 { font-size: clamp(4rem, 9.5vw, 8.4rem); max-width: 780px; }
h1::first-letter, h2::first-letter { }
h1::after, h2::after { content:"."; color: var(--brand); }
.hero-sub { max-width: 510px; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.35rem); margin: 22px 0 30px; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.hero-visual { min-height: 620px; display:grid; place-items:center; }
.portrait-card { position: relative; width: min(480px, 100%); aspect-ratio: .82; border-radius: 34px; border: 1px solid var(--border); background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); box-shadow: var(--shadow); overflow: hidden; }
.portrait-glow { position:absolute; inset:auto -20% -20% -20%; height:60%; background: radial-gradient(circle, var(--brand-glow), transparent 65%); filter: blur(14px); }
.portrait-placeholder { position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,255,255,.20), rgba(0,0,0,.40)), repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 1px, transparent 1px 15px); display:flex; align-items:end; padding:34px; }
.portrait-label { font-family: var(--display); text-transform:uppercase; font-size: clamp(3.2rem, 6vw, 5.8rem); line-height:.86; opacity:.88; }
.floating-stat { position:absolute; padding:14px 16px; border-radius: 18px; background: rgba(10,10,12,.78); border:1px solid var(--border); backdrop-filter: blur(12px); box-shadow: var(--shadow); }
.floating-stat strong { display:block; font-size:1.28rem; }
.floating-stat span { color:var(--muted); font-size:.8rem; }
.top-stat { right:18px; top:22px; }
.bottom-stat { left:18px; bottom:22px; }

.trust-strip { background: rgba(255,255,255,.035); border-bottom:1px solid var(--border); }
.trust-grid { display:grid; grid-template-columns: repeat(5, 1fr); }
.trust-item { min-height:82px; display:flex; align-items:center; gap:12px; border-right:1px solid var(--border); color:var(--muted); font-weight:850; }
.trust-item:last-child { border-right:0; }
.trust-icon { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; color:white; background:var(--brand-soft); border:1px solid rgba(255,255,255,.12); }

.about-grid, .booking-grid, .testimonial-grid, .faq-grid { display:grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px, 7vw, 86px); align-items:start; }
h2 { font-size: clamp(3.2rem, 7.1vw, 6.5rem); }
.about-content > p, .booking-copy > p, .feature-card p { color: var(--muted); font-size:1.06rem; max-width:760px; }
.value-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top:34px; }
.value-grid article, .service-card, .booking-form, .media-card, .quote-card, .faq-item { background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); border:1px solid var(--border); border-radius: var(--radius); box-shadow: 0 18px 50px rgba(0,0,0,.22); }
.value-grid article { padding:22px; }
.value-grid span { color:var(--brand); font-weight:950; }
.value-grid h3 { margin:10px 0 8px; }
.value-grid p { color:var(--muted); margin:0; font-size:.92rem; }
.section-bar { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.section-bar h2 { font-size: clamp(2.6rem, 5vw, 4.8rem); }

.service-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:18px; }
.service-card { overflow:hidden; min-height: 340px; display:flex; flex-direction:column; }
.service-art { height:142px; background: linear-gradient(135deg, var(--brand-soft), rgba(255,255,255,.07)), radial-gradient(circle at 70% 30%, rgba(255,255,255,.20), transparent 24%), #151517; position:relative; }
.service-art::after { content: attr(data-type); position:absolute; left:16px; bottom:14px; text-transform:uppercase; color:rgba(255,255,255,.72); font-size:.72rem; letter-spacing:.18em; font-weight:950; }
.price-badge { position:absolute; right:12px; top:12px; background:rgba(0,0,0,.72); border:1px solid var(--border); border-radius:14px; padding:8px 10px; text-align:right; }
.price-badge strong { display:block; font-size:1.15rem; }
.price-badge span { color:var(--muted); font-size:.72rem; }
.service-body { padding:18px; display:flex; flex-direction:column; flex:1; }
.service-body h3 { margin:0 0 8px; }
.service-body p { color:var(--muted); margin:0 0 18px; font-size:.92rem; }
.card-cta { margin-top:auto; min-height:42px; border-radius:10px; border:1px solid color-mix(in srgb, var(--brand) 60%, transparent); color:var(--brand); display:flex; align-items:center; justify-content:space-between; padding:0 12px; font-weight:900; }

.feature-card, .final-card { border:1px solid var(--border); background: radial-gradient(circle at 12% 20%, var(--brand-soft), transparent 28rem), linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); border-radius: 34px; padding: clamp(28px, 5vw, 54px); box-shadow: var(--shadow); display:flex; align-items:center; justify-content:space-between; gap:30px; }
.feature-card h2, .final-card h2 { font-size: clamp(2.6rem, 5vw, 5.6rem); }

.booking-form { padding: 24px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:block; margin-bottom:14px; }
label span { display:block; margin-bottom:7px; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:900; }
input, select, textarea { width:100%; background:rgba(0,0,0,.38); color:var(--text); border:1px solid var(--border); border-radius:12px; min-height:48px; padding: 0 14px; outline:none; }
textarea { padding-top:14px; resize:vertical; }
input:focus, select:focus, textarea:focus { border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-soft); }
.form-note { color:var(--subtle); font-size:.84rem; margin: 2px 0 16px; }
.micro-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.micro-list span { border:1px solid var(--border); border-radius:999px; padding:8px 12px; color:var(--muted); background:rgba(255,255,255,.035); font-weight:800; font-size:.86rem; }

.media-grid { display:grid; grid-template-columns: repeat(7, 1fr); gap:14px; }
.media-card { min-height:118px; display:grid; place-items:center; text-align:center; padding:18px 10px; }
.media-card strong { display:block; margin-top:8px; }
.media-icon { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand); font-weight:950; }
.quote-stack { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.quote-card { padding:26px; }
.quote-card .quote { color:var(--text); font-size:1.02rem; }
.stars { color:var(--brand); letter-spacing:.08em; margin:18px 0 8px; }
.quote-card small { color:var(--muted); }
.faq-list { display:grid; gap:14px; }
.faq-item { padding:22px; }
.faq-item h3 { margin:0 0 8px; }
.faq-item p { margin:0; color:var(--muted); }

.final-cta { padding: 78px 0; background: radial-gradient(circle at 15% 50%, var(--brand-soft), transparent 26rem), linear-gradient(90deg, rgba(255,255,255,.025), rgba(255,255,255,.055)); border-block: 1px solid var(--border); }
.emblem { width:74px; height:74px; flex:none; border-radius:22px; background:var(--text); color:var(--bg); display:grid; place-items:center; font-family:Georgia,serif; font-weight:950; font-size:2rem; box-shadow:0 20px 50px rgba(255,255,255,.16); }
.final-actions { display:flex; gap:14px; flex-wrap:wrap; }
.site-footer { padding:42px 0 calc(42px + env(safe-area-inset-bottom)); background:#030303; }
.footer-grid { display:grid; grid-template-columns:1fr auto; gap:28px; align-items:start; }
.site-footer p { color:var(--subtle); max-width:760px; font-size:.84rem; }
address { display:grid; gap:8px; font-style:normal; color:var(--muted); }
.mobile-sticky-cta { display:none; position:fixed; left:0; right:0; bottom:0; z-index:60; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:linear-gradient(180deg, transparent, rgba(0,0,0,.92) 25%); }
.reveal { opacity:0; transform:translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .container { width: min(100% - 28px, var(--max)); }
  .nav-cta { display:none; }
  .menu-toggle { display:block; }
  .nav-links { position:fixed; left:14px; right:14px; top:86px; display:none; flex-direction:column; align-items:stretch; padding:18px; border:1px solid var(--border); border-radius:22px; background:rgba(8,8,9,.98); box-shadow:var(--shadow); }
  .nav-links.is-open { display:flex; }
  .nav-links a { padding:12px; }
  .hero-grid, .about-grid, .booking-grid, .testimonial-grid, .faq-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .hero-visual { min-height:auto; }
  .portrait-card { aspect-ratio:1; max-height:540px; }
  .trust-grid, .service-grid { grid-template-columns: repeat(2, 1fr); }
  .media-grid { grid-template-columns: repeat(3, 1fr); }
  .value-grid, .quote-stack { grid-template-columns:1fr; }
  .feature-card, .final-card { align-items:flex-start; flex-direction:column; }
  .mobile-sticky-cta { display:block; }
  .site-footer { padding-bottom:96px; }
}

@media (max-width: 620px) {
  .section-pad { padding: 58px 0; }
  h1 { font-size: clamp(3.2rem, 18vw, 5.2rem); }
  h2 { font-size: clamp(2.7rem, 14vw, 4.3rem); }
  .hero-actions, .final-actions { flex-direction:column; }
  .btn { width:100%; }
  .trust-grid, .service-grid, .media-grid, .form-row { grid-template-columns: 1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--border); min-height:68px; }
  .section-bar { align-items:flex-start; flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; }
}

/* Production polish enhancements */
.hero-proof { margin-top: 1rem; color: var(--muted); font-size: .9rem; letter-spacing: .04em; }
.process-stack { display: grid; gap: .8rem; margin: 1.5rem 0; }
.process-stack div { display: flex; align-items: center; gap: .8rem; padding: .85rem; border: 1px solid var(--border); border-radius: 16px; background: rgba(255,255,255,.035); }
.process-stack strong { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--brand); color: white; box-shadow: 0 12px 35px var(--brand-glow); }
.payment-preview { padding: 1rem; border-radius: 18px; background: linear-gradient(135deg, rgba(229,9,20,.14), rgba(255,255,255,.03)); border: 1px solid rgba(229,9,20,.35); display: grid; gap: .35rem; }
.payment-preview span { color: var(--muted); }
.check-line { display:flex !important; flex-direction: row !important; gap:.7rem; align-items:flex-start; color:var(--muted); font-size:.9rem; }
.check-line input { width:auto !important; margin-top:.25rem; accent-color: var(--brand); }
.form-message { margin-top: 1rem; color: var(--text); font-weight: 700; }
.form-message.success { padding: 1rem; border: 1px solid rgba(34,197,94,.35); background: rgba(34,197,94,.08); border-radius: 16px; }
.contact-cards { display:grid; gap:.75rem; margin-top:1.5rem; }
.contact-cards a, .contact-cards span { padding: 1rem; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.04); color:var(--text); text-decoration:none; }
.compact { width:max-content; margin-top:1rem; padding:.85rem 1rem; }
.mobile-book { position: fixed; left: 1rem; right: 1rem; bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 40; display:none; text-align:center; padding:1rem; border-radius:999px; background:var(--brand); color:#fff; text-decoration:none; font-weight:900; box-shadow:0 18px 50px var(--brand-glow); }
.btn, .card-cta, .text-link, button { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.btn:hover, .card-cta:hover, .text-link:hover, button:hover { transform: translateY(-2px); }
.btn:active, button:active { transform: translateY(1px) scale(.99); }
.btn-primary:hover { box-shadow: 0 20px 55px var(--brand-glow); }
.page-hero { padding: 9rem 0 4rem; background: radial-gradient(circle at 70% 20%, var(--brand-glow), transparent 32%), linear-gradient(180deg, var(--bg), var(--bg-soft)); }
.page-hero h1 { max-width: 920px; font-size: clamp(3rem, 8vw, 7rem); line-height: .88; letter-spacing: -.06em; text-transform: uppercase; margin: .5rem 0 1rem; }
.page-hero p { max-width: 760px; color: var(--muted); font-size: clamp(1rem, 2vw, 1.25rem); }
.page-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:start; }
.copy-card, .admin-card { background: var(--card); border:1px solid var(--border); border-radius: 28px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--shadow); }
.copy-card h2, .admin-card h2 { margin-top:0; }
.copy-card p, .copy-card li, .admin-card p, .admin-card li { color:var(--muted); }
.policy-content { max-width: 900px; }
.policy-content h2 { margin-top:2rem; }
.review-form-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.admin-shell { display:grid; grid-template-columns: 260px 1fr; min-height:100vh; background:var(--bg); }
.admin-side { padding:1.5rem; border-right:1px solid var(--border); background:#070708; position:sticky; top:0; height:100vh; }
.admin-side nav { display:grid; gap:.55rem; margin-top:1.5rem; }
.admin-side a { color:var(--muted); text-decoration:none; padding:.85rem 1rem; border-radius:14px; }
.admin-side a:hover, .admin-side a.active { color:white; background:rgba(255,255,255,.06); }
.admin-main { padding:2rem; }
.metric-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.metric { padding:1.2rem; border:1px solid var(--border); border-radius:20px; background:var(--card); }
.metric strong { display:block; font-size:2rem; }
.table-like { display:grid; gap:.65rem; }
.table-row { display:grid; grid-template-columns: 1.2fr 1fr 1fr auto; gap:1rem; align-items:center; padding:1rem; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.035); }
.status-pill { border-radius:999px; padding:.35rem .7rem; background:rgba(229,9,20,.12); color:var(--text); font-size:.8rem; }
@media (max-width: 860px) { .page-grid, .admin-shell { grid-template-columns: 1fr; } .admin-side { position:relative; height:auto; } .metric-grid { grid-template-columns: repeat(2, 1fr); } .review-form-grid { grid-template-columns:1fr; } .mobile-book { display:block; } .nav-cta { display:none; } body { padding-bottom: 4.5rem; } }
@media (max-width: 560px) { .metric-grid { grid-template-columns:1fr; } .table-row { grid-template-columns:1fr; } }

/* Final polish: clearer content, email capture, animated review stars */
:root { --card: var(--surface); }
.clean-copy { color: var(--muted); max-width: 620px; margin-top: 1rem; }
.clean-list { margin: 1.4rem 0 0; padding-left: 1.1rem; color: var(--muted); }
.clean-list li { margin: .55rem 0; }
code { background: rgba(255,255,255,.07); border: 1px solid var(--border); border-radius: 8px; padding: .15rem .35rem; color: var(--text); }
.updates-section .booking-form { position: relative; overflow: hidden; }
.updates-section .booking-form::before { content:""; position:absolute; inset:-40% -30% auto auto; width:220px; height:220px; border-radius:999px; background: var(--brand-glow); filter: blur(42px); pointer-events:none; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: rgba(247,247,242,.38); }
.rating-field { margin-bottom: 18px; }
.rating-label { display:block; margin-bottom:7px; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:900; }
.star-picker { display:flex; gap:.38rem; align-items:center; padding:.85rem; border:1px solid var(--border); border-radius:18px; background:rgba(0,0,0,.30); }
.star-picker button { width:46px; height:46px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.04); color:rgba(255,255,255,.28); font-size:1.55rem; line-height:1; cursor:pointer; box-shadow:none; transition: transform .16s ease, color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease; }
.star-picker button:hover { transform: translateY(-3px) scale(1.04); color: var(--gold); border-color: rgba(214,180,106,.45); background: rgba(214,180,106,.08); box-shadow: 0 12px 32px rgba(214,180,106,.12); }
.star-picker button.is-active { color: var(--gold); border-color: rgba(214,180,106,.55); background: rgba(214,180,106,.12); text-shadow: 0 0 18px rgba(214,180,106,.65); animation: starPop .24s ease; }
.star-picker.has-rating button.is-active { transform: translateY(-2px); }
.rating-help { margin:.55rem 0 0; color: var(--muted); font-size:.9rem; }
@keyframes starPop { 0% { transform: scale(.82); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
.footer-links { display:grid; gap:.55rem; min-width:150px; }
.footer-links a, .footer-contact a, .footer-contact span { color: var(--muted); }
.footer-links a:hover, .footer-contact a:hover { color: var(--text); }
.footer-contact { display:grid; gap:.55rem; min-width:190px; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--border); margin-top:2rem; padding-top:1rem; color:var(--subtle); font-size:.82rem; }
@media (max-width: 620px) { .star-picker { justify-content:space-between; } .star-picker button { width:42px; height:42px; } .footer-bottom { flex-direction:column; } }
.star-picker button.is-preview { color: var(--gold); border-color: rgba(214,180,106,.35); background: rgba(214,180,106,.07); }


/* Calendar + dashboard controls update */
.nav-shell { gap: 14px; }
.nav-login { min-height: 42px; padding-inline: 14px; font-size: .86rem; }
.booking-grid-wide { grid-template-columns: 1fr 1fr; }
.calendar-panel, .selected-date-card, .checkout-summary { border: 1px solid var(--border); border-radius: 24px; padding: 1rem; background: rgba(255,255,255,.045); box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.calendar-legend { display:flex; flex-wrap:wrap; gap: .85rem; margin-bottom: 1rem; color: var(--muted); font-weight: 800; font-size: .85rem; }
.calendar-legend span { display:flex; align-items:center; gap:.35rem; }
.dot { width:10px; height:10px; border-radius:999px; display:inline-block; }
.dot.open { background:#22c55e; } .dot.limited { background:#d6b46a; } .dot.closed { background:#777; }
.availability-calendar { display:grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap:.55rem; }
.calendar-day { min-height: 86px; border:1px solid var(--border); border-radius:16px; background:rgba(255,255,255,.035); color:var(--text); display:grid; place-items:center; padding:.45rem; cursor:pointer; }
.calendar-day span { color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.calendar-day strong { font-size:1.35rem; }
.calendar-day small { font-size:.72rem; color:var(--muted); }
.calendar-day.open { border-color: rgba(34,197,94,.32); }
.calendar-day.limited { border-color: rgba(214,180,106,.45); }
.calendar-day.closed { opacity:.42; cursor:not-allowed; }
.calendar-day.selected { background: linear-gradient(135deg, var(--brand), var(--brand-dark)); border-color: transparent; transform: translateY(-2px); box-shadow: 0 15px 42px var(--brand-glow); }
.calendar-day.selected span, .calendar-day.selected small { color: rgba(255,255,255,.78); }
.selected-date-card { margin-top: 1rem; display:grid; gap:.7rem; }
.selected-date-card > span { color:var(--muted); }
.time-slot-grid { display:flex; flex-wrap:wrap; gap:.5rem; }
.time-chip { width:auto; min-height:40px; border-radius:999px; border:1px solid var(--border); background:rgba(0,0,0,.28); color:var(--text); padding:0 .9rem; cursor:pointer; }
.time-chip.selected { background:var(--brand); border-color:var(--brand); color:#fff; box-shadow: 0 12px 32px var(--brand-glow); }
.btn-mini { min-height: 38px; padding-inline: 13px; margin-top: .75rem; width: max-content; }
.form-actions-split { display:grid; grid-template-columns: 1fr 1fr; gap:.8rem; margin-top:1rem; }
.service-meta { display:inline-flex; width:max-content; margin-bottom:.7rem; border:1px solid var(--border); border-radius:999px; color:var(--muted); padding:.25rem .55rem; font-weight:900; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.service-actions { display:grid; gap:.55rem; margin-top:auto; }
.card-cta-primary { background: rgba(229,9,20,.10); }
.card-cta-secondary { color: var(--muted); border-color: var(--border); justify-content:center; }
.admin-topbar { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.admin-action-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:.8rem; margin-top:1.2rem; }
.booking-admin-list { display:grid; gap:1rem; }
.admin-booking-card { border:1px solid var(--border); border-radius:24px; background:var(--card); padding:1.15rem; box-shadow:var(--shadow); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.admin-booking-card.row-updated { transform: scale(1.01); border-color: var(--brand); background: linear-gradient(135deg, rgba(229,9,20,.12), rgba(255,255,255,.04)); }
.admin-booking-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.admin-booking-head h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); margin:.2rem 0; }
.admin-booking-head p, .admin-request-note, .admin-booking-card small { color:var(--muted); }
.reschedule-fields { display:grid; grid-template-columns: 1fr 1fr; gap:.75rem; margin:1rem 0; }
.admin-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin:.85rem 0; }
.btn-danger { background: rgba(239,68,68,.12); color:#fecaca; border-color:rgba(239,68,68,.32); }
.status-pill[data-state="accept"], .status-pill[data-state="paid"] { background:rgba(34,197,94,.14); }
.status-pill[data-state="decline"] { background:rgba(239,68,68,.16); }
.status-pill[data-state="reschedule"], .status-pill[data-state="payment"] { background:rgba(214,180,106,.16); }
.admin-login-page .micro-list span { background:rgba(255,255,255,.07); }
@media (max-width: 1100px) { .availability-calendar { grid-template-columns: repeat(4, 1fr); } .admin-action-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 860px) { .booking-grid-wide { grid-template-columns:1fr; } .nav-login { display:none; } .form-actions-split, .reschedule-fields, .admin-action-grid { grid-template-columns:1fr; } .admin-topbar, .admin-booking-head { flex-direction:column; } }
@media (max-width: 560px) { .availability-calendar { grid-template-columns: repeat(2, 1fr); } .calendar-day { min-height:74px; } }


/* SaaS builder final polish */
body { scroll-behavior: smooth; }
.section-customized { background: var(--section-bg) !important; color: var(--section-text) !important; }
.section-customized h1, .section-customized h2, .section-customized h3, .section-customized p, .section-customized a, .section-customized span { color: var(--section-text); }
.section-customized .eyebrow, .section-customized .text-link, .section-customized .brand-mark { color: var(--section-accent) !important; }
.section-customized .btn-primary, .section-customized .card-cta-primary { background: var(--section-accent) !important; border-color: var(--section-accent) !important; }
.media-card { min-height: 164px; position:relative; isolation:isolate; overflow:hidden; align-items:flex-start; justify-content:space-between; }
.media-card::before { content:""; position:absolute; inset:auto -30% -65% -30%; height:150px; background: radial-gradient(circle, var(--brand-glow), transparent 70%); opacity:.7; z-index:-1; transition:transform .25s ease, opacity .25s ease; }
.media-card:hover::before { transform:translateY(-28px) scale(1.1); opacity:1; }
.media-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:18px; background:rgba(255,255,255,.08); border:1px solid var(--border); color:var(--text); }
.media-icon svg { width:26px; height:26px; fill:currentColor; }
.media-card small { color:var(--muted); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.media-youtube .media-icon { color:#ff0033; } .media-tiktok .media-icon { color:#ffffff; } .media-instagram .media-icon { color:#ff5c8a; } .media-twitch .media-icon { color:#9146ff; } .media-spotify .media-icon { color:#1db954; } .media-applemusic .media-icon { color:#fa2d48; } .media-soundcloud .media-icon { color:#ff7700; }
.page-hero, .hero, .service-card, .booking-form, .quote-card, .copy-card, .admin-card, .saas-panel, .saas-metric, .builder-control-card, .builder-preview-card { animation: softEnter .55s ease both; }
@keyframes softEnter { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
.admin-saas-shell { background: #f5f6f8; color:#111827; }
.admin-saas-shell .admin-side { background:#08090d; color:#fff; box-shadow: 18px 0 50px rgba(15,23,42,.08); }
.admin-saas-shell .brand-name { color:#fff; }
.saas-main { color:#111827; }
.saas-topbar { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1.5rem; padding:1.25rem; border:1px solid rgba(15,23,42,.08); border-radius:28px; background:linear-gradient(135deg,#fff,#f8fafc); box-shadow:0 24px 70px rgba(15,23,42,.08); }
.saas-topbar h1 { color:#0f172a; font-size:clamp(2rem,4vw,4rem); line-height:.95; margin:.2rem 0; letter-spacing:-.05em; }
.admin-muted { color:#64748b; max-width:720px; }
.admin-top-actions { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:flex-end; }
.saas-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.saas-metric { position:relative; padding:1.25rem; border-radius:24px; border:1px solid rgba(15,23,42,.08); background:#fff; box-shadow:0 18px 48px rgba(15,23,42,.07); overflow:hidden; }
.saas-metric::after { content:""; position:absolute; right:-40px; top:-40px; width:110px; height:110px; border-radius:999px; background:rgba(229,9,20,.12); }
.saas-metric span { color:#64748b; font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; }
.saas-metric strong { color:#0f172a; display:block; font-size:2.4rem; letter-spacing:-.05em; margin:.4rem 0; }
.saas-metric small { color:#64748b; display:block; }
.trend-up, .trend-warn { display:inline-block; margin-top:.75rem; font-size:.78rem; border-radius:999px; padding:.35rem .6rem; background:#dcfce7; color:#166534; }
.trend-warn { background:#fef3c7; color:#92400e; }
.saas-grid-two { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; margin-bottom:1rem; }
.saas-panel { padding:1.25rem; border:1px solid rgba(15,23,42,.08); border-radius:28px; background:#fff; box-shadow:0 18px 48px rgba(15,23,42,.07); }
.panel-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1rem; }
.panel-head h2, .saas-panel h2 { color:#0f172a; margin:.15rem 0 0; font-size:1.45rem; letter-spacing:-.03em; }
.pipeline { display:grid; gap:.9rem; }
.pipeline div { display:grid; grid-template-columns:1fr auto; gap:.5rem; align-items:center; }
.pipeline meter { grid-column:1/-1; width:100%; height:12px; accent-color:var(--brand); }
.decision-list { display:grid; gap:.8rem; }
.decision-list article { padding:1rem; border:1px solid rgba(15,23,42,.08); border-radius:20px; background:#f8fafc; display:grid; gap:.6rem; }
.decision-list span { color:#64748b; }
.mini-action { border:1px solid rgba(15,23,42,.12); background:#fff; color:#0f172a; padding:.55rem .7rem; border-radius:12px; margin-right:.4rem; cursor:pointer; font-weight:800; }
.mini-action.accept { background:#16a34a; color:#fff; } .mini-action.danger { background:#fee2e2; color:#991b1b; }
.admin-data-table { display:grid; gap:.55rem; }
.admin-table-row { display:grid; grid-template-columns:1fr .7fr 1.2fr .6fr; gap:1rem; align-items:center; padding:.9rem 1rem; border-radius:16px; background:#f8fafc; border:1px solid rgba(15,23,42,.06); color:#334155; }
.table-head { background:#0f172a; color:#fff; font-weight:900; }
.builder-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:1rem; align-items:start; }
.builder-controls { display:grid; gap:1rem; }
.builder-control-card { display:grid; grid-template-columns:1fr repeat(3, minmax(120px, .3fr)); gap:1rem; align-items:center; padding:1.1rem; border:1px solid rgba(15,23,42,.08); border-radius:24px; background:#fff; box-shadow:0 18px 48px rgba(15,23,42,.06); }
.builder-control-card h2 { color:#0f172a; font-size:1.1rem; margin:.1rem 0; }
.builder-control-card small { color:#64748b; }
.builder-control-card label { display:grid; gap:.35rem; color:#475569; font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.builder-control-card input[type=color] { width:100%; height:44px; border:0; background:transparent; cursor:pointer; }
.builder-preview { position:sticky; top:1rem; padding:1.2rem; border-radius:28px; background:#0f172a; color:#fff; box-shadow:0 24px 70px rgba(15,23,42,.24); }
.builder-preview h2 { color:#fff; }
.builder-preview-card { --preview-background:#050505; --preview-accent:#e50914; --preview-text:#f7f7f2; background:var(--preview-background); color:var(--preview-text); border:1px solid rgba(255,255,255,.12); border-radius:22px; padding:1rem; margin:.75rem 0; }
.builder-preview-card span { color:var(--preview-accent); font-weight:900; letter-spacing:.1em; text-transform:uppercase; font-size:.74rem; }
.builder-preview-card strong { display:block; margin:.35rem 0; color:var(--preview-text); }
.builder-preview-card p { color:color-mix(in srgb, var(--preview-text), transparent 25%); margin:0; }
@media (max-width:1000px){ .saas-metric-grid, .saas-grid-two, .builder-layout { grid-template-columns:1fr; } .builder-control-card { grid-template-columns:1fr; } .builder-preview { position:relative; } .admin-table-row { grid-template-columns:1fr; } }
@media (max-width:720px){ .saas-topbar { flex-direction:column; } .admin-top-actions { justify-content:flex-start; width:100%; } .admin-top-actions .btn { width:auto; } .saas-metric-grid { grid-template-columns:1fr; } }


/* FlyInk Auth + full navigation patch */
.footer-links strong, .footer-contact strong { color: var(--text); font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; margin-bottom: .3rem; }
.nav-links a.active { color: var(--text); background: rgba(255,255,255,.06); }
.auth-page { min-height: 100vh; background: radial-gradient(circle at 78% 8%, var(--brand-soft), transparent 26rem), var(--bg); }
.auth-hero { padding-top: 9rem; }
.auth-grid { display: grid; grid-template-columns: 1fr minmax(320px, 480px); gap: clamp(1.25rem, 4vw, 3rem); align-items: center; }
.auth-copy h1 { font-size: clamp(3.2rem, 8vw, 7rem); line-height: .88; letter-spacing: -.06em; text-transform: uppercase; margin: .5rem 0 1rem; }
.auth-copy p { color: var(--muted); max-width: 680px; font-size: 1.08rem; }
.auth-card { border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)); border-radius: 30px; padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--shadow); }
.auth-card h2 { margin-top: 0; }
.auth-switch { color: var(--muted); margin-top: 1rem; }
.auth-switch a { color: var(--text); font-weight: 900; }
.admin-saas-shell { background: #f6f7fb; color: #101114; }
.admin-saas-shell .admin-side { background: #07080b; color: white; }
.admin-saas-shell .admin-main { color: #101114; }
.saas-main h1 { color: #101114; font-size: clamp(2.4rem, 5vw, 4.8rem); letter-spacing: -.05em; margin: .2rem 0; }
.saas-main .admin-muted, .saas-main p, .saas-main small { color: #646a78; }
.saas-main .admin-card, .saas-main .metric { background: white; border-color: rgba(15,23,42,.08); box-shadow: 0 18px 50px rgba(15,23,42,.08); }
.saas-main .metric span { color: #646a78; font-weight: 900; font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.saas-main .metric strong { color: #101114; }
.saas-main .table-row { background: white; border-color: rgba(15,23,42,.08); }
.saas-topbar { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1.5rem; }
.admin-top-actions { display:flex; gap:.7rem; flex-wrap:wrap; }
.admin-dashboard-grid { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; margin-bottom:1rem; }
.admin-card-head { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; }
.admin-card-head h2 { margin:0; }
.pipeline-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:.8rem; }
.pipeline-grid div { border:1px solid rgba(15,23,42,.08); background:#f8fafc; border-radius:18px; padding:1rem; }
.pipeline-grid strong { color:#101114; font-size:1.8rem; display:block; }
.pipeline-grid span { color:#646a78; }
@media (max-width: 980px) { .auth-grid, .admin-dashboard-grid { grid-template-columns: 1fr; } .saas-topbar { flex-direction: column; } .pipeline-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .pipeline-grid { grid-template-columns: 1fr; } }

/* Admin dashboard consumer polish */
.admin-dashboard-page { display:grid; gap:1rem; max-width:1420px; margin:0 auto; }
.admin-command-center { display:flex; justify-content:space-between; gap:1.25rem; align-items:flex-start; padding:1.35rem; border:1px solid rgba(15,23,42,.08); border-radius:18px; background:linear-gradient(135deg,#fff,#f8fafc); box-shadow:0 20px 60px rgba(15,23,42,.08); }
.admin-command-center h1 { color:#0f172a; font-size:clamp(2.25rem,5vw,4.6rem); line-height:.96; letter-spacing:-.04em; margin:.15rem 0 .65rem; }
.admin-command-center p { margin:0; max-width:720px; }
.admin-dashboard-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.admin-dashboard-metrics article { position:relative; min-height:150px; padding:1.15rem; border:1px solid rgba(15,23,42,.08); border-radius:14px; background:#fff; box-shadow:0 16px 44px rgba(15,23,42,.07); overflow:hidden; }
.admin-dashboard-metrics article::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,#e50914,#d6b46a); }
.admin-dashboard-metrics span,.admin-kicker { display:block; color:#64748b; font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-dashboard-metrics strong { display:block; margin:.65rem 0 .35rem; color:#0f172a; font-size:clamp(2rem,3.4vw,3rem); letter-spacing:-.04em; line-height:1; }
.admin-dashboard-metrics small { color:#64748b; line-height:1.45; }
.admin-workflow-grid,.admin-dashboard-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr); gap:1rem; align-items:start; }
.admin-workflow-card { padding:1.25rem; border:1px solid rgba(15,23,42,.08); border-radius:14px; background:#fff; box-shadow:0 16px 44px rgba(15,23,42,.07); }
.admin-workflow-card h2 { margin:.18rem 0 0; color:#101114; font-family:var(--font); font-size:1.35rem; letter-spacing:-.02em; text-transform:none; }
.admin-workflow-card h2::after { content:none; }
.admin-workflow-card p { color:#64748b; }
.admin-workflow-card a { color:#101114; font-weight:850; text-decoration:none; }
.admin-status-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.admin-status-rail div,.admin-health-list a,.admin-action-list a { display:grid; gap:.25rem; padding:1rem; border:1px solid rgba(15,23,42,.08); border-radius:12px; background:#f8fafc; }
.admin-status-rail strong,.admin-action-list strong,.admin-health-list strong { color:#0f172a; font-size:1.65rem; line-height:1; }
.admin-status-rail span,.admin-action-list span,.admin-health-list span { color:#64748b; font-weight:700; line-height:1.45; }
.admin-action-list { display:grid; gap:.65rem; }
.admin-action-list a { grid-template-columns:54px 1fr; align-items:center; }
.admin-record-list { display:grid; gap:.65rem; }
.admin-record { display:grid; grid-template-columns:70px minmax(0,1fr) minmax(210px,.75fr) auto; gap:1rem; align-items:center; padding:.95rem; border:1px solid rgba(15,23,42,.08); border-radius:12px; background:#f8fafc; color:#101114; text-decoration:none; }
.admin-record-id { color:#64748b; font-weight:900; }
.admin-record strong,.admin-record span,.admin-record small { display:block; }
.admin-record small,.admin-record span { color:#64748b; line-height:1.45; }
.admin-record em { justify-self:end; min-width:112px; text-align:center; font-style:normal; font-size:.78rem; font-weight:900; color:#991b1b; background:#fee2e2; border-radius:999px; padding:.45rem .7rem; }
.admin-business-health { display:grid; gap:1rem; }
.admin-health-list { display:grid; gap:.65rem; }
.admin-health-list a { grid-template-columns:64px 1fr; align-items:center; }
.admin-request-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.admin-request-grid article { padding:1rem; border:1px solid rgba(15,23,42,.08); border-radius:12px; background:#f8fafc; }
.admin-request-grid article span { color:#991b1b; font-size:.74rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.admin-request-grid article strong { display:block; margin:.55rem 0 .35rem; color:#0f172a; }
.admin-request-grid article p { margin:0; }
.admin-empty-state { padding:1.25rem; border:1px dashed rgba(15,23,42,.18); border-radius:12px; background:#f8fafc; }
.admin-empty-state h3 { margin:.1rem 0 .35rem; color:#0f172a; }
.admin-empty-state p { margin:0; }
@media (max-width:1180px){ .admin-dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-workflow-grid,.admin-dashboard-split { grid-template-columns:1fr; } .admin-request-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px){ .admin-command-center { flex-direction:column; } .admin-dashboard-metrics,.admin-status-rail,.admin-request-grid { grid-template-columns:1fr; } .admin-record { grid-template-columns:1fr; } .admin-record em { justify-self:start; } }

/* Fly Ink Mack consulting custom sections */
.portrait-photo{overflow:hidden;border-radius:28px;background:#111;}
.portrait-photo img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;filter:saturate(1.04) contrast(1.04);}
.why-section{background:linear-gradient(135deg,#050505,#111114);color:#f7f7f2;}
.why-grid{display:grid;grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);gap:clamp(24px,4vw,56px);align-items:start;}
.why-grid .section-heading p{max-width:680px;color:rgba(247,247,242,.78);}
.why-cards{display:grid;gap:16px;}
.why-cards article{border:1px solid rgba(214,180,106,.28);background:rgba(255,255,255,.045);border-radius:24px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.22);}
.why-cards span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:999px;background:rgba(229,9,20,.15);color:#d6b46a;font-weight:800;margin-bottom:12px;}
.why-cards h3{margin:0 0 8px;font-size:1.15rem;}
.why-cards p{margin:0;color:rgba(247,247,242,.76);}
.proof-gallery{--section-bg:#0b0b0d;--section-text:#f7f7f2;color:var(--section-text);background:var(--section-bg);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.gallery-grid figure{margin:0;border:1px solid rgba(255,255,255,.10);border-radius:26px;overflow:hidden;background:rgba(255,255,255,.05);box-shadow:0 24px 70px rgba(0,0,0,.24);}
.gallery-grid img{width:100%;height:360px;object-fit:cover;display:block;}
.gallery-grid figcaption{padding:16px 18px;color:rgba(247,247,242,.78);font-weight:650;}
.form-message.error{color:#ffb4b4;background:rgba(229,9,20,.12);border:1px solid rgba(229,9,20,.26);}
@media (max-width:900px){.why-grid,.gallery-grid{grid-template-columns:1fr}.portrait-photo img{min-height:340px}.gallery-grid img{height:330px}}

/* Fly Ink Mack Consulting performance + photo-led landing page upgrade */
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }
.consult-home .site-header { backdrop-filter: blur(18px); }
.consult-hero { min-height: auto; padding-top: clamp(96px, 12vw, 150px); background: radial-gradient(circle at 70% 20%, var(--brand-glow), transparent 36rem), linear-gradient(180deg, #050505 0%, #0b0b0d 100%); overflow: hidden; }
.consult-hero-grid { display:grid; grid-template-columns: minmax(0, .92fr) minmax(380px, .72fr); gap: clamp(28px, 5vw, 72px); align-items:center; }
.consult-hero-copy h1 { font-size: clamp(3.2rem, 8vw, 7.9rem); line-height: .86; letter-spacing: -.075em; text-transform: uppercase; margin: .15em 0 .24em; max-width: 990px; }
.consult-hero-copy .hero-sub { max-width: 760px; font-size: clamp(1.04rem, 1.8vw, 1.34rem); line-height: 1.7; color: rgba(255,255,255,.76); }
.consult-hero-photo { border-radius: clamp(26px, 4vw, 44px); overflow:hidden; min-height: 620px; box-shadow: 0 38px 110px rgba(0,0,0,.62); border:1px solid rgba(255,255,255,.14); background:#111; }
.consult-hero-photo picture, .consult-hero-photo img { display:block; width:100%; height:100%; }
.consult-hero-photo img { object-fit: cover; object-position: center 20%; transform: scale(1.005); }
.consult-proofline { display:flex; gap:10px; flex-wrap:wrap; margin-top: 24px; }
.consult-proofline span { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055); color:rgba(255,255,255,.74); border-radius: 999px; padding: 8px 12px; font-weight: 850; font-size:.86rem; }
.quick-outcomes { border-block: 1px solid var(--border); background: rgba(255,255,255,.025); }
.outcome-grid { display:grid; grid-template-columns: repeat(4, 1fr); }
.outcome-grid article { padding: 22px 20px; border-right: 1px solid var(--border); min-height: 112px; display:flex; flex-direction:column; justify-content:center; gap: 7px; }
.outcome-grid article:last-child { border-right:0; }
.outcome-grid strong { font-size: 1.1rem; }
.outcome-grid span { color: var(--muted); font-size:.92rem; line-height:1.5; }
.why-layout { display:grid; grid-template-columns: .88fr 1.12fr; gap: clamp(28px, 5vw, 70px); align-items:start; }
.why-layout .section-heading { position: sticky; top: 110px; }
.why-list { display:grid; gap:16px; }
.why-list article, .consult-service-grid article, .package-card { background: linear-gradient(145deg, rgba(255,255,255,.078), rgba(255,255,255,.028)); border:1px solid var(--border); border-radius: 28px; padding: clamp(22px, 3vw, 34px); box-shadow: 0 24px 80px rgba(0,0,0,.24); }
.why-list span, .consult-service-grid span { display:inline-grid; place-items:center; width: 44px; height: 44px; border-radius: 50%; background: var(--brand); color:white; font-weight:950; margin-bottom: 18px; box-shadow: 0 16px 40px var(--brand-glow); }
.why-list h3, .consult-service-grid h3 { margin:0 0 10px; font-size: clamp(1.22rem, 2.2vw, 1.75rem); }
.why-list p, .consult-service-grid p, .package-card p { color: var(--muted); line-height:1.65; margin:0; }
.photo-story { overflow:hidden; }
.photo-feature { display:grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(22px, 4vw, 46px); align-items:center; margin: 28px 0; padding: clamp(16px, 2.4vw, 26px); border:1px solid var(--border); border-radius: clamp(26px, 4vw, 42px); background: rgba(255,255,255,.035); box-shadow: var(--shadow); }
.photo-feature-reverse { grid-template-columns: minmax(320px, .82fr) minmax(0, 1fr); }
.photo-feature-reverse picture { order:2; }
.photo-feature picture { border-radius: clamp(22px, 3vw, 34px); overflow:hidden; display:block; min-height: 420px; background:#111; }
.photo-feature img { width:100%; height:100%; min-height: 420px; object-fit:cover; object-position:center; display:block; }
.photo-feature-copy { padding: clamp(12px, 2vw, 24px); }
.photo-feature-copy h3 { font-size: clamp(2rem, 4vw, 4.4rem); line-height:.95; letter-spacing:-.05em; margin:.1em 0 .35em; text-transform: uppercase; }
.photo-feature-copy p:not(.eyebrow) { color:var(--muted); font-size:1.05rem; line-height:1.75; }
.photo-strip { display:grid; grid-template-columns: 1.2fr 1fr 1fr; gap:16px; margin-top: 18px; }
.photo-strip picture { display:block; border-radius: 26px; overflow:hidden; border:1px solid var(--border); background:#111; min-height: 230px; }
.photo-strip img { width:100%; height:100%; min-height:230px; object-fit:cover; display:block; }
.consult-service-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; margin-top: 28px; }
.package-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:18px; }
.package-card { display:flex; flex-direction:column; gap:14px; min-height: 390px; }
.package-card h3 { margin:0; font-size: clamp(1.5rem, 2.6vw, 2.45rem); line-height:1; letter-spacing:-.04em; }
.package-card strong { font-size: clamp(2.2rem, 4vw, 3.8rem); line-height:.9; color: var(--text); }
.package-card .btn { margin-top:auto; }
.featured-package { border-color: color-mix(in srgb, var(--brand) 55%, var(--border)); background: radial-gradient(circle at 12% 12%, var(--brand-soft), transparent 20rem), linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.03)); transform: translateY(-10px); }
.consult-home .booking-grid { align-items: start; }
.consult-home .booking-form { background: var(--card); border:1px solid var(--border); border-radius:30px; box-shadow: var(--shadow); }
.btn-full { width: 100%; justify-content:center; }
.site-footer a { color: inherit; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } .reveal { opacity:1 !important; transform:none !important; } }
@media (max-width: 1100px) {
  .consult-hero-grid, .why-layout, .photo-feature, .photo-feature-reverse { grid-template-columns: 1fr; }
  .consult-hero-photo { min-height: 520px; }
  .why-layout .section-heading { position: static; }
  .photo-feature-reverse picture { order:0; }
  .consult-service-grid, .package-grid { grid-template-columns: repeat(2, 1fr); }
  .outcome-grid { grid-template-columns: repeat(2, 1fr); }
  .outcome-grid article:nth-child(2) { border-right:0; }
}
@media (max-width: 720px) {
  .consult-hero { padding-top: 96px; }
  .consult-hero-copy h1 { font-size: clamp(3.2rem, 15vw, 5.5rem); }
  .consult-hero-photo { min-height: 440px; border-radius: 28px; }
  .outcome-grid, .consult-service-grid, .package-grid, .photo-strip { grid-template-columns:1fr; }
  .outcome-grid article { border-right:0; border-bottom:1px solid var(--border); }
  .outcome-grid article:last-child { border-bottom:0; }
  .photo-feature { padding: 10px; border-radius: 28px; }
  .photo-feature picture, .photo-feature img { min-height: 320px; }
  .photo-feature-copy h3 { font-size: clamp(2rem, 11vw, 3.8rem); }
  .featured-package { transform:none; }
  .consult-proofline span { font-size:.78rem; }
}

/* Fly Ink Mack v2: front-page review banner + full booking calendar */
.review-system-banner { padding: clamp(28px, 5vw, 64px) 0; background: radial-gradient(circle at 10% 20%, var(--brand-soft), transparent 32rem), linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.review-banner-grid { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: clamp(20px, 4vw, 48px); align-items:center; }
.review-banner-copy h2 { margin:.15em 0 .35em; font-size: clamp(2.1rem, 5vw, 5.5rem); line-height:.92; letter-spacing:-.055em; text-transform:uppercase; }
.review-banner-copy p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; line-height:1.75; max-width: 760px; }
.review-banner-card { border:1px solid color-mix(in srgb, var(--brand) 45%, var(--border)); border-radius: 32px; padding: clamp(20px, 3vw, 34px); background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.035)); box-shadow: 0 26px 80px rgba(0,0,0,.34); }
.review-stars { color:#ffce5c; letter-spacing:.16em; font-size: clamp(1.6rem, 4vw, 3rem); text-shadow:0 12px 36px rgba(255,206,92,.22); }
.review-banner-card strong { display:block; margin: 12px 0 8px; font-size: clamp(1.5rem, 3vw, 2.4rem); line-height:1; }
.review-banner-card span { display:block; color:var(--muted); line-height:1.6; }
.review-banner-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }

.booking-system-grid { display:grid; grid-template-columns: minmax(340px,.95fr) minmax(0,1.05fr); gap: clamp(20px, 4vw, 48px); align-items:start; }
.calendar-workstation, .booking-form-full { border:1px solid var(--border); border-radius: 34px; padding: clamp(18px, 3vw, 34px); background: linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.025)); box-shadow: var(--shadow); }
.calendar-workstation { position: sticky; top: 96px; }
.calendar-topline { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom: 18px; }
.calendar-topline h2, .form-section-title h2 { margin:.1em 0 0; font-size: clamp(1.9rem, 3.8vw, 3.8rem); line-height:.95; letter-spacing:-.05em; text-transform:uppercase; }
.calendar-controls { display:flex; align-items:center; gap:10px; padding:8px; border:1px solid var(--border); border-radius:999px; background:rgba(0,0,0,.18); white-space:nowrap; }
.calendar-nav { width:36px; height:36px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.08); color:var(--text); font-size:1.4rem; cursor:pointer; }
.calendar-nav:hover { background:var(--brand); }
.calendar-v2 { display:grid; grid-template-columns: repeat(7, 1fr); gap:8px; margin-top:18px; }
.calendar-day-name { color:var(--muted); font-size:.78rem; font-weight:900; text-transform:uppercase; text-align:center; padding: 0 0 6px; }
.calendar-day { min-height:70px; border:1px solid var(--border); border-radius:18px; background:rgba(255,255,255,.04); color:var(--text); cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:10px; text-align:left; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.calendar-day:hover:not(:disabled) { transform: translateY(-2px); border-color: color-mix(in srgb, var(--brand) 65%, var(--border)); background:rgba(255,255,255,.08); }
.calendar-day:disabled { opacity:.42; cursor:not-allowed; }
.calendar-day .num { font-weight:950; font-size:1rem; }
.calendar-day .status { font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; font-weight:900; color:var(--muted); }
.calendar-day.open .status { color:#70f2a4; }
.calendar-day.limited .status { color:#ffce5c; }
.calendar-day.closed .status { color:#ff8a8a; }
.calendar-day.is-selected { outline:2px solid var(--brand); background:var(--brand-soft); }
.calendar-day.is-today .num { color:#ffce5c; }
.calendar-legend .dot.selected { background:var(--brand); }
.selected-date-card-v2 { display:flex; flex-direction:column; gap:16px; margin-top:18px; }
.time-slot-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px; }
.time-slot { border:1px solid var(--border); background:rgba(255,255,255,.06); color:var(--text); border-radius:999px; min-height:42px; font-weight:900; cursor:pointer; }
.time-slot:hover:not(:disabled), .time-slot.is-selected { border-color:var(--brand); background:var(--brand); }
.time-slot:disabled { opacity:.38; cursor:not-allowed; text-decoration:line-through; }
.booking-form-full label span { font-weight:900; }
.booking-form-full input, .booking-form-full select, .booking-form-full textarea { min-height:52px; }
.booking-next-step-box { margin: 14px 0; border:1px solid color-mix(in srgb, var(--brand) 45%, var(--border)); border-radius: 24px; padding:18px; background:var(--brand-soft); }
.booking-next-step-box strong { display:block; margin-bottom:6px; }
.booking-next-step-box p { margin:0; color:var(--muted); line-height:1.6; }
@media (max-width: 980px) { .review-banner-grid, .booking-system-grid { grid-template-columns:1fr; } .calendar-workstation { position:static; } }
@media (max-width: 620px) { .calendar-v2 { gap:5px; } .calendar-day { min-height:56px; padding:7px; border-radius:14px; } .calendar-day .status { font-size:.56rem; } .time-slot-grid { grid-template-columns:1fr; } .calendar-topline { flex-direction:column; } .calendar-controls { width:100%; justify-content:space-between; } }

/* V3: customer-photo sliding review banner + private feedback section */
.review-slider-banner { overflow:hidden; }
.review-slider-card {
  position:relative;
  min-height: 430px;
  border:1px solid color-mix(in srgb, var(--brand) 42%, var(--border));
  border-radius: 34px;
  padding: clamp(18px, 3vw, 30px);
  background:
    radial-gradient(circle at top right, rgba(214,180,106,.18), transparent 18rem),
    linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.035));
  box-shadow: 0 26px 80px rgba(0,0,0,.36);
  overflow:hidden;
}
.review-slider-card::before {
  content:"";
  position:absolute;
  inset:auto -20% -35% -20%;
  height: 220px;
  background: radial-gradient(circle, var(--brand-soft), transparent 65%);
  pointer-events:none;
}
.review-slider-track { position:relative; min-height: 310px; }
.customer-review-slide {
  position:absolute;
  inset:0;
  opacity:0;
  transform: translateX(24px) scale(.985);
  transition: opacity .38s ease, transform .38s ease;
  display:grid;
  align-content:center;
  gap: 16px;
  pointer-events:none;
}
.customer-review-slide.is-active { opacity:1; transform: translateX(0) scale(1); pointer-events:auto; }
.customer-profile-row { display:flex; align-items:center; gap: 14px; }
.customer-profile-row img,
.avatar-initials {
  width: 82px;
  height: 82px;
  border-radius: 999px;
  object-fit: cover;
  border: 3px solid rgba(255,255,255,.16);
  box-shadow: 0 16px 38px rgba(0,0,0,.32);
}
.avatar-initials {
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, var(--brand), #270006);
  color:#fff;
  font-weight: 950;
  font-size: 1.15rem;
  letter-spacing: .08em;
}
.gold-avatar { background: linear-gradient(135deg, var(--gold), #4a3410); color:#090909; }
.customer-profile-row strong { display:block; font-size: clamp(1.25rem, 2.4vw, 2rem); line-height:1.05; }
.customer-profile-row span { display:block; color: var(--muted); margin-top: 4px; }
.customer-review-slide p { margin:0; color: var(--text); font-size: clamp(1.15rem, 2.2vw, 1.65rem); line-height:1.38; font-weight: 800; letter-spacing:-.025em; }
.customer-review-slide small { color: var(--muted); line-height:1.5; }
.review-slider-controls { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap: 14px; margin-top: 20px; }
.review-slider-controls button {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.08);
  color: var(--text);
  font-size: 1.8rem;
  cursor:pointer;
}
.review-slider-controls button:hover { border-color: color-mix(in srgb, var(--brand) 65%, white); background: var(--brand-soft); }
.review-slider-dots { display:flex; justify-content:center; gap:8px; flex:1; }
.review-slider-dots button {
  width: 10px;
  height: 10px;
  padding:0;
  border-radius:999px;
  background: rgba(255,255,255,.25);
  border:0;
}
.review-slider-dots button.is-active { width: 32px; background: var(--gold); }
.feedback-section {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
    radial-gradient(circle at 15% 10%, rgba(214,180,106,.10), transparent 28rem);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.feedback-grid { display:grid; grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr); gap: clamp(24px, 5vw, 56px); align-items:start; }
.feedback-list { margin-top: 1.25rem; }
.hp-field { position:absolute !important; left:-9999px !important; opacity:0 !important; height:0 !important; width:0 !important; }
.feedback-smart-form { border-color: color-mix(in srgb, var(--gold) 36%, var(--border)); }
@media (max-width: 980px) {
  .feedback-grid { grid-template-columns:1fr; }
  .review-slider-card { min-height: 395px; }
  .review-slider-track { min-height: 285px; }
}
@media (max-width: 560px) {
  .customer-profile-row img, .avatar-initials { width:64px; height:64px; }
  .review-slider-card { min-height: 440px; }
  .review-slider-track { min-height: 330px; }
}


/* ==========================================================
   Fly Ink Mack $1 SaaS Production Polish Overrides
   Purpose: reduce oversized headings, tighten forms/calendar,
   improve readability, and remove template feel.
   ========================================================== */
:root {
  --flyink-ruby: #b00020;
  --flyink-gold: #d6ad60;
  --flyink-ink: #08080b;
  --flyink-soft: #f6f3ef;
}
body {
  letter-spacing: 0;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
p, li, label, input, select, textarea, .copy-card p, .policy-content p, .form-note, .check-line { letter-spacing: 0; }
p, li { line-height: 1.68; }
h1, h2, h3 { letter-spacing: -0.018em; text-wrap: balance; }
h1 { font-size: clamp(2.05rem, 4.2vw, 4.4rem) !important; line-height: 1.03; }
h2 { font-size: clamp(1.55rem, 2.6vw, 2.65rem) !important; line-height: 1.12; }
h3 { font-size: clamp(1.08rem, 1.45vw, 1.45rem) !important; line-height: 1.24; }
.page-hero h1, .consult-hero h1 { max-width: 12ch; }
.page-hero p, .hero-sub, .section-heading p, .clean-copy { font-size: clamp(1rem, 1.15vw, 1.12rem) !important; line-height: 1.7; max-width: 68ch; }
.eyebrow, .nav-links a, .nav-account, .btn, .mobile-book, .status-pill, .rating-label, .booking-form label span, .footer-links strong { letter-spacing: 0.014em; }
.brand-mark { white-space: nowrap; letter-spacing: 0.01em; }
.brand-name { letter-spacing: 0.005em; }
.site-header { backdrop-filter: blur(18px); }
.nav-actions { display:flex; gap:.7rem; align-items:center; }
.nav-account { color:inherit; text-decoration:none; font-weight:750; opacity:.9; }
.nav-account:hover { opacity:1; color:var(--gold); }
.section-pad { padding-block: clamp(3.25rem, 6vw, 6rem) !important; }
.consult-hero.section-pad { padding-block: clamp(3.5rem, 7vw, 7rem) !important; }
.copy-card, .booking-form, .auth-card, .package-card, .customer-review-card, .calendar-workstation, .admin-data-table {
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 24px 70px rgba(0,0,0,.26);
}
.booking-system-grid { align-items: start; }
.booking-form, .auth-card {
  padding: clamp(1.15rem, 2.25vw, 2rem) !important;
  border-radius: 26px !important;
}
.booking-form label span, .auth-card label span {
  margin-bottom: .42rem;
  display: inline-block;
  font-size: .88rem;
  line-height: 1.25;
  font-weight: 800;
  color: rgba(247,247,242,.9);
}
input, select, textarea {
  font-size: 16px !important;
  min-height: 48px;
  border-radius: 16px !important;
}
textarea { min-height: 124px; }
.form-row { gap: .9rem !important; }
.form-note { color: var(--muted); font-size: .94rem; }
.form-message { margin-top: .9rem; border-radius: 14px; font-weight: 700; }
.form-message.error { color: #ffd1d1; background: rgba(176,0,32,.16); border: 1px solid rgba(176,0,32,.3); padding: .85rem; }
.form-message.success { color: #eaffea; background: rgba(16,185,129,.13); border: 1px solid rgba(16,185,129,.28); padding: .85rem; }
.booking-next-step-box, .payment-preview, .selected-date-card-v2 {
  padding: 1rem 1.1rem !important;
  border-radius: 18px !important;
  border: 1px solid rgba(214,180,106,.22) !important;
  background: rgba(214,180,106,.07) !important;
}
.availability-calendar.calendar-v2, .availability-calendar {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .5rem;
}
.calendar-day-name {
  text-align: center;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .25rem 0;
}
.calendar-day {
  min-height: 74px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--text);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  padding:.7rem;
  cursor:pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.calendar-day:not(:disabled):hover { transform: translateY(-2px); border-color: rgba(214,180,106,.52); box-shadow: 0 14px 34px rgba(0,0,0,.25); }
.calendar-day .num { font-size: 1.05rem; font-weight: 900; }
.calendar-day .status { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; opacity:.78; }
.calendar-day.closed { opacity:.36; cursor:not-allowed; }
.calendar-day.open { border-color: rgba(16,185,129,.32); }
.calendar-day.limited { border-color: rgba(214,180,106,.38); }
.calendar-day.is-selected { background: linear-gradient(135deg, rgba(176,0,32,.72), rgba(214,180,106,.28)); border-color: rgba(214,180,106,.82); }
.calendar-day.is-today .num { color: var(--gold); }
.time-slot-grid { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.75rem; }
.time-slot {
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  color:var(--text);
  border-radius:999px;
  padding:.58rem .82rem;
  font-weight:800;
  cursor:pointer;
}
.time-slot:hover, .time-slot.is-selected { border-color: rgba(214,180,106,.82); background: rgba(214,180,106,.14); color:#fff; }
.btn, button.btn, .nav-cta, .mobile-book {
  min-height: 46px;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
}
.btn:hover, .nav-cta:hover { transform: translateY(-2px); box-shadow:0 14px 36px rgba(176,0,32,.28); }
.btn:active { transform: translateY(0) scale(.98); }
.btn-primary { position:relative; overflow:hidden; }
.btn-primary::after { content:""; position:absolute; inset:-40% -60%; background:linear-gradient(120deg, transparent, rgba(255,255,255,.24), transparent); transform:translateX(-120%); transition:transform .6s ease; }
.btn-primary:hover::after { transform:translateX(120%); }
.mobile-book { font-weight: 850; letter-spacing: .01em; box-shadow: 0 16px 36px rgba(176,0,32,.35); }
.mobile-book:hover { color:#fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.check-line { line-height:1.55; align-items:flex-start; }
.site-footer { padding-bottom:max(2rem, env(safe-area-inset-bottom)); }
.site-footer a { text-decoration:none; }
.footer-contact span { display:block; margin:.4rem 0; opacity:.9; }
.policy-content { max-width: 76ch; overflow-wrap:anywhere; }
.policy-content h2 { margin-top:2rem; margin-bottom:.65rem; }
.policy-content p { font-size:1rem; line-height:1.75; margin:.65rem 0; }
.auth-page .auth-copy h1 { max-width: 11ch; }
.auth-card .form-note a { color: var(--gold); font-weight: 800; }
.auth-links { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1rem; }
.auth-links a { color: var(--gold); font-weight:800; text-decoration:none; }
@media (max-width: 900px) {
  h1 { font-size: clamp(2rem, 10vw, 3.1rem) !important; }
  h2 { font-size: clamp(1.45rem, 6vw, 2.15rem) !important; }
  .page-hero h1, .consult-hero h1 { max-width: 100%; }
  .section-pad, .consult-hero.section-pad { padding-block: 3.25rem !important; }
  .calendar-day { min-height: 58px; padding:.5rem; border-radius:14px; }
  .calendar-day .status { display:none; }
  .calendar-day .num { font-size:.98rem; }
  .booking-form, .auth-card { padding: 1rem !important; }
  .footer-grid { gap:1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* Consumer review system and spacing repair */
body, p, li, label, input, select, textarea, button, .btn {
  word-spacing: normal;
}

.eyebrow,
.rating-label,
.booking-form label span,
.footer-links strong,
.footer-contact strong,
.calendar-day-name,
.calendar-day .status,
.service-meta,
.status-pill {
  letter-spacing: .035em !important;
}

.btn,
.nav-account,
.mobile-book {
  letter-spacing: 0 !important;
}

.nav-account {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
}

.nav-account-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: currentColor;
}

.nav-account-icon svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px;
  max-height: 18px;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2;
  overflow: visible;
}

.customer-review-slider-section {
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
  background: linear-gradient(180deg, #08080a, #050506);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.review-slider-shell {
  display: grid;
  gap: 1.25rem;
}

.review-slider-copy h2 {
  max-width: 18ch;
  margin: 0;
  line-height: 1.02;
}

.review-slider-window {
  position: relative;
  min-height: 260px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  background: radial-gradient(circle at 15% 0%, rgba(214,180,106,.09), transparent 22rem), rgba(255,255,255,.035);
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

.customer-review-card {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: clamp(1.1rem, 3vw, 2rem);
  opacity: 0;
  transform: translateX(22px);
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease;
  border: 0;
  box-shadow: none;
}

.customer-review-card.is-active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.review-profile-photo {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand), #2a0008);
  color: #fff;
  font-weight: 950;
  border: 2px solid rgba(255,255,255,.16);
}

.customer-review-card p {
  margin: .75rem 0;
  max-width: 76ch;
  color: var(--text);
  font-size: clamp(1rem, 1.6vw, 1.22rem);
  line-height: 1.55;
  letter-spacing: 0;
}

.customer-review-card strong,
.customer-review-card small {
  display: inline-block;
  vertical-align: baseline;
}

.customer-review-card strong {
  margin-right: .45rem;
}

.customer-review-card small {
  color: var(--muted);
}

.customer-review-card .review-stars {
  font-size: clamp(1.45rem, 3vw, 2.2rem);
  letter-spacing: .08em;
}

.review-slider-controls {
  display: grid;
  grid-template-columns: 48px minmax(0, auto) 48px;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.review-slider-controls .calendar-nav {
  width: 48px;
  height: 48px;
  display: inline-grid;
  place-items: center;
  padding: 0;
}

.review-page .page-hero h1 {
  max-width: 11ch;
}

.review-layout {
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  align-items: start;
}

.review-guidance {
  position: sticky;
  top: 98px;
}

.review-steps {
  display: grid;
  gap: .75rem;
  margin: 1.25rem 0;
}

.review-steps div {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: .8rem;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.045);
}

.review-steps strong {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--flyink-ruby);
  color: #fff;
}

.review-steps span {
  color: var(--flyink-soft);
  font-weight: 800;
}

.review-smart-form {
  display: grid;
  gap: 1rem;
}

.review-smart-form .form-section-title {
  padding-bottom: .35rem;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.review-smart-form .form-section-title h2 {
  margin: 0;
}

.review-smart-form .form-note {
  margin: .45rem 0 0;
}

.review-smart-form label {
  display: block;
}

.review-smart-form input,
.review-smart-form textarea {
  border-radius: 16px;
}

.review-smart-form textarea {
  min-height: 150px;
}

.rating-field {
  margin: .25rem 0 .1rem;
}

.star-picker {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .55rem !important;
  padding: .75rem !important;
  border-radius: 18px !important;
}

.star-picker button {
  width: 100% !important;
  min-width: 0;
  height: 64px !important;
  display: grid;
  place-items: center;
  gap: .12rem;
  border-radius: 16px !important;
  line-height: 1;
}

.star-picker button span {
  font-size: 1.55rem;
}

.star-picker button small {
  display: block;
  color: currentColor;
  font-size: .72rem;
  font-weight: 900;
  opacity: .72;
}

.star-picker button[aria-checked="true"] {
  outline: 2px solid rgba(214,173,96,.75);
  outline-offset: 3px;
}

.rating-help {
  min-height: 1.4em;
}

.review-permission {
  padding: .95rem 1rem;
  border: 1px solid rgba(214,173,96,.28);
  border-radius: 16px;
  background: rgba(214,173,96,.07);
}

@media (max-width: 980px) {
  .review-layout {
    grid-template-columns: 1fr;
  }

  .review-guidance {
    position: static;
  }
}

@media (max-width: 720px) {
  .customer-review-card {
    grid-template-columns: 1fr;
    align-content: center;
  }

  .review-profile-photo {
    width: 58px;
    height: 58px;
  }

  .review-slider-window {
    min-height: 360px;
  }
}

@media (max-width: 560px) {
  .star-picker {
    gap: .4rem !important;
    padding: .55rem !important;
  }

  .star-picker button {
    height: 56px !important;
    border-radius: 14px !important;
  }

  .star-picker button span {
    font-size: 1.35rem;
  }
}

/* $1k SaaS scheduling polish */
.booking-system-grid {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr) !important;
  gap: clamp(1.25rem, 3vw, 2.5rem) !important;
}

.calendar-workstation {
  position: sticky;
  top: 92px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 26px !important;
  padding: clamp(1rem, 2.2vw, 1.5rem) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(214,173,96,.12), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035)) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.34) !important;
}

.calendar-workstation::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 26%);
}

.calendar-workstation > * {
  position: relative;
  z-index: 1;
}

.calendar-topline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem !important;
  align-items: start !important;
  margin-bottom: 1rem !important;
}

.calendar-topline h2 {
  max-width: 12ch;
  margin-top: .12rem !important;
  letter-spacing: -0.02em !important;
}

.calendar-subcopy {
  max-width: 36ch;
  margin: .55rem 0 0;
  color: rgba(247,247,242,.68);
  font-size: .95rem;
  line-height: 1.55;
}

.calendar-controls {
  display: grid !important;
  grid-template-columns: 38px minmax(128px, auto) 38px;
  align-items: center;
  gap: .45rem !important;
  padding: .35rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.26) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.calendar-controls strong {
  min-width: 0;
  text-align: center;
  color: var(--text);
  font-size: .9rem;
  font-weight: 900;
  white-space: nowrap;
}

.calendar-nav {
  width: 38px !important;
  height: 38px !important;
  display: inline-grid;
  place-items: center;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(255,255,255,.075) !important;
  color: var(--text) !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
}

.calendar-nav:hover {
  background: var(--brand) !important;
  border-color: color-mix(in srgb, var(--brand) 70%, white) !important;
}

.calendar-legend {
  display: flex !important;
  flex-wrap: wrap;
  gap: .5rem !important;
  margin: .35rem 0 1rem !important;
}

.calendar-legend span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  padding: .35rem .6rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: rgba(247,247,242,.72);
  font-size: .78rem;
  font-weight: 850;
}

.calendar-legend .dot {
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
}

.calendar-legend .dot.open { background: #45d483; }
.calendar-legend .dot.limited { background: var(--gold); }
.calendar-legend .dot.closed { background: #6b7280; }
.calendar-legend .dot.selected { background: var(--brand); }

.availability-calendar.calendar-v2 {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: .45rem !important;
  margin-top: 0 !important;
}

.calendar-day-name {
  padding: .2rem 0 .4rem !important;
  color: rgba(247,247,242,.48) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.calendar-day {
  min-height: 68px !important;
  width: 100%;
  display: grid !important;
  align-content: space-between;
  justify-items: start;
  gap: .35rem;
  padding: .7rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(8,8,11,.62) !important;
  color: var(--text) !important;
  text-align: left !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}

.calendar-day:not(:disabled):hover {
  transform: translateY(-2px);
  border-color: rgba(214,173,96,.55) !important;
  background: rgba(255,255,255,.075) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07);
}

.calendar-day:disabled {
  opacity: .42;
  cursor: not-allowed;
  background: rgba(255,255,255,.025) !important;
}

.calendar-day.blank {
  visibility: hidden;
}

.calendar-day .num {
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  line-height: 1;
}

.calendar-day .status {
  display: inline-flex !important;
  align-items: center;
  max-width: 100%;
  padding: .22rem .4rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(247,247,242,.62) !important;
  font-size: .58rem !important;
  font-weight: 900 !important;
  line-height: 1;
}

.calendar-day.open .status {
  color: #6ee7a1 !important;
  background: rgba(34,197,94,.12);
}

.calendar-day.limited .status {
  color: #ffd76b !important;
  background: rgba(214,173,96,.13);
}

.calendar-day.closed .status {
  color: rgba(247,247,242,.44) !important;
}

.calendar-day.is-selected {
  border-color: rgba(214,173,96,.86) !important;
  background:
    linear-gradient(145deg, rgba(176,0,32,.78), rgba(214,173,96,.22)) !important;
  box-shadow: 0 18px 42px rgba(176,0,32,.26), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.calendar-day.is-selected .status,
.calendar-day.is-selected .num {
  color: #fff !important;
}

.calendar-day.is-selected .status {
  background: rgba(255,255,255,.14);
}

.calendar-day.is-today .num {
  color: var(--gold) !important;
}

.selected-date-card-v2 {
  display: grid !important;
  gap: .9rem !important;
  margin-top: 1rem !important;
  padding: 1rem !important;
  border: 1px solid rgba(214,173,96,.24) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(214,173,96,.09), rgba(255,255,255,.035)) !important;
}

.selected-date-card-v2 small {
  display: block;
  margin-bottom: .25rem;
  color: rgba(247,247,242,.56);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.selected-date-card-v2 strong {
  display: block;
  color: var(--text);
  font-size: 1.03rem;
  line-height: 1.35;
}

.time-slot-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .55rem !important;
  margin-top: 0 !important;
}

.time-slot {
  min-height: 44px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem .75rem !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  background: rgba(8,8,11,.66) !important;
  color: var(--text) !important;
  font-size: .9rem;
  font-weight: 900;
}

.time-slot:hover,
.time-slot.is-selected {
  border-color: rgba(214,173,96,.75) !important;
  background: linear-gradient(135deg, var(--brand), #780014) !important;
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(176,0,32,.22);
}

.calendar-workstation .payment-preview {
  margin-top: 1rem;
  border-color: rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.04) !important;
}

.calendar-workstation .payment-preview strong {
  color: var(--text);
}

.calendar-workstation .payment-preview span {
  line-height: 1.45;
}

@media (max-width: 980px) {
  .booking-system-grid {
    grid-template-columns: 1fr !important;
  }

  .calendar-workstation {
    position: relative;
    top: auto;
  }
}

@media (max-width: 620px) {
  .calendar-topline {
    grid-template-columns: 1fr;
  }

  .calendar-controls {
    width: 100%;
    grid-template-columns: 40px 1fr 40px;
  }

  .availability-calendar.calendar-v2 {
    gap: .35rem !important;
  }

  .calendar-day {
    min-height: 58px !important;
    padding: .55rem !important;
    border-radius: 13px !important;
  }

  .calendar-day .status {
    display: none !important;
  }

  .time-slot-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Page-structured review layout */
.review-page .surface-section {
  background: transparent;
}

.review-hero {
  border-bottom: 1px solid var(--border);
}

.review-story {
  background:
    radial-gradient(circle at 78% 15%, rgba(176,0,32,.16), transparent 24rem),
    linear-gradient(180deg, #08080a, #0d0d0f);
  border-bottom: 1px solid var(--border);
}

.review-story-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.review-story-copy h2,
.review-form-intro h2 {
  max-width: 14ch;
  margin: 0 0 .45em;
}

.review-story-copy p,
.review-form-intro p {
  max-width: 58ch;
  color: var(--muted);
  line-height: 1.75;
}

.review-story-copy .text-link {
  display: inline-flex;
  margin-top: 1.2rem;
}

.review-story .review-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 0;
  background: rgba(255,255,255,.10);
  overflow: hidden;
}

.review-story .review-steps div {
  display: grid;
  align-content: start;
  gap: .8rem;
  min-height: 160px;
  padding: clamp(1rem, 2.4vw, 1.5rem);
  border: 0;
  border-radius: 0;
  background: rgba(5,5,6,.72);
}

.review-story .review-steps strong {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-weight: 950;
}

.review-story .review-steps span {
  color: var(--text);
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  font-weight: 900;
  line-height: 1.25;
}

.review-submit-section {
  background: #050506;
}

.review-submit-grid {
  display: grid;
  grid-template-columns: minmax(260px, .58fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.review-form-intro {
  position: sticky;
  top: 98px;
  padding-top: .5rem;
}

.review-submit-form {
  display: grid;
  gap: 1rem;
  padding: 0 0 0 clamp(1rem, 3vw, 2.5rem);
  border-left: 1px solid rgba(255,255,255,.12);
  background: transparent;
  box-shadow: none;
}

.review-submit-form label {
  display: block;
}

.review-submit-form label span,
.review-submit-form .rating-label {
  display: inline-block;
  margin-bottom: .42rem;
  color: rgba(247,247,242,.84);
  font-size: .86rem;
  font-weight: 850;
  text-transform: none;
  letter-spacing: 0 !important;
}

.review-submit-form input,
.review-submit-form textarea {
  width: 100%;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
}

.review-submit-form input:focus,
.review-submit-form textarea:focus {
  border-color: rgba(214,173,96,.65);
  background: rgba(255,255,255,.065);
}

.review-submit-form textarea {
  min-height: 168px;
}

.review-submit-form .star-picker {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.12);
}

.review-submit-form .review-permission {
  margin-top: .2rem;
  background: rgba(214,173,96,.055);
}

.review-submit-form .btn-full {
  width: min(100%, 360px);
}

@media (max-width: 980px) {
  .review-story-grid,
  .review-submit-grid {
    grid-template-columns: 1fr;
  }

  .review-form-intro {
    position: static;
  }

  .review-submit-form {
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 720px) {
  .review-story .review-steps {
    grid-template-columns: 1fr;
  }

  .review-story .review-steps div {
    min-height: auto;
  }
}

/* Final readability pass: keep text clear, spaced, and resilient across pages. */
body,
p,
li,
label,
input,
select,
textarea,
button,
.btn,
.nav-links a,
.nav-account {
  letter-spacing: 0 !important;
  word-spacing: normal;
  overflow-wrap: anywhere;
}

p,
li,
.clean-copy,
.form-note,
.rating-help,
.calendar-subcopy,
.review-form-intro p,
.review-story-copy p,
.booking-next-step-box p,
.payment-preview span,
.footer-grid p,
.footer-contact span {
  line-height: 1.72;
}

h1,
h2,
h3,
.brand-name,
.eyebrow {
  letter-spacing: 0 !important;
  overflow-wrap: normal;
}

h1,
.page-hero h1,
.consult-hero-copy h1 {
  line-height: 1.08 !important;
  max-width: 15ch;
}

h2,
.section-heading h2,
.review-story-copy h2,
.review-form-intro h2,
.calendar-topline h2,
.form-section-title h2 {
  line-height: 1.16 !important;
  max-width: 24ch;
}

h3,
.why-list h3,
.consult-service-grid h3,
.package-card h3 {
  line-height: 1.28 !important;
}

.nav-shell {
  gap: clamp(12px, 2vw, 24px);
}

.nav-links {
  gap: clamp(14px, 2vw, 24px);
}

.nav-links a,
.nav-account,
.btn {
  white-space: normal;
  text-align: center;
  line-height: 1.2;
}

.nav-account {
  min-height: 42px;
}

.hero-actions,
.final-actions,
.review-banner-actions,
.form-actions-split {
  gap: 14px;
  align-items: stretch;
}

.form-row {
  gap: clamp(16px, 2vw, 22px) !important;
}

.booking-form,
.review-submit-form,
.auth-card {
  display: grid;
  gap: clamp(16px, 2vw, 22px);
}

.booking-form label,
.review-submit-form label,
.auth-card label,
.rating-field {
  display: grid;
  gap: 8px;
}

.booking-form label span,
.review-submit-form label span,
.rating-label {
  line-height: 1.25;
}

input,
select,
textarea {
  line-height: 1.45;
}

textarea {
  padding-bottom: 14px;
}

.star-picker {
  gap: 10px;
  flex-wrap: wrap;
}

.star-picker button {
  flex: 0 0 auto;
}

.review-story-grid,
.review-submit-grid,
.booking-system-grid {
  gap: clamp(30px, 5vw, 72px);
}

.review-steps,
.outcome-grid,
.consult-proofline,
.calendar-legend,
.time-slot-grid {
  row-gap: 12px;
}

.customer-review-card {
  gap: clamp(16px, 2.5vw, 28px);
  align-items: flex-start;
}

.customer-review-card p,
.review-banner-card span {
  max-width: 68ch;
}

.calendar-topline {
  gap: 18px;
}

.calendar-controls {
  gap: 10px;
  flex-wrap: wrap;
}

.calendar-day {
  min-height: 76px;
  gap: 6px;
}

.calendar-day .status,
.time-slot,
.selected-date-card-v2 strong {
  line-height: 1.25;
}

@media (max-width: 860px) {
  .nav-links {
    gap: 8px;
  }

  .nav-links a {
    line-height: 1.25;
  }

  h1,
  .page-hero h1,
  .consult-hero-copy h1 {
    max-width: 100%;
  }

  h2,
  .section-heading h2,
  .review-story-copy h2,
  .review-form-intro h2,
  .calendar-topline h2,
  .form-section-title h2 {
    max-width: 100%;
  }

  .review-story,
  .review-submit-section,
  .booking.section-pad,
  .surface-section {
    padding-block: clamp(42px, 10vw, 72px);
  }
}

@media (max-width: 520px) {
  .page-hero {
    padding-top: 7.25rem;
  }

  .review-submit-form,
  .booking-form-full,
  .calendar-workstation {
    padding: 18px !important;
  }

  .btn,
  .mobile-book {
    min-height: 52px;
    padding-inline: 16px;
  }

.calendar-day {
  min-height: 68px;
  padding: 9px 7px;
  }
}

.commerce-scope-note {
  display: grid;
  gap: 7px;
  padding: clamp(16px, 2vw, 20px);
  border: 1px solid rgba(214,180,106,.22);
  border-radius: 18px;
  background: rgba(214,180,106,.065);
}

.commerce-scope-note strong {
  color: var(--text);
  line-height: 1.25;
}

.commerce-scope-note p {
  margin: 0 0 8px;
  color: var(--muted);
  line-height: 1.62;
}

.commerce-scope-note p:last-child {
  margin-bottom: 0;
}

/* Phase 4 mobile commerce polish. */
.site-footer a,
.footer-bottom a,
.contact-cards a {
  overflow-wrap: anywhere;
}

.payment-preview,
.checkout-summary,
.commerce-scope-note,
.booking-next-step-box,
.selected-date-card-v2,
.payment-preview {
  min-width: 0;
}

.page-grid,
.booking-grid,
.booking-system-grid,
.review-story-grid,
.review-submit-grid,
.footer-grid {
  min-width: 0;
}

.booking-form,
.review-submit-form,
.copy-card,
.final-card,
.calendar-workstation {
  min-width: 0;
}

.check-line {
  align-items: flex-start;
  line-height: 1.55;
}

.check-line span {
  min-width: 0;
}

.policy-content {
  max-width: 920px;
}

.policy-content h2 {
  margin-top: 1.8rem;
}

.policy-content h2:first-child {
  margin-top: 0;
}

.footer-bottom {
  gap: 12px;
  line-height: 1.55;
}

.footer-bottom span {
  min-width: 0;
}

.contact-cards,
.micro-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact-cards > *,
.micro-list > * {
  min-width: 0;
}

@media (max-width: 980px) {
  .nav-shell {
    flex-wrap: wrap;
  }

  .nav-actions {
    flex-wrap: wrap;
    gap: 8px;
  }

  .nav-account {
    flex: 1 1 auto;
    justify-content: center;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 720px) {
  .page-hero {
    padding-bottom: 3rem;
  }

  .page-grid,
  .booking-grid,
  .booking-system-grid,
  .review-story-grid,
  .review-submit-grid,
  .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .final-card {
    display: grid;
    gap: 18px;
  }

  .payment-preview,
  .checkout-summary,
  .commerce-scope-note,
  .booking-next-step-box {
    padding: 16px;
  }

  .calendar-topline {
    align-items: flex-start;
  }

  .calendar-controls {
    width: 100%;
    justify-content: space-between;
  }

  .availability-calendar {
    gap: 7px;
  }

  .calendar-day {
    border-radius: 13px;
  }

  .calendar-day .status {
    font-size: .68rem;
  }

  .time-slot-grid {
    grid-template-columns: 1fr;
  }

  .contact-cards,
  .micro-list {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (max-width: 480px) {
  .container {
    width: min(100% - 22px, var(--max)) !important;
  }

  .brand-name {
    max-width: 16ch;
  }

  .page-hero {
    padding-top: 6.8rem;
  }

  .page-hero p,
  .clean-copy,
  .policy-content p,
  .booking-form p {
    font-size: .98rem !important;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  .review-submit-form .star-picker {
    justify-content: flex-start;
  }

  .star-picker button {
    min-width: 48px;
  }

  .footer-links {
    gap: 9px;
  }

  .mobile-book {
    font-size: .94rem;
  }
}
