/* css/site.css */
img{height:auto}@font-face{font-family:Poppins;src:url('../assets/fonts/poppins-400.woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('../assets/fonts/poppins-500.woff2');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url('../assets/fonts/poppins-600.woff2');font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url('../assets/fonts/poppins-700.woff2');font-weight:700;font-display:swap}
:root{--ink:#24232b;--slate:#413f54;--paper:#f6f6f6;--white:#fff;--orange:#f6521b;--salmon:#fc885b;--line:#dcdbe0;--muted:#64616d;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 Poppins,Arial,sans-serif}button,input,summary{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.12;letter-spacing:-.055em}h1{font-size:clamp(44px,5.3vw,76px)}h2{font-size:clamp(38px,4.3vw,62px)}h3{font-size:26px;letter-spacing:-.035em}p{max-width:62ch}a{text-underline-offset:5px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin-bottom:22px}.eyebrow::before{content:'';width:7px;height:7px;flex:0 0 7px;background:var(--orange);border-radius:50%}.muted{color:var(--muted)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-head>p{max-width:30ch;font-size:14px;color:var(--muted)}.text-link{text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-flex;gap:24px;align-items:center;font-size:14px;font-weight:500}.text-link span,.button span{transition:transform .25s var(--ease)}.text-link:hover span,.button:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 22px;border-radius:5px;border:1px solid transparent;background:var(--slate);color:var(--white);font-size:13px;font-weight:500;text-decoration:none;min-height:50px;transition:background .2s,color .2s,transform .2s}.button:hover{background:#565369}.button:active{transform:scale(.97)}.button.orange{background:var(--orange);color:#17151b}.button.orange:hover{background:var(--salmon)}.button.outline{border-color:#bcbac4;color:var(--ink);background:transparent}.skip{position:fixed;left:20px;top:-100px;z-index:500;padding:12px 20px;background:white}.skip:focus{top:12px}
/* Standalone Brizy navigation module. */
.lm-nav{position:fixed;top:26px;left:50%;transform:translateX(-50%);width:min(1184px,calc(100% - 64px));z-index:100;font-family:Poppins,Arial,sans-serif;color:white}.lm-nav-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(110deg,#302e3b,#413f54 55%,#292733);border:1px solid #65616f;border-radius:36px;min-height:68px;padding:10px 13px 10px 24px;box-shadow:0 5px 18px #17151b1c,inset 0 1px 0 #ffffff16}.lm-nav-brand{display:block;width:166px;padding:10px 0}.lm-nav-brand img{width:100%;height:auto}.lm-nav-links{display:flex;gap:30px;align-items:center}.lm-nav-links a{text-decoration:none;font-size:12px;color:#e6e5eb;transition:color .2s}.lm-nav-links a:hover{color:var(--salmon)}.lm-nav .lm-nav-cta{font-size:12px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:26px;border:1px solid #8b8798;padding:11px 17px;border-radius:5px;color:white;transition:background .2s,color .2s}.lm-nav .lm-nav-cta:hover{background:var(--salmon);border-color:var(--salmon);color:#17151b}.lm-nav-toggle{display:none;background:transparent;border:1px solid #797584;color:white;border-radius:5px;padding:9px 12px;min-height:44px}.lm-nav a:focus-visible,.lm-nav button:focus-visible{outline:3px solid #fc885b;outline-offset:4px}.lm-nav-mobile{display:none;margin-top:8px;padding:18px;background:#413f54;border-radius:14px;box-shadow:0 15px 30px #24232b26}.lm-nav-mobile a{display:block;color:white;padding:11px;text-decoration:none}.lm-nav-mobile[hidden]{display:none!important}
.hero{padding-top:140px;padding-bottom:76px}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}.hero-copy{padding-block:30px}.hero .eyebrow{margin-bottom:30px}.hero h1{max-width:10ch}.hero h1 .subline{display:block;color:var(--slate);margin-top:16px}.hero p{font-size:17px;line-height:1.75;max-width:36ch;margin:28px 0}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-note{font-size:11px;color:var(--muted);margin-top:28px;letter-spacing:.02em}.hero-art{position:relative;aspect-ratio:4/5;isolation:isolate;overflow:hidden;border-radius:6px;background:#dad7d0}.hero-art>.landscape{width:100%;height:100%;object-fit:cover}.hero-art>.screen-logo{position:absolute;left:38%;top:44.6%;width:21%;height:auto;transform:rotate(-.2deg);mix-blend-mode:multiply}.art-caption{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;color:white;font-size:10px;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 1px 6px #000}.art-caption i{width:7px;height:7px;border-radius:50%;background:#fc885b}.hero-foot{border-top:1px solid var(--line);margin-top:62px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.work-section{background:white}.work-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:24px}.work-card{text-decoration:none;min-width:0}.work-media{position:relative;overflow:hidden;aspect-ratio:4/4.4;border-radius:5px;background:#ddd}.work-card:nth-child(2){margin-top:70px}.work-card:nth-child(3){margin-top:140px}.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.work-card:hover img{transform:scale(1.035)}.work-card:first-child img{object-position:55% center}.work-arrow{position:absolute;bottom:16px;right:16px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--ink);font-size:20px}.work-meta{display:flex;align-items:center;justify-content:space-between;margin-top:22px;gap:14px}.work-meta h3{font-size:23px}.work-card p{font-size:11px;color:var(--muted);margin-top:9px}.work-index{font-size:10px;color:var(--muted)}.reel-band{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:60px;border-top:1px solid var(--line);padding-top:60px;margin-top:72px}.reel-band h3{font-size:34px;max-width:15ch}.reel-band p{font-size:13px;margin-top:18px;color:var(--muted)}.reel-player{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:5px;background:#24232b}.reel-player video{display:block;width:100%;height:100%;object-fit:cover}.reel-fallback{font-size:12px;margin-top:12px}.reel-player button{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:white;background:#24232b12;border:0;width:100%;font-size:12px;letter-spacing:.08em}.reel-player button[hidden]{display:none}.play-circle{width:62px;height:62px;display:grid;place-items:center;border:1px solid #ffffff91;border-radius:50%;background:#ffffff1a;backdrop-filter:blur(6px);font-size:18px}.reel-note{font-size:10px;letter-spacing:.04em;margin-top:10px;color:var(--muted)}
/* Standalone Brizy services module. */
.lm-services{font-family:Poppins,Arial,sans-serif;background:#24232b;color:#f6f6f6;padding:100px 0}.lm-services-inner{width:min(1280px,calc(100% - 96px));margin:auto}.lm-services h2{font-size:clamp(38px,4.3vw,62px);line-height:1.12;letter-spacing:-.055em;font-weight:600;margin:0}.lm-services .eyebrow{color:#c2bfca}.lm-services-intro{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:50px}.lm-services-intro>p{max-width:30ch;font-size:13px;line-height:1.8;color:#c2bfca;margin:0}.lm-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lm-service{position:relative;background:#2d2b35;border:1px solid #48454f;border-radius:7px;padding:29px;min-width:0;transition:background .35s,color .35s,border-color .35s,transform .35s;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));color:#f6f6f6}.lm-service:hover,.lm-service:focus-within{background:#f2e8d5;color:#24232b;border-color:#f2e8d5}.lm-service-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;opacity:.8}.lm-service-art{height:215px;display:grid;place-items:center;margin:16px 0 10px}.lm-service-art svg{width:100%;max-height:215px;overflow:visible;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linejoin:round}.lm-service-art .accent{stroke:#f6521b;fill:#f6521b}.lm-service-art .accent-line{stroke:#f6521b}.lm-service-art .fine{opacity:.28}.lm-service h3{font-size:26px;line-height:1.15;letter-spacing:-.035em;font-weight:600;margin:0 0 16px}.lm-service>p{font-size:13px;line-height:1.85;min-height:95px;margin:0;color:inherit}.lm-service details{border-top:1px solid currentColor;padding-top:18px;margin-top:22px}.lm-service summary{cursor:pointer;list-style:none;font-size:12px;font-weight:500;display:flex;justify-content:space-between;align-items:center;min-height:44px}.lm-service summary::-webkit-details-marker{display:none}.lm-service summary::after{content:'+';font-size:20px}.lm-service details[open] summary::after{content:'−'}.lm-service details p{font-size:12px;line-height:1.8;margin:18px 0}.lm-service details a{display:inline-flex;font-size:12px;color:inherit;text-underline-offset:5px;padding:8px 0}.lm-service .layer{transition:transform .7s var(--ease)}.lm-service:hover .layer-one,.lm-service:focus-within .layer-one{transform:translateY(-9px)}.lm-service:hover .layer-two,.lm-service:focus-within .layer-two{transform:translateY(8px)}.lm-service:hover .orbit,.lm-service:focus-within .orbit{animation:lm-orbit 6s linear infinite;transform-origin:160px 108px}.lm-service:hover .dot,.lm-service:focus-within .dot{animation:lm-pulse 1.8s ease-in-out infinite}.lm-services-foot{font-size:12px;color:#c2bfca;margin-top:30px!important}.lm-services-foot a{color:white;text-underline-offset:4px}.lm-service a:focus-visible,.lm-service summary:focus-visible{outline:3px solid #f6521b;outline-offset:5px}@keyframes lm-orbit{to{transform:rotate(360deg)}}@keyframes lm-pulse{50%{opacity:.35}}
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}.about-intro{font-size:22px;line-height:1.6;letter-spacing:-.035em}.about-copy p{font-size:14px;margin-bottom:24px}.signature{display:flex;align-items:center;gap:16px;margin-top:38px}.signature-mark{width:48px;height:48px;background:var(--orange);border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:18px;color:#18161d}.signature strong{display:block;font-size:13px}.signature span{font-size:11px;color:var(--muted)}
/* Standalone Brizy process module. */
.lm-process{background:#eeedef;color:#24232b;padding:100px 0;font-family:Poppins,Arial,sans-serif}.lm-process-inner{width:min(1280px,calc(100% - 96px));margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:start}.lm-process-heading{position:sticky;top:145px}.lm-process h2{font-size:clamp(38px,4.3vw,62px);font-weight:600;letter-spacing:-.055em;line-height:1.12;margin:0 0 24px}.lm-process-heading>p{font-size:14px;max-width:31ch;line-height:1.8;margin:0}.lm-process-stack{display:flex;flex-direction:column;gap:12px}.lm-process-panel{border-radius:5px;padding:30px 32px;overflow:hidden;background:#fff}.lm-process-panel:nth-child(2){background:#fc885b}.lm-process-panel:nth-child(3){background:#413f54;color:#fff}.lm-process-title{display:flex;align-items:center;justify-content:space-between;gap:24px}.lm-process-title h3{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0}.lm-process-title span{font-size:11px}.lm-process-figure{height:145px;display:flex;align-items:center;transition:height .65s var(--ease),opacity .5s;overflow:hidden;opacity:1}.lm-process-figure svg{width:130px;height:105px;stroke:currentColor;fill:none;stroke-width:1;flex:none}.lm-process-panel p{font-size:13px;line-height:1.8;max-width:45ch;margin:20px 0 0}.lm-process[data-enhanced] .lm-process-panel:not(.is-active) .lm-process-figure{height:24px;opacity:.25}.lm-process-panel.is-active .lm-process-title span{font-weight:600}
.trust-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.quote{font-size:27px;line-height:1.55;letter-spacing:-.04em;margin:0}.quote-mark{font-size:84px;line-height:1;color:var(--orange);height:58px;display:block}.quote-credit{margin-top:27px;font-size:12px}.quote-credit span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.fit h3{font-size:30px;max-width:16ch;margin-bottom:22px}.fit p{font-size:13px}.fit ul{list-style:none;padding:0;margin:24px 0}.fit li{font-size:13px;display:flex;gap:13px;margin:13px 0}.fit li::before{content:'↗︎';color:#a33510;font-size:18px}.faq-section{background:white}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.faq-list details{padding:22px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{padding-top:0}.faq-list summary{min-height:44px;cursor:pointer;font-size:15px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:24px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:23px;color:var(--slate)}.faq-list details[open] summary::after{content:'−'}.faq-list p{font-size:13px;color:var(--muted);margin-top:18px;padding-right:28px}.faq-side p{font-size:13px;color:var(--muted);margin-top:25px;max-width:29ch}.closing{background:var(--slate);color:white;padding:100px 0 36px;overflow:hidden}.closing h2{font-size:clamp(46px,6.2vw,90px);max-width:12ch}.closing-top{display:flex;justify-content:space-between;gap:60px;align-items:flex-end}.closing-copy{max-width:34ch}.closing-copy p{font-size:14px;color:#e1dfe7;margin-bottom:24px}.audit-line{border-top:1px solid #726e83;border-bottom:1px solid #726e83;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:70px;padding:25px 0;font-size:12px;color:#e1dfe7}.audit-line a{color:white;flex-shrink:0}.footer-grid{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:34px}.footer-grid img{width:155px}.footer-links{display:flex;gap:24px;font-size:11px}.footer-links a{text-decoration:none;color:#e1dfe7}.footer-bottom{display:flex;justify-content:space-between;margin-top:36px;font-size:10px;color:#d1ceda;gap:18px}.footer-bottom a{color:inherit}
/* Reviewer-only tabs, excluded from the production page. */
.review-switcher{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:4px;padding:6px;background:#fff;border:1px solid #d8d6de;box-shadow:0 5px 25px #24232b22;border-radius:12px}.review-switcher button{background:transparent;border:0;padding:8px 14px;border-radius:7px;font-size:11px;color:#413f54;white-space:nowrap}.review-switcher button[aria-selected=true]{background:#413f54;color:white}.review-switcher .review-label{padding:0 10px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#64616d}.review-page{padding:70px 0 110px;min-height:100vh}.review-page h1{font-size:54px;max-width:16ch;margin-bottom:22px}.review-page h2{font-size:28px;margin:48px 0 20px;letter-spacing:-.035em}.review-page h3{font-size:19px;margin:28px 0 12px}.review-page p,.review-page li{font-size:14px}.review-page pre{white-space:pre-wrap;font:13px/1.8 Poppins,sans-serif;background:white;border:1px solid var(--line);padding:30px;border-radius:5px}.review-page table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.7}.review-page th,.review-page td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}.review-page th{background:white}.table-scroll{overflow:auto}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.swatch{font-size:11px}.swatch i{display:block;height:80px;border:1px solid #ccc;border-radius:5px;margin-bottom:10px}.asset-review{display:grid;grid-template-columns:1fr 1fr;gap:32px}.asset-review img{max-height:600px;object-fit:contain}.status-pill{font-size:10px;border:1px solid #9a96a4;border-radius:20px;padding:5px 10px;display:inline-block;margin:14px 0}.review-page [hidden],[hidden]{display:none!important}.site-only .review-switcher{display:none}.site-only .closing{padding-bottom:36px}body:not(.site-only) .closing{padding-bottom:92px}
@media(min-width:768px) and (max-width:991px){.wrap,.lm-services-inner,.lm-process-inner{width:calc(100% - 56px)}.hero-grid{gap:32px}.hero{padding-top:132px}.hero h1{font-size:50px}.hero p{font-size:15px}.lm-nav-links{gap:18px}.lm-nav-brand{width:135px}.lm-nav .lm-nav-cta{gap:12px;font-size:11px}.lm-service{padding:22px}.lm-service h3{font-size:22px}.lm-service-art{height:170px}.lm-service>p{min-height:125px}.about-grid,.trust-grid,.faq-grid{gap:48px}.lm-process-inner{gap:48px}.section{padding-block:80px}.work-grid{gap:16px}.work-meta h3{font-size:19px}.reel-band{gap:36px}.closing-top{gap:40px}.closing h2{font-size:64px}}
@media(max-width:767px){html{scroll-padding-top:100px}.wrap,.lm-services-inner,.lm-process-inner{width:calc(100% - 40px)}.section{padding-block:64px}h1{font-size:47px}h2{font-size:39px}.eyebrow{font-size:10px;margin-bottom:18px}.lm-nav{top:14px;width:calc(100% - 28px)}.lm-nav-bar{min-height:61px;padding:7px 10px 7px 20px;gap:12px}.lm-nav-brand{width:142px}.lm-nav-links,.lm-nav>.lm-nav-bar>.lm-nav-cta{display:none}.lm-nav-toggle{display:block;font-size:11px}.lm-nav-mobile:not([hidden]){display:block}.hero{padding-top:104px;padding-bottom:42px}.hero-grid{grid-template-columns:1fr;gap:26px}.hero-copy{padding:20px 0 8px}.hero .eyebrow{margin-bottom:22px}.hero h1{max-width:11ch}.hero h1 .subline{margin-top:10px}.hero p{font-size:15px;max-width:35ch;margin:24px 0}.hero-actions{gap:23px}.hero-note{margin-top:20px;font-size:10px}.hero-art{width:100%;max-width:540px;margin:auto}.hero-foot{margin-top:30px;padding-top:18px;font-size:8px;gap:20px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px;max-width:38ch}.work-grid{display:block}.work-card{display:block;margin:0 0 36px!important}.work-media{aspect-ratio:4/3}.work-meta{margin-top:16px}.work-meta h3{font-size:24px}.work-card p{margin-top:6px}.reel-band{grid-template-columns:1fr;gap:26px;margin-top:42px;padding-top:36px}.reel-band h3{font-size:31px;max-width:17ch}.reel-band p{max-width:42ch;font-size:13px}.lm-services{padding:64px 0}.lm-services-intro{display:block;margin-bottom:32px}.lm-services-intro>p{margin-top:22px;max-width:38ch}.lm-services-grid{grid-template-columns:1fr;gap:16px}.lm-service{padding:27px;transform:none!important}.lm-service-art{height:210px}.lm-service>p{min-height:0;max-width:40ch}.lm-service:hover{transform:none}.lm-service h3{font-size:28px}.about-grid,.trust-grid,.faq-grid{grid-template-columns:1fr;gap:38px}.about-intro{font-size:24px}.about-copy p{font-size:14px}.lm-process{padding:64px 0}.lm-process-inner{grid-template-columns:1fr;gap:35px}.lm-process-heading{position:static}.lm-process-panel{padding:26px}.lm-process[data-enhanced] .lm-process-panel:not(.is-active) .lm-process-figure,.lm-process-figure{height:105px;opacity:1}.lm-process-panel p{margin-top:12px}.quote{font-size:25px}.trust-grid{gap:52px}.fit h3{font-size:32px}.faq-list summary{font-size:14px}.closing{padding-top:65px}.closing-top{display:block}.closing h2{font-size:53px;max-width:12ch}.closing-copy{margin-top:30px;max-width:37ch}.audit-line{display:block;margin-top:45px}.audit-line a{margin-top:18px}.footer-grid{align-items:flex-start;gap:30px;flex-direction:column}.footer-links{flex-wrap:wrap;gap:22px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:12px 0}.review-label{display:none}.review-switcher{bottom:10px;gap:2px;padding:5px}.review-switcher button{padding:9px 12px;font-size:10px}.review-page h1{font-size:38px}.review-page{padding-top:35px}.swatches{grid-template-columns:repeat(3,1fr)}.asset-review{grid-template-columns:1fr}.review-page td,.review-page th{min-width:130px;padding:12px}.review-page pre{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-property:opacity,visibility,color,background-color,border-color,outline-color,text-decoration-color,box-shadow,fill,stroke!important;transition-duration:.2s!important;transition-delay:0s!important;transition-timing-function:ease!important}.lm-calm .lm-calm-pending{opacity:0}.lm-calm .lm-calm-pending.lm-calm-in{opacity:1;transition-duration:.6s!important;transition-delay:var(--calm-delay,0s)!important}details[open]>:not(summary){animation:lm-calm-fade .3s ease both!important}.lm-calm-play{position:absolute;left:50%;top:50%;z-index:2;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(10,10,10,.62) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M8 5.5v13l11-6.5z'/%3E%3C/svg%3E") 55% 50%/24px no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.3);pointer-events:none}.lm-calm-video.is-playing .lm-calm-play{opacity:0}.lm-service{transform:none!important}.lm-process-heading{position:static}.lm-process[data-enhanced] .lm-process-panel:not(.is-active) .lm-process-figure{height:145px;opacity:1}.work-card:hover img{transform:none}}
@keyframes lm-calm-fade{from{opacity:0}}@keyframes lm-work-arrive{from{transform:translateY(24px);opacity:.86}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:no-preference){.work-arrived{animation:lm-work-arrive .8s var(--ease) both}}
/* css/system.css */
/* LIONEL.MKTG design system tokens (approved 2026-10-17; documented with live specimens in guidelines.html).
   Values only: no element rules live here, so loading this file changes nothing by itself.
   Component rules (streamline.css "SYSTEM PASS" on the homepage; inner pages in a later pass) consume these.
   Screen sizes: desktop 1200px and up, tablet 768-1199px, phone under 768px.
   Define each token once, here. */
:root {
  /* Color roles */
  --c-ink: #1a1920;          /* headings and primary text on light */
  --c-ink-soft: #413f54;     /* body text on light (Deep Slate) */
  --c-muted: #5f5e64;        /* captions, meta, small text on light (6.4:1 on white) */
  --c-on-dark: #f6f6f6;      /* text on black panels */
  --c-on-dark-soft: #cec9d1; /* body text on black panels (12.9:1) */
  --c-page: #f6f6f6;         /* page background */
  --c-panel: #ffffff;        /* white panels and cards */
  --c-dark: #000000;         /* dark panels */
  --c-dark-2: #1c1c1e;       /* chat surface */
  --c-line: #e6e4e0;         /* dividers */
  --c-accent: #f6521b;       /* brand orange: fills only, never small text on light (3.4:1) */
  --c-accent-hover: #fc885b;
  --c-accent-press: #d94110;
  --c-accent-ink: #bc370d;   /* orange text and links on light (5.3:1) */
  --c-focus: #c13d11;        /* focus ring on light */
  --c-focus-dark: var(--c-accent); /* focus ring on dark */
  --c-on-accent: #000000;    /* text on orange (6.1:1; white fails at 3.4:1) */
  --c-on-dark-line: rgba(246, 246, 246, .6); /* outlines on dark */

  /* Spacing scale (base 4) */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 20px; --s-6: 24px;
  --s-8: 32px; --s-10: 40px; --s-12: 48px; --s-16: 64px; --s-20: 80px; --s-24: 96px;

  /* Layout */
  --page-margin: 32px;       /* outer side margin of the shell */
  --shell-max: 1280px;
  --gutter: 24px;            /* grid gap */
  --section-gap: 24px;       /* space between stacked sections and panels */
  --section-pad: 48px;       /* padding-block of open sections (on the page background) */
  --panel-pad: 48px;         /* padding of white or dark panels */
  --panel-pad-lg: 80px;      /* the About card only */
  --head-gap: 40px;          /* section heading to its content */
  --cta-gap: 40px;           /* content to its call to action */
  --card-pad-lg: 40px; --card-pad-md: 24px; --card-pad-sm: 16px;
  --r-xs: 8px; --r-sm: 12px; --r-md: 16px; --r-lg: 24px; --r-pill: 999px; /* xs: form fields */

  /* Type (Poppins 400/500/600). Size and unitless line-height per role. */
  --font: Poppins, Arial, sans-serif;
  --t-display-xl: 72px;  --t-display-xl-lh: 1.1;   /* homepage hero H1 */
  --t-display-l: 64px;   --t-display-l-lh: 1.1;    /* closing footer headline, always smaller than the hero */
  --t-quote: 34px;       --t-quote-lh: 1.35;       /* pull quote */
  --t-h1: 60px;          --t-h1-lh: 1.13;          /* inner page titles */
  --t-h2: 40px;          --t-h2-lh: 1.2;           /* section headings */
  --t-h3: 26px;          --t-h3-lh: 1.3;           /* large card and panel titles */
  --t-h4: 22px;          --t-h4-lh: 1.28;          /* compact card titles, names */
  --t-h5: 18px;          --t-h5-lh: 1.33;          /* small titles, labels */
  --t-lead: 20px;        --t-lead-lh: 1.5;         /* subtitle under a heading */
  --t-body: 17px;        --t-body-lh: 1.53;        /* paragraphs */
  --t-small: 15px;       --t-small-lh: 1.53;       /* tags, credits, secondary details */
  --t-eyebrow: 13px;     --t-eyebrow-lh: 1.38;     /* above-title label, uppercase, inner pages only */
  --t-meta: 12px;        --t-meta-lh: 1.5;         /* dates, categories, uppercase */
  --t-button: 15px;      --t-button-lg: 16px;
  --track-display: -0.02em; --track-heading: -0.02em; --track-caps: 0.08em; --track-eyebrow: 0.1em;

  /* Buttons */
  --btn-h: 48px; --btn-h-lg: 56px; --btn-pad: 22px; --btn-pad-lg: 28px; --tap-min: 44px;
  --focus-ring: 2px; --focus-offset: 3px;

  /* Motion */
  --ease: cubic-bezier(.22, 1, .36, 1);       /* default ease-out */
  --ease-inout: cubic-bezier(.76, 0, .24, 1); /* flips and swaps */
  --dur-fast: 200ms;  /* color and state changes (buttons) */
  --dur-base: 300ms;  /* transforms, opening rows */
  --dur-slow: 500ms;  /* reveals */
}
@media (max-width: 1199px) {
  :root {
    --section-pad: 40px; --panel-pad: 40px; --panel-pad-lg: 64px;
    --card-pad-lg: 32px;
    --t-display-xl: clamp(52px, 16.44px + 4.63vw, 72px);
    --t-display-l: clamp(44px, 4vw + 16px, 64px);
    --t-quote: clamp(24px, 6.22px + 2.315vw, 34px);
    --t-h1: clamp(44px, 15.56px + 3.704vw, 60px);
    --t-h2: clamp(32px, 17.78px + 1.852vw, 40px);
    --t-h3: clamp(22px, 14.89px + 0.926vw, 26px);
    --t-h4: clamp(20px, 16.44px + 0.463vw, 22px);
    --t-lead: clamp(18px, 14.44px + 0.463vw, 20px);
  }
}
@media (max-width: 767px) {
  :root {
    --page-margin: 16px; --gutter: 16px; --section-gap: 16px;
    --section-pad: 32px; --panel-pad: 24px; --panel-pad-lg: 48px;
    --head-gap: 32px; --cta-gap: 32px; --card-pad-lg: 24px; --card-pad-md: 20px;
    --r-lg: 16px;
    --t-display-xl: clamp(32px, 9vw, 40px);
    --t-display-l: clamp(30px, 8.6vw, 36px);
    --t-quote: 22px; --t-quote-lh: 1.36;
    --t-h1: 36px; --t-h1-lh: 1.17;
    --t-h2: 28px; --t-h2-lh: 1.21;
    --t-h3: 22px; --t-h3-lh: 1.27;
    --t-h4: 20px; --t-h4-lh: 1.3;
    --t-lead: 18px; --t-lead-lh: 1.56;
    --t-body: 16px; --t-body-lh: 1.56;
    --t-eyebrow: 12px; --t-eyebrow-lh: 1.5;
  }
}
@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur-base: 0ms; --dur-slow: 0ms; }
}
/* css/connected.css */
/* Connected presence candidate. Canonical palette, separate from the saved baseline. */
:root{--cp-base:#000;--cp-panel:#000;--cp-ink:#f6f6f6;--cp-muted:#f6f6f6;--cp-line:rgba(246,246,246,.25);--cp-art-fill:#000;--cp-art-line:#f6f6f6;--cp-orange:#f6521b;--cp-accent-ink:#000;--cp-gap:clamp(64px,8vw,128px)}
html[data-theme="light"]{--cp-base:#f6f6f6;--cp-panel:#fff;--cp-ink:#413f54;--cp-muted:#413f54;--cp-line:rgba(65,63,84,.25);--cp-art-fill:#f6f6f6;--cp-art-line:#413f54}
body{background:linear-gradient(110deg,var(--cp-base),var(--cp-panel) 55%,var(--cp-base));color:var(--cp-ink)}
h1,h2,h3{font-weight:700;letter-spacing:-.055em}h2{font-size:clamp(40px,5.2vw,76px)}
.wrap,.cp-services-inner,.cp-process-inner{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.section{padding-block:var(--cp-gap)}
.muted,.hero-note,.hero-foot,.section-head>p,.work-card p,.work-index,.reel-band p,.reel-note,.signature span,.quote-credit span,.fit p,.faq-list p,.faq-side p,.closing-copy p,.audit-line,.footer-links a,.footer-bottom{color:var(--cp-muted)}
.eyebrow{color:var(--cp-ink);font-size:11px;letter-spacing:.13em;font-weight:500}.eyebrow::before{border-radius:0;background:var(--cp-orange)}
.button,.button.orange{background:var(--cp-orange);color:#000;font-weight:600;border-radius:5px}.button:hover,.button.orange:hover{background:#fc885b;color:#000}.button.outline{background:transparent;color:var(--cp-ink);border-color:var(--cp-ink)}.button.outline:hover{background:var(--cp-ink);color:var(--cp-base)}
.text-link{color:var(--cp-ink)}
.cp-review-bar{position:sticky;top:0;z-index:150;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px max(24px,calc((100vw - 1280px)/2));min-height:48px;border-bottom:1px solid var(--cp-line);background:var(--cp-base);color:var(--cp-ink);font-size:11px;line-height:1.4}
.cp-review-bar>span{max-width:65ch}.cp-review-bar button,#theme-toggle{background:transparent;color:var(--cp-ink);border:1px solid var(--cp-line);border-radius:5px;padding:8px 12px;min-height:44px;font-size:11px;white-space:nowrap}
.lm-nav{top:76px}.lm-nav-bar{background:var(--cp-base);color:var(--cp-ink);border:1px solid var(--cp-line);border-radius:5px;box-shadow:none;min-height:68px}.lm-nav-links a,.lm-nav .lm-nav-cta,.lm-nav-toggle,.lm-nav-mobile a{color:var(--cp-ink)}.lm-nav .lm-nav-cta,.lm-nav-toggle{border-color:var(--cp-line)}.lm-nav-links a:hover{color:var(--cp-ink);text-decoration:underline;text-decoration-color:var(--cp-orange)}.lm-nav .lm-nav-cta:hover{background:var(--cp-orange);color:#000;border-color:var(--cp-orange)}.lm-nav-mobile{background:var(--cp-base);border:1px solid var(--cp-line);border-radius:5px;box-shadow:none}
html[data-theme="light"] .lm-nav-brand img,html[data-theme="light"] .footer-grid img{filter:brightness(0)}
.hero{padding-top:150px;padding-bottom:52px}.hero-grid{grid-template-columns:1.15fr 1fr;gap:26px;align-items:center}.hero-copy{position:relative;z-index:2;padding-block:35px}.hero h1{font-size:clamp(54px,6.65vw,96px);line-height:1.025;max-width:11ch;letter-spacing:-.065em}.hero h1 .subline{color:var(--cp-ink);margin-top:14px}.hero p{color:var(--cp-ink);max-width:35ch;font-size:17px;margin:30px 0}.hero-art{aspect-ratio:1;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0}.hero-art::before,.hero::before{display:none}.hero-foot{border-color:var(--cp-line);margin-top:40px}.art-caption{color:var(--cp-ink);text-shadow:none;bottom:5px;left:0;right:0}
.cp-assembly{display:block;width:100%;height:auto;overflow:visible;color:var(--cp-art-line);stroke:var(--cp-art-line);fill:none;stroke-linejoin:round;stroke-linecap:round}.cp-plane{fill:none;stroke:var(--cp-art-line)}.cp-face{fill:var(--cp-art-fill)}.cp-assembly .cp-accent{stroke:var(--cp-orange)}.cp-assembly .cp-accent-fill{fill:var(--cp-orange);stroke:var(--cp-orange)}.cp-assembly .cp-guide{opacity:.3}.cp-assembly text{fill:var(--cp-ink);stroke:none;font-family:Poppins,sans-serif}
.work-section{background:var(--cp-panel);color:var(--cp-ink)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px}.work-card:first-child{grid-column:1/-1}.work-card:nth-child(2),.work-card:nth-child(3){margin-top:0}.work-media{aspect-ratio:4/3;border-radius:5px;background:var(--cp-base);border:1px solid var(--cp-line)}.work-card:first-child .work-media{aspect-ratio:16/9}.work-card:first-child img{object-position:center}.work-meta h3{font-size:clamp(25px,3vw,38px)}.work-meta{margin-top:20px}.work-arrow{border-radius:5px;background:var(--cp-orange);color:#000}.reel-band{border-color:var(--cp-line);margin-top:60px}.reel-band h3{font-size:clamp(32px,3.7vw,52px)}.reel-player{background:#000;border:1px solid var(--cp-line)}
.cp-services{padding-block:var(--cp-gap);background:var(--cp-base);color:var(--cp-ink)}.cp-services-intro,.cp-services .section-head{margin-bottom:64px}.cp-service-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}.cp-stage{position:sticky;top:170px;min-height:420px;display:grid;align-content:center}.cp-stage svg{display:block;width:100%;height:auto;overflow:visible;stroke:var(--cp-art-line);fill:none;stroke-linejoin:round;stroke-linecap:round}.cp-stage .cp-plane{fill:var(--cp-art-fill)}.cp-stage .cp-accent{stroke:var(--cp-orange)}.cp-stage .cp-accent-fill{fill:var(--cp-orange);stroke:var(--cp-orange)}.cp-output{opacity:0;visibility:hidden;transition:opacity .45s ease,transform .65s var(--ease);transform:translateY(12px)}.cp-stage:not([data-step]) .cp-output[data-output="0"],.cp-stage[data-step="0"] .cp-output[data-output="0"],.cp-stage[data-step="1"] .cp-output[data-output="1"],.cp-stage[data-step="2"] .cp-output[data-output="2"]{opacity:1;visibility:visible;transform:translateY(0)}
.cp-stage-caption{font-size:11px;letter-spacing:.08em;margin-top:22px;color:var(--cp-muted)}.cp-chapter{min-height:70vh;padding:55px 0;border-top:1px solid var(--cp-line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.cp-chapter:last-child{border-bottom:1px solid var(--cp-line)}.cp-chapter h3{font-size:clamp(38px,4.65vw,66px);line-height:1.06;max-width:11ch;margin:20px 0 24px}.cp-chapter>p{font-size:16px;line-height:1.8;max-width:38ch}.cp-chapter details{width:100%;margin-top:30px;padding-top:20px;border-top:1px solid var(--cp-line)}.cp-chapter summary{cursor:pointer;min-height:44px;font-size:13px;font-weight:500}.cp-chapter details p{font-size:14px;margin:20px 0;line-height:1.8}.cp-chapter details a{font-size:13px;display:inline-block;padding:8px 0}.cp-services-foot{margin-top:48px;font-size:14px}.cp-chapter-number{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
#about{background:var(--cp-base);color:var(--cp-ink);border-top:1px solid var(--cp-line)}#about .about-copy p{color:var(--cp-ink)}.about-grid{gap:80px}.about-copy .about-intro{font-size:23px;line-height:1.6}.signature{padding-top:20px;border-top:1px solid var(--cp-line)}
.cp-process{padding-block:var(--cp-gap);background:var(--cp-panel);color:var(--cp-ink)}.cp-process-inner>p{margin-top:24px;max-width:42ch}.cp-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}.cp-process-card{padding:32px;background:var(--cp-base);border:1px solid var(--cp-line);border-radius:5px;min-height:300px}.cp-process-card h3{font-size:30px;margin:28px 0 20px}.cp-process-card p{font-size:14px;line-height:1.8}.cp-process-card>span{font-size:12px}.cp-process-card svg{stroke:var(--cp-ink);fill:none;max-width:130px;height:100px;margin-top:20px}
.trust-grid{gap:80px}.quote{font-size:clamp(28px,3vw,42px);line-height:1.45}.quote-mark{color:var(--cp-orange)}.fit li::before{color:var(--cp-ink)}.faq-section{background:var(--cp-panel);color:var(--cp-ink)}.faq-list details{border-color:var(--cp-line)}.faq-list summary::after{color:var(--cp-ink)}.closing{background:var(--cp-base);color:var(--cp-ink);border-top:1px solid var(--cp-line)}.closing h2{font-size:clamp(50px,7vw,104px);line-height:1.04}.audit-line{border-color:var(--cp-line)}.audit-line a{color:var(--cp-ink)}
.review-switcher{background:var(--cp-base);border-color:var(--cp-line);box-shadow:none}.review-switcher button,.review-switcher .review-label{color:var(--cp-ink)}.review-switcher button[aria-selected="true"]{background:var(--cp-ink);color:var(--cp-base)}.review-page{background:var(--cp-base);color:var(--cp-ink)}.review-page pre,.review-page th{background:var(--cp-panel);color:var(--cp-ink)}.review-page td,.review-page th,.review-page pre{border-color:var(--cp-line)}
@media(min-width:768px) and (max-width:991px){.wrap,.cp-services-inner,.cp-process-inner{width:calc(100% - 56px)}.hero-grid{grid-template-columns:1.1fr 1fr;gap:16px}.hero h1{font-size:60px}.hero p{font-size:15px}.cp-service-layout{gap:36px}.cp-stage{top:170px;min-height:320px}.cp-chapter h3{font-size:43px}.cp-process-grid{gap:12px}.cp-process-card{padding:24px}.cp-process-card h3{font-size:25px}.about-grid,.trust-grid{gap:48px}}
@media(max-width:767px){.wrap,.cp-services-inner,.cp-process-inner{width:calc(100% - 40px)}.cp-review-bar{padding:6px 14px;gap:12px;font-size:9px}.cp-review-bar>span{max-width:28ch}.cp-review-bar button,#theme-toggle{font-size:10px;padding:7px 10px}.lm-nav{top:77px}.lm-nav-bar{min-height:61px}.hero{padding-top:114px;padding-bottom:34px}.hero-grid{grid-template-columns:1fr;gap:18px}.hero-copy{padding:18px 0 0}.hero h1{font-size:clamp(46px,11.8vw,72px);max-width:12ch}.hero h1 .subline{margin-top:12px}.hero p{font-size:15px;margin:25px 0}.hero-art{width:100%;max-width:560px}.hero-foot{margin-top:24px;font-size:9px;flex-wrap:wrap}.work-grid{display:grid;grid-template-columns:1fr;gap:36px}.work-card:first-child{grid-column:auto}.work-card{margin:0!important}.work-card:first-child .work-media,.work-media{aspect-ratio:4/3}.work-meta h3{font-size:26px}.cp-service-layout{grid-template-columns:1fr;gap:20px}.cp-stage{position:static;min-height:0;max-width:500px;width:100%;margin:auto}.cp-services-intro,.cp-services .section-head{margin-bottom:32px}.cp-chapter{min-height:0;padding:36px 0}.cp-chapter h3{font-size:46px;max-width:14ch;margin:16px 0 20px}.cp-chapter>p{font-size:15px}.cp-process-grid{grid-template-columns:1fr;gap:16px;margin-top:32px}.cp-process-card{min-height:0;padding:28px}.cp-process-card h3{font-size:31px;margin-top:20px}.about-grid,.trust-grid{gap:38px}.closing h2{font-size:clamp(49px,12vw,72px)}.quote{font-size:29px}.review-switcher button{padding:9px 10px}html{scroll-padding-top:155px}}
.cp-art-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--cp-muted);padding-top:14px;border-top:1px solid var(--cp-line)}.cp-tags{font-size:11px;letter-spacing:.04em;padding-top:20px}.cp-chapter>.text-link{margin-top:26px}.cp-process-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.cp-process-title h3{margin-top:0}.cp-process-figure{height:115px;margin:20px 0}.cp-process-card .cp-process-figure svg{height:105px;margin:0}html[data-theme="light"] .cp-svg-logo{filter:brightness(0)}
.site-only:not(.cp-review) .lm-nav{top:26px}.site-only:not(.cp-review) .hero{padding-top:140px}
@media(max-width:767px){.site-only:not(.cp-review) .lm-nav{top:14px}.site-only:not(.cp-review) .hero{padding-top:104px}.cp-art-caption{font-size:8px;gap:8px}}
@media(min-width:992px){.hero h1{font-size:clamp(64px,5.55vw,80px)}.hero-copy{padding-block:0}.hero{padding-top:130px}}
.cp-plane{transform:translateY(var(--cp-plane-shift,0px));transform-box:fill-box;transform-origin:center}
html.cp-motion [data-cp-hero].cp-entered .cp-plane{animation:cp-assemble .8s cubic-bezier(.22,1,.36,1) both}
html.cp-motion [data-cp-hero] .cp-plane[data-plane="0"]{--cp-enter:45px}
html.cp-motion [data-cp-hero] .cp-plane[data-plane="1"]{--cp-enter:0px}
html.cp-motion [data-cp-hero] .cp-plane[data-plane="2"]{--cp-enter:-45px}
@keyframes cp-assemble{from{transform:translateY(var(--cp-enter));opacity:.25}to{transform:translateY(var(--cp-plane-shift,0px));opacity:1}}
.cp-capability{font:500 10px Poppins,sans-serif;letter-spacing:.04em;color:var(--cp-ink);background:transparent;border:1px solid transparent;border-radius:5px;min-height:44px;padding:8px 10px;flex:1}
.cp-capability:hover,.cp-capability[aria-pressed="true"]{border-color:var(--cp-ink)}
.cp-hit{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}
.cp-plane-response{transition:transform .45s var(--ease)}
html.cp-motion .cp-plane-idle{animation:cp-idle 5s ease-in-out infinite}
html.cp-motion .cp-plane[data-plane="1"] .cp-plane-idle{animation-delay:-1.6s}
html.cp-motion .cp-plane[data-plane="2"] .cp-plane-idle{animation-delay:-3.2s}
[data-cp-hero][data-paused="true"] .cp-plane-idle{animation-play-state:paused}
@keyframes cp-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
[data-cp-hero][data-active="identity"] [data-plane="0"] .cp-plane-response,[data-cp-hero][data-active="website"] [data-plane="1"] .cp-plane-response,[data-cp-hero][data-active="marketing"] [data-plane="2"] .cp-plane-response{transform:translateY(-10px)}
[data-cp-hero][data-active="identity"] [data-plane="0"] .cp-face,[data-cp-hero][data-active="website"] [data-plane="1"] .cp-face,[data-cp-hero][data-active="marketing"] [data-plane="2"] .cp-face{stroke:var(--cp-orange)}
.cp-identity-wordmark,.cp-swatch,.cp-web-scroll,.cp-web-cta,.cp-marketing-card{transition:transform .45s var(--ease),opacity .45s var(--ease)}
html.cp-motion [data-active="identity"] .cp-identity-wordmark{animation:cp-resolve .45s var(--ease)}
html.cp-motion [data-active="identity"] .cp-swatch[data-index="0"]{transform:translateX(-5px)}
html.cp-motion [data-active="identity"] .cp-swatch[data-index="2"]{transform:translateX(5px)}
@keyframes cp-resolve{from{transform:translateX(-8px);opacity:.4}to{transform:translateX(0);opacity:1}}
html.cp-motion [data-active="website"] .cp-web-scroll{transform:translateY(-18px)}
html.cp-motion [data-active="website"] .cp-web-cta{animation:cp-cta .6s ease}
@keyframes cp-cta{50%{opacity:.45}}
html.cp-motion [data-active="marketing"] .cp-marketing-card{animation:cp-resolve .45s var(--ease) both}
html.cp-motion [data-active="marketing"] .cp-marketing-card[data-index="1"]{animation-delay:.08s}
html.cp-motion [data-active="marketing"] .cp-marketing-card[data-index="2"]{animation-delay:.16s}
.cp-marketing-trace{opacity:.3;transition:opacity .45s ease}
[data-active="marketing"] .cp-marketing-trace{opacity:1}
html.cp-motion [data-active="marketing"] .cp-marketing-trace{transform-box:fill-box;transform-origin:left;animation:cp-trace .45s var(--ease) both}
@keyframes cp-trace{from{transform:scaleX(.05);opacity:.3}to{transform:scaleX(1);opacity:1}}
[data-active="identity"] .cp-capability[data-capability="identity"],[data-active="website"] .cp-capability[data-capability="website"],[data-active="marketing"] .cp-capability[data-capability="marketing"]{border-color:var(--cp-ink)}
@media(max-width:767px){.cp-capability{font-size:9px;padding:8px 4px}.cp-art-caption{gap:4px}}
/* Editorial refinement. Install on a dedicated candidate page, after baseline site.css. */
@media(min-width:992px){.work-grid{grid-template-columns:7fr 5fr;gap:58px 40px}.work-card:nth-child(3){margin-top:92px}.cp-chapter{min-height:440px;padding:48px 0}.cp-chapter-art{display:none}.work-card:first-child .work-meta h3{font-size:44px}.about-grid{grid-template-columns:1.2fr 1fr;gap:100px}.about-grid h2{max-width:13ch}}
.cp-step-number{display:block!important;font-size:clamp(62px,6vw,86px)!important;font-weight:700;line-height:1;letter-spacing:-.075em;color:var(--cp-ink);margin:0 0 32px}.cp-process-title{align-items:flex-start}.cp-process-card h3{font-size:31px}.cp-process-card .cp-process-figure{height:85px}.cp-process-card .cp-process-figure svg{height:80px}.cp-process{padding-block:88px}.trust-grid{padding-block:16px}.about-copy .about-intro{font-size:clamp(23px,2.5vw,34px);line-height:1.45;letter-spacing:-.04em}.about-copy p:not(.about-intro){max-width:44ch}.closing-top{border-left:7px solid var(--cp-orange);padding-left:30px}.cp-services .section-head{padding-top:22px;border-top:1px solid var(--cp-line)}.cp-chapter>.text-link{font-weight:600}
[data-cp-hero][data-active="identity"] [data-plane="0"] .cp-plane-response,[data-cp-hero][data-active="website"] [data-plane="1"] .cp-plane-response,[data-cp-hero][data-active="marketing"] [data-plane="2"] .cp-plane-response{transform:translateY(-20px)}
@media(max-width:991px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero h1{font-size:64px;max-width:14ch}.hero-copy{padding-bottom:0}.hero-art{max-width:520px;width:100%;margin-inline:auto}.work-grid{grid-template-columns:1fr;gap:42px}.work-card:first-child{grid-column:auto}.work-card:nth-child(2),.work-card:nth-child(3){margin-top:0}.work-card:first-child .work-media{aspect-ratio:16/9}.cp-service-layout{grid-template-columns:1fr;gap:0}.cp-service-layout>.cp-stage{display:none}.cp-chapter{min-height:0;padding:40px 0}.cp-chapter-art{display:block;position:static;top:auto;min-height:0;width:min(100%,420px);height:280px;margin:0 auto 24px}.cp-chapter-art .cp-assembly{width:100%;height:100%;object-fit:contain}.cp-chapter-art .cp-output{transform:none}.cp-chapter h3{max-width:16ch}.cp-chapter>p{max-width:52ch}.cp-process-grid{grid-template-columns:1fr}.cp-process-card{min-height:0;display:grid;grid-template-columns:100px 1fr;gap:0 28px}.cp-step-number{grid-row:1/4;margin:0}.cp-process-card h3{margin:0 0 20px}.cp-process-card p{grid-column:2}.cp-process-card .cp-process-figure{display:none}.cp-process-title{display:block}.about-grid{grid-template-columns:1fr;gap:38px}.about-grid h2{max-width:16ch}.closing-top{padding-left:24px}}
@media(max-width:767px){.hero h1{font-size:48px;max-width:13ch}.hero-grid{gap:24px}.cp-process{padding-block:64px}.cp-process-card{display:block}.cp-step-number{font-size:62px!important;margin-bottom:24px}.cp-chapter-art{height:245px}.cp-chapter h3{font-size:42px}.closing-top{border-left-width:5px;padding-left:20px}.work-card:first-child .work-media{aspect-ratio:4/3}.about-copy .about-intro{font-size:26px}.hero-actions{gap:18px}}
@media(max-width:359px){.hero h1{font-size:44px}.wrap,.cp-services-inner,.cp-process-inner{width:calc(100% - 32px)}.cp-chapter h3{font-size:37px}.hero-actions{gap:20px}.lm-nav-brand{width:130px}.cp-review-bar>span{max-width:23ch}}
.cp-plane-idle{translate:0 0;transition:translate .45s var(--ease)}
.hero-art{aspect-ratio:auto}.cp-hero-svg{aspect-ratio:64/59}
html.cp-motion [data-cp-hero][data-active] [data-plane="0"] .cp-plane-idle{translate:0 72px}
html.cp-motion [data-cp-hero][data-active] [data-plane="2"] .cp-plane-idle{translate:0 -72px}
[data-cp-hero][data-active] .cp-connector{opacity:0}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output{visibility:visible;transition:none}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output[data-output="0"]{opacity:var(--cp-phase0,1);transform:translateY(calc((1 - var(--cp-phase0,1))*16px))}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output[data-output="1"]{opacity:var(--cp-phase1,0);transform:translateY(calc((1 - var(--cp-phase1,0))*16px))}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output[data-output="2"]{opacity:var(--cp-phase2,0);transform:translateY(calc((1 - var(--cp-phase2,0))*16px))}
.cp-service-layout>.cp-stage .cp-output-svg{perspective:900px}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output{transform-box:view-box;transform-origin:center;backface-visibility:hidden}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output[data-output="0"]{opacity:var(--cp-show0,1);transform:rotateY(var(--cp-flip0,0deg))}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output[data-output="1"]{opacity:var(--cp-show1,0);transform:rotateY(var(--cp-flip1,-180deg))}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-output[data-output="2"]{opacity:var(--cp-show2,0);transform:rotateY(var(--cp-flip2,-180deg))}
html.cp-scroll-motion .cp-service-layout>.cp-stage .cp-continuity-token{display:none}
.cp-stage{--cp-token-x:-135px;--cp-token-y:104.5px;--cp-token-sx:1.65625;--cp-token-sy:2.59375}
.cp-chapter-art[data-step="1"]{--cp-token-x:-104px;--cp-token-y:-138.64px;--cp-token-sx:2.5425;--cp-token-sy:.6825}
.cp-chapter-art[data-step="2"]{--cp-token-x:-168px;--cp-token-y:215px;--cp-token-sx:1.15625;--cp-token-sy:.6875}
.cp-continuity-token{translate:var(--cp-token-x) var(--cp-token-y);scale:var(--cp-token-sx) var(--cp-token-sy);transform-box:fill-box;transform-origin:center}
@media(prefers-reduced-motion:reduce){.cp-stage{position:static}.cp-output{transition:none;transform:none}.cp-chapter{min-height:0;padding-block:40px}.cp-assembly,.cp-assembly *{animation:none!important;transition:none!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){.cp-plane-idle{translate:none!important}}

/* Service cards stay in the page flow and stack as the next chapter arrives. */
.cp-service-layout{display:block}
.cp-chapters{display:grid;gap:24px;padding-bottom:90px}
.cp-chapter{position:sticky;top:112px;z-index:1;display:grid;grid-template-columns:1fr 1fr;align-content:center;column-gap:48px;min-height:570px;padding:48px;border:1px solid var(--cp-line);border-radius:12px;background:var(--cp-panel);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.cp-chapter:nth-child(2){top:130px;z-index:2}
.cp-chapter:nth-child(3){top:148px;z-index:3}
.cp-chapter>:not(.cp-chapter-art){grid-column:1}
.cp-chapter-art{display:block;position:static;grid-column:2;grid-row:1/10;align-self:center;width:100%;height:auto;min-height:0;margin:0}
.cp-chapter-art .cp-output-svg{width:100%;height:auto}
.cp-chapter-art .cp-continuity-token{display:none}
.cp-chapter>.eyebrow{align-self:end}
.cp-chapter>.text-link{align-self:start}
@media(max-width:991px){.cp-chapter{min-height:0;padding:36px;column-gap:20px}.cp-chapter-art{width:100%;height:auto;margin:0}.cp-chapter h3{font-size:clamp(36px,5vw,54px)}}
@media(max-width:767px){.cp-chapters{gap:20px;padding-bottom:0}.cp-chapter,.cp-chapter:nth-child(2),.cp-chapter:nth-child(3){position:relative;top:auto;display:flex;padding:28px;box-shadow:none}.cp-chapter-art{order:1;max-width:420px;margin:20px auto}.cp-chapter>h3{order:2}.cp-chapter>p{order:3}.cp-chapter>.cp-tags{order:4}.cp-chapter>details{order:5}.cp-chapter>.text-link{order:6}}
@media(prefers-reduced-motion:reduce){.cp-chapter,.cp-chapter:nth-child(2),.cp-chapter:nth-child(3){position:relative;top:auto}}

/* Neutral dark surfaces with orange reserved for accents. */
:root{--cp-base:#111113;--cp-panel:#1c1c1f;--cp-art-fill:#1c1c1f;--cp-glow:rgba(246,246,246,.045);--cp-soft-glow:rgba(246,246,246,.025)}
html[data-theme="light"]{--cp-base:#f6f6f6;--cp-panel:#ffffff;--cp-art-fill:#f6f6f6;--cp-glow:rgba(246,82,27,.10);--cp-soft-glow:rgba(246,82,27,.06)}
.hero{background:transparent}
.work-section,.cp-process,.faq-section{background:radial-gradient(ellipse 70% 48% at 8% 4%,var(--cp-soft-glow),transparent 80%),var(--cp-panel)}
.cp-services{background:radial-gradient(ellipse 56% 38% at 88% 12%,var(--cp-glow),transparent 82%),var(--cp-base)}
html[data-theme="light"] .cp-chapter{background:linear-gradient(145deg,#ffffff,#f6f6f6)}
html:not([data-theme="light"]) .cp-chapter{background:linear-gradient(145deg,#232326,#1c1c1f)}
.cp-plane-idle{transition:translate 1.15s cubic-bezier(.45,0,.2,1)}
html.cp-motion [data-cp-hero][data-active] [data-plane="0"] .cp-plane-idle{translate:0 42px}
html.cp-motion [data-cp-hero][data-active] [data-plane="2"] .cp-plane-idle{translate:0 -42px}
[data-cp-hero][data-active="identity"] [data-plane="0"] .cp-plane-response,[data-cp-hero][data-active="website"] [data-plane="1"] .cp-plane-response,[data-cp-hero][data-active="marketing"] [data-plane="2"] .cp-plane-response{transform:translateY(-8px)}
.cp-chapters{gap:clamp(220px,32vh,320px);padding-bottom:40vh}
.cp-chapter,.cp-chapter:nth-child(2),.cp-chapter:nth-child(3){position:sticky;align-self:start;min-height:450px;padding:32px;column-gap:24px;box-shadow:0 12px 35px rgba(0,0,0,.12)}
.cp-chapter{top:130px}
.cp-chapter:nth-child(2){top:148px}
.cp-chapter:nth-child(3){top:166px}
.cp-chapter-art{max-width:340px;justify-self:center}
.cp-chapter h3{margin:12px 0 14px;font-size:clamp(36px,4vw,54px)}
.cp-chapter>p{line-height:1.55}
.cp-chapter details{margin-top:16px;padding-top:14px}
.cp-chapter>.text-link{margin-top:16px}
@media(max-width:991px){.cp-chapter,.cp-chapter:nth-child(2),.cp-chapter:nth-child(3){min-height:0}.cp-chapter-art{max-width:300px}}
@media(max-width:767px){.cp-chapters{gap:16px;padding-bottom:0}.cp-chapter,.cp-chapter:nth-child(2),.cp-chapter:nth-child(3){position:relative;top:auto;padding:24px;box-shadow:none}.cp-chapter-art{max-width:280px;height:auto;margin:8px auto}}
@media(prefers-reduced-motion:reduce){.cp-chapters{gap:20px;padding-bottom:0}.cp-chapter,.cp-chapter:nth-child(2),.cp-chapter:nth-child(3){position:relative;top:auto}}

/* Connected presence: framed hero, editorial reveal, and clear routes through the work. */
.hero-grid{padding:clamp(24px,3vw,48px);border:1px solid var(--cp-line);border-radius:20px;background:var(--cp-panel);box-shadow:0 26px 80px rgba(0,0,0,.18)}
html[data-theme="light"] .hero-grid{background:linear-gradient(145deg,#f6f6f6,#ffffff 62%,#f6f6f6);box-shadow:0 25px 65px rgba(65,63,84,.1)}
.hero-foot{margin-top:24px}
.cp-statement{padding:clamp(80px,10vw,150px) 0;background:var(--cp-base)}
.cp-statement p{max-width:1000px;font-size:clamp(40px,6vw,86px);font-weight:700;line-height:1.13;letter-spacing:-.06em}
.cp-statement p span{display:block}
.cp-statement p span+span{color:var(--cp-orange)}
html.cp-motion .cp-statement p span{opacity:.18;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}
html.cp-motion .cp-statement p span+span{transition-delay:.2s}
html.cp-motion .cp-statement.is-visible p span{opacity:1;transform:none}
.cp-impact{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:26px;margin-top:54px;border-top:1px solid var(--cp-line);font-size:12px;letter-spacing:.04em}
.cp-impact span::before{content:'✦';color:var(--cp-orange);margin-right:10px}
.cp-work-carousel{min-width:0}
.cp-carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:-20px 0 20px}
.cp-carousel-count{margin-right:12px;font-size:12px;letter-spacing:.12em}
.cp-carousel-controls button{width:46px;height:46px;border:1px solid var(--cp-line);border-radius:50%;background:var(--cp-base);color:var(--cp-ink);font-size:22px;cursor:pointer}
.cp-carousel-controls button:disabled{opacity:.35;cursor:default}
.cp-carousel-controls button:focus-visible,.cp-journey a:focus-visible,.cp-capability-list a:focus-visible,.cp-contact-links a:focus-visible{outline:3px solid var(--cp-orange);outline-offset:4px}
.cp-work-carousel .work-grid{position:relative;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain}
.cp-work-carousel .work-grid::-webkit-scrollbar{display:none}
.cp-work-carousel .work-card{display:block;flex:0 0 min(88%,1050px);margin:0!important;scroll-snap-align:start}
.cp-work-carousel .work-media,.cp-work-carousel .work-card:first-child .work-media{aspect-ratio:16/9}
.cp-work-carousel .work-meta h3{font-size:clamp(26px,3.4vw,44px)}
.cp-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:-24px 0 36px}
.cp-journey a{display:flex;justify-content:space-between;gap:14px;min-height:82px;padding:20px;border:1px solid var(--cp-line);border-radius:8px;color:var(--cp-ink);text-decoration:none;font-size:13px;font-weight:600;background:var(--cp-panel);transition:border-color .25s,transform .25s}
.cp-journey a:hover{border-color:var(--cp-orange);transform:translateY(-3px)}
.cp-journey a span:last-child{color:var(--cp-orange);font-size:20px}
.cp-mini-planes{position:relative;display:block;flex:none;width:31px;height:32px}
.cp-mini-planes i{position:absolute;left:4px;width:23px;height:12px;border:1.5px solid var(--cp-orange);background:var(--cp-panel);transform:rotate(-27deg) skew(28deg);transition:translate .35s ease}
.cp-mini-planes i:nth-child(1){top:2px;z-index:3}.cp-mini-planes i:nth-child(2){top:10px;z-index:2}.cp-mini-planes i:nth-child(3){top:18px;z-index:1}
.cp-journey a[href="#service-identity"] .cp-mini-planes i:nth-child(3),
.cp-journey a[href="#service-website"] .cp-mini-planes i:nth-child(2),
.cp-journey a[href="#service-marketing"] .cp-mini-planes i:nth-child(1){background:var(--cp-orange)}
.cp-journey a:hover .cp-mini-planes i:first-child{translate:0 -3px}.cp-journey a:hover .cp-mini-planes i:last-child{translate:0 3px}
.cp-chapter{scroll-margin-top:120px}
.cp-capabilities{padding:clamp(68px,8vw,112px) 0;background:var(--cp-base)}
.cp-capabilities h2{max-width:14ch;margin-bottom:36px}
.cp-capability-list{display:flex;flex-wrap:wrap;gap:12px}
.cp-capability-list a{padding:12px 18px;border:1px solid var(--cp-line);border-radius:999px;color:var(--cp-ink);text-decoration:none;font-size:13px;transition:background .25s,border-color .25s}
.cp-capability-list a:hover{background:var(--cp-panel);border-color:var(--cp-orange)}
.cp-process-card{border-top:3px solid var(--cp-orange)}
.cp-process-card:nth-child(2){border-top-color:var(--cp-art-line)}
.cp-process-card:nth-child(3){border-top-color:#fc885b}
.cp-contact-card{width:min(1280px,calc(100% - 96px));margin:clamp(70px,9vw,120px) auto;display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(24px,4vw,48px);border:1px solid var(--cp-line);border-radius:16px;background:var(--cp-panel)}
.cp-contact-photo{min-height:320px;display:grid;place-items:center;border:1px dashed var(--cp-line);border-radius:10px;background:radial-gradient(circle at 30% 30%,var(--cp-glow),transparent 65%),var(--cp-base);color:var(--cp-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.cp-contact-card h3{font-size:clamp(36px,4vw,56px);margin:16px 0}
.cp-contact-card p{font-size:15px;line-height:1.7}
.cp-contact-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:30px}
.cp-contact-links a{color:var(--cp-ink);text-decoration:none;border-bottom:1px solid var(--cp-orange);padding-bottom:5px;font-size:13px}
@media(max-width:991px){.cp-journey{grid-template-columns:1fr;margin-top:0}.cp-journey a{min-height:60px}.cp-contact-card{width:calc(100% - 56px)}}
@media(max-width:767px){.hero-grid{padding:20px;border-radius:14px}.cp-statement p{font-size:clamp(38px,9vw,62px)}.cp-impact{margin-top:36px}.cp-carousel-controls{margin:0 0 18px}.cp-work-carousel .work-card{flex-basis:100%}.cp-work-carousel .work-media,.cp-work-carousel .work-card:first-child .work-media{aspect-ratio:4/3}.cp-contact-card{width:calc(100% - 40px);grid-template-columns:1fr}.cp-contact-photo{min-height:220px}}



/* Approved shared services sequence and early video placement. */
.cp-service-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:64px;align-items:start}
.cp-service-layout>.cp-service-stage{position:sticky;top:120px;min-height:0;margin:0;display:block}
.cp-service-stage svg{width:100%;max-height:540px}
.cp-chapters{display:grid;gap:24px;padding-bottom:0}
.cp-chapter{position:static;display:block;min-height:480px;padding:40px;scroll-margin-top:140px}
.cp-chapter>:not(.cp-chapter-art){grid-column:auto}
.cp-chapter h3{font-size:clamp(32px,3.8vw,54px);max-width:none}
.cp-chapter>p{max-width:52ch}
.cp-service-stage .cp-continuity-token{display:none}
.cp-stage-controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.cp-stage-controls button{font:500 12px Poppins,sans-serif;min-height:44px;padding:8px 16px;border:1px solid var(--cp-line);border-radius:5px;background:var(--cp-base);color:var(--cp-ink);cursor:pointer}
.cp-stage-controls button[aria-pressed="true"]{background:var(--cp-orange);color:#000;border-color:var(--cp-orange)}
.cp-stage-controls button:hover{border-color:var(--cp-ink)}
.cp-stage-controls button:focus-visible{outline:2px solid var(--cp-ink);outline-offset:3px}
.cp-video-section{padding-top:0}
.cp-video-placeholder{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden}
.cp-video-placeholder video{display:block;width:100%;height:100%;object-fit:cover}
.cp-video-label{position:absolute;left:24px;bottom:24px;padding:8px 16px;background:var(--cp-base);color:var(--cp-ink);border:1px solid var(--cp-line);border-radius:5px;font-size:13px;pointer-events:none}
.cp-video-placeholder:has(video source[src]) .cp-video-label,.cp-video-placeholder:has(video[src]) .cp-video-label{display:none}
@media(max-width:991px){.cp-service-layout{gap:24px}.cp-chapter{padding:24px;min-height:400px}}
@media(max-width:767px){.cp-service-layout{display:block}.cp-service-layout>.cp-service-stage{position:static;margin:0 auto 28px;max-width:420px}.cp-service-stage svg{max-height:310px}.cp-chapter{min-height:0;padding:28px 24px}.cp-video-label{left:12px;bottom:12px;padding:6px 12px}}
@media(prefers-reduced-motion:reduce){.cp-service-stage .cp-output{transition:none;transform:none}}

.cp-paperclip-video{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--cp-base)}
@media(max-width:767px){.cp-paperclip-video{width:60%;margin-inline:auto}}

/* Scroll-driven case studies, with native swipe and static fallbacks. */
.cp-case-link{display:inline-flex;gap:18px;align-items:center;margin-top:12px;padding:8px 0;border-bottom:1px solid var(--cp-orange);font-size:13px;font-weight:600;color:var(--cp-ink)}
.cp-work-carousel .work-arrow{display:none}
.cp-work-carousel .work-card{animation:none!important}
.cp-work-carousel .work-card:focus-visible{outline:3px solid var(--cp-orange);outline-offset:6px}
.cp-work-carousel:not(.cp-gallery-ready) .cp-carousel-controls,.cp-gallery-static .cp-carousel-controls{display:none}
.cp-work-carousel:not(.cp-gallery-ready) .work-grid,.cp-gallery-static .work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;overflow:visible}
.cp-work-carousel:not(.cp-gallery-ready) .work-card,.cp-gallery-static .work-card{grid-column:auto}
.cp-gallery-pinned{height:calc(100svh - 145px + 160svh)}
.cp-gallery-pinned .cp-work-sticky{position:sticky;top:120px;height:calc(100svh - 145px);display:flex;flex-direction:column;justify-content:center}
.cp-gallery-pinned .work-grid{order:1;flex:1;display:block;overflow:clip;scroll-snap-type:none;width:100%;min-height:0}
.cp-gallery-pinned .cp-carousel-controls{order:2;justify-content:center;margin:16px 0 20px;flex:none}
.cp-gallery-pinned .work-card{position:absolute;left:50%;top:50%;width:min(56%,calc((100svh - 370px)*16/9));transform:translate(-50%,-50%) translateX(var(--cp-gallery-x,0px)) scale(var(--cp-gallery-scale,1));opacity:var(--cp-gallery-opacity,1);transform-origin:center;transition:none}
.cp-gallery-pinned .work-card:not(.is-current) :is(.work-meta,p,.cp-case-link){opacity:0}
.cp-gallery-pinned .work-meta{margin-top:20px}
.cp-gallery-pinned .work-meta h3{font-size:clamp(28px,3vw,42px)}
.cp-gallery-pinned .work-card p{margin-top:8px}
.cp-gallery-swipe .work-grid{padding-inline:7%;scroll-padding-inline:7%;gap:18px}
.cp-gallery-swipe .work-card{flex:0 0 100%;scroll-snap-align:center}
@media(max-width:767px){.cp-work-carousel:not(.cp-gallery-ready) .work-grid,.cp-gallery-static .work-grid{grid-template-columns:1fr}.cp-gallery-static .work-meta h3{font-size:28px}}
@media(min-width:768px) and (max-height:700px){.cp-gallery-pinned .work-meta h3{font-size:28px}.cp-gallery-pinned .work-meta{margin-top:12px}}

/* Balance the hero copy and artwork. */
.hero h1{font-size:clamp(48px,4.7vw,68px);line-height:1.08;max-width:none;letter-spacing:-.055em;text-wrap:balance}
.hero-actions .button:not(.outline){background:#c83f13;color:#f6f6f6}
.hero-actions .button:not(.outline):hover{background:#b53510;color:#f6f6f6}
@media(min-width:992px){.hero-grid{grid-template-columns:1fr 1.15fr}}
@media(min-width:768px) and (max-width:991px){.hero h1{font-size:54px;max-width:15ch}}
@media(max-width:767px){.hero h1{font-size:42px;max-width:14ch}}

/* Keep the navigation frame and brand aligned with the hero. */
.lm-nav{width:min(1280px,calc(100% - 96px))}
.lm-nav-bar{padding-inline:clamp(24px,3vw,48px);border-color:color-mix(in srgb,var(--cp-ink) 38%,var(--cp-base));box-shadow:0 8px 24px rgba(0,0,0,.18)}
.lm-nav-mobile{box-shadow:0 8px 24px rgba(0,0,0,.18)}
@media(min-width:768px) and (max-width:991px){.lm-nav{width:calc(100% - 56px)}}
@media(max-width:767px){.lm-nav{width:calc(100% - 40px)}.lm-nav-bar{padding-inline:20px}}
@media(max-width:359px){.lm-nav{width:calc(100% - 32px)}}

/* Approved type and ordered Brizy palette, 2026-10-10. */
:root {
  --lm-color-1: #ffffff;
  --lm-color-2: #f6f6f6;
  --lm-color-3: #f2e8d5;
  --lm-color-4: #a4a0a1;
  --lm-color-5: #fc885b;
  --lm-color-6: #f6521b;
  --lm-color-7: #413f54;
  --lm-color-8: #000000;
  /* Preview: white on brand orange is 3.42:1, below small-text contrast. */
  --lm-button-bg: var(--lm-color-6);
  --lm-button-hover: #a6320c;
  --cp-base: var(--lm-color-8);
  --cp-panel: var(--lm-color-8);
  --cp-ink: var(--lm-color-2);
  --cp-muted: var(--lm-color-2);
  --cp-orange: var(--lm-color-6);
  --cp-art-fill: var(--lm-color-8);
  --cp-art-line: var(--lm-color-2);
  --lm-h1: 2rem; --lm-h1-line: 2.375rem;
  --lm-h2: 1.75rem; --lm-h2-line: 2.25rem;
  --lm-h3: 1.375rem; --lm-h3-line: 1.875rem;
  --lm-h4: 1.25rem; --lm-h4-line: 1.75rem;
  --lm-intro: 1.125rem; --lm-intro-line: 1.75rem;
}
html[data-theme="light"] {
  --cp-base: var(--lm-color-2);
  --cp-panel: var(--lm-color-1);
  --cp-ink: var(--lm-color-7);
  --cp-muted: var(--lm-color-7);
  --cp-art-fill: var(--lm-color-2);
  --cp-art-line: var(--lm-color-7);
}
.connected-candidate {
  font-family: Poppins, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  --ink: var(--cp-ink);
  --muted: var(--cp-muted);
}
.connected-candidate :is(h1,h2,h3,h4,h5,h6) { font-weight: 600; }
.connected-candidate :is(.work-section,#about,.cp-capabilities,.cp-process,.faq-section,.cp-contact-card) :is(h2,h3,h4,h5,h6),
.connected-candidate .cp-step-number { color: var(--lm-color-8); }
.connected-candidate h1 { font-size: var(--lm-h1); line-height: var(--lm-h1-line); letter-spacing: -.02em; }
.connected-candidate h2 { font-size: var(--lm-h2); line-height: var(--lm-h2-line); letter-spacing: -.02em; }
.connected-candidate :is(h3,.work-card .work-meta h3,.cp-chapter h3,.cp-process-card h3,.cp-contact-card h3) { font-size: var(--lm-h3); line-height: var(--lm-h3-line); letter-spacing: normal; }
.connected-candidate h4 { font-size: var(--lm-h4); line-height: var(--lm-h4-line); letter-spacing: normal; }
.connected-candidate h5 { font-size: 1.125rem; line-height: 1.625rem; letter-spacing: normal; }
.connected-candidate h6 { font-size: 1rem; line-height: 1.5rem; letter-spacing: normal; }
.connected-candidate :is(p,li) { font-size: 1rem; line-height: 1.5rem; }
.connected-candidate :is(.hero-copy > p,.about-intro) { font-size: var(--lm-intro); line-height: var(--lm-intro-line); }
.connected-candidate .cp-statement p { font-size: var(--lm-h1); line-height: var(--lm-h1-line); font-weight: 600; letter-spacing: -.02em; }
.connected-candidate .eyebrow { font-size: .75rem; line-height: 1.125rem; font-weight: 500; letter-spacing: .06em; }
.connected-candidate :is(.hero-note,.hero-foot,.work-card > p,.cp-tags,.cp-case-link,.quote-credit,.signature span,.footer-bottom,.cp-video-label,.cp-contact-photo,.cp-carousel-count,.cp-impact) { font-size: .875rem; line-height: 1.3125rem; letter-spacing: normal; }
.connected-candidate :is(.lm-nav-links a,.lm-nav-mobile a,.lm-nav-toggle,.button,.lm-nav-cta,.footer-links a,.cp-capability,.cp-stage-controls button) { font-family: Poppins, Arial, sans-serif; font-size: .875rem; line-height: 1.25rem; font-weight: 500; letter-spacing: normal; }
.connected-candidate :is(.text-link,.cp-contact-links a,.cp-capability-list a,.cp-journey a,.faq-list summary,.cp-chapter summary) { font-size: 1rem; line-height: 1.5rem; letter-spacing: normal; }
.connected-candidate .quote { font-size: var(--lm-intro); line-height: var(--lm-intro-line); }
.connected-candidate :is(.button:not(.outline),.lm-nav-cta) { background: var(--lm-button-bg); color: var(--lm-color-1); border-color: var(--lm-button-bg); }
.connected-candidate :is(.button:not(.outline),.lm-nav-cta):hover { background: var(--lm-button-hover); color: var(--lm-color-1); border-color: var(--lm-button-hover); }
.connected-candidate .button.outline { background: transparent; color: var(--cp-ink); border-color: var(--cp-ink); }
@media (min-width: 768px) {
  :root {
    --lm-h1: 3rem; --lm-h1-line: 3.375rem;
    --lm-h2: 2.125rem; --lm-h2-line: 2.625rem;
    --lm-h3: 1.5rem; --lm-h3-line: 2rem;
  }
}
@media (min-width: 1024px) {
  :root {
    --lm-h1: 3.75rem; --lm-h1-line: 4.125rem;
    --lm-h2: 2.5rem; --lm-h2-line: 3rem;
    --lm-h3: 1.625rem; --lm-h3-line: 2.125rem;
    --lm-h4: 1.375rem; --lm-h4-line: 1.875rem;
    --lm-intro: 1.25rem; --lm-intro-line: 1.875rem;
  }
}
/* Approved light canvas and dark panels, 2026-10-10. */
.connected-candidate {
  --cp-base: var(--lm-color-2);
  --cp-panel: var(--lm-color-1);
  --cp-ink: var(--lm-color-7);
  --cp-muted: var(--lm-color-7);
  --cp-line: rgba(65,63,84,.2);
  --cp-art-fill: var(--lm-color-1);
  --cp-art-line: var(--lm-color-7);
  --cp-glow: transparent;
  --cp-soft-glow: transparent;
  --lm-panel-inset: clamp(20px,4vw,48px);
  background: var(--lm-color-2);
  color: var(--cp-ink);
}
.connected-candidate :is(.lm-nav,.hero-grid,.cp-video-section,.cp-services,.trust-grid,.closing) {
  --cp-base: var(--lm-color-8);
  --cp-panel: var(--lm-color-8);
  --cp-ink: var(--lm-color-2);
  --cp-muted: var(--lm-color-2);
  --cp-line: rgba(246,246,246,.25);
  --cp-art-fill: var(--lm-color-8);
  --cp-art-line: var(--lm-color-2);
  --ink: var(--cp-ink);
  --muted: var(--cp-muted);
  color: var(--cp-ink);
}
.connected-candidate :is(.cp-services,.trust-grid) {
  --cp-base: var(--lm-color-7);
  --cp-panel: var(--lm-color-7);
  --cp-ink: var(--lm-color-1);
  --cp-muted: var(--lm-color-1);
  --cp-art-fill: var(--lm-color-7);
  --cp-art-line: var(--lm-color-1);
}
.connected-candidate :is(.lm-nav,.hero,.work-section,.cp-video-section,.cp-services,#about,.cp-capabilities,.cp-process,.faq-section,.cp-contact-card,.closing) {
  width: min(1280px,calc(100% - 32px));
  margin-inline: auto;
}
.connected-candidate :is(.work-section,.cp-video-section,.cp-services,#about,.cp-capabilities,.cp-process,.faq-section,.cp-contact-card,.closing) {
  border-radius: 20px;
  margin-block: 24px;
}
.connected-candidate :is(.work-section,.cp-video-section,.cp-capabilities,.cp-services,.cp-process,.faq-section,.closing) :is(.wrap,.cp-services-inner,.cp-process-inner) {
  width: calc(100% - var(--lm-panel-inset)*2);
}
.connected-candidate .cp-review-bar { background: var(--lm-color-2); color: var(--lm-color-7); border-color: rgba(65,63,84,.2); }
.connected-candidate #theme-toggle { display: none; }
.connected-candidate .lm-nav { top: 64px; }
.connected-candidate :is(.lm-nav-bar,.lm-nav-mobile) { background: var(--lm-color-8); border-radius: 16px; }
.connected-candidate .hero-grid { background: var(--lm-color-8); border-color: var(--lm-color-8); box-shadow: none; border-radius: 20px; padding: var(--lm-panel-inset); }
.connected-candidate .hero-foot { padding-inline: var(--lm-panel-inset); }
.connected-candidate .cp-statement { background: transparent; }
.connected-candidate .cp-statement .wrap { width: min(1184px,calc(100% - 72px)); }
.connected-candidate .cp-video-section { background: var(--lm-color-8); padding-block: var(--lm-panel-inset); }
.connected-candidate .cp-video-placeholder { border: 0; border-radius: 12px; }
.connected-candidate :is(.work-section,.cp-capabilities,.cp-process,.faq-section) { background: var(--lm-color-1); }
.connected-candidate .cp-services { background: var(--lm-color-7); }
.connected-candidate .cp-services .cp-chapter { background: rgba(0,0,0,.12); border-color: rgba(255,255,255,.25); border-radius: 12px; }
.connected-candidate .cp-services .cp-journey a { background: transparent; border-radius: 12px; }
.connected-candidate .work-media { background: var(--lm-color-3); border-radius: 12px; }
.connected-candidate #about { background: var(--lm-color-1); padding-inline: var(--lm-panel-inset); }
.connected-candidate .cp-process-card { background: var(--lm-color-3); border-radius: 12px; }
.connected-candidate .trust-grid { background: var(--lm-color-7); border-radius: 20px; padding: var(--lm-panel-inset); }
.connected-candidate .cp-contact-card { background: var(--lm-color-3); padding: var(--lm-panel-inset); border: 0; }
.connected-candidate .cp-contact-photo { background: var(--lm-color-2); border-color: rgba(65,63,84,.35); }
.connected-candidate .closing { background: var(--lm-color-8); border: 0; margin-bottom: 24px; }
.connected-candidate .closing-top { border-left: 0; padding-left: 0; }
@media (max-width: 767px) {
  .connected-candidate :is(.lm-nav,.hero,.work-section,.cp-video-section,.cp-services,#about,.cp-capabilities,.cp-process,.faq-section,.cp-contact-card,.closing) { width: calc(100% - 24px); }
  .connected-candidate :is(.work-section,.cp-video-section,.cp-services,#about,.cp-capabilities,.cp-process,.faq-section,.cp-contact-card,.closing) { margin-block: 12px; border-radius: 16px; }
  .connected-candidate .hero-grid { border-radius: 16px; }
  .connected-candidate .cp-statement .wrap { width: calc(100% - 64px); }
  .connected-candidate .hero-foot { padding-inline: 8px; }
}
/* Slim glass navigation and a fading hero dot field. */
.connected-candidate { --lm-frame-gutter: max(16px,calc((100% - 1280px)/2)); --lm-review-offset: 0px; }
.connected-candidate.cp-review { --lm-review-offset: 48px; }
.connected-candidate .cp-review-bar { height: 48px; min-height: 48px; line-height: 1.25; }
.connected-candidate .lm-nav { top: calc(var(--lm-review-offset) + 24px); --cp-ink: var(--lm-color-1); }
.connected-candidate :is(.lm-nav-bar,.lm-nav-mobile) {
  background: rgba(0,0,0,.78);
  border: 1px solid rgba(164,160,161,.55);
  border-radius: 14px;
  backdrop-filter: blur(3px);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.65),inset 0 -2px 3px rgba(164,160,161,.28),inset 1px 0 2px rgba(255,255,255,.22),0 8px 24px rgba(0,0,0,.12);
}
.connected-candidate .lm-nav-bar { min-height: 56px; padding: 5px 10px 5px 20px; gap: 20px; }
.connected-candidate .lm-nav-brand { width: 150px; }
.connected-candidate .lm-nav-brand img { filter: none; }
.connected-candidate :is(.lm-nav-links a,.lm-nav-toggle,.lm-nav-mobile > a:not(.lm-nav-cta)) { color: var(--lm-color-1); }
.connected-candidate .lm-nav-links { gap: 6px; }
.connected-candidate .lm-nav-links a { padding: 9px 14px; border-radius: 8px; transition: background .2s,color .2s; }
.connected-candidate .lm-nav-links a::after { display: none; }
.connected-candidate :is(.lm-nav-links a,.lm-nav-mobile > a:not(.lm-nav-cta)):is(:hover,:focus-visible) { background: rgba(255,255,255,.12); color: var(--lm-color-3); }
.connected-candidate .lm-nav-toggle { min-height: 44px; border-color: rgba(255,255,255,.45); }
.connected-candidate .lm-nav .lm-nav-cta {
  min-height: 44px; padding: 9px 18px; font-weight: 600; border-radius: 9px;
  background: var(--lm-color-3); color: var(--lm-color-8); border: 1px solid rgba(255,255,255,.85);
  box-shadow: inset 0 1px 0 var(--lm-color-1),0 0 14px rgba(242,232,213,.16);
  transition: background .2s,box-shadow .2s,transform .2s;
}
.connected-candidate .lm-nav .lm-nav-cta span { display: inline-block; transition: transform .2s; }
.connected-candidate .lm-nav .lm-nav-cta:is(:hover,:focus-visible) { background: var(--lm-color-1); color: var(--lm-color-8); transform: translateY(-1px); box-shadow: 0 0 22px rgba(242,232,213,.35); }
.connected-candidate .lm-nav .lm-nav-cta:is(:hover,:focus-visible) span { transform: translate(2px,-2px); }
.connected-candidate .lm-nav :is(a,button):focus-visible { outline: 3px solid var(--lm-color-3); outline-offset: 3px; }
.connected-candidate #home.hero { position: relative; isolation: isolate; width: 100%; padding-top: calc(24px + 56px + var(--lm-frame-gutter)); }
.connected-candidate :is(.hero-grid,.hero-foot) { width: min(1280px,calc(100% - 32px)); margin-inline: auto; }
.connected-candidate .hero::before {
  display: block; content: ''; position: absolute; top: calc(-1 * var(--lm-review-offset)); left: 0; right: 0;
  height: calc(var(--lm-review-offset) + 80px + max(16px,calc((100vw - 1280px)/2)));
  pointer-events: none; z-index: -1;
  background: radial-gradient(circle,var(--lm-color-6) 1.25px,transparent 1.75px) 0 0 / 16px 16px;
  opacity: .5; animation: lm-dot-shimmer 8s ease-in-out infinite alternate;
}
.connected-candidate .hero-grid { position: relative; isolation: isolate; overflow: hidden; }
.connected-candidate .hero-grid::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(circle,var(--lm-color-6) 1.25px,transparent 1.75px) 0 0 / 16px 16px;
  mask-image: linear-gradient(to bottom,#000 0%,rgba(0,0,0,.65) 20%,transparent 50%);
  opacity: .5; animation: lm-dot-shimmer 8s ease-in-out infinite alternate;
}
@keyframes lm-dot-shimmer { from { opacity: .4; } to { opacity: .65; } }
@media (max-width: 767px) {
  .connected-candidate { --lm-frame-gutter: 12px; }
  .connected-candidate .lm-nav-bar { padding-inline: 14px; }
  .connected-candidate :is(.hero-grid,.hero-foot) { width: calc(100% - 24px); }
  .connected-candidate .hero::before { height: calc(var(--lm-review-offset) + 92px); }
  .connected-candidate :is(.hero,.hero-grid)::before { background-size: 14px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .connected-candidate :is(.hero,.hero-grid)::before { animation: none; }
  .connected-candidate .lm-nav :is(a,button,span) { transition: none; }
  .connected-candidate .lm-nav .lm-nav-cta:is(:hover,:focus-visible),.connected-candidate .lm-nav .lm-nav-cta:is(:hover,:focus-visible) span { transform: none; }
}
.connected-candidate .cp-review-bar { background: transparent; }

/* Keep the decorative field behind the navigation and opaque hero panel. */
.connected-candidate { position: relative; isolation: isolate; }
.connected-candidate.lm-dot-ready :is(.hero,.hero-grid)::before { display: none; }
.connected-candidate .hero-grid::before { display: none; }
.connected-candidate .lm-dot-waves { position: absolute; top: 0; left: 0; width: 100%; z-index: -1; pointer-events: none; }

.connected-candidate .hero h1 .subline,
.connected-candidate .cp-statement p > span:nth-child(2),
.connected-candidate .trust-grid .eyebrow,
.connected-candidate .cp-contact-card h3:first-of-type {
  font-family: Poppins,Arial,sans-serif;
  font-weight: 400; letter-spacing: normal; text-transform: none;
  line-height: 1.3;
}
.connected-candidate .hero h1 .subline { line-height: 1.1; margin-top: 2px; }
.connected-candidate .cp-statement p > span:nth-child(2) { margin-top: 18px; color: var(--lm-color-7); }
.connected-candidate .trust-grid .eyebrow { font-size: 32px; margin-bottom: 20px; }
.connected-candidate .trust-grid .eyebrow::before { display: none; }
.connected-candidate .cp-contact-card h3:first-of-type { font-size: 42px; margin-block: 8px 12px; }

/* Service details remain readable throughout the scroll. */
.connected-candidate .cp-services .cp-chapters { gap: 24px; padding-bottom: 0; }
.connected-candidate .cp-services .cp-chapter { position: relative; top: auto; background: var(--lm-color-7); box-shadow: none; }

.connected-candidate .cp-capability-list { display: flex; flex-wrap: wrap; gap: 14px 16px; align-items: center; }
.connected-candidate .cp-capability-list a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 66px; padding: 12px 26px; border: 1px solid var(--lm-color-8);
  border-radius: 999px; font-size: clamp(24px,2.3vw,34px); font-weight: 400;
  line-height: 1.2; letter-spacing: -.025em; color: var(--lm-color-8);
  background: transparent; text-decoration: none;
  transition: transform .2s,box-shadow .2s;
}
.connected-candidate .cp-capability-list a:nth-of-type(3n+1) { background: var(--lm-color-3); border-color: transparent; }
.connected-candidate .cp-capability-list a:nth-of-type(4) { background: var(--lm-color-6); border-color: transparent; color: var(--lm-color-8); }
.connected-candidate .cp-capability-list a:nth-of-type(6) { background: var(--lm-color-8); color: var(--lm-color-1); }
.connected-candidate .cp-capability-list a:nth-of-type(9) { background: var(--lm-color-5); border-color: transparent; color: var(--lm-color-8); }
.connected-candidate .cp-capability-list a:is(:hover,:focus-visible) { transform: translateY(-3px); box-shadow: 0 5px 0 rgba(65,63,84,.12); }
.connected-candidate .cp-capability-list a:focus-visible { outline: 3px solid var(--lm-color-8); outline-offset: 4px; }
.connected-candidate .cp-capability-arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: 66px; height: 66px; border-radius: 50%; flex-shrink: 0;
  background: var(--lm-color-5); color: var(--lm-color-8); font-size: 38px; line-height: 1;
}
.connected-candidate .cp-capability-arrow:last-of-type { background: var(--lm-color-3); color: var(--lm-color-8); }
.connected-candidate .cp-process-card {
  background-color: var(--lm-color-3);
  background-image: url('../assets/textures/paper-grain.svg');
  background-blend-mode: multiply;
}
@media (max-width: 767px) {
  .connected-candidate .trust-grid .eyebrow { font-size: 28px; }
  .connected-candidate .cp-contact-card h3:first-of-type { font-size: 36px; }
  .connected-candidate .cp-capability-list { gap: 10px; }
  .connected-candidate .cp-capability-list a { min-height: 48px; padding: 10px 16px; font-size: 18px; }
  .connected-candidate .cp-capability-arrow { width: 48px; height: 48px; font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .connected-candidate .cp-capability-list a { transition: none; }
  .connected-candidate .cp-capability-list a:is(:hover,:focus-visible) { transform: none; }
}
/* Balanced hero: copy and actions left, animation right. */
.connected-candidate .hero-grid { grid-template-columns: 1fr 1fr; align-items: center; column-gap: 48px; row-gap: 24px; }
.connected-candidate .hero-copy { grid-column: 1; grid-row: 1; padding: 0; }
.connected-candidate .hero-copy h1 { max-width: 14ch; text-wrap: balance; }
.connected-candidate .hero-copy p { max-width: 36ch; }
.connected-candidate .hero-copy .hero-actions { justify-content: flex-start; flex-wrap: wrap; gap: 20px; margin: 32px 0 20px; }
.connected-candidate .hero-copy .hero-note { margin: 0; max-width: 36ch; color: var(--lm-color-2); }
.connected-candidate .hero-art { grid-column: 2; grid-row: 1; width: 100%; margin: 0; }
.connected-candidate .hero-art .cp-hero-svg { width: 100%; height: 340px; }
.connected-candidate .cp-blog { width: min(1280px,calc(100% - 32px)); margin: 24px auto; background: var(--lm-color-1); border-radius: 20px; color: var(--lm-color-8); }
.connected-candidate .cp-blog .section-head { align-items: end; }
.connected-candidate .cp-blog-note { font-size: 14px; margin: -12px 0 32px; }
.connected-candidate .cp-blog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.connected-candidate .cp-article-card { overflow: hidden; border: 1px solid rgba(0,0,0,.18); border-radius: 16px; background: var(--lm-color-2); }
.connected-candidate .cp-article-art { display: grid; place-items: center; min-height: 170px; background: var(--lm-color-3); background-image: url('../assets/textures/paper-grain.svg'); }
.connected-candidate .cp-article-art span { font-size: 64px; font-weight: 600; letter-spacing: -.06em; }
.connected-candidate .cp-article-card:nth-child(2) .cp-article-art { background-color: var(--lm-color-5); }
.connected-candidate .cp-article-card:nth-child(3) .cp-article-art { background-color: var(--lm-color-4); }
.connected-candidate .cp-article-copy { padding: 24px; }
.connected-candidate .cp-article-copy h3 { margin: 12px 0 16px; color: var(--lm-color-8); text-wrap: balance; }
.connected-candidate .cp-article-copy p { margin: 0 0 24px; }
.connected-candidate .cp-article-status { font-size: 12px; border-top: 1px solid rgba(0,0,0,.18); display: block; padding-top: 16px; }
@media (min-width: 768px) and (max-width: 1023px) {
  .connected-candidate .hero-grid { column-gap: 28px; }
  .connected-candidate .cp-blog-grid { gap: 16px; }
  .connected-candidate .cp-article-copy { padding: 20px; }
}
@media (max-width: 767px) {
  .connected-candidate .hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .connected-candidate :is(.hero-copy,.hero-art) { grid-column: 1; grid-row: auto; }
  .connected-candidate .hero-art .cp-hero-svg { height: auto; max-height: 340px; }
  .connected-candidate .cp-blog-grid { grid-template-columns: 1fr; }
  .connected-candidate .cp-blog .section-head { align-items: start; gap: 24px; }
  .connected-candidate .cp-blog { border-radius: 16px; }
}
/* Keep the page surround light behind the animated dots. */
.connected-candidate {
  background-color: var(--lm-color-2);
  background-image: none;
}
.connected-candidate .cp-review-bar { color: var(--lm-color-2); border-color: rgba(255,255,255,.18); }

.connected-candidate .hero-foot { color: var(--lm-color-7); border-color: rgba(65,63,84,.2); }



@media (min-width: 768px) {
  .connected-candidate .cp-service-layout > .cp-service-stage { top: calc(var(--lm-review-offset) + 104px); }
}

.connected-candidate .cp-statement p > span { display: block; margin: 0; }

/* Framed video expands and returns while its section scrolls past. */
.connected-candidate #main .cp-video-section.cp-video-scroll-ready { width: 100%; height: 200svh; padding: 0; margin-block: 24px; border-radius: 0; background: var(--lm-color-2); scroll-margin-top: 0; }
.connected-candidate #main .cp-video-scroll-ready > .wrap { position: sticky; top: 0; width: 100%; max-width: none; height: 100svh; padding: 0; margin: 0; display: grid; place-items: center; }
.connected-candidate #main .cp-video-scroll-ready .reel-player { width: var(--cp-reel-width); height: var(--cp-reel-height); padding: var(--cp-reel-inset); aspect-ratio: auto; border: 0; border-radius: var(--cp-reel-radius); background: #000; }
.connected-candidate #main .cp-video-scroll-ready video { width: 100%; height: 100%; object-fit: cover; border-radius: var(--cp-reel-radius); }
.connected-candidate.lm-video-immersive .lm-nav { visibility: hidden; pointer-events: none; }

/* Full-width headline with supporting copy and animation beneath. */
.connected-candidate .hero-heading { grid-column: 1 / -1; grid-row: 1; }
.connected-candidate .hero-heading h1 { width: 100%; max-width: none; text-wrap: balance; }
.connected-candidate .hero-copy { grid-column: 1; grid-row: 2; }
.connected-candidate .hero-art { grid-column: 2; grid-row: 2; }
@media (max-width: 767px) {
  .connected-candidate :is(.hero-heading,.hero-copy,.hero-art) { grid-column: 1; grid-row: auto; }
}

/* Match the testimonial panel's outer edges across the page. */
.connected-candidate { --lm-shell-width: min(1280px,calc(100% - 56px)); }
.connected-candidate .lm-nav,
.connected-candidate #main :is(.hero-grid,.hero-foot,.cp-statement,.work-section,.cp-services,#about,.cp-capabilities,.cp-process,.faq-section,.cp-blog,.cp-contact-card,.closing),
.connected-candidate #main > .section.wrap { width: var(--lm-shell-width); margin-inline: auto; }
.connected-candidate #main .trust-grid { width: 100%; }
.connected-candidate :is(h1,h2,h3,h4,h5,h6) { text-wrap: balance; }
.connected-candidate :is(p,li,blockquote,.hero-note) { text-wrap: pretty; }
.connected-candidate #cp-capabilities-title { max-width: none; }
.connected-candidate .cp-capability-line { display: block; white-space: nowrap; }
@media (max-width: 767px) {
  .connected-candidate { --lm-shell-width: calc(100% - 32px); }
}
/* The immersive video deliberately grows beyond the shared shell. */
.connected-candidate #main #brand-video.cp-video-scroll-ready { width: 100%; }

/* Match the original shell selector specificity for menu and closing panel. */
.connected-candidate :is(.lm-nav,.closing,#about) { width: var(--lm-shell-width); margin-inline: auto; }
.connected-candidate .hero-grid { grid-template-columns: 1fr; }
.connected-candidate .cp-statement-layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 40px; }
.connected-candidate .cp-statement-copy p { font-size: var(--lm-h2); line-height: var(--lm-h2-line); }
.connected-candidate .cp-statement .hero-art { grid-column: 2; grid-row: 1; width: 100%; max-width: none; margin: 0; color: var(--lm-color-8); --cp-ink: var(--lm-color-8); --cp-art-line: var(--lm-color-8); --cp-art-fill: var(--lm-color-1); --cp-muted: var(--lm-color-8); --cp-line: rgba(0,0,0,.2); }
.connected-candidate .cp-statement .cp-hero-svg { width: 100%; height: auto; max-height: 420px; }
@media (max-width: 767px) {
  .connected-candidate .cp-statement-layout { grid-template-columns: 1fr; gap: 28px; }
  .connected-candidate .cp-statement .hero-art { grid-column: 1; grid-row: auto; }
  .connected-candidate #cp-capabilities-title { font-size: clamp(1.375rem,6.6vw,1.75rem); }
}

/* Shared spacing and centered hero preview. */
.connected-candidate .hero-grid { background: #000; border-color: #000; text-align: center; }
.connected-candidate .hero-heading .eyebrow { justify-content: center; }
.connected-candidate .hero-copy { justify-self: center; width: 100%; }
.connected-candidate .hero-copy p,.connected-candidate .hero-copy .hero-note { margin-inline: auto; }
.connected-candidate .hero-copy .hero-actions { justify-content: center; gap: 48px; }
.connected-candidate #home.hero { padding-top: 108px; padding-bottom: 80px; }
.connected-candidate .hero-foot { margin-top: 40px; }
.connected-candidate .hero-grid { --cp-hero-space: 270px; row-gap: 16px; padding-block: var(--cp-hero-space); }
.connected-candidate .hero-copy { padding-block: 0; }
.connected-candidate .hero-copy p { margin-block: 0 40px; }
.connected-candidate .hero-copy .hero-actions > a { min-height: 52px; }
.connected-candidate .hero-copy .hero-actions > .text-link { padding-block: 0; }
.connected-candidate .hero-copy .hero-note { margin-top: 24px; max-width: none; }
.connected-candidate .hero-grid { position: relative; overflow: hidden; isolation: isolate; }
.connected-candidate .hero-heading,.connected-candidate .hero-copy { position: relative; z-index: 2; }
.connected-candidate .hero-grid::after { content: ''; position: absolute; z-index: 1; left: -15%; top: 50%; width: 130%; height: calc(100% - var(--cp-hero-space) * 2 + 320px); transform: translateY(-50%); background: radial-gradient(ellipse closest-side at center,rgba(0,0,0,.68) 32%,rgba(0,0,0,.52) 55%,rgba(0,0,0,.24) 76%,rgba(0,0,0,.06) 90%,transparent 100%); pointer-events: none; }
.cp-hero-collage { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.cp-hero-collage img { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); object-fit: contain; opacity: .35; transform: translate(calc(var(--cp-pointer-x,0px) * var(--depth,1)),calc(var(--cp-pointer-y,0px) * var(--depth,1))) scaleX(var(--flip,1)); transition: transform .6s ease-out; }
@media (max-width: 767px) {
  .connected-candidate #home.hero { padding-top: 104px; padding-bottom: 56px; }
  .connected-candidate .hero-foot { margin-top: 32px; }
  .connected-candidate .hero-grid { --cp-hero-space: 156px; row-gap: 12px; }
  .connected-candidate .hero-copy .hero-actions { gap: 20px 32px; }
  .connected-candidate .hero-copy .hero-note { max-width: 36ch; }
  .cp-hero-collage img { opacity: .25; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-hero-collage img { transform: scaleX(var(--flip,1)); transition: none; }
}
.connected-candidate #main > :is(.cp-statement,.work-section,.cp-services,#about,.cp-capabilities,.cp-process,.faq-section,.cp-blog) { margin-block: 24px; padding-block: var(--lm-panel-inset); }
.connected-candidate #main > .section.wrap:has(> .trust-grid) { margin-block: 24px; padding-block: 0; }
.connected-candidate #main > .cp-statement > .wrap { width: calc(100% - var(--lm-panel-inset) * 2); }
.connected-candidate .closing { padding-block: var(--lm-panel-inset); }
.connected-candidate .closing > .wrap { width: calc(100% - var(--lm-panel-inset) * 2); }
@media (max-width: 767px) {
  .connected-candidate .cp-art-caption { flex-wrap: wrap; justify-content: center; gap: 8px; }
  .connected-candidate .cp-art-caption .cp-capability { flex: 0 1 auto; min-width: 0; }
}

/* One shared gap between the page panels. */
.connected-candidate { --cp-container-gap: 24px; }
.connected-candidate #main { display: flex; flex-direction: column; gap: var(--cp-container-gap); }
.connected-candidate #main > :is(section,aside)[class],
.connected-candidate #main > .section.wrap:has(> .trust-grid),
.connected-candidate #main > .cp-video-section.cp-video-scroll-ready { margin-block: 0; }
.connected-candidate #home.hero { padding-top: calc(var(--lm-review-offset) + 80px + var(--cp-container-gap)); padding-bottom: 0; }
.connected-candidate #home .hero-foot { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); margin-top: 0; border: 0; color: rgba(246,246,246,.6); }
.connected-candidate .closing { margin-block: var(--cp-container-gap); }

.cp-ink-trail { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 200; pointer-events: none; overflow: hidden; }
.cp-ink-trail path { fill: none; stroke: #f6521b; stroke-opacity: .28; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; filter: blur(.7px) drop-shadow(0 0 4px #f6521b80) drop-shadow(0 0 9px #f6521b40); }
@keyframes cp-ink-fade { from { opacity: .85; } to { opacity: 0; } }
/* Taller work images fill more of the pinned gallery. */
.connected-candidate .cp-gallery-pinned .work-card { width: min(64%,calc((100svh - 300px) * 4 / 3)); }
.connected-candidate .cp-gallery-pinned .work-card .work-media { aspect-ratio: 4 / 3; }
@media (min-width: 768px) {
  .connected-candidate .lm-nav { transition: width .25s ease; }
  .connected-candidate .lm-nav-brand { transition: width .25s ease; }
  .connected-candidate .lm-nav.is-compact { width: min(1040px,calc(100% - 56px)); }
  .connected-candidate .lm-nav.is-compact .lm-nav-bar { min-height: 52px; padding-block: 3px; }
  .connected-candidate .lm-nav.is-compact .lm-nav-brand { width: 134px; }
}
@media (prefers-reduced-motion: reduce) {
  .connected-candidate .lm-nav,.connected-candidate .lm-nav-brand { transition: none; }
}
.connected-candidate .cp-capability-arrow.cp-capability-image { background-repeat: no-repeat; }
.connected-candidate .cp-capability-arrow.cp-capability-identity { background-image: url('../assets/home/work-cards/giving-plate-work.webp'); background-size: 240%; background-position: 58% 20%; }
.connected-candidate .cp-capability-arrow.cp-capability-logo { background-image: url('../assets/home/work-cards/rocketpoint-work.webp'); background-size: 300%; background-position: 30% 35%; }
.connected-candidate .cp-process-card { position: relative; display: block; padding: 48px 32px 32px; border: 1px solid rgba(65,63,84,.2); border-radius: 4px; box-shadow: 0 6px 14px rgba(0,0,0,.06); }
.connected-candidate .cp-note-stack::before { content: ''; position: absolute; width: 28px; height: 58px; left: calc(50% - 14px); top: -20px; background: url('../assets/textures/note-paperclip.svg') center / contain no-repeat; transform: rotate(-12deg); pointer-events: none; }
.connected-candidate .cp-process-title { display: block; }
.connected-candidate .cp-process-card h3 { margin: 0 0 24px; }
.connected-candidate .trust-grid { background: transparent; padding: 0; gap: var(--cp-container-gap); }
.connected-candidate .trust-grid > div { padding: var(--lm-panel-inset); border-radius: 20px; }
.connected-candidate .trust-grid > div:first-child { --cp-ink: #000; --cp-muted: #413f54; color: #000; background: var(--lm-color-3) url('../assets/textures/paper-grain.svg'); border: 1px solid rgba(65,63,84,.15); }
.connected-candidate .trust-grid > .fit { background: var(--lm-color-7); }

/* Approved combined treatment. Copy and section order remain unchanged. */
.connected-candidate .cp-statement .hero-art { position: relative; padding: 38px 24px 22px; border: 10px solid #333142; border-radius: 14px; background: #413f54 url('../assets/textures/paper-grain.svg'); color: #f6f6f6; --cp-ink: #f6f6f6; --cp-art-line: #f6f6f6; --cp-art-fill: #413f54; --cp-muted: #f6f6f6; --cp-line: #a4a0a1; isolation: isolate; }
.connected-candidate .cp-statement .hero-art .cp-hero-svg { position: relative; z-index: 1; width: 100%; max-height: 390px; }
.cp-bench-note { position: absolute; top: 5px; left: -18px; width: 92px; height: 108px; background: #f2e8d5 url('../assets/textures/paper-grain.svg'); transform: rotate(-12deg); box-shadow: 0 5px 9px #0002; z-index: 2; pointer-events: none; }
.cp-bench-note img { position: absolute; width: 100px; height: 100px; top: -30px; left: -5px; object-fit: contain; }
.cp-bench-stamp { position: absolute; z-index: 2; right: -25px; top: -37px; width: 106px; height: 120px; transform: rotate(12deg); object-fit: contain; pointer-events: none; }
.connected-candidate .cp-statement .cp-art-caption { position: relative; z-index: 2; border-color: #a4a0a1; flex-wrap: wrap; justify-content: center; }
.connected-candidate .cp-statement .cp-art-caption .cp-capability { color: #f6f6f6; background: #413f54; border-color: #a4a0a1; min-height: 44px; }
.connected-candidate .cp-statement .cp-capability:is(:hover,:focus-visible,[aria-pressed="true"]) { border-color: #f6521b; background: #252332; }
.connected-candidate .cp-service-layout { display: block; }
.connected-candidate .cp-services .cp-chapters { display: block; padding: 0; }
.connected-candidate .cp-services .cp-chapter { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 48px; position: static; min-height: 0; padding: 40px; margin: 0; }
.connected-candidate .cp-chapter[hidden] { display: none!important; }
.connected-candidate .cp-chapter > :is(.eyebrow,h3,p,.cp-tags) { grid-column: 1; }
.connected-candidate .cp-chapter > details { grid-column: 2; grid-row: 1 / 5; align-self: center; }
.connected-candidate .cp-chapter > .text-link { grid-column: 2; grid-row: 5; margin-top: 24px; align-self: end; }
.connected-candidate .cp-chapter > h3 { max-width: none; }
.connected-candidate .cp-journey { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.connected-candidate .cp-journey button { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 88px; padding: 20px; border: 1px solid #a4a0a1; border-radius: 12px; background: transparent; color: #f6f6f6; font: inherit; font-size: 16px; font-weight: 600; line-height: 1.4; text-align: left; cursor: pointer; }
.connected-candidate .cp-journey button[aria-selected="true"] { background: #f2e8d5; color: #252332; border-color: #f2e8d5; }
.connected-candidate .cp-journey button:is(:hover,:focus-visible) { outline: 3px solid #f6521b; outline-offset: 3px; }
.connected-candidate .cp-journey .cp-mini-planes { flex: 0 0 35px; }
.connected-candidate .cp-journey button > span:not(.cp-mini-planes) { min-width: 0; overflow-wrap: anywhere; }
.connected-candidate .cp-journey button:nth-child(1) .cp-mini-planes i:nth-child(3),.connected-candidate .cp-journey button:nth-child(2) .cp-mini-planes i:nth-child(2),.connected-candidate .cp-journey button:nth-child(3) .cp-mini-planes i:nth-child(1) { background: #f6521b; }
.connected-candidate .cp-journey .cp-mini-planes i:nth-child(1) { z-index: 3; }
.connected-candidate .cp-journey .cp-mini-planes i:nth-child(2) { z-index: 2; }
.connected-candidate .cp-journey .cp-mini-planes i:nth-child(3) { z-index: 1; }
.connected-candidate .cp-capabilities > .wrap { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.55fr); align-items: center; gap: 0 48px; }
.connected-candidate .cp-capabilities > .wrap > :not(.cp-offer-loop) { grid-column: 1; }
.connected-candidate .cp-capabilities .cp-offer-loop { grid-column: 2; grid-row: 1 / 5; margin: 0; }
.connected-candidate .cp-capability-list { gap: 12px; }
.connected-candidate .cp-capability-list a { min-height: 48px; font-size: clamp(18px,1.7vw,24px); padding: 10px 18px; }
.connected-candidate .cp-capability-arrow.cp-capability-image { width: 64px; height: 64px; border-radius: 0; aspect-ratio: 1; flex: 0 0 64px; }
.wb-loop-media { position: relative; overflow: hidden; border-radius: 12px; }
.connected-candidate .cp-offer-loop .cp-paperclip-video { display: block; width: 100%; margin: 0; aspect-ratio: 1; object-fit: cover; }
.wb-loop-poster { display: none; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wb-show-still .wb-loop-poster { display: block; }
.wb-video-toggle { display: block; min-height: 44px; margin: 14px auto 0; padding: 9px 20px; border: 1px solid currentColor; border-radius: 99px; background: transparent; color: #413f54; font: inherit; font-size: 14px; cursor: pointer; }
.wb-video-toggle[hidden] { display: none; }
.wb-video-toggle:focus-visible { outline: 3px solid #f6521b; outline-offset: 3px; }
.wb-video-status { display: block; margin-top: 10px; color: #413f54; font-size: 13px; text-align: center; }
.wb-video-status:empty { display: none; }
.connected-candidate .cp-process-card { background: #f2e8d5 url('../assets/textures/paper-grain.svg'); border: 1px solid #c7beac; border-radius: 3px; box-shadow: 0 7px 12px #0000000c; padding-top: 52px; }
.connected-candidate .cp-note-stack::before { width: 100px; height: 100px; left: calc(50% - 50px); top: -30px; background-image: url('../assets/textures/paperclip-realistic.webp'); transform: none; }
/* Hide the rear wire below the paper edge; keep the long outer U on the front of the sheet. */
.cp-bench-note img,.connected-candidate .cp-note-stack::before { clip-path: polygon(0 0,100% 0,100% 30%,40% 30%,45% 78%,60% 78%,57% 40%,100% 40%,100% 100%,0 100%); }
.cp-pixel-icon { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; image-rendering: pixelated; }
.connected-candidate .cp-journey .cp-service-icon { width: 56px; height: 56px; flex: 0 0 56px; }
.connected-candidate .cp-capability-list a:has(.cp-pixel-icon) { display: inline-flex; align-items: center; gap: 8px; }
.connected-candidate .closing-copy .cp-contact-icon { width: 76px; height: 76px; margin-bottom: 14px; }
@media(min-width:768px) {
 .connected-candidate .lm-nav.is-compact { --lm-shell-width: min(820px,calc(100% - 80px)); width: var(--lm-shell-width); }
 .connected-candidate .lm-nav.is-compact .lm-nav-bar { padding-inline: 12px; gap: 14px; }
 .connected-candidate .lm-nav.is-compact .lm-nav-links { gap: 0; }
 .connected-candidate .lm-nav.is-compact .lm-nav-links a { padding-inline: 10px; }
 .connected-candidate .lm-nav.is-compact .lm-nav-cta { padding-inline: 16px; }
}
@media(max-width:991px) {
 .connected-candidate .cp-capabilities > .wrap { gap: 0 24px; grid-template-columns: minmax(0,1fr) minmax(200px,.6fr); }
 .connected-candidate .cp-journey button { font-size: 14px; padding: 16px; gap: 10px; }
 .connected-candidate .cp-services .cp-chapter { padding: 30px; gap: 0 28px; }
}
@media(max-width:767px) {
 .connected-candidate .cp-journey { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
 .connected-candidate .cp-journey button { flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 135px; padding: 12px 8px; font-size: 12px; gap: 12px; }
 .connected-candidate .cp-journey .cp-mini-planes { align-self: flex-end; flex: 0 0 35px; }
 .connected-candidate .cp-services .cp-chapter { display: flex; flex-direction: column; gap: 0; padding: 26px 22px; }
 .connected-candidate .cp-chapter > .eyebrow { order: 0; }
 .connected-candidate .cp-chapter > h3 { order: 1; font-size: 32px; }
 .connected-candidate .cp-chapter > p { order: 2; }
 .connected-candidate .cp-chapter > .cp-tags { order: 3; }
 .connected-candidate .cp-chapter > details { order: 4; width: 100%; margin-top: 20px; }
 .connected-candidate .cp-chapter > .text-link { order: 5; align-self: flex-start; }
 .connected-candidate .cp-capabilities > .wrap { display: block; }
 .connected-candidate .cp-capabilities .cp-offer-loop { max-width: 320px; margin: 32px auto 0; }
 .connected-candidate .cp-statement .hero-art { padding: 30px 12px 16px; border-width: 7px; }
 .cp-bench-note { width: 65px; height: 80px; left: -12px; }
 .cp-bench-note img { width: 80px; height: 80px; left: -8px; top: -24px; }
 .connected-candidate .cp-journey .cp-service-icon { width: 44px; height: 44px; flex-basis: 44px; align-self: flex-end; }
 .connected-candidate .lm-nav.is-compact { --lm-shell-width: calc(100% - 56px); width: var(--lm-shell-width); }
 .cp-bench-stamp { width: 84px; height: 96px; top: -28px; right: -20px; }
}

/* Supporting lines sit below the dark hero panel. */
.connected-candidate #home .hero-foot { position: static; transform: none; margin-top: 24px; padding-block: 0; color: #413f54; }

/* Selected service and its tab share one surface. */
.connected-candidate .cp-services .cp-chapter { background: #f2e8d5; color: #252332; border-color: #f2e8d5; }
.connected-candidate .cp-services .cp-chapter :is(h3,p,.cp-tags,summary,.text-link) { color: #252332; }
.connected-candidate .cp-services .cp-chapter > .eyebrow { display: none; }
.connected-candidate .cp-services .cp-chapter > h3 { margin-top: 0; }
.connected-candidate .cp-services .cp-chapter details,.connected-candidate .cp-services .cp-chapter .text-link { border-color: rgba(37,35,50,.3); }
.connected-candidate .cp-chapter > details { grid-row: 1 / 4; }
.connected-candidate .cp-chapter > .text-link { grid-row: 4; }
/* The loop itself is the accessible play/pause target, without a separate button. */
.connected-candidate .cp-offer-loop { position: relative; }
.connected-candidate .cp-offer-loop .wb-video-toggle { position: absolute; inset: 0 0 auto; width: 100%; height: auto; aspect-ratio: 1; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 12px; background: transparent; color: transparent; font-size: 0; }
.connected-candidate .cp-offer-loop .wb-video-toggle:focus-visible { outline: 3px solid #f6521b; outline-offset: 4px; }

/* October 11: reviewed label, stamp, hero and process refinements. */
.connected-candidate :is(.section-head,.cp-process-heading,.faq-side,.cp-contact-card) .eyebrow,
.connected-candidate .cp-capabilities > .wrap > .eyebrow { display: none; }
.cp-bench-stamp { top: -57px; }
.cp-stamp-paper { width: 100%; height: 100%; object-fit: contain; }
.cp-stamp-print { position: absolute; left: 27%; top: 21%; width: 46%; height: 58%; overflow: hidden; }
.cp-stamp-print img { width: 109%; height: 109%; max-width: none; margin: -4.5%; }
.connected-candidate .cp-process-grid.cp-note-stack { grid-template-columns: minmax(0,1fr); gap: 0; max-width: 850px; margin: 52px auto 30px; isolation: isolate; }
.cp-note-stack .cp-process-card { grid-area: 1 / 1; z-index: var(--note-layer); transform: translate(calc(var(--note-depth) * 8px),calc(var(--note-depth) * 8px)) rotate(calc(var(--note-depth) * 1.5deg)); transition: transform .3s ease; }
.cp-note-stack .cp-process-card[aria-hidden="true"] > * { visibility: hidden; }
.cp-note-controls { display: flex; align-items: center; justify-content: center; gap: 24px; }
.cp-note-controls button { font: inherit; color: #000; background: #f2e8d5; border: 1px solid #c7beac; border-radius: 999px; padding: 12px 22px; min-height: 48px; cursor: pointer; }
.cp-note-controls button:focus-visible { outline: 3px solid #f6521b; outline-offset: 4px; }
.cp-note-count { font-size: 14px; color: #413f54; }
@media (max-width: 767px) {
 .cp-bench-stamp { top: -44px; }
 .connected-candidate .cp-process-grid.cp-note-stack { margin-right: 18px; }
}
@media (prefers-reduced-motion: reduce) { .cp-note-stack .cp-process-card { transition: none; } }


/* Override the shared panel rule, whose #about selector raises specificity. */
.connected-candidate #main > .cp-statement { padding-bottom: max(12px, calc(clamp(24px, 4vw, 48px) - 32px)) !important; }

/* Telephone navigation, live flip clock and the reviewed service layout. */
.cp-phone-nav { position: fixed; top: 20px; right: max(20px,calc((100vw - 1280px)/2)); z-index: 300; }
.cp-phone-toggle { display: grid; place-items: center; width: 72px; height: 72px; padding: 4px; border: 0; background: transparent; cursor: pointer; }
.cp-phone-toggle img { width: 64px; height: 64px; object-fit: contain; image-rendering: pixelated; }
.cp-phone-toggle:focus-visible,.cp-phone-links a:focus-visible { outline: 3px solid #f6521b; outline-offset: 4px; }
.cp-phone-panel { position: absolute; top: 82px; right: 0; width: min(344px,calc(100vw - 32px)); max-height: calc(100svh - 120px); overflow-y: auto; overscroll-behavior: contain; padding: 24px; color: #252332; background: #f2e8d5 url('../assets/textures/paper-grain.svg'); border: 1px solid #c7beac; border-radius: 20px; box-shadow: 0 18px 48px #00000040; }
.cp-phone-panel[hidden] { display: none; }
.cp-flip-clock { --flip-h: 88px; --flip-w: 54px; --flip-font: 64px; text-align: center; }
.cp-clock-digits { display: flex; align-items: center; justify-content: center; gap: 6px; }
.cp-flip-card { display: block; position: relative; width: var(--flip-w); height: var(--flip-h); flex: 0 0 var(--flip-w); perspective: 500px; border-radius: 7px; box-shadow: 0 4px 5px #00000025; }
.cp-flip-top,.cp-flip-bottom,.cp-flip-flap { display: block; position: absolute; left: 0; width: 100%; height: 50%; overflow: hidden; color: #f6f6f6; background: #252332; }
.cp-flip-top,.cp-flip-flap { top: 0; border-radius: 7px 7px 0 0; border-bottom: 1px solid #000; }
.cp-flip-bottom { bottom: 0; border-radius: 0 0 7px 7px; background: #333142; }
.cp-flip-card b { display: block; position: absolute; top: 0; width: 100%; font: 600 var(--flip-font)/var(--flip-h) Poppins,sans-serif; font-variant-numeric: tabular-nums; text-align: center; }
.cp-flip-bottom b { top: calc(var(--flip-h) / -2); }
.cp-flip-flap { z-index: 2; transform-origin: center bottom; backface-visibility: hidden; visibility: hidden; }
.cp-flip-card.is-flipping .cp-flip-flap { visibility: visible; animation: cp-clock-flip .55s ease-in forwards; }
.cp-clock-colon { font-size: 32px; font-weight: 600; }
.cp-clock-period { display: block; margin-top: 10px; font-size: 12px; }
.cp-menu-weather { display: flex; justify-content: space-between; gap: 12px; padding-block: 18px; font-size: 12px; }
.cp-temperature { text-align: right; }
.cp-phone-links { display: grid; gap: 8px; }
.cp-phone-links a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 12px 16px; border-radius: 9px; color: #252332; text-decoration: none; font-size: 14px; font-weight: 500; }
.cp-phone-links a:hover { background: #ffffff80; }
.cp-phone-links .cp-book-call { background: #252332; color: #f6f6f6; }
.cp-phone-links .cp-book-call:hover { background: #413f54; }
.connected-candidate .cp-service-picker { display: grid; grid-template-columns: minmax(190px,260px) minmax(0,1fr); align-items: start; gap: 24px; }
.connected-candidate .cp-services .cp-journey { display: flex; flex-direction: column; position: static; gap: 12px; margin: 0; padding: 0; }
.connected-candidate .cp-services .cp-journey button { display: flex; flex-direction: row; align-items: center; justify-content: space-between; width: 100%; min-height: 100px; padding: 20px; gap: 16px; font-size: 14px; border-radius: 12px; text-align: left; }
.connected-candidate .cp-services .cp-journey .cp-service-icon { align-self: center; }
.connected-candidate .cp-services .cp-service-layout { display: block; margin: 0; }
.connected-candidate .cp-services .cp-chapter { display: flex; flex-direction: column; gap: 24px; min-height: 324px; padding: 32px; }
.connected-candidate .cp-services .cp-chapter[hidden] { display: none; }
.connected-candidate .cp-services .cp-chapter > :is(h3,p,.cp-tags) { margin: 0; }
.connected-candidate .cp-services .cp-chapter > .text-link { align-self: flex-start; margin-top: auto; }
@keyframes cp-clock-flip { to { transform: rotateX(-180deg); } }
@media (max-width: 767px) {
 .cp-phone-nav { top: 12px; right: 16px; }
 .cp-phone-toggle { width: 60px; height: 60px; }
 .cp-phone-toggle img { width: 52px; height: 52px; }
 .cp-phone-panel { top: 70px; }
 .connected-candidate .cp-service-picker { grid-template-columns: minmax(0,1fr); }
 .connected-candidate .cp-services .cp-journey button { min-height: 68px; padding: 12px 20px; }
 .connected-candidate .cp-services .cp-chapter { min-height: 290px; padding: 24px; }
}
@media (max-width: 359px) { .cp-flip-clock { --flip-h: 72px; --flip-w: 44px; --flip-font: 52px; } }
@media (prefers-reduced-motion: reduce) {
 .cp-flip-card.is-flipping .cp-flip-flap { animation: none; visibility: hidden; }
}

/* Place the telephone within the hero corner and keep its panel on screen. */
.cp-phone-nav { top: 120px; right: max(48px,calc((100vw - 1280px)/2 + 16px)); }
.cp-phone-panel { max-height: calc(100svh - 226px); }
@media (max-width: 767px) { .cp-phone-nav { top: 116px; right: 24px; } .cp-phone-panel { max-height: calc(100svh - 210px); } }

/* Reuse the word accents in the rotating headline and remove the old menu reserve. */
.connected-candidate #home.hero { padding-top: var(--cp-container-gap); }
.cp-phone-nav { top: 40px; }
.cp-phone-panel { max-height: calc(100svh - 146px); }
@media (max-width: 767px) { .cp-phone-nav { top: 36px; } .cp-phone-panel { max-height: calc(100svh - 130px); } }

/* Restore the static headline and its three word accents. */
.cp-hero-word { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.cp-hero-word-icon { width: 26px; height: 26px; flex: 0 0 26px; object-fit: contain; image-rendering: pixelated; }
.cp-phone-toggle.is-ringing img { animation: cp-phone-ring .7s ease-in-out; transform-origin: center; }
@keyframes cp-phone-ring { 0%,100% { transform: rotate(0); } 15%,45%,75% { transform: rotate(-9deg) translateX(-2px); } 30%,60%,90% { transform: rotate(9deg) translateX(2px); } }
@media (prefers-reduced-motion: reduce) { .cp-phone-toggle.is-ringing img { animation: none; } }

/* Touching the panel to its trigger keeps hover navigation continuous. */
.cp-phone-panel { top: 72px; }
@media (max-width: 767px) { .cp-phone-panel { top: 60px; } }

/* Main already supplies the gap; section margins previously added another 24–48px. */
.connected-candidate #main > :is(section,aside) { margin-block: 0 !important; }
.connected-candidate .closing { margin-top: var(--cp-container-gap); }
.cp-weather-reading { display: inline-flex; align-items: center; gap: 6px; }
.cp-weather-icon { display: inline-flex; color: #413f54; }
.cp-weather-icon[hidden] { display: none; }
.cp-weather-icon svg { width: 24px; height: 24px; }
/* At the top the hero fills the viewport; scroll restores its existing gutters. */
.connected-candidate #home.hero { width: 100%; max-width: none; padding-top: var(--cp-hero-top,0px); }
.connected-candidate #main #home .hero-grid { width: calc(100% - var(--cp-hero-inset,0px) * 2); margin-inline: auto; min-height: 100svh; height: auto; border-radius: var(--cp-hero-radius,0px); align-content:center; --cp-hero-space:clamp(72px,10svh,120px); row-gap:24px; padding-block:var(--cp-hero-space); }
.connected-candidate #main #home .hero-foot { width: min(1280px,calc(100% - 96px)); margin-inline: auto; }
.cp-phone-nav { top: calc(var(--cp-hero-top,0px) + 16px); right: calc(var(--cp-hero-inset,0px) + 16px); }
.cp-phone-panel { max-height: calc(100svh - var(--cp-hero-top,0px) - 104px); }
.cp-hero-mark { position: fixed; z-index: 150; top: calc(var(--cp-hero-top,0px) + 24px); left: calc(var(--cp-hero-inset,0px) + 24px); width: 66px; height: 38px; object-fit: contain; opacity: var(--cp-logo-opacity,1); pointer-events: none; }
@media (max-width: 767px) {
 .connected-candidate #main #home .hero-foot { width: calc(100% - 32px); }
 .cp-phone-panel { max-height: calc(100svh - var(--cp-hero-top,0px) - 92px); }
 .cp-hero-mark { width: 52px; height: 30px; top: calc(var(--cp-hero-top,0px) + 22px); left: calc(var(--cp-hero-inset,0px) + 20px); }
}

.cp-hero-phrase { white-space: nowrap; }

@media (min-width: 761px) {
 .connected-candidate .cp-process-inner { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 24px 40px; align-items: start; }
 .connected-candidate .cp-process-heading { grid-column: 1; grid-row: 1 / 3; }
 .connected-candidate .cp-process-grid { grid-column: 2; grid-row: 1; margin-top: 0; min-width: 0; }
 .connected-candidate .cp-note-controls { grid-column: 2; grid-row: 2; margin-top: 0; }
}

.connected-candidate .cp-note-stack { position: relative; }
.connected-candidate .cp-note-stack::before { z-index: 4; }
.cp-note-controls .cp-note-count { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.cp-note-controls button { width: 44px; height: 44px; min-width: 44px; padding: 0; border: 0; background: transparent; font-size: 26px; }
.connected-candidate .cp-faq-title { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.connected-candidate .cp-faq-title h2 { margin:0; }
.connected-candidate .faq-side .cp-faq-icon { display:block; width:56px; height:56px; flex:0 0 56px; margin:0; object-fit:contain; image-rendering:pixelated; }

@media (max-width:991px) {
 .connected-candidate #main #brand-video { width:var(--lm-shell-width); }
 .connected-candidate #main #home .hero-grid { align-content:center; row-gap:24px; --cp-hero-space:96px; padding-block:var(--cp-hero-space); }
 .connected-candidate .cp-service-picker { grid-template-columns:minmax(0,1fr); }
 .connected-candidate .cp-services .cp-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 .connected-candidate .cp-services .cp-journey button { flex-direction:column; justify-content:center; text-align:center; height:100%; min-height:100px; padding:12px 8px; gap:8px; font-size:clamp(11px,2vw,14px); }
 .connected-candidate .cp-services .cp-journey .cp-service-icon { align-self:center; width:32px; height:32px; flex-basis:32px; }
 .connected-candidate .cp-capabilities > .wrap { display:block; }
 .connected-candidate .cp-capabilities .cp-offer-loop { width:100%; max-width:none; margin:32px 0 0; }
 .connected-candidate .cp-bench-note { --cp-note-size:clamp(80px,18vw,96px); width:var(--cp-note-size); height:calc(var(--cp-note-size) * 1.2); left:-12px; }
 .connected-candidate .cp-bench-note img { width:100px; height:100px; left:-5px; top:-30px; }
 .connected-candidate .cp-bench-stamp { --cp-stamp-size:clamp(104px,24vw,126px); width:var(--cp-stamp-size); height:calc(var(--cp-stamp-size) * 1.14); right:-12px; }
}

@media (max-width:767px) {
 .connected-candidate #main #brand-video { width:calc(var(--lm-shell-width) - var(--lm-panel-inset) * 2); padding-block:7px; border-radius:14px; }
 .connected-candidate #main #brand-video > .wrap { width:calc(100% - 14px); margin-inline:auto; }
 .connected-candidate #main #brand-video .reel-player,.connected-candidate #main #brand-video video { border-radius:8px; }
}
img.cp-contact-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;min-height:0;object-fit:cover;object-position:50% 35%;border:0;padding:0}
@media(max-width:767px){img.cp-contact-photo{aspect-ratio:1}}

/* Footer social icons (all pages): 20px line icons between the copyright and the tagline. */
.footer-social{display:inline-flex;align-items:center;gap:4px}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:inherit;transition:color .2s ease,background-color .2s ease}.footer-social a:hover{color:#f6521b;background:rgba(246,246,246,.08)}.footer-social a:focus-visible{outline:2px solid #f6521b;outline-offset:3px;border-radius:4px}.footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
/* css/inspiration.css */
/* October 13: reference proportions translated into the candidate's palette. */
.connected-candidate #main > .work-section { background:#f6f6f6; }
.connected-candidate [data-styled-gallery] { height:auto; min-height:0; }
.connected-candidate [data-styled-gallery] .cp-work-sticky { position:static; height:auto; min-height:0; overflow:visible; }
.connected-candidate [data-styled-gallery] .cp-carousel-controls { display:none; }
.connected-candidate [data-styled-gallery] .work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; height:auto; overflow:visible; padding:0; }
.connected-candidate [data-styled-gallery] .work-card { position:static; grid-column:auto; width:auto; min-width:0; margin:0!important; padding:18px 18px 28px; background:#fff; color:#000; border:0; border-radius:28px; transform:none; opacity:1; visibility:visible; box-shadow:none; display:flex; flex-direction:column; }
.connected-candidate [data-styled-gallery] .work-media { width:100%; aspect-ratio:4/3; margin:0; border:0; border-radius:20px; overflow:hidden; }
.connected-candidate [data-styled-gallery] .work-media img { width:100%; height:100%; object-fit:cover; }
.connected-candidate [data-styled-gallery] .work-card:nth-child(1) .work-media { background:#385741; }
.connected-candidate [data-styled-gallery] .work-card:nth-child(2) .work-media { background:#f2e8d5; }
.connected-candidate [data-styled-gallery] .work-card:nth-child(3) .work-media { background:#000; }
.connected-candidate [data-styled-gallery] .work-meta { margin:24px 6px 8px; }
.connected-candidate [data-styled-gallery] .work-meta h3 { font-size:clamp(20px,2vw,26px); line-height:1.3; color:#000; }
.connected-candidate [data-styled-gallery] .work-card p { margin:0 6px 24px; font-size:16px; line-height:1.5; color:#413f54; }
.connected-candidate [data-styled-gallery] .cp-case-link { margin:auto 6px 0; font-size:16px; color:#000; }
.connected-candidate .cp-statement-copy p > span:last-child { color:#f6521b; }
.connected-candidate .cp-services .section-head { border-top:0; padding-top:0; margin-bottom:40px; }
.connected-candidate .cp-service-picker { grid-template-columns:minmax(0,.82fr) minmax(0,1fr); gap:32px; }
.connected-candidate .cp-services .cp-journey button { min-height:80px; padding:20px 26px; font-size:18px; border-radius:22px; background:#ffffff0d; border:0; color:#f6f6f6; }
.connected-candidate .cp-services .cp-journey button[aria-selected="true"] { background:#fff; color:#000; }
.connected-candidate .cp-services .cp-journey .cp-service-icon { width:36px; height:36px; flex-basis:36px; }
.connected-candidate .cp-services .cp-chapter { min-height:380px; padding:40px; border-radius:24px; gap:24px; }
.connected-candidate .cp-services .cp-chapter > .eyebrow { display:block; margin:0; color:#ad320b; font-size:13px; }
.connected-candidate .cp-services .cp-chapter > h3 { font-size:36px; line-height:1.2; }
.connected-candidate .cp-services .cp-chapter > p { font-size:22px; line-height:1.5; }
.connected-candidate .cp-service-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px 28px; margin-top:auto; }
.connected-candidate .cp-service-actions .button { background:#f6521b; color:#000; border-radius:999px; min-height:52px; padding:16px 24px; }
.connected-candidate .cp-service-actions .text-link { color:#000; border:0; margin:0; font-size:16px; }
.connected-candidate #main > section:has(.trust-grid) { background:transparent; padding:0; }
.connected-candidate .trust-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px; padding:0; align-items:stretch; }
.connected-candidate .trust-grid > div { padding:clamp(28px,4vw,56px); border-radius:28px; }
.connected-candidate .trust-grid > div:first-child { display:flex; flex-direction:column; background:#413f54; color:#fff; min-height:480px; }
.connected-candidate .trust-grid > div:first-child .eyebrow { color:#fc885b; font-family:'Lionel Handwriting',cursive; font-size:36px; line-height:1.3; text-transform:none; letter-spacing:0; }
.connected-candidate .trust-grid .quote { color:#fff; font-size:clamp(22px,2.25vw,30px); line-height:1.5; }
.connected-candidate .trust-grid .quote-mark { display:inline; font-size:inherit; height:auto; color:#fc885b; }
.connected-candidate .trust-grid .quote-credit { margin-top:auto; padding-top:60px; font-size:16px; font-weight:600; color:#fff; }
.connected-candidate .trust-grid .quote-credit span { color:#d2cfd8; font-weight:400; }
.connected-candidate .trust-grid .fit { background:#fff; color:#000; }
.connected-candidate .trust-grid .fit h3 { color:#000; font-size:clamp(26px,2.8vw,36px); line-height:1.25; margin:0 0 24px; overflow-wrap:anywhere; }
.connected-candidate .trust-grid .fit p { color:#413f54; font-size:18px; line-height:1.5; }
.connected-candidate .trust-grid .fit li { color:#000; font-size:17px; line-height:1.5; }
.connected-candidate .trust-grid .fit li::before { color:#bc370d; }
.connected-candidate .cp-contact-card { border-radius:28px; gap:48px; padding:48px; }
.connected-candidate .cp-contact-links { display:flex; gap:12px; flex-wrap:wrap; }
.connected-candidate .cp-contact-links a { display:inline-flex; align-items:center; min-height:48px; padding:12px 22px; border:1px solid #413f5440; border-radius:999px; color:#000; text-decoration:none; }
.connected-candidate .cp-contact-links a:hover { background:#fff; border-color:#413f54; }
.connected-candidate .closing-top { border-left:0; padding-left:0; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:end; }
.connected-candidate .closing h2 { max-width:10.5ch; font-size:clamp(48px,5.6vw,76px); line-height:1.08; letter-spacing:-.035em; }

.inner-page.ip-retainer { --ip-accent:#ad320b; --ip-tint:#f2e8d5; }
.inner-page .ip-service-hero { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); align-items:end; gap:clamp(32px,5vw,72px); border-radius:28px; padding:clamp(32px,4.5vw,60px); }
.inner-page .ip-service-hero h1 { font-size:clamp(48px,6.2vw,84px); line-height:1.08; letter-spacing:-.035em; max-width:12ch; text-wrap:balance; margin:20px 0 32px; }
.inner-page .ip-service-copy > p:first-of-type { font-size:clamp(20px,2vw,26px); line-height:1.5; }
.inner-page .ip-service-hero .button { min-height:56px; padding:16px 26px; border-radius:999px; background:#f6521b; color:#000; }
.inner-page .ip-glance { width:100%; padding:32px; border:1px solid #00000018; background:#ffffffa6; border-radius:24px; }
.inner-page .ip-glance h2 { font-size:var(--t-h5); line-height:var(--t-h5-lh); margin:0 0 28px; }
.inner-page .ip-glance dl { margin:0; }
.inner-page .ip-glance dl > div { padding:20px 0; border-bottom:1px solid #00000020; }
.inner-page .ip-glance dl > div:first-child { padding-top:0; }
.inner-page .ip-glance dl > div:last-child { padding-bottom:0; border:0; }
.inner-page .ip-glance dt { font-size:16px; color:#413f54; margin-bottom:8px; }
.inner-page .ip-glance dd { margin:0; font-size:18px; line-height:1.4; font-weight:500; }
.inner-page .ip-article { display:flex; flex-direction:column; }
.inner-page .ip-article-header { order:-1; padding:clamp(28px,4vw,52px); background:#f2e8d5; border-radius:28px; margin-bottom:28px; }
.inner-page .ip-article-header .ip-kicker { color:#ad320b; }
.inner-page .ip-article-header h1 { font-size:clamp(42px,5.7vw,76px); line-height:1.08; letter-spacing:-.035em; margin:16px 0 36px; text-wrap:balance; }
.inner-page .ip-article-meta { gap:20px 28px; }
.inner-page .ip-article-meta > div { display:flex; flex-direction:column; font-size:16px; line-height:1.5; }
.inner-page .ip-article-meta strong,.inner-page .ip-article-meta time { font-weight:500; color:#000; }
.inner-page .ip-article-meta span { color:#413f54; }
@media(max-width:991px) {
 .connected-candidate [data-styled-gallery] .work-grid { gap:16px; }
 .connected-candidate [data-styled-gallery] .work-card { padding:12px 12px 24px; border-radius:22px; }
 .connected-candidate [data-styled-gallery] .work-media { border-radius:16px; }
 .connected-candidate .cp-services .cp-journey { display:flex; flex-direction:column; }
 .connected-candidate .cp-services .cp-journey button { flex-direction:row; text-align:left; font-size:16px; min-height:80px; padding:18px; }
 .connected-candidate .cp-services .cp-chapter { padding:28px; }
 .connected-candidate .cp-services .cp-chapter > h3 { font-size:30px; }
 .connected-candidate .cp-services .cp-chapter > p { font-size:18px; }
 .connected-candidate .trust-grid { gap:20px; }
 .inner-page .ip-service-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; }
 .inner-page .ip-service-hero h1 { font-size:clamp(42px,6vw,60px); }
 .inner-page .ip-glance { padding:24px; }
}
@media(max-width:767px) {
 .connected-candidate [data-styled-gallery] .work-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .connected-candidate [data-styled-gallery] .work-card { padding:16px 16px 28px; }
 .connected-candidate [data-styled-gallery] .work-meta h3 { font-size:24px; }
 .connected-candidate .cp-service-picker,.connected-candidate .trust-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .connected-candidate .cp-services .cp-journey button { min-height:68px; }
 .connected-candidate .cp-services .cp-chapter { min-height:340px; padding:28px 24px; }
 .connected-candidate .trust-grid > div:first-child { min-height:380px; }
 .connected-candidate .cp-contact-card { padding:28px; gap:28px; }
 .connected-candidate .closing-top { grid-template-columns:minmax(0,1fr); gap:28px; }
 .connected-candidate .closing h2 { font-size:clamp(44px,9.5vw,64px); }
 .inner-page .ip-service-hero { grid-template-columns:minmax(0,1fr); gap:32px; padding:28px; border-radius:22px; }
 .inner-page .ip-service-hero h1 { font-size:clamp(40px,9vw,60px); }
 .inner-page .ip-service-copy > p:first-of-type { font-size:18px; }
 .inner-page .ip-glance { padding:24px; border-radius:20px; }
 .inner-page .ip-article-header { padding:28px 24px; border-radius:22px; }
 .inner-page .ip-article-header h1 { font-size:clamp(38px,8vw,56px); }
}
.connected-candidate #main #work [data-styled-gallery] .work-media { aspect-ratio:4/3; }
.connected-candidate #main #work .cp-case-link { border:0; }
.connected-candidate .cp-services .cp-chapter > .eyebrow { position:static; align-self:flex-start; }
.inner-page .ip-service-hero { padding:var(--ip-padding); }

/* The homepage telephone opens a compact stack of iOS-inspired widgets. */
.connected-candidate .cp-phone-panel { width:min(350px,calc(100vw - 32px)); padding:12px; background:#f6f6f6ed; background-image:none; border:1px solid #ffffffc0; border-radius:30px; box-shadow:0 2px 5px #00000008,0 24px 64px #00000030; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.connected-candidate .cp-flip-clock { --flip-h:64px; --flip-w:40px; --flip-font:58px; position:relative; padding:22px; background:#fff; border:1px solid #413f5410; border-radius:22px; box-shadow:0 2px 4px #00000004,0 6px 18px #00000005; text-align:left; }
.cp-ios-date { display:block; margin-bottom:12px; color:#676573; font-size:12px; line-height:1.5; }
.connected-candidate .cp-clock-digits { justify-content:flex-start; gap:0; }
.connected-candidate .cp-flip-card { box-shadow:none; border-radius:0; }
.connected-candidate .cp-flip-top { height:100%; background:transparent; border:0; color:#17151e; border-radius:0; }
.connected-candidate .cp-flip-card b { font-weight:500; letter-spacing:-.055em; }
.connected-candidate .cp-flip-bottom,.connected-candidate .cp-flip-flap { display:none; }
.connected-candidate .cp-clock-colon { font-size:44px; line-height:1; padding:0 5px 8px; font-weight:400; color:#17151e; }
.connected-candidate .cp-clock-period { display:block; margin-top:6px; color:#676573; font-size:11px; letter-spacing:.06em; }
.connected-candidate .cp-clock-period::before { content:''; display:inline-block; width:6px; height:6px; margin-right:7px; background:#f6521b; border-radius:50%; vertical-align:1px; }
.connected-candidate .cp-menu-weather { display:flex; flex-direction:column; gap:12px; margin-block:12px; padding:22px; border:1px solid #ffffff20; border-radius:22px; background:radial-gradient(ellipse at 100% 0,#fc885b38,transparent 68%),linear-gradient(145deg,#413f54,#5b566e); color:#fff; box-shadow:0 4px 14px #413f5418; }
.connected-candidate .cp-menu-weather>span:first-child { font-size:14px; font-weight:500; letter-spacing:-.01em; }
.connected-candidate .cp-weather-reading { display:flex; align-items:center; justify-content:space-between; width:100%; gap:16px; }
.connected-candidate .cp-temperature { order:0; font-size:44px; line-height:1.15; font-weight:400; letter-spacing:-.04em; text-align:left; }
.connected-candidate .cp-temperature:not([title]) { font-size:18px; line-height:1.4; letter-spacing:normal; }
.connected-candidate .cp-weather-icon { order:1; color:#fc885b; }
.connected-candidate .cp-weather-icon svg { width:42px; height:42px; }
.cp-ios-condition { display:block; font-size:12px; line-height:1.5; color:#ffffffd9; }
.connected-candidate .cp-phone-links { display:grid; gap:0; padding:8px; border:1px solid #413f5410; border-radius:22px; background:#fff; box-shadow:0 2px 4px #00000004,0 6px 18px #00000005; }
.connected-candidate .cp-phone-links a { min-height:44px; padding:12px 14px; border-radius:12px; font-size:13px; font-weight:500; color:#252332; }
.connected-candidate .cp-phone-links a:not(.cp-book-call):hover { background:#f2e8d580; }
.connected-candidate .cp-phone-links .cp-book-call { margin-bottom:6px; border-radius:999px; background:#17151e; color:#fff; }
.connected-candidate .cp-phone-links .cp-book-call:hover { background:#413f54; }
@media(max-width:359px) {
 .connected-candidate .cp-flip-clock { --flip-w:36px; --flip-font:52px; padding:18px; }
 .connected-candidate .cp-menu-weather { padding:18px; }
}

/* Compact phone widgets, retaining comfortable navigation targets. */
.connected-candidate .cp-phone-panel { width:min(280px,calc(100vw - 32px)); padding:10px; border-radius:24px; }
.connected-candidate .cp-flip-clock { --flip-h:46px; --flip-w:29px; --flip-font:42px; padding:16px; border-radius:17px; }
.connected-candidate .cp-ios-date { margin-bottom:8px; font-size:11px; }
.connected-candidate .cp-clock-colon { font-size:32px; padding:0 4px 5px; }
.connected-candidate .cp-clock-period { margin-top:4px; font-size:10px; }
.connected-candidate .cp-menu-weather { gap:8px; padding:16px; margin-block:10px; border-radius:17px; }
.connected-candidate .cp-menu-weather>span:first-child { font-size:12px; }
.connected-candidate .cp-temperature { font-size:32px; }
.connected-candidate .cp-temperature:not([title]) { font-size:15px; }
.connected-candidate .cp-weather-icon svg { width:30px; height:30px; }
.connected-candidate .cp-ios-condition { font-size:11px; }
.connected-candidate .cp-phone-links { padding:6px; border-radius:17px; }
.connected-candidate .cp-phone-links a { min-height:40px; padding:10px 12px; font-size:12px; }
.connected-candidate .cp-services .cp-chapter { background:#fff; border-color:#fff; }
.connected-candidate .cp-capability-list img[src*="pixel-canon"] { background:#f2e8d5; padding:5px; border-radius:9px; width:46px; height:46px; flex-basis:46px; }
.connected-candidate .cp-statement-copy p { font-size:var(--lm-h2); line-height:var(--lm-h2-line); }
.connected-candidate .cp-statement-copy p>span:last-child { font-size:.9em; line-height:1.35; }

/* Restore the scroll-driven work gallery with the new card surfaces. */
.connected-candidate [data-styled-gallery].cp-gallery-pinned { height:calc(100svh - 48px + 160svh); }
.connected-candidate [data-styled-gallery].cp-gallery-pinned .cp-work-sticky { position:sticky; top:24px; height:calc(100svh - 48px); display:flex; flex-direction:column; justify-content:center; }
.connected-candidate [data-styled-gallery].cp-gallery-pinned .work-grid { position:relative; display:block; flex:1; min-height:0; order:1; overflow:clip; scroll-snap-type:none; }
.connected-candidate [data-styled-gallery].cp-gallery-pinned .work-card { position:absolute; left:50%; top:50%; width:min(56%,calc((100svh - 310px)*4/3)); transform:translate(-50%,-50%) translateX(var(--cp-gallery-x,0px)) scale(var(--cp-gallery-scale,1)); opacity:var(--cp-gallery-opacity,1); transform-origin:center; }
.connected-candidate [data-styled-gallery].cp-gallery-pinned .cp-carousel-controls { display:flex; order:2; justify-content:center; margin:14px 0 10px; flex:none; }
.connected-candidate [data-styled-gallery].cp-gallery-swipe .work-grid { display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; padding-inline:7%; scroll-padding-inline:7%; gap:18px; }
.connected-candidate [data-styled-gallery].cp-gallery-swipe .work-card { flex:0 0 88%; scroll-snap-align:center; }
.connected-candidate [data-styled-gallery].cp-gallery-swipe .cp-carousel-controls { display:flex; justify-content:center; margin:0 0 16px; }
.connected-candidate [data-styled-gallery].cp-gallery-static .cp-carousel-controls { display:none; }

/* Scroll-driven sections own their layout, avoiding browser anchor compensation. */
.connected-candidate { overflow-anchor:none; }

/* Hidden service panels still size the shared grid, keeping every switch steady. */
.connected-candidate .cp-services .cp-chapters { display:grid; grid-template-columns:minmax(0,1fr); }
.connected-candidate .cp-services .cp-chapters>.cp-chapter { grid-area:1/1; align-self:stretch; }
.connected-candidate .cp-services .cp-chapter { min-width:0; }
.connected-candidate .cp-services .cp-chapter>h3 { width:100%; max-width:100%; overflow-wrap:anywhere; }
.connected-candidate .cp-services .cp-chapters>.cp-chapter[hidden] { display:flex!important; visibility:hidden; pointer-events:none; }

/* A slow, restrained highlight travels around the selected service's rim. */
@property --cp-rim-angle { syntax:'<angle>'; inherits:false; initial-value:0deg; }
.connected-candidate .cp-services .cp-chapter { position:relative; isolation:isolate; }
.connected-candidate .cp-services .cp-chapter:not([hidden])::before { content:''; position:absolute; inset:-1px; padding:1.5px; border-radius:inherit; pointer-events:none; background:conic-gradient(from var(--cp-rim-angle),transparent 0deg 230deg,#f6521b18 265deg,#f6521b99 310deg,#fc885b88 330deg,transparent 360deg); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; filter:drop-shadow(0 0 5px #f6521b55); animation:cp-rim-turn 9s linear infinite; }
@keyframes cp-rim-turn { to { --cp-rim-angle:360deg; } }
@media(prefers-reduced-motion:reduce) { .connected-candidate .cp-services .cp-chapter:not([hidden])::before { animation:none; } }

/* The work gallery ends close to the following section; the reel gets its own runway. */
.connected-candidate #main>.work-section { padding-bottom:12px; }
.connected-candidate #main #brand-video.cp-video-scroll-ready { height:260svh; }

/* The actual white work cards meet the same outer rails as the solid panels. */
.connected-candidate #main>#work { padding:0; }
.connected-candidate #main>#work>.wrap { width:100%; max-width:none; margin-inline:0; }

/* Scroll expansion also reaches the viewport edges on narrower screens. */
.connected-candidate #main #brand-video.cp-video-scroll-ready { width:100%; max-width:none; padding:0; border-radius:0; }
.connected-candidate #main #brand-video.cp-video-scroll-ready>.wrap { position:sticky; top:0; width:100%; max-width:none; height:100svh; margin:0; padding:0; }
.connected-candidate #main #brand-video.cp-video-scroll-ready .reel-player { width:var(--cp-reel-width); height:var(--cp-reel-height); max-width:none; padding:var(--cp-reel-inset); border-radius:var(--cp-reel-radius); aspect-ratio:auto; }
.connected-candidate #main #brand-video.cp-video-scroll-ready video { width:100%; height:100%; border-radius:var(--cp-reel-radius); }
.connected-candidate.lm-video-immersive .cp-phone-nav { opacity:0; pointer-events:none; }
/* css/hero-pills.css */
.connected-candidate #home .hero-heading { width:100%; max-width:1050px; margin-inline:auto; text-align:center; }
.connected-candidate #home h1.cp-interactive-headline { font-family:Poppins,sans-serif; font-size:clamp(32px,4vw,56px); font-weight:400; line-height:1.85; letter-spacing:-.025em; max-width:none; color:#f6f6f6; text-wrap:balance; }
.cp-interactive-headline .pill-group { display:inline-block; white-space:nowrap; }
.cp-interactive-headline .pill { display:inline-flex; align-items:center; gap:10px; vertical-align:middle; padding:7px 16px 7px 10px; margin:3px 1px; background:#4d4b55; border:1px solid #ffffff18; border-radius:999px; color:#fff; font:500 .82em/1.2 Poppins,sans-serif; letter-spacing:-.025em; cursor:pointer; transition:background .25s,border-color .25s,box-shadow .25s; }
.cp-interactive-headline .pill img { width:42px; height:42px; object-fit:contain; image-rendering:pixelated; transition:transform .3s; }
.cp-interactive-headline .pill:hover,.cp-interactive-headline .pill:focus-visible { background:#5c5865; border-color:#f6521b; box-shadow:0 5px 18px #f6521b20; }
.cp-interactive-headline .pill:hover img { transform:rotate(-8deg) translateY(-2px); }
.cp-interactive-headline .pill:focus-visible { outline:3px solid #f6521b; outline-offset:5px; }
.cp-interactive-headline .word-window { display:inline-grid; align-items:center; justify-items:start; overflow:hidden; min-width:5.5ch; max-width:14ch; height:1.3em; }
.cp-interactive-headline .word-window span { grid-area:1/1; display:block; white-space:nowrap; }
.cp-interactive-headline .word-window .word-size { visibility:hidden; pointer-events:none; }
.cp-interactive-headline .word-window .is-entering { animation:cp-pill-enter .6s cubic-bezier(.16,1,.3,1); }
@keyframes cp-pill-enter { from { opacity:0; transform:translateY(18%); } to { opacity:1; transform:translateY(0); } }
.cp-pills-accessible { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.connected-candidate #home .hero-copy { text-align:center; justify-self:center; grid-column:1/-1; padding:0; }
.connected-candidate #home .hero-actions { justify-content:center; margin-top:0; }
.connected-candidate #home .hero-note { text-align:center; }
@media(max-width:767px) {
 .connected-candidate #home h1.cp-interactive-headline { font-size:clamp(28px,6.7vw,40px); line-height:1.95; }
 .cp-interactive-headline .pill { gap:6px; padding:6px 12px 6px 7px; }
 .cp-interactive-headline .pill img { width:28px; height:28px; }
}
@media(prefers-reduced-motion:reduce) { .cp-interactive-headline .pill,.cp-interactive-headline .pill img { transition:none; } .cp-interactive-headline .pill:hover img { transform:none; } .cp-interactive-headline .word-window .is-entering { animation:none; } }

/* The hero follows the same permanent outer rails as the other page panels. */
.connected-candidate { background:#f6f6f6; }
.connected-candidate #main #home.hero { position:relative; width:var(--lm-shell-width); max-width:1280px; margin-inline:auto; padding-top:24px; padding-bottom:0; }
.connected-candidate #main #home .hero-grid { width:100%; min-height:0; height:auto; border-radius:20px; --cp-hero-space:clamp(72px,6vw,88px); padding:var(--cp-hero-space) clamp(24px,4vw,48px); row-gap:24px; }
.connected-candidate #main #home .hero-foot { width:100%; }
.connected-candidate #home .cp-hero-mark { position:absolute; top:48px; left:24px; opacity:1; }
.connected-candidate .cp-phone-nav { top:40px; right:max(44px,calc((100vw - 1280px)/2 + 16px)); }
.connected-candidate .cp-phone-panel { max-height:calc(100svh - 128px); }
@media(max-width:767px) {
 .connected-candidate #main #home .hero-grid { border-radius:16px; --cp-hero-space:72px; padding-inline:20px; }
 .connected-candidate .cp-phone-nav { top:36px; right:28px; }
 .connected-candidate #home .cp-hero-mark { top:46px; left:20px; }
}

@media(min-width:768px){.connected-candidate #main #home .hero-grid{min-height:clamp(480px,70svh,640px);}}
@media(max-width:359px) {
 .connected-candidate #home h1.cp-interactive-headline { font-size:24px; }
 .connected-candidate #main #home .hero-grid { padding-inline:16px; }
 .cp-interactive-headline .pill img { width:24px; height:24px; }
}

/* Original headline restored inside the reviewed container. */
.connected-candidate #home .hero-heading h1 { max-width:none; margin:0 auto; }
.connected-candidate #home .hero-copy>p { max-width:52ch; margin:0 auto 34px; font-size:20px; line-height:1.5; }
.connected-candidate #main #home .hero-grid { row-gap:0; }
.connected-candidate #home .hero-copy { margin-top:-8px; }

@media(max-width:767px) { .connected-candidate #home .hero-copy>p { font-size:18px; } }
.connected-candidate #home h1 .cp-hero-handwritten { display:inline; font:inherit; letter-spacing:inherit; white-space:nowrap; }

.connected-candidate #home .hero-actions .button { gap:8px; }

/* Keep the wider hero collage around the copy rather than behind it. */
@media (min-width:1100px) {
  .connected-candidate #home .cp-hero-collage img:nth-child(3) { left:16%; top:4%; }
  .connected-candidate #home .cp-hero-collage img:nth-child(4) { left:43%; top:-3%; width:12%; height:22%; }
  .connected-candidate #home .cp-hero-collage img:nth-child(6) { left:78%; top:51%; width:16%; height:19%; }
  .connected-candidate #home .cp-hero-collage img:nth-child(7) { left:2%; top:47%; width:20%; height:21%; }
  .connected-candidate #home .cp-hero-collage img:nth-child(8) { left:28%; top:76%; width:17%; height:20%; }
  .connected-candidate #home .cp-hero-collage img:nth-child(9) { left:62%; top:74%; width:21%; height:23%; }
}

@property --cp-button-beam-angle {
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}
.connected-candidate #home .hero-actions .button {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:999px;
  border:2px solid transparent;
  background:linear-gradient(#17120f,#17120f) padding-box,
    conic-gradient(from var(--cp-button-beam-angle),#f6521b33 0%,#f6521b33 60%,#f6521b 76%,#ffc08e 84%,#f6521b 91%,#f6521b33 100%) border-box;
  color:#fff;
  box-shadow:0 0 14px #f6521b40,0 0 30px #f6521b1a,inset 0 0 14px #f6521b12;
  animation:cp-button-beam 4s linear infinite;
  transition:box-shadow .3s ease,transform .2s ease;
}
.connected-candidate #home .hero-actions .button::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 25%,#ffae701a 48%,transparent 70%);
  background-size:250% 100%;
  animation:cp-button-shimmer 5s ease-in-out infinite;
}
.connected-candidate #home .hero-actions .button:hover {
  box-shadow:0 0 20px #f6521b66,0 0 42px #f6521b29,inset 0 0 18px #f6521b1a;
}
.connected-candidate #home .hero-actions .button:focus-visible {
  outline:2px solid #ffc08e;
  outline-offset:5px;
}
@keyframes cp-button-beam { to { --cp-button-beam-angle:360deg; } }
@keyframes cp-button-shimmer { 0%,100% { background-position:100% 0; } 50% { background-position:0 0; } }
@media (prefers-reduced-motion:reduce) {
  .connected-candidate #home .hero-actions .button,
  .connected-candidate #home .hero-actions .button::before { animation:none; }
}

/* Credibility line under the hero subline: who does the work. */
body.connected-candidate #main #home .hero-copy>p.cp-hero-solo { font-size:15px; line-height:1.5; margin:-18px auto 30px; opacity:.72; }
/* css/top-nav.css */
/* Shared main navigation: homepage and inner pages. */
.inner-page { --lm-shell-width: min(1280px,calc(100% - 56px)); }
@media (max-width: 767px) { .inner-page { --lm-shell-width: calc(100% - 32px); } }
:is(.connected-candidate,.inner-page) .cp-top-nav {
  display:flex;
  align-items:stretch;
  justify-content:center;
  width:max-content;
  max-width:var(--lm-shell-width);
  margin:24px auto 0;
  position:relative;
  z-index:20;
  overflow:hidden;
  border:1px solid #e7e5e3;
  border-radius:999px;
  background:#fff;
  box-shadow:0 4px 16px #00000006;
}
:is(.connected-candidate,.inner-page) .cp-top-nav a {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  min-height:48px;
  border-right:1px solid #eae8e6;
  color:#25232b;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s ease,color .2s ease;
}
:is(.connected-candidate,.inner-page) .cp-top-nav a:last-child { border-right:0; }
:is(.connected-candidate,.inner-page) .cp-top-nav a:hover { background:#fff0e9; color:#bc370d; }
:is(.connected-candidate,.inner-page) .cp-top-nav a:focus-visible { outline:2px solid #f6521b; outline-offset:-4px; }
:is(.connected-candidate,.inner-page) .cp-top-nav .cp-top-brand { padding-inline:22px; }
:is(.connected-candidate,.inner-page) .cp-top-brand img { width:36px; height:21px; object-fit:contain; filter:brightness(0); }
@media (max-width:600px) {
  :is(.connected-candidate,.inner-page) .cp-top-nav { margin-top:16px; }
  :is(.connected-candidate,.inner-page) .cp-top-nav a { padding:11px 10px; font-size:12px; min-height:44px; }
  :is(.connected-candidate,.inner-page) .cp-top-nav .cp-top-brand { padding-inline:12px; }
  :is(.connected-candidate,.inner-page) .cp-top-brand img { width:28px; height:18px; }
  :is(.connected-candidate,.inner-page) .cp-top-nav .cp-top-process { display:none; }
}

:is(.connected-candidate,.inner-page) .cp-top-header {
  position:sticky;
  top:0;
  z-index:30;
  width:var(--lm-shell-width);
  max-width:1280px;
  margin:0 auto;
  padding-top:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.connected-candidate.lm-video-immersive .cp-top-header { opacity:0; pointer-events:none; }
:is(.connected-candidate,.inner-page) .lm-dot-waves-bottom { top:auto; bottom:0; transform:scaleY(-1); -webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent); mask-image:linear-gradient(to bottom,#000 55%,transparent); }
/* The footer's bottom margin collapsed through <body>, so the bottom dots stopped 24px short of the page end. flow-root keeps that margin inside body. */
body.lm-dot-ready { display:flow-root; }
:is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav {
  margin:0;
  padding:6px;
  flex-shrink:0;
  border-radius:999px;
  box-shadow:inset 0 -3px 6px #00000008;
}
:is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav a {
  border:0;
  padding:10px 14px;
  border-radius:999px;
  font-weight:600;
}
:is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-brand {
  width:48px;
  padding:10px;
  border-radius:999px;
  background:#151515;
}
:is(.connected-candidate,.inner-page) .cp-top-header .cp-top-brand img { filter:none; width:28px; }
:is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-contact {
  margin-left:8px;
  padding-inline:20px;
  background:#151515;
  color:#fff;
  box-shadow:inset 0 -3px 6px #ffffff12;
}
:is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-contact:hover { background:#f6521b; color:#000; }
:is(.connected-candidate,.inner-page) .cp-top-status,
:is(.connected-candidate,.inner-page) .cp-top-email {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 16px;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 -3px 6px #00000008;
  color:#25232b;
  font-size:12px;
  white-space:nowrap;
  text-decoration:none;
}
:is(.connected-candidate,.inner-page) .cp-top-status-dot { width:9px; height:9px; border-radius:50%; background:#f6521b; box-shadow:0 0 0 4px #f6521b20; }
:is(.connected-candidate,.inner-page) .cp-top-email:hover { color:#bc370d; }
:is(.connected-candidate,.inner-page) .cp-top-email:focus-visible { outline:2px solid #f6521b; outline-offset:4px; }
:is(.connected-candidate,.inner-page) .cp-top-links { display:flex; align-items:center; }
:is(.connected-candidate,.inner-page) .cp-top-toggle { display:none; }
@media (max-width:767px) {
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav {
    /* Inset from the hero panel's edges on phones. */
    width:calc(100% - 24px);
    max-width:calc(100% - 24px);
    justify-content:space-between;
    align-items:center;
    padding:6px;
    overflow:visible;
  }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-brand {
    width:48px;
    height:48px;
    padding:10px;
    flex-shrink:0;
  }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-brand img { width:28px; height:21px; }
  :is(.connected-candidate,.inner-page) .cp-top-toggle {
    display:flex;
    position:relative;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    background:#f3f2f1;
    color:#25232b;
    cursor:pointer;
  }
  :is(.connected-candidate,.inner-page) .cp-top-toggle span { width:20px; height:2px; background:currentColor; border-radius:2px; transition:transform .2s ease; }
  :is(.connected-candidate,.inner-page) .cp-top-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  :is(.connected-candidate,.inner-page) .cp-top-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  :is(.connected-candidate,.inner-page) .cp-top-toggle:focus-visible { outline:2px solid #f6521b; outline-offset:2px; }
  :is(.connected-candidate,.inner-page) .cp-top-links {
    display:none;
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    right:0;
    padding:10px;
    border:1px solid #e7e5e3;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 30px #00000014;
  }
  :is(.connected-candidate,.inner-page) .cp-top-nav.is-open .cp-top-links { display:flex; flex-direction:column; align-items:stretch; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-links a { display:flex; justify-content:flex-start; padding:12px 16px; font-size:15px; min-height:48px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-links .cp-top-contact { margin:6px 0 0; justify-content:center; }
}
@media (max-width:1199px) {
  :is(.connected-candidate,.inner-page) .cp-top-header { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav { grid-column:1/-1; grid-row:1; justify-self:center; }
  :is(.connected-candidate,.inner-page) .cp-top-status { display:inline-flex; justify-self:start; }
  :is(.connected-candidate,.inner-page) .cp-top-email { display:inline-flex; justify-self:end; }
}
@media (max-width:600px) {
  :is(.connected-candidate,.inner-page) .cp-top-header { margin-top:0; padding-top:16px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav { padding:4px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav a { padding:8px; font-size:12px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-brand { width:48px; padding:10px; border-radius:999px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-brand img { width:28px; }
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-contact { margin-left:3px; padding-inline:11px; }
  :is(.connected-candidate,.inner-page) .cp-top-status,:is(.connected-candidate,.inner-page) .cp-top-email { padding:9px 8px; font-size:10px; gap:6px; }
  :is(.connected-candidate,.inner-page) .cp-top-status-dot { width:7px; height:7px; box-shadow:0 0 0 3px #f6521b20; }
}
/* Same 24px gap below the menu as the homepage hero. */
.inner-page .cp-top-header + #main { margin-top:24px; }
/* css/hero-story.css */
.connected-candidate #home .cp-story-stage { display:none; }
.connected-candidate #home .cp-story-fallback { display:grid; gap:24px; padding:40px 24px; }
.cp-story-fallback .cp-story-static-assets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cp-story-fallback figure { margin:0; }
.cp-story-fallback img { display:block; width:100%; height:240px; object-fit:contain; }
.cp-story-fallback figcaption { text-align:center; margin-top:12px; font-weight:600; }
.cp-story-fallback p { text-align:center; font-size:clamp(24px,3vw,40px); font-weight:600; }
.cp-story-fallback svg { display:none; }
.connected-candidate #home.cp-hero-story-ready { height:calc(var(--cp-story-height) + var(--cp-story-run) + var(--cp-story-hold,0px) + 24px); }
.connected-candidate #main #home.cp-hero-story-ready .hero-grid {
  position:sticky;
  top:var(--cp-story-pin-top,16px);
  height:var(--cp-story-height);
  min-height:0;
}
.connected-candidate #home.cp-hero-story-ready .cp-story-fallback { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
.connected-candidate #home.cp-hero-story-ready .cp-story-stage { display:block; position:absolute; inset:0; z-index:4; pointer-events:none; }
.cp-story-node { position:absolute; top:0; left:0; margin:0; opacity:0; transform-origin:0 0; }
.cp-story-parallax { position:relative; width:100%; height:100%; transition:transform .6s ease-out; }
.cp-story-node img { display:block; width:100%; height:100%; object-fit:contain; }
.cp-story-node .cp-story-finished { position:absolute; inset:0; opacity:0; }
.cp-story-node figcaption { position:absolute; left:50%; top:calc(100% + 10px); transform:translateX(-50%); width:max-content; padding:10px 18px; color:#fff; font-size:16px; font-weight:600; text-align:center; opacity:0; border:2px solid transparent; border-radius:999px; background:linear-gradient(#17120f,#17120f) padding-box,conic-gradient(from var(--cp-button-beam-angle),#f6521b33 0%,#f6521b33 60%,#f6521b 76%,#ffc08e 84%,#f6521b 91%,#f6521b33 100%) border-box; box-shadow:0 0 14px #f6521b40,0 0 30px #f6521b1a; animation:cp-button-beam 8s linear infinite; white-space:nowrap; }
.cp-story-links { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.cp-story-links g { opacity:0; }
.cp-story-link { stroke:#f6521b; stroke-width:2; stroke-linecap:round; }
.cp-story-link-glow { stroke:#f6521b; stroke-width:8; stroke-linecap:round; opacity:.18; }
.cp-story-fallback .cp-story-plane { fill:none; stroke:#413f54; }
.cp-story-fallback .cp-story-detail { stroke:#413f54; }
.cp-story-fallback svg text { fill:#413f54; }
.cp-story-final-copy { position:absolute; left:8%; top:18%; width:84%; color:#fff; text-align:center; font-size:clamp(26px,3.2vw,44px); font-weight:600; line-height:1.2; letter-spacing:-.02em; opacity:0; }
.cp-story-plane { fill:#413f54; stroke:#f6f6f6; stroke-width:1.6; stroke-linejoin:round; }
.cp-story-accent { fill:#f6521b; stroke:#f6521b; }
.cp-story-detail { fill:none; stroke:#f6f6f6; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; }
.cp-story-fallback svg text { fill:#f6f6f6; font:500 13px Poppins,Arial,sans-serif; letter-spacing:2px; }
.connected-candidate #home .cp-story-fallback svg text { fill:#413f54; }
@media (prefers-reduced-motion:reduce) { .cp-story-node figcaption { animation:none; } .cp-story-parallax { transition:none; } }
@media (max-width:767px) {
  .cp-story-final-copy { left:8%; top:30%; bottom:auto; width:84%; }
  .cp-story-node figcaption { font-size:16px; }
  .cp-story-fallback .cp-story-static-assets { grid-template-columns:minmax(0,1fr); }
  .cp-story-fallback img { height:220px; }
}
.cp-story-progress { display:none; position:absolute; right:-22px; top:50%; transform:translateY(-50%); z-index:6; align-items:center; gap:10px; flex-direction:column; pointer-events:none; color:#ddd; font:500 11px/1.4 Poppins,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.cp-hero-story-ready .cp-story-progress { display:flex; }
.cp-story-progress-track { display:block; width:16px; height:154px; background:repeating-linear-gradient(to bottom,#ffffff40 0 2px,transparent 2px 11px); }
.cp-story-progress-fill { display:block; width:100%; height:100%; clip-path:inset(0 0 100% 0); background:repeating-linear-gradient(to bottom,#f6521b 0 2px,transparent 2px 11px); opacity:.45; filter:drop-shadow(0 0 3px #f6521b22); }
@media(max-width:767px) { .cp-story-progress { right:-15px; top:22%; } .cp-story-progress-track { width:10px; height:110px; } }

/* Story mode: headline and button start centered together; each saying takes the headline's spot in turn. */
.connected-candidate #home.cp-hero-story-ready .hero-copy { display:contents; }
body.connected-candidate #main #home.cp-hero-story-ready .hero-heading { grid-area:1/1/2/-1; align-self:center; justify-self:center; text-align:center; margin:0; }
/* Story lines share the centre and take turns; each one is large and near white so it reads on its own. */
body.connected-candidate #main #home.cp-hero-story-ready .hero-copy>p.cp-hero-line { grid-area:1/1/2/-1; align-self:center; justify-self:center; text-align:center; margin:0; max-width:28ch; font-size:clamp(22px,2.4vw,36px); line-height:1.35; font-weight:500; color:#f6f6f6; opacity:0; text-wrap:balance; }
body.connected-candidate #main #home.cp-hero-story-ready .hero-copy>.hero-actions { grid-area:2/1/3/-1; justify-self:center; }
/* Caption copy under each story tag. */
.cp-story-caption-line { display:block; max-width:26ch; margin:4px auto 0; font-size:13px; line-height:18px; font-weight:400; color:#cec9d1; white-space:normal; }
.cp-story-fallback .cp-story-caption-line { color:#413f54; font-size:14px; }
/* Phones: three two-line pills cannot fit side by side, so the animation shows compact tags only. */
@media (max-width:767px) {
  .cp-story-node figcaption { padding:6px 12px; font-size:13px; }
  .cp-story-node .cp-story-caption-line { display:none; }
}

/* Scroll cue: a mouse with a moving wheel in the lower corner on the side of the opening frame. */
.cp-story-cue { display:none; position:absolute; right:28px; bottom:24px; z-index:6; pointer-events:none; }
.cp-hero-story-ready .cp-story-cue { display:block; }
.cp-story-cue.is-end { right:auto; left:50%; bottom:clamp(20px,4vh,40px); transform:translateX(-50%); }
.cp-story-cue-mouse { display:block; width:24px; height:38px; border:2px solid #f6f6f699; border-radius:14px; position:relative; }
.cp-story-cue-wheel { position:absolute; left:50%; top:7px; width:4px; height:8px; margin-left:-2px; border-radius:2px; background:#f6521b; animation:cp-story-wheel 1.6s ease-in-out infinite; }
@keyframes cp-story-wheel { 0% { transform:translateY(0); opacity:1; } 70% { transform:translateY(12px); opacity:0; } 100% { transform:translateY(0); opacity:0; } }
.cp-story-progress { opacity:0; }
@media (max-width:767px) { .cp-story-cue:not(.is-end) { right:14px; bottom:18px; } .cp-story-cue-mouse { width:20px; height:32px; } }
@media (prefers-reduced-motion:reduce) { .cp-story-cue-wheel { animation:none; } }
/* Final row: the pills keep only their titles. */
.cp-story-caption-line { max-height:3.6em; overflow:hidden; transition:opacity .35s ease,max-height .45s ease,margin-top .45s ease; }
.cp-story-compact .cp-story-caption-line { opacity:0; max-height:0; margin-top:0; }
.cp-story-measuring .cp-story-caption-line { transition:none; }
/* The copy wrapper is display:contents in story mode, so the lines and button need their own layer above the hero texture. */
body.connected-candidate #main #home.cp-hero-story-ready .hero-copy>:is(.cp-hero-line,.hero-actions) { position:relative; z-index:3; }

/* Labels shrink about their top centre as the row forms (scale set in hero-story.js). */
/* Centre with the translate property: it applies after the JS caption scale, so a scaled-down label stays centred under its image. */
.cp-story-node figcaption { transform:none; translate:-50% 0; transform-origin:50% 0; }
/* css/about-process.css */
.connected-candidate #main #lionel.cp-about-marquee { display:block; overflow:hidden; padding:clamp(48px,6vw,80px) 0; background:#efeeee; border:1px solid #e3e0e0; border-radius:28px; text-align:center; }
.cp-about-top { max-width:760px; margin:0 auto; padding:0 24px; }
.cp-about-person { display:inline-flex; align-items:center; max-width:100%; gap:12px; padding:8px 18px 8px 8px; border:1px solid #e4e1e1; border-radius:999px; background:#fff; box-shadow:0 3px 14px #00000006; text-align:left; }
.cp-about-person>div { min-width:0; }
.connected-candidate #main #lionel .cp-about-person img { display:block; width:72px; height:72px; min-height:0; border:0; border-radius:50%; object-fit:cover; }
.connected-candidate #main #lionel .cp-about-person h3 { margin:0; font-size:22px; font-weight:600; line-height:1.4; letter-spacing:0; }
.cp-about-person span { display:block; font-size:14px; color:#656170; }
.cp-about-mail { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; margin-left:8px; background:#f3f1f1; border-radius:50%; text-decoration:none; color:#413f54; }
.cp-about-mail:focus-visible,.cp-about-motion:focus-visible { outline:2px solid #f6521b; outline-offset:4px; }
.cp-about-mail svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.connected-candidate #main #lionel .cp-about-intro { margin:28px auto 16px; max-width:640px; color:#413f54; font-size:clamp(18px,2vw,24px); line-height:1.65; }
.connected-candidate #main #lionel .cp-location-note { margin:14px auto 0; font-size:14px; color:#656170; text-align:center; }
.cp-about-rows { display:grid; gap:16px; margin-top:40px; overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent); }
.cp-about-row { overflow:hidden; }
.cp-about-track { display:flex; width:max-content; animation:cp-about-drift 48s linear infinite; }
.cp-about-row:nth-child(2) .cp-about-track { animation-direction:reverse; animation-duration:54s; }
.cp-about-group { display:flex; gap:14px; padding:0 14px 0 0; margin:0; list-style:none; flex-shrink:0; }
.cp-about-chip { display:flex; align-items:center; gap:10px; flex-shrink:0; min-height:52px; padding:6px 20px 6px 6px; border:1px solid #dedadb; border-radius:999px; background:#fff; color:#252332; font-size:16px; font-weight:500; white-space:nowrap; }
.cp-about-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#fff1e9; color:#f6521b; }
.cp-about-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cp-about-marquee.is-paused .cp-about-track,.cp-about-marquee.is-offscreen .cp-about-track,.cp-about-rows:hover .cp-about-track { animation-play-state:paused; }
.connected-candidate #main #lionel .cp-contact-links { justify-content:center; margin-top:30px; }
.cp-about-motion { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; border:0; padding:8px 16px; background:transparent; color:#656170; font:400 12px Poppins,Arial,sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
@keyframes cp-about-drift { to { transform:translateX(-50%); } }
.connected-candidate #main #process .cp-process-inner { display:block; width:100%; max-width:none; }
.connected-candidate #main #process { background:transparent; border:0; box-shadow:none; }
.connected-candidate #main #process .cp-process-heading { max-width:760px; margin:0 0 24px; text-align:left; }
.connected-candidate #main #process h2 { font-size:clamp(30px,3.5vw,46px); line-height:1.2; }
.connected-candidate #main #process .cp-process-heading p { max-width:600px; margin:18px auto 0; font-size:18px; }
.connected-candidate #main #process .cp-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:none; margin:0; }
.connected-candidate #main #process .cp-process-card { display:flex; flex-direction:column; min-height:0; padding:32px; border:1px solid #e5e2e2; border-radius:24px; background:#f6f5f5; box-shadow:none; transform:none; }
.connected-candidate #main #process .cp-process-card::before,.connected-candidate #main #process .cp-process-card::after { display:none; }
.connected-candidate #main #process .cp-process-figure { order:0; display:grid; place-items:center; width:64px; height:64px; min-height:0; margin:0 0 28px; border-radius:18px; background:#f6521b; box-shadow:0 6px 18px #f6521b26; }
.connected-candidate #main #process .cp-process-figure svg { width:36px; height:36px; color:#fff; stroke:#fff; opacity:1; }
.connected-candidate #main #process .cp-process-figure svg :is(g,path,circle,rect,line,polyline,polygon) { stroke:#fff; stroke-width:4; stroke-opacity:1; opacity:1; }
.connected-candidate #main #process .cp-process-card { transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease; cursor:pointer; }
.connected-candidate #main #process .cp-process-card:is(:hover,:focus-visible,.is-selected) { background:#fff; border-color:#dedadb; box-shadow:0 8px 24px #413f5409; }
.connected-candidate #main #process .cp-process-card:focus-visible { outline:2px solid #f6521b; outline-offset:4px; }
.connected-candidate #main #process .cp-process-title { order:1; display:flex; justify-content:flex-start; align-items:baseline; gap:12px; margin:0 0 14px; }
.connected-candidate #main #process .cp-process-number { color:#656170; font-size:13px; line-height:1.4; font-weight:600; letter-spacing:.06em; font-variant-numeric:tabular-nums; }
.connected-candidate #main #process .cp-process-title h3 { margin:0; color:#252332; font-size:24px; line-height:1.3; }
.connected-candidate #main #process .cp-process-card>p { order:2; margin:0; color:#656170; font-size:16px; line-height:1.7; }
@media (max-width:767px) {
 .cp-about-chip { min-height:46px; padding:5px 16px 5px 5px; font-size:14px; gap:8px; }
 .cp-about-icon { width:34px; height:34px; }
 .cp-about-icon svg { width:19px; height:19px; }
 .connected-candidate #main #lionel .cp-about-person img { width:60px; height:60px; }
 .connected-candidate #main #lionel .cp-about-person h3 { font-size:20px; }
 .cp-about-person span { font-size:12px; }
 .cp-about-top { padding-inline:16px; }
 .cp-about-person { gap:10px; padding:8px; }
 .cp-about-mail { width:32px; height:32px; margin-left:2px; }
 .connected-candidate #main #process .cp-process-grid { grid-template-columns:1fr; gap:16px; }
 .connected-candidate #main #process .cp-process-card { padding:28px; }
 .connected-candidate #main #process .cp-process-heading { margin-bottom:20px; }
}
@media (prefers-reduced-motion:reduce) {
 .cp-about-track { animation:none; width:100%; }
 .cp-about-group { flex-wrap:wrap; justify-content:center; padding:0 16px; }
 .cp-about-group[aria-hidden="true"] { display:none; }
 .cp-about-rows { mask-image:none; }
 .cp-about-motion { display:none; }
}
/* css/type-hierarchy.css */
/* Shared content hierarchy. Display heroes and profile labels have explicit roles. */
body:is(.connected-candidate,.inner-page) {
 --type-h1:60px; --type-h1-line:66px;
 --type-h2:40px; --type-h2-line:48px;
 --type-h3:26px; --type-h3-line:34px;
 --type-h4:22px; --type-h4-line:30px;
 --type-intro:20px; --type-intro-line:30px;
 font-family:Poppins,Arial,sans-serif;
}
body:is(.connected-candidate,.inner-page) #main h1 { font-family:Poppins,Arial,sans-serif; font-size:var(--type-h1); line-height:var(--type-h1-line); font-weight:600; letter-spacing:-.02em; }
body:is(.connected-candidate,.inner-page) #main h2 { font-family:Poppins,Arial,sans-serif; font-size:var(--type-h2); line-height:var(--type-h2-line); font-weight:600; letter-spacing:-.02em; }
body:is(.connected-candidate,.inner-page) #main h3 { font-family:Poppins,Arial,sans-serif; font-size:var(--type-h3); line-height:var(--type-h3-line); font-weight:600; }
body:is(.connected-candidate,.inner-page) #main h4 { font-family:Poppins,Arial,sans-serif; font-size:var(--type-h4); line-height:var(--type-h4-line); font-weight:600; }
body:is(.connected-candidate,.inner-page) #main h5 { font-size:18px; line-height:26px; font-weight:600; }
body:is(.connected-candidate,.inner-page) #main h6 { font-size:16px; line-height:24px; font-weight:600; }
body.connected-candidate #main #process h2 { font-size:var(--type-h2); line-height:var(--type-h2-line); }
body.connected-candidate #main #process .cp-process-title h3,
body.connected-candidate #main .cp-chapter h3 { font-size:var(--type-h3); line-height:var(--type-h3-line); }
body.connected-candidate #main .eyebrow { font-family:Poppins,Arial,sans-serif; font-size:12px; line-height:18px; font-weight:500; }
body.connected-candidate #main #home .hero-heading h1 { font-size:calc(var(--type-h1)*1.18); line-height:1.1; }
body.connected-candidate #main #home .hero-grid { row-gap:20px; }
body.connected-candidate #main #home .hero-copy { margin-top:0; }
body.connected-candidate #main #home .hero-copy>p { font-size:calc(var(--type-intro)*1.15); line-height:1.5; margin-bottom:44px; }
body.connected-candidate #main #home .hero-actions .button { font-size:16px; line-height:22px; padding:17px 26px; min-height:58px; }
body.connected-candidate #main #lionel .cp-about-person h3 { font-size:22px; line-height:30px; font-weight:600; }
body.connected-candidate #main #lionel .cp-about-intro { font-size:var(--type-intro); line-height:var(--type-intro-line); }
@media (max-width:1023px) {
 body:is(.connected-candidate,.inner-page) { --type-h1:48px; --type-h1-line:54px; --type-h2:34px; --type-h2-line:42px; --type-h3:24px; --type-h3-line:32px; --type-h4:20px; --type-h4-line:28px; --type-intro:18px; --type-intro-line:28px; }
}
@media (max-width:767px) {
 body:is(.connected-candidate,.inner-page) { --type-h1:38px; --type-h1-line:44px; --type-h2:28px; --type-h2-line:36px; --type-h3:22px; --type-h3-line:30px; }
 body.connected-candidate #main #home .hero-heading h1 { font-size:clamp(25px,7.75vw,37.76px); }
 body.connected-candidate #main #home .hero-grid { row-gap:18px; }
 body.connected-candidate #main #home .hero-copy>p { margin-bottom:36px; }
 body.connected-candidate #main #lionel .cp-about-person h3 { font-size:20px; line-height:28px; }
}
/* css/streamline.css */
/* Streamline pass, 2026-10-15. Design only: no copy changes.
   Loaded last. One radius family, one gutter, one accent role (CTAs + process numbers), calmer motion. */
body.connected-candidate { --r-ui: 8px; --r-card: 16px; --r-shell: 24px; --sh-1: 0 1px 2px #24232b0a, 0 4px 16px #24232b0f; }

/* 1. Trust heading broke mid-word ("relationshi / p"). */
.connected-candidate .trust-grid .fit h3 { overflow-wrap: normal; max-width: 20ch; text-wrap: balance; }
.connected-candidate .cp-services :is(h2,h3), .connected-candidate .faq-section :is(h2,h3) { overflow-wrap: normal; }

/* 2. One gutter: trust row matches every other 24px gap. */
.connected-candidate .trust-grid { gap: var(--cp-container-gap, 24px); }

/* 3. Testimonial: remove the dead middle. */
.connected-candidate .trust-grid > div:first-child { min-height: 0; }
.connected-candidate .trust-grid .quote-credit { margin-top: 40px; padding-top: 0; }

/* 4. One shell radius for panels, one card radius for nested cards. */
.connected-candidate :is(.trust-grid > div, .faq-section, .cp-blog, .cp-contact-card) { border-radius: var(--r-shell); }
.connected-candidate #main #lionel.cp-about-marquee { border-radius: var(--r-shell); background: #fff; border: 0; }
.connected-candidate #main #process .cp-process-card { border-radius: var(--r-card); }

/* 5. Process icons: quiet tint, so orange stays with CTAs and numbers. */
.connected-candidate #main #process .cp-process-figure { width: 52px; height: 52px; margin-bottom: 20px; border-radius: 14px; background: #fff1e9; box-shadow: none; }
.connected-candidate #main #process .cp-process-figure svg { width: 30px; height: 30px; }
.connected-candidate #main #process .cp-process-figure svg :is(g,path,circle,rect,line,polyline,polygon) { stroke: #f6521b; stroke-width: 7; }

/* 6. Articles: no box inside a box. */
.connected-candidate .cp-article-card { background: transparent; border: 0; border-top: 1px solid rgba(0,0,0,.12); border-radius: 0; box-shadow: none; }
.connected-candidate .cp-article-copy { padding-inline: 0; }
.connected-candidate .cp-article-status { border-top: 0; }

/* 7. About chips: icons drop the orange discs; marquee drifts more slowly. */
.connected-candidate .cp-about-icon { background: #f3f1f1; color: #656170; }
.connected-candidate .cp-about-track { animation-duration: 110s; }
.connected-candidate .cp-about-row:nth-child(2) .cp-about-track { animation-duration: 120s; }

/* 8. FAQ: a list, not five cards; side column holds while reading. */
.connected-candidate .faq-grid { align-items: start; }
@media (min-width: 992px) { .connected-candidate .faq-side { position: sticky; top: 96px; } }

/* 9. Body sizes consistent at 16px+. */
.connected-candidate .cp-blog-note { font-size: 16px; line-height: 1.6; }
.connected-candidate .cp-story-final-copy { color: #fff; }

/* 10. Motion: textures hold still, loops settle, one moving thing per screen. */
.connected-candidate :is(.hero, .hero-grid)::before { animation: none; opacity: .55; }
.connected-candidate .cp-services .cp-chapter:not([hidden])::before { animation: none; opacity: .5; }
.connected-candidate .cp-story-node figcaption { animation: none; }
.connected-candidate .cp-hero-collage img { opacity: .22; }
@media (max-width: 767px) { .connected-candidate .cp-hero-collage img { opacity: .14; } }
.cp-ink-trail { z-index: 40; }
.cp-ink-trail path { stroke-opacity: .2; filter: blur(.6px) drop-shadow(0 0 3px #f6521b40); }

/* 11. Closing: copy and CTA sit with the headline instead of 600px away. */
@media (min-width: 992px) { .connected-candidate .closing-top { align-items: start; grid-template-columns: minmax(0,1fr) minmax(0,420px); } }

/* A1: the homepage audit button matches the inner pages: orange pill, black text. */
.connected-candidate .closing .button.orange { border-radius:999px; background:#f6521b; color:#000; }
/* A6: starting price on each service card. */
.connected-candidate .cp-chapter-price { font-size:18px; line-height:26px; font-weight:600; margin:-8px 0 18px; }

/* What happens next: three illustrated step cards (replaces Mapping / Building / Connecting). */
.connected-candidate .cp-steps { width:var(--lm-shell-width); max-width:1280px; margin:0 auto; padding-block:clamp(64px,8vw,104px); }
.connected-candidate .cp-step-cards { list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.connected-candidate .cp-step-card { display:flex; flex-direction:column; background:#0d0c10; color:#f6f6f6; border-radius:24px; overflow:hidden; }
.connected-candidate .cp-step-media { margin:0; aspect-ratio:4/3; display:grid; place-items:center; padding:28px; background:radial-gradient(circle at 25% 15%,#f6521b38,transparent 60%),#1d1922; }
.connected-candidate .cp-step-media > img { width:100%; height:auto; max-height:100%; object-fit:contain; border-radius:10px; box-shadow:0 18px 40px #00000066; }
.connected-candidate .cp-step-player { position:relative; width:72%; aspect-ratio:16/11; border-radius:12px; overflow:hidden; background:#000; box-shadow:0 18px 40px #00000066; }
.connected-candidate .cp-step-player img { width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
.cp-step-player.is-wide { width:94%; aspect-ratio:1280/510; }
.cp-step-player video { display:block; width:100%; height:100%; object-fit:contain; }
.connected-candidate .cp-step-play { position:absolute; inset:0; margin:auto; width:56px; height:56px; border-radius:50%; background:#f6521b; box-shadow:0 0 0 8px #f6521b33; }
.connected-candidate .cp-step-play::after { content:""; position:absolute; left:22px; top:17px; border-style:solid; border-width:11px 0 11px 17px; border-color:transparent transparent transparent #000; }
.connected-candidate .cp-step-badge { position:absolute; top:10px; left:10px; padding:4px 10px; border-radius:999px; background:#000000cc; color:#fff; font-size:12px; line-height:16px; letter-spacing:.08em; text-transform:uppercase; }
.connected-candidate .cp-step-media--trio { display:flex; align-items:center; justify-content:center; gap:10px; }
.connected-candidate .cp-step-media--trio img { width:auto; max-width:32%; max-height:82%; object-fit:contain; border-radius:6px; box-shadow:0 12px 28px #00000066; }
.connected-candidate .cp-step-copy { padding:28px; }
body.connected-candidate #main .cp-step-card h3 { margin:0 0 12px; color:#fff; font-size:24px; line-height:32px; }
.connected-candidate .cp-step-num { color:#ffa678; }
.connected-candidate .cp-step-copy p { margin:0; color:#cec9d1; font-size:16px; line-height:1.6; }
@media (max-width:899px) { .connected-candidate .cp-step-cards { grid-template-columns:1fr; } .connected-candidate .cp-step-media { aspect-ratio:16/10; } }
/* Blog reduced to one line on the homepage. */

/* "Does this sound familiar?": the reader's situation in their own words. */
/* Text thread. Static (no JS or reduced motion): the conversation as plain bubbles. js/familiar-thread.js adds .is-thread and the phone card. */
.connected-candidate .cp-services .cp-familiar-sub { max-width:44ch; margin:16px 0 0; font-size:clamp(18px,1.6vw,21px); line-height:1.45; color:#14131a; }
.connected-candidate .cp-thread { list-style:none; padding:0; margin:32px 0 0; max-width:560px; }
.connected-candidate .cp-thread > li { display:flex; flex-direction:column; margin-top:4px; }
.connected-candidate .cp-thread .cp-msg { width:fit-content; max-width:82%; margin:6px 0 0; padding:10px 15px; border-radius:20px; font-size:17px; line-height:1.4; }
.connected-candidate .cp-thread .cp-msg-in { background:#e9e8ec; color:#14131a; border-bottom-left-radius:6px; margin-right:auto; transform-origin:0 100%; }
.connected-candidate .cp-thread .cp-msg-out { background:#c93f12; color:#fff; border-bottom-right-radius:6px; margin-left:auto; transform-origin:100% 100%; }
/* Chat and services side by side (1200px+), equal height; stacked, chat first, below that. */
.connected-candidate .cp-pair { display:grid; gap:40px; }
.connected-candidate .cp-pair > .cp-familiar { width:100%; max-width:440px; }
@media (min-width:1200px) {
  /* Same 3-column grid as the work and process cards: chat in column 1, services across 2 and 3. */
  .connected-candidate .cp-pair { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
  .connected-candidate .cp-pair > .cp-familiar { max-width:none; }
  .connected-candidate .cp-pair > .cp-qa { grid-column:2 / span 2; }
  /* Fixed row height: a closing question row can never stretch the chat mid-animation. */
  /* Audit line sits under the chat; the question rows extend down beside both. */
  .connected-candidate .cp-pair { grid-template-rows:484px auto; }
  .connected-candidate .cp-pair > .cp-qa { grid-row:1 / span 2; }
  .connected-candidate .cp-pair > .cp-services-foot { grid-column:1; grid-row:2; margin:0; }
  /* The chat matches the tabs-plus-card height, top to bottom, so nothing shifts as the page scrolls. */
  /* The chat fills its column without adding height of its own; the services card sets the row height and new messages scroll inside. */
  .connected-candidate .cp-pair > .cp-familiar { position:relative; }
  .connected-candidate .cp-pair .cp-chat { position:absolute; inset:0; height:auto; }
  .connected-candidate .cp-services .cp-pair .cp-service-picker { grid-template-columns:minmax(0,1fr); gap:20px; }
  .connected-candidate .cp-services .cp-pair .cp-journey { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
  .connected-candidate .cp-services .cp-pair .cp-journey button { min-height:72px; padding:14px 16px; font-size:15px; line-height:1.3; border-radius:18px; }
}
/* Chat in iOS dark mode: the section's first stop for the eye, balancing the dark Free audit pill. */
.connected-candidate .cp-services .cp-chat { background:#1c1c1e; box-shadow:inset 0 0 0 1px #2c2c2e, 0 1px 2px rgba(20,19,26,.08), 0 24px 48px -12px rgba(20,19,26,.28); }
.connected-candidate .cp-services .cp-chat-head { border-bottom-color:#38383a; color:#f2f2f7; font-weight:600; font-size:15px; }
.connected-candidate .cp-services .cp-chat-avatar { background:linear-gradient(#8e8e93, #5c5c61); color:#f2f2f7; }
.connected-candidate .cp-services .cp-chat-control { color:#98989f; } .connected-candidate .cp-services .cp-chat-control:hover { background:#2c2c2e; color:#f2f2f7; } .connected-candidate .cp-services .cp-chat-control:focus-visible { outline-color:#f2f2f7; }
.connected-candidate .cp-services .cp-chat .cp-thread .cp-msg-in { background:#2c2c2e; color:#f2f2f7; }
.connected-candidate .cp-services .cp-chat .cp-chat-dots:not(.is-out) { background:#2c2c2e; } .connected-candidate .cp-services .cp-chat .cp-chat-dots:not(.is-out) span { background:#8e8e93; }
.connected-candidate .cp-services .cp-chat .cp-msg-heart { background:#3a3a3c; box-shadow:0 0 0 2px #1c1c1e; } .connected-candidate .cp-services .cp-chat .cp-msg-heart svg { fill:#ff375f; }
.connected-candidate .cp-services .cp-chat-compose { border-top-color:#38383a; }
.connected-candidate .cp-services .cp-chat-input { background:#1c1c1e; border-color:#38383a; color:#f2f2f7; }
.connected-candidate .cp-services .cp-chat-text:empty::before { color:#98989f; }
.connected-candidate .cp-services .cp-chat-caret { background:#ff9f0a; }
.connected-candidate .cp-services .cp-chat-send { opacity:.35; }
@media (max-width:599px) { .connected-candidate .cp-services .cp-chat { height:400px; } }

/* The three questions as full-width rows; one opens at a time (details name group), all closed to start. */
.connected-candidate .cp-qa { align-self:stretch; background:#fff; border-radius:20px; box-shadow:0 1px 2px rgba(20,19,26,.06), 0 16px 40px -16px rgba(20,19,26,.16); overflow:hidden; }
.connected-candidate .cp-qa-item + .cp-qa-item { border-top:1px solid #e6e4e0; }
/* Closed, the three rows share the card height; the open row takes the room and the others shrink to bars. */
.connected-candidate .cp-qa { display:grid; grid-template-rows:repeat(3,minmax(72px,1fr)); }
.connected-candidate .cp-qa:has(> .cp-qa-item:nth-child(1)[open]) { grid-template-rows:1fr auto auto; }
.connected-candidate .cp-qa:has(> .cp-qa-item:nth-child(2)[open]) { grid-template-rows:auto 1fr auto; }
.connected-candidate .cp-qa:has(> .cp-qa-item:nth-child(3)[open]) { grid-template-rows:auto auto 1fr; }
.connected-candidate .cp-qa-item:not([open]) > summary { height:100%; }
.connected-candidate .cp-qa-item:not([open]) > summary .cp-qa-q { font-size:var(--t-h3); line-height:var(--t-h3-lh); }
.connected-candidate .cp-qa-item { position:relative; }
.connected-candidate .cp-qa-item[open]::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:#f6521b; }
/* Open row stands out: warm tint, orange question; the other rows fade back while one is open. */
.connected-candidate .cp-qa-item { transition:background .24s; }
.connected-candidate .cp-qa-item[open] { background:#fce4d8; }
.connected-candidate .cp-qa-item[open] > summary:hover { background:transparent; }
.connected-candidate .cp-qa-item[open] .cp-qa-q { color:#b8380d; }
.connected-candidate .cp-qa-item[open] .cp-qa-panel .cp-qa-tags { color:#5f5e64; }
/* While a row is open, the closed rows step far back: small, faint text, icon and plus; full strength on hover or focus. */
.connected-candidate .cp-qa:has(.cp-qa-item[open]) .cp-qa-item:not([open]) .cp-qa-q { font-size:17px; font-weight:500; color:#a8a6ad; transition:color .2s; }
.connected-candidate .cp-qa:has(.cp-qa-item[open]) .cp-qa-item:not([open]) :is(.cp-qa-svc,.cp-qa-icon) { opacity:.35; transition:opacity .2s; }
.connected-candidate .cp-qa:has(.cp-qa-item[open]) .cp-qa-item:not([open]) > summary:is(:hover,:focus-visible) :is(.cp-qa-svc,.cp-qa-icon) { opacity:1; }
.connected-candidate .cp-qa:has(.cp-qa-item[open]) .cp-qa-item:not([open]) > summary:focus-visible .cp-qa-q { color:#14131a; }
.connected-candidate .cp-qa:has(.cp-qa-item[open]) .cp-qa-item:not([open]) > summary:hover .cp-qa-q { color:#14131a; }
.connected-candidate .cp-qa-item > summary { display:grid; grid-template-columns:48px minmax(0,1fr) 32px; align-items:center; min-height:72px; padding:0 28px 0 32px; list-style:none; cursor:pointer; transition:background .2s; }
.connected-candidate .cp-qa-item > summary::-webkit-details-marker { display:none; }
.connected-candidate .cp-qa-item > summary:hover { background:#faf9f7; }
.connected-candidate .cp-qa-item > summary:focus-visible { outline:2px solid #14131a; outline-offset:-4px; border-radius:16px; }
.connected-candidate .cp-qa-svc { display:block; width:24px; height:24px; color:#6b6a70; transition:color .24s; }
.connected-candidate .cp-qa-svc svg { display:block; width:100%; height:100%; }
.connected-candidate .cp-qa-item[open] .cp-qa-svc { color:#b8380d; }
.connected-candidate .cp-qa-q { font-size:clamp(18px,1.6vw,22px); font-weight:600; line-height:1.25; color:#14131a; }
.connected-candidate .cp-qa-icon { position:relative; width:32px; height:32px; border-radius:50%; box-shadow:inset 0 0 0 1px #dcdad6; transition:background .24s, box-shadow .24s, transform .24s; }
.connected-candidate .cp-qa-icon::before, .connected-candidate .cp-qa-icon::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:2px; margin:-1px 0 0 -6px; border-radius:1px; background:#14131a; transition:transform .24s, background .24s; }
.connected-candidate .cp-qa-icon::after { transform:rotate(90deg); }
.connected-candidate .cp-qa-item > summary:hover .cp-qa-icon { box-shadow:inset 0 0 0 1px #14131a; }
.connected-candidate .cp-qa-item[open] .cp-qa-icon { background:#14131a; box-shadow:none; transform:rotate(180deg); }
.connected-candidate .cp-qa-item[open] .cp-qa-icon::before, .connected-candidate .cp-qa-item[open] .cp-qa-icon::after { background:#fff; } .connected-candidate .cp-qa-item[open] .cp-qa-icon::after { transform:rotate(0deg); }
.connected-candidate .cp-qa-panel { padding:4px 32px 32px 80px; }
/* The open row fills its share of the card; its content sits centred in the space under the question. */
.connected-candidate .cp-qa-item[open] { display:flex; flex-direction:column; }
.connected-candidate .cp-qa-item[open]::details-content { flex:1 1 auto; display:flex; flex-direction:column; justify-content:center; }
.connected-candidate .cp-qa-item[open] .cp-qa-panel { padding-top:0; padding-bottom:0; }
@media (max-width:1199px) { .connected-candidate .cp-qa-item[open] .cp-qa-panel { padding-bottom:24px; } }
.connected-candidate .cp-qa-panel h3 { margin:0; font-size:28px; line-height:1.2; font-weight:600; color:#000; }
.connected-candidate .cp-qa-panel p { margin:12px 0 0; font-size:17px; line-height:1.5; color:#3d3c42; }
.connected-candidate .cp-qa-panel .cp-qa-tags { font-size:14px; color:#6b6a70; }
.connected-candidate .cp-qa-panel .button { margin-top:24px; min-height:48px; }
/* Image slot beside each service (placeholder until the real image is chosen). */
.connected-candidate .cp-qa-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,380px); gap:32px; align-items:center; }
.connected-candidate .cp-qa-media { aspect-ratio:4 / 3; } /* transparent cutouts (Higgsfield background remover) sit straight on the panel */
.connected-candidate .cp-qa-media { display:grid; place-items:center; }
.connected-candidate .cp-qa-media img { display:block; width:80%; height:80%; object-fit:contain; filter:drop-shadow(0 18px 24px rgba(65,63,84,.18)); }
@media (max-width:899px) { .connected-candidate .cp-qa-panel { grid-template-columns:minmax(0,1fr); gap:20px; } .connected-candidate .cp-qa-media { aspect-ratio:16 / 9; } }
@media (max-width:599px) { .connected-candidate .cp-qa-item > summary { grid-template-columns:36px minmax(0,1fr) 32px; padding:14px 18px 14px 20px; } .connected-candidate .cp-qa-panel { padding:0 20px 24px 56px; } .connected-candidate .cp-qa-panel h3 { font-size:24px; } }
/* Smooth open where the browser supports animating to auto height; elsewhere the row opens instantly. */
@supports (interpolate-size:allow-keywords) {
  .connected-candidate .cp-qa { interpolate-size:allow-keywords; }
  .connected-candidate .cp-qa-item::details-content { height:0; overflow:clip; transition:height .28s ease-out, content-visibility .28s allow-discrete; }
  .connected-candidate .cp-qa-item[open]::details-content { height:auto; }
}
@media (prefers-reduced-motion:reduce) { .connected-candidate .cp-qa-item::details-content { transition:none; } .connected-candidate .cp-qa-icon, .connected-candidate .cp-qa-icon::before, .connected-candidate .cp-qa-icon::after { transition:none; } }
/* The services section sits on the page background now, not a dark panel; prices live on the service pages only. */
.connected-candidate .cp-services { background:transparent; color:#14131a; }
.connected-candidate .cp-services .cp-services-inner { width:100%; }
body.connected-candidate #main #cp-services-title { color:#000; }
.connected-candidate .cp-services .cp-chapter { border:1px solid #e6e4e0; }
.connected-candidate .cp-services .cp-journey button { background:#fff; color:#24232b; box-shadow:inset 0 0 0 1px #e2e0dc; }
.connected-candidate .cp-services .cp-journey button[aria-selected="true"] { background:#14131a; color:#fff; box-shadow:none; }
.connected-candidate .cp-services .cp-chapter > .cp-service-actions { order:4; }
.connected-candidate .cp-services .cp-services-foot { color:#24232b; }
.connected-candidate .cp-services .cp-services-foot a { color:#bc370d; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.connected-candidate .cp-chat { position:relative; height:clamp(430px,calc(44vh + 130px),510px); display:flex; flex-direction:column; background:#fff; border-radius:28px; overflow:hidden; box-shadow:0 1px 2px rgba(20,19,26,.06), 0 16px 40px rgba(20,19,26,.08); }
.connected-candidate .cp-chat-control { position:absolute; top:12px; right:12px; width:32px; height:32px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:transparent; color:#8d8b93; cursor:pointer; transition:background .2s, color .2s; }
.connected-candidate .cp-chat-control:hover { background:#f2f1ef; color:#24232b; }
.connected-candidate .cp-chat-control:focus-visible { outline:2px solid #bc370d; outline-offset:2px; }
.connected-candidate .cp-chat-control svg { width:14px; height:14px; fill:currentColor; }
.connected-candidate .cp-chat-head { display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 0 10px; border-bottom:1px solid #efeeec; font-size:13px; color:#55545c; }
.connected-candidate .cp-chat-avatar { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font:600 16px/1 system-ui, -apple-system, sans-serif; color:#fff; background:linear-gradient(#b4b3b8, #8e8d93); }
.connected-candidate .cp-chat-view { flex:1 1 auto; min-height:0; overflow-y:auto; scrollbar-width:none; display:flex; flex-direction:column; padding:4px 16px 12px; -webkit-mask-image:linear-gradient(to bottom, transparent, #000 36px); mask-image:linear-gradient(to bottom, transparent, #000 36px); }
.connected-candidate .cp-chat-view::-webkit-scrollbar { display:none; }
.connected-candidate .cp-chat-view .cp-thread { margin:auto 0 0; max-width:none; }
.connected-candidate .cp-chat-view .cp-thread > li { margin-top:2px; }
.connected-candidate .cp-msg-row { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .35s cubic-bezier(.2,.7,.2,1), opacity .25s ease-out; }
.connected-candidate .cp-msg-row.is-shown { grid-template-rows:1fr; opacity:1; }
.connected-candidate .cp-msg-clip { min-height:0; overflow:hidden; display:flex; flex-direction:column; }
.connected-candidate .cp-msg-row .cp-msg { transform:scale(.94) translateY(6px); transition:transform .3s cubic-bezier(.2,.7,.2,1); }
.connected-candidate .cp-msg-row.is-shown .cp-msg { transform:none; }
.connected-candidate .cp-thread .cp-msg[data-react] { position:relative; }
.connected-candidate .cp-msg-row .cp-msg[data-react] { margin-top:18px; }
.connected-candidate .cp-msg-heart { position:absolute; top:-14px; left:-12px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#e9e8ec; box-shadow:0 0 0 2px #fff; transform:scale(0); transition:transform .4s cubic-bezier(.3,1.6,.5,1); }
.connected-candidate .cp-msg-heart svg { width:14px; height:14px; fill:#e0245e; }
.connected-candidate .is-reacted .cp-msg-heart { transform:scale(1); }
.connected-candidate .cp-chat-dots { display:none; align-self:flex-start; gap:4px; margin-top:10px; padding:13px 14px; border-radius:20px; border-bottom-left-radius:6px; background:#e9e8ec; }
.connected-candidate .cp-chat-dots.is-on { display:flex; }
.connected-candidate .cp-chat-dots.is-out { align-self:flex-end; background:#c93f12; border-radius:20px; border-bottom-right-radius:6px; } .connected-candidate .cp-chat-dots.is-out span { background:#fff; }
.connected-candidate .cp-chat-dots span { width:7px; height:7px; border-radius:50%; background:#8d8b93; animation:cp-dot 1s ease-in-out infinite; }
.connected-candidate .cp-chat-dots span:nth-child(2) { animation-delay:.15s; } .connected-candidate .cp-chat-dots span:nth-child(3) { animation-delay:.3s; }
@keyframes cp-dot { 0%,60%,100% { transform:none; opacity:.5; } 30% { transform:translateY(-3px); opacity:1; } }
.connected-candidate .cp-chat-compose { display:flex; align-items:flex-end; gap:8px; padding:10px 12px 14px; border-top:1px solid #efeeec; }
.connected-candidate .cp-chat-input { flex:1; min-height:36px; padding:7px 14px; border:1px solid #dcdad6; border-radius:18px; font-size:16px; line-height:1.35; color:#14131a; }
.connected-candidate .cp-chat-text:empty::before { content:"Message"; color:#9a98a0; }
.connected-candidate .cp-chat-caret { display:none; width:2px; height:1.15em; margin-left:1px; vertical-align:-.2em; background:#c93f12; animation:cp-caret 1s steps(1) infinite; }
.connected-candidate .cp-chat.is-typing .cp-chat-caret { display:inline-block; } .connected-candidate .cp-chat.is-typing .cp-chat-text:empty::before { content:none; }
@keyframes cp-caret { 50% { opacity:0; } }
.connected-candidate .cp-chat-send { flex:none; width:32px; height:32px; margin-bottom:2px; border-radius:50%; background:#c93f12; opacity:.3; position:relative; transition:opacity .2s, transform .3s cubic-bezier(.2,.7,.2,1); }
.connected-candidate .cp-chat-send::before { content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; border:solid #fff; border-width:2.5px 0 0 2.5px; transform:translate(-50%,-30%) rotate(45deg); }
.connected-candidate .cp-chat.is-typing .cp-chat-send { opacity:1; } .connected-candidate .cp-chat.is-sent .cp-chat-send { transform:translateY(-4px); opacity:1; }

/* Footer: the 48-hour note sits under its button instead of on its own row. */
.connected-candidate .closing-copy .cp-footer-note { margin:14px 0 0; font-size:14px; line-height:21px; color:#cec9d1; }

/* Selected work: containers that show a piece of the work (replaces the folder gallery). */
.connected-candidate .cp-work-cards h2 { margin:12px 0 0; max-width:22ch; }
.connected-candidate .cp-work-cards > .wrap { width:var(--lm-shell-width); }
.connected-candidate .cp-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); aspect-ratio:2.05; gap:24px; margin-top:40px; }
.connected-candidate .cp-work-card { position:relative; aspect-ratio:4/3; background:#0d0c10; border-radius:24px; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.connected-candidate .cp-work-card:hover { transform:translateY(-4px); box-shadow:0 18px 40px #24232b1a; }
.connected-candidate .cp-work-link { position:absolute; inset:0; display:block; color:inherit; text-decoration:none; border-radius:24px; }
.connected-candidate .cp-work-link:focus-visible { outline:2px solid #f6521b; outline-offset:4px; }
.connected-candidate .cp-work-media { position:absolute; inset:0; margin:0; background:#e5e4ec; }
.connected-candidate .cp-work-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.connected-candidate .cp-work-card:is(:hover,:focus-within,.is-revealed) .cp-work-media img { transform:scale(1.03); }
.connected-candidate .cp-work-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:10px; padding:28px 26px; color:#fff; background:linear-gradient(to top,#0d0c10f2 0%,#0d0c10d9 42%,#0d0c1000 78%); opacity:0; transform:translateY(16px); transition:opacity .3s ease, transform .35s cubic-bezier(.16,1,.3,1); }
.connected-candidate .cp-work-card:is(:hover,:focus-within,.is-revealed) .cp-work-copy { opacity:1; transform:none; }
.connected-candidate .cp-work-tag { font-size:13px; line-height:18px; letter-spacing:.08em; text-transform:uppercase; font-weight:500; color:#f6f6f6cc; }
body.connected-candidate #main .cp-work-card h3 { margin:0; font-size:26px; line-height:34px; color:#fff; }
.connected-candidate .cp-work-copy p { margin:0; font-size:16px; line-height:1.6; color:#e9e7ee; }
.connected-candidate .cp-work-cta { padding-top:8px; font-weight:600; color:#ff8a5c; }
/* Case studies bento: Master-Pieced spans 2 of the 3 shell columns at 1200px+, the other two stack beside it. Tag and title always show; description and link reveal on hover/focus/tap. */
@media (min-width:1200px) { .connected-candidate .cp-work-card { aspect-ratio:auto; } .connected-candidate .cp-work-card:first-child { grid-column:1 / span 2; grid-row:1 / span 2; } .connected-candidate .cp-work-card:not(:first-child) .cp-work-copy { padding:20px 22px; } body.connected-candidate #main .cp-work-card:not(:first-child) h3 { font-size:22px; line-height:28px; } .connected-candidate .cp-work-card:not(:first-child) .cp-work-copy p { display:none; } }
@media (min-width:900px) and (max-width:1199px) { .connected-candidate .cp-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; aspect-ratio:auto; } .connected-candidate .cp-work-card:first-child { grid-column:1 / -1; aspect-ratio:3/2; } }
@media (max-width:899px) { .connected-candidate .cp-work-grid { grid-template-columns:1fr; grid-template-rows:none; aspect-ratio:auto; } }
.connected-candidate .cp-work-card:nth-child(1) .cp-work-media img { object-position:62% 55%; }
.connected-candidate .cp-work-card:nth-child(2) .cp-work-media img { object-position:70% 30%; }
.connected-candidate .cp-work-card:nth-child(3) .cp-work-media img { object-position:50% 38%; }
.connected-candidate .cp-work-copy { gap:0; opacity:1; transform:none; background:linear-gradient(to top,#0d0c10f2 0%,#0d0c10b3 38%,#0d0c1000 72%); }
body.connected-candidate #main .cp-work-card h3 { margin-top:6px; }
.connected-candidate .cp-work-copy :is(p,.cp-work-cta) { max-height:0; opacity:0; overflow:hidden; transition:max-height .35s ease, opacity .3s ease, margin .35s ease; }
.connected-candidate .cp-work-card:is(:hover,:focus-within,.is-revealed) .cp-work-copy :is(p,.cp-work-cta) { max-height:9em; opacity:1; margin-top:10px; }
.connected-candidate .cp-work-more { display:flex; justify-content:center; margin-top:40px; }
.connected-candidate .cp-work-more[hidden] { display:none; }
@media (prefers-reduced-motion:reduce) { .connected-candidate .cp-work-card, .connected-candidate .cp-work-media img, .connected-candidate .cp-work-copy { transition:none; } .connected-candidate .cp-work-copy { transform:none; } }

/* Testimonials: side by side on desktop, stacked on phones, no arrows. Pending quotes stay hidden. */
/* Testimonials: a light, centred pull quote (one at a time; js/testimonial-cycler.js adds controls at 2+ approved quotes). */
/* Even space around the quote: the services section above already adds 48px + the 24px section gap; #work below has no top padding. */
.connected-candidate .cp-testimonials { padding-block:32px 68px; }
@media (max-width:767px) { .connected-candidate .cp-testimonials { padding-block:8px 40px; } }
.connected-candidate .cp-quote-grid { display:grid; max-width:900px; margin:0 auto; }
.connected-candidate .cp-quote-grid > .cp-quote-card { grid-area:1 / 1; }
.connected-candidate .cp-quote-card[hidden] { display:none; }
.connected-candidate .cp-quote-card { margin:0; display:flex; flex-direction:column; align-items:center; gap:28px; text-align:center; transition:opacity .4s ease, visibility .4s; }
.connected-candidate .cp-quote-card.is-off { opacity:0; visibility:hidden; }
.connected-candidate .cp-quote-card blockquote { margin:0; }
.connected-candidate .cp-quote-card blockquote p { margin:0 auto; max-width:32ch; font-size:clamp(24px,2.6vw,34px); line-height:1.4; font-weight:500; color:#1a1920; text-wrap:balance; }
.connected-candidate .cp-quote-card blockquote p::before { content:"\201C"; display:block; color:#f6521b; font-size:96px; font-weight:700; line-height:.6; margin-bottom:4px; }
.connected-candidate .cp-quote-card figcaption { display:flex; flex-direction:column; align-items:center; gap:4px; font-size:15px; line-height:22px; color:#5f5e64; }
.connected-candidate .cp-quote-card figcaption::before { content:""; width:40px; height:2px; background:#f6521b; margin-bottom:12px; }
.connected-candidate .cp-quote-name { font-weight:600; color:var(--c-ink); font-size:var(--t-body); }
/* Organization logo beside the name and organization. */
.connected-candidate .cp-quote-id { display:flex; align-items:center; gap:12px; text-align:left; }
.connected-candidate .cp-quote-who { display:flex; flex-direction:column; gap:2px; }
.connected-candidate .cp-quote-logo { flex:0 0 44px; width:44px; height:44px; border-radius:50%; object-fit:cover; background:#fff; box-shadow:0 0 0 1px rgba(65,63,84,.12); }
.connected-candidate .cp-quote-service { font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-top:4px; }
.connected-candidate .cp-quote-photo { width:48px; height:48px; border-radius:50%; object-fit:cover; margin-bottom:6px; }
.connected-candidate .cp-quote-result { margin:0; font-weight:600; color:#b8380d; }
.connected-candidate .cp-quote-controls { display:flex; justify-content:center; gap:8px; margin-top:32px; }
.connected-candidate .cp-quote-controls button { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid #d6d4da; background:#fff; color:#1a1920; cursor:pointer; }
.connected-candidate .cp-quote-controls button:hover { border-color:#1a1920; }
.connected-candidate .cp-quote-controls button:focus-visible { outline:2px solid #f6521b; outline-offset:2px; }
.connected-candidate .cp-quote-controls svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
@media (prefers-reduced-motion:reduce) { .connected-candidate .cp-quote-card { transition:none; } }
/* The working-relationship panel now stands alone. */
.connected-candidate .trust-grid:has(> .fit:only-child) { grid-template-columns:1fr; background:transparent; padding:0; }
.connected-candidate .trust-grid > .fit:only-child { background:#fff; color:#000; border-radius:20px; padding:var(--lm-panel-inset); }
.connected-candidate .trust-grid > .fit:only-child p { color:#413f54; }

/* Heading kept for screen readers where a visible label would repeat the section. */
.cp-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Section headings on light backgrounds read in black, matching the other light sections. */
body.connected-candidate #main :is(#cp-steps-title) { color:#000; }
/* Section titles sit centred over their sections. */
/* Section titles left-aligned (Lionel, 2026-10-17). */
body.connected-candidate #main :is(#cp-services-title,#cp-steps-title,#cp-work-title,#cp-posts-title) { text-align:left; margin-inline:0; }
.connected-candidate .cp-services .section-head, .connected-candidate .cp-services .section-head > div { width:100%; justify-content:center; }

/* Blog: three hand-picked posts on the shell grid, between the process and the About card; cards echo the blog page (.bi-card). */
.connected-candidate .cp-posts { width:var(--lm-shell-width); max-width:1280px; margin:0 auto; padding-block:0 clamp(64px,8vw,104px); }
.connected-candidate .cp-post-grid { list-style:none; margin:40px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.connected-candidate .cp-post { position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid #413f541c; border-radius:var(--r-lg); overflow:hidden; transition:border-color .25s ease; }
.connected-candidate .cp-post:is(:hover,:focus-within) { border-color:#f6521b; }
.connected-candidate .cp-post:has(a:focus-visible) { outline:2px solid #f6521b; outline-offset:4px; }
.connected-candidate .cp-post-media { overflow:hidden; }
.connected-candidate .cp-post-media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center 40%; transition:transform .5s ease; }
.connected-candidate .cp-post:is(:hover,:focus-within) .cp-post-media img { transform:scale(1.06); }
.connected-candidate .cp-post-copy { display:flex; flex-direction:column; gap:10px; padding:24px 26px 28px; }
.connected-candidate .cp-post-meta { display:flex; justify-content:space-between; gap:12px; margin:0; font-size:12px; line-height:18px; letter-spacing:.08em; text-transform:uppercase; color:#5f5e64; }
body.connected-candidate #main .cp-post h3 { margin:0; font-size:22px; line-height:30px; color:#000; }
.connected-candidate .cp-post h3 a { color:inherit; text-decoration:none; }
.connected-candidate .cp-post h3 a:focus-visible { outline:none; }
.connected-candidate .cp-post h3 a::after { content:""; position:absolute; inset:0; }
.connected-candidate .cp-posts-more { display:flex; justify-content:center; margin-top:40px; }
@media (max-width:991px) { .connected-candidate .cp-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .connected-candidate .cp-post:nth-child(3) { display:none; } }
@media (max-width:767px) { .connected-candidate .cp-post-grid { grid-template-columns:1fr; } .connected-candidate .cp-post-copy { padding:24px; } }
@media (prefers-reduced-motion:reduce) { .connected-candidate .cp-post, .connected-candidate .cp-post-media img { transition:none; } }
body.connected-candidate #main #cp-posts-title { color:#000; }
/* Every homepage button is a rounded pill, matching the nav Free audit pill, the contact links and the inner pages. */
.connected-candidate .button { border-radius:999px; }
/* Orange buttons carry dark text: black on #f6521b is 6.1:1 (white was 3.4:1, below AA). */
body.connected-candidate #main .cp-qa-panel .button, body.connected-candidate #main .cp-qa-panel .button:hover { color:#000; }
/* Question rows at 1200px+: the card has a fixed height, so animating the closing and opening rows at once made them overlap.
   Here the open row switches at once and its content fades up instead; below 1200px the height animation stays. */
@media (min-width:1200px) {
  .connected-candidate .cp-qa-item::details-content { transition:none; }
  /* Rows glide: the opening row grows as the closing one shrinks (plain lengths, so the browser can interpolate them), content clipped to its row, then fades up. */
  .connected-candidate .cp-qa { grid-template-rows:calc(100% / 3) calc(100% / 3) calc(100% / 3); transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1); }
  .connected-candidate .cp-qa:has(> .cp-qa-item:nth-child(1)[open]) { grid-template-rows:calc(100% - 144px) 72px 72px; }
  .connected-candidate .cp-qa:has(> .cp-qa-item:nth-child(2)[open]) { grid-template-rows:72px calc(100% - 144px) 72px; }
  .connected-candidate .cp-qa:has(> .cp-qa-item:nth-child(3)[open]) { grid-template-rows:72px 72px calc(100% - 144px); }
  .connected-candidate .cp-qa-item { overflow:hidden; min-height:0; }
  .connected-candidate .cp-qa-q { transition:font-size .35s ease, color .2s; }
  /* Content waits until the row has nearly finished growing (95% at 270ms), so it never visibly slides. */
  .connected-candidate .cp-qa-item[open] .cp-qa-panel { animation:cp-qa-in .35s ease-out .25s both; }
  /* While a row is open, closed questions keep a fixed 72px header at the top of their row, so a shrinking row's label does not drift. */
  .connected-candidate .cp-qa:has(.cp-qa-item[open]) .cp-qa-item:not([open]) > summary { height:72px; }
}
@media (min-width:1200px) and (prefers-reduced-motion:reduce) { .connected-candidate .cp-qa, .connected-candidate .cp-qa-q { transition:none; } }
@keyframes cp-qa-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .connected-candidate .cp-qa-item[open] .cp-qa-panel { animation:none; } }
/* Audit line: question on line 1, the link on its own line 2. */
.connected-candidate .cp-services .cp-services-foot { text-align:center; }
.connected-candidate .cp-services .cp-services-foot a { display:block; width:fit-content; margin:4px auto 0; }
/* About card: social links as round line-icon buttons (LinkedIn, Instagram, Facebook, YouTube). */
.connected-candidate .cp-contact-links { gap:12px; }
.connected-candidate .cp-contact-links a.cp-social { width:48px; height:48px; min-height:48px; padding:0; justify-content:center; border-radius:50%; color:#1a1920; }
.connected-candidate .cp-contact-links a.cp-social:hover { color:#f6521b; }
.connected-candidate .cp-social svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
/* Location pin before Winston-Salem, NC. */
body.connected-candidate #main #lionel .cp-location-note { display:flex; align-items:center; justify-content:center; gap:6px; }
.connected-candidate .cp-pin { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
/* FAQ: question text centred in its 44px row (it sat at the top, reading about 10px high). */
body.connected-candidate .faq-list summary { align-items:center; }
body.connected-candidate .faq-list details:first-child { padding-top:22px; }
/* Social icons sit right under the intro: 8px + the intro's 16px = 24px above; the chip rows keep their 40px. */
body.connected-candidate #main #lionel .cp-contact-links { margin-top:8px; }

/* =========================================================================================
   SYSTEM PASS (2026-10-18): the homepage consumes the design-system tokens in css/system.css.
   Spec and live specimens: guidelines.html. Homepage only; inner pages adopt the tokens in a later pass.
   ========================================================================================= */

/* Layout: one shell (1280 max, 32/32/16 side margin), one section gap. */
.connected-candidate { --lm-shell-width: min(var(--shell-max), calc(100% - var(--page-margin) * 2)); }
/* :not(#_) adds one ID of weight so these beat older rules that list #about inside :is(); no !important needed. */
body.connected-candidate #main > :is(section, aside):not(#_) { margin-block: 0; }
body.connected-candidate #main:not(#_) { gap: var(--section-gap); } /* #main is a flex column; its gap is the space between sections. */
body.connected-candidate .closing:not(#_) { margin-block: var(--section-gap); /* space below the footer matches the gap between sections */ border-radius: var(--r-lg); padding-block: var(--panel-pad); }

/* Open sections (on the page background): the same padding top and bottom, no panel radius. */
body.connected-candidate #main > #services,
body.connected-candidate #main > .cp-testimonials,
body.connected-candidate #main > #work,
body.connected-candidate #main > #process,
body.connected-candidate #main > #blog { padding-block: var(--section-pad); border-radius: 0; }
body.connected-candidate #main > .cp-testimonials { width: var(--lm-shell-width); margin-inline: auto; }

/* Panels: white or dark surfaces share padding and radius; the About card gets the larger padding. */
body.connected-candidate #main > .faq-section:not(#_) { padding-block: var(--panel-pad); border-radius: var(--r-lg); }
body.connected-candidate #main > #lionel.cp-about-marquee { padding-block: var(--panel-pad-lg); border-radius: var(--r-lg); }

/* Section heading to content, and content to its call to action. */
body.connected-candidate #main :is(#cp-services-title, #cp-work-title, #cp-steps-title, #cp-posts-title) { margin: 0 0 var(--head-gap); }
body.connected-candidate #main #services .section-head { margin: 0; }
body.connected-candidate #main :is(.cp-work-grid, .cp-step-cards, .cp-post-grid, .cp-pair) { margin-top: 0; }
body.connected-candidate #main :is(.cp-posts-more, .cp-work-more) { margin-top: var(--cta-gap); }

/* Type: the shared heading rules (type-hierarchy.css) read these, so point them at the system tokens. */
body.connected-candidate {
  --type-h1: var(--t-h1); --type-h1-line: var(--t-h1-lh);
  --type-h2: var(--t-h2); --type-h2-line: var(--t-h2-lh);
  --type-h3: var(--t-h3); --type-h3-line: var(--t-h3-lh);
  --type-h4: var(--t-h4); --type-h4-line: var(--t-h4-lh);
  --type-intro: var(--t-lead); --type-intro-line: var(--t-lead-lh);
}
body.connected-candidate #main h2 { letter-spacing: var(--track-heading); text-wrap: balance; }

/* Display roles: the hero is always the largest text on the page; the closing headline sits below it. */
body.connected-candidate #main #home .hero-heading h1 { font-size: var(--t-display-xl); line-height: var(--t-display-xl-lh); letter-spacing: var(--track-display); }
body.connected-candidate .closing h2 { font-size: var(--t-display-l); line-height: var(--t-display-l-lh); letter-spacing: var(--track-display); }
body.connected-candidate :is(.cp-story-final-copy, .cp-story-fallback > p) { font-size: var(--t-h2); line-height: var(--t-h2-lh); letter-spacing: var(--track-heading); }
body.connected-candidate .cp-quote-card blockquote p { font-size: var(--t-quote); line-height: var(--t-quote-lh); }
body.connected-candidate .cp-quote-card blockquote p::before { font-weight: 600; }

/* Card titles: H3 for large panels and steps, H4 for compact cards and names. */
body.connected-candidate #main :is(.cp-qa-panel h3, .cp-step-copy h3) { font-size: var(--t-h3); line-height: var(--t-h3-lh); }
body.connected-candidate #main :is(.cp-work-card:not(:first-child) h3, .cp-work-card h3, .cp-post h3, #lionel .cp-about-person h3) /* :not(:first-child) lifts specificity over the bento's small-tile rule */ { font-size: var(--t-h4); line-height: var(--t-h4-lh); }

/* Body, small and meta text. */
body.connected-candidate #main :is(.cp-qa-panel p:not(.cp-qa-tags), .cp-step-copy p, .cp-work-copy p, .faq-list p, .faq-side p) { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.connected-candidate #main .faq-list summary { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.connected-candidate .closing-copy > p:not(.cp-footer-note) { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.connected-candidate #main .cp-services-foot { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.connected-candidate #main :is(.cp-qa-tags, #lionel .cp-location-note, .cp-quote-card figcaption) { font-size: var(--t-small); line-height: var(--t-small-lh); }
body.connected-candidate .closing-copy .cp-footer-note { font-size: var(--t-small); line-height: var(--t-small-lh); }
/* Color roles: body copy in ink-soft, small text in muted (two of the nine near-identical grays retired here). */
body.connected-candidate #main :is(.cp-qa-panel p:not(.cp-qa-tags), .faq-list p) { color: var(--c-ink-soft); }
body.connected-candidate #main .cp-qa-tags { color: var(--c-muted); }
body.connected-candidate #main :is(.cp-post-meta, .cp-work-tag) { font-size: var(--t-meta); line-height: var(--t-meta-lh); letter-spacing: var(--track-caps); }
body.connected-candidate #main #lionel .cp-about-intro { font-size: var(--t-lead); line-height: var(--t-lead-lh); }

/* Card padding. */
body.connected-candidate #main .cp-post-copy { padding: var(--card-pad-md); }
body.connected-candidate #main .cp-step-copy { padding: var(--card-pad-md); }

/* Buttons: pill (LIONEL.MKTG's locked shape), two sizes, color-shift hover, press scale, one focus ring. */
body.connected-candidate .button {
  min-height: var(--btn-h); padding: 0 var(--btn-pad); border-radius: var(--r-pill);
  font-size: var(--t-button); font-weight: 500; line-height: 1.2; gap: 12px;
  transition: background-color var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) ease;
}
body.connected-candidate .button:active { transform: scale(.97); }
body.connected-candidate .button:focus-visible { outline: var(--focus-ring) solid var(--c-focus); outline-offset: var(--focus-offset); }
/* Primary: orange fill, black text (6.1:1). The main action of a view, one per view: the audit, or the open service panel's link (only one panel is open at a time). */
body.connected-candidate :is(.button.orange, #main .cp-qa-panel .button) { background: var(--c-accent); border: 1px solid var(--c-accent); color: var(--c-on-accent); }
body.connected-candidate :is(.button.orange, #main .cp-qa-panel .button):hover { background: var(--c-accent-hover); border-color: var(--c-accent-hover); color: var(--c-on-accent); }
body.connected-candidate :is(.button.orange, #main .cp-qa-panel .button):active { background: var(--c-accent-press); border-color: var(--c-accent-press); }
/* Large size: the closing audit button and the hero button. */
body.connected-candidate .closing .button, body.connected-candidate #main #home .hero-actions .button { min-height: var(--btn-h-lg); padding: 0 var(--btn-pad-lg); font-size: var(--t-button-lg); line-height: 1.2; }
/* Secondary (outline on light): browse actions such as Read all articles. */
body.connected-candidate .button.outline { background: transparent; border: 1px solid var(--c-ink-soft); color: var(--c-ink-soft); }
body.connected-candidate .button.outline:hover { background: var(--c-ink-soft); color: var(--c-on-dark); }
/* Ghost on dark: in-page jumps and second actions on dark (the hero button; .button.ghost elsewhere). */
body.connected-candidate :is(#main #home .hero-actions .button, .button.ghost) { background: transparent; border: 1px solid var(--c-on-dark-line); color: var(--c-on-dark); transition: background-color var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) ease; }
body.connected-candidate :is(#main #home .hero-actions .button, .button.ghost):hover { background: var(--c-on-dark); border-color: var(--c-on-dark); color: #000; }
body.connected-candidate :is(.closing, #home) .button:focus-visible { outline-color: var(--c-focus-dark); }

/* Disabled: 40% and inert (the only state that may use opacity; hover never fades). */
body.connected-candidate .button[aria-disabled="true"] { opacity: .4; cursor: not-allowed; pointer-events: none; }
/* Icon buttons meet the 44px tap minimum. */
body.connected-candidate #main #lionel .cp-about-mail { width: var(--tap-min); height: var(--tap-min); }
body.connected-candidate .cp-services .cp-chat-control { width: var(--tap-min); height: var(--tap-min); }

/* ---- Review fixes (2026-10-18, five-role review of the built system) ---- */
/* Panels: inline padding matches --panel-pad, not the older 4vw inset. */
body.connected-candidate :is(.faq-section, .closing) > .wrap:not(#_) { width: calc(100% - var(--panel-pad) * 2); }
/* Card padding from the card scale. */
body.connected-candidate #main .cp-work-card .cp-work-copy:not(#_) { padding: var(--card-pad-md); }
body.connected-candidate #main .cp-qa-panel { padding-inline-end: var(--card-pad-lg); }
/* FAQ: heading to content, row targets of 56px, questions in the H5 role. */
body.connected-candidate #main .faq-side .cp-faq-title h2 { margin: 0; }
body.connected-candidate #main .faq-side > p { margin: var(--head-gap) 0 0; }
body.connected-candidate #main .faq-grid { gap: var(--head-gap) var(--s-24); }
body.connected-candidate #main .faq-list details:not(#_) { padding-block: var(--s-4); }
body.connected-candidate #main .faq-list summary:not(#_) { min-height: 56px; font-size: var(--t-h5); line-height: var(--t-h5-lh); font-weight: 600; color: var(--c-ink); }
/* Footer: heading to copy on the scale, links and social icons meet the 44px target. */
body.connected-candidate .closing-top { gap: var(--head-gap) var(--s-12); }
body.connected-candidate .footer-links a { display: inline-flex; align-items: center; min-height: var(--tap-min); font-size: var(--t-small); }
/* Services: chat, rows and the audit line stack with the grid gap; the audit line sits one CTA gap below the rows. */
body.connected-candidate #main .cp-pair { gap: var(--gutter); }
@media (max-width: 1199px) { body.connected-candidate #main .cp-pair > .cp-services-foot { margin: calc(var(--cta-gap) - var(--gutter)) 0 0; } }
/* Step titles reserve two lines in the three-column layout so the body copy starts level. */
@media (min-width: 900px) { body.connected-candidate #main .cp-step-copy h3 { min-height: calc(2em * var(--t-h3-lh)); } }
/* One focus ring everywhere (2px, 3px offset): ink-orange on light, brand orange on dark. Blog cards ring the whole card instead. */
body.connected-candidate :is(a, button, summary):not(.cp-post a):focus-visible:not(#_) { outline: var(--focus-ring) solid var(--c-focus); outline-offset: var(--focus-offset); box-shadow: none; }
body.connected-candidate :is(.closing, #home, .cp-chat, .cp-top-header) :is(a, button):focus-visible:not(#_) { outline-color: var(--c-focus-dark); }
/* Hover is a 200ms color shift on every link and icon control. */
body.connected-candidate :is(.cp-social, .cp-about-mail, .cp-services-foot a, .footer-links a, .footer-social a, .faq-list summary, .cp-chat-control) { transition: color var(--dur-fast) ease, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease; }
body.connected-candidate #main #lionel .cp-about-mail:hover { background: var(--c-line); color: var(--c-ink); }
body.connected-candidate #main .faq-list summary:hover { color: var(--c-accent-ink); }
body.connected-candidate .cp-services-foot a:hover { color: var(--c-ink); }

/* ---- Inspiration pass (2026-10-18): service images, folder-tab work cards, blog cue ---- */
/* Service images (Higgsfield, GPT Image 2.5, AI-touched) are decorative. On phones they shrink to a short strip so the next question stays close. */
@media (max-width: 767px) { body.connected-candidate #main .cp-qa-media { aspect-ratio: auto; height: 190px; } }

/* Work cards: the card no longer clips, so the link's focus ring shows on all four sides; media and copy carry the rounding. */
body.connected-candidate #main .cp-work-card { overflow: visible; }
body.connected-candidate #main :is(.cp-work-media, .cp-work-copy) { border-radius: var(--r-lg); overflow: hidden; }
/* The ring sits on the light page, outside the card. */
body.connected-candidate #main .cp-work-link:focus-visible:not(#_) { outline-color: var(--c-focus); }

/* Blog cards: a visible cue; the title link already makes the whole card clickable. */
body.connected-candidate #main .cp-post-copy { flex: 1; }
body.connected-candidate #main .cp-post-cta { margin-top: auto; padding-top: var(--s-2); font-size: var(--t-small); line-height: var(--t-small-lh); font-weight: 600; color: var(--c-accent-ink); }
body.connected-candidate #main .cp-post-cta span { display: inline-block; transition: transform var(--dur-fast) ease; }
body.connected-candidate #main .cp-post:is(:hover, :focus-within) .cp-post-cta span { transform: translateX(4px); }
body.connected-candidate #main .cp-post:has(a:focus-visible) { outline-color: var(--c-focus); }
@media (prefers-reduced-motion: reduce) { body.connected-candidate #main .cp-post-cta span { transition: none; } }

/* ---- 2026-10-18: service image hover, even case study grid ---- */
/* Service images lift and tilt slightly when the row or the image is hovered. */
body.connected-candidate #main .cp-qa-media img { transition: transform var(--dur-slow) var(--ease), filter var(--dur-slow) var(--ease); }
body.connected-candidate #main .cp-qa-panel:hover .cp-qa-media img { transform: translateY(-8px) rotate(-1.5deg) scale(1.02); filter: drop-shadow(0 26px 30px rgba(65, 63, 84, .22)); }
@media (prefers-reduced-motion: reduce) { body.connected-candidate #main .cp-qa-media img { transition: none; } body.connected-candidate #main .cp-qa-panel:hover .cp-qa-media img { transform: none; } }

/* Case studies: three equal 4:3 cards instead of one large Master-Pieced tile. */
@media (min-width: 900px) {
  body.connected-candidate #main .cp-work-grid:not(#_) { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; aspect-ratio: auto; }
  body.connected-candidate #main .cp-work-card:not(#_) { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
  body.connected-candidate #main .cp-work-card:not(:first-child) .cp-work-copy:not(#_) { padding: var(--card-pad-md); }
}
/* Case card copy: a deeper, taller scrim so the description stays readable over busy photos; deepest once the copy opens. */
body.connected-candidate #main .cp-work-copy:not(#_) { background: linear-gradient(to top, #0d0c10fa 0%, #0d0c10e6 40%, #0d0c1099 62%, #0d0c1000 88%); }
body.connected-candidate #main .cp-work-card:is(:hover, :focus-within, .is-revealed) .cp-work-copy:not(#_) { background: linear-gradient(to top, #0d0c10fc 0%, #0d0c10f0 50%, #0d0c10b3 70%, #0d0c1000 96%); }
/* Tablet (700-1199px): the questions sit beside a taller chat instead of stacking under it.
   The row has a fixed height (700px: the tallest stacked answer plus two closed rows), so opening a different question never resizes the chat or moves the page. */
@media (min-width:700px) and (max-width:1199px) {
  .connected-candidate .cp-pair { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); grid-template-rows:700px auto; align-items:stretch; }
  .connected-candidate .cp-qa:not(#_) { grid-template-rows:repeat(3,minmax(0,1fr)); }
  .connected-candidate .cp-qa:not(#_):has(> .cp-qa-item:nth-child(1)[open]) { grid-template-rows:minmax(0,1fr) 72px 72px; }
  .connected-candidate .cp-qa:not(#_):has(> .cp-qa-item:nth-child(2)[open]) { grid-template-rows:72px minmax(0,1fr) 72px; }
  .connected-candidate .cp-qa:not(#_):has(> .cp-qa-item:nth-child(3)[open]) { grid-template-rows:72px 72px minmax(0,1fr); }
  .connected-candidate .cp-qa-item { overflow:hidden; min-height:0; }
  /* The answer stacks (text, then a short picture) so it fits the fixed row at every tablet width. */
  .connected-candidate .cp-qa-panel:not(#_) { grid-template-columns:minmax(0,1fr); gap:16px; }
  body.connected-candidate #main .cp-qa-media:not(#_) { aspect-ratio:auto; height:150px; }
  .connected-candidate .cp-pair > .cp-familiar { max-width:none; position:relative; }
  .connected-candidate .cp-pair .cp-chat { position:absolute; inset:0; height:auto; }
  .connected-candidate .cp-pair > .cp-qa { grid-column:2; grid-row:1; }
  body.connected-candidate #main .cp-pair > .cp-services-foot { grid-column:1 / -1; grid-row:2; margin:0; }
}
/* 900-1199px: the answer panel keeps wider padding, so the tallest answer (Website Work) needs a little more row. */
@media (min-width:900px) and (max-width:1199px) { .connected-candidate .cp-pair { grid-template-rows:730px auto; } }

/* Homepage case-study cards: hover shows the label, title and link only. The description lives on the case study itself. */
body.connected-candidate #main .cp-work-card .cp-work-copy p { display: none !important; }

/* Services accordion: opening a question left a stale paint of the audit line over the closed rows in Chrome.
   Isolating the accordion and giving the audit line its own layer stops the ghost. */
.connected-candidate .cp-qa { isolation: isolate; contain: paint; }
.connected-candidate .cp-services-foot { position: relative; z-index: 1; }
/* css/blob-avatar.css */
/* Blob avatar: phone chat header character. Moods via data-mood="happy|talk|curious|love". Source: avatar-explore/blob-avatar.html */
.blob { display:block; width:100%; height:100%; overflow:visible; }
  .blob .body { transform-box:fill-box; transform-origin:50% 100%; animation:blob-breathe 2.6s ease-in-out infinite; }
  .blob .face > g { display:none; }
  .blob[data-mood="happy"]   .f-happy,
  .blob[data-mood="talk"]    .f-talk,
  .blob[data-mood="curious"] .f-curious,
  .blob[data-mood="love"]    .f-love { display:inline; }
  .blob [class*="f-"] * { transform-box:fill-box; transform-origin:center; }

  /* happy: little hop, smile widens */
  .blob[data-mood="happy"] .body { animation:blob-hop 2.2s ease-in-out infinite; }
  .blob .f-happy .mouth { transform-origin:center top; animation:smile 2.2s ease-in-out infinite; }

  /* talk: chatter mouth, periodic blink */
  .blob .f-talk .mouth { transform-origin:center top; animation:chatter 1.1s steps(1) infinite; }
  .blob .f-talk .eye { animation:blink 3.4s ease-in-out infinite; }

  /* curious: glance side to side, brow lifts, slight lean */
  .blob[data-mood="curious"] .body { animation:blob-lean 4s ease-in-out infinite; }
  .blob .f-curious .eyes { animation:glance 4s ease-in-out infinite; }
  .blob .f-curious .brow { animation:brow 4s ease-in-out infinite; }

  /* love: bouncy body, hearts pulse, blush glows */
  .blob[data-mood="love"] .body { animation:blob-hop 1.3s ease-in-out infinite; }
  .blob .f-love .heart { animation:pulse 1.3s ease-in-out infinite; }
  .blob .f-love .blush { animation:glow 1.3s ease-in-out infinite; }

  @keyframes blob-breathe { 0%,100% { transform:scale(1,1); } 50% { transform:scale(1.03,.97); } }
  @keyframes blob-hop {
    0%,100% { transform:translateY(0) scale(1,1); }
    18% { transform:translateY(0) scale(1.06,.93); }
    40% { transform:translateY(-34px) scale(.96,1.05); }
    62% { transform:translateY(0) scale(1.05,.95); }
    78% { transform:translateY(0) scale(.99,1.01); }
  }
  @keyframes blob-lean { 0%,100% { transform:rotate(0) scale(1,1); } 30%,55% { transform:rotate(-4deg) scale(1.01,.99); } 75% { transform:rotate(3deg); } }
  @keyframes smile { 0%,100% { transform:scale(1,1); } 40% { transform:scale(1.12,1.25); } }
  @keyframes chatter { 0% { transform:scale(1,1); } 15% { transform:scale(.8,.35); } 30% { transform:scale(1,.85); } 45% { transform:scale(.9,.2); } 60% { transform:scale(1.05,1.1); } 80% { transform:scale(.85,.45); } }
  @keyframes blink { 0%,90%,100% { transform:scaleY(1); } 94% { transform:scaleY(.1); } }
  @keyframes glance { 0%,15% { transform:translate(0,0); } 30%,55% { transform:translate(-22px,-6px); } 70%,90% { transform:translate(18px,-4px); } 100% { transform:translate(0,0); } }
  @keyframes brow { 0%,15%,100% { transform:translateY(0); } 30%,55% { transform:translateY(-12px); } 70%,90% { transform:translateY(-4px); } }
  @keyframes pulse { 0%,100% { transform:scale(1); } 25% { transform:scale(1.3); } 45% { transform:scale(.95); } }
  @keyframes glow { 0%,100% { opacity:.55; } 25% { opacity:.9; } }

  @media (prefers-reduced-motion: reduce) { .blob, .blob * { animation:none !important; } }
.connected-candidate .cp-chat-avatar.has-blob { background:none; border-radius:0; overflow:visible; width:44px; height:44px; }

/* ===== Dot variant: the LIONEL.MKTG period. Flat, square, weighted ===== */
  .blob.dot .shape { transition:rx .45s ease; }
  .blob.dot[data-mood="happy"] .shape, .blob.dot[data-mood="love"] .shape { rx:120px; }
  .blob.dot[data-mood="curious"] .shape { rx:36px; }
  .blob.dot .face { transform:translateY(80px); }
  .blob.dot[data-mood="talk"] .body { animation:dot-settle 2.8s ease-in-out infinite; }
  .blob.dot[data-mood="curious"] .body { transform-origin:0% 100%; animation:dot-tilt 4s ease-in-out infinite; }
  .blob.dot .base { transition:opacity .3s; }
  .no-base .blob.dot .base { opacity:0; }
  @keyframes dot-settle { 0%,100% { transform:scale(1,1); } 40%,55% { transform:scale(1.05,.94); } 70% { transform:scale(.98,1.03); } }
  @keyframes dot-tilt { 0%,15%,100% { transform:rotate(0); } 30%,55% { transform:rotate(-4deg); } 62% { transform:rotate(0); } 75%,90% { transform:rotate(1deg); } }
/* The phone card is dark: the slate baseline disappears there, so lighten it. */
.connected-candidate .cp-services .cp-chat-avatar .base { stroke:#8e8e93; }
/* css/public-info.css */
/* Shared policy links, legal documents and accessible media/copy fallbacks. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.newsletter-privacy { margin:8px 0 0; text-align:center; font:400 13px/1.5 Poppins,Arial,sans-serif; }
.newsletter-privacy a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-decoration:underline; text-underline-offset:3px; }
.footer-public-links { display:flex; flex-wrap:wrap; justify-content:center; gap:4px 24px; width:var(--lm-shell-width, calc(100% - 32px)); max-width:100%; margin:20px auto 0; padding:0 16px; font:400 13px/1.5 Poppins,Arial,sans-serif; }
.footer-public-links a { display:inline-flex; align-items:center; min-height:44px; color:inherit; text-decoration:underline; text-underline-offset:3px; }
body.inner-page #main.legal-main { width:var(--lm-shell-width); max-width:100%; margin-inline:auto; }
body.inner-page #main .legal-document { max-width:960px; margin-inline:auto; padding:var(--panel-pad); border-radius:var(--r-shell,24px); background:var(--c-panel); color:var(--c-ink); overflow-wrap:anywhere; }
body.inner-page #main .legal-header { margin-bottom:var(--s-8); }
body.inner-page #main .legal-header h1 { font-size:var(--t-h2); line-height:var(--t-h2-lh); margin:0 0 16px; }
body.inner-page #main .legal-document :is(p,li) { font-size:16px; line-height:1.75; }
body.inner-page #main .legal-document h2 { font-size:var(--t-h4); line-height:1.4; margin:48px 0 20px; scroll-margin-top:100px; }
body.inner-page #main .legal-document h3 { font-size:18px; line-height:1.5; margin:28px 0 12px; }
body.inner-page #main .legal-document li + li { margin-top:8px; }
body.inner-page #main .legal-document a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body.inner-page #main .legal-contents { border:1px solid var(--c-line); border-radius:12px; padding:16px 20px; }
body.inner-page #main .legal-contents summary { cursor:pointer; min-height:28px; font-weight:500; }
body.inner-page #main .legal-contents ol { padding-left:24px; }
.bc-copy-fallback { width:min(480px,calc(100% - 32px)); padding:28px; border:1px solid #d4d4d8; border-radius:20px; color:#18181b; background:#fff; font:400 16px/1.5 Poppins,Arial,sans-serif; }
.bc-copy-fallback::backdrop { background:rgb(0 0 0 / .55); }
.bc-copy-fallback label { display:grid; gap:12px; }
.bc-copy-fallback input { width:100%; min-width:0; min-height:44px; padding:8px; border:1px solid #71717a; border-radius:8px; font:inherit; }
.bc-copy-fallback button { display:block; min-height:44px; margin:20px 0 0 auto; padding:8px 20px; border:0; border-radius:8px; background:#18181b; color:#fff; font:inherit; cursor:pointer; }
.video-consent { display:grid; place-items:center; aspect-ratio:16/9; width:100%; margin:24px 0; padding:24px; border:1px solid var(--c-line,#d4d4d8); border-radius:16px; background:var(--c-dark,#18181b); color:#fff; text-align:center; }
.video-consent button { display:grid; gap:8px; min-height:44px; max-width:100%; padding:16px 24px; border:1px solid currentColor; border-radius:12px; background:transparent; color:inherit; font:500 16px/1.5 Poppins,Arial,sans-serif; cursor:pointer; }
.video-consent small { font-size:13px; font-weight:400; }
.video-consent iframe { width:100%; height:100%; border:0; aspect-ratio:16/9; border-radius:12px; }
.video-consent:has(iframe) { padding:0; }
:is(.newsletter-privacy a,.footer-public-links a,.bc-copy-fallback input,.bc-copy-fallback button,.video-consent button):focus-visible { outline:3px solid #147bda; outline-offset:4px; }
@media (max-width:767px) {
  body.inner-page #main .legal-document { padding:24px 20px; }
  body.inner-page #main .legal-document :is(p,li) { font-size:15px; }
  .footer-public-links { gap:0 16px; }
  .video-consent { padding:12px; }
}
