:root{
  --bg: #0b0b0c;
  --panel: #121316;
  --text: #eaeaf0;
  --muted: #a5a8b0;
  --brand: #ef4444; /* red-500 */
  --brand-600:#dc2626; /* red-600 */
  --border:#272a31;
  --header: #14110f;
  /* Hero sizing */
  --hero-title-size-sm: 52px;
  --hero-title-size-lg: 83px;
  color-scheme: dark light;
}
/* Map theme variables from React (Tailwind) to WordPress theme tokens */
:root{
  --bg: var(--background);
  --panel: var(--card);
  --text: var(--foreground);
  --muted: var(--muted-foreground);
  --border: var(--border);
  --brand: var(--primary);
  /* derive a slightly different shade for alt CTAs */
  --brand-600: color-mix(in oklch, var(--primary) 85%, black);
  --brand-alt: color-mix(in oklch, var(--primary) 75%, black);
}
@media (prefers-color-scheme: light){
  :root{--bg:#ffffff;--panel:#f7f7f9;--text:#0b0b0c;--muted:#4b4f58;--border:#e6e8ee}
}
html,body{margin:0;padding:0}
body.cc-body{font-family:Roboto,system-ui,-apple-system,Segoe UI,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text);line-height:1.6}
.cc-container{max-width:1100px;margin:0 auto;padding:0 20px}
.cc-header{position:sticky;top:8px;z-index:50;background:color-mix(in oklch, var(--header) 45%, transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid color-mix(in oklch, var(--border) 40%, transparent);border-radius:18px;margin:8px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.2)}
@media (prefers-color-scheme: light){.cc-header{background:color-mix(in oklch, var(--header) 50%, transparent);border-color:color-mix(in oklch, var(--border) 30%, transparent)}}
.is-light .cc-location,.is-light .cc-header,.is-light body.cc-body{color:var(--text)}
.cc-header .cc-container{display:flex;align-items:center;justify-content:space-between;min-height:70px;mix-blend-mode:normal;gap:18px}
.cc-brand{display:flex;align-items:center;gap:10px}
.cc-brand .cc-logo-text{font-family:"Playfair Display",serif;font-weight:800;font-size:clamp(26px,4vw,44px);letter-spacing:.5px;line-height:1}
.cc-logo{height:42px;aspect-ratio:1/1;border-radius:6px;border:1px solid var(--border);display:block}
.cc-logo-dark{display:block}
.cc-logo-light{display:none}
@media (prefers-color-scheme: light){.cc-logo-dark{display:none}.cc-logo-light{display:block}}
.is-light .cc-logo-dark{display:none}
.is-light .cc-logo-light{display:block}
.cc-nav{display:flex;gap:12px;align-items:center}
.btn-primary,.btn-secondary,.btn-outline,.cc-sticky-cta,.cc-sticky-apply{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 18px;min-height:42px;font-weight:800;text-decoration:none;line-height:1.1;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.btn-primary,.btn-secondary{background:var(--brand);color:#ffffff;border:1px solid color-mix(in oklch, var(--brand) 80%, white);box-shadow:0 10px 22px color-mix(in srgb, var(--brand) 28%, transparent)}
.btn-primary:hover,.btn-secondary:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 14px 28px color-mix(in srgb, var(--brand) 35%, transparent)}
.btn-outline{border:1px solid color-mix(in oklch, var(--border) 70%, white);color:var(--text);background:color-mix(in oklch, var(--panel) 82%, transparent)}
.btn-outline:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}
.btn-large{padding:14px 22px;font-size:17px}
.cc-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid color-mix(in oklch, var(--border) 70%, transparent);border-radius:999px;background:color-mix(in oklch, var(--panel) 72%, transparent);color:var(--text);font-size:18px;cursor:pointer;transition:transform .18s ease,background-color .18s ease}
.cc-theme-toggle:hover{transform:translateY(-1px);background:color-mix(in oklch, var(--panel) 92%, transparent)}

/* Hero */
.cc-hero{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--border)}
.cc-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;z-index:1}
.cc-hero-video-mobile{display:none} /* Hidden by default */
@media (max-width: 768px) {
  .cc-hero-video-desktop{display:none}
  .cc-hero-video-mobile{display:block}
}
@media (prefers-color-scheme: light){.cc-hero-video{opacity:.8}}
.cc-hero-overlay{position:relative;text-align:center;padding:64px 20px;z-index:2}
.cc-cta-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.cc-hero-title{font-family:"Playfair Display",serif;font-size:var(--hero-title-size-sm) !important;font-weight:800;margin:0 0 8px}
.cc-hero-sub{margin:10px 0 26px;color:var(--text);font-weight:800;font-style:italic;font-family:"Playfair Display",serif;font-size:calc(var(--hero-title-size-sm) * .75) !important}
@media (min-width:900px){
  .cc-hero-title{font-size:var(--hero-title-size-lg) !important}
  .cc-hero-sub{font-size:calc(var(--hero-title-size-lg) * .75) !important}
}

