/* =====================================================================
   CresZak Digital Media — "Warm Fusion" Component CSS
   Only styles for interactive/complex components used in wp:html blocks.
   Layout, typography, and colors for native blocks come from theme.json.
   Header and footer are WordPress template parts — no CSS needed here.
   ===================================================================== */

/* Design-token bridge — content files reference these var() names directly in
   inline styles (color:var(--wf-bark) etc). theme.json generates
   --wp--preset--color--* names, not these, so without this block every such
   reference is undefined and silently falls back to the inherited body color
   instead of the intended muted tone. Values match theme.json's palette. */
:root{--wf-ink:#1C1917;--wf-bark:#44403C;--wf-stone:#A8A29E;--wf-border:#E7E0D5;}

/* Global resets */
*,*::before,*::after{box-sizing:border-box;}
html{overflow-x:hidden;}
body{margin:0;padding:0;font-size:16px!important;overflow-x:hidden;}

/* WordPress layout resets — prevent WP from adding unwanted spacing/constraints */
.wp-site-blocks{padding:0!important;}
.wp-site-blocks > *{margin-block-start:0!important;margin-block-end:0!important;}
.wp-block-post-content.is-layout-flow > *{margin-block-start:0!important;margin-block-end:0!important;}
.wp-block-post-content.is-layout-flow > .wp-block-group.alignfull{max-width:none!important;margin-left:0!important;margin-right:0!important;}
.wp-block-group.alignfull.is-layout-flow > *{margin-block-start:0!important;margin-block-end:0!important;}
.wp-block-group.is-layout-flow > *{margin-block-start:0!important;margin-block-end:0!important;}

/* Global link reset — prevent browser default underlines inside content */
.wp-block-post-content a,.wp-block-post-content a:hover,
.wp-block-group a,.wp-block-group a:hover{text-decoration:none!important;color:inherit;}
.wf-more.terra{color:#D97757!important;} .wf-more.sage{color:#4A7C6F!important;}
.lnk.t-terra{color:#D97757!important;} .lnk.t-sage{color:#4A7C6F!important;}
.cdm-cta-row a{color:inherit;}
a:where(:not(.wp-element-button)){text-decoration:none!important;}

/* section layout */
.cdm-sec{max-width:1240px;margin:0 auto;padding:40px 28px;}
.cdm-center{text-align:center;}
.cdm-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;}
.cdm-kicker .ln{width:18px;height:1.5px;background:currentColor;}
.t-terra{color:#D97757;} .t-sage{color:#4A7C6F;}
.cdm-h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1.12;letter-spacing:-.015em;
  font-size:clamp(27px,4.8vw,38px);margin:14px 0 16px;}
.cdm-lead{font-size:16.5px;line-height:1.6;color:#44403C;}
.cdm-lead a,.cdm-lead a:hover,.cdm-lead a:visited,.cdm-lead a:active{color:#D97757!important;font-weight:500;text-decoration:none!important;}
.cdm-display{font-family:Georgia,'Times New Roman',serif;}
.cdm-dark{background:radial-gradient(ellipse 80% 60% at 22% 12%,rgba(217,119,87,.13),transparent 66%),
  radial-gradient(ellipse 60% 50% at 80% 88%,rgba(74,124,111,.13),transparent 66%),#0F0E0D;}

/* narrative two-col */
.cdm-2col{display:grid;gap:56px;align-items:center;}
.cdm-2col.img-left{grid-template-columns:.92fr 1.08fr;}
.cdm-2col.img-right{grid-template-columns:1.08fr .92fr;}
.cdm-narr h2{font-weight:700;font-size:clamp(25px,4.2vw,34px);line-height:1.14;margin:16px 0 18px;color:#1C1917;
  letter-spacing:-.012em;font-family:Georgia,'Times New Roman',serif;}
.cdm-narr p{font-size:16px;line-height:1.68;color:#44403C;margin:0 0 16px;}
.cdm-narr p a,.cdm-narr p a:hover,.cdm-narr p a:visited,.cdm-narr p a:active{color:#D97757!important;font-weight:500;text-decoration:none!important;}
.cdm-narr p a strong{font-weight:500;}
.cdm-narr ul{margin:0 0 16px;padding-left:20px;}
.cdm-narr ul li{font-size:16px;line-height:1.68;color:#44403C;margin:0 0 8px;}
.cdm-narr .lnk{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;text-decoration:none;}

/* read-more clamp (homepage narrative blocks only) */
.cdm-2col:has(.cdm-narr--clamp){align-items:start;}
.cdm-narr-inner{overflow:hidden;transition:max-height .35s ease;}
.cdm-narr-inner.is-expanded{max-height:none!important;}
.cdm-readmore-btn{display:none;align-items:center;gap:7px;margin-top:16px;font-weight:600;font-size:15px;
  color:#D97757;background:none;border:0;padding:0;cursor:pointer;font-family:inherit;}
.cdm-readmore-btn.is-visible{display:inline-flex;}
.cdm-readmore-btn svg{width:10px;height:10px;transition:transform .2s;}
.cdm-readmore-btn[aria-expanded="true"] svg{transform:rotate(180deg);}

/* animations */
.cdm-animate .fade{opacity:0;animation:wf-fadeup .6s ease forwards;}
.fade{opacity:1;}
.cdm-hero-bg{background:#1C1917;}

/* hero */
.cdm-hero{position:relative;max-width:1240px;margin:0 auto;padding:76px 28px 56px;overflow:hidden;}
.cdm-hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;}
.cdm-orb{position:absolute;border-radius:50%;pointer-events:none;}
.cdm-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(217,119,87,.15);color:#E5906F;
  border:1px solid rgba(217,119,87,.28);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;margin-bottom:26px;}
.cdm-badge .d{width:7px;height:7px;border-radius:50%;background:#6DAA98;animation:wf-pulse 2s ease infinite;}
.cdm-h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:clamp(33px,7vw,60px);line-height:1.04;
  letter-spacing:-.02em;margin:0 0 24px;color:#FDFBF7;text-wrap:balance;}
.cdm-mark{position:relative;display:inline-block;color:#D97757;white-space:nowrap;}
.cdm-mark .hl{position:absolute;left:-2px;right:-2px;bottom:6px;height:16px;background:rgba(217,119,87,.25);
  transform:scaleX(1);transform-origin:left;z-index:0;}
.cdm-animate .cdm-mark .hl{transform:scaleX(0);animation:wf-marker .7s cubic-bezier(.6,0,.2,1) .5s forwards;}
.cdm-mark .tx{position:relative;z-index:1;}
.cdm-hero-sub{font-size:18.5px;line-height:1.6;color:#A8A29E;margin:0 0 34px;max-width:520px;}
.cdm-hero-sub.ctr{margin-left:auto;margin-right:auto;max-width:none;}
.cdm-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.cdm-cta-row a{display:inline-block;font-weight:600;border-radius:11px;padding:14px 26px;white-space:nowrap;
  transition:transform .16s,box-shadow .16s,background .16s;text-decoration:none;}
.cdm-cta-row .cta-primary{background:#D97757;color:#fff;box-shadow:0 1px 3px rgba(28,25,23,.06);}
.cdm-cta-row .cta-primary:hover{transform:translateY(-2px);background:#E5906F;box-shadow:0 12px 28px -10px rgba(217,119,87,.6);}
.cdm-cta-row .cta-ghost{color:#FDFBF7!important;border:1px solid #44403C;background:transparent;}
.cdm-cta-row .cta-ghost:hover{border-color:#D97757;transform:translateY(-2px);}
.cdm-stats{display:flex;align-items:center;gap:28px;margin-top:40px;flex-wrap:wrap;}
.cdm-stat .n{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:700;color:#FDFBF7;}
.cdm-stat .c{font-size:12.5px;color:#A8A29E;max-width:110px;line-height:1.4;}
.cdm-vr{width:1px;height:42px;background:#E7E0D5;}

/* hero — light variant (homepage only) */
.cdm-hero-bg.cdm-hero-light{background:#FDFBF7;}
.cdm-hero-light .cdm-h1{color:#16263F;}
.cdm-hero-light .cdm-hero-sub{color:#44403C;}
.cdm-hero-light .cdm-cta-row .cta-ghost{color:#16263F!important;border:1px solid #E7E0D5;}
.cdm-hero-light .cdm-cta-row .cta-ghost:hover{border-color:#D97757;}
.cdm-hero-light .cdm-stat .n{color:#16263F;}
.cdm-hero-light .cdm-stat .c{color:#44403C;}

/* console mockup */
.cdm-console{position:relative;background:#FDFBF7;border:1px solid #E7E0D5;border-radius:16px;
  box-shadow:0 28px 60px -28px rgba(28,25,23,.34),0 1px 3px rgba(28,25,23,.06);padding:20px 20px 22px;}
.cdm-console .tl{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.cdm-console .tl .c{width:10px;height:10px;border-radius:50%;}
.cdm-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#4A7C6F;
  font-weight:600;font-family:ui-monospace,monospace;}
.cdm-bars{display:flex;align-items:flex-end;gap:9px;height:84px;margin:14px 0 16px;padding-top:6px;}
.cdm-bars .b{flex:1;border-radius:6px 6px 0 0;transform-origin:bottom;}
.cdm-animate .cdm-bars .b{transform:scaleY(0);animation:wf-rise .7s cubic-bezier(.5,0,.2,1) forwards;}
.cdm-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:8px;padding:6px 10px;}

/* partner logos */
.cdm-partner-track{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;}
.cdm-partner-track img{height:40px;width:auto;opacity:.7;transition:opacity .2s;}
.cdm-partner-track img:hover{opacity:1;}

/* discipline grid */
.cdm-disc-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #E7E0D5;
  border-radius:16px;overflow:hidden;background:#FDFBF7;}
.wf-disc{position:relative;display:flex;flex-direction:column;gap:16px;padding:38px 32px;
  background:#FDFBF7;transition:background .2s;}
.wf-disc:not(:last-child){border-right:1px solid #E7E0D5;}
.wf-disc:hover{background:#F8F4ED;}
.wf-disc .num{font-family:Georgia,'Times New Roman',serif;font-size:52px;font-weight:700;line-height:.9;color:#E7E0D5;transition:color .2s;}
.wf-disc:hover .num{color:#D97757;}
.wf-disc h3{font-weight:700;font-size:23px;margin:0;color:#1C1917;letter-spacing:-.01em;}
.wf-disc p{font-size:14.5px;line-height:1.55;color:#44403C;margin:6px 0 0;}
.wf-disc .arr{transition:transform .2s,opacity .2s;opacity:.5;}
.wf-disc:hover .arr{transform:translateX(6px);opacity:1;}

/* card grids */
.cdm-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cdm-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.wf-card{position:relative;display:flex;flex-direction:column;background:#FDFBF7;
  border:1px solid #E7E0D5;border-radius:14px;padding:28px 24px 24px;
  box-shadow:0 1px 3px rgba(28,25,23,.06),0 1px 2px rgba(28,25,23,.04);
  transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden;}
.wf-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(28,25,23,.3);}
.wf-card.acc-terra:hover{border-color:#D97757;}
.wf-card.acc-sage:hover{border-color:#4A7C6F;}
.wf-ic{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;
  border-radius:13px;font-size:22px;margin-bottom:18px;}
.wf-ic.terra{background:rgba(217,119,87,.10);color:#D97757;}
.wf-ic.sage{background:rgba(74,124,111,.10);color:#4A7C6F;}
.wf-card h3{font-weight:700;font-size:19px;margin:0 0 9px;color:#1C1917;letter-spacing:-.01em;font-family:Georgia,'Times New Roman',serif;}
.wf-card p{font-size:14.5px;line-height:1.6;color:#44403C;margin:0 0 18px;flex:1;}
.wf-more{font-weight:600;font-size:14px;text-decoration:none;}
.wf-more.terra{color:#D97757;} .wf-more.sage{color:#4A7C6F;}

/* dark bento stats */
.cdm-dark-inner{max-width:1240px;margin:0 auto;padding:52px 28px;}
.cdm-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.wf-bento{position:relative;background:#1A1815;border:1px solid #3A3632;border-top:1px solid rgba(255,255,255,.05);
  border-radius:14px;padding:30px 24px;overflow:hidden;}
.wf-bento .top{position:absolute;top:0;left:0;width:100%;height:2px;}
.wf-bento .n{font-family:Georgia,'Times New Roman',serif;font-size:46px;font-weight:700;color:#FDFBF7;line-height:1;}
.wf-bento p{font-size:13.5px;color:#C4BDB3;margin:14px 0 0;line-height:1.55;}

/* charts */
.cdm-charts{display:grid;grid-template-columns:.85fr 1.15fr 1fr;gap:18px;align-items:stretch;}
.wf-chart{background:#FDFBF7;border:1px solid #E7E0D5;border-radius:16px;
  box-shadow:0 1px 3px rgba(28,25,23,.06);padding:26px 24px;display:flex;flex-direction:column;}
.wf-chart h3{font-weight:700;font-size:18px;margin:0 0 4px;color:#1C1917;font-family:Georgia,'Times New Roman',serif;}
.wf-chart .sub{font-size:13px;color:#A8A29E;margin:0 0 14px;}
.wf-ring-wrap{position:relative;width:168px;height:168px;margin:8px auto 16px;}
.wf-ring-prog{stroke-dasharray:314;stroke-dashoffset:147.7;}
.cdm-animate .wf-ring-prog{stroke-dashoffset:314;animation:wf-ring53 1.3s cubic-bezier(.5,0,.2,1) .3s forwards;}
.wf-ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.wf-ring-c .n{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:700;color:#1C1917;line-height:1;}
.wf-hbar-row{margin-bottom:20px;}
.wf-hbar-top{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:7px;}
.wf-hbar-top .v{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#1C1917;}
.wf-hbar{height:12px;background:#F2EDE4;border-radius:7px;overflow:hidden;}
.wf-hbar .fill{height:100%;border-radius:7px;transform-origin:left;transform:scaleX(1);}
.cdm-animate .wf-hbar .fill{transform:scaleX(0);animation:wf-growx 1s cubic-bezier(.5,0,.2,1) forwards;}
.wf-legend{display:flex;align-items:center;gap:8px;font-size:13px;color:#44403C;}
.wf-legend .sw{width:10px;height:10px;border-radius:3px;}

/* highlight band */
.cdm-band{position:relative;background:linear-gradient(135deg,rgba(74,124,111,.10),rgba(74,124,111,.04));
  border:1px solid rgba(74,124,111,.2);border-radius:18px;padding:40px 44px;text-align:center;overflow:hidden;}
.cdm-band h3{position:relative;font-weight:700;font-size:clamp(22px,3.4vw,26px);line-height:1.28;margin:0 0 12px;color:#1C1917;
  letter-spacing:-.01em;font-family:Georgia,'Times New Roman',serif;}
.cdm-band p{position:relative;font-size:16px;line-height:1.68;color:#44403C;margin:0 auto;max-width:820px;}

/* narrative figures (for wp:html image panels with decorative effects) */
.cdm-figure{position:relative;border:1px solid #E7E0D5;border-radius:18px;aspect-ratio:1/1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  box-shadow:0 20px 50px -30px rgba(28,25,23,.3);overflow:hidden;
  background:radial-gradient(120% 120% at 20% 10%,#F8F4ED,#F2EDE4);}
.cdm-figure img{width:100%;height:100%;object-fit:cover;}
.cdm-figure .glow{position:absolute;width:160px;height:160px;border-radius:50%;}

/* industry cards */
.wf-ind{position:relative;display:flex;flex-direction:column;background:#FDFBF7;border:1px solid #E7E0D5;
  border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(28,25,23,.06);
  transition:border-color .2s,transform .2s,box-shadow .2s;}
.wf-ind:hover{border-color:#D97757;transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(28,25,23,.3);}
.wf-ind .ph{aspect-ratio:16/7;overflow:hidden;border-bottom:1px solid #E7E0D5;}
.wf-ind .ph img{width:100%;height:100%;object-fit:cover;}
.wf-ind .bd{padding:22px 22px 20px;}
.wf-ind h3{font-weight:700;font-size:19px;margin:0 0 8px;color:#1C1917;letter-spacing:-.01em;font-family:Georgia,'Times New Roman',serif;}
.wf-ind p{font-size:14px;line-height:1.55;color:#44403C;margin:0 0 12px;}

/* team cards */
.wf-team{background:#FDFBF7;border:1px solid #E7E0D5;border-radius:14px;padding:22px;
  text-align:center;box-shadow:0 1px 3px rgba(28,25,23,.06);transition:transform .2s,box-shadow .2s;}
.wf-team:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(28,25,23,.3);}
.wf-team .av{aspect-ratio:1/1;border-radius:12px;margin-bottom:14px;overflow:hidden;}
.wf-team .av img{width:100%;height:100%;object-fit:cover;}
.wf-team h4{font-weight:700;font-size:17px;margin:0 0 4px;color:#1C1917;font-family:Georgia,'Times New Roman',serif;}
.wf-team .rl{font-size:13px;color:#A8A29E;margin:0;}

/* testimonial marquee */
.cdm-marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.cdm-marq .track{display:flex;gap:18px;width:max-content;animation:wf-marquee 40s linear infinite;}
.cdm-marq:hover .track{animation-play-state:paused;}
.wf-quote{flex:none;width:340px;background:#FDFBF7;border:1px solid #E7E0D5;border-radius:14px;
  padding:26px 24px;box-shadow:0 1px 3px rgba(28,25,23,.06);display:flex;flex-direction:column;}
.wf-quote .st{color:#D97757;font-size:15px;letter-spacing:2px;margin-bottom:12px;}
.wf-quote p{font-size:15px;line-height:1.6;color:#1C1917;margin:0 0 20px;flex:1;}
.wf-quote .who{display:flex;align-items:center;gap:12px;}
.wf-quote .who .av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:17px;overflow:hidden;}
.wf-quote .who .av img{width:100%;height:100%;object-fit:cover;}

/* partner trust badges */
.wf-trust{flex:none;min-width:180px;height:66px;background:#FDFBF7;border:1px solid #E7E0D5;
  border-radius:12px;display:flex;align-items:center;justify-content:center;gap:9px;color:#78716C;font-weight:600;font-size:14px;}

/* CTA box */
.cdm-cta-box{position:relative;background:radial-gradient(ellipse 70% 130% at 82% 0%,rgba(217,119,87,.2),transparent 60%),
  radial-gradient(ellipse 60% 100% at 8% 100%,rgba(74,124,111,.16),transparent 60%),#1C1917;
  border-radius:22px;padding:62px 56px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;overflow:hidden;}
.cdm-cta-box h2{font-weight:700;font-size:clamp(26px,4.6vw,38px);line-height:1.14;color:#FDFBF7;margin:14px 0 16px;
  letter-spacing:-.015em;font-family:Georgia,'Times New Roman',serif;}
.cdm-cta-box p{font-size:16.5px;line-height:1.65;color:#C4BDB3;margin:0;max-width:540px;}
.cdm-cta-end{display:flex;justify-content:flex-end;}

/* FAQ accordion */
.cdm-accord{border:1.5px solid #E7E0D5;border-radius:14px;margin-bottom:12px;overflow:hidden;background:#FDFBF7;
  cursor:pointer;transition:border-color .2s,box-shadow .2s;box-shadow:0 2px 8px rgba(28,25,23,.04);}
.cdm-accord:hover,.cdm-accord.open{border-color:#D97757;box-shadow:0 6px 18px -6px rgba(217,119,87,.15);}
.acc-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:16px;}
.acc-title{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:16px;line-height:1.4;color:#1C1917;}
.acc-arr{font-size:11px;color:#A8A29E;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;
  justify-content:center;border-radius:8px;background:#F5F0E8;transition:transform .2s,color .2s,background .2s;}
.cdm-accord.open .acc-arr{transform:rotate(180deg);color:#D97757;background:rgba(217,119,87,.1);}
.acc-body{padding:0 24px 24px;}
.acc-body p{font-size:15px;line-height:1.7;color:#44403C;margin:0 0 12px;}
.acc-body p:last-child{margin:0;}
.acc-body ul{margin:0 0 12px;padding-left:20px;}
.acc-body ul:last-child{margin:0;}
.acc-body li{font-size:15px;line-height:1.7;color:#44403C;margin:0 0 8px;}
.acc-body li:last-child{margin:0;}
.acc-body a,.acc-body a:hover,.acc-body a:visited,.acc-body a:active{color:#D97757!important;font-weight:500!important;text-decoration:none!important;}
.acc-body a strong{font-weight:500;}

/* data tables (pricing/comparison tables) */
.cdm-table-wrap{overflow-x:auto;margin:0 0 20px;border:1.5px solid #E7E0D5;border-radius:14px;
  box-shadow:0 2px 8px rgba(28,25,23,.04);}
.cdm-table{width:100%;border-collapse:collapse;font-size:14.5px;background:#FDFBF7;}
.cdm-table caption{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:15px;color:#1C1917;
  text-align:left;padding:14px 20px 10px;}
.cdm-table th{background:#1C1917;color:#F5F0E8;font-weight:600;text-align:left;padding:12px 20px;
  letter-spacing:.01em;}
.cdm-table td{padding:11px 20px;color:#44403C;border-top:1px solid #E7E0D5;}
.cdm-table tr:nth-child(even) td{background:#F5F0E8;}

/* table-of-contents pill nav */
.cdm-toc{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:16px 0 0;padding:0;}
.cdm-toc li{margin:0;}
.cdm-toc a{display:inline-flex;align-items:center;background:#FDFBF7;border:1.5px solid #E7E0D5;
  border-radius:999px;padding:10px 20px;font-weight:600;font-size:14px;color:#1C1917;text-decoration:none;
  transition:border-color .2s,background .2s,color .2s;}
.cdm-toc a:hover{border-color:#D97757;background:rgba(217,119,87,.08);color:#D97757;}

/* keyframes */
@keyframes wf-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.78);}}
@keyframes wf-rise{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@keyframes wf-growx{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes wf-draw{from{stroke-dashoffset:540;}to{stroke-dashoffset:0;}}
@keyframes wf-ring53{from{stroke-dashoffset:314;}to{stroke-dashoffset:147.7;}}
@keyframes wf-marker{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes wf-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes wf-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes wf-fadeup{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* header — mobile-first: inline styles set mobile defaults, CSS activates desktop */
.cdm-hamburger{background:none;border:none;cursor:pointer;padding:6px;color:#1C1917;}
.cdm-hamburger svg{width:26px;height:26px;}
.cdm-mobile-overlay{display:none!important;}

@media(min-width:921px){
  .cdm-nav-desktop{display:flex!important;}
  .cdm-nav-actions{display:flex!important;}
  .cdm-hamburger{display:none!important;}
}

@media(max-width:920px){
  .cdm-mobile-overlay.open{display:flex!important;position:fixed;inset:0;z-index:9999;background:#FDFBF7;
    flex-direction:column;padding:20px 28px;overflow-y:auto;}
  .cdm-mobile-overlay .mob-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;}
  .cdm-mobile-overlay .mob-close{background:none;border:none;cursor:pointer;padding:6px;color:#1C1917;}
  .cdm-mobile-overlay .mob-close svg{width:26px;height:26px;}
  .cdm-mobile-overlay .mob-links{display:flex;flex-direction:column;gap:4px;}
  .cdm-mobile-overlay .mob-links a{display:block;padding:14px 16px;font-size:17px;font-weight:500;color:#1C1917;
    text-decoration:none;border-radius:10px;transition:background .15s;}
  .cdm-mobile-overlay .mob-links a:hover{background:#F5F0E8;}
  .cdm-mobile-overlay .mob-cta{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
  .cdm-mobile-overlay .mob-cta a{display:block;text-align:center;padding:14px 20px;border-radius:11px;
    font-weight:600;font-size:15px;text-decoration:none;}
  .cdm-mobile-overlay .mob-cta .cta-primary{background:#D97757;color:#fff;}
  .cdm-mobile-overlay .mob-cta .cta-secondary{color:#44403C;border:1px solid #E7E0D5;}
}

/* responsive — component-level only */
@media(max-width:920px){
  .cdm-hero-grid,.cdm-2col,.cdm-2col.img-left,.cdm-2col.img-right,.cdm-cta-box{grid-template-columns:1fr;gap:32px;}
  .cdm-2col.img-right .cdm-figure{order:-1;}
  .cdm-center{text-align:left;}
  .cdm-lead{text-align:left !important;}
  .mob-left{text-align:left !important;margin-left:0 !important;margin-right:0 !important;}
  .cdm-steps-lead{text-align:left !important;margin-left:0 !important;margin-right:auto !important;}
  .cdm-kicker{justify-content:flex-start;}
  .cdm-disc-grid{grid-template-columns:1fr;}
  .wf-disc:not(:last-child){border-right:none;border-bottom:1px solid #E7E0D5;}
  .cdm-charts{grid-template-columns:1fr 1fr;}
  .cdm-bento,.cdm-g3,.cdm-g4{grid-template-columns:repeat(2,1fr);}
  .cdm-cta-end{justify-content:flex-start;}
}
@media(max-width:560px){
  .cdm-g3,.cdm-g4,.cdm-bento,.cdm-charts{grid-template-columns:1fr;}
  .cdm-svc-grid{grid-template-columns:1fr!important;}
  .cdm-hero{padding:36px 18px 40px;}
  .cdm-sec{padding-left:18px;padding-right:18px;}
  .cdm-cta-box{padding:38px 26px;}
  .cdm-stats{gap:18px;}
  .cdm-vr{display:none;}
  .cdm-stat{text-align:center;}
  .wf-quote{width:280px;padding:22px 20px;}
  .wf-bento .n{font-size:36px;}
  .cdm-band{padding:28px 22px;}
  .cdm-h2{font-size:clamp(23px,5.8vw,34px);}
  .cdm-narr h2{font-size:clamp(22px,5.4vw,30px);}
  .cdm-narr p{font-size:15px;}
  .cdm-narr ul li{font-size:15px;}
  .cdm-lead{font-size:15px;}
  .cdm-display{font-size:clamp(24px,5.6vw,36px) !important;}
}
@media(max-width:560px){
  #proc-nav button span:first-child{width:36px!important;height:36px!important;font-size:14px!important;}
  #proc-nav button span:last-child{font-size:9px!important;}
  #proc-nav button{gap:6px!important;}
  #proc-nav>div:first-child{padding:0 8px!important;}
  #proc-nav>div:first-child>div:first-child{left:28px!important;right:28px!important;top:18px!important;}
  #proc-nav>div:nth-child(n+2){padding:24px 22px!important;}
}
