.elementor-kit-5{--e-global-color-primary:#14344F;--e-global-color-secondary:#C9A961;--e-global-color-text:#5D6873;--e-global-color-accent:#0C0F12;--e-global-color-smcnavy900:#091B2C;--e-global-color-smcnavy700:#0E2740;--e-global-color-smcnavy50:#EEF3F8;--e-global-color-smcgold600:#A3823E;--e-global-color-smcgold300:#E3D2A4;--e-global-color-smcgold100:#F5EEDD;--e-global-color-smcink2:#29323B;--e-global-color-smcmuted2:#8A939D;--e-global-color-smcpaper:#FFFFFF;--e-global-color-smcpaper2:#F7F8FA;--e-global-color-smcpaper3:#EFF2F6;--e-global-color-smcline:#E4E8ED;--e-global-color-smcline2:#D2D9E1;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-2px;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-size:34px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.12em;--e-global-typography-secondary-letter-spacing:-0.9px;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.68em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Cormorant Garamond";--e-global-typography-accent-font-size:32px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-font-style:italic;--e-global-typography-accent-line-height:1.32em;--e-global-typography-accent-letter-spacing:-0.3px;--e-global-typography-smceyebrow-font-family:"Inter";--e-global-typography-smceyebrow-font-size:12px;--e-global-typography-smceyebrow-font-weight:600;--e-global-typography-smceyebrow-text-transform:uppercase;--e-global-typography-smceyebrow-line-height:1.4em;--e-global-typography-smceyebrow-letter-spacing:1.6px;--e-global-typography-smclede-font-family:"Inter";--e-global-typography-smclede-font-size:20px;--e-global-typography-smclede-font-weight:400;--e-global-typography-smclede-line-height:1.6em;--e-global-typography-smclede-letter-spacing:0px;--e-global-typography-smccardtitle-font-family:"Outfit";--e-global-typography-smccardtitle-font-size:20px;--e-global-typography-smccardtitle-font-weight:600;--e-global-typography-smccardtitle-line-height:1.35em;--e-global-typography-smccardtitle-letter-spacing:-0.25px;--e-global-typography-smcsmall-font-family:"Inter";--e-global-typography-smcsmall-font-size:15px;--e-global-typography-smcsmall-font-weight:400;--e-global-typography-smcsmall-line-height:1.65em;--e-global-typography-smcsmall-letter-spacing:0px;--e-global-typography-smcstat-font-family:"Outfit";--e-global-typography-smcstat-font-size:48px;--e-global-typography-smcstat-font-weight:600;--e-global-typography-smcstat-line-height:1em;--e-global-typography-smcstat-letter-spacing:-1.7px;color:#5D6873;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;line-height:1.68em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#14344F;font-family:"Inter", Sans-serif;font-size:15px;font-weight:600;color:#FFFFFF;border-radius:8px 8px 8px 8px;padding:15px 26px 15px 26px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#0E2740;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#14344F;}.elementor-kit-5 a:hover{color:#A3823E;}.elementor-kit-5 h1{color:#0C0F12;font-family:"Outfit", Sans-serif;font-size:64px;font-weight:600;line-height:0.98em;letter-spacing:-2.2px;}.elementor-kit-5 h2{color:#0C0F12;font-family:"Outfit", Sans-serif;font-size:44px;font-weight:600;line-height:1.08em;letter-spacing:-1.3px;}.elementor-kit-5 h3{color:#0C0F12;font-family:"Outfit", Sans-serif;font-size:26px;font-weight:600;line-height:1.25em;letter-spacing:-0.5px;}.elementor-kit-5 h4{color:#0C0F12;font-family:"Outfit", Sans-serif;font-size:20px;font-weight:600;line-height:1.35em;letter-spacing:-0.3px;}.elementor-kit-5 img{border-radius:14px 14px 14px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:42px;--e-global-typography-secondary-font-size:30px;}.elementor-kit-5 h1{font-size:46px;}.elementor-kit-5 h2{font-size:34px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:34px;--e-global-typography-secondary-font-size:26px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:24px;--e-global-typography-smclede-font-size:17px;--e-global-typography-smcstat-font-size:34px;}.elementor-kit-5 h1{font-size:36px;}.elementor-kit-5 h2{font-size:27px;}.elementor-kit-5 h3{font-size:21px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==== SMC 2026 site build (scoped to .smc) ==== */
/* Score More Clients design system, v1
   Palette: canvas #F5F6F8, card #FFFFFF, ink #1D1D1F, secondary #6E6E73,
   navy #00357A (from the logo), deep navy #001A3D, gold #CFB360, gold text #9A7B2F, gold pale #F5EFDC.
   Radius: 28 tiles, 22 cards, 16 chips. No borders, no resting shadows. Type: system stack (SF Pro on Apple devices). */
.smc.smc.smc,.smc.smc.smc *,.smc.smc.smc *::before,.smc.smc.smc *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
.smc.smc.smc{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#F5F6F8;color:#1D1D1F;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.47;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.smc.smc.smc{margin:0;background:#F5F6F8;color:#1D1D1F;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.47;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.smc.smc.smc h1,.smc.smc.smc h2,.smc.smc.smc h3,.smc.smc.smc h4,.smc.smc.smc p,.smc.smc.smc ul,.smc.smc.smc ol,.smc.smc.smc figure{margin:0}
.smc.smc.smc ul,.smc.smc.smc ol{padding:0;list-style:none}
.smc.smc.smc a{color:#00357A;text-decoration:none}
.smc.smc.smc a:hover{text-decoration:underline}
.smc.smc.smc button{font:inherit;color:inherit}
.smc.smc.smc img,.smc.smc.smc svg{display:block;max-width:100%}
.smc.smc.smc :focus-visible{outline:2px solid #00357A;outline-offset:3px;border-radius:6px}
/* Type scale */
.smc.smc.smc h1{font-size:clamp(38px,6.4vw,80px);line-height:1.02;letter-spacing:-.03em;font-weight:600}
.smc.smc.smc .h-page{font-size:clamp(36px,4.8vw,60px);line-height:1.04;letter-spacing:-.03em;font-weight:600}
.smc.smc.smc .h-sec{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em;font-weight:600}
.smc.smc.smc .lede{font-size:clamp(17px,1.5vw,21px);line-height:1.4;color:#6E6E73}
.smc.smc.smc .small{font-size:14px;color:#6E6E73;line-height:1.45}
/* Layout helpers */
.smc.smc.smc .wrap,.smc.smc.smc.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.smc.smc.smc .sec,.smc.smc.smc.sec{padding-top:104px}
.smc.smc.smc .sec.tight,.smc.smc.smc.sec.tight{padding-top:64px}
.smc.smc.smc .g2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.smc.smc.smc .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.smc.smc.smc .g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.smc.smc.smc .center{text-align:center}
.smc.smc.smc .mt12{margin-top:12px}
.smc.smc.smc .mt24{margin-top:24px}
.smc.smc.smc .mt40{margin-top:40px}
/* Buttons and doors */
.smc.smc.smc .btn{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:12px 22px;font-size:16px;font-weight:500;line-height:1.2;border:0;cursor:pointer}
.smc.smc.smc .btn:hover{text-decoration:none;background:#002B5C}
.smc.smc.smc .btn.light{background:#fff;color:#00357A}
.smc.smc.smc .btn.light:hover{background:#F5EFDC}
.smc.smc.smc .btn.gold{background:#CFB360;color:#001A3D}
.smc.smc.smc .btn.gold:hover{background:#C2A44C}
.smc.smc.smc .btn.sm{padding:9px 18px;font-size:15px}
.smc.smc.smc .more{font-size:16px}
.smc.smc.smc .more::after{content:" \203A";white-space:nowrap}
.smc.smc.smc .tag{display:inline-block;vertical-align:middle;margin-left:8px;font-size:11.5px;font-weight:600;line-height:1;padding:5px 9px;border-radius:999px;background:#F5EFDC;color:#9A7B2F;position:relative;top:-1px}
.smc.smc.smc .dark .tag{background:rgba(255,255,255,.12);color:#E7D9A6}
/* 01 Announcement bar */
.smc.smc.smc .c-announce,.smc.smc.smc.c-announce{background:#001A3D;color:#fff;text-align:center;font-size:12px;padding:10px 16px;line-height:1.3}
.smc.smc.smc .c-announce a,.smc.smc.smc.c-announce a{color:#fff;font-weight:500}
/* 02 Frosted nav */
.smc.smc.smc .c-nav,.smc.smc.smc.c-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.74);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.05)}
.smc.smc.smc .c-nav .in,.smc.smc.smc.c-nav .in{max-width:1180px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;gap:24px}
.smc.smc.smc .c-nav .logo img,.smc.smc.smc.c-nav .logo img{height:30px;width:auto}
.smc.smc.smc .c-nav .menu,.smc.smc.smc.c-nav .menu{display:flex;flex:1;justify-content:center;gap:26px;font-size:12.5px}
.smc.smc.smc .c-nav .menu a,.smc.smc.smc.c-nav .menu a{color:#1D1D1F;opacity:.82}
.smc.smc.smc .c-nav .menu a:hover,.smc.smc.smc.c-nav .menu a:hover{opacity:1;text-decoration:none}
.smc.smc.smc .c-nav .pill,.smc.smc.smc.c-nav .pill{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap}
.smc.smc.smc .c-nav .pill:hover,.smc.smc.smc.c-nav .pill:hover{text-decoration:none;background:#002B5C}
.smc.smc.smc .c-nav .burger,.smc.smc.smc.c-nav .burger{display:none;margin-left:auto;width:36px;height:36px;border:0;background:transparent;border-radius:50%;cursor:pointer;position:relative}
.smc.smc.smc .c-nav .burger::before,.smc.smc.smc.c-nav .burger::before,.smc.smc.smc .c-nav .burger::after,.smc.smc.smc.c-nav .burger::after{content:"";position:absolute;left:9px;right:9px;height:1.6px;background:#1D1D1F;transition:transform .3s}
.smc.smc.smc .c-nav .burger::before,.smc.smc.smc.c-nav .burger::before{top:14px}
.smc.smc.smc .c-nav .burger::after,.smc.smc.smc.c-nav .burger::after{top:21px}
.smc.smc.smc .c-nav.open .burger::before,.smc.smc.smc.c-nav.open .burger::before{transform:translateY(3.5px) rotate(45deg)}
.smc.smc.smc .c-nav.open .burger::after,.smc.smc.smc.c-nav.open .burger::after{transform:translateY(-3.5px) rotate(-45deg)}
/* 03 Chapter strip */
.smc.smc.smc .c-strip,.smc.smc.smc.c-strip{background:#fff}
.smc.smc.smc .c-strip .scroll,.smc.smc.smc.c-strip .scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.smc.smc.smc .c-strip .scroll::-webkit-scrollbar,.smc.smc.smc.c-strip .scroll::-webkit-scrollbar{display:none}
.smc.smc.smc .c-strip .row,.smc.smc.smc.c-strip .row{display:flex;gap:40px;width:max-content;margin:0 auto;padding:16px 24px 14px}
.smc.smc.smc .c-strip a,.smc.smc.smc.c-strip a{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:72px;font-size:11.5px;line-height:1.2;color:#1D1D1F;text-align:center;flex:0 0 auto;white-space:nowrap}
.smc.smc.smc .c-strip svg,.smc.smc.smc.c-strip svg{width:34px;height:34px;stroke:#00357A;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.smc.smc.smc .c-strip a:hover,.smc.smc.smc.c-strip a:hover{text-decoration:none;color:#00357A}
/* 04 Section title: bold lead, quiet tail, optional door */
.smc.smc.smc .c-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.smc.smc.smc .c-title h2{font-size:clamp(24px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em;font-weight:600;color:#6E6E73}
.smc.smc.smc .c-title h2 b{color:#1D1D1F;font-weight:600}
.smc.smc.smc .c-title .more{font-size:16px;white-space:nowrap}
.smc.smc.smc .c-title .lede{flex-basis:100%;margin-top:4px;max-width:66ch;font-size:17px}
/* 05 Media card: poster, kicker, headline, one sentence, one door */
.smc.smc.smc .c-media{position:relative;background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s cubic-bezier(.2,.7,.2,1);color:inherit}
.smc.smc.smc .c-media:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,26,61,.12);text-decoration:none}
.smc.smc.smc .c-media:hover .more{text-decoration:underline}
.smc.smc.smc .poster{display:block;position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#00357A 0%,#001A3D 100%);overflow:hidden}
.smc.smc.smc .poster img{width:100%;height:100%;object-fit:cover}
.smc.smc.smc .poster.p2{background:linear-gradient(135deg,#0B3F6E 0%,#001A3D 100%)}
.smc.smc.smc .poster.p3{background:linear-gradient(135deg,#1E3A5F 0%,#0A1F3B 100%)}
.smc.smc.smc .poster.p4{background:linear-gradient(135deg,#3B3F5C 0%,#001A3D 100%)}
.smc.smc.smc .poster.gold{background:linear-gradient(135deg,#8F7430 0%,#4A3A12 100%)}
.smc.smc.smc .poster.tall{aspect-ratio:4/5}
.smc.smc.smc .poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,26,61,0) 45%,rgba(0,26,61,.6) 100%);pointer-events:none}
.smc.smc.smc .poster .ph{position:absolute;right:-6px;bottom:-26px;font-size:150px;font-weight:600;letter-spacing:-.06em;line-height:1;color:rgba(255,255,255,.07);pointer-events:none}
.smc.smc.smc .poster .play{position:absolute;left:16px;bottom:14px;z-index:1;display:flex;align-items:center;gap:9px;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.smc.smc.smc .poster .play i{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.94);color:#00357A;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-style:normal;padding-left:2px;flex:0 0 auto}
.smc.smc.smc .poster .cap{position:absolute;right:16px;bottom:16px;z-index:1;color:rgba(255,255,255,.85);font-size:12px;font-weight:600}
.smc.smc.smc .poster .mono{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:44px;font-weight:600;letter-spacing:-.03em;text-align:center;padding:24px 24px 56px;line-height:1.05}
.smc.smc.smc .poster .mono.q{font-size:clamp(19px,1.9vw,26px);font-weight:500;letter-spacing:-.01em;line-height:1.3;max-width:34ch;margin:0 auto}
.smc.smc.smc .poster .mono.big{font-size:clamp(48px,5vw,72px);letter-spacing:-.05em}
.smc.smc.smc .poster .mono.mid{font-size:clamp(26px,2.4vw,34px);letter-spacing:-.03em}
.smc.smc.smc .poster .cap.left{left:16px;right:auto}
.smc.smc.smc .c-media .txt{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1;text-align:left}
.smc.smc.smc .c-media .k{font-size:12px;font-weight:600;color:#9A7B2F}
.smc.smc.smc .c-media h3{font-size:19px;line-height:1.2;letter-spacing:-.015em;font-weight:600}
.smc.smc.smc .c-media p{font-size:14.5px;color:#6E6E73;line-height:1.45}
.smc.smc.smc .c-media .more{margin-top:auto;padding-top:8px;font-size:14.5px}
.smc.smc.smc .c-media.feature{grid-column:span 2}
.smc.smc.smc .c-media.feature .poster{aspect-ratio:auto;flex:1;min-height:260px}
.smc.smc.smc .c-media.row{flex-direction:row}
.smc.smc.smc .c-media.row .poster{flex:0 0 46%;aspect-ratio:auto;min-height:280px}
.smc.smc.smc .c-media.row .poster img{position:absolute;inset:0;width:100%;height:100%}
.smc.smc.smc .c-media.row .txt{padding:36px 40px}
.smc.smc.smc .c-media.row h3{font-size:clamp(24px,2.4vw,32px)}
/* 06 Rail: horizontal scroller with arrows */
.smc.smc.smc .c-rail{position:relative}
.smc.smc.smc .c-rail .track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3.15);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.smc.smc.smc .c-rail .track::-webkit-scrollbar{display:none}
.smc.smc.smc .c-rail .track>*{scroll-snap-align:start}
.smc.smc.smc .c-rail.wide .track{grid-auto-columns:calc((100% - 12px)/2.15)}
.smc.smc.smc .c-rail .arrows{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.smc.smc.smc .c-rail .arrows button{width:36px;height:36px;border-radius:50%;border:0;background:#E7E9EE;color:#00357A;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.smc.smc.smc .c-rail .arrows button:hover{background:#DDE1E8}
/* 07 Destination tile: name, headline, one sentence, two doors, media below */
.smc.smc.smc .c-tile{position:relative;overflow:hidden;background:#fff;border-radius:28px;min-height:560px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 36px 0;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s cubic-bezier(.2,.7,.2,1)}
.smc.smc.smc .c-tile:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(0,26,61,.14)}
.smc.smc.smc .c-tile.dark{background:radial-gradient(120% 80% at 50% 100%,#0B3F6E 0%,#001A3D 60%);color:#fff}
.smc.smc.smc .c-tile .name{font-size:15px;font-weight:600;letter-spacing:.01em}
.smc.smc.smc .c-tile h2{font-size:clamp(28px,2.9vw,40px);line-height:1.08;letter-spacing:-.02em;font-weight:600;margin-top:8px}
.smc.smc.smc .c-tile .lede{font-size:17px;line-height:1.4;color:#6E6E73;margin-top:12px;max-width:36ch}
.smc.smc.smc .c-tile.dark .lede{color:rgba(255,255,255,.72)}
.smc.smc.smc .c-tile .doors{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:20px;flex-wrap:wrap}
.smc.smc.smc .c-tile .more{font-size:15px}
.smc.smc.smc .c-tile.dark .more{color:#E7D9A6}
.smc.smc.smc .c-tile .art{margin-top:auto;width:calc(100% + 72px);margin-left:-36px;margin-right:-36px;display:flex;justify-content:center;align-items:flex-end;padding-top:32px}
.smc.smc.smc .c-tile .art .poster{width:calc(100% - 48px);margin:0 24px;border-radius:20px 20px 0 0;aspect-ratio:16/10}
.smc.smc.smc .c-tile.row{flex-direction:row;text-align:left;align-items:stretch;padding:0;min-height:420px}
.smc.smc.smc .c-tile.row .body{flex:1;padding:52px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.smc.smc.smc .c-tile.row .lede{max-width:44ch}
.smc.smc.smc .c-tile.row .doors{justify-content:flex-start}
.smc.smc.smc .c-tile.row .art{margin:0;width:46%;flex:0 0 46%;padding:0;display:block}
.smc.smc.smc .c-tile.row .art .poster{width:100%;height:100%;margin:0;border-radius:0;aspect-ratio:auto}
/* 08 Stat tile and results feature */
.smc.smc.smc .c-stat{background:#fff;border-radius:22px;padding:28px 26px}
.smc.smc.smc .c-stat b{display:block;font-size:clamp(40px,4vw,56px);font-weight:600;letter-spacing:-.04em;line-height:1;color:#9A7B2F}
.smc.smc.smc .c-stat span{display:block;font-size:15px;margin-top:8px}
.smc.smc.smc .c-stat small{display:block;font-size:13px;color:#6E6E73;margin-top:4px}
.smc.smc.smc .c-feature{background:radial-gradient(90% 120% at 100% 100%,#0B3F6E 0%,#001A3D 55%);color:#fff;border-radius:28px;padding:56px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;overflow:hidden}
.smc.smc.smc .c-feature .big{font-size:clamp(64px,7vw,104px);font-weight:600;letter-spacing:-.045em;line-height:.95}
.smc.smc.smc .c-feature .label{font-size:22px;font-weight:500;margin-top:10px}
.smc.smc.smc .c-feature .fine{font-size:14px;color:rgba(255,255,255,.62);margin-top:6px}
.smc.smc.smc .c-feature .more{color:#E7D9A6;display:inline-block;margin-top:18px}
.smc.smc.smc .c-feature .poster{border-radius:20px}
.smc.smc.smc .c-feature .stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.smc.smc.smc .c-feature .stats li{background:rgba(255,255,255,.07);border-radius:18px;padding:18px 22px}
.smc.smc.smc .c-feature .stats b{font-size:30px;font-weight:600;letter-spacing:-.03em;display:block}
.smc.smc.smc .c-feature .stats span{font-size:14px;color:rgba(255,255,255,.72)}
/* 09 Quote card */
.smc.smc.smc .c-quote{background:#fff;border-radius:22px;padding:28px 26px;display:flex;flex-direction:column;text-align:left;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.smc.smc.smc .c-quote:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,26,61,.10)}
.smc.smc.smc .c-quote .avatar{width:44px;height:44px;border-radius:50%;background:#F5EFDC;color:#9A7B2F;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}
.smc.smc.smc .c-quote p{font-size:16px;line-height:1.45;margin-top:18px}
.smc.smc.smc .c-quote .who{margin-top:18px;display:flex;flex-direction:column;gap:2px}
.smc.smc.smc .c-quote .who b{font-size:14px;font-weight:600}
.smc.smc.smc .c-quote .who span{font-size:13px;color:#6E6E73}
.smc.smc.smc .c-quote .more{margin-top:auto;padding-top:14px;font-size:14.5px}
/* 10 Step row */
.smc.smc.smc .c-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.smc.smc.smc .c-steps li{background:#fff;border-radius:22px;padding:32px 28px}
.smc.smc.smc .c-steps .n{font-size:13px;font-weight:600;color:#9A7B2F}
.smc.smc.smc .c-steps h3{font-size:22px;line-height:1.15;letter-spacing:-.015em;font-weight:600;margin-top:12px}
.smc.smc.smc .c-steps p{font-size:15px;color:#6E6E73;line-height:1.45;margin-top:8px}
.smc.smc.smc .c-steps .poster{margin-top:20px;border-radius:14px}
/* 11 Segmented control and panes */
.smc.smc.smc .c-seg{display:inline-flex;background:#E7E9EE;border-radius:999px;padding:4px}
.smc.smc.smc .c-seg button{border:0;background:transparent;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:500;color:#6E6E73;cursor:pointer;transition:background .3s,color .3s}
.smc.smc.smc .c-seg button.on{background:#00357A;color:#fff}
.smc.smc.smc .c-panes{display:grid;margin-top:34px}
.smc.smc.smc .c-panes .pane{grid-area:1/1;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;pointer-events:none;visibility:hidden}
.smc.smc.smc .c-panes .pane.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.smc.smc.smc .compare{background:#fff;border-radius:28px;padding:44px 40px 40px;text-align:center;transition:background .6s}
.smc.smc.smc .compare.warm{background:#FBF6E8}
.smc.smc.smc .compare.warm .c-seg button.on{background:#9A7B2F}
.smc.smc.smc .compare .pq{font-size:clamp(26px,3vw,38px);font-weight:600;letter-spacing:-.025em;line-height:1.12;max-width:24ch;margin:0 auto}
.smc.smc.smc .marks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px auto 0;max-width:960px;text-align:left}
.smc.smc.smc .marks li{position:relative;padding:18px 18px 18px 48px;border-radius:16px;background:#F5F6F8;font-size:15px;line-height:1.4}
.smc.smc.smc .marks li::before{content:"\2715";position:absolute;left:18px;top:18px;width:20px;height:20px;border-radius:50%;background:#E7E9EE;color:#8A8A8E;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.smc.smc.smc .marks.ok li{background:#fff}
.smc.smc.smc .marks.ok li::before{content:"\2713";background:#F5EFDC;color:#9A7B2F;font-size:12px}
.smc.smc.smc .compare .verdict{margin-top:34px;font-size:20px;font-weight:500;letter-spacing:-.01em}
/* 12 Expander card */
.smc.smc.smc .c-expand{background:#fff;border-radius:22px;padding:0}
.smc.smc.smc .c-expand summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 26px}
.smc.smc.smc .c-expand summary::-webkit-details-marker{display:none}
.smc.smc.smc .c-expand summary h3{font-size:19px;line-height:1.2;letter-spacing:-.015em;font-weight:600}
.smc.smc.smc .c-expand summary p{font-size:14.5px;color:#6E6E73;margin-top:6px;line-height:1.45}
.smc.smc.smc .c-expand .plus{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#001A3D;position:relative;margin-top:2px}
.smc.smc.smc .c-expand .plus::before,.smc.smc.smc .c-expand .plus::after{content:"";position:absolute;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.smc.smc.smc .c-expand .plus::before{width:12px;height:1.6px}
.smc.smc.smc .c-expand .plus::after{width:1.6px;height:12px;transition:transform .3s}
.smc.smc.smc .c-expand[open] .plus::after{transform:translate(-50%,-50%) scaleY(0)}
.smc.smc.smc .c-expand .body{padding:0 26px 26px;font-size:15px;color:#1D1D1F;line-height:1.5}
.smc.smc.smc .c-expand .body p+p{margin-top:10px}
/* 13 Question group with filter chips */
.smc.smc.smc .c-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.smc.smc.smc .c-chips button{border:0;background:#fff;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:500;color:#1D1D1F;cursor:pointer}
.smc.smc.smc .c-chips button.on{background:#001A3D;color:#fff}
.smc.smc.smc .c-qa{background:#fff;border-radius:28px;padding:12px 36px}
.smc.smc.smc .c-qa .item{border-top:1px solid #ECEEF2}
.smc.smc.smc .c-qa .item:first-child,.smc.smc.smc .c-qa .item.first{border-top:0}
.smc.smc.smc .c-qa .item[hidden]{display:none}
.smc.smc.smc .c-qa .item button{width:100%;background:none;border:0;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:17px;font-weight:500;cursor:pointer;line-height:1.3}
.smc.smc.smc .c-qa .item i{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#E7E9EE;position:relative}
.smc.smc.smc .c-qa .item i::before,.smc.smc.smc .c-qa .item i::after{content:"";position:absolute;background:#00357A;left:50%;top:50%;transform:translate(-50%,-50%)}
.smc.smc.smc .c-qa .item i::before{width:10px;height:1.5px}
.smc.smc.smc .c-qa .item i::after{width:1.5px;height:10px;transition:transform .3s}
.smc.smc.smc .c-qa .item.open i::after{transform:translate(-50%,-50%) scaleY(0)}
.smc.smc.smc .c-qa .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1)}
.smc.smc.smc .c-qa .ans>div{overflow:hidden;min-height:0}
.smc.smc.smc .c-qa .item.open .ans{grid-template-rows:1fr}
.smc.smc.smc .c-qa .ans p{font-size:15.5px;line-height:1.5;color:#6E6E73;padding:0 0 22px;max-width:62ch}
.smc.smc.smc .c-qa .ans p a{font-weight:500}
/* 14 Commitment line */
.smc.smc.smc .c-commit{font-size:13.5px;color:#6E6E73;line-height:1.45;margin-top:14px}
.smc.smc.smc .c-commit b{color:#1D1D1F;font-weight:600}
.smc.smc.smc .dark .c-commit{color:rgba(255,255,255,.7)}
.smc.smc.smc .dark .c-commit b{color:#fff}
/* 15 Help cards */
.smc.smc.smc .c-help{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.smc.smc.smc .c-help.three{grid-template-columns:repeat(3,1fr)}
.smc.smc.smc .c-help a{background:#fff;border-radius:22px;padding:36px 30px;text-align:center;color:inherit;display:flex;flex-direction:column;align-items:center;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.smc.smc.smc .c-help a:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,26,61,.10);text-decoration:none}
.smc.smc.smc .c-help a:hover .more{text-decoration:underline}
.smc.smc.smc .c-help svg{width:40px;height:40px;stroke:#00357A;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.smc.smc.smc .c-help h3{font-size:22px;line-height:1.15;letter-spacing:-.015em;font-weight:600}
.smc.smc.smc .c-help p{font-size:15px;color:#6E6E73;margin-top:8px;max-width:34ch;line-height:1.45}
.smc.smc.smc .c-help .more{margin-top:14px;font-size:15px;color:#00357A}
/* Plain card and the one-line card */
.smc.smc.smc .c-card{background:#fff;border-radius:22px;padding:30px 28px}
.smc.smc.smc .c-card h3{font-size:21px;line-height:1.15;letter-spacing:-.015em;font-weight:600}
.smc.smc.smc .c-card p{font-size:15px;color:#6E6E73;line-height:1.45;margin-top:8px}
.smc.smc.smc .c-card ul{margin-top:14px}
.smc.smc.smc .c-card ul li{position:relative;padding:5px 0 5px 18px;font-size:15px;line-height:1.45}
.smc.smc.smc .c-card ul li::before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:#00357A}
.smc.smc.smc .c-line{background:#fff;border-radius:22px;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.smc.smc.smc .c-line .c-commit{margin:0;font-size:15px}
.smc.smc.smc .c-line .doors{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
/* 16 Link directory */
.smc.smc.smc .c-directory{background:#fff;border-radius:28px;padding:40px 40px 36px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.smc.smc.smc .c-directory h4{font-size:13px;font-weight:600;color:#6E6E73;margin-bottom:12px}
.smc.smc.smc .c-directory li{padding:5px 0;font-size:15px}
.smc.smc.smc .c-directory li a{color:#1D1D1F}
.smc.smc.smc .c-directory li.big a{font-size:19px;font-weight:600;letter-spacing:-.01em}
/* 17 Form, three fields */
.smc.smc.smc .c-form{background:#fff;border-radius:28px;padding:40px}
.smc.smc.smc .c-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.smc.smc.smc .c-form input,.smc.smc.smc .c-form textarea,.smc.smc.smc .c-form select{width:100%;border:1.5px solid #DDE1E8;border-radius:14px;padding:13px 14px;font:inherit;font-size:16px;background:#fff;color:#1D1D1F}
.smc.smc.smc .c-form input:focus,.smc.smc.smc .c-form textarea:focus,.smc.smc.smc .c-form select:focus{outline:none;border-color:#00357A}
.smc.smc.smc .c-form .field{margin-bottom:16px}
.smc.smc.smc .c-form textarea{min-height:110px;resize:vertical}
.smc.smc.smc .c-form .btn{width:100%;text-align:center;margin-top:6px}
.smc.smc.smc .c-form.dark{background:#001A3D;color:#fff}
.smc.smc.smc .c-form.dark input,.smc.smc.smc .c-form.dark textarea{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
/* 18 Footer */
.smc.smc.smc .c-footer,.smc.smc.smc.c-footer{margin-top:96px;padding:48px 0 40px;font-size:12.5px;color:#6E6E73;border-top:1px solid rgba(0,0,0,.06)}
.smc.smc.smc .c-footer .grid,.smc.smc.smc.c-footer .grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:28px}
.smc.smc.smc .c-footer h4,.smc.smc.smc.c-footer h4{font-size:12.5px;font-weight:600;color:#1D1D1F;margin-bottom:10px}
.smc.smc.smc .c-footer li,.smc.smc.smc.c-footer li{margin:6px 0}
.smc.smc.smc .c-footer a,.smc.smc.smc.c-footer a{color:#6E6E73}
.smc.smc.smc .c-footer a:hover,.smc.smc.smc.c-footer a:hover{color:#1D1D1F}
.smc.smc.smc .c-footer .about img,.smc.smc.smc.c-footer .about img{height:26px;width:auto;margin-bottom:14px}
.smc.smc.smc .c-footer .about p,.smc.smc.smc.c-footer .about p{max-width:34ch;line-height:1.5;margin-top:10px}
.smc.smc.smc .c-footer .promise,.smc.smc.smc.c-footer .promise{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:36px;padding:26px 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}
.smc.smc.smc .c-footer .promise b,.smc.smc.smc.c-footer .promise b{font-size:17px;color:#1D1D1F;font-weight:600;letter-spacing:-.01em}
.smc.smc.smc .c-footer .promise .doors,.smc.smc.smc.c-footer .promise .doors{display:flex;gap:14px;align-items:center}
.smc.smc.smc .c-footer .news,.smc.smc.smc.c-footer .news{display:flex;gap:8px;align-items:center;margin-top:16px}
.smc.smc.smc .c-footer .news input,.smc.smc.smc.c-footer .news input{border:1.5px solid #DDE1E8;border-radius:999px;padding:9px 14px;font:inherit;font-size:13px;flex:1;min-width:0}
.smc.smc.smc .c-footer .news button,.smc.smc.smc.c-footer .news button{border:0;background:#00357A;color:#fff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer}
.smc.smc.smc .c-footer .bar,.smc.smc.smc.c-footer .bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px}
.smc.smc.smc .c-footer .inline,.smc.smc.smc.c-footer .inline{display:flex;gap:18px;flex-wrap:wrap}
/* Page furniture: breadcrumb, page head, sub-nav anchors */
.smc.smc.smc .crumbs{font-size:13px;color:#6E6E73;display:flex;gap:8px;flex-wrap:wrap;padding-top:28px}
.smc.smc.smc .crumbs a{color:#6E6E73}
.smc.smc.smc .crumbs span::before{content:"\203A";margin-right:8px;color:#B0B4BC}
.smc.smc.smc .page-head{padding:34px 0 8px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.smc.smc.smc .page-head .lede{margin-top:12px;max-width:56ch}
.smc.smc.smc .page-head .side{display:flex;flex-direction:column;gap:8px;align-items:flex-end;font-size:14px}
.smc.smc.smc .subnav{display:flex;gap:26px;font-size:14px;padding:22px 0 6px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.smc.smc.smc .subnav::-webkit-scrollbar{display:none}
.smc.smc.smc .subnav a{color:#1D1D1F;opacity:.82}
.smc.smc.smc .subnav a:hover{opacity:1;text-decoration:none;color:#00357A}
.smc.smc.smc .hero,.smc.smc.smc.hero{text-align:center;padding:80px 20px 36px}
.smc.smc.smc .hero .lede,.smc.smc.smc.hero .lede{max-width:700px;margin:18px auto 0}
.smc.smc.smc .hero .doors,.smc.smc.smc.hero .doors{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:28px;flex-wrap:wrap}
.smc.smc.smc .hero .c-commit,.smc.smc.smc.hero .c-commit{text-align:center}
.smc.smc.smc .hero-media,.smc.smc.smc.hero-media{max-width:1180px;margin:36px auto 0;padding:0 20px}
.smc.smc.smc .hero-media .poster,.smc.smc.smc.hero-media .poster{aspect-ratio:2/1;border-radius:28px}
.smc.smc.smc .hero-media .poster .play,.smc.smc.smc.hero-media .poster .play{left:28px;bottom:26px;font-size:15px}
.smc.smc.smc .hero-media .poster .play i,.smc.smc.smc.hero-media .poster .play i{width:44px;height:44px;font-size:13px}
/* Motion: one gentle reveal, one gauge, hover on doors */
.smc.smc.smc .reveal,.smc.smc.smc.reveal,.smc.smc.smc .stagger>*{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),box-shadow .6s cubic-bezier(.2,.7,.2,1)}
.smc.smc.smc .reveal.in,.smc.smc.smc.reveal.in,.smc.smc.smc .stagger.in>*{opacity:1;transform:translateY(0)}
.smc.smc.smc .stagger.in>*:nth-child(2){transition-delay:.06s}
.smc.smc.smc .stagger.in>*:nth-child(3){transition-delay:.12s}
.smc.smc.smc .stagger.in>*:nth-child(4){transition-delay:.18s}
.smc.smc.smc .stagger.in>*:nth-child(5){transition-delay:.24s}
.smc.smc.smc .stagger.in>.c-media:hover,.smc.smc.smc .stagger.in>.c-tile:hover,.smc.smc.smc .stagger.in>.c-quote:hover{transform:translateY(-3px);transition-delay:0s}
.smc.smc.smc .gauge{position:relative;width:220px;height:220px;margin:0 auto 40px}
.smc.smc.smc .gauge svg{width:220px;height:220px}
.smc.smc.smc .gauge .prog{stroke-dasharray:598;stroke-dashoffset:598;transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1) .5s}
.smc.smc.smc .in .gauge .prog{stroke-dashoffset:227}
.smc.smc.smc .gauge .read{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.smc.smc.smc .gauge .score{font-size:70px;font-weight:600;letter-spacing:-.04em;line-height:1}
.smc.smc.smc .gauge .band{font-size:13px;color:#E7D9A6;margin-top:6px;font-weight:500}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.smc.smc.smc{scroll-behavior:auto}.smc.smc.smc .reveal,.smc.smc.smc.reveal,.smc.smc.smc .stagger>*{opacity:1;transform:none;transition:none}.smc.smc.smc .gauge .prog{transition:none}}
/* Responsive */
@media (max-width:1080px){.smc.smc.smc .g4{grid-template-columns:repeat(2,1fr)}.smc.smc.smc .marks{grid-template-columns:1fr}.smc.smc.smc .c-directory{grid-template-columns:repeat(2,1fr)}.smc.smc.smc .c-footer .grid,.smc.smc.smc.c-footer .grid{grid-template-columns:1fr 1fr 1fr}.smc.smc.smc .c-footer .about,.smc.smc.smc.c-footer .about{grid-column:1/-1}.smc.smc.smc .c-rail .track{grid-auto-columns:calc((100% - 12px)/2.15)}}
@media (max-width:820px){.smc.smc.smc .c-nav .menu,.smc.smc.smc.c-nav .menu{display:none;position:absolute;top:56px;left:0;right:0;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;gap:0;padding:8px 20px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.smc.smc.smc .c-nav .menu a,.smc.smc.smc.c-nav .menu a{padding:14px 0;font-size:17px;border-top:1px solid #ECEEF2}.smc.smc.smc .c-nav.open .menu,.smc.smc.smc.c-nav.open .menu{display:flex}.smc.smc.smc .c-nav .burger,.smc.smc.smc.c-nav .burger{display:block}.smc.smc.smc .c-nav .pill,.smc.smc.smc.c-nav .pill{display:none}.smc.smc.smc .c-nav.open .pill,.smc.smc.smc.c-nav.open .pill{display:none}.smc.smc.smc .g2,.smc.smc.smc .g3{grid-template-columns:1fr}.smc.smc.smc .c-steps{grid-template-columns:1fr}.smc.smc.smc .c-help,.smc.smc.smc .c-help.three{grid-template-columns:1fr}.smc.smc.smc .c-feature{grid-template-columns:1fr;padding:44px 26px}.smc.smc.smc .c-feature .stats{grid-template-columns:1fr}.smc.smc.smc .c-tile{min-height:520px;padding:44px 24px 0}.smc.smc.smc .c-tile .art{width:calc(100% + 48px);margin-left:-24px;margin-right:-24px}.smc.smc.smc .c-tile .art .poster{width:calc(100% - 32px);margin:0 16px}.smc.smc.smc .c-tile.row{flex-direction:column;padding:0}.smc.smc.smc .c-tile.row .body{padding:36px 26px}.smc.smc.smc .c-tile.row .art{width:100%;flex:none}.smc.smc.smc .c-tile.row .art .poster{aspect-ratio:16/10}.smc.smc.smc .c-media.row{flex-direction:column}.smc.smc.smc .c-media.row .poster{flex:none;aspect-ratio:16/9;min-height:0}.smc.smc.smc .c-media.row .poster img{position:static}.smc.smc.smc .c-media.row .txt{padding:22px 22px 24px}.smc.smc.smc .c-media.feature{grid-column:auto}.smc.smc.smc .c-rail .track{grid-auto-columns:78%}.smc.smc.smc .c-rail.wide .track{grid-auto-columns:86%}.smc.smc.smc .compare{padding:32px 20px}.smc.smc.smc .c-seg{display:flex;width:100%}.smc.smc.smc .c-seg button{flex:1;padding:10px 8px;font-size:13px;line-height:1.2}.smc.smc.smc .c-qa{padding:6px 22px}.smc.smc.smc .c-directory{padding:28px 24px}.smc.smc.smc .sec,.smc.smc.smc.sec{padding-top:80px}.smc.smc.smc .hero,.smc.smc.smc.hero{padding-top:56px}.smc.smc.smc .hero-media .poster,.smc.smc.smc.hero-media .poster{aspect-ratio:16/10;border-radius:22px}.smc.smc.smc .page-head .side{align-items:flex-start}}
@media (max-width:600px){.smc.smc.smc .g4{grid-template-columns:1fr}.smc.smc.smc .c-footer .grid,.smc.smc.smc.c-footer .grid{grid-template-columns:1fr 1fr}.smc.smc.smc .c-directory{grid-template-columns:1fr}.smc.smc.smc .c-strip .row,.smc.smc.smc.c-strip .row{gap:26px}}
/* Centered opening for method pages (T3) */
.smc.smc.smc .hero .icon,.smc.smc.smc.hero .icon{width:46px;height:46px;margin:0 auto 20px;stroke:#00357A;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.smc.smc.smc .hero.method,.smc.smc.smc.hero.method{padding-top:40px}
.smc.smc.smc .hero.method h1,.smc.smc.smc.hero.method h1{font-size:clamp(38px,5.6vw,68px)}
.smc.smc.smc .c-tile .quote{font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.02em;line-height:1.25;max-width:30ch}
.smc.smc.smc .c-tile .cite{font-size:14px;color:#6E6E73;margin-top:14px}
.smc.smc.smc .dark .cite{color:rgba(255,255,255,.62)}
/* Report preview (T4 preview tile) */
.smc.smc.smc .report{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(0,26,61,.12);max-width:660px;margin:0 auto;text-align:left}
.smc.smc.smc .rp-head{padding:18px 24px;background:#F5F6F8;display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.smc.smc.smc .rp-head b{font-size:14px;font-weight:600}
.smc.smc.smc .rp-head span{font-size:12px;color:#6E6E73}
.smc.smc.smc .rp-body{padding:24px}
.smc.smc.smc .rp-score{display:flex;align-items:center;gap:22px}
.smc.smc.smc .rp-score .num{font-size:72px;font-weight:600;letter-spacing:-.05em;line-height:1;color:#00357A}
.smc.smc.smc .rp-score .lab{display:block;font-size:12.5px;color:#6E6E73}
.smc.smc.smc .band{display:inline-block;font-size:13px;font-weight:600;padding:5px 10px;border-radius:999px;margin:6px 0}
.smc.smc.smc .band.hostile{background:#F3E6E3;color:#8A3B2E}
.smc.smc.smc .band.neutral{background:#F0F1F4;color:#4B4F58}
.smc.smc.smc .band.enabled{background:#F5EFDC;color:#9A7B2F}
.smc.smc.smc .band.optimized{background:#E6F2EA;color:#2E6B3F}
.smc.smc.smc .rp-diag{margin-top:20px;font-size:14.5px;line-height:1.5}
.smc.smc.smc .rp-body h4{font-size:12px;font-weight:600;color:#6E6E73;margin:22px 0 8px}
.smc.smc.smc .rp-leaks li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-top:1px solid #ECEEF2}
.smc.smc.smc .rp-leaks b{font-size:24px;font-weight:600;letter-spacing:-.03em;color:#9A7B2F;min-width:60px;line-height:1.1}
.smc.smc.smc .rp-leaks b small{font-size:12px;color:#6E6E73;font-weight:500;letter-spacing:0}
.smc.smc.smc .rp-leaks span{font-size:14px;font-weight:600;display:block}
.smc.smc.smc .rp-leaks p{font-size:13.5px;color:#6E6E73;margin-top:2px;line-height:1.4}
.smc.smc.smc .rp-works{display:flex;gap:8px;flex-wrap:wrap}
.smc.smc.smc .rp-works li{font-size:13px;background:#F5F6F8;border-radius:999px;padding:6px 12px}
.smc.smc.smc .rp-fix{margin-top:18px;padding:14px 16px;border-radius:14px;background:#F5F6F8;font-size:14px;line-height:1.45}
.smc.smc.smc .rp-foot{padding:14px 24px;background:#F5F6F8;font-size:12px;color:#6E6E73;line-height:1.5}
.smc.smc.smc .compare .report{box-shadow:0 20px 60px rgba(0,26,61,.10)}
/* Library grid (T5): dense grid with occasional two-by-two feature tiles, filterable */
.smc.smc.smc .lib-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;grid-auto-flow:dense}
.smc.smc.smc .lib-grid .c-media.feature{grid-column:span 2;grid-row:span 2}
.smc.smc.smc .lib-grid .c-media.feature .poster{aspect-ratio:auto;flex:1;min-height:260px}
.smc.smc.smc .lib-grid .c-media.feature h3{font-size:24px}
.smc.smc.smc .lib-grid .c-media[hidden]{display:none}
.smc.smc.smc .c-strip.inpage,.smc.smc.smc.c-strip.inpage{background:transparent}
.smc.smc.smc .c-strip.inpage .row,.smc.smc.smc.c-strip.inpage .row{padding:6px 0 0}
.smc.smc.smc .c-strip.inpage a.on,.smc.smc.smc.c-strip.inpage a.on{color:#00357A}
.smc.smc.smc .c-strip.inpage a.on svg,.smc.smc.smc.c-strip.inpage a.on svg{stroke:#00357A;stroke-width:1.9}
.smc.smc.smc .c-chips .n{font-weight:500;opacity:.6;margin-left:6px}
@media (max-width:1080px){.smc.smc.smc .lib-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.smc.smc.smc .lib-grid{grid-template-columns:1fr}.smc.smc.smc .lib-grid .c-media.feature{grid-column:auto;grid-row:auto}.smc.smc.smc .lib-grid .c-media.feature .poster{aspect-ratio:16/9;min-height:0}}
/* About (T7): text-forward hero, photo band, alternating row tiles */
.smc.smc.smc .hero.about,.smc.smc.smc.hero.about{text-align:left;padding:56px 0 24px}
.smc.smc.smc .hero.about h1,.smc.smc.smc.hero.about h1{font-size:clamp(38px,5.4vw,66px);max-width:20ch}
.smc.smc.smc .hero.about .lede,.smc.smc.smc.hero.about .lede{margin:18px 0 0;max-width:62ch}
.smc.smc.smc .hero.about .doors,.smc.smc.smc.hero.about .doors{justify-content:flex-start;margin-top:26px}
.smc.smc.smc .hero.about .c-commit,.smc.smc.smc.hero.about .c-commit{text-align:left}
.smc.smc.smc .photo-band .poster{aspect-ratio:2.4/1;border-radius:28px}
.smc.smc.smc .photo-band .poster .play{left:28px;bottom:26px;font-size:15px}
.smc.smc.smc .photo-band .poster .play i{width:44px;height:44px;font-size:13px}
.smc.smc.smc .photo-band .poster .title{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:clamp(30px,4.4vw,56px);font-weight:600;letter-spacing:-.03em;text-shadow:0 2px 24px rgba(0,0,0,.35);text-align:center;padding:24px}
.smc.smc.smc .c-tile.row.flip{flex-direction:row-reverse}
@media (max-width:820px){.smc.smc.smc .photo-band .poster{aspect-ratio:16/10}.smc.smc.smc .c-tile.row.flip{flex-direction:column}}
/* Landing page chrome (T9): slim header, single column, minimal footer */
.smc.smc.smc .lp-head,.smc.smc.smc.lp-head{background:rgba(255,255,255,.9);border-bottom:1px solid rgba(0,0,0,.05)}
.smc.smc.smc .lp-head .in,.smc.smc.smc.lp-head .in{max-width:1180px;margin:0 auto;padding:0 20px;height:60px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.smc.smc.smc .lp-head .logo img,.smc.smc.smc.lp-head .logo img{height:30px;width:auto}
.smc.smc.smc .lp-head .right,.smc.smc.smc.lp-head .right{display:flex;align-items:center;gap:18px;font-size:12.5px;color:#6E6E73}
.smc.smc.smc .lp-head .pill,.smc.smc.smc.lp-head .pill{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;white-space:nowrap}
.smc.smc.smc .lp-head .pill:hover,.smc.smc.smc.lp-head .pill:hover{text-decoration:none;background:#002B5C}
.smc.smc.smc .lp .wrap,.smc.smc.smc.lp .wrap{max-width:900px}
.smc.smc.smc .lp .sec,.smc.smc.smc.lp .sec{padding-top:112px}
.smc.smc.smc .lp .hero,.smc.smc.smc.lp .hero{padding-top:72px}
.smc.smc.smc .lp .hero h1,.smc.smc.smc.lp .hero h1{font-size:clamp(34px,4.6vw,58px);max-width:24ch;margin:0 auto}
.smc.smc.smc .lp .hero .lede,.smc.smc.smc.lp .hero .lede{max-width:64ch}
.smc.smc.smc .lp .hero-media,.smc.smc.smc.lp .hero-media{max-width:900px}
.smc.smc.smc .lp .report,.smc.smc.smc.lp .report{max-width:none}
.smc.smc.smc .lp-foot,.smc.smc.smc.lp-foot{margin-top:96px;padding:36px 0 40px;border-top:1px solid rgba(0,0,0,.06);font-size:12.5px;color:#6E6E73}
.smc.smc.smc .lp-foot .wrap,.smc.smc.smc.lp-foot .wrap{max-width:900px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.smc.smc.smc .lp-foot a,.smc.smc.smc.lp-foot a{color:#6E6E73}
.smc.smc.smc .lp-foot .inline,.smc.smc.smc.lp-foot .inline{display:flex;gap:18px}
@media (max-width:820px){.smc.smc.smc .lp-head .right span,.smc.smc.smc.lp-head .right span{display:none}.smc.smc.smc .lp .sec,.smc.smc.smc.lp .sec{padding-top:80px}}
/* Handoff markers and pricing furniture */
.smc.smc.smc .todo{background:#FFF1B8;color:#6B4E00;border-radius:6px;padding:0 6px;font-weight:600;font-size:.9em}
.smc.smc.smc .c-directory.five{grid-template-columns:repeat(5,1fr)}
.smc.smc.smc .price{background:#fff;border-radius:22px;padding:34px 32px;text-align:left;max-width:720px;margin:0 auto}
.smc.smc.smc .price .amt{font-size:clamp(48px,5vw,68px);font-weight:600;letter-spacing:-.045em;line-height:1;color:#00357A}
.smc.smc.smc .price .amt small{font-size:18px;letter-spacing:0;color:#6E6E73;font-weight:500;margin-left:6px}
.smc.smc.smc .price .was{font-size:15px;color:#6E6E73;margin-top:8px}
.smc.smc.smc .price .was s{color:#8A8A8E}
.smc.smc.smc .price ul{margin-top:20px}
.smc.smc.smc .price li{position:relative;padding:6px 0 6px 22px;font-size:15px;line-height:1.45;border-top:1px solid #ECEEF2}
.smc.smc.smc .price li:first-child{border-top:0}
.smc.smc.smc .price li::before{content:"\2713";position:absolute;left:0;top:7px;color:#9A7B2F;font-weight:700;font-size:13px}
.smc.smc.smc .price .allin{margin-top:18px;padding:14px 16px;border-radius:14px;background:#F5F6F8;font-size:14.5px;line-height:1.45}
.smc.smc.smc .timeline li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-top:1px solid #ECEEF2;text-align:left}
.smc.smc.smc .timeline li:first-child{border-top:0}
.smc.smc.smc .timeline b{font-size:13px;color:#9A7B2F;font-weight:600;padding-top:3px}
.smc.smc.smc .timeline h4{font-size:16px;font-weight:600;letter-spacing:-.01em}
.smc.smc.smc .timeline p{font-size:14.5px;color:#6E6E73;margin-top:3px;line-height:1.45}
@media (max-width:1080px){.smc.smc.smc .c-directory.five{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.smc.smc.smc .c-directory.five{grid-template-columns:1fr}.smc.smc.smc .timeline li{grid-template-columns:1fr;gap:4px}}
.smc.smc.smc .c-card .timeline li{padding-left:0}
.smc.smc.smc .c-card .timeline li::before{display:none}
/* Comparison table (T3 compare page) */
.smc.smc.smc table.cmp{width:100%;border-collapse:collapse;font-size:14.5px}
.smc.smc.smc table.cmp th{text-align:left;font-size:12.5px;font-weight:600;color:#6E6E73;padding:0 14px 12px 0;vertical-align:bottom}
.smc.smc.smc table.cmp td{padding:14px 14px 14px 0;border-top:1px solid #ECEEF2;vertical-align:top;line-height:1.45}
.smc.smc.smc table.cmp td.q{font-weight:600;width:26%}
.smc.smc.smc table.cmp td.h{color:#6E6E73;width:34%}
.smc.smc.smc table.cmp td.w{color:#1D1D1F}
.smc.smc.smc .lib-grid .c-card[hidden]{display:none}
@media (max-width:820px){.smc.smc.smc table.cmp,.smc.smc.smc table.cmp thead,.smc.smc.smc table.cmp tbody,.smc.smc.smc table.cmp tr,.smc.smc.smc table.cmp td{display:block}.smc.smc.smc table.cmp thead{display:none}.smc.smc.smc table.cmp td{border-top:0;padding:4px 0;width:auto}.smc.smc.smc table.cmp tr{border-top:1px solid #ECEEF2;padding:14px 0}}
/* Library page furniture (documentation only) */
.smc.smc.smc .lib{margin-top:64px}
.smc.smc.smc .lib .meta{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:16px}
.smc.smc.smc .lib .num{font-size:13px;font-weight:600;color:#9A7B2F}
.smc.smc.smc .lib h2{font-size:24px;letter-spacing:-.02em;font-weight:600}
.smc.smc.smc .lib .spec{flex-basis:100%;font-size:15px;color:#6E6E73;max-width:70ch;line-height:1.5}
.smc.smc.smc .lib .frame{padding:12px;border-radius:26px;background:#EBEDF1}
/* Spec strip: six short facts under a spotlight */
.smc.smc.smc .c-specs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.smc.smc.smc .c-specs li{background:#fff;border-radius:18px;padding:18px 16px}
.smc.smc.smc .c-specs b{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em;color:#00357A;line-height:1.1}
.smc.smc.smc .c-specs span{display:block;font-size:13px;color:#6E6E73;margin-top:5px;line-height:1.35}
@media (max-width:1080px){.smc.smc.smc .c-specs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.smc.smc.smc .c-specs{grid-template-columns:repeat(2,1fr)}}

/* ==== Elementor neutralisers, scope .smc ================================= */
/* Generated by h2e/scope.py. The specificities are load-bearing: see
   HTML-TO-ELEMENTOR.md sections 5 and 6 before changing any of them. */

/* Containers are laid out by the design, not by Elementor's flex defaults.
   Low specificity so any design-declared display wins. flex-direction:row is
   restated because Elementor's column default is the anomaly: a design rule
   that says display:flex and relies on the CSS default comes out stacked. */
.smc .e-con{display:block;flex-direction:row}
.smc .e-con-inner{display:contents}
/* Under 768px Elementor gives every flex container `flex-wrap:wrap`
   (`--flex-wrap-mobile`, at (0,2,0)). The design's rows default to nowrap and
   scroll -- `.subnav{overflow-x:auto;white-space:nowrap}` -- and say `wrap`
   explicitly, at four classes or more, where they mean it. Restated at three:
   above Elementor, below any design rule. Without it the chapter chips on 41
   pages broke onto a second line at phone width, and a section title's
   "See all" link dropped under its heading. */
.smc.smc .e-con{flex-wrap:nowrap}

/* The wrapper stands in for <body>, which is a block. Left as Elementor's flex
   column, a child's automatic minimum size defeats overflow-x:auto and
   propagates hundreds of px of horizontal overflow at phone widths. */
.smc.smc.smc{display:block}

/* Wrapper boxes contribute no space of their own. */
.smc.smc.smc.smc .elementor-widget-container{margin:0;padding:0}
.smc.smc.smc.smc .elementor-widget{margin:0}
.smc.smc.smc.smc .elementor-widget:not(:last-child){margin-block-end:0}
.smc.smc.smc .e-con>.elementor-widget,.smc.smc.smc.e-con>.elementor-widget{
  width:auto;max-width:100%}

/* Frontend only: fold the two wrappers out of the layout tree so the design's
   own .elementor-kit-5s reach real elements in their original position. In the editor
   the wrappers keep their boxes so widgets stay selectable. */
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-heading,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-text-editor,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-html,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-button,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-image,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-heading>.elementor-widget-container,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-text-editor>.elementor-widget-container,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-html>.elementor-widget-container,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-image>.elementor-widget-container{
  display:contents}

/* A button widget renders <a class="elementor-button"><span class="...content-
   wrapper"><span class="...text">. The design's own class is relayed onto the
   anchor by scope.button_relay, so Elementor's own button look has to come off
   first, and the two spans have to stop being boxes. */
.smc.smc.smc .elementor-button{background:none;border:0;border-radius:0;padding:0;
  text-decoration:none;box-shadow:none;fill:currentColor}
/* The properties whose only job is to restore inheritance go one class LOWER
   than the design, because `inherit` is an EXPLICIT declaration and beats an
   inherited value at equal or higher specificity. At (0,4,0) this block beat
   the design's own `a{color:#00357A}` at (0,3,1), and every link the design
   renders as a button came out body-text black instead of link blue -- on the
   live site, on every page, while the local harness stayed inside its
   tolerance. One class lower still beats Elementor's `.elementor-button`
   (0,1,0) and the kit's `.elementor-kit-N .elementor-button` (0,2,0), and now
   loses to anything the design actually says. */
.smc.smc .elementor-button{color:inherit;font:inherit;line-height:inherit;
  letter-spacing:inherit;text-align:inherit}
.smc.smc.smc .elementor-button-content-wrapper,
.smc.smc.smc .elementor-button-icon,
.smc.smc.smc .elementor-button-text{display:contents}
/* And restated where an author rule for the spans the AUTHOR wrote would
   otherwise reach Elementor's two. `@media(max-width:820px){.lp-head .right
   span{display:none}}` hides a partner line on mobile and took the phone
   number with it, because the button's own label lives in a span inside the
   same block. Four scope classes is not enough: that .elementor-kit-5 is (0,5,1) once
   scoped, so this has to reach (0,6,0). */
.smc.smc.smc .elementor-widget-button .elementor-button .elementor-button-content-wrapper,
.smc.smc.smc .elementor-widget-button .elementor-button .elementor-button-icon,
.smc.smc.smc .elementor-widget-button .elementor-button .elementor-button-text{
  display:contents}
/* The icon span is the third of those. With it folded out, a button carrying
   `selected_icon` renders an svg followed by a text run as direct children of
   the anchor -- which is exactly what an icon link in the source was, so the
   design's `.c-strip a{display:flex;flex-direction:column;gap:9px}` lays them
   out unchanged. Elementor's own `1em` sizing of that svg comes off at two
   scope classes, above its (0,2,1) and below any design rule. */
.smc.smc .elementor-button-icon svg{width:auto;height:auto}

/* A display:contents box generates no box of its own but its ::before and
   ::after still do. With the design's rules relayed onto the inner element,
   the wrapper's copy is a duplicate that lands in the wrong place. */
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-button::before,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-button::after,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-heading::before,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-heading::after{
  content:none}
/* Elementor's button is three nested elements, two of them SPANS of its own
   invention. A design rule written for the spans the author wrote -- a
   breadcrumb separator on `.crumbs span::before` -- finds those too and prints
   itself twice more per link. Elementor's spans are plumbing, not content:
   they carry no generated content, ever.
   The `.elementor-button` prefix is not decoration: `.crumbs span::before` is
   (0,4,1) once scoped, so the obvious four-class version loses to it and the
   separator still prints three times. */
.smc.smc.smc .elementor-button .elementor-button-content-wrapper::before,
.smc.smc.smc .elementor-button .elementor-button-content-wrapper::after,
.smc.smc.smc .elementor-button .elementor-button-icon::before,
.smc.smc.smc .elementor-button .elementor-button-icon::after,
.smc.smc.smc .elementor-button .elementor-button-text::before,
.smc.smc.smc .elementor-button .elementor-button-text::after{content:none}

/* A sticky element can move only inside its parent's box. Elementor wraps a
   header template in two boxes of its own -- the location wrapper and the
   template's root container -- both exactly as tall as the header, so a
   design's `position:sticky` nav sticks for the height of the chapter strip
   below it and then scrolls away with everything else. Measured on the served
   home page: 1,900px down, the nav sat at -1,777px. Fold both wrappers out on
   the frontend and the nav's containing block is <body> again. No pixel gate
   can see this: a full-page screenshot never scrolls. */
body:not(.elementor-editor-active) .elementor-location-header,
body:not(.elementor-editor-active) #smc-header{
  display:contents}

/* An icon widget wraps the svg in two divs of its own. The design sizes the
   drawing through its surroundings -- `.c-help svg`, `.c-strip svg` -- and two
   extra boxes between the two change what those .elementor-kit-5s are sizing. Fold
   them away and the svg sits exactly where the inline one did. Elementor's own
   `1em` sizing goes with them: it is a default for icon fonts, not for a
   drawing the design has already measured. */
body:not(.elementor-editor-active) .smc.smc.smc .elementor-widget-icon,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-icon-wrapper,
body:not(.elementor-editor-active) .smc.smc.smc .elementor-icon{display:contents}
/* Elementor sizes an icon at 1em, which is right for an icon FONT and wrong
   for a drawing the design has already measured. Cancelling it belongs at two
   scope classes, not three: at three it ties with `.c-help svg{width:40px}`
   and, being later in the stylesheet, wins the tie and collapses every icon to
   nothing. At two it still beats Elementor's own (0,1,1) and loses to the
   design, which is the whole point. */
.smc.smc .elementor-icon svg{width:auto;height:auto}

/* An image widget renders a bare <img> with srcset. The design styles <img>
   directly, so nothing else is needed beyond folding the wrapper out above. */

/* The Elementor kit declares font-family, size, weight, line-height and colour
   on h1..h6. Two scope classes is (0,2,1): above the kit's (0,1,1) and below
   every scoped design rule at (0,3,1)+, so the design wins where it has an
   opinion and inheritance is restored where it does not. */
.smc.smc h1,.smc.smc h2,.smc.smc h3,.smc.smc h4,.smc.smc h5,.smc.smc h6{
  font:inherit;color:inherit;letter-spacing:inherit;text-transform:none}

/* In the editor the wrappers still exist; keep type inherited and drop the
   stacking margins that would otherwise shift the preview. */
.smc .elementor-heading-title{font:inherit;color:inherit;margin:0;
  letter-spacing:inherit;line-height:inherit;text-align:inherit}
.smc .elementor-widget-text-editor{font:inherit;color:inherit}
.smc .elementor-widget-text-editor p:last-child{margin-bottom:0}
.smc .elementor-widget-html{font:inherit;color:inherit}

/* The design declares its own gaps; Elementor must not also impose one. And
   nested containers inherit --margin-left/right:auto from the top-level one,
   which centres any container that has a max-width.

   ONE scope class, not three, and the difference is the whole point. These
   cancel Elementor's DEFAULTS, which live on `.e-con` at (0,1,0) and on
   `:is(.elementor-section-wrap,[data-elementor-id])>.e-con` at (0,2,0). A
   value the client sets in the builder's panel is a different rule --
   `.elementor-<pid> .elementor-element.elementor-element-<id>` at (0,3,0) --
   and at three scope classes this block outranked that too, so the gap and
   margin controls in the panel did nothing at all, on every container on the
   site. At one class it still beats both defaults (winning the (0,2,0) tie on
   order, since this stylesheet loads after Elementor's) and loses to the
   panel, which is the arrangement that was wanted. The build's own trees are
   unaffected: every container it emits writes --gap and its padding
   per-element anyway, so the computed values do not move. */
.smc .e-con{--gap:0px;--row-gap:0px;--column-gap:0px;
  --margin-left:0px;--margin-right:0px}

/* A container used as a flex child is given --width:100% by Elementor. Pinned
   to .e-con, and ONLY the variable is reset: an explicit width or max-width
   here outranks the design's own on the same element. */
.smc .c-line>.e-con,.smc .c-title>.e-con,.smc .doors>.e-con,.smc .in>.e-con,.smc .page-head>.e-con,.smc .promise>.e-con,.smc .right>.e-con,.smc .rp-score>.e-con{--width:auto}

/* ---- `e-free`: give one container's box back to the builder ----
   Add the CSS class `e-free` to a container in Elementor's panel and its
   padding, margin, width and gap come from the panel instead of from the
   design stylesheet. Nothing else changes -- colour, type and the design's
   display/flex-direction still apply, so the layout does not fall apart.

   Four repeats of the class, and they are not decoration: the deepest design
   rule that pins a box property is `.c-tile.row .art .poster`, which scopes to
   (0,7,0). This has to clear that, so (0,8,0). */
.smc.smc.smc .e-con.e-free.e-free.e-free.e-free{
  padding-block-start:var(--padding-top);
  padding-block-end:var(--padding-bottom);
  padding-inline-start:var(--padding-left);
  padding-inline-end:var(--padding-right);
  margin-inline-start:var(--margin-left);
  margin-inline-end:var(--margin-right);
  width:var(--width);max-width:min(100%,var(--width));
  gap:var(--gap);row-gap:var(--row-gap);column-gap:var(--column-gap);
  min-height:var(--min-height,auto)}

/* Grid containers get two explicit rows unless told otherwise. Pinned to
   .e-con as well as the class, so the rule cannot reach a design grid of the
   same name living inside an html widget. */
.smc.smc.smc .g2.e-con,.smc.smc.smc .g3.e-con,.smc.smc.smc .g4.e-con,.smc.smc.smc .c-feature.e-con,.smc.smc.smc .c-help.e-con,.smc.smc.smc .c-directory.e-con,.smc.smc.smc .lib-grid.e-con,.smc.smc.smc .grid.e-con{grid-template-rows:auto}

/* Anchors that wrap block content ship as html widgets, so
   the anchor itself is the flex or grid item and needs its
   box back. */
.smc.smc.smc a.c-media{display:flex}
.smc.smc.smc a.poster{display:block}
.smc.smc.smc a.c-tile{display:flex}

/* Elementor's global link colour would repaint cards and footers. */
.smc a{text-decoration:none}

/* Hello Elementor normalises <button>: nowrap, a min-height, a text-transform
   and a box-shadow. A design accordion supplies its own. */
.smc.smc.smc button{white-space:normal;text-transform:none;letter-spacing:inherit;
  min-height:0;box-shadow:none}
.smc.smc button,.smc.smc [type=button],.smc.smc [type=submit]{
  background:none;border:0;border-radius:0;padding:0}

/* reset.css puts explicit values on form, label, list and table elements the
   design leaves to inheritance, e.g. label{line-height:1} and
   ol{margin-block:0}. Explicit beats inherited at any specificity, so restate
   inheritance between the theme and the design. `revert` rolls a property back
   to the user-agent origin, which is what the standalone file renders against. */
.smc.smc label,.smc.smc button,.smc.smc input,.smc.smc select,.smc.smc optgroup,.smc.smc textarea,
.smc.smc fieldset,.smc.smc legend,.smc.smc table,.smc.smc th,.smc.smc td,.smc.smc caption{
  font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;
  text-transform:none;vertical-align:baseline}
.smc.smc input,.smc.smc textarea,.smc.smc select{padding:revert;border:revert;background:revert}

/* The same reset gives every table cell a 1px border and 15px of padding, and
   zebra-stripes odd rows. A design that draws its own rules with a single
   border-top keeps the theme's other three sides and gains striping it never
   asked for. `table tbody>tr:nth-child(odd)>td` is (0,1,4), so restating the
   user-agent baseline at (0,2,1) clears all of it and still loses to any
   scoped design rule. */
.smc.smc table,.smc.smc thead,.smc.smc tbody,.smc.smc tfoot,.smc.smc tr,.smc.smc th,.smc.smc td,.smc.smc caption{
  border:revert;background:revert;padding:revert;margin:revert;
  font-size:inherit;font-weight:inherit}
.smc.smc ol,.smc.smc dl,.smc.smc dd,.smc.smc dt,.smc.smc li{margin-block:revert}

/* A link-wrapped card becomes a container plus this one overlay anchor, so
   the whole card stays clickable while its parts are editable widgets.
   position:absolute takes it out of the card's flex flow entirely. */
.smc.smc.smc .h2e-stretch,.smc.smc.smc .h2e-stretch .elementor-button{
  position:absolute;inset:0;z-index:1;border-radius:inherit;
  padding:0;background:none}
/* The anchor needs an accessible name, and that name must not become a block
   of hidden text sitting next to the same words on screen. Clip the label
   rather than setting font-size:0 on it: the anchor still covers the card,
   the name still reaches assistive technology, and there is no invisible
   duplicate of the card's own heading for a crawler to read.
   The `display:block` is load-bearing: the button-text span is display:contents
   a few rules up, and a contents box ignores position, width and clip-path, so
   without it the label rendered at full size on top of the card.
   Seven scope classes, because the rule that stops an author's `span`
   .elementor-kit-5 reaching Elementor's button spans sits at six and would otherwise
   un-hide this one: the overlay's label appeared over every card that had
   one. Two neutralisers arguing, and the more specific need wins. */
.smc.smc.smc .elementor-widget-button.h2e-stretch .elementor-button
     .elementor-button-text{
  display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* The overlay is an <a>, so a design rule written for a real link inside the
   same card hits it too -- and a HOVER rule outranks the reset above, because
   a pseudo-class counts as a class. `.c-help a:hover{box-shadow:...}` at
   (0,5,1) painted its shadow on an invisible box stretched across the card. */
.smc.smc.smc .h2e-stretch:hover,.smc.smc.smc .h2e-stretch:focus-within,
.smc.smc.smc .h2e-stretch .elementor-button:hover,
.smc.smc.smc .h2e-stretch .elementor-button:focus{
  transform:none;box-shadow:none;background:none;border:0}
.smc.smc.smc .c-media,.smc.smc.smc .poster,.smc.smc.smc .c-tile,.smc.smc.smc .c-help,.smc.smc.smc .c-quote,.smc.smc.smc .logo{position:relative}

/* A video widget standing in for a design's media frame keeps that frame's own
   classes, so the frame supplies the size. Elementor's own wrapper carries an
   aspect ratio of its own (--video-aspect-ratio), which fights it: a 16/9
   player inside a 2/1 hero frame is the wrong height, and every section below
   it moves. Let the frame win and have the player fill it exactly.
   It must stay IN FLOW. Taking it out with position:absolute costs the frame
   its intrinsic height, and a design frame that sizes itself from its own
   image -- `aspect-ratio:auto` plus `height:100%` -- then collapses to
   whatever the text column next to it happens to be: one tile lost 239px and
   dragged the rest of the page up with it. */
.smc.smc.smc .elementor-widget-video>.elementor-wrapper{
  aspect-ratio:auto;display:block;width:100%;height:100%}
.smc.smc.smc .elementor-widget-video>.elementor-wrapper>iframe,
.smc.smc.smc .elementor-widget-video>.elementor-wrapper>video{
  width:100%;height:100%;display:block;border:0}
/* The image overlay is Elementor's own <img>, built from the media library and
   carrying none of the source tag's attributes: it arrives at its natural size
   with width and height attributes on it. Make it cover the frame the way the
   design's own poster image did. */
.smc.smc.smc .elementor-custom-embed-image-overlay{
  position:relative;display:block;width:100%;height:100%;cursor:pointer}
/* This rule ALSO defeats Elementor's own geometry for an inline player, and
   that is deliberate -- see `.hero-media` in extra.css, which restores it for
   the one frame that wants it.
   With a lightbox there is no iframe until the click, so the overlay is the
   frame's only content and has to stay in flow to give it height, which is
   what the rule above is for. `elementor-open-inline` renders BOTH: the iframe
   in flow, and the overlay laid over it by Elementor's
   `.elementor-widget-video .elementor-open-inline
    .elementor-custom-embed-image-overlay{position:absolute;inset:0}`.
   That is three classes; this is four, so this wins and the overlay drops
   BELOW the iframe -- one frame's height down, inside a frame that clips its
   overflow, so the poster is never seen and the player shows its own
   thumbnail instead.
   188 of the build's 202 players are in that state, and for 187 of them it
   makes no visible difference, because their overlay IS the film's own Vimeo
   frame -- the same picture the iframe is already showing. Restoring the
   overlay globally would swap all 187 from a live player to a static poster
   with a centred play button, which is the opposite of what the client asked
   for: the film's own frame as the thumbnail, the player in the tile. So the
   geometry is restored per frame, not here. */
/* `aspect-ratio:auto` is the load-bearing half. Elementor puts the widget's
   configured ratio on the overlay image itself, via --video-aspect-ratio, so
   the image stops sizing from its own proportions. In a frame that has no
   ratio of its own and takes its height FROM the image, that collapses the
   frame to whatever sits beside it: 659px became 420px, on the live page
   only -- the local harness has none of Elementor's own stylesheet and so
   never sees it. Restore the image's own proportions and the design's
   `width:100%;height:100%;object-fit:cover` does the rest, exactly as it did
   for the poster image this widget replaced. */
.smc.smc.smc .elementor-custom-embed-image-overlay img{
  display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
/* The play button, pinned to what Elementor itself renders (measured on the
   server: 100x100, absolutely centred). Its icon is an inline SVG with a
   viewBox and no intrinsic size, so a design whose reset says `svg{display:
   block}` and `max-width:100%` will stretch it to the full width of the
   frame and give it a square's worth of height -- 525px of it, in flow,
   inside a 659px tile. */
.smc.smc.smc .elementor-custom-embed-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1}
.smc.smc.smc .elementor-custom-embed-play svg,
.smc.smc.smc .elementor-custom-embed-play i{
  width:100px;height:100px;display:block;max-width:none}

/* Elementor's nested accordion styles itself through custom properties on the
   widget wrapper, so that is where to take its look off: every default is
   overridden at two classes, above the widget's own (0,1,0), and an editor
   setting -- written on the element at (0,3,0) -- still wins, which is what a
   client changing a colour in the panel expects. The design's rules for the
   item, its title and its icon are re-aimed at Elementor's elements by
   scope.accordion_relay and land above all of this.
   Never put a CSS-wide keyword in one of these: `--x:inherit` makes the
   CUSTOM PROPERTY inherit, the parent has none, and `font-size:var(--x)`
   then falls to its initial 16px. The title text shipped a point smaller
   than its summary and a two-line question fitted on one. `1em` and
   `currentColor` are the values that mean "what I would have inherited". */
.smc .elementor-widget-n-accordion{
  --n-accordion-title-normal-color:currentColor;
  --n-accordion-title-hover-color:currentColor;
  --n-accordion-title-active-color:currentColor;
  --n-accordion-icon-normal-color:currentColor;
  --n-accordion-icon-hover-color:currentColor;
  --n-accordion-icon-active-color:currentColor;
  --n-accordion-title-font-size:1em;--n-accordion-padding:0;
  --n-accordion-border-width:0;--n-accordion-border-radius:0;
  --n-accordion-icon-gap:0;--n-accordion-icon-size:auto;
  --n-accordion-item-title-space-between:0;
  --n-accordion-item-title-distance-from-content:0}
.smc.smc .e-n-accordion-item>.e-con{border:0}
/* The answer container carries the design's own content class, so the
   design's collapse plumbing for it -- `display:grid;grid-template-rows:0fr`
   and a transition on it -- applies too. Elementor opens and closes a <details>
   itself; the container is a plain block whenever it is shown. Pinned to
   [open] so the closed state stays Elementor's. */
.smc.smc.smc .e-n-accordion-item[open]>.e-con{display:block;grid-template-rows:auto;
  transition:none}


/* Never let a page render blank because a script did not run.
   The Elementor editor injects widget markup with innerHTML, and
   a <script> inserted that way never executes. */
body.elementor-editor-active .smc.smc.smc .reveal,
body.elementor-editor-active .smc.smc.smc.reveal,
body.elementor-editor-active .smc.smc.smc .stagger>*,
html:not(.js-motion) .smc.smc.smc .reveal,
html:not(.js-motion) .smc.smc.smc.reveal,
html:not(.js-motion) .smc.smc.smc .stagger>*{opacity:1;transform:none;visibility:visible}

.smc.smc.smc [hidden]{display:none}
.smc img{display:block;max-width:100%;height:auto}
.smc svg{display:block}


/* ---- the project's own additions, from extra.css ---- */
/* Design this build adds that the source stylesheet does not have.
   Scoped and appended by `h2e.py css`, so it survives every regeneration and
   the design's own stylesheet stays untouched -- that file is the reference
   both verification gates measure against. */

/* Photographs behind tiles that were flat navy.
   The design's own scrim only darkens the bottom of a `.poster`, which is all
   a play badge needs. These tiles print a line of type across the middle, so
   over a photograph it needs more: the same navy, carried up the frame. Enough
   for white type to hold, not enough to lose the picture. */
.smc.smc.smc .poster.has-photo::after{background:linear-gradient(180deg,
  rgba(0,26,61,.62) 0%,rgba(0,26,61,.38) 45%,rgba(0,26,61,.78) 100%)}
.smc.smc.smc .poster.has-photo .mono{text-shadow:0 2px 18px rgba(0,26,61,.55)}
.smc.smc.smc .poster.has-photo .ph{color:rgba(255,255,255,.14)}
/* The footer's call to action.
   The design writes `.c-footer a{color:#6E6E73}` for the directory links and
   the button below them is an <a> too, so at (0,1,1) the footer grey beats the
   button's own white at (0,1,0): a navy pill with grey type, 2.6:1, on every
   page. Nothing else on the site renders a `.btn` that way, the nav's pill
   directly above it is white on the same navy, and the hover rule would turn
   it darker still. Restated at (0,1,1), later in the cascade, so it wins. */
.smc.smc.smc .c-footer a.btn,.smc.smc.smc.c-footer a.btn{color:#fff}
.smc.smc.smc .c-footer a.btn:hover,.smc.smc.smc.c-footer a.btn:hover{color:#fff}
/* Accordion and disclosure icons.
   The design draws a plus with two pseudo-element bars on an empty <i> or
   <span class="plus">. As Elementor's nested accordion the item's icon is
   Elementor's own plus and minus glyph pair, swapped on [open], inside
   .e-n-accordion-item-title-icon; the design's circle is relayed onto that
   span, and this sizes the glyph to the bars the design drew: 10px navy in the
   accordion, 12px white in the disclosure. `span>svg` matches Elementor's own
   fill rule compound for compound, one class up, so it wins in both states. */
.smc.smc.smc .c-qa .e-n-accordion-item-title-icon,.smc.smc.smc .c-expand .e-n-accordion-item-title-icon{order:1;justify-content:center}
.smc.smc.smc .c-qa .e-n-accordion-item .e-n-accordion-item-title-icon span>svg{width:10px;height:auto;fill:#00357A}
.smc.smc.smc .c-expand .e-n-accordion-item .e-n-accordion-item-title-icon span>svg{width:12px;height:auto;fill:#fff}
/* Room for the hover shadow inside a rail.
   `.c-rail .track` is a horizontal scroller, and a scroller clips on BOTH
   axes: with `overflow-x:auto` the browser computes `overflow-y` to `auto`
   too, so `overflow-y:visible` is not available to us. The design leaves it
   6px of padding, while `.c-media:hover` casts `0 20px 48px` and
   `.c-tile:hover` `0 24px 60px` -- so every card in every rail had its
   shadow cut off flat, the one place on the site where that happens.

   A blur of B reaches B/2 past the shadow's edge, so the room needed is
   offset + B/2 below (54px at worst), B/2 - offset above (9px with the 3px
   hover lift) and B/2 to the sides (30px). Padding makes that room INSIDE
   the scroll box; the negative margin hands the same space back to the
   layout, so nothing moves.

   The width is the part that is easy to get wrong. An Elementor container
   is `width:100%`, so a negative inline margin does NOT widen it -- it
   slides the same box sideways, and the padding then eats into the content
   box, which is what `grid-auto-columns: calc((100% - 24px)/3.15)` is a
   percentage OF. Every card came out 21px narrower. Widening the box by
   exactly the padding keeps the content box, and therefore every card and
   the four `grid-auto-columns` rules, untouched.

   The room is capped at whatever the page gutter can absorb: `.wrap` is
   1180px wide with a 20px gutter, so on a phone the track reaches the edge
   of the screen and no further. Without the cap it would hang 14px off both
   sides, which `body{overflow-x:clip}` happens to hide today -- a trap for
   whoever removes that one day.

   `scroll-padding` moves the snap line in by the same amount, or mandatory
   snapping would jump the first card under the left padding on load. */
.smc.smc.smc .c-rail .track{
  --h2e-rail-room:min(34px, max((100vw - 1180px)/2, 0px) + 20px);
  width:calc(100% + var(--h2e-rail-room)*2);
  padding:12px var(--h2e-rail-room) 60px;
  margin:-12px calc(var(--h2e-rail-room)*-1) -54px;
  scroll-padding-inline:var(--h2e-rail-room)}
/* ...and the arrows have to stay clickable through it.
   An Elementor container is `position:relative`, the arrows are static
   markup inside an html widget, and positioned boxes paint above in-flow
   ones whatever the source order -- so the track's new bottom padding, which
   now reaches 40px past the arrows, was swallowing every click on them. The
   scroll itself was never broken; the button simply never heard about it. */
.smc.smc.smc .c-rail .arrows{position:relative;z-index:1}
/* Photographic frame art.
   `photoart.py` cuts a tile from the real photography and grades it into the
   gradient the design paints behind it, so a `.poster` carrying one still
   reads as that navy box with a person in it. What the grade cannot do is
   hold white type over a face: the design's own `::after` is transparent
   until 45% down, which is exactly where `.poster .mono` centres 72px of it.
   This is the same ramp, lifted off the floor. Distinct from `.has-photo`,
   which darkens an UNGRADED press photo on the wide bands and would take
   these down twice. */
.smc.smc.smc .poster.graded::after{background:linear-gradient(180deg,
  rgba(0,26,61,.40) 0%,rgba(0,26,61,.26) 45%,rgba(0,26,61,.70) 100%)}
/* The footer newsletter, as a real Gravity Form.
   The design drew it as `form.news`: one row, a pill input that takes the
   space left over, a navy pill button. That form was a dummy with
   `onsubmit="return false"`, so it was cut from the chrome and the client has
   put form 3 in its place.

   Gravity Forms' Orbital theme brings its own everything -- a grid of stacked
   full-width fields, 3px corners, a visible label above the input and its own
   blue -- and none of it is the footer this design draws. These are the three
   rules from `smc.css` lines 290-292, re-aimed at the markup Gravity renders.

   The label is hidden the accessible way rather than with `display:none`: the
   design's version has no visible label either, and the placeholder alone is
   not a label a screen reader can rely on. */
.smc.smc.smc .c-footer .gform_wrapper,.smc.smc.smc.c-footer .gform_wrapper{margin-top:16px;
  /* Orbital reads its control border off this property, and its own
     `border-width` longhand lands after the `border` shorthand below: set the
     property as well or the input keeps Gravity's 0.67px hairline where the
     design draws 1.5px. */
  --gf-ctrl-border-width:1.5px}
.smc.smc.smc .c-footer .gform_wrapper .gform_fields,.smc.smc.smc.c-footer .gform_wrapper .gform_fields{display:flex;grid-template-columns:none;
  gap:8px;align-items:center;row-gap:8px}
.smc.smc.smc .c-footer .gform_wrapper .gfield,.smc.smc.smc.c-footer .gform_wrapper .gfield{flex:1 1 auto;min-width:0;padding:0;grid-column:auto}
.smc.smc.smc .c-footer .gform_wrapper .gfield--type-submit,.smc.smc.smc.c-footer .gform_wrapper .gfield--type-submit{flex:0 0 auto}
.smc.smc.smc .c-footer .gform_wrapper .gfield_label,.smc.smc.smc.c-footer .gform_wrapper .gfield_label{position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.smc.smc.smc .c-footer .gform_wrapper .ginput_container,.smc.smc.smc.c-footer .gform_wrapper .ginput_container{margin:0}
.smc.smc.smc .c-footer .gform_wrapper input[type=email],.smc.smc.smc.c-footer .gform_wrapper input[type=email],.smc.smc.smc .c-footer .gform_wrapper input[type=text],.smc.smc.smc.c-footer .gform_wrapper input[type=text]{border:1.5px solid #DDE1E8;
  border-radius:999px;padding:9px 14px;font:inherit;font-size:13px;
  /* Gravity's framework reset sets `border-top-width:unset` on effectively
     every element, and WordPress's own reset.css sets 1px, so the width is
     contested from two directions. Marked important to end the argument.
     (It may not be strictly necessary: the reset uses `:where()`, which has
     no specificity. I read a computed 0.666667px as this rule losing, when it
     was the browser pane reporting at 1.5x device pixel ratio.) */
  border-width:1.5px !important;
  width:100%;min-width:0;height:auto;background:#fff;color:#1D1D1F}
.smc.smc.smc .c-footer .gform_wrapper input[type=email]:focus,.smc.smc.smc.c-footer .gform_wrapper input[type=email]:focus{outline:0;border-color:#00357A}
.smc.smc.smc .c-footer .gform_wrapper input[type=submit],.smc.smc.smc.c-footer .gform_wrapper input[type=submit],.smc.smc.smc .c-footer .gform_wrapper button[type=submit],.smc.smc.smc.c-footer .gform_wrapper button[type=submit]{border:0;background:#00357A;color:#fff;
  border-radius:999px;padding:9px 14px;font:inherit;font-size:13px;font-weight:600;
  cursor:pointer;width:auto;height:auto}
.smc.smc.smc .c-footer .gform_wrapper input[type=submit]:hover,.smc.smc.smc.c-footer .gform_wrapper input[type=submit]:hover,.smc.smc.smc .c-footer .gform_wrapper button[type=submit]:hover,.smc.smc.smc.c-footer .gform_wrapper button[type=submit]:hover{background:#012A61}
/* Gravity renders an empty footer div when the submit is a field; left alone
   it puts 24px of nothing under the row. */
.smc.smc.smc .c-footer .gform_wrapper .gform_footer:empty,.smc.smc.smc.c-footer .gform_wrapper .gform_footer:empty{display:none;margin:0;padding:0}
.smc.smc.smc .c-footer .gform_wrapper .gform_validation_errors,.smc.smc.smc.c-footer .gform_wrapper .gform_validation_errors,.smc.smc.smc .c-footer .gform_wrapper .gfield_description,.smc.smc.smc.c-footer .gform_wrapper .gfield_description{font-size:12px}
/* The booking widget's own box.
   The card it sits in is a centred flex column with `align-items:center`, so
   a child with no width of its own shrinks to its content -- and an embed
   that has not loaded yet has no content. Given a width it holds the 620px
   the widget asks for from the first paint, instead of collapsing and then
   jumping when iClosed's script arrives. */
.smc.smc.smc .embed{width:100%;max-width:660px;margin-top:8px}
/* The request forms, as real Gravity Forms.
   Every .elementor-kit-5 below starts at `.sec`, which is the class the design puts on
   a page SECTION. The footer newsletter is a shortcode widget too, and without
   that prefix these rules reached it: the footer grew a white card with 40px
   of padding and 28px corners, and its pill row became a 16px form. The footer
   has no `.sec` ancestor, so one class is the whole exemption.
   The design draws `.c-form` as a white card -- 28px corners, 40px of padding
   -- holding labelled fields with 14px corners and a full-width navy button.
   `split.SHORTCODES` swaps that whole <form> for the Gravity shortcode, so
   the card goes with it and what is left is Gravity's Orbital theme: 3px
   corners, a hairline grey border, 14px type and its own blue.

   The card comes back on the shortcode WIDGET rather than on Gravity's
   wrapper, because the wrapper is what Gravity re-renders after a validation
   error and anything hung on it flickers on submit.

   `.c-form` itself is not reused as a .elementor-kit-5 here: the class left the page
   with the <form> it was on, and reintroducing it by hand would mean the
   design stylesheet and this file both claim to own the same box. */
.smc.smc.smc .sec .elementor-widget-shortcode:has(.gform_wrapper),.smc.smc.smc.sec .elementor-widget-shortcode:has(.gform_wrapper){background:#fff;border-radius:28px;
  padding:40px}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper .gform_fields,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper .gform_fields{row-gap:16px}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper .gfield_label,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper .gfield_label{display:block;
  font:inherit;font-size:13px;font-weight:600;margin-bottom:6px;color:#1D1D1F}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input[type=text],.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input[type=text],.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input[type=email],.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input[type=email],.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input[type=url],.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input[type=url],.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input[type=tel],.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input[type=tel],.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper textarea,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper textarea,.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper select,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper select{width:100%;
  border:1.5px solid #DDE1E8;border-width:1.5px !important;border-radius:14px;
  padding:13px 14px;font:inherit;font-size:16px;background:#fff;color:#1D1D1F;
  height:auto}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input:focus,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input:focus,.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper textarea:focus,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper textarea:focus,.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper select:focus,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper select:focus{outline:none;
  border-color:#00357A}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper textarea,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper textarea{min-height:110px;resize:vertical}
/* the design's `.c-form .btn`: full width, centred, a little air above it */
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper .gform_footer,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper .gform_footer{margin:6px 0 0;padding:0}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input[type=submit],.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input[type=submit],.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper button[type=submit],.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper button[type=submit]{width:100%;
  text-align:center;border:0;background:#00357A;color:#fff;border-radius:999px;
  padding:14px 22px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;
  height:auto}
.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper input[type=submit]:hover,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper input[type=submit]:hover,.smc.smc.smc .sec .elementor-widget-shortcode .gform_wrapper button[type=submit]:hover,.smc.smc.smc.sec .elementor-widget-shortcode .gform_wrapper button[type=submit]:hover{background:#012A61}
/* The three step cards line their pictures up with each other.

   Their paragraphs are different lengths -- step 2 runs to three lines where
   the others run to two -- so each media frame started at a different height
   and the row read as ragged. The client had already fixed it by hand in the
   builder, with a 24px spacer in step one and a 4px spacer in step three.
   That works until the copy changes, and it is lost the next time the page is
   rebuilt from source.

   This does the same thing by rule: the card is a column, the frame takes
   whatever space is left over, so the frames sit on a common baseline however
   long the text above them runs. The 20px the design puts above the frame
   moves onto the paragraph, because `margin-top:auto` absorbs it otherwise and
   the tallest card would close the gap to nothing. */
.smc.smc.smc .c-steps > .e-con{display:flex;flex-direction:column}
.smc.smc.smc .c-steps > .e-con p{margin-bottom:20px}
.smc.smc.smc .c-steps > .e-con .poster{margin-top:auto}
/* Every player's poster, put back over the player.

   Elementor lays an inline player's overlay across the frame with
   `.elementor-widget-video .elementor-open-inline
    .elementor-custom-embed-image-overlay{position:absolute;inset:0}`, three
   classes. The build's own neutraliser is four classes and sets
   `position:relative`, for the lightbox case where the overlay is the frame's
   only content and has to stay in flow to give it height. Four beats three,
   so on an inline player the overlay leaves the top of the frame and lands
   one frame-height BELOW the iframe, inside a `.poster` that hides its
   overflow. Measured on the served home page before this rule existed: the
   iframe at 0, the overlay at 299, the play button at 528, in a frame 299
   tall. All three invisible, on all 188 players that have a poster.

   Nothing in the build could see it. The tree is right, the widget settings
   are right, the computed background-image is right, and the local harness
   loads none of Elementor's stylesheets, so the reference renders the poster
   in flow and agrees with the page. It took asking the SERVED page for the
   overlay's offsetTop.

   `width`/`height:auto` undo the neutraliser's 100%, which against `inset:0`
   would size the box from the frame twice over. */
.smc.smc.smc .elementor-widget-video .elementor-open-inline
  .elementor-custom-embed-image-overlay{
  position:absolute;inset:0;width:auto;height:auto;background-size:cover}
/* The logo is a logo, not a rounded photograph.

   Elementor's Site Settings put a 14px radius on EVERY image via the kit, as
   a rule on `.elementor-kit-5 img`. On a photograph in a card that is the
   intended look; on a transparent PNG wordmark it clips the corners of the
   mark itself.

   Scoped to the two places the wordmark appears rather than changed in the
   kit, because the kit setting is what rounds every other image on the site
   and the client asked only for the logo. Four classes to the kit's one, so
   this wins without an `!important`.

   `.lp-head` is in here too: the five campaign pages carry their own slim
   header with the same wordmark in it, and leaving that one rounded would be
   the same logo treated two ways. Their footer has no logo.

   Nothing in this prose spells a comment terminator or a brace, because a
   comment ends at the FIRST terminator whatever quoting it sits in. Written
   with one quoted inline, the rest of the sentence parsed as .elementor-kit-5 text
   and the first real .elementor-kit-5 shipped with no scope prefix -- the header logo
   kept its radius while the source read as correct. */
.smc.smc.smc .c-nav .logo img,.smc.smc.smc.c-nav .logo img,.smc.smc.smc .lp-head .logo img,.smc.smc.smc.lp-head .logo img,.smc.smc.smc .c-footer .about img,.smc.smc.smc.c-footer .about img{border-radius:0}
/* Once the film is running, the frame's gradient goes with the poster.

   `.poster::after` is the design's scrim: absolute, inset 0, fading to 60%
   navy across the bottom 55% of the frame. It is there so white type holds
   over a photograph. The moment the poster clears there is no type left to
   hold, and the gradient is sitting over the picture -- across the foot of
   it, which is where Vimeo draws its scrubber and timecode.

   `smc.js` adds the class on the click that starts the film, so this reaches
   only the frame somebody actually played. `content:none` removes the
   pseudo-element rather than making it transparent, so nothing is left to
   intercept a click on the controls underneath. */
.smc.smc.smc .poster.h2e-playing::after{content:none}
/* The badge, before smc.js puts it back inside the frame.

   `poster_badge` lifts the design's `<span class="play">` out of the poster,
   because a widget cannot hold another widget, and the script moves it into
   the rendered overlay and gives it the `play` class there. Until that
   happens it must not be seen: it is a text widget sitting BELOW the frame,
   and one frame of it flashing in the wrong place on every video tile is
   worse than the problem it solves. It carries no `play` class yet, so the
   design's own `.poster .play{display:flex}` -- five classes, which nothing
   here could outrank -- simply does not match it.

   Once the script has moved it in, it is `.poster .play` inside `.poster` and
   the DESIGN positions it: 16px/14px on a card, 28px/26px on the hero and the
   photo band, its own disc sized per frame. That is why this file has no
   geometry for it at all, and why it lands correctly on a 2/1 hero, a 2.4/1
   band and a 16/9 card without a rule each. It disappears with the poster for
   free, because Elementor removes that whole subtree when the film starts. */
.smc.smc.smc .h2e-badge{display:none}
/* The buy-the-book link was navy on navy.

   The dark tile on the eight book pages leaves its URL at the site's default
   link colour, #00357A, and the tile's own background is a radial gradient
   from #001A3D to #0B3F6E. The link rendered, and was clickable, in a colour
   a reader cannot pick out of the panel behind it.

   Golden now: the same #E7D9A6 the design already gives `.more` on a dark
   tile, so the two links in that panel read as the same kind of thing. No
   chevron, though -- the design's `.more` earns its one from being a door to
   another page of the site, and a bare web address is not that.

   Hooked on `.dark`, matching the design's own `.dark .c-commit` rule rather
   than reaching for `.c-tile.dark`. Every `.c-commit` link on the site was
   checked: eight sit on a dark ancestor and are exactly these, and the ninth
   is the press office address on white, which is not a descendant of `.dark`
   and stays navy.

   This outranks the builder's own link-colour control, which the design's
   scoped `a` rule already did before this was written -- three classes and an
   element against the panel's three classes. So it takes nothing away that
   the client had. */
.smc.smc.smc .dark .c-commit a{color:#E7D9A6}
/* A card whose link is gone should not act like one.

   The converter unlinks a card whose destination is not published yet --
   an article or a film page that does not exist -- rather than sending it to
   a different page. The card keeps its content and its own call to action
   is removed, but the design's hover lift would still announce a link: the
   card rises and casts a shadow under the pointer and then does nothing
   when clicked.

   The class is doubled so this outranks the design's plain hover rule and
   its stagger variant by specificity alone, whichever order they arrive in.
   It goes away by itself: once the page is published the next build leaves
   the card linked and never adds the class. */
.smc.smc.smc .h2e-unlinked.h2e-unlinked:hover,.smc.smc.smc .stagger.in>.h2e-unlinked.h2e-unlinked:hover{transform:none;box-shadow:none}
/* The on-this-page links read as links.

   The design sets the jump links under a page heading -- What is inside, Who
   it is for, Where it fits, Questions, and their equivalents on 42 pages --
   in the body text colour at 82 percent opacity, so they sat in the page as a
   line of grey text and nothing said they could be clicked. Gold now, at the
   client's request, to match the other gold links on the site.

   Not the gold those links use. That is #E7D9A6, drawn for the dark tiles, and
   on this #F5F6F8 background it measures 1.31 to 1: gone. The design's own
   gold for light grounds, #9A7B2F on its kicker labels, measures 3.70 to 1,
   short of the 4.5 that 14px text needs. This is that same hue taken down
   until it clears, 4.68 to 1, and a step deeper on hover, 6.52 to 1, where it
   also underlines like every other link on the site. Opacity back to full, or
   the 82 percent would wash the gold out again. */
.smc.smc.smc .subnav a{color:#866B29;opacity:1}
.smc.smc.smc .subnav a:hover{color:#6B5621;opacity:1;text-decoration:underline}
/* A button row followed by a list of links is two groups, not one.

   The book pages' "Where it fits" tile puts a row of calls to action --
   Get your free score, What we do -- directly above a short list of links,
   the list carrying the design's utility class for a 12px top margin. The
   row sits 20px under the paragraph before it and the list only 12px under
   the row, so the eye groups the list WITH the buttons, and the gold "What
   we do" reads as the first entry of the list. The client reported exactly
   that. 32px separates them more clearly than the paragraph and the row are
   separated, which is what makes the row read as its own group.

   Two forms. In the source the list is the row's next sibling; as built, the
   list sits inside a text widget, and the widget is the sibling. The second
   form outranks the design's single-class utility rule by specificity. */
.smc.smc.smc .doors + ul,.smc.smc.smc .doors + .elementor-widget > ul{margin-top:32px}
/* Landing pages: the testimonial quote fits its frame, at every width.

   The five campaign pages set their feature block in an 860px column, so its
   quote frame is 354px wide on desktop and 283px on a phone -- much smaller
   than the frames the design sized this type for. The quote is
   clamp(19px, 1.9vw, 26px): it grows with the WINDOW, while the frame stays
   put. Measured on the served pages at 1440, 1280, 1024, 768, 390 and 360px,
   three of the five quotes were taller than their frame at 1440 -- the longest,
   157 characters, ran 35px past the top and into the name under it -- and the
   same three touched or ran into the caption on a phone. Nothing else on
   these pages clipped or overlapped at any width.

   Type alone cannot fix it: fitting 157 characters into a 283 by 159 frame
   takes about 12px, too small to read. So the frame may grow. The image and
   the quote share one grid cell and the caption has a row of its own under
   them; the image spans both rows at 16:9, which makes 16:9 the frame's
   MINIMUM, and a quote that needs more room makes it taller instead of being
   cut off. The quote is sized in container units -- to the frame, not the
   window -- between 16 and 24px, and the caption row guarantees a clear gap
   above the caption however many lines it wraps to. On desktop all five keep
   exactly 16:9; only the long quotes grow, and only on a phone.

   Scoped to lp, the class the landing pages' top-level element carries, so no
   other page's frames change. */
.smc.smc.smc .lp .c-feature .poster,.smc.smc.smc.lp .c-feature .poster{display:grid;grid-template-rows:1fr auto;
  aspect-ratio:auto;container-type:inline-size}
.smc.smc.smc .lp .c-feature .poster img,.smc.smc.smc.lp .c-feature .poster img{grid-area:1/1/3/2;width:100%;height:100%;
  aspect-ratio:16/9;object-fit:cover}
.smc.smc.smc .lp .c-feature .poster .mono.q,.smc.smc.smc.lp .c-feature .poster .mono.q{grid-area:1/1;position:relative;inset:auto;
  padding:24px 24px 12px;font-size:clamp(16px,5.4cqi,24px)}
.smc.smc.smc .lp .c-feature .poster .cap,.smc.smc.smc.lp .c-feature .poster .cap{grid-area:2/1;position:relative;inset:auto;
  justify-self:end;max-width:calc(100% - 32px);margin:0 16px 16px}
/* ...and on a PHOTOGRAPH, the quote sits low, clear of the face.

   A drawn frame has nothing under the words, so the quote stays centred. A
   photograph has a face in its upper half, and a centred quote lands on it:
   the bankruptcy frame, the only landing-page frame with a photo, showed the
   word two on the founder's cheek at 360px. So on a photo frame -- the ones
   carrying graded, the overlay only photographs get -- the quote is anchored
   to the bottom of its row, just above the caption.

   On the narrowest phones that is not enough: the long caption wraps to three
   lines, the frame grows to fit, and the quote's row is exactly the quote's
   height, so there is nowhere lower to go. Below 320px of frame the photo's
   minimum shape becomes 4:3, and below 280px a square, held at 75% across so
   the head stays in frame. Measured on the served page: the quote lands
   between 42 and 76% down at 320 to 375px, 60 to 72% from 390px up. */
.smc.smc.smc .lp .c-feature .poster.graded .mono.q,.smc.smc.smc.lp .c-feature .poster.graded .mono.q{align-items:flex-end}
@container (max-width:320px){.smc.smc.smc .lp .c-feature .poster.graded img,.smc.smc.smc.lp .c-feature .poster.graded img{aspect-ratio:4/3}}
@container (max-width:280px){.smc.smc.smc .lp .c-feature .poster.graded img,.smc.smc.smc.lp .c-feature .poster.graded img{aspect-ratio:1/1;object-position:75% 50%}}
/* The page heading's links stay on the right, however long the title.

   The design's first section is a wrapping flex row: the title and intro in
   one block, "The video library" and "Get your free score" in a side column.
   The block was sized to its content, and a heading's content width is the
   whole title on ONE line -- so a short title left room for the links beside
   it and a long one filled the row and pushed them underneath, flush left.
   Measured across all 80 pages that carry this section, at 1440 seven broke
   that way: five video pages with long titles, the CRM and the Google
   Business Profile service pages. The other 73 kept the links on the right.

   Letting the block shrink to the space the links leave means a long title
   wraps inside it instead of shoving them down. Only above 820px, where the
   design puts the links on the right; below it the design's own stacked
   layout, which left-aligns them for that width, is left exactly as it was.
   On the pages that already looked right nothing moves: the links were
   already pinned to the right edge and the block's text is left-aligned. */
@media (min-width:821px){.smc.smc.smc .page-head > div:not(.side),.smc.smc.smc .page-head > .elementor-widget > div:not(.side){flex:1 1 0;min-width:0}}
/* /tools/ only: "Available on request" is a button at the foot of every card.

   The desk cards on the tools page each end in that button now, and their
   descriptions run from one line to four, so a button placed after the copy
   would sit at a different height in every card of a row. The card is a
   column; the button takes the free space above it, which pins it to the
   foot, and align-self keeps it the width of its own label instead of the
   card's. The description keeps 20px under it, so in the card with the longest
   copy -- where there is no free space to take -- the button still clears it.

   tool-card is this page's own class, added with the button in split.py, so
   no other card on the site changes. Two forms: in the source the button is
   the card's child; as built its widget wrapper is folded out of the layout
   and the link inside is what the card lays out. */
.smc.smc.smc .tool-card{display:flex;flex-direction:column}
.smc.smc.smc .tool-card > .btn,.smc.smc.smc .tool-card > .btn > .elementor-button{margin-top:auto;align-self:flex-start}
.smc.smc.smc .tool-card > p:has(+ .btn),.smc.smc.smc .tool-card > .elementor-widget-text-editor:has(+ .btn) > p:last-child{margin-bottom:20px}
/* /research/ "Three findings": every "The finding" on one line.

   The three cards stretch to one height, but their descriptions run two and
   three lines and the label followed the copy, so it sat 22px higher in the
   card with the shorter text. The card is already a column; the label takes
   the free space above it and rests on the card's padding in all three. The
   description keeps the design's 14px beneath it, so the card with the most
   text looks exactly as drawn. findings is this section's own class, so the
   same card grid on other pages is untouched. */
.smc.smc.smc .c-help.findings .more{margin-top:auto}
.smc.smc.smc .c-help.findings p{margin-bottom:14px}
/* /results/ "In their words": names, firms and links on shared lines.

   The card is a column and the design pins only its link to the bottom, so
   the name and firm followed each quote and landed at a different height on
   every card. Pinning the name block to the foot as well is not enough: one
   card has no firm line and another's wraps to two on a phone, so bottom-
   aligned blocks still put the names at different heights.

   So the cards share one grid. The rail's track gets four rows -- avatar,
   quote, name and firm, link -- and each card spans all four as a subgrid,
   which sizes every row once for all the cards: the names sit on one line,
   the firm lines on the next, the links on the card's foot, and the design's
   18px under the longest quote is kept. Measured at 1440, 1024 and 390 on the
   served page. results-words is this page's own hook; the same cards on seven
   other pages are untouched. */
.smc.smc.smc .results-words .c-rail .track,.smc.smc.smc.results-words .c-rail .track{grid-template-rows:repeat(4,auto)}
.smc.smc.smc .results-words .c-quote,.smc.smc.smc.results-words .c-quote{display:grid;grid-template-rows:subgrid;
  grid-row:span 4;align-content:start}
.smc.smc.smc .results-words .c-quote .more,.smc.smc.smc.results-words .c-quote .more{margin-top:0}
/* /results/ "By the numbers": five boxes fill the row.

   The design's stat grid is six columns, drawn for six figures; with five the
   row ended in an empty slot. As a wrapping row instead, each box takes an
   equal share: all five across on desktop, and on the design's own narrower
   steps -- three, then two per row -- the boxes of the last row share its
   width rather than leaving holes. The 12px gap is the design's. */
.smc.smc.smc .c-specs.specs-fill{display:flex;flex-wrap:wrap}
.smc.smc.smc .c-specs.specs-fill > li{flex:1 1 0;min-width:0}
@media (max-width:1080px){.smc.smc.smc .c-specs.specs-fill > li{flex:1 1 calc((100% - 24px) / 3)}}
@media (max-width:600px){.smc.smc.smc .c-specs.specs-fill > li{flex:1 1 calc((100% - 12px) / 2)}}
/* /engagement/ "Before you book": two cards to a row on desktop (pin #9).

   Four expandable cards in four 276px columns wrapped their titles to one,
   two and three lines, so the row read as ragged even at equal heights. The
   design already puts this grid in two columns below 1080px; this section
   keeps that on desktop too, where every title fits on its line. before-book
   is this section's own hook. */
.smc.smc.smc .g4.before-book{grid-template-columns:repeat(2,1fr)}
@media (max-width:600px){.smc.smc.smc .g4.before-book{grid-template-columns:1fr}}
/* /research/: land on "What it found", not below it (pin #62).

   /insights/ and other pages link each finding by its card id. The three
   cards share one row at every width, 53 to 117px under the section heading,
   and a jump put the card at the very top under the 57px sticky header, so
   the heading was out of sight. 200px lands the heading just below the
   header on a phone and with some air on desktop. */
.smc.smc.smc #fails,.smc.smc.smc #signals,.smc.smc.smc #traffic{scroll-margin-top:200px}
/* /the-foundation/ "Results in this area": the clients' own photographs
   (pin #57).

   Each tile centres a big figure or a pulled quote, and in every still the
   face fills the middle, so centred type would sit on a face. The crops put
   the face in the right half (out/clientcrops.py); here the type moves into
   the left half over a left-to-right scrim, sized to the tile rather than the
   window, so it fits the same at every width. client-photo is set only on
   these three frames, by imagemap.py. */
.smc.smc.smc .poster.client-photo{container-type:inline-size}
.smc.smc.smc .poster.client-photo::after{background:linear-gradient(90deg,
  rgba(0,26,61,.9) 0%,rgba(0,26,61,.74) 36%,rgba(0,26,61,.2) 60%,
  rgba(0,26,61,0) 74%)}
.smc.smc.smc .poster.client-photo .mono{justify-content:flex-start;text-align:left;
  max-width:none;margin:0;padding:6cqi 50% 13cqi 6cqi}
.smc.smc.smc .poster.client-photo .mono.big{font-size:10cqi}
.smc.smc.smc .poster.client-photo .mono.q{font-size:max(13px,4.4cqi);line-height:1.3}
.smc.smc.smc .poster.client-photo .cap{left:6cqi;right:auto;bottom:5cqi}
/* The four case files, "In their words": the quote at the page's own scale
   (pin #38).

   The design sets a client's quote at 16px with 13-14px name lines, beside a
   card whose heading is 21px, so a short line like "It really exploded." read
   as small print. The quote now takes the lede's size, 17px on a phone rising
   to 21px, and the name lines step up to match. case-words is set on the four
   case files only; the quote rail on /results/ keeps its own size. */
.smc.smc.smc .case-words .c-quote p,.smc.smc.smc.case-words .c-quote p{font-size:clamp(17px,1.5vw,21px);line-height:1.4;
  font-weight:500;letter-spacing:-.01em}
.smc.smc.smc .case-words .c-quote .who b,.smc.smc.smc.case-words .c-quote .who b{font-size:16px}
.smc.smc.smc .case-words .c-quote .who span,.smc.smc.smc.case-words .c-quote .who span{font-size:14px}
/* Bottom directories: the "big" link reads like the others (the client,
   2026-09-29, every page).

   The design sets the first link of some directory lists -- "Ninety seconds"
   and "Three minutes" on every video page, "All results", "Pricing" and the
   like elsewhere, 76 pages -- at 19px and semibold. The client wants those
   lists even, but asked to keep the `big` class on the markup, so the size,
   weight and tracking go back to what the list item gives every other link:
   15px, regular. */
.smc.smc.smc .c-directory li.big a{font-size:inherit;font-weight:inherit;letter-spacing:inherit}


/* ---- design rules for a card anchor, re-aimed at the container that replaced it ---- */
.smc.smc.smc .c-help .e-con{background:#fff;border-radius:22px;padding:36px 30px;text-align:center;color:inherit;display:flex;flex-direction:column;align-items:center;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.smc.smc.smc .c-help .e-con:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(0,26,61,.10);text-decoration:none}
.smc.smc.smc .c-help .e-con:hover .more{text-decoration:underline}


/* ---- design rules for a list item, re-aimed at the container that replaced it ---- */
.smc.smc.smc .c-steps > .e-con{background:#fff;border-radius:22px;padding:32px 28px}


/* ---- design classes relayed to .elementor-button ---- */
.smc.smc.smc .btn .elementor-button{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:12px 22px;font-size:16px;font-weight:500;line-height:1.2;border:0;cursor:pointer}
.smc.smc.smc .btn:hover .elementor-button{text-decoration:none;background:#002B5C}
.smc.smc.smc .btn.light .elementor-button{background:#fff;color:#00357A}
.smc.smc.smc .btn.light:hover .elementor-button{background:#F5EFDC}
.smc.smc.smc .btn.gold .elementor-button{background:#CFB360;color:#001A3D}
.smc.smc.smc .btn.gold:hover .elementor-button{background:#C2A44C}
.smc.smc.smc .btn.sm .elementor-button{padding:9px 18px;font-size:15px}
.smc.smc.smc .more .elementor-button{font-size:16px}
.smc.smc.smc .more .elementor-button::after{content:" \203A";white-space:nowrap}
.smc.smc.smc .c-nav .pill .elementor-button{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap}
.smc.smc.smc.c-nav .pill .elementor-button{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap}
.smc.smc.smc .c-nav .pill:hover .elementor-button{text-decoration:none;background:#002B5C}
.smc.smc.smc.c-nav .pill:hover .elementor-button{text-decoration:none;background:#002B5C}
.smc.smc.smc .c-title .more .elementor-button{font-size:16px;white-space:nowrap}
.smc.smc.smc .c-media:hover .more .elementor-button{text-decoration:underline}
.smc.smc.smc .c-media .more .elementor-button{margin-top:auto;padding-top:8px;font-size:14.5px}
.smc.smc.smc .c-tile .more .elementor-button{font-size:15px}
.smc.smc.smc .c-tile.dark .more .elementor-button{color:#E7D9A6}
.smc.smc.smc .c-feature .more .elementor-button{color:#E7D9A6;display:inline-block;margin-top:18px}
.smc.smc.smc .c-quote .more .elementor-button{margin-top:auto;padding-top:14px;font-size:14.5px}
.smc.smc.smc .c-seg .on .elementor-button{background:#00357A;color:#fff}
.smc.smc.smc .c-panes .pane.on .elementor-button{opacity:1;transform:none;pointer-events:auto;visibility:visible}
.smc.smc.smc .compare.warm .c-seg .on .elementor-button{background:#9A7B2F}
.smc.smc.smc .c-chips .on .elementor-button{background:#001A3D;color:#fff}
.smc.smc.smc .c-help a:hover .more .elementor-button{text-decoration:underline}
.smc.smc.smc .c-help .more .elementor-button{margin-top:14px;font-size:15px;color:#00357A}
.smc.smc.smc .c-form .btn .elementor-button{width:100%;text-align:center;margin-top:6px}
.smc.smc.smc .c-strip.inpage .on .elementor-button{color:#00357A}
.smc.smc.smc.c-strip.inpage .on .elementor-button{color:#00357A}
.smc.smc.smc .c-strip.inpage .on svg{stroke:#00357A;stroke-width:1.9}
.smc.smc.smc.c-strip.inpage .on svg{stroke:#00357A;stroke-width:1.9}
.smc.smc.smc .lp-head .pill .elementor-button{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;white-space:nowrap}
.smc.smc.smc.lp-head .pill .elementor-button{display:inline-block;background:#00357A;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;white-space:nowrap}
.smc.smc.smc .lp-head .pill:hover .elementor-button{text-decoration:none;background:#002B5C}
.smc.smc.smc.lp-head .pill:hover .elementor-button{text-decoration:none;background:#002B5C}
.smc.smc.smc .c-footer .btn .elementor-button{color:#fff}
.smc.smc.smc.c-footer .btn .elementor-button{color:#fff}
.smc.smc.smc .c-footer .btn:hover .elementor-button{color:#fff}
.smc.smc.smc.c-footer .btn:hover .elementor-button{color:#fff}
.smc.smc.smc .tool-card > .btn .elementor-button{margin-top:auto;align-self:flex-start}
.smc.smc.smc .tool-card > p:has(+ .btn) .elementor-button{margin-bottom:20px}
.smc.smc.smc .c-help.findings .more .elementor-button{margin-top:auto}
.smc.smc.smc .results-words .c-quote .more .elementor-button{margin-top:0}
.smc.smc.smc.results-words .c-quote .more .elementor-button{margin-top:0}
@media (max-width:820px){.smc.smc.smc .c-nav .pill .elementor-button{display:none}.smc.smc.smc.c-nav .pill .elementor-button{display:none}.smc.smc.smc .c-nav.open .pill .elementor-button{display:none}.smc.smc.smc.c-nav.open .pill .elementor-button{display:none}}


/* ---- design classes relayed to svg ---- */
.smc.smc.smc .hero .icon svg{width:46px;height:46px;margin:0 auto 20px;stroke:#00357A;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.smc.smc.smc.hero .icon svg{width:46px;height:46px;margin:0 auto 20px;stroke:#00357A;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}


/* ---- design accordion rules, re-aimed at the nested accordion ---- */
.smc.smc.smc .c-qa .e-n-accordion-item{border-top:1px solid #ECEEF2}
.smc.smc.smc .c-qa .e-n-accordion-item:first-child{border-top:0}
.smc.smc.smc .c-qa .e-n-accordion-item.first{border-top:0}
.smc.smc.smc .c-qa .e-n-accordion-item[hidden]{display:none}
.smc.smc.smc .c-qa .e-n-accordion-item .e-n-accordion-item-title{width:100%;background:none;border:0;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:17px;font-weight:500;cursor:pointer;line-height:1.3}
.smc.smc.smc .c-qa .e-n-accordion-item .e-n-accordion-item-title-icon{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#E7E9EE;position:relative}
.smc.smc.smc .c-qa .e-n-accordion-item[open] .ans{grid-template-rows:1fr}
.smc.smc.smc .c-expand .e-n-accordion-item .e-n-accordion-item-title{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 26px}
.smc.smc.smc .c-expand .e-n-accordion-item .e-n-accordion-item-title::-webkit-details-marker{display:none}
.smc.smc.smc .c-expand .e-n-accordion-item .e-n-accordion-item-title h3{font-size:19px;line-height:1.2;letter-spacing:-.015em;font-weight:600}
.smc.smc.smc .c-expand .e-n-accordion-item .e-n-accordion-item-title p{font-size:14.5px;color:#6E6E73;margin-top:6px;line-height:1.45}
.smc.smc.smc .c-expand .e-n-accordion-item .e-n-accordion-item-title-icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#001A3D;position:relative;margin-top:2px}


/* ---- design classes relayed to .elementor-heading-title ---- */
.smc.smc.smc .h-page .elementor-heading-title{font-size:clamp(36px,4.8vw,60px);line-height:1.04;letter-spacing:-.03em;font-weight:600}
.smc.smc.smc .h-sec .elementor-heading-title{font-size:clamp(30px,3.6vw,46px);line-height:1.08;letter-spacing:-.025em;font-weight:600}


/* ---- inline style attributes lifted off containers ---- */
.smc.smc.smc .h2e-inline-about-1 img{object-position:50% 40%}
.smc.smc.smc .h2e-inline-about-2 img{object-position:50% 26%}
.smc.smc.smc .h2e-inline-about-3 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-bankruptcy-4 img{object-position:50% 34%}
.smc.smc.smc .h2e-inline-book-a-call-5{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.smc.smc.smc .h2e-inline-book-the-champion-6 img{object-position:50% 26%}
.smc.smc.smc .h2e-inline-book-the-first-voice-7 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-book-the-shape-of-the-relief-8 img{object-position:50% 38%}
.smc.smc.smc .h2e-inline-book-the-trust-frame-9 img{object-position:50% 40%}
.smc.smc.smc .h2e-inline-books-10 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-compare-11 img{object-position:50% 42%}
.smc.smc.smc .h2e-inline-criminal-defense-12 img{object-position:50% 34%}
.smc.smc.smc .h2e-inline-family-law-13 img{object-position:50% 28%}
.smc.smc.smc .h2e-inline-glossary-14{grid-template-columns:repeat(3,1fr)}
.smc.smc.smc .h2e-inline-guarantee-15 img{object-position:50% 14%}
.smc.smc.smc .h2e-inline-immigration-16 img{object-position:50% 38%}
.smc.smc.smc .h2e-inline-index-17 .elementor-heading-title{font-size:clamp(24px,2.6vw,32px);margin-bottom:22px}
.smc.smc.smc .h2e-inline-insights-18 img{object-position:50% 42%}
.smc.smc.smc .h2e-inline-insights-19{margin:0;padding:0;border:0}
.smc.smc.smc .h2e-inline-lp-bankruptcy-20 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-lp-criminal-defense-21 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-lp-family-law-22 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-lp-immigration-23 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-lp-personal-injury-24 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-nacdl-25 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-personal-injury-26 img{object-position:50% 28%}
.smc.smc.smc .h2e-inline-press-27 img{object-position:50% 40%}
.smc.smc.smc .h2e-inline-pricing-28 img{object-position:50% 34%}
.smc.smc.smc .h2e-inline-requested-29 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-research-30 img{object-position:50% 46%}
.smc.smc.smc .h2e-inline-research-31 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-results-32 img{object-position:50% 40%}
.smc.smc.smc .h2e-inline-scorecard-33 img{object-position:50% 20%}
.smc.smc.smc .h2e-inline-sitemap-34{grid-template-columns:repeat(4,1fr)}
.smc.smc.smc .h2e-inline-social-media-35 img{object-position:50% 34%}
.smc.smc.smc .h2e-inline-team-36 img{object-position:50% 20%}
.smc.smc.smc .h2e-inline-tools-37 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-38 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-39 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-40 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-41 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-42 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-43 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-tools-44 .elementor-heading-title{margin-top:6px}
.smc.smc.smc .h2e-inline-trust-frame-45 img{object-position:50% 36%}
.smc.smc.smc .h2e-inline-trust-frame-46 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-video-production-47 img{object-position:50% 22%}
.smc.smc.smc .h2e-inline-video-production-48 img{object-position:50% 34%}
.smc.smc.smc .h2e-inline-video-production-49 img{object-position:50% 25%}
.smc.smc.smc .h2e-inline-videos-50 img{object-position:50% 30%}
.smc.smc.smc .h2e-inline-videos-51 img{object-position:50% 20%}

/* ---- per-page chrome, keyed on WordPress's body class ---- */
body.page-id-81 .c-nav .menu a[href="/about/"]{opacity:1;font-weight:600}
body.page-id-91 .c-strip{display:none}
body.page-id-413 .c-nav .menu a[href="/results/"]{opacity:1;font-weight:600}
body.page-id-401 .c-nav .menu a[href="/who-we-serve/"]{opacity:1;font-weight:600}
body.page-id-423 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-422 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-419 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-417 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-418 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-421 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-420 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-416 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-403 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-427 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-406 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-424 .c-strip{display:none}
body.page-id-67 .c-nav .menu a[href="/who-we-serve/"]{opacity:1;font-weight:600}
body.page-id-435 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-431 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-396 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-69 .c-nav .menu a[href="/who-we-serve/"]{opacity:1;font-weight:600}
body.page-id-407 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-432 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-440 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-72 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-70 .c-nav .menu a[href="/who-we-serve/"]{opacity:1;font-weight:600}
body.page-id-82 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-436 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-433 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-402 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-411 .c-nav .menu a[href="/results/"]{opacity:1;font-weight:600}
body.page-id-405 .c-nav .menu a[href="/about/"]{opacity:1;font-weight:600}
body.page-id-68 .c-nav .menu a[href="/who-we-serve/"]{opacity:1;font-weight:600}
body.page-id-442 .c-nav .menu a[href="/about/"]{opacity:1;font-weight:600}
body.page-id-397 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-89 .c-strip{display:none}
body.page-id-439 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-410 .c-strip{display:none}
body.page-id-79 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-76 .c-nav .menu a[href="/results/"]{opacity:1;font-weight:600}
body.page-id-434 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-438 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-414 .c-nav .menu a[href="/results/"]{opacity:1;font-weight:600}
body.page-id-71 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-425 .c-strip{display:none}
body.page-id-429 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-395 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-404 .c-strip{display:none}
body.page-id-430 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-441 .c-nav .menu a[href="/about/"]{opacity:1;font-weight:600}
body.page-id-90 .c-strip{display:none}
body.page-id-64 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-63 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-65 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-62 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-66 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-408 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-437 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-61 .c-nav .menu a[href="/trust-frame/"]{opacity:1;font-weight:600}
body.page-id-1240 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1241 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1242 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1243 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1244 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1245 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1246 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-409 .c-strip{display:none}
body.page-id-409 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-1247 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1248 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1249 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1250 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1251 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1252 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1253 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1254 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1255 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1256 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1257 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1258 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1259 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1260 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1261 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1262 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1263 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1264 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1265 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1266 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-1267 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-398 .c-nav .menu a[href="/videos/"]{opacity:1;font-weight:600}
body.page-id-426 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-428 .c-nav .menu a[href="/services/"]{opacity:1;font-weight:600}
body.page-id-400 .c-nav .menu a[href="/who-we-serve/"]{opacity:1;font-weight:600}
body.page-id-415 .c-nav .menu a[href="/results/"]{opacity:1;font-weight:600}/* End custom CSS */