/* Hero sub animated font swap */
.cc-hero-title.animate-fonts,.cc-hero-sub.animate-fonts{animation:cc-font-swap 5.18s infinite steps(1),cc-sub-pulse 2.3s ease-in-out infinite;will-change:transform}
@keyframes cc-font-swap{
  0%, 100% { font-family: "Playfair Display", serif; }
  20% { font-family: "Great Vibes", cursive; }
  40% { font-family: "Roboto", sans-serif; }
  60% { font-family: "Dancing Script", cursive; }
  80% { font-family: "Pacifico", cursive; }
}
@keyframes cc-sub-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}


/* Sections */
.cc-section{padding:64px 0}
.cc-section-title{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:0 0 6px}
.cc-section-sub{color:var(--muted);margin:0 0 22px}

/* Services */
.cc-service-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cc-service-item{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:14px 16px}
.cc-service-name{font-weight:700}
.cc-service-meta{color:var(--muted);font-size:14px}

/* Gallery */
.cc-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:900px){.cc-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cc-gallery-grid{grid-template-columns:1fr}}
.cc-gallery-item{aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid var(--border)}
.cc-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}

/* Contact */
.cc-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:900px){.cc-contact-grid{grid-template-columns:1fr}}
.cc-form{display:grid;gap:10px}
.cc-form input,.cc-form textarea{background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:10px}
.cc-form label{font-weight:600}
.cc-hours{list-style:none;margin:0 0 10px;padding:0;color:var(--muted)}
.cc-address{margin:10px 0;color:var(--muted)}
.cc-map-wrap{border-radius:14px;overflow:hidden;border:1px solid var(--border)}
.cc-map-wrap iframe{width:100%;height:240px;border:0}
.cc-social{display:flex;gap:14px;margin-top:10px}
.cc-social a{color:var(--muted);text-decoration:none}
.cc-social a:hover{color:var(--brand)}

/* Sticky CTA */
.cc-sticky-cta{position:fixed;right:20px;bottom:20px;background:var(--brand);color:#ffffff;padding:12px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:60}
.cc-sticky-cta:hover{background:var(--brand-600)}
.cc-sticky-apply{position:fixed;right:150px;bottom:20px;background:#0b0b0c;color:#ffffff;padding:12px 18px;border-radius:999px;border:1px solid var(--border);text-decoration:none;font-weight:800;z-index:60}
.cc-sticky-apply:hover{background:#17181b}

.cc-footer{border-top:1px solid var(--border);padding:24px 0;color:var(--muted);background:var(--bg)}

/* Light mode overrides when toggled */
.is-light{--bg:#ffffff;--panel:#f7f7f9;--text:#0b0b0c;--muted:#4b4f58;--border:#e6e8ee}

/* Locations */
.cc-locations .cc-section-title{text-align:center;max-width:780px;margin:0 auto 28px}
.cc-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-top:12px}
@media (min-width:960px){.cc-location-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cc-location{display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in oklch,var(--panel) 92%,white),var(--panel));border:1px solid color-mix(in oklch, var(--border) 82%, transparent);border-radius:22px;padding:18px;color:var(--text);box-shadow:0 18px 45px rgba(0,0,0,.18)}
.cc-location h3,.cc-location .cc-location-address,.cc-location .cc-location-hours{color:var(--text)}
.cc-location-meta{color:var(--text);font-weight:800;margin-bottom:10px}
.cc-location-address{margin:0 0 8px;color:var(--text)}
.cc-location-hours{list-style:none;margin:0 0 14px;padding:0;color:var(--muted)}
.cc-location-hours li{margin:2px 0}
/* Location photo */
.cc-location-photo{margin:12px 0 16px;border-radius:16px;overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;background:var(--bg)}
.cc-location-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.cc-location:hover .cc-location-photo img{transform:scale(1.03)}
.cc-location-map{margin:10px 0 14px;border-radius:14px;overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;background:var(--bg)}
.cc-location-map iframe{display:block;width:100%;height:100%;border:0}
/* Location CTA buttons */
.btn-orange,.btn-orange-2{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:auto;background:var(--brand);color:#ffffff;border:1px solid color-mix(in oklch, var(--brand) 80%, white);border-radius:999px;padding:13px 18px;text-decoration:none;font-weight:900;line-height:1.1;text-align:center;box-shadow:0 12px 24px color-mix(in srgb, var(--brand) 28%, transparent);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.btn-orange:hover,.btn-orange-2:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 16px 30px color-mix(in srgb, var(--brand) 36%, transparent)}

/* Hours duo */
.cc-hours-duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:900px){.cc-hours-duo-grid{grid-template-columns:1fr}}
.cc-hours-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px}
.cc-hours-title{margin:0 0 10px;font-size:20px}
.cc-hours-list{list-style:none;margin:0;padding:0;color:var(--muted)}

/* Modal */
.cc-modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.6);z-index:80;padding:20px}
.cc-modal-dialog{background:var(--panel);border:1px solid var(--border);border-radius:16px;max-width:520px;width:100%;padding:20px;color:var(--text)}
.cc-modal-close{position:absolute;right:12px;top:8px;background:transparent;border:0;color:var(--text);font-size:24px;cursor:pointer}
.cc-modal form{display:grid;gap:10px}
.cc-modal input,.cc-modal textarea{background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:10px}
.cc-form-msg{margin-top:6px;color:var(--muted)}


