/* Carmel site CSS: shared. Ash-and-ember field journal. */
:root{--crm-bone:#F2F0EB;--crm-char:#141210;--crm-fire:#DB380C;--crm-ember:#FF6A2B;--crm-ash:#E4E0D9;--crm-smoke:#8A847C;--crm-smoke-dark:#7D776F;--crm-hair:#CFC9C0;--crm-hair-dark:#3A3631;
--crm-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");}
body{background:var(--crm-bone);-webkit-font-smoothing:antialiased}
/* titles: tight, sentence case, text balance */
.titles,.ct2-hero-title{letter-spacing:-.03em;line-height:1.02;text-wrap:balance;font-weight:500}
p,.wysiwyg{text-wrap:pretty}
/* gray tail */
.crm-tail,.accent.crm-tail,h1 .crm-tail,.titles .crm-tail{color:var(--crm-smoke)!important}
.bg-sec .crm-tail,.crm-grain .crm-tail{color:var(--crm-smoke-dark)!important}
.crm-fire .crm-tail,.crm-fire .titles .crm-tail{color:var(--crm-char)!important}
/* mono labels with the Fire square */
.small-titles{font-family:"Geist Mono",ui-monospace,monospace;font-weight:500;font-size:16px!important;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.ct2-head .small-titles::before,.ct2-hero-eyebrow::before{content:"";display:inline-block;width:10px;height:10px;background:var(--crm-fire);margin-right:12px;vertical-align:1px}
.crm-fire .small-titles::before,.crm-fire .small-titles::before{background:var(--crm-char)}
/* grain on fire, Char and the footer (static) */
.crm-grain,.footer{position:relative;isolation:isolate}
.crm-grain::after,.footer::after{content:"";position:absolute;inset:0;background:var(--crm-grain);opacity:.10;pointer-events:none;z-index:0;mix-blend-mode:screen}
.crm-fire::after{opacity:.22;mix-blend-mode:soft-light}
.crm-grain>.section,.footer>*{position:relative;z-index:1}
/* fire field */
.crm-fire{background:linear-gradient(135deg,#C9300A,#DB380C 55%,#F2541A)!important}
/* photos: square corners, gray blooms to color */
img{border-radius:0!important}
.crm-gray img,.crm-gray.img{filter:grayscale(1) contrast(1.08);transition:filter .6s ease}
.crm-gray:hover img,.crm-gray:focus-within img{filter:none}
/* buttons: pill, mono-free, with arrow */
.button{font-weight:500;padding:18px 30px}
/* header */
.header:not(.header-display){background:transparent}
.header.header-display::before{border-bottom:1px solid var(--crm-hair)}
/* reduced motion */
@media (prefers-reduced-motion:reduce){.ct2-hst-track{animation:none!important}.crm-gray img{transition:none}}
/* square buttons (radius 0), site-wide */
.button,a.button,button.button,.header .button,.header a.button,.ct2-buttons a,.ct2-hero-buttons a,.hero a.button,.ct-slide .button,.gform_button,.gform_wrapper input[type=submit],.gform_wrapper button[type=submit],input[type=submit],.popup-menu .button,.popup-menu a.button,.multiple-header-buttons a,.desktop>a.button,.cc-so-big+.button{border-radius:0!important}
/* Carmel detail pass D1 to D14 */
:root{--crm-ease:cubic-bezier(.2,.7,.2,1)}
/* D1 section index + hairline */
main{counter-reset:crm 1}
.crm{counter-increment:crm}
.ct2-hero-strip .ct2-hero-eyebrow,.crm .ct2-head .small-titles{display:flex;align-items:center;width:100%}
.crm .ct2-head .section_titles_width{max-width:none;width:100%}
.ct2-hero-strip .ct2-hero-eyebrow::after,.crm .ct2-head .small-titles::after{flex:1;margin-left:24px;padding-left:24px;text-align:right;font-weight:400;letter-spacing:.02em;color:var(--crm-smoke);
  background:linear-gradient(var(--crm-hair),var(--crm-hair)) left center/calc(100% - 3.2em) 1px no-repeat}
.ct2-hero-strip .ct2-hero-eyebrow::after{content:"01"}
.crm .ct2-head .small-titles::after{content:counter(crm,decimal-leading-zero)}
.bg-sec .ct2-head .small-titles::after{color:var(--crm-smoke-dark);background-image:linear-gradient(var(--crm-hair-dark),var(--crm-hair-dark))}
@media(max-width:767px){.ct2-hero-strip .ct2-hero-eyebrow::after,.crm .ct2-head .small-titles::after{background:none}}
/* D2 figure caption under the fire photo */
.crm-welcome .image-wrapper-portrait{position:relative;margin-bottom:56px;overflow:visible}
.crm-welcome .image-wrapper-portrait::after{content:"Fig. 01";position:absolute;left:0;top:calc(100% + 16px);width:100%;padding-top:12px;border-top:1px solid rgba(20,18,16,.35);
  font:500 16px/1 "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--crm-char)}
.crm-welcome .left{position:relative}
.crm-welcome .left::after{content:"1 Kings 18:38";position:absolute;right:0;bottom:12px;font:500 16px/1 "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--crm-char)}
/* D3 index hover square */
.crm-index .ct2-ix-title{position:relative;display:inline-block;transition:transform .42s var(--crm-ease),color .3s}
.crm-index .ct2-ix-title::before{content:"";position:absolute;left:-28px;top:50%;width:14px;height:14px;margin-top:-7px;background:var(--crm-fire);transform:scaleX(0);transform-origin:left;transition:transform .42s var(--crm-ease)}
.crm-index .ct2-ix-link:hover .ct2-ix-title,.crm-index .ct2-ix-link:focus-visible .ct2-ix-title{transform:translateX(28px)}
.crm-index .ct2-ix-link:hover .ct2-ix-title::before,.crm-index .ct2-ix-link:focus-visible .ct2-ix-title::before{transform:scaleX(1)}
.crm-index .ct2-ix-link:hover .ct2-ix-n,.crm-index .ct2-ix-link:hover .ct2-ix-meta{color:var(--crm-bone)}
@media (prefers-reduced-motion:reduce){.crm-index .ct2-ix-title,.crm-index .ct2-ix-title::before{transition:none}}
@media (hover:none){.crm-index .ct2-ix-title::before{display:none}}
/* D4 scroll progress */
.header.shadow{box-shadow:none!important}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--crm-fire);transform:scaleX(0);transform-origin:left;pointer-events:none}
@supports (animation-timeline:scroll()){
  .header::after{animation:crm-progress linear both;animation-timeline:scroll(root)}
  @keyframes crm-progress{to{transform:scaleX(1)}}
}
@media (prefers-reduced-motion:reduce){.header::after{display:none}}
/* D5 arrow nudge */
.crm-arw{display:inline-block;transition:transform .24s var(--crm-ease)}
a:hover>.crm-arw,a:focus-visible>.crm-arw{transform:translateX(4px)}
.button:active{transform:scale(.98);transition:transform .12s}
.footer .cc-so-big svg{transition:transform .36s var(--crm-ease)}
.footer .cc-so-big:hover svg{transform:translateX(16px)}
.crm-who .ct2-buttons a.button{border-bottom:0!important;background:linear-gradient(var(--crm-char),var(--crm-char)) left bottom/100% 1px no-repeat,linear-gradient(var(--crm-fire),var(--crm-fire)) left bottom/0 1px no-repeat!important;transition:background-size .36s var(--crm-ease),color .2s}
.crm-who .ct2-buttons a.button:hover{background-size:100% 1px,100% 1px!important}
@media (prefers-reduced-motion:reduce){.crm-arw,.footer .cc-so-big svg,.button{transition:none!important;transform:none!important}}
/* D6 figure tags */
.crm-connect .quicklink-panels{counter-reset:fig 1}
.crm-connect .panel{counter-increment:fig}
.crm-connect .panel .image-wrapper-square{position:relative}
.crm-connect .panel .image-wrapper-square::after{content:"Fig. " counter(fig,decimal-leading-zero);position:absolute;left:0;top:0;z-index:2;background:var(--crm-bone);color:var(--crm-char);
  font:500 16px/1 "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px}
@media(max-width:767px){.crm-connect .panel .image-wrapper-square::after{display:none}}
/* D7 next service */
.crm-next{font:400 16px "Geist Mono",monospace;color:var(--crm-smoke);margin-left:24px}
.crm-next.is-now::before{content:"";display:inline-block;width:10px;height:10px;background:var(--crm-fire);margin-right:10px}
@media(max-width:767px){.crm-next{display:none}}
/* D8 index meta contrast + pin */
.crm-index .ct2-ix-meta{color:#A39D94}
.crm-index .ct2-ix-img::before{content:"";position:absolute;left:-5px;top:-5px;width:10px;height:10px;background:var(--crm-fire);z-index:2}
/* D9 strip */
.ct2-hst-strip:hover .ct2-hst-track{animation-play-state:paused}
.ct2-hst-img:nth-child(even) img{transition:filter .4s ease-in}
.ct2-hst-img:nth-child(even):hover img,.ct2-hst-img.is-warm img{filter:none;transition:filter .8s ease-out}
/* D10 slider */
.crm-feature .owl-dot span{width:10px;height:10px;border-radius:0!important;background:var(--crm-hair)!important;margin:0 4px}
.crm-feature .owl-dot.active span{background:var(--crm-fire)!important}
.crm-feature .ct-slide-label{color:var(--crm-char)!important}
.crm-feature .ct-slide-label::before{content:"";display:inline-block;width:10px;height:10px;background:var(--crm-fire);margin-right:12px;vertical-align:1px}
.crm-count{font:400 16px "Geist Mono",monospace;letter-spacing:.02em;color:#4B4741;margin:0 16px}
/* D11 CTA details row */
@media(min-width:1024px){.crm-cta .ct2-cta-details{display:grid;grid-template-columns:repeat(4,auto);justify-content:start}
 .crm-cta .ct2-cta-details>div{padding:0 32px}.crm-cta .ct2-cta-details>div:first-child{padding-left:0}
 .crm-cta .ct2-cta-details>div+div{border-left:1px solid var(--crm-hair)}}
@media(max-width:1023px){.crm-cta .ct2-cta-details>div+div{border-top:1px solid var(--crm-hair);padding-top:20px;margin-top:20px}}
/* D12 footer coordinates */
.footer .cc-so-fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 32px}
.footer .cc-so-fine::after{content:"Mount Carmel 32.73\00b0  N, 35.05\00b0  E";font:400 16px "Geist Mono",monospace;letter-spacing:.02em;color:#8F8981}
/* D13 focus, selection */
:focus-visible{outline:2px solid var(--crm-fire);outline-offset:4px;border-radius:0}
.crm-fire :focus-visible{outline-color:var(--crm-char)}
.bg-sec :focus-visible,.footer :focus-visible{outline-color:var(--crm-ember)}
::selection{background:var(--crm-fire);color:#fff}
.crm-fire ::selection{background:var(--crm-char);color:var(--crm-bone)}
/* D14 tail later */
.crm-tail .ccm-wi{transition-delay:.18s!important}
.crm-index .ct2-ix-meta{color:#A39D94!important}
.crm-index .ct2-ix-link:hover .ct2-ix-n,.crm-index .ct2-ix-link:hover .ct2-ix-meta{color:var(--crm-bone)!important}
.top-bar .left{display:flex;align-items:center;white-space:nowrap}
.top-bar .left p{margin:0}
.crm-feature .owl-nav{display:flex;align-items:center}
.crm-count{white-space:nowrap}.crm-feature .owl-nav{gap:8px}
@media(max-width:767px){.crm-count{display:none}}
.crm-feature .owl-nav{display:flex!important;align-items:center;gap:12px;width:auto}
.crm-feature .owl-nav button{position:static!important;margin:0!important;width:30px;height:30px;order:1}
.crm-feature .owl-nav .owl-next{order:2}
.crm-feature .owl-nav .crm-count{order:3;margin:0 0 0 12px;position:static}
@media(max-width:767px){.crm-feature .owl-nav .crm-count{display:none!important}}
.crm-feature .owl-nav button{inset:auto!important;transform:none!important;float:none!important;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:0;flex:0 0 30px}
.crm-feature .owl-nav button svg,.crm-feature .owl-nav button .custom-prev,.crm-feature .owl-nav button .custom-next{position:static!important;transform:none!important;width:14px;height:22px;display:block;margin:0!important}
/* Carmel homepage */
/* hero */
.ct2-hero-strip{background:var(--crm-bone)}
.ct2-hero-strip .ct2-hero-title{font-size:clamp(3rem,8.8vw,9.4rem)!important;line-height:.92;letter-spacing:-.04em;color:var(--crm-char)}
.ct2-hero-strip .ct2-hst{padding-top:clamp(40px,6vw,110px)}
.ct2-hst-img img{border-radius:0}
.ct2-hst-img:nth-child(even) img{filter:grayscale(1) contrast(1.08);transition:filter .6s ease}
.ct2-hst-img:nth-child(even):hover img{filter:none}
.ct2-hst-img:nth-child(3n) {margin-top:40px}
.ct2-hero-strip .ct2-hero-buttons{margin-top:48px}
.ct2-hero-strip .button.button-black{background:transparent;color:var(--crm-char);border:1px solid var(--crm-char)}
.ct2-hero-strip .button.button-black:hover{background:var(--crm-char);color:#fff}
/* statement */
.crm-who .ct2-stm-text{font-size:clamp(1.9rem,3.6vw,3.75rem)!important;line-height:1.08;letter-spacing:-.025em;color:var(--crm-smoke);max-width:1100px}
.crm-who .ct2-stm-text strong{color:var(--crm-char);font-weight:500}
.crm-who .button.button-black{background:transparent;color:var(--crm-char);border:0;border-bottom:1px solid var(--crm-char);border-radius:0;padding:0 0 4px}
.crm-who .button.button-black:hover{color:var(--crm-fire);border-color:var(--crm-fire);background:transparent}
/* index */
.crm-index{background:var(--crm-char)}
.crm-index .ct2-ix-title{font-size:clamp(2.5rem,6vw,6rem)!important;letter-spacing:-.035em;line-height:1;color:var(--crm-bone);transition:color .3s}
.crm-index .ct2-index:hover .ct2-ix-title{color:var(--crm-smoke-dark)}
.crm-index .ct2-index .ct2-ix-row:hover .ct2-ix-title{color:var(--crm-bone)}
.crm-index .ct2-ix-row{border-color:var(--crm-hair-dark)!important}
.crm-index .ct2-ix-n{font-family:"Geist Mono",monospace;font-size:16px;color:var(--crm-ember)}
.crm-index .ct2-ix-meta{font-family:"Geist Mono",monospace;font-size:16px;color:var(--crm-smoke-dark)}
.crm-index .ct2-ix-img img{filter:grayscale(1) contrast(1.08);transition:filter .6s}
.crm-index .ct2-ix-row:hover .ct2-ix-img img{filter:none}
/* fire band */
.crm-welcome .titles{font-size:clamp(3rem,7vw,7.5rem)!important;line-height:.94;letter-spacing:-.04em;color:#fff}
.crm-welcome .image-wrapper-portrait img{filter:grayscale(1) contrast(1.08)}
.crm-welcome .wysiwyg p{font-size:20px;color:#fff;max-width:520px}
.crm-welcome .button.button-black{background:var(--crm-char);border-color:var(--crm-char);color:#fff}
/* connect */
.crm-connect .titles.huge,.crm-connect .section_titles_width .titles{font-size:clamp(2.5rem,5vw,5rem)!important;line-height:.98;letter-spacing:-.03em}
.crm-connect .panel .titles.medium{color:var(--crm-char)!important;font-size:clamp(1.6rem,2.6vw,2.5rem)!important;margin-top:16px}
.crm-connect .panel .ql-link-label{display:block;font-family:"Geist Mono",monospace;font-size:16px;font-weight:400;letter-spacing:.02em;color:var(--crm-copy,#4B4741);margin-top:8px}
.crm-connect .panel:nth-child(2n) .image-wrapper-square img{filter:grayscale(1) contrast(1.08);transition:filter .6s}
.crm-connect .panel:nth-child(2n):hover .image-wrapper-square img{filter:none}
.crm-connect .button.button-black{background:transparent;color:var(--crm-char);border:1px solid var(--crm-char)}
.crm-connect .button.button-black:hover{background:var(--crm-char);color:#fff}
/* featured */
.crm-feature .ct-slide-title{font-size:clamp(2rem,4vw,3.75rem)!important;line-height:1.02;letter-spacing:-.025em;color:var(--crm-char)}
.crm-feature .ct-slide-meta{font-family:"Geist Mono",monospace}
.crm-feature .ct-slide-image img{border-radius:0}
.crm-feature .ct-slide .button{background:var(--crm-fire);color:#fff;border-color:var(--crm-fire)}
.crm-feature .owl-nav button,.crm-feature .owl-dots button{border-radius:0!important}
/* CTA */
.crm-cta .ct2-head .titles{font-size:clamp(3rem,8vw,7.5rem)!important;line-height:.94;letter-spacing:-.04em}
.crm-cta .button.button-black{background:transparent;color:var(--crm-char);border:1px solid var(--crm-char)}
.crm-cta .button.button-black:hover{background:var(--crm-char);color:#fff}
.crm-cta .ct2-cta-details{border-top:1px solid var(--crm-hair);padding-top:32px;margin-top:80px;position:relative}
.crm-cta .ct2-cta-details::before{content:"";position:absolute;top:-24px;left:0;width:48px;height:48px;background:var(--crm-fire)}
.crm-cta .ct2-cta-details dd{font-family:"Host Grotesk",sans-serif;font-size:22px}
/* footer sign-off */
.footer{background:var(--crm-char)}
.footer .cc-so-big,.footer .cc-so-big-text{font-family:"Host Grotesk",sans-serif!important;font-weight:500;font-size:clamp(3.5rem,11.8vw,12.5rem)!important;letter-spacing:-.05em;line-height:.92;color:var(--crm-bone)!important}
.footer .cc-so-arrow{color:var(--crm-ember)!important;height:.6em;width:auto}
.footer .cc-so-big:hover .cc-so-big-text{color:#fff!important}
/* connect tiles: photo first, title below */
.crm-connect .panel{display:flex;flex-direction:column}
.crm-connect .panel .image-wrapper-square{order:1}
.crm-connect .panel .anchor-panel{order:2;position:static!important;background:none!important;padding:0!important;inset:auto!important;transform:none!important;display:block}
.crm-connect .panel .anchor-panel::before,.crm-connect .panel .anchor-panel::after{display:none!important}
.crm-connect .panel .titles.medium{padding:0!important;margin-top:20px}
@media(max-width:767px){.crm-who .ct2-stm-text{font-size:1.9rem!important}}
.ct2-hero-strip .ct2-hero-title .crm-tail,.ct2-hero .ct2-hero-title span.crm-tail{color:var(--crm-smoke)!important}
.crm-connect .panel .image-wrapper-square{flex:none;width:100%;aspect-ratio:1/1;height:auto}
.crm-connect .panel .image-wrapper-square img{width:100%;height:100%;object-fit:cover}
.crm-connect .panel .anchor-panel,.crm-connect .panel .anchor-panel .titles,.crm-connect .panel h2{color:var(--crm-char)!important;position:static!important}
.crm-connect .panel .ql-link-label{color:#4B4741!important}
@media(max-width:767px){.crm-connect .panel{margin-bottom:24px}}
.crm-connect .panel,.crm-connect .panel:nth-child(n){margin-top:0!important;transform:none!important}
.crm-who .ct2-buttons a.button,.crm-who a.button.button-black{background:none!important;color:var(--crm-char)!important;border:0!important;border-bottom:1px solid var(--crm-char)!important;border-radius:0!important;padding:0 0 6px!important;font-family:"Geist Mono",monospace;font-size:16px;letter-spacing:.04em;box-shadow:none!important}
.crm-who .ct2-buttons a.button:hover{color:var(--crm-fire)!important;border-color:var(--crm-fire)!important}
/* hero spacing (owner): header to eyebrow 180, buttons to strip 180, strip to Who We Are 160; scales to 80/80/72 at 390 */
.ct2-hero-strip .ct2-hst{padding-top:clamp(44px,calc(44px + (100vw - 390px) * .0198),70px)!important}
.ct2-hero-strip .ct2-hst-strip{margin-top:clamp(40px,calc(40px + (100vw - 390px) * .0534),110px)}
.ct2-hero-strip{padding-bottom:clamp(32px,calc(32px + (100vw - 390px) * .0366),80px)!important}
/* Carmel micro-element utilities (P0). Opt in with ONE class on a section's Custom Class. Static, behind content, no glow.
   crm-m-dots (dots fading from top left) · crm-m-dots-br (from bottom right) · crm-m-cols (column hairlines on the 1300 grid)
   crm-m-plus (registration + at the content box corners) · crm-m-ruler (ruler ticks, left edge) · crm-m-topo (contours) */
[class*="crm-m-"]{position:relative}
[class*="crm-m-"]::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none}
[class*="crm-m-"]>*{position:relative;z-index:1}
.crm-m-dots::before{background:radial-gradient(circle at 1px 1px,rgba(20,18,16,.14) 1px,transparent 1.3px) 0 0/24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 85% 120% at 0 0,#000 0,transparent 78%);mask-image:radial-gradient(ellipse 85% 120% at 0 0,#000 0,transparent 78%)}
.crm-m-dots-br::before{background:radial-gradient(circle at 1px 1px,rgba(20,18,16,.12) 1px,transparent 1.3px) 0 0/24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 90% 110% at 100% 100%,#000 0,transparent 75%);mask-image:radial-gradient(ellipse 90% 110% at 100% 100%,#000 0,transparent 75%)}
.bg-sec.crm-m-dots::before,.bg-sec.crm-m-dots-br::before{background-image:radial-gradient(circle at 1px 1px,rgba(242,240,235,.12) 1px,transparent 1.3px)}
.crm-m-cols::before{left:max(20px,calc(50% - 650px));right:max(20px,calc(50% - 650px));--h:rgba(20,18,16,.09);
  background:linear-gradient(var(--h),var(--h)) left 0 top 0/1px 100% no-repeat,linear-gradient(var(--h),var(--h)) left 33.333% top 0/1px 100% no-repeat,
  linear-gradient(var(--h),var(--h)) left 66.666% top 0/1px 100% no-repeat,linear-gradient(var(--h),var(--h)) right 0 top 0/1px 100% no-repeat}
.bg-sec.crm-m-cols::before{--h:rgba(242,240,235,.10)}
.crm-m-plus::before{left:max(20px,calc(50% - 650px));right:max(20px,calc(50% - 650px));top:48px;bottom:48px;--m:rgba(138,132,124,.68);background:
  linear-gradient(var(--m),var(--m)) left 0 top 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) left 5px top 0/1px 10px no-repeat,
  linear-gradient(var(--m),var(--m)) right 0 top 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) right 5px top 0/1px 10px no-repeat,
  linear-gradient(var(--m),var(--m)) left 0 bottom 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) left 5px bottom 0/1px 10px no-repeat,
  linear-gradient(var(--m),var(--m)) right 0 bottom 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) right 5px bottom 0/1px 10px no-repeat}
.crm-m-ruler::before{right:auto;left:calc(max(20px,50% - 650px) - 20px);width:12px;
  background:repeating-linear-gradient(to bottom,rgba(20,18,16,.18) 0 1px,transparent 1px 80px) right 0 top 0/12px 100% no-repeat,
  repeating-linear-gradient(to bottom,rgba(20,18,16,.18) 0 1px,transparent 1px 8px) right 0 top 0/4px 100% no-repeat}
.bg-sec.crm-m-ruler::before{background:repeating-linear-gradient(to bottom,rgba(242,240,235,.2) 0 1px,transparent 1px 80px) right 0 top 0/12px 100% no-repeat,
  repeating-linear-gradient(to bottom,rgba(242,240,235,.2) 0 1px,transparent 1px 8px) right 0 top 0/4px 100% no-repeat}
.crm-m-topo::before{background:var(--crm-char);opacity:.06;-webkit-mask:var(--crm-topo) center/cover no-repeat;mask:var(--crm-topo) center/cover no-repeat}
.crm-m-topo.crm-fire::before{opacity:.30}
.crm-m-topo.bg-sec::before{background:var(--crm-bone);opacity:.10}
.crm-m-topo.crm-fire.bg-sec::before{background:var(--crm-char);opacity:.30}
@media(max-width:767px){.crm-m-ruler::before,.crm-m-plus::before{display:none}}
/* Hero eyebrow "01" for every hero layout (D1 extended): the shared .ct2-hero-eyebrow class (split, offset, stacked, card, action, type, headline, strip) and Classic's h3.small-titles */
.ct2-hero-eyebrow,.hero h3.small-titles{display:flex;align-items:center;width:100%}
.hero h3.small-titles::before{content:"";display:inline-block;width:10px;height:10px;background:var(--crm-fire);margin-right:12px;flex:none}
.ct2-hero-eyebrow::after,.hero h3.small-titles::after{content:"01";flex:1;margin-left:24px;padding-left:24px;text-align:right;font-weight:400;letter-spacing:.02em;color:var(--crm-smoke);
  background:linear-gradient(var(--crm-hair),var(--crm-hair)) left center/calc(100% - 3.2em) 1px no-repeat}
.ct2-hero-eyebrow.white::after,.hero h3.small-titles.white::after{color:rgba(255,255,255,.75);background-image:linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,.3))}
@media(max-width:767px){.ct2-hero-eyebrow::after,.hero h3.small-titles::after{background:none}}
/* Carmel micro-elements: faint dot grids, hairlines, registration marks, ruler, topographic contours. Static, behind content, no glow. */
:root{--crm-topo:url("topo.svg")}
/* 1 hero: dot grid + registration marks */
.ct2-hero-strip{position:relative;isolation:isolate}
.ct2-hero-strip>*{position:relative;z-index:1}
.ct2-hero-strip::before{content:"";position:absolute;z-index:0;left:0;right:0;top:0;bottom:820px;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,rgba(20,18,16,.14) 1px,transparent 1.3px) 0 0/24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 85% 120% at 0 0,#000 0,transparent 78%);mask-image:radial-gradient(ellipse 85% 120% at 0 0,#000 0,transparent 78%)}
.ct2-hero-strip::after{content:"";position:absolute;z-index:0;left:max(20px,calc(50% - 650px));right:max(20px,calc(50% - 650px));top:150px;bottom:840px;pointer-events:none;
  --m:rgba(138,132,124,.68);background:
  linear-gradient(var(--m),var(--m)) left 0 top 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) left 5px top 0/1px 10px no-repeat,
  linear-gradient(var(--m),var(--m)) right 0 top 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) right 5px top 0/1px 10px no-repeat,
  linear-gradient(var(--m),var(--m)) left 0 bottom 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) left 5px bottom 0/1px 10px no-repeat,
  linear-gradient(var(--m),var(--m)) right 0 bottom 5px/10px 1px no-repeat,linear-gradient(var(--m),var(--m)) right 5px bottom 0/1px 10px no-repeat}
@media(max-width:767px){.ct2-hero-strip::before{bottom:620px}.ct2-hero-strip::after{display:none}}
/* 2 Who We Are: column-edge hairlines */
.crm-who::before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:max(20px,calc(50% - 650px));right:max(20px,calc(50% - 650px));pointer-events:none;
  --h:rgba(20,18,16,.09);background:linear-gradient(var(--h),var(--h)) left 0 top 0/1px 100% no-repeat,linear-gradient(var(--h),var(--h)) left 33.333% top 0/1px 100% no-repeat,
  linear-gradient(var(--h),var(--h)) left 66.666% top 0/1px 100% no-repeat,linear-gradient(var(--h),var(--h)) right 0 top 0/1px 100% no-repeat}
/* 3 Quicklinks: Bone dots fading toward the left */
.crm-index::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,rgba(242,240,235,.12) 1px,transparent 1.3px) 0 0/28px 28px;
  -webkit-mask-image:linear-gradient(to left,#000 25%,transparent 90%);mask-image:linear-gradient(to left,#000 25%,transparent 90%)}
/* 4 Fire band: topographic contours on the right two thirds */
.crm-welcome::before{content:"";position:absolute;z-index:0;left:0;right:0;top:0;bottom:0;pointer-events:none;background:var(--crm-char);opacity:.30;
  -webkit-mask:var(--crm-topo) center/cover no-repeat;mask:var(--crm-topo) center/cover no-repeat}
/* 5 Get Connected: + marks on the gutter */
.crm-connect .panel{position:relative}
.crm-connect .panel::before{content:"";position:absolute;left:-14px;top:-4px;width:8px;height:8px;pointer-events:none;--m:rgba(138,132,124,.75);
  background:linear-gradient(var(--m),var(--m)) 0 center/8px 1px no-repeat,linear-gradient(var(--m),var(--m)) center 0/1px 8px no-repeat}
/* 6 slider: ruler on the left edge of the content box */
.crm-feature::before{content:"";position:absolute;z-index:0;top:0;bottom:0;left:calc(max(20px,50% - 650px) - 20px);width:12px;pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(20,18,16,.18) 0 1px,transparent 1px 80px) right 0 top 0/12px 100% no-repeat,
  repeating-linear-gradient(to bottom,rgba(20,18,16,.18) 0 1px,transparent 1px 8px) right 0 top 0/4px 100% no-repeat}
/* 7 service times: dots fading from the bottom-right */
.crm-cta{position:relative}
.crm-cta::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;
  background:radial-gradient(circle at 1px 1px,rgba(20,18,16,.12) 1px,transparent 1.3px) 0 0/24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 90% 110% at 100% 100%,#000 0,transparent 75%);mask-image:radial-gradient(ellipse 90% 110% at 100% 100%,#000 0,transparent 75%)}
/* 8 footer: mirrored topo behind the sign-off */
.footer::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:var(--crm-bone);opacity:.10;transform:scaleX(-1);
  -webkit-mask:var(--crm-topo) center/cover no-repeat;mask:var(--crm-topo) center/cover no-repeat}
/* keep content above */
.crm-who>.section,.crm-index>.section,.crm-welcome>.section,.crm-feature>.section,.crm-cta>.section,.footer>*{position:relative;z-index:1}
.crm-connect .panel>*{position:relative}
@media(max-width:767px){.crm-feature::before,.crm-connect .panel::before{display:none}}
