/* =====================================================================
   go.astraestimating.com - site stylesheet
   One file for every page. Sections:
     1. Fonts            2. Reset & base      3. Layout helpers
     4. Buttons          5. Video preview     6. Modal (dialog)
     7. Forms            8. Utilities / a11y
     then shared site components, then page-specific sections
     (each page's <body> has class "page-<slug>").
   ===================================================================== */

/* ---------- 1. Fonts (self-hosted, Latin, variable, swap) ---------- */
@font-face{font-family:"Raleway";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/raleway.woff2) format("woff2")}
@font-face{font-family:"Raleway";font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/raleway-italic.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/open-sans.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-style:italic;font-weight:300 800;font-display:swap;src:url(../fonts/open-sans-italic.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-style:normal;font-weight:200 700;font-display:swap;src:url(../fonts/oswald.woff2) format("woff2")}
@font-face{font-family:"Rokkitt";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/rokkitt.woff2) format("woff2")}
/* Droid Serif (used by the original) is retired; Noto Serif is its direct successor. */
@font-face{font-family:"Noto Serif";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/noto-serif.woff2) format("woff2")}
@font-face{font-family:"Noto Serif";font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/noto-serif-italic.woff2) format("woff2")}
@font-face{font-family:"Handlee";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/handlee.woff2) format("woff2")}
@font-face{font-family:"Shadows Into Light Two";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/shadows-into-light-two.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format("woff2")}

:root{
  --font-raleway:"Raleway",Helvetica,Arial,sans-serif;
  --font-open:"Open Sans",Helvetica,Arial,sans-serif;
  --font-oswald:"Oswald",Helvetica,Arial,sans-serif;
  --font-rokkitt:"Rokkitt",Georgia,serif;
  --font-serif:"Noto Serif","Droid Serif",Georgia,serif;
  --font-hand:"Handlee",cursive;
  --text:#2e2e2e;
  --link:#0e8dc7;
  --focus:#1a73e8;
}

/* ---------- 2. Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--font-open);font-size:14px;line-height:1.42857;color:var(--text);background:#fff}
img,svg,video,iframe{max-width:100%}
img{height:auto;border:0;vertical-align:middle}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:inherit;line-height:1.2}
p{margin:0}
p+p{margin-top:1em}
ul,ol{margin:0}
a{color:var(--link)}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
hr{border:0;border-top:1px solid #ddd;margin:0}
b,strong{font-weight:700}

/* ---------- 3. Layout helpers ---------- */
/* CF widths: wide 1120px, full-width inner 1170px, small 550px */
.container{width:100%;max-width:1120px;margin-inline:auto;padding-inline:20px}
.container--full{max-width:1170px}
.container--medium{max-width:960px}
.container--small{max-width:550px;padding-inline:10px}
.section{padding-block:40px}
.cols{display:flex;gap:30px}
.cols>*{flex:1 1 0;min-width:0}
@media (max-width:767px){.cols{flex-direction:column;gap:20px}}
.text-center{text-align:center}