/* Reviews - container and quotes */
#cc-react-reviews > *{
    background:var(--panel) !important;
    border:1px solid var(--border) !important;
    border-radius:16px !important;
    padding:20px !important;
    color:var(--text) !important;
    box-shadow:0 1px 2px rgba(0,0,0,.06) !important;
}
@media (max-width: 768px){
  /* Reinforce on mobile with extra specificity to beat Tailwind utility collisions */
  #cc-react-reviews > *{background:var(--panel) !important;border-color:var(--border) !important;color:var(--text) !important}
}
@media (prefers-color-scheme: light){
  #cc-react-reviews > *{
    background:var(--panel);
    border:1px solid var(--border);
    border-radius:16px;
    padding:20px;
    box-shadow:0 1px 2px rgba(0,0,0,.06)
  }
}
.is-light #cc-react-reviews > *{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
/* Quote styling for review copy */
#cc-react-reviews p{quotes:"“" "”"}
#cc-react-reviews p:before{content:open-quote;color:var(--muted)}
#cc-react-reviews p:after{content:close-quote;color:var(--muted)}
@media (max-width: 768px){
  /* Ensure pseudo elements render on mobile Safari */
  #cc-react-reviews p:before,#cc-react-reviews p:after{display:inline}
}

/* Header CTAs - ensure proper contrast in both modes */
/* Dark backgrounds need white text */
#cc-react-header-ctas .bg-gray-900,
#cc-react-header-ctas .bg-black,
#cc-react-header-ctas .bg-gray-800{color:#ffffff !important}

/* Light mode overrides for all button variants */
@media (prefers-color-scheme: light){
  /* White/light backgrounds need dark text */
  #cc-react-header-ctas .bg-white{background-color:#ffffff !important;color:#0b0b0c !important;border-color:#e6e8ee !important}
  #cc-react-header-ctas .hover\:bg-gray-100:hover{color:#0b0b0c !important}
  /* Force dark backgrounds to use light mode colors */
  #cc-react-header-ctas .bg-gray-900{background-color:#f7f7f9 !important;color:#0b0b0c !important;border-color:#e6e8ee !important}
  #cc-react-header-ctas .hover\:bg-gray-800:hover{background-color:#e6e8ee !important;color:#0b0b0c !important}
  #cc-react-header-ctas .dark\:bg-gray-100{background-color:#f7f7f9 !important;color:#0b0b0c !important}
  #cc-react-header-ctas .dark\:text-gray-900{color:#0b0b0c !important}
}
.is-light #cc-react-header-ctas .bg-white{background-color:#ffffff !important;color:#0b0b0c !important;border-color:#e6e8ee !important}
.is-light #cc-react-header-ctas .hover\:bg-gray-100:hover{color:#0b0b0c !important}
.is-light #cc-react-header-ctas .bg-gray-900{background-color:#f7f7f9 !important;color:#0b0b0c !important;border-color:#e6e8ee !important}
.is-light #cc-react-header-ctas .hover\:bg-gray-800:hover{background-color:#e6e8ee !important;color:#0b0b0c !important}
.is-light #cc-react-header-ctas .dark\:bg-gray-100{background-color:#f7f7f9 !important;color:#0b0b0c !important}
.is-light #cc-react-header-ctas .dark\:text-gray-900{color:#0b0b0c !important}

