.elementor-kit-5{--e-global-color-primary:#C9A227;--e-global-color-secondary:#F5F2EC;--e-global-color-text:#9C978D;--e-global-color-accent:#080808;--e-global-color-ink:#0E0E0F;--e-global-color-panel:#131315;--e-global-color-goldlt:#E9CE77;--e-global-color-goldpale:#F3E4B4;--e-global-color-golddk:#8A6C13;--e-global-color-muted2:#6E6A63;--e-global-typography-primary-font-family:"Spectral";--e-global-typography-primary-font-size:3rem;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.14em;--e-global-typography-primary-letter-spacing:0.055em;--e-global-typography-secondary-font-family:"Spectral";--e-global-typography-secondary-font-size:2.25rem;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.14em;--e-global-typography-secondary-letter-spacing:0.055em;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.72em;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.72em;--e-global-typography-accent-letter-spacing:0.14em;background-color:#080808;color:#F5F2EC;font-family:"DM Sans", Sans-serif;font-size:17.5px;line-height:1.72em;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#C9A227;}.elementor-kit-5 a:hover{color:#E9CE77;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* CCRW brand layer. Everything here is styling Elementor cannot express on its
   own: the gold gradients, the hairline grids and the gold band. Content and
   layout stay editable in Elementor. */

:root{
  --ccrw-black:#080808; --ccrw-ink:#0E0E0F; --ccrw-panel:#131315;
  --ccrw-bone:#F5F2EC;  --ccrw-muted:#9C978D; --ccrw-muted2:#6E6A63;
  --ccrw-gold:#C9A227;  --ccrw-gold-lt:#E9CE77; --ccrw-gold-pale:#F3E4B4; --ccrw-gold-dk:#8A6C13;
  --ccrw-line:rgba(201,162,39,.20); --ccrw-line-soft:rgba(255,255,255,.09);
  --ccrw-grad:linear-gradient(120deg,#8A6C13 0%,#C9A227 28%,#F3E4B4 52%,#C9A227 74%,#8A6C13 100%);
}

body{background:var(--ccrw-black);color:var(--ccrw-bone)}
a{text-decoration:none}

/* ---------- gold gradient words inside a heading ---------- */
.ccrw-gold{
  background:linear-gradient(105deg,#B8901C 0%,#DFBE55 22%,#F0DFA6 42%,#D8B843 62%,#C9A227 82%,#A9861B 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ccrw-hero .ccrw-gold{
  background:linear-gradient(105deg,#D9B845 0%,#F0DFA6 30%,#F7EDC9 50%,#E9CE77 72%,#D2AE38 100%);
  -webkit-background-clip:text;background-clip:text;
}

/* ---------- eyebrow label ---------- */
.elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{
  font-family:"DM Sans",sans-serif;font-size:.68rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;
  display:flex;align-items:center;gap:.75rem;
}
.elementor-widget-heading.ccrw-eyebrow .elementor-heading-title::before{
  content:"";width:34px;height:1px;flex:none;background:var(--ccrw-grad);
}
.ccrw-eyebrow[class*="align-center"] .elementor-heading-title,
.elementor-widget-heading.elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{justify-content:inherit}
.elementor-widget-heading.ccrw-eyebrow.ccrw-c .elementor-heading-title::after{
  content:"";width:34px;height:1px;flex:none;background:var(--ccrw-grad);
}

/* ---------- hero ---------- */
.ccrw-hero .elementor-widget-heading.ccrw-hero-title .elementor-heading-title{
  font-size:clamp(2.05rem,5.6vw,4.15rem);line-height:1.1;
}
.ccrw-hero .ccrw-hero-lede{max-width:62ch;font-size:clamp(1.02rem,1.7vw,1.2rem);color:#D2CCC1}
.ccrw-hero-title .elementor-heading-title,
.ccrw-hero-lede{text-shadow:0 2px 26px rgba(0,0,0,.55)}
.ccrw-hero video{object-fit:cover}

/* ---------- responsive grids ---------- */
.ccrw-grid{align-items:stretch}
.ccrw-grid-3 > .e-con,.ccrw-grid-3 > .elementor-element{flex:1 1 300px}
.ccrw-grid-4 > .e-con,.ccrw-grid-4 > .elementor-element{flex:1 1 230px}
.ccrw-grid-5 > .e-con,.ccrw-grid-5 > .elementor-element{flex:1 1 180px}
.ccrw-grid-2 > .e-con,.ccrw-grid-2 > .elementor-element{flex:1 1 380px}

/* ---------- cards ---------- */
.ccrw-card{position:relative;overflow:hidden;transition:transform .4s,background .4s,border-color .4s}
.ccrw-card:hover{transform:translateY(-4px);border-color:var(--ccrw-line)!important}
.elementor-widget-heading.ccrw-card-title .elementor-heading-title{font-size:1.02rem;letter-spacing:.07em;line-height:1.3}
.ccrw-card p{font-size:.94rem;line-height:1.7;margin:0}
.elementor-widget-heading.ccrw-card-num .elementor-heading-title{font-family:Spectral,serif;font-size:2.4rem;opacity:.28;line-height:1}
.elementor-widget-heading.ccrw-step-num .elementor-heading-title{
  font-family:Spectral,serif;font-size:.95rem;letter-spacing:.2em;
  font-variant-numeric:lining-nums;
}

/* ---------- hero pillars ---------- */
.ccrw-grid-4:has(.ccrw-pillar){background:var(--ccrw-line-soft);border:1px solid var(--ccrw-line-soft)}
.ccrw-pillar{background:var(--ccrw-black);transition:background .4s}
.ccrw-pillar:hover{background:var(--ccrw-panel)}
.elementor-widget-heading.ccrw-pillar-num .elementor-heading-title{
  font-family:Spectral,serif;font-size:1.35rem;letter-spacing:.06em;line-height:1;
  font-variant-numeric:lining-nums;
}
.elementor-widget-heading.ccrw-pillar-label .elementor-heading-title{
  font-family:"DM Sans",sans-serif;font-size:.74rem;letter-spacing:.1em;
  text-transform:uppercase;line-height:1.5;
}

/* ---------- pull quote ---------- */
.elementor-widget-heading.ccrw-quote .elementor-heading-title{
  font-family:Spectral,serif;font-weight:300;font-style:italic;
  text-transform:none;letter-spacing:0;
  font-size:clamp(1.35rem,3vw,2.2rem);line-height:1.35;
}
.elementor-widget-heading.ccrw-quote-cite .elementor-heading-title{
  font-family:"DM Sans",sans-serif;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
}

/* ---------- gold band ---------- */
.ccrw-gold-band{
  background:
    radial-gradient(ellipse 70% 120% at 18% 0%,rgba(255,255,255,.42),transparent 58%),
    linear-gradient(118deg,#8A6C13 0%,#C9A227 26%,#F0DFA6 52%,#C9A227 76%,#8A6C13 100%)!important;
}
.ccrw-gold-band .elementor-heading-title,.ccrw-gold-band p{color:#0B0A07!important}
.ccrw-gold-band .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{color:#3A2E0A!important}
.ccrw-gold-band .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title::before{background:#5A480F}
.ccrw-area-tile{background:rgba(255,252,242,.92);text-align:center;align-items:center}
.elementor-widget-heading.ccrw-area-city .elementor-heading-title{
  font-family:Spectral,serif;font-size:clamp(1.3rem,2.2vw,1.9rem);
  text-transform:none;letter-spacing:0;color:#141007!important;
}
.elementor-widget-heading.ccrw-area-state .elementor-heading-title{
  font-family:"DM Sans",sans-serif;font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:#5A4A16!important;
}

/* ---------- buttons ---------- */
.elementor-widget-button.ccrw-btn-gold .elementor-button,.elementor-widget-button.elementor-widget-button.ccrw-btn-ghost .elementor-button{
  border-radius:2px;padding:1rem 1.9rem;font-size:.76rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;transition:all .35s;border:1px solid transparent;
}
.elementor-widget-button.ccrw-btn-gold .elementor-button{
  background:var(--ccrw-grad);background-size:200% 100%;background-position:0 50%;color:#0A0A0A;
}
.elementor-widget-button.ccrw-btn-gold .elementor-button:hover{
  background-position:100% 50%;box-shadow:0 10px 34px -12px rgba(201,162,39,.75);color:#0A0A0A;
}
.elementor-widget-button.ccrw-btn-ghost .elementor-button{
  background:transparent;border:1px solid rgba(255,255,255,.24)!important;color:var(--ccrw-bone);
}
.elementor-widget-button.ccrw-btn-ghost .elementor-button:hover{
  border-color:var(--ccrw-gold)!important;color:var(--ccrw-gold);background:rgba(201,162,39,.06);
}
.ccrw-gold-band .elementor-widget-button.ccrw-btn-gold .elementor-button{background:#0B0A07;color:var(--ccrw-gold-pale)}

/* ---------- accordion ---------- */
.ccrw-faq .elementor-accordion-item{
  border:0;border-bottom:1px solid var(--ccrw-line-soft);background:transparent;
}
.ccrw-faq .elementor-tab-title{
  background:transparent;padding:1.5rem 0;
  font-family:Spectral,serif;font-size:clamp(.92rem,1.4vw,1.05rem);
  text-transform:uppercase;letter-spacing:.07em;line-height:1.35;font-weight:600;
}
.ccrw-faq .elementor-tab-title a,.ccrw-faq .elementor-tab-title{color:var(--ccrw-bone)}
.ccrw-faq .elementor-tab-title.elementor-active,.ccrw-faq .elementor-tab-title:hover{color:var(--ccrw-gold)}
.ccrw-faq .elementor-tab-content{
  background:transparent;border:0;padding:0 0 1.6rem;color:var(--ccrw-muted);font-size:.97rem;
}
.ccrw-faq .elementor-accordion-icon{color:var(--ccrw-gold)}

/* ---------- misc ---------- */
.ccrw-cta{border-top:1px solid var(--ccrw-line-soft)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

@media(max-width:767px){
  .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{font-size:.62rem;letter-spacing:.22em}
  .ccrw-grid-5 > .e-con,.ccrw-grid-4 > .e-con{flex:1 1 100%}
}


/* ---------- hero scrim ----------
   Elementor's overlay only takes two colours, so the solved multi-layer
   gradient is applied to its overlay element directly. */
.ccrw-hero > .elementor-background-overlay{
  background:
    linear-gradient(90deg,rgba(6,6,6,.92) 0%,rgba(6,6,6,.86) 55%,rgba(6,6,6,.52) 76%,
                    rgba(6,6,6,.24) 92%,rgba(6,6,6,.22) 100%),
    linear-gradient(180deg,rgba(6,6,6,.80) 0%,rgba(6,6,6,.46) 30%,rgba(6,6,6,.30) 66%,
                    rgba(6,6,6,.72) 100%),
    radial-gradient(ellipse 58% 52% at 84% 30%,rgba(201,162,39,.20),transparent 64%)!important;
  opacity:1!important;
}
@media(max-width:767px){
  .ccrw-hero > .elementor-background-overlay{
    background:linear-gradient(180deg,rgba(6,6,6,.86) 0%,rgba(6,6,6,.66) 28%,
               rgba(6,6,6,.74) 64%,rgba(6,6,6,.94) 100%)!important;
  }
}
/* photo-ground sections: keep body copy readable over the stills */
.elementor-section .elementor-background-overlay,
.e-con > .elementor-background-overlay{opacity:1}


/* ---------- header ---------- */
.ccrw-header{position:sticky;top:0;z-index:120;backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.09)}
.ccrw-header .elementor-nav-menu a,
.ccrw-header .elementor-nav-menu .elementor-item{
  font-family:"DM Sans",sans-serif!important;font-size:.72rem!important;font-weight:500!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;color:#D8D3C9!important;
  line-height:1.4!important;padding:.4rem .9rem!important;
}
.ccrw-header .elementor-nav-menu{flex-wrap:nowrap!important}
.ccrw-header .elementor-nav-menu--main .elementor-item:before,
.ccrw-header .elementor-nav-menu--main .elementor-item:after{background:var(--ccrw-gold)}
.ccrw-header .elementor-nav-menu a:hover,
.ccrw-header .elementor-nav-menu .current-menu-item a{color:var(--ccrw-gold)}
.ccrw-header .elementor-widget-button .elementor-button{padding:.8rem 1.5rem;font-size:.7rem}

/* ---------- footer ---------- */
.ccrw-footer{color:var(--ccrw-muted)}
.elementor-widget-heading.ccrw-foot-head .elementor-heading-title{
  font-family:"DM Sans",sans-serif;font-size:.66rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
}
.ccrw-footer p,.ccrw-footer li{font-size:.92rem;line-height:1.75}
.ccrw-footer ul{list-style:none;margin:0;padding:0}
.ccrw-footer ul li{margin-bottom:.6rem}
.ccrw-footer a{color:var(--ccrw-muted);transition:color .3s}
.ccrw-footer a:hover{color:var(--ccrw-gold)}
.ccrw-foot-bottom{margin-top:34px}
.ccrw-foot-bottom p{font-size:.78rem;color:var(--ccrw-muted2);margin:0}
.ccrw-credit a{color:var(--ccrw-gold);font-weight:500}
.ccrw-credit sup{font-size:.62em;position:relative;top:-.45em}

/* ---------- inner page hero ---------- */
.ccrw-phero{border-bottom:1px solid rgba(255,255,255,.09)}
.ccrw-phero .elementor-heading-title{font-size:clamp(1.9rem,4.6vw,3.2rem)}


/* ---------- header on small screens ---------- */
@media(max-width:1024px){
  .ccrw-header{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
    padding:10px 18px!important}
  .ccrw-header > .e-con-inner,.ccrw-header > .e-con{align-items:center}
  .ccrw-header .e-con-inner{flex-direction:row}
  .ccrw-header > .e-con:nth-child(1){width:auto!important;flex:1 1 auto}
  .ccrw-header > .e-con:nth-child(2){width:auto!important;flex:0 0 auto;order:3}
  .ccrw-header > .e-con:nth-child(3){display:none!important}
  .ccrw-header .elementor-menu-toggle{color:var(--ccrw-gold)}
  .ccrw-header .elementor-nav-menu--dropdown{background:#0B0B0D}
  .ccrw-header .elementor-nav-menu--dropdown a{color:#E7E2D8!important;padding:.9rem 1.2rem!important}
}


/* ---------- contact form ---------- */
.ccrw-form .elementor-field-group > label{
  font-family:"DM Sans",sans-serif;font-size:.66rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ccrw-muted);margin-bottom:.4rem;
}
.ccrw-form .elementor-field-textual{
  background:#131315;border:1px solid rgba(255,255,255,.09);border-radius:2px;
  color:var(--ccrw-bone);padding:.95rem 1.05rem;font-size:.97rem;
}
.ccrw-form .elementor-field-textual:focus{
  border-color:var(--ccrw-gold);background:#1A1A1D;box-shadow:0 0 0 3px rgba(201,162,39,.1);outline:none;
}
.ccrw-form .elementor-field-textual::placeholder{color:var(--ccrw-muted2)}
.ccrw-form select.elementor-field-textual option{background:#131315;color:var(--ccrw-bone)}
.ccrw-form .elementor-button[type="submit"],
.ccrw-form button[type="submit"]{
  background:var(--ccrw-grad)!important;background-size:200% 100%!important;background-position:0 50%;
  color:#0A0A0A!important;border:0;border-radius:2px;width:100%;
  padding:1rem 1.9rem;font-family:"DM Sans",sans-serif;font-size:.76rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;transition:all .35s;
}
.ccrw-form .elementor-button[type="submit"]:hover,
.ccrw-form button[type="submit"]:hover{
  background-position:100% 50%;box-shadow:0 10px 34px -12px rgba(201,162,39,.75);
}
.ccrw-form .elementor-message{font-size:.92rem}
.ccrw-form .elementor-message-success{color:var(--ccrw-gold-pale)}

/* ==================== Property Response specifics ==================== */
.ccrw-hp{position:absolute!important;left:-9999px!important;width:1px!important;
  height:1px!important;overflow:hidden!important}
.ccrw-area-tile.ccrw-area-dark{background:rgba(14,14,16,.82);border:1px solid rgba(255,255,255,.09)}
.ccrw-area-dark .elementor-widget-heading.ccrw-area-city .elementor-heading-title{color:#F5F2EC!important}
.ccrw-area-dark .elementor-widget-heading.ccrw-area-state .elementor-heading-title{color:#9C978D!important}
.ccrw-gold-band .ccrw-ticks .elementor-icon-list-text{color:#241D07!important;font-size:1rem;line-height:1.65}
.ccrw-gold-band .ccrw-ticks .elementor-icon-list-icon i{color:#0B0A07!important}
.ccrw-gold-band .ccrw-ticks .elementor-icon-list-item{margin-bottom:.45rem}
.ccrw-gold-band .ccrw-ticks .elementor-icon-list-icon{padding-top:.35rem}
.ccrw-ticks .elementor-icon-list-text{color:#CFC9BE}
/* gold gradient words are invisible on the gold band */
.ccrw-gold-band .ccrw-gold{
  background:none!important;-webkit-text-fill-color:#0B0A07!important;color:#0B0A07!important;
}
.ccrw-gold-band .elementor-widget-text-editor p{color:#241D07!important}
a[href^="tel:"]{color:var(--ccrw-gold)}
.ccrw-foot-bottom p{font-size:.78rem;color:var(--ccrw-muted2);margin:0}
.ccrw-credit a{color:var(--ccrw-gold);font-weight:500}
.ccrw-credit sup{font-size:.62em;position:relative;top:-.45em}
.elementor-widget-heading.ccrw-foot-head .elementor-heading-title{
  font-family:"DM Sans",sans-serif;font-size:.66rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
}
.ccrw-footer p,.ccrw-footer li{font-size:.92rem;line-height:1.75}
.ccrw-footer ul{list-style:none;margin:0;padding:0}
.ccrw-footer ul li{margin-bottom:.6rem}
.ccrw-footer a{color:var(--ccrw-muted);transition:color .3s}
.ccrw-footer a:hover{color:var(--ccrw-gold)}

/* ==========================================================================
   LAYOUT
   Backgrounds run full bleed, content sits in a centred shell. That is the
   normal pattern and it is what keeps wide screens from looking stretched.
   Page content lives in its own .elementor wrapper; the header and footer are
   separate wrappers, so they are excluded here and handled further down.
   ========================================================================== */

:root{
  --shell:1200px;          /* content width on a wide screen */
  --gutter:clamp(20px,5vw,48px);
  --band:clamp(72px,8vw,112px);   /* vertical rhythm between sections */
  --gap:22px;
}

.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con{
  width:100%;
}
/* the shell: every boxed section centres its content at the same width */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con > .e-con-inner{
  max-width:var(--shell);
  margin-inline:auto;
  width:100%;
}
/* one consistent band of padding on every top level section */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con{
  padding-block:var(--band)!important;
  padding-inline:var(--gutter)!important;
}
/* the hero sets its own height, so it keeps its own vertical padding */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.ccrw-hero{
  padding-block:clamp(140px,16vh,180px) clamp(80px,10vh,110px)!important;
}

/* ---------- centred headings and a readable measure ---------- */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con-inner{
  align-items:center;
}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-heading .elementor-heading-title,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-text-editor,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-text-editor p,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-button .elementor-button-wrapper{
  text-align:center;
}
/* long copy stays readable rather than running the full shell width */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con > .e-con-inner > .e-con > .elementor-widget-text-editor > .elementor-widget-container,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con > .e-con-inner > .elementor-widget-text-editor > .elementor-widget-container{
  max-width:68ch;margin-inline:auto;
}
/* eyebrow keeps a rule on each side once it is centred */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{
  justify-content:center;
}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title::after{
  content:"";width:34px;height:1px;flex:none;background:var(--ccrw-grad);
}
/* space under a heading block before the cards start */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .ccrw-grid{
  margin-top:clamp(28px,3vw,44px);
}

/* ---------- card grids ----------
   CSS Grid rather than flex: Elementor sets width on child containers, which
   kept beating flex-basis and stacking the cards. Grid tracks ignore that and
   give equal heights for free. */
.ccrw-grid{
  display:grid!important;
  gap:var(--gap);
  width:100%;
  align-items:stretch;
  grid-template-columns:repeat(1,minmax(0,1fr));
}
.ccrw-grid > .e-con{
  width:auto!important;max-width:none!important;min-width:0;
  height:auto!important;align-self:stretch;
}
.ccrw-card{
  display:flex;flex-direction:column;justify-content:flex-start;text-align:center;
}
.ccrw-card .elementor-widget-container{text-align:center}

@media(min-width:680px){
  .ccrw-grid-2,.ccrw-grid-3,.ccrw-grid-4,.ccrw-grid-5{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(min-width:1024px){
  .ccrw-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ccrw-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ccrw-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ccrw-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
}
/* the hero pillar strip is a hairline divided row, not a gapped grid */
.ccrw-grid-4:has(.ccrw-pillar){
  gap:1px;background:var(--ccrw-line-soft);
  border:1px solid var(--ccrw-line-soft);margin-top:clamp(26px,3vw,38px);
}

/* ---------- hero ----------
   Centred like the rest of the page, with the copy held to a readable width. */
.ccrw-hero .e-con-inner{align-items:center}
.ccrw-hero .elementor-widget-text-editor > .elementor-widget-container{max-width:62ch;margin-inline:auto}
.ccrw-hero .ccrw-pillar{text-align:center}
.ccrw-hero .ccrw-pillar .elementor-widget-container{text-align:center}
.ccrw-pillar{padding:20px 16px}

/* ---------- inner page hero ---------- */
.ccrw-phero{padding-block:clamp(150px,18vh,190px) clamp(60px,7vw,84px)!important}
.ccrw-phero .e-con-inner{align-items:center}

/* ---------- insurance checklist ---------- */
.ccrw-ticks{width:100%}
.ccrw-ticks > .elementor-widget-container{text-align:center}
.ccrw-ticks .elementor-icon-list-items{
  display:inline-block;text-align:left;margin:0 auto;max-width:62ch;
}
.ccrw-ticks .elementor-icon-list-item{text-align:left;align-items:flex-start}

/* ---------- forms keep their natural alignment ---------- */
.ccrw-form .elementor-field-group{align-items:flex-start}
.ccrw-form .elementor-field-group,
.ccrw-form label,
.ccrw-form .elementor-field-textual{text-align:left}
.ccrw-form .elementor-field-group > .elementor-field-label{text-align:left}

/* ==========================================================================
   HEADER
   Same shell width as the content so the logo lines up with the sections
   beneath it. Logo left, menu centred, phone right.
   ========================================================================== */
.ccrw-header{
  position:sticky;top:0;z-index:120;width:100%;
  background:rgba(8,8,8,.94);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ccrw-line-soft);
  padding-block:10px!important;padding-inline:var(--gutter)!important;
}
.ccrw-header > .e-con-inner{
  display:flex!important;flex-direction:row!important;align-items:center!important;
  max-width:var(--shell)!important;margin-inline:auto;width:100%;gap:24px;
}
.ccrw-header > .e-con-inner > .e-con:nth-child(1),
.ccrw-header > .e-con-inner > .e-con:nth-child(3){flex:0 0 auto!important;width:auto!important}
.ccrw-header > .e-con-inner > .e-con:nth-child(2){flex:1 1 auto!important;width:auto!important;min-width:0}
.ccrw-header .elementor-widget-theme-site-logo img{height:auto!important;max-width:104px;object-fit:contain}
.ccrw-header .elementor-nav-menu{display:flex;flex-wrap:nowrap;justify-content:center;gap:2px}
.ccrw-header .elementor-nav-menu a,
.ccrw-header .elementor-nav-menu .elementor-item{
  font-family:"DM Sans",sans-serif;font-size:.68rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:#D8D3C9;
  padding:.45rem .62rem;line-height:1.4;white-space:nowrap;
}
.ccrw-header .elementor-nav-menu a:hover,
.ccrw-header .elementor-nav-menu .current-menu-item > a{color:var(--ccrw-gold)}
.ccrw-header .elementor-nav-menu--dropdown{background:#0B0B0D}
.ccrw-header .elementor-nav-menu--dropdown a{color:#E7E2D8;padding:.85rem 1.1rem}
.ccrw-header .elementor-widget-button .elementor-button{
  padding:.74rem 1.2rem;font-size:.66rem;letter-spacing:.1em;white-space:nowrap;
}
@media(max-width:1024px){
  .ccrw-header > .e-con-inner{gap:12px}
  .ccrw-header > .e-con-inner > .e-con:nth-child(3){display:none!important}
  .ccrw-header > .e-con-inner > .e-con:nth-child(2){flex:0 0 auto!important;margin-left:auto}
  .ccrw-header .elementor-widget-theme-site-logo img{max-width:78px}
  .ccrw-header .elementor-menu-toggle{color:var(--ccrw-gold)}
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ccrw-footer{padding-block:clamp(56px,6vw,76px) 26px!important;padding-inline:var(--gutter)!important}
.ccrw-footer > .e-con-inner{max-width:var(--shell)!important;margin-inline:auto;width:100%}
.ccrw-footer .e-con-inner,.ccrw-footer .e-con{align-items:flex-start}
.ccrw-footer .elementor-widget-heading .elementor-heading-title,
.ccrw-footer .elementor-widget-text-editor,
.ccrw-footer .elementor-widget-text-editor p,
.ccrw-footer .elementor-widget-container{text-align:left}
.ccrw-footer .ccrw-grid{margin-top:0;justify-content:flex-start}
@media(min-width:900px){
  .ccrw-footer .ccrw-grid-3{grid-template-columns:1.7fr 1fr 1fr}
}
.ccrw-footer .elementor-widget-theme-site-logo img{height:auto!important;max-width:150px}
.ccrw-foot-bottom{margin-top:clamp(30px,4vw,44px);gap:16px}
@media(min-width:1000px){
  .ccrw-foot-bottom{flex-wrap:nowrap}
  .ccrw-foot-bottom p{white-space:nowrap}
}

/* nothing may push the page sideways */
html,body{overflow-x:hidden;max-width:100%}
.e-con,.e-con-inner{min-width:0}

/* ---------- accordion ----------
   Elementor colours the open title with the Black global, which rendered it
   invisible on a dark page, and sizes the inner link from the heading global. */
.ccrw-faq .elementor-tab-title a.elementor-accordion-title{
  color:var(--ccrw-bone)!important;
  font-family:Spectral,serif;font-size:clamp(.95rem,1.35vw,1.08rem)!important;
  font-weight:600;letter-spacing:.07em;text-transform:uppercase;line-height:1.4;
}
.ccrw-faq .elementor-tab-title.elementor-active a.elementor-accordion-title,
.ccrw-faq .elementor-tab-title:hover a.elementor-accordion-title{color:var(--ccrw-gold)!important}
.ccrw-faq .elementor-tab-title .elementor-accordion-icon,
.ccrw-faq .elementor-tab-title .elementor-accordion-icon i,
.ccrw-faq .elementor-tab-title .elementor-accordion-icon svg{
  color:var(--ccrw-gold)!important;fill:var(--ccrw-gold)!important;
}
.ccrw-faq .elementor-tab-title{display:flex;align-items:center;gap:.6rem;text-align:left}
.ccrw-faq .elementor-tab-content{text-align:left}
.ccrw-faq .elementor-tab-content p{text-align:left}

/* ---------- buttons ----------
   Buttons sit in their own row container which the builder justifies to the
   start, so text-align on the wrapper never moved them. Centre the row. */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con:has(> .elementor-widget-button){
  justify-content:center!important;align-items:center!important;
}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-button{
  align-self:center!important;
}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-button .elementor-button-wrapper{
  text-align:center!important;
}
/* buttons inside a card centre against the card, not the grid */
.ccrw-card .elementor-widget-button,
.ccrw-card .elementor-widget-button .elementor-button-wrapper{align-self:center;text-align:center}
/* the form submit stays full width inside its panel */
.ccrw-form .elementor-field-type-submit{justify-content:center}
/* buttons inside a two column block centre against their own column */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .ccrw-grid .e-con:has(> .elementor-widget-button),
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .ccrw-grid .elementor-widget-button{
  justify-content:center!important;align-self:center!important;
}

/* ---------- honeypot ----------
   Spam trap: present in the DOM for bots, never shown to a person. Elementor
   names the wrapper after the field id, which is the reliable hook. */
.ccrw-form .elementor-field-group-website,
.ccrw-form .ccrw-hp{
  position:absolute!important;left:-9999px!important;top:auto!important;
  width:1px!important;height:1px!important;overflow:hidden!important;
  opacity:0!important;pointer-events:none!important;
}

/* ==========================================================================
   SECTION ACCENTS
   Alternating grounds so consecutive sections never read the same, built from
   gold at low opacity rather than extra image files. Each pattern sits on a
   ::before so the section can still carry a photo or a colour underneath.
   ========================================================================== */

.ccrw-pat{position:relative;isolation:isolate}
.ccrw-pat::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
}
.ccrw-pat > *{position:relative;z-index:1}

/* blueprint grid, fading out at the edges */
.ccrw-bg-grid::before{
  background-image:
    linear-gradient(rgba(201,162,39,.085) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,162,39,.085) 1px,transparent 1px);
  background-size:62px 62px;
  -webkit-mask-image:radial-gradient(ellipse 85% 70% at 50% 45%,#000 25%,transparent 80%);
  mask-image:radial-gradient(ellipse 85% 70% at 50% 45%,#000 25%,transparent 80%);
}

/* fine diagonal hatching, like a drafting fill */
.ccrw-bg-diag::before{
  background-image:repeating-linear-gradient(135deg,
    rgba(201,162,39,.075) 0 1px,transparent 1px 11px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);
}

/* sparse gold dot field */
.ccrw-bg-dots::before{
  background-image:radial-gradient(rgba(201,162,39,.16) 1.4px,transparent 1.4px);
  background-size:30px 30px;
  -webkit-mask-image:radial-gradient(ellipse 80% 75% at 50% 50%,#000 10%,transparent 75%);
  mask-image:radial-gradient(ellipse 80% 75% at 50% 50%,#000 10%,transparent 75%);
}

/* chevrons, a nod to roofing and framing */
.ccrw-bg-chev::before{
  background-image:
    repeating-linear-gradient(60deg,rgba(201,162,39,.06) 0 1px,transparent 1px 16px),
    repeating-linear-gradient(-60deg,rgba(201,162,39,.06) 0 1px,transparent 1px 16px);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);
  mask-image:linear-gradient(180deg,#000,transparent 85%);
}

/* warm corner bloom, used where a section needs lift but no texture */
.ccrw-bg-bloom::before{
  background:
    radial-gradient(ellipse 55% 60% at 88% 8%,rgba(201,162,39,.17),transparent 62%),
    radial-gradient(ellipse 50% 55% at 6% 96%,rgba(201,162,39,.09),transparent 64%);
}

/* ground tones, so consecutive bands differ even without a pattern */
.ccrw-ground-black{background-color:#080808}
.ccrw-ground-ink{background-color:#0E0E0F}
.ccrw-ground-panel{background-color:#121214}

/* ---------- hairline rules between bands ---------- */
.ccrw-edge-top{border-top:1px solid rgba(201,162,39,.22)}
.ccrw-edge-bottom{border-bottom:1px solid rgba(201,162,39,.22)}
/* a gold filament across the very top of a section */
.ccrw-filament{position:relative}
.ccrw-filament::after{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(201,162,39,.75),transparent);
}

/* ---------- accent rule under every section heading ---------- */
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  .elementor-widget-heading:not(.ccrw-eyebrow):not(.ccrw-card-title):not(.ccrw-quote-cite):not(.ccrw-pillar-num):not(.ccrw-pillar-label):not(.ccrw-step-num):not(.ccrw-area-city):not(.ccrw-area-state):not(.ccrw-foot-head)
  h2.elementor-heading-title::after{
  content:"";display:block;width:68px;height:2px;margin:18px auto 0;
  background:linear-gradient(90deg,#8A6C13,#F3E4B4,#8A6C13);
}
.ccrw-gold-band .elementor-widget-heading h2.elementor-heading-title::after{
  background:linear-gradient(90deg,transparent,#0B0A07,transparent);opacity:.65;
}

/* ---------- insurance checklist ----------
   The block centres as a unit and the items stay aligned to each other, so the
   check marks form a column. Centring each row individually staggered them. */
.ccrw-ticks > .elementor-widget-container{display:flex;justify-content:center}
.ccrw-ticks .elementor-icon-list-items{
  display:inline-flex;flex-direction:column;align-items:flex-start;
  margin:0 auto;max-width:58ch;width:auto;
}
.ccrw-ticks .elementor-icon-list-item{
  display:flex!important;justify-content:flex-start!important;
  align-items:flex-start;text-align:left!important;width:100%;
}
.ccrw-ticks .elementor-icon-list-item > a,
.ccrw-ticks .elementor-icon-list-item > span{
  display:flex;align-items:flex-start;gap:.65rem;text-align:left;
}
.ccrw-ticks .elementor-icon-list-text{text-align:left!important}
.ccrw-ticks .elementor-icon-list-icon{flex:none;padding-top:.3rem}

/* cards lift a little off a patterned ground */
.ccrw-pat .ccrw-card{backdrop-filter:blur(2px)}
/* the list must shrink wrap before it can be centred; Elementor gives the
   <ul> a full width which otherwise pins the items to the left */
.ccrw-ticks > .elementor-widget-container{display:flex!important;justify-content:center!important}
.ccrw-ticks .elementor-icon-list-items{
  width:auto!important;max-width:58ch!important;margin-inline:auto!important;
}

/* ----------------------------------------------------------------------
   This Elementor build ships "optimized markup": there is no
   .elementor-widget-container wrapper, so rules aimed at it never applied.
   Target the widget element itself.
   ---------------------------------------------------------------------- */
.ccrw-ticks{display:flex!important;justify-content:center!important}
.ccrw-ticks .elementor-icon-list-items{margin-inline:auto!important}

/* running copy keeps a readable measure, centred in the section */
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  .elementor-widget-text-editor{max-width:72ch;margin-inline:auto}
.ccrw-card .elementor-widget-text-editor,
.ccrw-footer .elementor-widget-text-editor{max-width:none;margin-inline:0}
.ccrw-card .elementor-widget-text-editor,
.ccrw-card .elementor-widget-heading{text-align:center}

/* ==========================================================================
   DENSITY AND LIGHT
   The page measured 9.4 screens tall with a mean brightness around 20 of 255.
   This tightens the vertical rhythm and lifts the grounds so the black still
   reads as black but the page stops feeling like a cave.
   ========================================================================== */

:root{
  --band:clamp(52px,5.2vw,76px);   /* was up to 112px per section */
  --gap:18px;
}

/* ---------- lifted ground tones ---------- */
.ccrw-ground-black,.elementor:not(.elementor-location-header):not(.elementor-location-footer) .ccrw-bg-dots{background-color:#0C0C0E!important}
.ccrw-ground-ink{background-color:#141416!important}
.ccrw-ground-panel{background-color:#191A1C!important}
body{background-color:#0C0C0E}

/* ---------- photo grounds show more of the photo ---------- */
.ccrw-pat.ccrw-bg-diag > .elementor-background-overlay,
.ccrw-pat.ccrw-bg-bloom > .elementor-background-overlay{background-color:rgba(8,8,10,.70)!important}
.ccrw-phero > .elementor-background-overlay{background-color:rgba(8,8,10,.72)!important}

/* ---------- cards sit above the ground instead of vanishing into it ---------- */
.ccrw-card{
  background-color:#1A1B1E!important;
  border-color:rgba(201,162,39,.22)!important;
  padding:22px 20px!important;
}
.ccrw-card:hover{background-color:#212226!important;border-color:rgba(201,162,39,.42)!important}
.ccrw-pillar{background-color:#141416!important}
.ccrw-pillar:hover{background-color:#1C1D20!important}

/* ---------- a touch more contrast in the copy ---------- */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-text-editor,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-text-editor p{color:#D9D4C9}
.ccrw-card p{color:#C3BEB4}
.ccrw-footer p,.ccrw-footer li,.ccrw-footer a{color:#A8A399}

/* ---------- stronger gold so the accents actually register ---------- */
.ccrw-bg-grid::before{
  background-image:
    linear-gradient(rgba(201,162,39,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,162,39,.13) 1px,transparent 1px);
}
.ccrw-bg-diag::before{background-image:repeating-linear-gradient(135deg,rgba(201,162,39,.11) 0 1px,transparent 1px 11px)}
.ccrw-bg-dots::before{background-image:radial-gradient(rgba(201,162,39,.24) 1.4px,transparent 1.4px)}
.ccrw-bg-chev::before{
  background-image:
    repeating-linear-gradient(60deg,rgba(201,162,39,.09) 0 1px,transparent 1px 16px),
    repeating-linear-gradient(-60deg,rgba(201,162,39,.09) 0 1px,transparent 1px 16px);
}
.ccrw-bg-bloom::before{
  background:
    radial-gradient(ellipse 55% 60% at 88% 8%,rgba(201,162,39,.24),transparent 62%),
    radial-gradient(ellipse 50% 55% at 6% 96%,rgba(201,162,39,.13),transparent 64%);
}

/* ---------- tighter vertical rhythm ---------- */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con.ccrw-hero{
  padding-block:clamp(104px,12vh,132px) clamp(48px,6vh,68px)!important;
}
.ccrw-hero{min-height:78vh!important}
.ccrw-phero{padding-block:clamp(116px,13vh,142px) clamp(44px,5vw,60px)!important}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .ccrw-grid{
  margin-top:clamp(16px,1.8vw,26px);
}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con-inner{row-gap:10px}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget{margin-bottom:0}
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  .elementor-widget-heading:not(.ccrw-eyebrow) h2.elementor-heading-title::after{margin-top:12px}
.ccrw-grid-4:has(.ccrw-pillar){margin-top:clamp(18px,2vw,26px)}
.ccrw-footer{padding-block:clamp(44px,4.5vw,60px) 22px!important}
.ccrw-faq .elementor-tab-title{padding:1.15rem 0}
.ccrw-faq .elementor-tab-content{padding-bottom:1.25rem}

/* card copy sits tighter so six cards do not run a full extra screen */
.ccrw-card p{font-size:.9rem;line-height:1.6}
.elementor-widget-heading.ccrw-card-title .elementor-heading-title{font-size:.96rem;line-height:1.3}
.ccrw-area-tile{padding:14px 12px!important}
.ccrw-ticks .elementor-icon-list-item{margin-bottom:.2rem!important}
.ccrw-ticks .elementor-icon-list-text{font-size:.95rem;line-height:1.55}
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-widget-heading.ccrw-eyebrow{margin-bottom:2px}
.ccrw-pillar{padding:14px 14px!important}

/* ----------------------------------------------------------------------
   Sections were padded twice: the band padding on the outer container and
   the builder's own padding on .e-con-inner underneath it. That double
   counted roughly 220px per section. The outer band is the single source.
   ---------------------------------------------------------------------- */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con > .e-con-inner{
  padding-block:0!important;
}
.ccrw-header > .e-con-inner,
.ccrw-footer > .e-con-inner{padding-block:0!important}

/* ==================== menu ====================
   Top level sits right, tight to the phone button. Dropdown items were
   almost touching, so they get real padding and hairline separators. */
@media(min-width:1025px){
  /* the list has to span its column before flex-end can push it right */
  .ccrw-header > .e-con-inner > .e-con:nth-child(2){display:flex;justify-content:flex-end}
  .ccrw-header .elementor-nav-menu{
    width:100%!important;justify-content:flex-end!important;
    padding-inline:0!important;gap:0;
  }
  .ccrw-header > .e-con-inner{gap:18px}
  .ccrw-header .elementor-nav-menu > li > a,
  .ccrw-header .elementor-nav-menu > li > .elementor-item{padding:.45rem .8rem!important}
  .ccrw-header .elementor-nav-menu > li:last-child > a,
  .ccrw-header .elementor-nav-menu > li:last-child > .elementor-item{padding-right:.4rem!important}
}

/* dropdown panel */
.ccrw-header .elementor-nav-menu .sub-menu,
.ccrw-header .elementor-nav-menu--dropdown{
  background:#0E0E11!important;
  border:1px solid rgba(201,162,39,.26);
  padding:8px 0!important;
  min-width:286px;
  box-shadow:0 22px 48px -20px rgba(0,0,0,.85);
}
.ccrw-header .elementor-nav-menu .sub-menu li,
.ccrw-header .elementor-nav-menu--dropdown li{border-bottom:1px solid rgba(255,255,255,.06)}
.ccrw-header .elementor-nav-menu .sub-menu li:last-child,
.ccrw-header .elementor-nav-menu--dropdown li:last-child{border-bottom:0}
.ccrw-header .elementor-nav-menu .sub-menu a,
.ccrw-header .elementor-nav-menu--dropdown a,
.ccrw-header .elementor-nav-menu .sub-menu .elementor-sub-item{
  padding:.82rem 1.25rem!important;
  font-size:.68rem!important;letter-spacing:.1em!important;line-height:1.5!important;
  color:#DCD7CD!important;white-space:normal!important;
}
.ccrw-header .elementor-nav-menu .sub-menu a:hover,
.ccrw-header .elementor-nav-menu--dropdown a:hover{
  color:var(--ccrw-gold)!important;background:rgba(201,162,39,.08)!important;
}

/* ==================== type scale ====================
   Everything up roughly one step. The nav moves least because the header has
   only so much room before the menu meets the phone button. */
.elementor:not(.elementor-location-header):not(.elementor-location-footer){font-size:17.5px}

.ccrw-card p{font-size:1rem;line-height:1.65}
.elementor-widget-heading.ccrw-card-title .elementor-heading-title{font-size:1.06rem;line-height:1.32}
.elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{font-size:.76rem;letter-spacing:.24em}
.ccrw-hero .ccrw-hero-lede,.ccrw-phero .ccrw-hero-lede{font-size:clamp(1.1rem,1.85vw,1.32rem)}
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  .elementor-widget-text-editor p{font-size:1.02rem;line-height:1.72}

.elementor-widget-heading.ccrw-step-num .elementor-heading-title{font-size:1.05rem}
.elementor-widget-heading.ccrw-pillar-num .elementor-heading-title{font-size:1.5rem}
.elementor-widget-heading.ccrw-pillar-label .elementor-heading-title{font-size:.8rem}
.elementor-widget-heading.ccrw-area-city .elementor-heading-title{font-size:clamp(1.45rem,2.4vw,2.05rem)}
.elementor-widget-heading.ccrw-area-state .elementor-heading-title{font-size:.74rem}
.elementor-widget-heading.ccrw-quote-cite .elementor-heading-title{font-size:.74rem}

.ccrw-ticks .elementor-icon-list-text{font-size:1.04rem;line-height:1.6}
.ccrw-gold-band .ccrw-ticks .elementor-icon-list-text{font-size:1.04rem}

.ccrw-faq .elementor-tab-title a.elementor-accordion-title{font-size:clamp(1.04rem,1.5vw,1.2rem)!important}
.ccrw-faq .elementor-tab-content{font-size:1.02rem;line-height:1.72}

.elementor-widget-button.ccrw-btn-gold .elementor-button,
.elementor-widget-button.ccrw-btn-ghost .elementor-button{font-size:.82rem;padding:1.05rem 2rem}
.ccrw-form .elementor-button[type="submit"],.ccrw-form button[type="submit"]{font-size:.82rem}
.ccrw-form .elementor-field-group > label{font-size:.72rem}
.ccrw-form .elementor-field-textual{font-size:1.02rem}

.ccrw-footer p,.ccrw-footer li,.ccrw-footer a{font-size:1rem}
.elementor-widget-heading.ccrw-foot-head .elementor-heading-title{font-size:.74rem}
.ccrw-foot-bottom p{font-size:.84rem}

/* header: a small lift, and the button keeps pace */
@media(min-width:1025px){
  .ccrw-header .elementor-nav-menu > li > a,
  .ccrw-header .elementor-nav-menu > li > .elementor-item{font-size:.72rem!important;padding:.45rem .72rem!important}
  .ccrw-header .elementor-widget-button .elementor-button{font-size:.72rem;padding:.8rem 1.3rem}
}
.ccrw-header .elementor-nav-menu .sub-menu a,
.ccrw-header .elementor-nav-menu--dropdown a{font-size:.74rem!important}

/* ==========================================================================
   LIGHT SECTIONS
   The page alternates dark and light rather than running black throughout.
   Light bands carry the same gold accents, inverted for contrast.
   ========================================================================== */

.ccrw-light{color:#26241F}
.ccrw-light .elementor-widget-heading .elementor-heading-title{color:#101013!important}
.ccrw-light .elementor-widget-text-editor,
.ccrw-light .elementor-widget-text-editor p{color:#44413A!important}

/* gold reads darker on a light ground or it disappears */
.ccrw-light .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title{color:#8A6C13!important}
.ccrw-light .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title::before,
.ccrw-light .elementor-widget-heading.ccrw-eyebrow .elementor-heading-title::after{
  background:linear-gradient(90deg,#B8901C,#8A6C13);
}
.ccrw-light .elementor-widget-heading h2.elementor-heading-title::after{
  background:linear-gradient(90deg,#C9A227,#8A6C13,#C9A227);
}
.ccrw-light .ccrw-gold{
  background:linear-gradient(105deg,#9A7A16 0%,#C9A227 40%,#8A6C13 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* cards invert: white on the bone ground, with a soft lift */
.ccrw-light .ccrw-card{
  background-color:#FFFFFF!important;
  border-color:rgba(26,24,20,.10)!important;
  box-shadow:0 10px 26px -18px rgba(26,24,20,.45);
}
.ccrw-light .ccrw-card:hover{
  background-color:#FFFFFF!important;border-color:rgba(201,162,39,.55)!important;
  box-shadow:0 16px 34px -18px rgba(26,24,20,.5);
}
.ccrw-light .ccrw-card p{color:#4C4840!important}
.ccrw-light .elementor-widget-heading.ccrw-card-title .elementor-heading-title{color:#17161A!important}
.ccrw-light .elementor-widget-heading.ccrw-step-num .elementor-heading-title,
.ccrw-light .elementor-widget-heading.ccrw-pillar-num .elementor-heading-title{color:#8A6C13!important}

/* service area tiles on a light ground */
.ccrw-light .ccrw-area-tile{background:#FFFFFF!important;border:1px solid rgba(26,24,20,.10)!important}
.ccrw-light .elementor-widget-heading.ccrw-area-city .elementor-heading-title{color:#141007!important}
.ccrw-light .elementor-widget-heading.ccrw-area-state .elementor-heading-title{color:#6B6559!important}

/* patterns need to be dark-on-light here, not gold-on-black */
.ccrw-light.ccrw-bg-diag::before{background-image:repeating-linear-gradient(135deg,rgba(138,108,19,.09) 0 1px,transparent 1px 11px)}
.ccrw-light.ccrw-bg-chev::before{
  background-image:
    repeating-linear-gradient(60deg,rgba(138,108,19,.07) 0 1px,transparent 1px 16px),
    repeating-linear-gradient(-60deg,rgba(138,108,19,.07) 0 1px,transparent 1px 16px);
}
.ccrw-light.ccrw-bg-grid::before{
  background-image:
    linear-gradient(rgba(138,108,19,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(138,108,19,.10) 1px,transparent 1px);
}
.ccrw-light.ccrw-bg-bloom::before{
  background:
    radial-gradient(ellipse 55% 60% at 88% 8%,rgba(201,162,39,.20),transparent 62%),
    radial-gradient(ellipse 50% 55% at 6% 96%,rgba(201,162,39,.12),transparent 64%);
}

/* buttons on a light ground */
.ccrw-light .elementor-widget-button.ccrw-btn-ghost .elementor-button{
  border:1px solid rgba(26,24,20,.3)!important;color:#1B1A16;
}
.ccrw-light .elementor-widget-button.ccrw-btn-ghost .elementor-button:hover{
  border-color:#8A6C13!important;color:#8A6C13;background:rgba(201,162,39,.08);
}

/* tick list on a light ground */
.ccrw-light .ccrw-ticks .elementor-icon-list-text{color:#3C3932!important}
.ccrw-light .ccrw-ticks .elementor-icon-list-icon i,
.ccrw-light .ccrw-ticks .elementor-icon-list-icon svg{color:#8A6C13!important;fill:#8A6C13!important}

/* the insurance band is the one highlight: warm ground, gold rules top and bottom */
.ccrw-highlight{
  border-top:2px solid rgba(201,162,39,.55)!important;
  border-bottom:2px solid rgba(201,162,39,.55)!important;
}

/* a hairline where a light band meets a dark one keeps the seam crisp */
.ccrw-light + .e-con,.e-con + .ccrw-light{border-top:1px solid rgba(201,162,39,.18)}/* End custom CSS */