/* ---------- 4. Buttons (CF elButton look) ---------- */
.btn{display:inline-block;padding:13px 35px;border:0;border-radius:0;color:#fff;font-weight:700;text-align:center;text-decoration:none;line-height:1.2;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out}
.btn:hover{text-decoration:none;color:#fff}
.btn__sub{display:block;font-size:13px;font-weight:400;opacity:.8;margin-top:3px}
.btn--block{display:block;width:100%}
/* hover styles from CF classes */
.btn--rounded{border-radius:3px}
.btn--rounded:hover{box-shadow:inset 0 2px 2px 0 rgba(255,255,255,.22),inset 0 233px 233px 0 rgba(255,255,255,.12)}
.btn--pill{border-radius:50px}
.btn--pill:hover{box-shadow:inset 0 -133px 133px 0 rgba(255,255,255,.12)}
.btn--square:hover,.btn--border:hover{box-shadow:inset 0 -133px 133px 0 rgba(255,255,255,.2)}
.btn--grow:hover{transform:scale(1.1)}
.btn--fade:hover{opacity:.7}

/* ---------- 5. Video preview (click to play) ---------- */
.video{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;overflow:hidden;cursor:pointer}
.video>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;border-radius:10px;background:rgba(0,0,0,.75);transition:background .2s}
.video__play::after{content:"";position:absolute;left:27px;top:14px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
.video:hover .video__play,.video:focus-visible .video__play{background:#00adef}

/* ---------- 6. Modal (native <dialog>) ---------- */
.modal{width:min(100% - 20px,var(--modal-w,640px));max-height:calc(100% - 40px);padding:0;border:0;background:#fff;color:inherit;overflow:visible;box-shadow:0 0 25px rgba(0,0,0,.35)}
.modal::backdrop{background:rgba(0,0,0,.6)}
.modal[open]{animation:modal-in .25s ease-out}
.modal__body{max-height:calc(100vh - 40px);overflow:auto}
.modal__close{position:absolute;top:-14px;right:-14px;z-index:2;width:30px;height:30px;padding:0;border:2px solid #fff;border-radius:50%;background:#000;color:#fff;font-size:20px;line-height:24px;text-align:center}
.modal__view[hidden]{display:none}
@keyframes modal-in{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
body.modal-open{overflow:hidden}

/* ---------- 7. Forms ---------- */
.field{display:block;margin-bottom:10px}
.field input,.field select,.field textarea{display:block;width:100%;padding:12px 15px;border:1px solid rgba(0,0,0,.2);border-radius:4px;background:#fff;font-size:14px;color:#2e2e2e}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px rgba(26,115,232,.25)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#d93025;box-shadow:0 0 0 2px rgba(217,48,37,.2)}
.form-status{margin-top:10px;font-size:14px;text-align:center}
.form-status:empty{display:none}
.form-status--error{color:#c5221f}
.form-status--info{color:#555}
.form-status--ok{color:#188038}

/* ---------- 8. Utilities / accessibility ---------- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:8px;top:-60px;z-index:1000;padding:8px 14px;background:#000;color:#fff}
.skip-link:focus{top:8px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .btn--grow:hover{transform:none}
}

/* =====================================================================
   10 - Raleway page shell, dark top navigation bar, icons (builder-a)
   Used by ae-home-page-a, ae-documentation-forms-a, estimating-services,
   estimating-services-b (and any page with the same CF nav section).
   Markup: site-src/partials/topbar.html
     <body class="cf-raleway page-…">
       <header class="topbar">…<nav id="site-nav" class="topbar__nav">…</nav></header>
       <div class="topbar-strip"><p>…</p></div>          (optional grey strip)
   ===================================================================== */

/* CF pages with "elFont_raleway": Raleway everywhere unless an element sets its own font */
.cf-raleway{font-family:var(--font-raleway)}

/* ---------- Dark bar (CF section bg rgb(40,58,64), 20px row padding) ---------- */
.topbar{background:#283a40;color:#efefef}
.topbar__inner{display:flex;align-items:center;justify-content:flex-end;max-width:1150px;margin-inline:auto;padding:20px 25px}
.topbar__nav ul{margin:0;padding:0;list-style:none;text-align:right}
.topbar__nav li{display:inline-block;padding-right:30px}
.topbar__nav li:last-child{padding-right:0}
.topbar__nav a{display:inline-block;color:#efefef;font-size:14px;line-height:20px;text-decoration:none;transition:opacity .15s}
.topbar__nav a:hover{color:#fff;opacity:.75}
.topbar__nav a[aria-current="page"]{color:#fff}

/* Hamburger (mobile only; toggled by [data-nav-toggle] in 00-core.js) */
.topbar__toggle{display:none;align-items:center;gap:10px;padding:6px 8px;border:1px solid rgba(239,239,239,.35);border-radius:4px;background:none;color:#efefef;font-size:14px;line-height:20px}
.topbar__burger,.topbar__burger::before,.topbar__burger::after{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s}
.topbar__burger{position:relative}
.topbar__burger::before,.topbar__burger::after{content:"";position:absolute;left:0}
.topbar__burger::before{top:-6px}
.topbar__burger::after{top:6px}
.topbar__toggle[aria-expanded="true"] .topbar__burger{background:transparent}
.topbar__toggle[aria-expanded="true"] .topbar__burger::before{transform:translateY(6px) rotate(45deg)}
.topbar__toggle[aria-expanded="true"] .topbar__burger::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:767px){
  .topbar__inner{flex-wrap:wrap;padding:12px 15px}
  .topbar__toggle{display:inline-flex}
  .topbar__nav{display:none;flex-basis:100%;margin-top:10px}
  .topbar__nav.is-open{display:block}
  .topbar__nav ul{text-align:left}
  .topbar__nav li{display:block;padding:0;border-top:1px solid rgba(239,239,239,.15)}
  .topbar__nav a{display:block;padding:12px 4px;font-size:16px}
}

/* ---------- Grey strip under the bar (CF "Black Bar Headline") ---------- */
/* Semi-transparent like the original, so it tints whatever page background is behind it. */
.topbar-strip{padding:20px 10px;background:rgba(31,31,31,.67);color:#fff;font-size:21px;line-height:normal;text-align:center}
@media (max-width:767px){.topbar-strip{padding:14px 10px;font-size:18px}}

/* ---------- Icons: CSS-mask glyphs replacing CF's Font Awesome (FA Free 5.15.4 paths, CC BY 4.0) ----------
   <span class="icon icon--check" aria-hidden="true"></span>  - takes the text colour, 1em tall */
.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.icon--angle-right,.icon--file-pdf,.icon--file-excel{width:.75em}
.icon--angle-right{width:.4em}
.icon--check{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E")}
.icon--angle-right{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E")}
.icon--file-pdf{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z'/%3E%3C/svg%3E")}
.icon--file-excel{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z'/%3E%3C/svg%3E")}

/* ---------- Shared CF-style section pieces used by the Raleway pages ---------- */
/* CF "fullContainer" content box: 1170px row minus column padding = 1100px of content */
.cf-wrap{width:100%;max-width:1150px;margin-inline:auto;padding-inline:25px}
@media (max-width:767px){.cf-wrap{padding-inline:15px}}
/* CF "Optin Area" spacing; use with builder-b's .sheet (white panel + 2px light rule): class="sheet band-rule" */
.band-rule{min-height:40px;padding-bottom:40px}
/* Full-width title band (CF section padding 20 + row padding 40) */
.title-band{position:relative;padding:60px 25px;font-size:32px;line-height:1.3;text-align:center}
.title-band--blue{background:#0075b2;color:#fff}
.title-band--grey{background:#efefef;color:#474747}
@media (max-width:767px){.title-band{padding:40px 15px;font-size:26px}}
/* Outline button (CF elButtonBorder + elButtonColor1) */
.btn--outline{padding:10px 25px;border:3px solid #0092d5;border-radius:3px;background:transparent;color:#5f5d5d;font-size:20px;line-height:28px}
.btn--outline:hover{border-color:#0092d5;background:#0092d5;color:#fff}
.btn--outline .icon{margin-left:.35em}
.icon--arrow-right{width:.875em;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E")}

/* =====================================================================
   11 - Site footer for the Raleway pages (builder-a)
   Astra logo, YouTube/Google/Facebook disclaimer, copyright + links.
   Markup: site-src/partials/footer.html
   ===================================================================== */
.site-footer{max-width:1120px;margin-inline:auto;padding:63px 20px 50px;color:rgba(47,47,47,.6);font-family:var(--font-raleway);font-size:16px;line-height:normal;text-align:center}
.site-footer__logo{display:block;width:147px;height:54px;margin:0 auto 18px}
.site-footer__text{max-width:726px;margin-inline:auto}
.site-footer__copy{margin-top:10px}
.site-footer a{color:rgba(87,87,87,.53);text-decoration:none}
.site-footer a:hover{color:#2e2e2e;text-decoration:underline}
@media (max-width:767px){
  .site-footer{padding:40px 15px 30px}
  .site-footer__disclaimer{font-size:12px}
}

/* =====================================================================
   12 - ae-home-page-a (builder-a)
   Reusable pieces here: .hero-banner, .cta-row, .btn--rock, .step-head,
   .step-lede, .soft-rule, .feature-cols/.feature, .checklist, .video-frame,
   .calendly-embed, .help-note, .logo-band, .logo-grid, .guarantee-band.
   Success Stories / testimonial cards come from 20-testimonials.css (builder-b).
   ===================================================================== */

/* ---------- Banner under the top bar (same dark CF section) ---------- */
.hero-banner{background:#283a40}
.hero-banner img{display:block;width:100%;max-width:1100px;margin-inline:auto}

/* ---------- Call-to-action row: button centred in the right half ---------- */
.cta-row{display:grid;grid-template-columns:1fr 1fr;padding-top:20px}
.cta-row>*{grid-column:2;text-align:center}
.btn-cf--teal{background:#2a869d;font-weight:600;border-radius:3px}
.btn-cf .icon{margin-left:10px}
.btn-cf .btn__sub{font-size:14px;font-weight:400}
/* CF "ea-buttonRocking": rocks every 2s, stops on hover (reduced-motion users get no animation) */
.btn--rock{animation:btn-rock 2s cubic-bezier(0,0,.58,1) infinite}
.btn--rock:hover,.btn--rock:focus-visible{animation:none}
@keyframes btn-rock{0%,25%{transform:rotate(0)}50%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
@media (prefers-reduced-motion:reduce){.btn--rock{animation:none}}

/* ---------- Section headings ---------- */
.step-head{padding-top:40px;font-size:40px;font-weight:700;line-height:normal;text-align:center}
.step-head--narrow{max-width:75%;margin-inline:auto}
.step-lede{padding:5px 0 40px;font-size:30px;line-height:1.42857;color:#606060;text-align:center}
.sub-head{font:400 32px/normal var(--font-open);text-align:center}
.sub-head--bold{font-weight:700}
.sub-head--raleway{font-family:var(--font-raleway)}

/* thin light rule between blocks (CF divider: 10px padding inside a 20px row) */
.soft-rule{margin:30px 0;border-top:3px solid #ececec}

/* ---------- Video frames (75% / 50% wide, like CF elVideoWidth75/50) ---------- */
.video-frame{margin:30px auto 0}
.video-frame--75{width:75%}
.video-frame--50{width:50%}
.video-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;padding-block:20px}

/* ---------- Calendly inline embed + help lines ---------- */
.calendly-embed{display:block;width:100%;min-width:300px;height:580px;margin-top:30px;border:0}
.help-note{font:400 16px/1.42857 var(--font-open);color:#979797;text-align:center}
.help-note+.help-note{margin-top:0}
.help-note a{color:#9cc0df;text-decoration:none}
.help-note a:hover{text-decoration:underline}

/* ---------- Feature columns (icon, title, check list) ---------- */
.feature-cols{display:grid;grid-template-columns:repeat(var(--cols,3),1fr);gap:0 40px;padding:20px 0}
.feature-cols--2{padding-top:40px}
.feature-cols--2{--cols:2;gap:0 50px}
.feature__icon{display:block;margin:0 auto}
.feature-cols--3 .feature__icon{margin-top:30px}
.feature__title{margin-top:30px;font-size:23px;line-height:normal}
.feature-cols--3 .feature__title{font-weight:700;text-align:center}
.feature-cols--3 .checklist{margin-top:30px}
.checklist{margin:15px 0 0;padding:0;list-style:none;font-size:15px;line-height:1.42857}
.checklist li{position:relative;margin-bottom:6px;padding:0 0 6px 2em}
.checklist li::before{content:"";position:absolute;left:.15em;top:.25em;width:1em;height:1em;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}

/* ---------- Bands ---------- */
.band{padding-block:20px}
.band--grey{background:#efefef}
.band--light{background:#f2f2f2}
.guarantee-band{position:relative;padding:40px 25px;background:#4c5966;color:#fff;font-size:30px;line-height:1.42857;text-align:center}
.guarantee-band img{display:block;margin:0 auto 15px}
.guarantee-band p{max-width:790px;margin-inline:auto}
.logo-band{padding:70px 0 50px;background:#eee}
.logo-band--light{padding:40px 0 20px;background:#f2f2f2}
.logo-band__title{margin-top:15px;font-size:30px;line-height:1.42857;color:#2d2d2d;text-align:center}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 20px;margin:0;padding:40px 0 20px;list-style:none}
.logo-grid li{text-align:center}

/* ---------- Page specific ---------- */
.page-ae-home-page-a .cta-band{padding-bottom:60px}
.page-ae-home-page-a .stories{margin-top:60px}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .cta-row{grid-template-columns:1fr}
  .cta-row>*{grid-column:1}
  .cta-row .btn-cf{font-size:17px}
  .step-head{padding-top:30px;font-size:28px}
  .step-head--narrow{max-width:none}
  .step-lede{padding-bottom:25px;font-size:20px}
  .sub-head{font-size:26px}
  .video-frame--75,.video-frame--50{width:100%}
  .video-pair{grid-template-columns:1fr;gap:30px}
  .calendly-embed{height:640px}
  .help-note{font-size:14px}
  .feature-cols,.feature-cols--2{grid-template-columns:1fr;gap:20px;padding-top:20px}
  .feature__title{text-align:center}
  .guarantee-band{font-size:22px}
  .guarantee-band p{max-width:none}
  .logo-band{padding:40px 0}
  .logo-band__title{font-size:22px}
  .logo-grid{grid-template-columns:repeat(2,1fr);gap:20px 10px}
}
.feature__title-note{font-weight:400}
/* spacing tuned to the original rows */
.step-lede{line-height:1.45}
.step-lede--gap{padding-top:20px}
.cta-section{padding-bottom:40px}
.cta-section .calendly-embed{margin:60px 0 20px}
.cta-section .help-note:last-of-type{margin-bottom:46px}
.band--video{padding:40px 0 25px}
.cta-final{padding-bottom:40px}
.cta-final .sub-head{padding-top:20px}
.cta-final .calendly-embed{margin:70px 0 20px}

/* =====================================================================
   13 - ae-documentation-forms-a (builder-a): list of example estimates
   with outline download buttons (icons added by a FunnelMerlin snippet
   on the original; reproduced with .icon--file-pdf / .icon--file-excel).
   ===================================================================== */
.doc-group{padding-block:20px}
.doc-group--grey{padding-block:50px;background:#eee}
.doc-group--light{background:#f2f2f2}
.doc-row{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0 50px;padding-block:20px}
.doc-row__title{font-size:23px;line-height:normal;color:#2e2e2e}
.doc-row__action{margin-top:10px;text-align:center}
@media (max-width:767px){
  .doc-row{grid-template-columns:1fr;text-align:center}
  .doc-row__title{font-size:20px}
  .doc-row__title br{display:none}
  .doc-row__action{margin-top:12px}
  .doc-row .btn--outline{font-size:18px}
}
.title-band + .doc-group{margin-top:40px}

/* =====================================================================
   14 - estimating-services-b (builder-a): request-info page.
   Reusable: .optin-box (video + form panel), .video-skin (CF elVideoSkin3
   blue frame), .optin-form, .btn--submit, .tquote list (photo left, text right).
   ===================================================================== */
.page-estimating-services-b{background:#f0f3f7}
.esb-wrap{max-width:1170px;margin-inline:auto;padding-inline:25px}
.esb-main{padding-bottom:40px}

/* ---------- Hero ---------- */
.esb-title{margin-bottom:4px;padding:30px 80px 0;font-size:48px;font-weight:700;line-height:1.3;color:#1c71ae;text-align:center}
.esb-sub{font-size:32px;font-weight:700;line-height:1.3;text-align:center}
.esb-lead{margin-top:10px;padding-bottom:21px}

/* text blocks (CF elTextblock: 14px, 1.43 line height, paragraphs 10px apart) */
.textblock{font-size:14px;line-height:1.42857}
.textblock p+p{margin-top:10px}

/* ---------- Video + form panel ---------- */
.optin-box{display:grid;grid-template-columns:1fr 1fr;margin-inline:-25px;padding:19px 10px 20px;background:#eaeaea}
.optin-box>*{padding-inline:15px}
.video-skin{margin-top:23px;padding:8px;border:1px solid rgba(0,0,0,.1);border-bottom:3px solid rgba(0,0,0,.2);border-radius:5px;background:linear-gradient(#1c72b0,#175c8d);box-shadow:0 1px 5px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.1)}
.video-skin .video{border-radius:5px;box-shadow:0 1px 10px rgba(0,0,0,.3)}
.optin-box__caption{margin-top:19px;font-size:21px;line-height:normal;color:#000;text-align:center}
.optin-box__title{margin-top:10px;font-size:32px;font-weight:700;line-height:1.3;color:#000;text-align:center}
.optin-box__intro{font-size:21px;line-height:1.5;color:#333232;text-align:center}
.optin-form .field{margin:10px 0 0}
.optin-form .field input{padding:12px 18px;border-color:rgba(0,0,0,.15);border-radius:5px;font-size:16px;font-family:var(--font-raleway)}
.optin-form .field input::placeholder{color:#777}
.btn--submit{margin-top:16px;padding:15px 20px;border:1px solid rgba(0,0,0,.1);border-radius:4px;background:#0e8dc7;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);font-size:23px;line-height:1.2}
.btn--submit:hover{background:#0b72a1}
.btn--submit .icon{margin-left:.6em}
.btn--submit .btn__sub{font-size:14px;opacity:.9}

/* ---------- Testimonial list: photo left (1/6), text right ---------- */
.tquote{display:grid;grid-template-columns:1fr 5fr;align-items:start;margin-inline:-25px;padding-bottom:10px}
.tquote>.textblock{padding-inline:25px}
.tquote__photo{display:block;max-width:calc(100% - 50px);margin:10px auto 0}
.tquote__photo--round{border-radius:50%;box-shadow:0 2px 5px 2px rgba(0,0,0,.4)}
.tquote .textblock{margin-top:10px;padding-bottom:16px}
.tquote__photo--flush{margin-top:0}
.tlist{padding-top:10px}
.tquote--gap{padding-top:15px}
.tlist-rule{margin:25px 10px 34px;border-top:1px solid rgba(0,0,0,.1)}

/* ---------- Contact call-out ---------- */
.esb-help{padding:20px 10px}
.esb-help .soft-rule{margin:10px 0}
.esb-help__text{margin:35px 0 30px;font-size:32px;font-weight:700;line-height:1.3;text-align:center}
.esb-help__text a{color:#1155cc;text-decoration:none}
.esb-help__text a:hover{text-decoration:underline}

@media (max-width:767px){
  .esb-title{padding-inline:0;font-size:32px}
  .esb-sub{font-size:24px}
  .optin-box{grid-template-columns:1fr;margin-inline:-10px;padding-inline:0}
  .optin-box__title{font-size:24px}
  .optin-box__intro{font-size:18px}
  .btn--submit{font-size:19px}
  .tquote{grid-template-columns:1fr}
  .tquote__photo{max-width:200px;margin-bottom:5px}
  .esb-help__text{font-size:22px}
}

/* =====================================================================
   20 - Testimonials / "Success Stories" (builder-b)
   Shared by ae-home-page-a, estimating-services, testimonials-ae,
   submission-confirmed. Markup: site-src/partials/testimonial-card.html
   ===================================================================== */

/* ---------- CF "Optin Area" sheet: translucent white panel with a soft shadow ---------- */
.sheet{position:relative;background:rgba(255,255,255,.82);border-bottom:2px solid rgba(93,93,93,.3);box-shadow:0 1px 5px rgba(0,0,0,.2)}

/* ---------- Success Stories section ---------- */
.stories{padding:20px 0 100px}
.stories__title{padding-top:25px;font:700 58px/1.3 var(--font-open);text-align:center}
.stories__note{font-size:20px;font-style:italic;line-height:1.42857;text-align:center}
.stories__pipeline{width:85%;max-width:995px;margin-inline:auto;padding:25px 35px 0;text-align:center}
.stories__pipeline-title{font:400 48px/1.3 var(--font-open)}
.stories__pipeline-title b{color:#e43b2c}
.stories__pipeline-sub{margin-top:15px;font:400 23px/1.17 var(--font-open);color:#606060}
.stories__pipeline-sub a{color:#1155cc;text-decoration:none}

/* green "Testimonials of Our Results" band and the line under it */
.results-band{max-width:1170px;margin:55px auto 0;padding:20px 25px;background:#82d296;font:700 48px/1.3 var(--font-open);text-align:center}
.results-band--mint{margin-top:0;background:#afffd1;font-size:42px}
.results-band__line{display:block}
.results-sub{max-width:1170px;margin-inline:auto;padding:20px 25px;font:400 23px/1.17 var(--font-open);text-align:center}

/* ---------- Testimonial card ---------- */
.tcards{max-width:1170px;margin-inline:auto;padding-top:100px}
.tcard{width:90%;max-width:1053px;margin:150px auto 0;padding:40px 35px;background:#f2f2f2;border:3px solid #e1e1e1;border-radius:15px;color:#2f2f2f;text-align:center}
.tcard:first-child{margin-top:0}
.tcard--narrow{width:50%;max-width:585px}
.tcard__photo{display:block;width:150px;height:150px;margin:-120px auto 0 0;border-radius:50%;box-shadow:0 2px 5px 2px rgba(0,0,0,.4)}
.tcard--photo-right .tcard__photo{margin-left:auto;margin-right:0}
.tcard__photo--logo{width:300px;height:auto;margin-top:-90px;box-shadow:0 2px 5px 2px rgba(0,0,0,.3)}
.tcard__quote{margin:30px 0 0;font:italic 400 16px/1.42857 var(--font-hand)}
.tcard__photo--logo+.tcard__quote{margin-top:53px}
.tcard__quote--lg{font-size:20px}
.tcard__name{margin-top:25px;font:700 32px/1.16 var(--font-raleway)}
.tcard__company{margin:0;font:italic 400 16px/1.42857 var(--font-hand)}
.tcard__result{margin-top:30px;background:#fff;font:400 50px/1.16 var(--font-raleway)}
.tcard__result p{margin:0}
.tcard__result-big{font:700 70px/1.3 var(--font-open);color:#00a832}
/* variant: the quote font fell back to Helvetica/Arial on the original submission-confirmed page */
.tcard--sans .tcard__quote,.tcard--sans .tcard__company{font-family:Helvetica,Arial,sans-serif}

@media (max-width:767px){
  .stories{padding-bottom:60px}
  .stories__title{font-size:40px}
  .stories__note{font-size:17px;padding-inline:10px}
  .stories__pipeline{width:auto;padding-inline:15px}
  .stories__pipeline-title{font-size:32px}
  .stories__pipeline-sub,.results-sub{font-size:19px}
  .results-band{padding-inline:15px;font-size:32px}
  .results-band--mint{font-size:30px}
  .tcards{padding-top:90px}
  .tcard,.tcard--narrow{width:auto;max-width:none;margin:130px 10px 0;padding:40px 15px}
  .tcard:first-child{margin-top:0}
  .tcard__photo--logo{width:240px}
  .tcard__quote--lg{font-size:18px}
  .tcard__name{font-size:28px}
  .tcard__result{font-size:28px}
  .tcard__result-big{font-size:36px}
}

/* =====================================================================
   21 - estimating-services (builder-b)
   ===================================================================== */

/* ---------- Text link nav (also used by testimonials-ae) ---------- */
.link-nav ul{display:flex;flex-wrap:wrap;justify-content:center;margin:0;padding:0;list-style:none}
.link-nav li{padding-right:30px}
.link-nav a{font:700 24px/1.42857 var(--font-raleway);color:#000;text-decoration:none;transition:opacity .15s}
.link-nav a:hover{opacity:.7}
.link-nav--light a{font-size:20px;color:#fff}
@media (max-width:767px){
  .link-nav li{padding:0 10px}
  .link-nav a{font-size:18px}
}

/* ---------- CF button look (1px dark edge, inner top highlight); hover sheen from .btn--rounded ---------- */
.btn-cf{padding:10px 25px;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);font-size:20px;line-height:1.42857}
.btn-cf--orange{background:#e15d3a}
.btn-cf--blue{background:#0174c7}

/* ---------- Page background: grey geometric picture behind everything (CF html.bgCover) ---------- */
.page-estimating-services{background:#f1f4f8 url(../img/grey-geo-bg.webp) center/cover fixed}

/* ---------- Hero ---------- */
.es-hero{max-width:1120px;margin-inline:auto;padding:20px}
.es-box{width:90%;margin-inline:auto;padding:15px 25px;background:#0075b2;color:#fff;text-align:center}
.es-box__title{font:400 26px/1.3 var(--font-open)}
.es-box .link-nav{margin-top:15px}
.es-hero__main{padding:0 35px 20px;text-align:center}
.es-hero__title{margin-top:35px;font:400 48px/1.3 var(--font-open)}
.es-hero__title b{color:#e43b2c}
.es-hero__banner{display:block;width:100%;max-width:1010px;margin:30px auto 0}
.es-hero__with{margin-top:15px;font:400 23px/1.17 var(--font-open);color:#0075b2}

/* ---------- Opt-in section ---------- */
.es-optin{padding-bottom:40px}
.es-rule{max-width:1100px;margin:10px auto;border-top:5px solid #f2f2f2}
.es-rule--top{margin:59px auto 30px}
.es-split{display:flex;max-width:1170px;margin-inline:auto;padding:20px 10px}
.es-split__left{flex:0 0 58.333%;padding:0 15px}
.es-split__right{flex:0 0 41.667%;padding:0 15px}
.es-split__left{text-align:center}
.es-title{margin-top:15px;font:700 50px/1.3 var(--font-open)}
.es-intro{margin-top:15px;font:400 18px/1.36 var(--font-open);color:#606060}
.es-intro p+p{margin-top:1.36em}
.es-intro a{color:#1155cc;text-decoration:none}
.es-video-title{margin-top:35px;font:700 32px/1.16 var(--font-raleway)}
.es-video{width:75%;margin:5px auto 0}
.es-call{margin-top:30px}
.es-form-card{padding:5px 25px 60px;background:#f1f4f8;border:2px solid #ccc;border-radius:10px}
.es-form-card__title{margin-top:15px;font:700 32px/1.3 var(--font-open);text-align:center}
.es-form-card__text{margin-top:30px;font:400 18px/1.36 var(--font-open);text-align:center}
.es-form .field{margin:30px 0 0}
.es-form .field:nth-of-type(3){margin-top:20px}
.es-form .field input{padding:12px 18px;border:1px solid rgba(0,0,0,.2);border-radius:5px;font:400 16px/1.42857 var(--font-raleway);color:#000;box-shadow:inset 0 1px 2px rgba(130,137,150,.23),0 1px 0 rgba(255,255,255,.95)}
.es-form .field input:focus{border-color:var(--focus);box-shadow:0 0 0 3px rgba(26,115,232,.25)}
.es-form .field input[aria-invalid="true"]{border-color:#d93025;box-shadow:0 0 0 2px rgba(217,48,37,.2)}
.es-form__submit{display:block;width:100%;margin-top:40px;padding:15px 40px}
.es-form__arrow{margin-left:10px;vertical-align:-3px}
.es-help{max-width:1170px;margin-inline:auto;padding:20px 25px 21px;text-align:center}
.es-help__title{margin-top:30px;font:700 32px/1.3 var(--font-raleway)}
.es-help__mail{color:#1155cc;text-decoration:none}
.es-help__tel{color:#000;text-decoration:none}
.es-help a:hover{text-decoration:underline}
.es-rule--bottom{margin:66px auto 30px}

@media (max-width:767px){
  .page-estimating-services{background-attachment:scroll}
  .es-hero{padding:15px 10px}
  .es-box{width:auto;padding:12px 10px}
  .es-box__title{font-size:20px}
  .es-hero__main{padding:0 5px 10px}
  .es-hero__title{margin-top:25px;font-size:32px}
  .es-hero__with{font-size:19px}
  .es-rule--top{margin:30px 15px 10px}
  .es-split{flex-direction:column;gap:40px;padding-inline:0}
  .es-title{font-size:36px}
  .es-intro{font-size:17px}
  .es-video-title{font-size:26px}
  .es-video{width:100%}
  .es-form-card{padding:5px 15px 40px}
  .es-form-card__title{font-size:26px}
  .es-form__submit{padding-inline:10px;font-size:18px}
  .es-help{padding-inline:15px}
  .es-help__title{font-size:22px;overflow-wrap:anywhere}
  .es-rule{margin-inline:0}
  .es-rule--bottom{margin:40px 0 10px}
  .es-optin{padding-bottom:20px}
}

/* =====================================================================
   22 - testimonials-ae (builder-b)
   Light text nav (.link-nav, see 21-estimating-services.css), mint headline band,
   narrow testimonial cards, then the wide "Success Stories" cards.
   ===================================================================== */
.ta-intro{margin-top:60px;padding:60px 0 100px}
.ta-intro .link-nav{max-width:1170px;margin-inline:auto;padding:35px 25px 20px}
.ta-stories{margin-top:60px}
@media (max-width:767px){
  .ta-intro{margin-top:0;padding-top:20px}
  .ta-intro .link-nav{padding:10px 10px 20px}
}

/* =====================================================================
   23 - submission-confirmed (builder-b)
   Open Sans page (CF elFont_opensans; base font), olive logo bar,
   pink "IMPORTANT" box, video, Success Stories (cards use .tcard--sans).
   ===================================================================== */
.sc-header{background:#939752}
.sc-header__inner{max-width:1170px;margin-inline:auto;padding:5px 35px}
.sc-header__logo{display:block;width:200px;height:73px}

.sc-hero{max-width:1120px;margin-inline:auto;padding:55px 55px 40px;text-align:center}
.sc-hero__title{font:400 48px/1.3 var(--font-open)}
.sc-hero__sub{margin-top:15px;font-size:23px;line-height:1.17;color:#0075b2}

.sc-next{padding-bottom:5px}
.sc-alert{max-width:1170px;margin-inline:auto;padding:20px 35px;background:#f7c4c1;text-align:center}
.sc-alert__title{font:700 40px/1.3 var(--font-open)}
.sc-alert__text{font-size:20px;line-height:1.42857}
.sc-alert__text+.sc-alert__text{margin-top:1.42857em}
.sc-alert__text a{color:#172735;text-decoration:none}
.sc-alert__text a:hover{text-decoration:underline}
.sc-alert__cta{margin-top:30px}
.sc-alert__cta .btn{font-weight:700}
.sc-step{max-width:1170px;margin:25px auto 0;padding:20px 35px;background:#fff;text-align:center}
.sc-step__title{font:700 38px/1.3 var(--font-open);color:#153399}
.sc-step__text{font-size:22px;line-height:1.42857}
.sc-video{max-width:1170px;margin-inline:auto;padding:20px 35px;text-align:center}
.sc-video__title{font:700 32px/1.16 var(--font-open)}
.sc-video__player{width:75%;margin:30px auto 0}
.sc-stories{margin-top:60px}

/* footer variant: Open Sans + light-blue links (CF link colour on this page) */
.site-footer--sc{font-family:var(--font-open)}
.site-footer--sc a{color:#73b4fc}

@media (max-width:767px){
  .sc-header__inner{padding:5px 15px}
  .sc-hero{padding:35px 15px 30px}
  .sc-hero__title{font-size:34px}
  .sc-hero__sub{font-size:19px}
  .sc-alert{padding:20px 15px}
  .sc-alert__title{font-size:28px}
  .sc-alert__text{font-size:17px}
  .sc-step{padding:20px 15px}
  .sc-step__title{font-size:28px}
  .sc-step__text{font-size:18px}
  .sc-video{padding:20px 15px}
  .sc-video__title{font-size:26px}
  .sc-video__player{width:100%}
}

/* =====================================================================
   30 - "Boxed" template (builder-c)
   Used by ae-astra-about-us-a, ae-astra-contact-us-a, ae-contact-us-a,
   ae-privacy-policy-a: grey page, white centred card(s), optional blue
   header band with nav, Rokkitt headings, Droid/Noto Serif body,
   dark grey copyright footer.
   Markup:
     <body class="boxed page-…">
       <header class="boxed-card boxed-card--wide"> <div class="boxed-band">…</div> </header>   (optional)
       <main id="main" class="boxed-card"> <div class="boxed-body">…</div> </main>
       <footer class="boxed-footer">…</footer>
   ===================================================================== */
.boxed{
  --boxed-bg:#f0f0f0;
  --boxed-blue:#0b5c97;
  --boxed-text:rgba(47,47,47,.89);
  --boxed-muted:rgba(47,47,47,.45);
  --boxed-pad:60px;
  background:var(--boxed-bg);
  font-family:var(--font-serif);
  color:#2e2e2e;
}

/* ---------- Card (CF section: white, shadow20, 20px top/bottom padding) ---------- */
.boxed-card{display:block;max-width:960px;margin:50px auto 0;padding:20px 0;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.2)}
.boxed-card--wide{max-width:1120px}
.boxed-body{padding-inline:var(--boxed-pad)}

/* ---------- Blue header band with centred nav ---------- */
.boxed-band{padding:0 var(--boxed-pad) 10px;background:var(--boxed-blue);color:#fff}
.boxed-band__title{padding-top:30px;font-family:var(--font-rokkitt);font-size:27px;font-weight:700;line-height:1.15}
.boxed-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0 34px;margin:0;padding:15px 0 0;list-style:none}
.boxed-nav a{display:inline-block;font-size:20px;font-weight:700;line-height:28px;color:#fff;text-decoration:none}
.boxed-nav a:hover{text-decoration:underline}
.boxed-nav a[aria-current="page"]{text-decoration:none}
.boxed-nav a:focus-visible{outline-color:#fff}

/* CF divider style 1 / colour 3 / shadow 1 (thin line with a soft shadow) */
.boxed-divider{padding:10px 0}
.boxed-divider::before{content:"";display:block;border-top:1px solid rgba(0,0,0,.1);box-shadow:0 2px 3px rgba(0,0,0,.2)}
/* CF divider at 75% width, #efefef, centred (between page sections) */
.boxed-rule{width:75%;margin:20px auto;border-top:1px solid #efefef}

/* ---------- Small right-aligned utility nav (privacy page) ---------- */
.boxed-utilnav ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0 34px;margin:0;padding:30px 0 0;list-style:none}
.boxed-utilnav a{font-size:14px;line-height:20px;color:#888;text-decoration:none}
.boxed-utilnav a:hover{text-decoration:underline}

/* ---------- Title block: "Contact Us" / "Last Updated on …" ---------- */
.boxed-title{padding-top:30px;font-family:var(--font-rokkitt);font-size:27px;font-weight:700;line-height:1.15;color:#2e2e2e}
.boxed-title--tight{padding-top:20px}
.boxed-updated{font-family:var(--font-rokkitt);font-size:18px;line-height:1.2;color:rgba(47,47,47,.43)}

/* ---------- Body copy ---------- */
.boxed-text{padding-top:10px;font-size:16px;line-height:1.5;color:var(--boxed-text)}
.boxed-text--lg{font-size:18px}
.boxed-text p+p{margin-top:1.5em}
.boxed-text a{color:var(--boxed-blue);text-decoration:none}
.boxed-text a:hover{text-decoration:underline}

/* ---------- Signature + logo ---------- */
.boxed-sig{padding-top:30px;font-family:var(--font-rokkitt);line-height:1.3}
.boxed-text+.boxed-sig{padding-top:54px}   /* the CF text block ended with an empty line */
.boxed-sig__name{font-size:27px;font-weight:700;color:#2e2e2e}
.boxed-sig__role{margin:0;font-size:16px;line-height:1.15;color:rgba(47,47,47,.47)}
.boxed-logo{display:block;width:300px;margin:30px auto 10px}
.boxed-logo img{display:block;width:300px;height:auto}

/* ---------- Footer ---------- */
.boxed-footer{margin-top:20px;padding:60px 10px 40px;background:#464646;color:#888;font-size:14px;line-height:1.3;text-align:center}
.boxed-footer p{margin:0}

/* ---------- Mobile (CF: containers go full width, rows/cols ~15px inner padding) ---------- */
@media (max-width:770px){
  .boxed{--boxed-pad:20px}
  .boxed-card{margin-top:20px}
  .boxed-card+.boxed-card{margin-top:20px}
  .boxed-nav ul{gap:4px 22px}
  .boxed-nav a{font-size:18px}
  .boxed-utilnav ul{justify-content:center;padding-top:15px}
  .boxed-title{font-size:25px}
  .boxed-text--lg{font-size:16px}
  .boxed-footer{padding:40px 15px 30px}
}

/* =====================================================================
   31 - ae-astra-about-us-a (builder-c). Uses the boxed template (30-boxed.css);
   only the about-page content block lives here.
   ===================================================================== */
.about{padding:20px 35px 0}
.about__banner{display:block;width:100%}
.about__intro{margin-top:30px;font-size:16px;line-height:19px;color:#2e2e2e}
.about__intro p+p{margin-top:19px}
.about .boxed-rule{margin-block:50px}
.about .about__seen+.boxed-rule{margin-block:30px}

.about__mark{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.about__headshot{display:block;margin:0 auto}
.about__name{margin-top:16px;font-size:23px;font-weight:700;line-height:1.2;text-align:center}
.about__bio p{margin-top:15px;font-size:16px;line-height:1.43}
.about__bio p+p{margin-top:1.43em}
.about__collage{display:block;width:100%;padding:5px;border:2px solid rgba(0,0,0,.15);background:#fff}

.about__seen{display:grid;grid-template-columns:1fr 1fr;gap:50px;justify-items:center;margin-top:20px}

@media (max-width:770px){
  .about{padding:15px 15px 0}
  .about__intro{margin-top:20px;font-size:15px;line-height:1.45}
  .about .boxed-rule,.about .about__seen+.boxed-rule{margin-block:30px}
  .about__mark{grid-template-columns:1fr;gap:30px}
  .about__bio p{font-size:15px}
  .about__seen{grid-template-columns:1fr;gap:15px;margin-top:30px}
}

/* =====================================================================
   34 - ae-privacy-policy-a (builder-c). Boxed template + the policy text,
   a plain-text policy laid out in two newspaper columns (CF "de2column").
   Blocks are one blank line apart unless the original had none (.is-tight);
   the ASCII underlines of the original text are kept (aria-hidden).
   ===================================================================== */
.policy{column-count:2;column-gap:16px}
.policy>*{margin:24px 0 0;padding:0}
.policy>:first-child,.policy>.is-tight,.policy>.policy__rule{margin-top:0}
.policy h2,.policy h3,.policy h4{font-size:inherit;line-height:inherit;break-after:avoid}
.policy h2{font-weight:700}
.policy__rule{overflow:hidden;white-space:nowrap;break-before:avoid}
.policy ul{list-style:none}
.policy li::before,.policy dt::before{content:"* ";margin-left:.5em}
.policy dd{margin:0}
.policy+.boxed-sig{padding-top:78px}   /* the CF text ended with two empty lines */

@media (max-width:770px){
  .policy{column-count:1;font-size:15px;overflow-wrap:anywhere}
  .policy__wrap{display:none}
}

/* =====================================================================
   40 - Funnel pages (builder-d)
   Shared by the bid tracker funnel (ae-bid-tracker-get-a, bid-tracker-thank-you-a,
   ae-bid-tracker-training-a) and the bid win cheat sheet funnel (bid-win-cheat-sheet-a,
   bid-win-cheat-sheet-thank-you-a, bid-win-cheat-sheet-thank-you-b).
   Markup: <body class="funnel page-<slug>"> (add "funnel--grey" for the light grey page bg)
     .fn-wrap            centred 1150px content column (CF wide row)
     .fn-pattern         dark "carbon" pattern band
     .fn-about / .fn-seen  About Mark block and "As seen in" strip
     .fn-btn--*          CF button colours (green / green gradient / blue / yellow)
     .fn-topbar          black Oswald headline band (cheat sheet pages)
     .fn-download        black "HERE IS YOUR BID WIN CHEAT SHEET" box
     .fn-thanks          thumbs-up photo + "Thank You!"
     .fn-vframe          CF video frame around a .video preview
     .fn-field           CF input look
     .fn-footer          disclaimer footer (light or dark) / .fn-copy simple dark footer
   ===================================================================== */
.funnel{--fn-text:#2f2f2f;--fn-yellow:#fdfd00;color:var(--fn-text);font-family:var(--font-open)}
.funnel--grey{background:#f1f4f8}
.fn-wrap{width:100%;max-width:1180px;margin-inline:auto;padding-inline:15px}
.fn-wrap--narrow{max-width:1130px}
.fn-white{background:#fff}

/* ---------- Dark pattern band (CF bo_play_pattern) ---------- */
.fn-pattern{background:#404040 url(../img/pattern-dark-dots.webp) repeat;border-block:3px solid rgba(10,10,10,.21)}

/* ---------- Buttons (CF elButton colours used on these pages) ---------- */
.fn-btn{display:block;width:100%;font-family:inherit;border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.fn-btn .btn__sub{opacity:1;font-weight:400}
.fn-btn--green{background:#34ae66}
.fn-btn--blue{background:#0174c7}
.fn-btn--yellow{background:var(--fn-yellow);color:#000;font-family:var(--font-raleway);font-weight:700}
.fn-btn--yellow:hover{color:#000}
/* elButtonGradient + elButtonShadow2 (no hover change in CF) */
.fn-btn--gradient{border-color:rgba(0,0,0,.1);background:linear-gradient(#34ae66,#2b8f54);box-shadow:0 1px 5px rgba(0,0,0,.4),inset 0 0 0 2px rgba(255,255,255,.2)}
.fn-btn__icon{display:inline-block;margin-left:.45em;font-weight:700}
.fn-btn__svg{width:.8em;height:.8em;margin-left:.6em;vertical-align:-.05em}

/* ---------- About Mark + "As seen in" ---------- */
.fn-about{display:flex;gap:50px;align-items:flex-start}
.fn-about>*{flex:1 1 0;min-width:0}
.fn-about__avatar{display:block;margin:0 auto}
.fn-about__title{margin-top:20px;font-size:23px;font-weight:700;text-align:center;line-height:1.15}
.fn-about__text{margin-top:15px;font-size:16px;line-height:1.43}
.fn-about__text p+p{margin-top:1.43em}
.fn-about__photo{display:block;width:100%;padding:5px;border:2px solid rgba(0,0,0,.15);background:#fff}
.fn-seen{display:flex;gap:50px;margin-top:20px}
.fn-seen>*{flex:1 1 0;min-width:0;text-align:center}
.fn-seen img{width:490px}

/* ---------- Black headline band (cheat sheet pages) ---------- */
.fn-topbar{padding:35px 15px 15px;background:#000;color:#fff;font-family:var(--font-oswald);text-align:center}
.fn-topbar__kicker{font-size:30px;line-height:44px}
.fn-hl{color:var(--fn-yellow);font-weight:700}

/* ---------- "HERE IS YOUR BID WIN CHEAT SHEET" box ---------- */
.fn-download{max-width:1170px;margin:10px auto 0;padding:70px 25px 40px;background:#000;text-align:center}
.fn-download__title{font-family:var(--font-oswald);font-size:32px;line-height:1.3;color:#fff;font-weight:400}
.fn-download .fn-btn{display:inline-block;width:auto;margin-top:10px;padding:20px 40px;font-size:26px;line-height:1.43}

/* ---------- Thumbs-up photo + Thank You ---------- */
.fn-thanks{padding:29px 0 10px;text-align:center}
.fn-thanks img{display:block;margin-inline:auto}
.fn-thanks__title{margin-top:25px;font-family:var(--font-oswald);font-size:48px;line-height:72px;font-weight:700;color:#3363a1}

/* ---------- CF video frame (elVideo skin) ---------- */
.fn-vframe{padding:8px;border:1px solid rgba(0,0,0,.3);border-bottom-width:3px;border-radius:5px;background:linear-gradient(#1f1f1f,#111);box-shadow:0 10px 6px -6px #777}
.fn-vframe .video{border-radius:5px;box-shadow:0 1px 10px rgba(0,0,0,.3)}
.fn-vframe--blue{border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.2);background:linear-gradient(#1c72b0,#175c8d)}
.fn-vcaption{margin-top:10px;font-family:var(--font-raleway);font-size:18px;text-align:center}

/* ---------- CF input look ---------- */
.fn-field{display:block}
.fn-field input{display:block;width:100%;padding:12px 18px;border:1px solid rgba(0,0,0,.2);border-radius:5px;background:#fff;font-size:16px;line-height:1.43;color:#000;box-shadow:inset 0 1px 2px rgba(130,137,150,.23),0 1px 0 rgba(255,255,255,.95)}
.fn-field input::placeholder{color:#757575}
.fn-field input:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px rgba(26,115,232,.25)}
.fn-field input[aria-invalid="true"]{border-color:#d93025;box-shadow:0 0 0 2px rgba(217,48,37,.2)}
/* CF elInputIName / elInputIEmail icons, left side */
.fn-field--icon input{padding-left:45px;background-repeat:no-repeat;background-position:15px 50%;background-size:18px 18px}
.fn-field--user input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999'%3E%3Ccircle cx='12' cy='7.5' r='4.5'/%3E%3Cpath d='M3 21c0-4.4 4-7.5 9-7.5s9 3.1 9 7.5z'/%3E%3C/svg%3E")}
.fn-field--mail input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999'%3E%3Cpath d='M2 5h20v14H2z' fill='none' stroke='%23999' stroke-width='2'/%3E%3Cpath d='M2 6l10 7 10-7' fill='none' stroke='%23999' stroke-width='2'/%3E%3C/svg%3E")}

/* ---------- Disclaimer footer ---------- */
.fn-footer{padding:20px 0;font-size:14px;line-height:1.36;text-align:center;color:rgba(47,47,47,.44)}
.fn-footer__logo{display:block;margin:40px auto 10px}
.fn-footer__legal{max-width:1200px;margin-inline:auto;padding:10px 17px}
.fn-footer__legal p+p{margin-top:1.36em}
.fn-footer a{color:#949494;text-decoration:none}
.fn-footer a:hover{text-decoration:underline}
.fn-footer .fn-footer__copy{margin-top:10px}
.fn-footer--dark{padding:35px 0 40px;background:#2e2e2e;color:rgba(255,255,255,.47)}
.fn-footer--dark .fn-footer__logo{width:147px;margin:0 auto 20px}
.fn-footer--dark a{color:#b3b3ba}
.fn-footer--dark .fn-footer__copy{color:rgba(255,255,255,.5)}

/* Simple dark copyright footer (cheat sheet pages) */
.fn-copy{padding:20px 15px 50px;background:#2e2e2e;text-align:center;font-family:var(--font-raleway);font-size:16px;color:rgba(255,255,255,.54)}
.fn-copy img{display:block;width:147px;margin:0 auto 20px}
.fn-copy a{color:#b3b1b1;text-decoration:none}
.fn-copy a:hover{text-decoration:underline}

@media (max-width:767px){
  .fn-about,.fn-seen{flex-direction:column;gap:20px}
  .fn-seen img{width:100%;max-width:490px}
  .fn-topbar{padding-top:25px}
  .fn-topbar__kicker{font-size:22px;line-height:1.35}
  .fn-download{padding:40px 15px 30px}
  .fn-download__title{font-size:26px}
  .fn-download .fn-btn{display:block;padding:16px 15px;font-size:20px}
  .fn-thanks__title{font-size:40px}
  .fn-footer__logo{max-width:250px}
}

/* ---------- 41 - ae-bid-tracker-get-a (builder-d) ---------- */
.gt-intro{padding:10px 0 10px;text-align:center;line-height:1.3}
.gt-intro__title{font-size:34px;font-weight:700;line-height:1.3}
.gt-intro__quote{font-size:24px}
.gt-intro__sub{margin-top:0;font-size:20px}

.gt-hero{padding:45px 0 20px}
.gt-hero__cols{display:flex;gap:30px;align-items:flex-start}
.gt-hero__cols>*{flex:1 1 0;min-width:0}
.gt-hero__media{padding-top:55px}
.gt-hero__media img{display:block;width:100%}
.gt-hero__box{padding:20px 40px 30px;border-radius:20px;background:rgba(0,0,0,.76);color:#fff;text-align:center}
.gt-hero__title{font-weight:700}
.gt-hero__title>span{display:block;line-height:1.3}
/* "Shadows Into Light Two" is self-hosted (see 00-base); Handlee is the fallback */
.gt-hero__script{margin-top:30px;font-family:"Shadows Into Light Two",var(--font-hand);font-size:100px;color:#e4f432}
.gt-hero__my{margin-top:-10px;font-size:46px}
.gt-hero__big{margin-top:-10px;font-size:70px}
.gt-hero__text{margin-top:15px;font-size:16px;line-height:1.43}
.gt-hero__btn{margin-top:35px;padding:20px 35px;font-size:22px;line-height:1.43}
.gt-hero__btn .btn__sub{font-size:16px;line-height:1.43;margin-top:0}

.gt-about{padding:40px 0 45px}
.gt-cta{max-width:896px;margin:0 auto;padding:20px 15px}
.gt-cta__btn{padding:15px 25px;border-radius:3px;font-size:30px;line-height:1.43}
.gt-cta__btn .btn__sub{margin-top:0;font-size:20px;line-height:1.43;opacity:.8}

/* Opt-in modal (CF #modalPopup: 720px, 5px #080808 border, grey frame, white card) */
.gt-optin{--modal-w:720px;margin-top:100px;border:5px solid #080808;border-radius:10px;background:#ebebeb}
.gt-optin .modal__body{max-height:calc(100vh - 140px);padding:30px 20px 20px;border-radius:5px}
.gt-optin__card{padding:20px 25px 20px;background:#fff;text-align:center}
.gt-optin__img{display:block;margin:30px auto 0}
.gt-optin__title{margin-top:30px;font-size:23px;font-weight:400;line-height:1.2}
.gt-optin__form{margin-top:35px}
.gt-optin__form .fn-field+.fn-field{margin-top:20px}
.gt-optin__form .fn-field input{padding-top:17px;padding-bottom:17px;text-align:left}
.gt-optin__submit{margin-top:30px;padding:30px 25px;border-radius:3px;font-size:30px;line-height:1.43;letter-spacing:1px}
.gt-optin__submit .btn__sub{margin-top:0;font-size:18px;line-height:1.43}

@media (max-width:767px){
  .gt-intro__title{font-size:26px}
  .gt-intro__quote{font-size:20px}
  .gt-intro__sub{font-size:18px}
  .gt-hero{padding-top:25px}
  .gt-hero__cols{flex-direction:column;gap:20px}
  .gt-hero__media{padding-top:0}
  .gt-hero__box{padding:10px 20px 25px}
  .gt-hero__script{margin-top:10px;font-size:70px}
  .gt-hero__my{font-size:36px}
  .gt-hero__big{font-size:44px}
  .gt-hero__btn{padding:18px 15px;font-size:19px}
  .gt-hero__btn .btn__sub{font-size:15px}
  .gt-about{padding-top:20px}
  .gt-cta{padding-inline:0}
  .gt-cta__btn{padding:15px;font-size:20px}
  .gt-cta__btn .btn__sub{font-size:16px}
  .gt-optin{margin-top:40px}
  .gt-optin .modal__body{max-height:calc(100vh - 80px);padding:10px}
  .gt-optin__card{padding:10px 15px 20px}
  .gt-optin__img{margin-top:10px}
  .gt-optin__title{margin-top:20px;font-size:19px}
  .gt-optin__form{margin-top:20px}
  .gt-optin__submit{padding:18px 15px;font-size:20px;letter-spacing:0}
  .gt-optin__submit .btn__sub{font-size:15px}
}

/* ---------- 42 - bid-tracker-thank-you-a (builder-d) ---------- */
.bt-hero{padding:85px 15px 15px;text-align:center}
.bt-hero__title{font-size:32px;font-weight:700;line-height:1.15}
.bt-hero__photo{display:block;width:200px;margin:30px auto 0;border-radius:50%;box-shadow:0 2px 5px 2px rgba(0,0,0,.4)}
.bt-hero__sub{margin-top:10px;font-size:16px;color:rgba(47,47,47,.68)}

.bt-steps{max-width:720px;margin:30px auto 0;padding:40px 0;border-bottom:3px solid rgba(47,47,47,.11);border-radius:5px}
.bt-steps__head{margin:0 40px;padding:10px 25px;border-radius:5px;background:#e8e8e8;font-size:18px;font-weight:700;line-height:1.15;color:rgba(47,47,47,.82)}
.bt-steps__icon{font-family:"Segoe UI Symbol",var(--font-open);font-weight:400}
.bt-steps__list{margin:0;padding:0;list-style:none}
.bt-step{display:grid;grid-template-columns:110px minmax(0,500px);padding:20px 55px 35px}
/* CF divider (488px, 2px #d9dbdc) above steps 1 and 2 */
.bt-step--rule{position:relative;padding-top:42px}
.bt-step--rule::before{content:"";position:absolute;top:10px;left:50%;width:488px;max-width:calc(100% - 30px);border-top:2px solid #d9dbdc;transform:translateX(-50%)}
.bt-step__num,.bt-step__title{font-size:28px;font-weight:700;line-height:1.3}
.bt-step__title a{color:#73b4fc;text-decoration:none}
.bt-step__title a:hover{text-decoration:underline}
.bt-step__text{margin-top:15px;font-size:18px;line-height:1.36}
.bt-step__btn{margin-top:30px;padding:20px 25px;border-radius:3px;font-size:20px;font-weight:600;line-height:1.43}
.bt-step__btn .btn__sub{margin-top:0;font-size:14px;line-height:1.43}

@media (max-width:767px){
  .bt-hero{padding-top:40px}
  .bt-steps{margin-top:10px;padding:20px 0}
  .bt-steps__head{margin:0 15px}
  .bt-step{grid-template-columns:40px minmax(0,1fr);padding:20px 15px 30px}
  .bt-step__num,.bt-step__title{font-size:22px}
  .bt-step__text{font-size:16px}
  .bt-step__btn{font-size:18px}
}

/* ---------- 43 - ae-bid-tracker-training-a (builder-d) ---------- */
.tr-band{padding:15px 15px 48px}
.tr-box{display:grid;grid-template-columns:minmax(0,787fr) minmax(0,393fr);max-width:1200px;margin-inline:auto;padding:10px 10px 40px;border-radius:20px;background:#fff;text-align:center}
.tr-box>*{padding-inline:15px}
.tr-title{margin-top:15px;font-size:46px;font-weight:400;line-height:normal}
.tr-hint{font-size:26px;line-height:normal}
.tr-video{position:relative;margin-top:30px}
.tr-video__arrow{position:absolute;left:-40px;top:calc(100% - 65px);width:200px;pointer-events:none}
.tr-get{margin-top:45px;font-size:23px;line-height:normal}
.tr-get a{color:#3679ff}
.tr-note{margin-top:0;font-size:15px;line-height:normal}
.tr-side__title{margin-top:15px;font-size:26px;font-weight:700;line-height:normal}
.tr-promo{margin-top:17px;font-size:18px;line-height:normal}
.tr-promo:first-of-type{margin-top:10px}
.tr-promo img{display:block;width:100%}
.tr-promo__title{font-size:18px;font-weight:700;line-height:normal}
.tr-promo p{margin-top:0}
.tr-promo p a{color:#3d6aff}

@media (max-width:900px){
  .tr-box{grid-template-columns:minmax(0,1fr);padding:10px 0 30px}
  .tr-side{margin-top:40px}
  .tr-promo{max-width:363px;margin-inline:auto}
}
@media (max-width:767px){
  .tr-band{padding:15px 10px 30px}
  .tr-box>*{padding-inline:10px}
  .tr-title{font-size:30px}
  .tr-hint{font-size:20px}
  .tr-video{margin-top:20px}
  .tr-video__arrow{left:-10px;width:130px;top:calc(100% - 40px)}
  .tr-get{margin-top:40px;font-size:18px}
  .tr-side__title{font-size:22px}
}

/* ---------- 44 - bid-win-cheat-sheet-a (builder-d) ---------- */
.cs-topbar{padding-bottom:25px}
.cs-title{display:block;font-weight:400}
.cs-title>span{display:block;margin-top:-10px}
.cs-title>.cs-title__sub{margin-top:-16px}
.cs-title__big{font-size:100px;line-height:1.3}
.cs-title__sub{font-size:54px;line-height:1.3}

.cs-intro{padding-top:35px;font-family:var(--font-raleway)}
.cs-lead{font-size:23px;line-height:normal;text-align:center}
.cs-cols{display:grid;grid-template-columns:minmax(0,671fr) minmax(0,479fr);padding:30px 0 20px}
.cs-cols>*{padding:10px 15px 0}

/* opt-in card */
.cs-card{margin-inline:15px;padding:25px 30px 40px;border:1px solid rgba(0,0,0,.14);border-radius:15px;background:#f1f4f8;text-align:center}
.cs-card__text{font-size:18px;line-height:normal}
.cs-countdown{display:flex;justify-content:center;gap:20px;margin-top:30px;font-family:Arial,Helvetica,sans-serif;font-weight:700;text-align:center}
.cs-countdown__unit{display:flex;flex-direction:column;align-items:center;width:55px}
.cs-countdown__num{display:block;width:55px;padding:10px 0;border:4px solid #2e2e2e;border-radius:100px;background:linear-gradient(#444,#2e2e2e);box-shadow:0 1px 5px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.2);font-size:18px;line-height:25.7px;color:#fff;font-variant-numeric:tabular-nums}
.cs-countdown__label{margin-top:10px;font-size:9px;line-height:1.43;text-transform:uppercase;color:rgba(0,0,0,.4)}
.cs-form{margin-top:25px;font-family:Arial,Helvetica,sans-serif}
.cs-form .fn-field+.fn-field{margin-top:10px}
.cs-form__submit{margin-top:20px;padding:15px 25px;border-radius:3px;font-size:18px;line-height:1.43}
.cs-note{padding:20px 0 10px;font-size:18px;line-height:normal;text-align:center}

/* testimonials, separated by CF dividers (1px rgba(0,0,0,.1), 20px above and below) */
.cs-testimonials{max-width:1180px;margin-inline:auto;padding-bottom:10px}
.cs-testimonials::before,.cs-quote::after{content:"";display:block;grid-column:1/-1;margin:20px 15px;border-top:1px solid rgba(0,0,0,.1)}
.cs-quote{display:grid;grid-template-columns:minmax(0,197fr) minmax(0,983fr);margin:0;padding-top:10px;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:20px}
.cs-quote:first-of-type{padding-top:30px}
.cs-quote>*{padding-inline:15px}
.cs-quote>img{box-sizing:content-box;width:167px}
.cs-quote>img.cs-quote__photo{width:120px;margin:10px auto 0}
.cs-quote__body{padding-top:10px}
.cs-quote__body p{margin:0 0 10px}
.cs-quote blockquote{margin:0}
.cs-quote__gap{margin-top:40px}
.cs-quote::after{margin-top:30px}

@media (max-width:767px){
  .cs-topbar{padding-bottom:20px}
  .cs-title>span{margin-top:-6px}
  .cs-title__big{font-size:54px}
  .cs-title__sub{font-size:30px}
  .cs-intro{padding-top:25px}
  .cs-lead{font-size:20px}
  .cs-cols{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:15px}
  .cs-cols>*{padding:0}
  .cs-card{margin-inline:0;padding:20px 15px 25px}
  .cs-form__submit{padding-inline:10px;font-size:17px}
  .cs-quote{grid-template-columns:minmax(0,1fr);padding-top:0}
  .cs-quote>img{margin-inline:auto}
  .cs-quote__body{padding-top:10px}
}

/* ---------- 45 - bid-win-cheat-sheet-thank-you-a (builder-d) ---------- */
.ct-topbar{padding-bottom:21px}
.ct-title{display:block;font-weight:400;font-size:54px;line-height:70.2px}
.ct-title>span{display:block}
.ct-title>span:first-child{margin-top:3px}
.ct-title>span+span{margin-top:-10px}

.ct-offer{padding:10px 15px 75px;text-align:center}
.ct-offer__title{font-family:var(--font-oswald);font-size:48px;font-weight:400;line-height:normal;color:#1c71ae}
.ct-offer__title>span{display:block}
.ct-offer__title>span:first-child{margin-top:22px}
.ct-offer__title>span+span{margin-top:-15px}
.ct-offer__free{color:#000}
.ct-offer__watch{margin-top:10px;font-family:var(--font-raleway);font-size:28px;line-height:36.4px}
.ct-offer__video{max-width:550px;margin:20px auto 0}
.ct-offer__caption{margin-top:5px;line-height:23.4px}
.ct-offer__text{max-width:920px;margin:60px auto 0;font-family:var(--font-raleway);font-size:24px;line-height:31.2px}
.ct-calendly{display:block;width:100%;max-width:920px;height:580px;margin:10px auto 0;border:0}
.ct-final{padding:45px 15px 40px}

@media (max-width:767px){
  .ct-topbar{padding-bottom:20px}
  .ct-title{font-size:32px;line-height:1.3}
  .ct-title>span:first-child{margin-top:10px}
  .ct-title>span+span{margin-top:6px}
  .ct-offer__title{font-size:32px}
  .ct-offer__title>span:first-child{margin-top:15px}
  .ct-offer__title>span+span{margin-top:0}
  .ct-offer__watch{font-size:22px;line-height:1.3}
  .ct-offer__text{margin-top:40px;font-size:19px;line-height:1.35}
  .ct-calendly{height:700px}
  .ct-offer{padding-bottom:40px}
  .ct-final{padding-top:20px}
}

/* ---------- 46 - bid-win-cheat-sheet-thank-you-b (builder-d): download box first, then the photo ---------- */
.cb-main{padding:95px 15px 40px}
@media (max-width:767px){.cb-main{padding-top:40px}}

/* =====================================================================
   50 - Double Bid Wins training funnel (builder-e)
   ae-training-registration-a (+ shared Funnel Merlin bits used by ae-training-booked-a).
   Builds on 40-funnel.css (.funnel, .fn-wrap, .fn-pattern, .fn-btn, .fn-about, .fn-seen, .fn-field, .fn-footer).
   ===================================================================== */

/* ---------- Funnel Merlin (shared) ---------- */
/* FM date text: raw %-tokens stay invisible until FM has replaced them (FM-EDIT adds .fm-date--ready) */
.fm-date{visibility:hidden}
.fm-date.fm-date--ready{visibility:visible}
/* FM countdown (filled by fmCountdown() in site.js). CF "wideCountdown" size 2 */
.fm-cd{display:flex;justify-content:center;text-align:center}
.fm-cd__unit{position:relative;display:flex;flex-direction:column;align-items:center;min-width:69px}
.fm-cd__num{font-family:var(--font-open);font-size:27px;font-weight:700;line-height:1.43;color:#2e2e2e}
.fm-cd__label{font-family:var(--font-open);font-size:10px;font-weight:700;line-height:1.43;text-transform:uppercase;color:rgba(0,0,0,.4)}
/* text-only style: colons between the numbers */
.fm-cd--text .fm-cd__unit+.fm-cd__unit::before{content:":";position:absolute;left:-4px;top:0;font-size:27px;font-weight:700;line-height:1.43;color:#2e2e2e}
[data-fm-form] .form-status{white-space:pre-line}
/* Poppins (CF font of the popup heading/button and the booked page), self-hosted in 00-base */
.fm-poppins{font-family:"Poppins",var(--font-open)}

/* ---------- Full-screen page modal (dialog scrolls, box inside) ---------- */
.modal.modal--page{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:100px 15px 40px;background:transparent;box-shadow:none;overflow-x:hidden;overflow-y:auto}
.modal--page .modal__body{max-height:none;overflow:visible}

/* ---------- Top "THIS FREE TRAINING REVEALS" band ---------- */
.reg-top{padding:10px 0;text-align:center;line-height:1.3}
.reg-top__kicker{font-size:34px}
.reg-top__title{font-size:24px;line-height:1.3}
.reg-top__sub{font-size:20px}

/* ---------- Hero: video + dark box on the pattern band ---------- */
.reg-hero{padding:45px 0 20px}
.reg-hero__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.reg-hero__video{position:relative}
.reg-hero__arrow{position:absolute;left:-40px;top:calc(100% - 60px);width:200px;pointer-events:none}
.reg-hero__winlose{display:block;width:100%;margin-top:55px}
.reg-hero__box{padding:20px 40px 30px;border-radius:20px;background:rgba(0,0,0,.76);color:#fff;text-align:center}
.reg-hero__title{font-weight:700}
.reg-hero__title>span{display:block;line-height:1.3}
.reg-hero__script{margin-top:30px;font-family:"Shadows Into Light Two",var(--font-hand);font-size:68px;color:#e4f432}
.reg-hero__while{font-size:46px}
.reg-hero__big{margin-top:-15px;font-size:72px}
.reg-hero__text{margin-top:15px;font-size:16px;line-height:1.43}
.reg-hero__btn{margin-top:35px;padding:20px 35px;font-size:27px;line-height:1.43}
.reg-hero__btn .btn__sub{margin-top:0;font-size:16px;line-height:1.43;opacity:.7}
.reg-hero__note{margin-top:15px;font-size:14px;color:rgba(255,255,255,.81)}

/* ---------- Green webinar info bar ---------- */
.reg-bar{padding:10px 0 11px;background:#34ae66;border-block:3px solid rgba(20,20,20,.137)}
.reg-bar__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.reg-feature{display:flex;gap:15px;align-items:flex-start}
.reg-feature img{flex:none;width:112px}
.reg-feature__title{margin-top:4px;font-size:32px;font-weight:700;line-height:1.1;color:rgba(23,23,23,.88)}
.reg-feature__text{font-size:24px;line-height:1.43;color:rgba(30,30,30,.882)}

/* ---------- Copy + CTA section (grey page background) ---------- */
.reg-copy{padding:40px 0;border-top:3px solid rgba(47,47,47,.09)}
.reg-copy__intro,.reg-join{max-width:878px;margin:15px auto 0;padding:20px 35px;text-align:center;font-size:30px;line-height:1.36}
.reg-secrets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:10px;padding-block:10px}
.reg-secret{border-bottom:3px solid rgba(0,0,0,.098);border-radius:5px;background:#fff;text-align:center}
.reg-secret__head{padding:20px 10px 11px;border-radius:5px 5px 0 0;background:#3b3b3b;color:#fff}
.reg-secret__title{font-size:37px;font-weight:700;line-height:50px}
.reg-secret__sub{font-size:20px;line-height:1.43}
.reg-secret__text{padding:9px 20px 20px;font-size:18px;line-height:1.5;color:rgba(47,47,47,.8)}
.reg-join{background:#fff}
.reg-join__title{font-size:30px;line-height:1.36}
.reg-join__text{margin-top:25px;font-size:22px;line-height:1.36}
.reg-learn{margin-top:25px;padding:20px 0;text-align:center}
.reg-learn__title{font-size:23px;font-weight:700;line-height:1.36}
.reg-checks{margin-top:30px;padding:0;list-style:none;font-size:20px;line-height:1.43}
.reg-checks li{margin-bottom:6px;padding-bottom:6px}
.reg-checks li::before{content:"";display:inline-block;width:20px;height:16px;margin-right:18px;vertical-align:-1px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M2 8.5l5.5 5.5L18 2.5' fill='none' stroke='%232f2f2f' stroke-width='3.4'/%3E%3C/svg%3E") no-repeat center/contain}
.reg-bonus{padding-top:22px;font-size:26px;line-height:1.43;text-align:center}
.reg-bonus__title{color:#e10101}
.reg-bonus__text{margin-top:0}
.reg-cta-box{max-width:936px;margin:30px auto 0;padding:20px 25px;border:3px solid rgba(47,47,47,.11);border-radius:5px;background:rgba(255,255,255,.992)}
.reg-cta-box__btn{padding:15px 25px;font-size:27px;line-height:1.43;color:#fffefd;box-shadow:0 1px 5px rgba(0,0,0,.2),inset 0 0 0 2px rgba(255,255,255,.2)}
.reg-cta-box__btn .btn__sub{margin-top:0;font-size:18px;line-height:1.43;opacity:.7}

/* ---------- About Mark + reserve button ---------- */
.reg-about{padding:40px 0 45px}
.reg-reserve{max-width:936px;margin:0 auto;padding:20px 35px}
.reg-reserve__btn{padding:15px 25px;font-size:30px;line-height:1.43}
.reg-reserve__btn .btn__sub{margin-top:0;font-size:20px;line-height:1.43;opacity:.7}

/* ---------- Registration popup ---------- */
.reg-modal__box{position:relative;max-width:720px;margin:0 auto;padding:20px 5px;border:5px solid #080808;border-radius:10px;background:#ebebeb;box-shadow:0 0 25px rgba(0,0,0,.35)}
.reg-exit{margin-top:10px;padding:20px 25px;background:#fff;text-align:center}
.reg-exit__title{font-size:23px;font-weight:700;line-height:1.2}
.reg-exit__img{display:block;margin:30px auto 0}
.reg-exit__btn{margin-top:30px;padding:30px 25px;font-size:30px;line-height:1.43}
.reg-exit__btn .btn__sub{margin-top:0;font-size:18px;line-height:1.43;opacity:.7}
.reg-exit__note{margin-top:30px;font-size:16px;line-height:1.43}
.reg-register{position:relative;padding:0 25px 10px;text-align:center}
.reg-register__arrow{position:absolute;pointer-events:none}
.reg-register__arrow--when{left:-155px;top:266px}
.reg-register__arrow--who{right:-170px;top:377px}
.reg-register__title{padding-top:25px;font-size:32px;font-weight:400;line-height:1.3}
.reg-register__more{margin-top:15px;font-size:22px;line-height:1.43}
.reg-register__next{margin-top:5px;font-size:18px;line-height:1.43}
.reg-register__next--time{margin-top:0}
.reg-register__divider{width:75%;margin:25px auto 10px;border-top-color:rgba(126,124,124,.4)}
.reg-form{text-align:left}
.reg-form__label{margin-top:30px;font-size:20px;line-height:1.43}
.reg-form__label--details{display:none}
.reg-form__select{margin-top:10px}
.reg-form__select select{display:block;width:100%;height:59px;padding:0 45px 0 18px;border:1px solid rgba(0,0,0,.2);border-radius:5px;font-size:16px;color:#000;-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1.5 1.5l5.5 5.5 5.5-5.5' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat right 22px center/14px 9px}
.reg-form__select select:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 3px rgba(26,115,232,.25)}
.reg-form__field{margin-top:35px}
.reg-form__field--email{margin-top:20px}
.reg-form .fn-field input{padding-top:17px;padding-bottom:17px}
.fn-field--phone input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 013 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E")}
.fm-sms{margin-top:35px;font-size:14px;line-height:1.43}
.fm-sms__check{display:flex;gap:5px;align-items:baseline;cursor:pointer}
.fm-sms__check input{flex:none;width:15px;height:15px;margin:0 5px 0 0;accent-color:#3b99fc}
.fm-sms__star{color:#f00;font-weight:700}
.smsExtras{margin-top:15px}
.smsExtras[hidden]{display:none}
.smsCountryCode{display:block;width:100%;height:50px;margin-bottom:15px;padding:0 15px;border:1px solid rgba(0,0,0,.2);border-radius:5px;background:#fff;font-size:16px}
.fm-sms__notice{margin-top:15px}
.reg-form__submit{display:block;width:100%;margin-top:30px;padding:30px 25px;border:1px solid rgba(0,0,0,.2);background:#24a0d1;font-size:34px;line-height:1.43;letter-spacing:1px}
.reg-form__chev{display:inline-block;margin-left:.45em;font-weight:700;transform:scale(1.3)}
.reg-form__fine{margin-top:10px;font-size:8px;line-height:1.43;text-align:center}

@media (max-width:1099px){
  .reg-register__arrow{display:none}
}
@media (max-width:900px){
  .reg-hero__cols,.reg-bar__cols{grid-template-columns:minmax(0,1fr)}
  .reg-hero__media{max-width:560px;margin-inline:auto}
  .reg-hero__box{max-width:560px;margin-inline:auto}
  .reg-secrets{grid-template-columns:minmax(0,1fr);max-width:480px;margin-inline:auto}
}
@media (max-width:767px){
  .reg-top__kicker{font-size:26px}
  .reg-top__title{font-size:20px}
  .reg-top__sub{font-size:17px}
  .reg-hero{padding-top:25px}
  .reg-hero__arrow{left:-10px;width:130px;top:calc(100% - 40px)}
  .reg-hero__winlose{margin-top:40px}
  .reg-hero__box{padding:10px 20px 25px}
  .reg-hero__script{margin-top:10px;font-size:44px}
  .reg-hero__while{font-size:34px}
  .reg-hero__big{margin-top:-8px;font-size:50px}
  .reg-hero__btn{padding:18px 15px;font-size:21px}
  .reg-hero__btn .btn__sub{font-size:14px}
  .reg-bar__cols{gap:15px}
  .reg-feature img{width:80px}
  .reg-feature__title{font-size:24px}
  .reg-feature__text{font-size:18px}
  .reg-copy{padding:25px 0}
  .reg-copy__intro,.reg-join{padding:15px}
  .reg-copy__intro,.reg-join__title{font-size:24px}
  .reg-join__text{margin-top:15px;font-size:18px}
  .reg-secret__title{font-size:32px;line-height:44px}
  .reg-secret__text{font-size:16px}
  .reg-learn__title{font-size:20px}
  .reg-checks{margin-top:20px;font-size:17px;text-align:left}
  .reg-checks li{display:flex;align-items:baseline}
  .reg-checks li::before{flex:none;margin-right:12px}
  .reg-bonus{font-size:20px}
  .reg-cta-box{padding:15px}
  .reg-cta-box__btn,.reg-reserve__btn{padding:15px;font-size:20px}
  .reg-cta-box__btn .btn__sub,.reg-reserve__btn .btn__sub{font-size:15px}
  .reg-about{padding-top:20px}
  .reg-reserve{padding-inline:0}
  .modal.modal--page{padding:40px 16px 20px}
  .reg-modal__box{padding:10px 5px}
  .reg-exit{padding:15px}
  .reg-exit__title{font-size:18px}
  .reg-exit__img{margin-top:15px}
  .reg-exit__btn{margin-top:20px;padding:18px 12px;font-size:19px}
  .reg-exit__btn .btn__sub{font-size:14px}
  .reg-exit__note{margin-top:20px;font-size:14px}
  .reg-register{padding:0 15px 10px}
  .reg-register__title{padding-top:15px;font-size:25px}
  .reg-register__more{font-size:18px}
  .reg-register__next{font-size:15px}
  .reg-form__label{margin-top:20px;font-size:18px}
  .reg-form__label--details{display:block;margin-top:25px}
  .reg-form__field{margin-top:10px}
  .reg-form__field--email{margin-top:15px}
  .reg-form__submit{padding:20px 15px;font-size:24px}
}

/* ---------- 51 - ae-training-booked-a (builder-e) ---------- */
/* FM ~TOKEN~ text: hidden until the inline FM setup has run (adds html.fm-ready) */
.fm-token{visibility:hidden}
.fm-ready .fm-token{visibility:visible}

/* CF "circle line" countdown */
.fm-cd--circle .fm-cd__unit{min-width:0;padding:0 10px}
.fm-cd--circle .fm-cd__unit:first-child{padding-left:0}
.fm-cd--circle .fm-cd__unit:last-child{padding-right:0}
.fm-cd--circle .fm-cd__num{display:flex;align-items:center;justify-content:center;width:67px;height:67px;margin-bottom:10px;border:4px solid #26789d;border-radius:50%;color:#26789d}

.bk-main{padding:15px 0 20px;border-block:3px solid rgba(10,10,10,.208)}
.bk-intro{padding-block:10px 20px;text-align:center;line-height:1.3}
.bk-intro__name{font-size:28px}
.bk-intro__role{margin-top:-5px;font-size:16px}
.bk-intro__congrats{margin-top:20px;font-size:23px;line-height:1.3}
.bk-intro__messenger{display:inline-block;margin-top:10px}
.bk-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;max-width:1170px;margin:15px auto 0;padding:20px 35px;background:#ebebeb;text-align:center}
.bk-details__seat{font-size:23px;line-height:1.36}
.bk-details__title{margin-top:15px;font-size:32px;line-height:1.3}
.bk-details__cal{margin-top:25px}
.bk-details__cal--outlook{margin-top:30px}
.bk-cal-btn{padding:15px 40px;border:1px solid rgba(0,0,0,.2);border-radius:10px;background:#23cdfd;font-size:20px;font-weight:600;line-height:1.43;box-shadow:inset 0 1px 1px rgba(255,255,255,.22)}
.bk-details__starts{margin-top:5px;font-size:21px;line-height:1.2}
.bk-countdown{margin-top:10px}
.bk-details__when{margin-top:30px;font-size:16px;line-height:1.43}
.bk-details__when a{color:#3969ee}
.bk-details__note{margin-top:30px;font-size:15px;line-height:1.43}
.bk-images{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start;max-width:1170px;margin:0 auto;padding:20px 35px}
.bk-images img{display:block;width:100%}
.bk-promo{padding:20px 35px;text-align:center}
.bk-promo img{display:block;margin-inline:auto}
.bk-footer{padding:80px 15px 50px;border-top:3px solid rgba(47,47,47,.09);text-align:center;font-family:var(--font-open);font-size:14px;color:rgba(47,47,47,.44)}
.bk-footer img{display:block;margin-inline:auto}
.bk-footer__copy{margin-top:45px}

@media (max-width:767px){
  .bk-intro__name{font-size:24px}
  .bk-intro__role{font-size:13px}
  .bk-intro__congrats{font-size:19px}
  .bk-details,.bk-images{grid-template-columns:minmax(0,1fr);gap:30px;padding:20px 15px}
  .bk-details__seat{font-size:20px}
  .bk-details__title{font-size:26px}
  .bk-cal-btn{padding:15px 25px;font-size:18px}
  .bk-images{gap:20px}
  .bk-promo{padding:20px 15px}
  .bk-footer{padding-top:50px}
}

/* ---------- 404 page (404.html) ---------- */
.notfound{max-width:760px;margin:0 auto;padding:50px 20px 70px;text-align:center;font-family:var(--font-raleway)}
.notfound__text{font-size:22px;line-height:1.5;color:#333}
.notfound__links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:30px 0 36px;padding:0;list-style:none;font-size:18px}
.notfound__links a{color:#0074c7;text-decoration:none;border-bottom:1px solid currentColor}
.notfound__links a:hover{border-bottom-color:transparent}
@media (max-width:767px){.notfound{padding:36px 16px 50px}.notfound__text{font-size:18px}}