/* Mobile header layout */
@media (max-width: 768px) {
  .cc-header .cc-container {
    flex-direction: row;
    height: 60px;
    padding: 8px 16px;
    justify-content: space-between;
    align-items: center;
  }
  .cc-brand {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .cc-brand .cc-logo-text {
    font-size: 24px;
  }
  .cc-logo {
    height: 32px;
  }
  .cc-nav {
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .cc-header {
    margin: 4px;
    border-radius: 8px;
  }
  
  /* Mobile header styling - simplified */
  #cc-react-header-ctas {
    display: flex;
    gap: 8px;
    align-items: center;
  }
  #cc-react-header-ctas button {
    font-size: 12px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }
}

/* Freestyle redesign */
:root{
  --cc-ink:#070708;
  --cc-ink-2:#101114;
  --cc-panel:#18100d;
  --cc-panel-2:#211713;
  --cc-cream:#fff6e8;
  --cc-soft:#c9b9a6;
  --cc-orange:#ff6a13;
  --cc-orange-2:#ff8a3d;
  --cc-green:#2a211c;
  --cc-green-2:#3a2a20;
  --cc-line:rgba(255,255,255,.12);
  --cc-shadow:0 24px 70px rgba(0,0,0,.34);
  --cc-radius:28px;
  --bg:var(--cc-ink);
  --panel:var(--cc-panel);
  --text:var(--cc-cream);
  --muted:var(--cc-soft);
  --brand:var(--cc-orange);
  --brand-600:#e95708;
  --brand-alt:var(--cc-orange);
  --border:var(--cc-line);
}

.dark,
.is-light{
  --bg:var(--cc-ink);
  --panel:var(--cc-panel);
  --text:var(--cc-cream);
  --muted:var(--cc-soft);
  --brand:var(--cc-orange);
  --brand-600:#e95708;
  --brand-alt:var(--cc-orange);
  --border:var(--cc-line);
}

html{scroll-behavior:smooth}
body.cc-body{
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 18% 8%,rgba(255,106,19,.22),transparent 26rem),
    radial-gradient(circle at 82% 18%,rgba(255,106,19,.14),transparent 30rem),
    radial-gradient(circle at 50% 92%,rgba(255,255,255,.08),transparent 28rem),
    linear-gradient(180deg,#070708 0%,#0d0d0f 48%,#070708 100%);
  color:var(--text);
  font-family:Roboto,system-ui,-apple-system,Segoe UI,sans-serif;
}
body.cc-body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 82%);
}
.cc-container{max-width:1180px;padding:0 clamp(18px,4vw,34px)}

.cc-header{
  top:12px;
  margin:10px clamp(8px,2vw,18px);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(20,16,14,.74),rgba(7,7,8,.74) 58%,rgba(255,106,19,.16));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 70px rgba(0,0,0,.38);
}
.cc-header .cc-container{min-height:76px}
.cc-brand{min-width:0}
.cc-logo{
  width:46px;
  height:46px;
  border-radius:14px;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 10px 22px rgba(0,0,0,.28);
}
.cc-brand .cc-logo-text{
  color:#fff;
  font-size:clamp(24px,3vw,38px);
  text-shadow:0 8px 28px rgba(0,0,0,.42);
}
.cc-nav{min-width:0}
.cc-theme-toggle{
  width:42px;
  height:42px;
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
}

.btn-primary,
.btn-secondary,
.btn-orange,
.btn-orange-2,
.cc-sticky-cta{
  background:linear-gradient(135deg,var(--cc-orange),var(--cc-orange-2));
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 34px rgba(255,106,19,.26);
}
.btn-primary:hover,
.btn-secondary:hover,
.btn-orange:hover,
.btn-orange-2:hover,
.cc-sticky-cta:hover{
  background:linear-gradient(135deg,#ff7a29,#ff9a56);
  transform:translateY(-2px);
  box-shadow:0 24px 45px rgba(255,106,19,.35);
}
.btn-outline,
.cc-sticky-apply{
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.btn-outline:hover,
.cc-sticky-apply:hover{
  color:#fff;
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.28);
}
.btn-large{min-height:52px;padding:15px 22px}

.cc-hero{
  min-height:clamp(760px,94vh,980px);
  isolation:isolate;
  border-bottom:0;
  background:#050506;
}
.cc-hero:before,
.cc-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}
.cc-hero:before{
  background:
    radial-gradient(circle at 78% 28%,rgba(255,106,19,.1),transparent 28rem),
    linear-gradient(90deg,rgba(7,7,8,.68) 0%,rgba(7,7,8,.34) 42%,rgba(7,7,8,.12) 100%),
    linear-gradient(180deg,rgba(7,7,8,.05),rgba(7,7,8,.2) 58%,#070708 98%);
}
.cc-hero:after{
  inset:auto 0 0;
  height:34%;
  background:linear-gradient(180deg,transparent,#070708);
}
.cc-hero-video{
  opacity:1;
  filter:saturate(1.1) contrast(1.04);
}
.cc-hero-overlay{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:clamp(120px,16vh,190px) clamp(18px,4vw,34px) 96px;
  text-align:left;
}
.cc-hero-copy{
  padding:clamp(18px,3vw,30px);
  margin-left:calc(clamp(18px,3vw,30px) * -1);
  border-radius:32px;
  background:linear-gradient(90deg,rgba(7,7,8,.38),rgba(7,7,8,.18) 72%,transparent);
  text-shadow:0 3px 22px rgba(0,0,0,.72);
}
.cc-hero-copy{max-width:760px}
.cc-eyebrow,
.cc-section-kicker{
  margin:0 0 14px;
  color:#ff8a3d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cc-hero-title{
  max-width:920px;
  margin:0;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:clamp(54px,9vw,118px) !important;
  line-height:.86;
  letter-spacing:-.07em;
  text-wrap:balance;
}
.cc-hero-sub{
  max-width:630px;
  margin:26px 0 30px;
  color:rgba(255,246,232,.84);
  font-family:Roboto,system-ui,sans-serif;
  font-size:clamp(18px,2.1vw,25px) !important;
  font-style:normal;
  font-weight:500;
  line-height:1.45;
}
.cc-hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 30px;
}
.cc-hero-stats span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  color:rgba(255,246,232,.86);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  backdrop-filter:blur(12px);
}
.cc-hero-stats strong{color:#ff8a3d}
.cc-cta-row{
  justify-content:flex-start;
  gap:14px;
}
#cc-react-hero-cta > div{justify-content:flex-start}

.cc-section{
  position:relative;
  padding:clamp(72px,9vw,124px) 0;
}
.cc-section-title{
  max-width:850px;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:clamp(36px,5vw,68px);
  line-height:.96;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.cc-section-sub{
  max-width:700px;
  margin:18px 0 34px;
  color:rgba(255,246,232,.7);
  font-size:clamp(16px,1.8vw,20px);
}

.cc-locations{
  background:
    radial-gradient(circle at 80% 0%,rgba(255,106,19,.16),transparent 26rem),
    radial-gradient(circle at 18% 24%,rgba(255,106,19,.1),transparent 28rem),
    linear-gradient(180deg,#070708,#0d0d0f);
}
.cc-locations .cc-section-kicker,
.cc-locations .cc-section-title,
.cc-locations .cc-section-sub{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.cc-location-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
}
.cc-location{
  position:relative;
  overflow:hidden;
  padding:18px;
  border-radius:var(--cc-radius);
  background:
    linear-gradient(160deg,rgba(255,106,19,.08),rgba(255,255,255,.04) 42%,rgba(255,106,19,.08)),
    rgba(24,16,13,.86);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:var(--cc-shadow);
}
.cc-location:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,106,19,.18),transparent 38%);
  opacity:.85;
}
.cc-location > *{position:relative;z-index:1}
.cc-location-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.cc-location-number{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  color:#fff;
  font-weight:900;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(30,24,20,.72),rgba(255,106,19,.38));
  border:1px solid rgba(255,255,255,.18);
}
.cc-location-meta{
  margin:0;
  color:rgba(255,246,232,.72);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.cc-location h3{
  margin:0 0 8px;
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:34px;
  line-height:1;
}
.cc-location-address,
.cc-location-hours{
  color:rgba(255,246,232,.72) !important;
}
.cc-location-photo{
  margin:18px -4px 18px;
  border-radius:24px;
  border-color:rgba(255,255,255,.12);
  aspect-ratio:1.16/1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.cc-location-photo img{filter:saturate(1.02) contrast(1.04)}
.btn-orange,
.btn-orange-2{min-height:54px}

.cc-proof{
  background:
    radial-gradient(circle at 86% 20%,rgba(255,106,19,.1),transparent 26rem),
    linear-gradient(180deg,#0d0d0f,#070708);
}
#cc-react-reviews > *{
  margin-top:34px;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
#cc-react-reviews .grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
#cc-react-reviews h2{
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:32px;
  letter-spacing:-.035em;
}
#cc-react-reviews .space-y-8 > div{
  padding:22px;
  color:rgba(255,246,232,.78);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
}
#cc-react-reviews p:before,
#cc-react-reviews p:after{content:"" !important}

.cc-gallery{
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 22%,rgba(255,106,19,.12),transparent 28rem),
    linear-gradient(180deg,#070708,#0f0c0a);
}
.cc-shop-feature-grid{
  display:grid;
  grid-template-columns:1.3fr .85fr;
  grid-template-rows:repeat(2,minmax(180px,1fr));
  gap:18px;
  margin:36px 0;
}
.cc-shop-feature{
  min-height:240px;
  margin:0;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.05);
  box-shadow:var(--cc-shadow);
}
.cc-shop-feature-large{grid-row:span 2}
.cc-shop-feature img,
.cc-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.04) contrast(1.06);
}
#cc-react-galleries{
  margin-top:34px;
}
#cc-react-galleries h3{
  color:#fff;
  font-family:"Playfair Display",serif;
  font-size:28px;
}
.cc-gallery-grid{gap:18px}
.cc-gallery-item{
  border-radius:24px;
  border-color:rgba(255,255,255,.13);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
}

.cc-contact{
  background:
    radial-gradient(circle at 78% 20%,rgba(255,106,19,.18),transparent 24rem),
    radial-gradient(circle at 20% 18%,rgba(255,106,19,.1),transparent 24rem),
    linear-gradient(180deg,#0f0c0a,#070708);
}
.cc-contact-grid{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:24px;
  align-items:start;
}
.cc-contact-card{
  padding:clamp(24px,4vw,38px);
  border-radius:var(--cc-radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:var(--cc-shadow);
}
.cc-form,
#cc-react-contact form{display:grid;gap:14px}
.cc-form input,
.cc-form textarea,
#cc-react-contact input,
#cc-react-contact textarea{
  min-height:50px;
  color:#fff !important;
  background:rgba(7,7,8,.58) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:18px !important;
}
#cc-react-contact textarea{min-height:130px}
.cc-map-stack + .cc-map-stack{margin-top:18px}
.cc-address{
  margin:0 0 10px;
  color:rgba(255,246,232,.76);
  font-style:normal;
  font-weight:700;
}
.cc-map-wrap{
  border-radius:22px;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 14px 36px rgba(0,0,0,.26);
}
.cc-map-wrap iframe{height:190px;filter:saturate(.9) contrast(1.02)}
.cc-social{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.cc-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:42px;
  padding:10px 16px;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  font-weight:800;
}
.cc-social svg{
  width:20px;
  height:20px;
  flex:0 0 auto;
  fill:currentColor;
}

#cc-react-header-ctas > div{gap:10px}
#cc-react-header-ctas button,
#cc-react-hero-cta button,
#cc-react-sticky-ctas button{
  border-radius:999px !important;
  font-weight:900 !important;
}
#cc-react-header-ctas button:not([role="switch"]),
#cc-react-hero-cta button,
#cc-react-sticky-ctas button{
  background:linear-gradient(135deg,var(--cc-orange),var(--cc-orange-2)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 16px 30px rgba(255,106,19,.22) !important;
}
#cc-react-header-ctas button[role="switch"]{
  width:42px;
  height:24px;
  background:rgba(255,255,255,.2) !important;
  box-shadow:none !important;
}
#cc-react-header-ctas button[role="switch"][data-state="checked"]{
  background:linear-gradient(135deg,var(--cc-orange),var(--cc-orange-2)) !important;
}
#cc-react-header-ctas button[role="switch"] span{background:#fff}
#cc-react-header-ctas .cc-react-join{
  background:rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
#cc-react-sticky-ctas > div{
  right:18px !important;
  bottom:18px !important;
  padding:10px;
  border-radius:24px;
  background:rgba(7,7,8,.76);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
}

.cc-footer{
  border-color:rgba(255,255,255,.1);
  background:#070708;
  color:rgba(255,246,232,.62);
}

@media (max-width: 1060px){
  .cc-header{border-radius:26px}
  .cc-header .cc-container{min-height:auto;padding:12px 16px}
  .cc-nav{gap:8px}
  #cc-react-header-ctas button{font-size:12px !important;padding:9px 12px !important}
  .cc-location-grid{grid-template-columns:1fr}
  .cc-location{max-width:720px;margin:0 auto;width:100%}
  .cc-contact-grid{grid-template-columns:1fr}
  #cc-react-reviews .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 768px){
  .cc-container{padding:0 18px}
  .cc-header{
    top:8px;
    margin:6px;
    border-radius:22px;
  }
  .cc-header .cc-container{
    min-height:60px;
    height:auto;
    flex-wrap:nowrap;
  }
  .cc-brand .cc-logo-text{font-size:22px}
  .cc-logo{width:36px;height:36px;border-radius:11px}
  .cc-theme-toggle{display:none}
  #cc-react-header-ctas{gap:6px}
  #cc-react-header-ctas button[role="switch"]{display:none}
  #cc-react-header-ctas button:not(:first-child){display:none}
  .cc-hero{
    min-height:760px;
    align-items:end;
  }
  .cc-hero:before{
    background:
      linear-gradient(180deg,rgba(7,7,8,.12),rgba(7,7,8,.62) 58%,#070708 100%),
      linear-gradient(90deg,rgba(7,7,8,.48),rgba(7,7,8,.12));
  }
  .cc-hero-overlay{
    padding:130px 18px 78px;
  }
  .cc-hero-copy{
    margin-left:0;
    padding:18px;
    background:linear-gradient(180deg,rgba(7,7,8,.42),rgba(7,7,8,.24));
  }
  .cc-hero-title{
    font-size:clamp(48px,17vw,78px) !important;
    letter-spacing:-.06em;
  }
  .cc-hero-sub{font-size:18px !important}
  .cc-hero-stats{gap:8px}
  .cc-hero-stats span{font-size:13px;padding:9px 11px}
  #cc-react-hero-cta > div{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  #cc-react-hero-cta button{width:100%;min-height:50px}
  .cc-section{padding:72px 0}
  .cc-section-title{font-size:clamp(36px,12vw,52px)}
  .cc-shop-feature-grid{grid-template-columns:1fr;grid-template-rows:none}
  .cc-shop-feature-large{grid-row:auto}
  .cc-shop-feature{min-height:230px}
  #cc-react-reviews .grid{grid-template-columns:1fr}
  #cc-react-sticky-ctas > div{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
  }
  #cc-react-sticky-ctas > div > div:first-child{
    display:grid !important;
    grid-template-columns:repeat(3,1fr);
  }
  #cc-react-sticky-ctas button{
    min-height:42px;
    padding:8px 10px !important;
    font-size:11px !important;
  }
}

@media (max-width: 430px){
  .cc-brand .cc-logo-text{font-size:19px}
  #cc-react-header-ctas button{font-size:11px !important;padding:8px 10px !important}
  .cc-hero-title{font-size:46px !important}
  .cc-location{padding:14px;border-radius:22px}
  .cc-location h3{font-size:30px}
  .cc-contact-card{padding:22px}
}

/* Light mode for the freestyle redesign */
html:not(.dark){
  --bg:#fbf4e8;
  --panel:#fffaf1;
  --text:#172017;
  --muted:#5d6458;
  --border:rgba(255,106,19,.16);
  --cc-cream:#172017;
  --cc-soft:#5d6458;
  color-scheme:light;
}
html:not(.dark) body.cc-body{
  background:
    radial-gradient(circle at 12% 6%,rgba(255,106,19,.2),transparent 24rem),
    radial-gradient(circle at 84% 14%,rgba(255,106,19,.12),transparent 28rem),
    radial-gradient(circle at 52% 92%,rgba(255,106,19,.08),transparent 30rem),
    linear-gradient(180deg,#fff8ed 0%,#f7eadb 52%,#fffaf1 100%);
  color:#172017;
}
html:not(.dark) body.cc-body:before{
  opacity:.42;
  background-image:
    linear-gradient(rgba(255,106,19,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,106,19,.06) 1px,transparent 1px);
}
html:not(.dark) .cc-header{
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,246,232,.82) 58%,rgba(255,106,19,.16));
  border-color:rgba(23,32,23,.12);
  box-shadow:0 18px 45px rgba(58,43,22,.14);
}
html:not(.dark) .cc-brand .cc-logo-text,
html:not(.dark) .cc-section-title,
html:not(.dark) .cc-location h3,
html:not(.dark) #cc-react-reviews h2,
html:not(.dark) #cc-react-galleries h3{
  color:#172017;
  text-shadow:none;
}
html:not(.dark) .cc-theme-toggle{
  color:#172017;
  background:rgba(255,106,19,.08);
  border-color:rgba(255,106,19,.16);
}
html:not(.dark) .btn-outline,
html:not(.dark) .cc-sticky-apply{
  color:#172017;
  background:rgba(255,255,255,.72);
  border-color:rgba(255,106,19,.16);
}
html:not(.dark) .btn-outline:hover,
html:not(.dark) .cc-sticky-apply:hover{
  color:#d85a0a;
  background:rgba(255,246,232,.9);
  border-color:rgba(255,106,19,.28);
}
html:not(.dark) .cc-hero{
  background:#f8eddf;
}
html:not(.dark) .cc-hero-video{
  opacity:.72;
  filter:saturate(1.05) contrast(1.04) brightness(1.08);
}
html:not(.dark) .cc-hero:before{
  background:
    radial-gradient(circle at 76% 28%,rgba(255,106,19,.1),transparent 28rem),
    linear-gradient(90deg,rgba(255,248,237,.9) 0%,rgba(255,248,237,.7) 42%,rgba(255,248,237,.34) 100%),
    linear-gradient(180deg,rgba(255,248,237,.18),#fff8ed 96%);
}
html:not(.dark) .cc-hero:after{
  background:linear-gradient(180deg,transparent,#fff8ed);
}
html:not(.dark) .cc-hero-title{
  color:#172017;
}
html:not(.dark) .cc-hero-sub{
  color:rgba(23,32,23,.76);
}
html:not(.dark) .cc-eyebrow,
html:not(.dark) .cc-section-kicker,
html:not(.dark) .cc-hero-stats strong{
  color:#d85a0a;
}
html:not(.dark) .cc-hero-stats span{
  color:rgba(23,32,23,.78);
  background:rgba(255,255,255,.72);
  border-color:rgba(255,106,19,.16);
}
html:not(.dark) .cc-locations,
html:not(.dark) .cc-proof,
html:not(.dark) .cc-gallery,
html:not(.dark) .cc-contact{
  background:
    radial-gradient(circle at 12% 18%,rgba(255,106,19,.08),transparent 28rem),
    radial-gradient(circle at 84% 10%,rgba(255,106,19,.12),transparent 24rem),
    linear-gradient(180deg,#fff8ed,#f7eadb);
}
html:not(.dark) .cc-section-sub,
html:not(.dark) .cc-location-meta,
html:not(.dark) .cc-location-address,
html:not(.dark) .cc-location-hours,
html:not(.dark) .cc-address{
  color:rgba(23,32,23,.68) !important;
}
html:not(.dark) .cc-location,
html:not(.dark) .cc-contact-card,
html:not(.dark) #cc-react-reviews .space-y-8 > div{
  color:#172017;
  background:
    linear-gradient(160deg,rgba(255,106,19,.08),rgba(255,255,255,.82) 42%,rgba(255,106,19,.08)),
    rgba(255,250,241,.9);
  border-color:rgba(255,106,19,.12);
  box-shadow:0 24px 60px rgba(58,43,22,.14);
}
html:not(.dark) #cc-react-reviews .space-y-8 > div{
  color:rgba(23,32,23,.78);
}
html:not(.dark) .cc-shop-feature,
html:not(.dark) .cc-gallery-item,
html:not(.dark) .cc-location-photo,
html:not(.dark) .cc-map-wrap{
  border-color:rgba(255,106,19,.16);
  box-shadow:0 18px 45px rgba(58,43,22,.14);
}
html:not(.dark) #cc-react-contact input,
html:not(.dark) #cc-react-contact textarea,
html:not(.dark) .cc-form input,
html:not(.dark) .cc-form textarea{
  color:#172017 !important;
  background:rgba(255,255,255,.82) !important;
  border-color:rgba(255,106,19,.16) !important;
}
html:not(.dark) #cc-react-contact input::placeholder,
html:not(.dark) #cc-react-contact textarea::placeholder{
  color:rgba(23,32,23,.48);
}
html:not(.dark) .cc-social a,
html:not(.dark) #cc-react-header-ctas .cc-react-join{
  color:#172017 !important;
  background:rgba(255,255,255,.68) !important;
  border-color:rgba(255,106,19,.16) !important;
}
html:not(.dark) #cc-react-header-ctas button[role="switch"]{
  background:rgba(255,106,19,.12) !important;
}
html:not(.dark) #cc-react-sticky-ctas > div{
  background:rgba(255,250,241,.82);
  border-color:rgba(255,106,19,.12);
  box-shadow:0 18px 45px rgba(58,43,22,.18);
}
html:not(.dark) .cc-footer{
  color:rgba(23,32,23,.58);
  background:#fffaf1;
  border-color:rgba(255,106,19,.08);
}

@media (max-width: 768px){
  #cc-react-header-ctas button[role="switch"]{
    display:inline-flex;
  }
  #cc-react-header-ctas > div > div:first-child{
    display:flex;
  }
  html:not(.dark) .cc-hero:before{
    background:
      linear-gradient(180deg,rgba(255,248,237,.18),rgba(255,248,237,.82) 54%,#fff8ed 100%),
      linear-gradient(90deg,rgba(255,248,237,.84),rgba(255,248,237,.34));
  }
}
