/* 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}
: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:600;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:600;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:600;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}

/* Release 1 (2026-10-23): closing band carries the audit plus booking pair; booking is the outline button on the dark band. */
.closing-actions{display:flex;flex-wrap:wrap;gap:0 8px;align-items:center}


@media (max-width:480px){.closing-actions .button{width:100%;justify-content:center}}
/* Homepage About card: "Email me" is a text link, not an icon button. */
body.connected-candidate #main #lionel .cp-about-mail.cp-about-mail-text{width:auto;height:auto;min-height:var(--tap-min,44px);padding:0 6px;background:none;border-radius:0;display:inline-flex;align-items:center;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Release 2 (2026-10-23): audience eyebrow, service price pills, work chips, outline "View" buttons so orange always means the audit. */
.cp-hero-eyebrow{width:100%;max-width:none;text-align:center;margin:0 0 14px;font-size:var(--t-eyebrow);line-height:var(--t-eyebrow-lh);letter-spacing:var(--track-caps,.08em);text-transform:uppercase;font-weight:600;color:inherit;opacity:.85}
.cp-qa-price{display:inline-block;margin:14px 0 0;padding:6px 12px;border:1px solid rgba(164,160,161,.25);border-radius:999px;font-size:var(--t-small);line-height:var(--t-small-lh);font-weight:500;font-variant-numeric:tabular-nums}
.cp-work-chip{display:inline-block;align-self:flex-start;margin:4px 0 10px;padding:4px 10px;border:1px solid currentColor;border-radius:999px;font-size:var(--t-meta);line-height:var(--t-meta-lh);opacity:.85}
body.connected-candidate #main .cp-qa-panel .button.outline{background:transparent;border:1px solid var(--c-ink-soft);color:var(--c-ink-soft)}
body.connected-candidate #main .cp-qa-panel .button.outline:hover{background:var(--c-ink-soft);border-color:var(--c-ink-soft);color:var(--c-on-dark)}
/* Release 2: link hub positioning lines and the newsletter cadence line. */
.lh-profile .lh-audience{font-weight:600}
.nl-cadence{margin:6px 0 10px;font-size:var(--t-small);line-height:var(--t-small-lh);opacity:.8}
.ip-plan-hosting{margin:-4px 0 12px;font-size:var(--t-small);line-height:var(--t-small-lh);opacity:.8}
.ip-status-pill{display:inline-block;margin:12px 0 0;padding:6px 12px;border:1px solid currentColor;border-radius:999px;font-size:var(--t-small);line-height:var(--t-small-lh)}
body.connected-candidate #main #home .cp-hero-eyebrow{width:100%;max-width:none;margin-inline:auto;text-align:center}

/* Secondary booking links use the small-text role while retaining a full tap target. */
.connected-candidate .cp-services .cp-services-foot a.cp-booking-link,
.closing .closing-actions .cp-booking-link{display:inline-flex;align-items:center;min-height:var(--tap-min,44px);padding:0;font-size:var(--t-small);line-height:var(--t-small-lh);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.connected-candidate .cp-services .cp-services-foot a.cp-booking-link{display:flex;color:#000}
.closing .closing-actions .cp-booking-link{color:var(--c-on-dark)}
.connected-candidate .cp-services .cp-services-foot a.cp-booking-link:hover,
.closing .closing-actions .cp-booking-link:hover{text-decoration-thickness:2px}
/* css/inner-pages.css */
/* Inner pages share the approved homepage frame; themes belong to the subject. */
.inner-page { --ip-accent:#f6521b; --ip-tint:#f2e8d5; --ip-gutter:28px; --ip-padding:clamp(28px,5vw,64px); background:#f6f6f6; color:#000; font-family:Poppins,sans-serif; }
.inner-page *, .inner-page *::before, .inner-page *::after { box-sizing:border-box; }
.inner-page h1,.inner-page h2,.inner-page h3,.inner-page h4 { font-weight:600; letter-spacing:-.02em; overflow-wrap:break-word; }
.inner-page h1 { font-size:60px; line-height:1.1; margin:14px 0 24px; text-wrap:balance; }
.inner-page h2 { font-size:40px; line-height:1.2; margin:0 0 28px; text-wrap:balance; }
.inner-page h3 { font-size:26px; line-height:1.3; margin:28px 0 16px; }
.inner-page h4 { font-size:22px; line-height:1.36; }
.inner-page p,.inner-page li { font-size:16px; line-height:1.5; }
.inner-page p { margin:0 0 20px; text-wrap:pretty; }
.inner-page a { color:inherit; text-underline-offset:4px; }
.inner-page .skip-link { position:absolute; left:16px; top:-100px; padding:12px 20px; background:#fff; color:#000; z-index:1000; }
.inner-page .skip-link:focus { top:16px; }
.inner-page a:focus-visible,.inner-page summary:focus-visible,.inner-page [tabindex]:focus-visible { outline:3px solid #c13d11; outline-offset:5px; }
.inner-page figure { margin:0; min-width:0; }
.inner-page img { max-width:100%; }
.inner-page .button { color:#000; background:#f6521b; padding:14px 20px; min-height:48px; font-size:14px; line-height:20px; font-weight:500; border-radius:8px; text-decoration:none; }
.inner-page .button:hover { background:#fc885b; color:#000; }
.inner-page .button.outline { background:transparent; border:1px solid currentColor; }
.inner-page .button.outline:hover { background:#000; color:#fff; }
.ip-header,.ip-main,.ip-footer { width:min(1280px,calc(100% - var(--ip-gutter)*2)); margin-inline:auto; }
.ip-header { position:relative; min-height:64px; margin-block:24px; display:flex; align-items:center; justify-content:space-between; z-index:300; }
.ip-logo { display:grid; place-items:center; width:66px; min-height:48px; }
.ip-logo img { display:block; width:66px; height:38px; object-fit:contain; filter:brightness(0); }
.inner-page .cp-phone-nav { position:absolute; top:0; right:0; }
.inner-page .cp-phone-toggle { width:64px; height:64px; }
.inner-page .cp-phone-toggle img { width:56px; height:56px; }
.inner-page .cp-phone-panel { top:80px; right:0; color:#252332; max-height:calc(100svh - 140px); width:min(360px,calc(100vw - var(--ip-gutter)*2)); }
.ip-main { display:flex; flex-direction:column; gap:24px; }
.ip-panel { padding:var(--ip-padding); border-radius:20px; background:#fff; min-width:0; }
.ip-panel > :last-child { margin-bottom:0; }
.ip-kicker { display:block; font-size:12px; line-height:18px; letter-spacing:.06em; font-weight:500; text-transform:uppercase; margin-bottom:14px; }
.ip-section-head { margin-bottom:28px; }
.ip-section-head h2 { margin-bottom:0; }
.ip-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:28px; }
.ip-footer { background:#000; color:#f6f6f6; border-radius:20px; padding:32px var(--ip-padding); margin-block:24px; }
.inner-page .footer-grid { padding-top:0; margin-top:0; border-top:0; }
.inner-page .footer-links a,.inner-page .footer-bottom { color:#f6f6f6; }
.inner-page .footer-bottom { margin-top:24px; padding-top:24px; }
.ip-close { background:#f2e8d5; }
.ip-close h2 { max-width:22ch; }
.ip-close > p { max-width:65ch; }
.ip-intro p { font-size:20px; line-height:1.5; max-width:55ch; }
.ip-paper { background:#f2e8d5 url('../assets/textures/paper-grain.svg'); border-radius:12px; padding:28px; }

/* The project theme changes, while these content slots stay in place. */
.ip-case { --ip-accent:#b8dc69; --ip-case-panel:#070907; --ip-case-surface:#141714; --ip-case-ink:#f6f6f6; --ip-case-glow:#303b17; --ip-case-warm:#201d13; }
.ip-case .ip-case-hero,.ip-case .ip-case-context,.ip-case .ip-case-section { background:var(--ip-case-panel); color:var(--ip-case-ink); }
.ip-case .ip-case-hero { background:radial-gradient(ellipse at 85% 10%,var(--ip-case-glow) 0,transparent 55%),linear-gradient(120deg,var(--ip-case-warm),var(--ip-case-panel) 65%); }
.ip-case-hero h1 { font-size:60px; }
.ip-case .ip-kicker { color:var(--ip-accent); }
.ip-case .ip-close .ip-kicker { color:#000; }
.ip-credits { border-top:1px solid #ffffff30; padding-top:24px; margin-top:32px; display:grid; gap:20px; }
.ip-credits > div { display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px; }
.ip-credits dt,.ip-credits dd { font-size:14px; line-height:21px; margin:0; }
.ip-credits dd p { font-size:14px; margin-bottom:8px; }
.ip-credits dd a { display:inline-block; margin-top:8px; }
.ip-case-context p,.ip-case-process > p { max-width:78ch; }
.ip-concepts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ip-concepts figure { display:flex; flex-direction:column; background:var(--ip-case-surface); border:1px solid #ffffff20; border-radius:12px; padding:28px; }
.ip-concepts img { width:100%; height:190px; object-fit:contain; margin-block:20px 40px; }
.ip-concepts figcaption { border-top:1px solid #ffffff20; padding-top:20px; }
.ip-concepts figcaption p { font-size:14px; line-height:1.7; margin-bottom:0; }
.ip-case-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ip-case-gallery figure:first-child { grid-column:1/-1; }
.ip-case-gallery img { width:100%; height:auto; display:block; border-radius:12px; }
.ip-gradient-placeholder { width:100%; height:clamp(80px,8vw,136px); margin-top:24px; border-radius:12px; background:linear-gradient(90deg,#829840,#ff885b,#d77e95); }
.ip-case-gallery figure:not(:first-child) img { aspect-ratio:4/3; object-fit:contain; background:#101210; }
.ip-deliverables > h3 { font-size:14px; line-height:20px; font-weight:500; letter-spacing:.06em; margin:48px 0 24px; }
.ip-deliverables > h3:first-child { margin-top:0; }
.ip-app-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ip-app-grid > figure { padding:24px; background:var(--ip-case-surface); border:1px solid #ffffff20; border-radius:12px; }
.ip-app-grid img { display:block; height:360px; width:100%; object-fit:contain; }
.ip-app-grid figcaption { padding-top:24px; }
.ip-app-grid figcaption p { font-size:14px; margin-bottom:8px; }
.ip-app-grid figcaption p:first-child { font-size:18px; font-weight:500; }
.ip-app-promo { grid-column:1/-1; }
.ip-app-promo video { aspect-ratio:16/9; object-fit:contain; }
.inner-page video { display:block; width:100%; border-radius:10px; background:#000; }
.ip-pitch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ip-pitch-grid .ip-paper { color:#000; display:flex; flex-direction:column; justify-content:space-between; min-height:240px; }
.ip-pitch-grid h3 { margin-top:0; }
.ip-pitch-grid video { aspect-ratio:16/9; object-fit:contain; }
.ip-pitch-grid figcaption { margin-top:16px; font-size:14px; }
.ip-brand-icons { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:20px; padding:28px; background:var(--ip-case-surface); border-radius:12px; }
.ip-brand-icons img { width:100%; height:72px; object-fit:contain; }
.ip-mockups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ip-mockups a { display:flex; align-items:center; justify-content:space-between; padding:24px; min-height:88px; border:1px solid #ffffff40; border-radius:12px; text-decoration:none; }
.ip-mockups p { margin:0; }
.ip-mockups a:hover { background:var(--ip-accent); color:#000; }

/* Preserve the editorial layout and give the sidebar the same panel rhythm. */
.ip-blog-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,3fr); gap:24px; align-items:start; }
.ip-article { min-width:0; }
.ip-article-cover img { display:block; width:100%; height:auto; border-radius:20px; }
.ip-article-header { padding-block:32px 24px; }
.ip-article-header h1 { font-size:48px; line-height:1.125; margin-top:0; }
.ip-article-header .ip-kicker { color:#413f54; }
.ip-article-header > p { font-size:14px; line-height:21px; color:#413f54; margin-top:14px; }
.ip-article-meta { display:flex; gap:24px; flex-wrap:wrap; font-size:14px; line-height:21px; }
.ip-article-body h2 { font-size:34px; line-height:1.24; margin-top:48px; margin-bottom:24px; scroll-margin-top:24px; }
.ip-article-body p,.ip-article-body li { line-height:1.7; }
.ip-article-body p { max-width:none; }
.ip-article-body ul,.ip-article-body ol { padding-left:24px; }
.ip-article-body li { margin-bottom:12px; }
.ip-article-body a { text-decoration:underline; text-decoration-thickness:1px; }
.ip-article-body a:hover { color:#a62f09; }
.ip-tldr { padding:28px; background:#f2e8d5 url('../assets/textures/paper-grain.svg'); border-radius:16px; margin-bottom:40px; }
.ip-tldr > :last-child { margin-bottom:0; }
.ip-tldr ul { margin-bottom:0; }
.ip-article-media { margin-block:28px!important; }
.ip-article-media img { display:block; height:auto; width:100%; border-radius:12px; }
.ip-article-media iframe { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:12px; }
.ip-media-fallback { display:inline-block; padding-top:12px; font-size:14px; }
.ip-sidebar { display:flex; flex-direction:column; gap:24px; position:sticky; top:24px; }
.ip-sidebar-card { background:#fff; border:1px solid #0000001f; border-radius:16px; padding:24px; min-width:0; }
.ip-sidebar-card summary { min-height:44px; cursor:pointer; font-size:14px; line-height:20px; font-weight:500; }
.ip-sidebar-card > p { margin-top:14px; font-size:14px; line-height:21px; }
.ip-author-name { display:flex; align-items:center; gap:14px; margin-bottom:20px; }
.ip-author-name img { width:56px; height:56px; border-radius:50%; object-fit:cover; }
.ip-author-name p { font-size:16px; font-weight:500; margin:0; }
.ip-author > p { font-size:14px; line-height:1.6; }
.ip-socials { display:flex; flex-wrap:wrap; gap:12px; }
.ip-socials a { font-size:12px; min-height:32px; display:flex; align-items:center; }
.ip-toc ol { margin:0; padding-left:18px; }
.ip-toc li { font-size:14px; line-height:1.5; padding-left:4px; }
.ip-toc li+li { margin-top:8px; }
.ip-toc a { display:inline-block; padding-block:6px; text-decoration:none; }
.ip-toc a:hover { text-decoration:underline; }
.ip-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ip-related-card { display:flex; flex-direction:column; text-decoration:none; }
.ip-related-card img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }
.ip-related-card h3 { font-size:22px; margin:20px 0 24px; }
.ip-related-card span { margin-top:auto; font-size:14px; }
.ip-related-more { display:flex; justify-content:center; margin-top:40px; }

/* Three service accents, one consistent set of reading and comparison surfaces. */
.ip-brand { --ip-accent:#fc885b; --ip-tint:#f9ddc9; }
.ip-web { --ip-accent:#413f54; --ip-tint:#e5e4ec; }
.ip-retainer { --ip-accent:#657457; --ip-tint:#e5e9df; }
.ip-service-hero { background:var(--ip-tint); display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:center; padding-block:72px; }
.ip-service-hero h1 { font-size:48px; line-height:1.125; }
.ip-service-copy > p:first-of-type { font-size:18px; line-height:28px; }
.ip-service-copy > p:nth-of-type(2) { font-size:14px; line-height:21px; margin-top:24px; }
.ip-service-copy .ip-actions { margin-top:28px; }
.ip-compact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ip-compact-grid > * { min-width:0; }
.ip-service .ip-compact-grid h3,.ip-service .ip-proof-grid h3 { margin-top:0; }
.ip-service .ip-panel:not(.ip-service-hero):not(.ip-close) > p { max-width:78ch; }
.ip-checklist { list-style:none; padding:0; margin:20px 0 28px; }
.ip-checklist li { position:relative; padding-left:26px; margin-bottom:12px; }
.ip-checklist li::before { content:'↗︎'; position:absolute; left:0; color:#000; }
.ip-process { background:#000; color:#f6f6f6; }
.ip-process h3 { padding-top:28px; border-top:1px solid #ffffff30; }
.ip-process .ip-kicker { color:#fc885b; }
.ip-inclusions { background:#f2e8d5; }
.ip-inclusions h3 { margin-top:32px; }
.ip-pricing { background:var(--ip-tint); }
.ip-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ip-two-plans { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ip-plan-card { display:flex; flex-direction:column; background:#fff; border:1px solid #00000020; border-radius:16px; padding:28px; }
.ip-plan-card h3 { margin:0 0 24px; }
.ip-plan-card .ip-actions { margin-top:auto; padding-top:20px; }
.ip-plan-card p { font-size:14px; line-height:21px; }
.ip-plan-card li { font-size:14px; line-height:21px; }
.ip-plan-card .ip-actions + p { padding-top:20px; margin-bottom:0; }
.ip-plan-card .button { width:100%; text-align:center; }
.ip-two-plans + p { margin-top:28px; }
.ip-proof-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:28px; }
.ip-proof-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#f6f6f6; border-radius:12px; }
.ip-table-scroll { overflow-x:auto; border:1px solid #00000020; border-radius:12px; }
.ip-table-scroll table { width:100%; border-collapse:collapse; min-width:640px; font-size:var(--t-small); line-height:var(--t-small-lh); }
.ip-table-scroll caption { text-align:left; padding:20px; font-weight:500; background:var(--ip-tint); }
.ip-table-scroll th,.ip-table-scroll td { padding:16px; text-align:left; border-bottom:1px solid #00000015; }
.ip-table-scroll th { font-weight:500; }
.ip-table-scroll tbody tr:nth-child(even) { background:#f6f6f6; }
.ip-faq { border-top:1px solid #00000020; padding-block:20px; }
.ip-faq summary { cursor:pointer; font-size:18px; line-height:26px; font-weight:500; min-height:44px; }
.ip-faq p { margin:12px 0 0; }
.ip-faq summary::marker { color:#000; }
.ip-brand-board,.ip-browser-board,.ip-request-board { position:relative; min-width:0; }
.ip-brand-board { display:grid; grid-template-columns:1fr 1fr; gap:16px; transform:rotate(-3deg); padding:24px; background:#f2e8d5 url('../assets/textures/paper-grain.svg'); border:1px solid #00000018; border-radius:16px; }
.ip-brand-sample { padding:0; grid-column:1/-1; overflow:hidden; }
.ip-brand-sample img { display:block; width:100%; height:auto; }
.ip-brand-type { background:#000; color:#fc885b; border-radius:10px; padding:20px; font-size:52px; font-weight:600; }
.ip-brand-type span { display:block; color:#f6f6f6; font-size:10px; font-weight:400; }
.ip-brand-swatch { display:flex; gap:8px; align-items:end; }
.ip-brand-swatch i { display:block; width:33%; height:100%; min-height:64px; background:#fc885b; border-radius:6px; }
.ip-brand-swatch i:nth-child(2) { background:#000; }
.ip-brand-swatch i:nth-child(3) { background:#fff; }
.ip-art-icon { position:absolute; width:72px; height:72px; object-fit:contain; right:-10px; bottom:-16px; filter:drop-shadow(0 6px 4px #00000018); }
.ip-browser-board { padding:24px 32px 48px 0; }
.ip-browser { border:1px solid #00000025; border-radius:12px; background:#fff; overflow:hidden; transform:rotate(-3deg); box-shadow:0 16px 32px #413f5420; }
.ip-browser-bar { display:flex; align-items:center; gap:6px; background:#f6f6f6; border-bottom:1px solid #00000020; padding:12px; }
.ip-browser-bar i { width:6px; height:6px; background:#a4a0a1; border-radius:50%; }
.ip-browser-bar span { margin-left:12px; font-size:9px; }
.ip-browser-page { padding:32px; background:#000; color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ip-browser-page > span:first-child { font-size:27px; line-height:1.2; font-weight:600; }
.ip-browser-page img { width:100%; height:150px; object-fit:contain; }
.ip-browser-line { display:block; background:#fc885b; height:12px; width:65%; grid-column:1/-1; }
.ip-mobile-browser { position:absolute; bottom:0; right:10px; width:100px; min-height:180px; padding:24px 12px; border:5px solid #413f54; background:#fff; border-radius:18px; transform:rotate(6deg); }
.ip-mobile-browser span { display:block; font-size:34px; font-weight:600; }
.ip-mobile-browser i { display:block; height:8px; margin-top:12px; background:#e5e4ec; }
.ip-mobile-browser i:last-child { background:#fc885b; width:65%; }
.ip-request-board { padding:32px 20px 48px; border-radius:16px; border:1px solid #00000020; background:#657457; color:#fff; transform:rotate(2deg); }
.ip-handwritten { display:block; font:32px/1.2 Poppins,Arial,sans-serif; margin-bottom:28px; }
.ip-request-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ip-request-columns > div > span { display:block; font-size:10px; line-height:16px; margin-bottom:12px; }
.ip-request-note { color:#000; background:#f2e8d5 url('../assets/textures/paper-grain.svg'); border-radius:4px; font-size:12px; line-height:18px; padding:12px; margin-bottom:10px; min-height:100px; }
.ip-note-active { background:#fc885b; transform:rotate(-4deg); }
.ip-request-note i { display:block; height:4px; width:90%; background:#00000030; margin-top:10px; }
.ip-request-note i:last-child { width:65%; }
.ip-request-note b { display:block; font-size:30px; font-weight:400; margin-top:12px; }

.ip-review-intro { background:#000; color:#f6f6f6; }
.ip-review-intro p { max-width:50ch; font-size:20px; line-height:30px; }
.ip-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ip-review-card { background:#fff; border-radius:20px; overflow:hidden; display:flex; flex-direction:column; text-decoration:none; }
.ip-review-card > div:last-child { position:relative; padding:32px; }
.ip-review-card h2 { font-size:28px; margin-bottom:16px; }
.ip-review-image { display:grid; place-items:center; aspect-ratio:16/9; background:#f2e8d5; overflow:hidden; }
.ip-review-image img { width:100%; height:100%; object-fit:cover; }
.ip-review-card:nth-child(4) .ip-review-image { background:#413f54; }
.ip-review-card:nth-child(5) .ip-review-image { background:#657457; }
.ip-review-card:nth-child(n+4) .ip-review-image img { width:120px; height:120px; object-fit:contain; }
.ip-review-arrow { position:absolute; right:28px; top:24px; }
.ip-review-card:hover h2 { text-decoration:underline; text-underline-offset:5px; }
@media (min-width:768px) and (max-width:991px) {
 .inner-page h1 { font-size:48px; line-height:54px; }
 .inner-page h2 { font-size:34px; line-height:42px; }
 .inner-page h3 { font-size:24px; line-height:32px; }
 .ip-service-hero { gap:28px; padding-block:48px; }
 .ip-service-hero h1 { font-size:36px; line-height:42px; }
 .ip-plan-grid { grid-template-columns:minmax(0,1fr); }
 .ip-art-icon { width:56px; height:56px; }
 .ip-request-board { padding:24px 12px 32px; }
 .ip-request-note { padding:8px; font-size:10px; }
}
@media (max-width:991px) {
 .ip-plan-grid,.ip-two-plans,.ip-compact-grid { grid-template-columns:minmax(0,1fr); }
 .ip-service .ip-proof-grid { grid-template-columns:minmax(0,1fr); }
 .ip-blog-grid { display:flex; flex-direction:column; align-items:stretch; }
 .ip-sidebar-card { width:100%; }
 .ip-article,.ip-sidebar { width:100%; }
 .ip-sidebar { position:static; order:-1; display:contents; }
 .ip-author { order:3; }
 .ip-toc { order:-1; }
 .ip-sidebar > details:not(.ip-toc) { order:4; }
 .ip-article { order:1; }
 .ip-related-grid { gap:20px; }
 .ip-article-header h1 { font-size:40px; line-height:48px; }
 .ip-concepts { gap:16px; }
 .ip-concepts figure { padding:20px; }
 .ip-app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .inner-page { --ip-gutter:16px; --ip-padding:24px; }
 .inner-page h1 { font-size:32px; line-height:38px; }
 .inner-page h2 { font-size:28px; line-height:36px; }
 .inner-page h3 { font-size:22px; line-height:30px; }
 .ip-panel,.ip-footer,.ip-review-card,.ip-article-cover img { border-radius:16px; }
 .ip-header { min-height:56px; }
 .ip-logo,.ip-logo img { width:52px; }
 .inner-page .cp-phone-toggle { width:56px; height:56px; }
 .inner-page .cp-phone-panel { top:72px; }
 .ip-service-hero { grid-template-columns:minmax(0,1fr); gap:40px; padding-block:36px; }
 .ip-service-hero h1 { font-size:32px; line-height:38px; }
 .ip-service .ip-section-head { grid-template-columns:minmax(0,1fr); gap:0; }
 .ip-service .ip-section-head .ip-kicker { margin-top:0; }
 .ip-intro p { font-size:18px; line-height:28px; }
 .ip-credits > div { grid-template-columns:minmax(0,1fr); gap:8px; }
 .ip-concepts,.ip-case-gallery,.ip-pitch-grid,.ip-mockups,.ip-plan-grid,.ip-two-plans,.ip-proof-grid,.ip-review-grid,.ip-related-grid { grid-template-columns:minmax(0,1fr); }
 .ip-case-gallery figure:first-child { grid-column:auto; }
 .ip-app-grid { grid-template-columns:minmax(0,1fr); }
 .ip-app-promo { grid-column:auto; }
 .ip-app-grid img { height:320px; }
 .ip-app-grid > figure,.ip-plan-card { padding:20px; }
 .ip-brand-icons { grid-template-columns:repeat(3,minmax(0,1fr)); padding:20px; }
 .ip-article-header { padding-top:24px; }
 .ip-article-header h1 { font-size:32px; line-height:38px; }
 .ip-article-body h2 { font-size:28px; line-height:36px; margin-top:36px; }
 .ip-tldr { padding:24px; }
 .ip-article-meta { gap:12px; }
 .ip-toc li a { min-height:44px; }
 .ip-socials a { min-height:44px; }
 .ip-brand-board { margin:8px; padding:16px; }
 .ip-brand-type { font-size:40px; }
 .ip-browser-board { padding-left:12px; padding-right:24px; }
 .ip-browser-page { padding:24px; gap:16px; }
 .ip-browser-page > span:first-child { font-size:22px; }
 .ip-mobile-browser { width:84px; min-height:150px; }
 .ip-art-icon { width:56px; height:56px; right:0; }
 .ip-request-board { padding:24px 12px 36px; }
 .ip-request-note { padding:10px; font-size:11px; }
 .ip-review-card > div:last-child { padding:24px; }
 .ip-actions .button { max-width:100%; }
 .ip-footer .footer-grid { gap:24px; }
 .ip-footer .footer-links { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) { .inner-page { scroll-behavior:auto; } }

/* Layout and visual pass, 2026-10-11: full-width process band, proof panels, case-study system slots, boundary-breaking hero icon. */
.inner-page { overflow-x:clip; }
.ip-service .ip-process { margin-inline:calc(50% - 50vw); border-radius:0; padding-block:clamp(56px,8vw,112px); padding-inline:calc(50vw - min(640px, 50vw - var(--ip-gutter)) + var(--ip-padding)); }
.ip-service .ip-process h2 { font-size:clamp(34px,5vw,64px); line-height:1.08; max-width:18ch; }
.ip-service-hero { position:relative; }
.ip-service-hero > .ip-art-icon { width:104px; height:104px; right:clamp(32px,8%,120px); bottom:-44px; z-index:5; }
.ip-proof figcaption { padding-top:20px; }
.ip-proof figcaption p { font-size:14px; line-height:21px; margin-bottom:8px; }
.ip-proof-feature .ip-proof-grid { align-items:center; margin-bottom:0; }
.ip-quote { margin:0; padding:clamp(24px,4vw,48px); background:var(--ip-tint); border-radius:16px; }
.ip-quote p { font-size:clamp(20px,2.4vw,28px); line-height:1.4; font-weight:500; margin-bottom:20px; }
.ip-quote cite { font-style:normal; font-size:14px; line-height:21px; font-weight:500; }
.ip-quote cite span { display:block; font-weight:400; }
.ip-case-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:48px; align-items:center; }
.ip-case-hero-media img { display:block; width:100%; height:auto; border-radius:12px; }
.ip-case .ip-case-scope { background:var(--ip-case-surface); }
.ip-scope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.ip-scope-grid h3 { font-size:14px; line-height:20px; letter-spacing:.06em; text-transform:uppercase; color:var(--ip-accent); margin:0 0 12px; }
.ip-scope-grid ul { list-style:none; margin:0; padding:0; }
.ip-scope-grid li { padding:12px 0; margin:0; border-top:1px solid #ffffff24; }
.ip-scope-grid li:last-child { border-bottom:1px solid #ffffff24; }
.ip-swatches { list-style:none; padding:0; margin:0 0 32px; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.ip-swatches li { margin:0; font-size:14px; line-height:21px; }
.ip-swatches li::before { content:''; display:block; aspect-ratio:1; background:var(--swatch); border:1px solid #ffffff30; border-radius:12px; margin-bottom:12px; }
.ip-swatches b,.ip-swatches span { display:block; font-weight:500; }
.ip-swatches span { font-weight:400; font-size:13px; opacity:.75; }
.ip-type-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; padding-top:24px; border-top:1px solid #ffffff30; }
.ip-type-list dt { font-size:12px; line-height:18px; letter-spacing:.06em; text-transform:uppercase; color:var(--ip-accent); }
.ip-type-list dd { margin:8px 0 0; font-size:var(--t-h4); line-height:var(--t-h4-lh); font-weight:500; }
.ip-article-media figcaption p { font-size:14px; line-height:1.5; color:#413f54; margin:10px 0 0; text-align:center; }
@media (max-width:991px) {
 .ip-service-hero > .ip-art-icon { width:80px; height:80px; bottom:-34px; }
 .ip-swatches { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .ip-service-hero > .ip-art-icon { width:72px; height:72px; right:24px; bottom:-30px; }
 .ip-case-hero,.ip-scope-grid,.ip-type-list { grid-template-columns:minmax(0,1fr); gap:24px; }
 .ip-swatches { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.ip-alt { color:inherit; font-size:15px; text-decoration:underline; text-underline-offset:3px; }

.ip-socials{gap:4px}.ip-socials a{justify-content:center;width:44px;height:44px;min-height:44px;border-radius:50%;color:inherit;transition:color .2s ease,background-color .2s ease}.ip-socials a:hover{color:#f6521b;background:rgba(36,35,43,.06)}.ip-socials a:focus-visible{outline:2px solid #f6521b;outline-offset:3px}.ip-socials svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
/* Tall images stay a readable size instead of filling the column. Add is-portrait to any figure whose image is taller than wide. */
.ip-article-media:is(.is-portrait,.is-compact){max-width:340px;margin-inline:auto!important}.ip-article-media.is-landscape{max-width:440px;margin-inline:auto!important}
/* Video pop-up for case study cards (js/inner-pages.js). */
.ip-video-dialog { padding:0; border:0; background:transparent; overflow:visible; max-width:none; max-height:none; }
.ip-video-dialog::backdrop { background:rgba(10,10,10,.86); }
.ip-video-dialog video { display:block; width:auto; height:auto; max-width:min(92vw,1200px); max-height:calc(100vh - 140px); border-radius:12px; background:#000; }
.ip-video-close { position:absolute; top:-56px; right:0; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(0,0,0,.45); color:#fff; font:inherit; font-size:28px; line-height:1; cursor:pointer; }
.ip-video-close:hover { background:rgba(255,255,255,.16); }
.ip-video-close:focus-visible { outline:3px solid #f6521b; outline-offset:3px; }
html:has(.ip-video-dialog[open]) { overflow:hidden; }
/* Image pop-up for case study image cards (js/inner-pages.js): a framed view, not full screen. */
.ip-media-card[role="button"] { cursor:zoom-in; }
.ip-media-card[role="button"]:focus-visible { outline:3px solid #f6521b; outline-offset:3px; }
.ip-image-dialog { padding:0; border:0; background:transparent; overflow:visible; max-width:none; max-height:none; }
.ip-image-dialog::backdrop { background:rgba(10,10,10,.8); }
.ip-image-frame { position:relative; }
.ip-image-frame img { display:block; width:min(86vw,720px); height:auto; max-height:calc(100vh - 180px); object-fit:contain; border-radius:12px; background:#fff; touch-action:pan-y; user-select:none; }
.ip-image-close { position:absolute; top:-56px; right:0; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(0,0,0,.45); color:#fff; font:inherit; font-size:28px; line-height:1; cursor:pointer; }
.ip-image-step { position:absolute; top:50%; display:grid; place-items:center; width:44px; height:44px; margin-top:-22px; padding:0 0 3px; border:0; border-radius:50%; background:rgba(10,10,10,.65); color:#fff; font:inherit; font-size:30px; line-height:1; cursor:pointer; }
.ip-image-step.is-prev { left:12px; }
.ip-image-step.is-next { right:12px; }
.ip-image-step[hidden] { display:none; }
.ip-image-close:hover, .ip-image-step:hover { background:rgba(246,82,27,.9); }
.ip-image-close:focus-visible, .ip-image-step:focus-visible { outline:3px solid #f6521b; outline-offset:3px; }
.ip-image-count { margin:12px 0 0; text-align:center; color:#fff; font-size:14px; }
html:has(.ip-image-dialog[open]) { overflow:hidden; }
/* 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; }
/* Phone menu only (2026-10-25): "Newsletter" sits under Blog in the hamburger menu, smaller and grey; hidden in the desktop pill. */
:is(.connected-candidate,.inner-page) .cp-top-links .cp-top-mobile-only { display: none; }
@media (max-width:767px) {
  :is(.connected-candidate,.inner-page) .cp-top-header .cp-top-nav .cp-top-links a.cp-top-mobile-only { display: flex; min-height: 40px; padding-top: 4px; padding-bottom: 8px; font-size: 13px; color: #6b6a78; }
}
/* 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:Poppins,Arial,sans-serif; 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/blog-index.css */
.bi-library{background:#f2e8d5;padding:clamp(24px,4vw,56px);border-radius:28px;color:#000}
.bi-header{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:56px}
.inner-page .bi-header h1{font-size:clamp(52px,7vw,92px);line-height:1.06;letter-spacing:-.04em;margin:16px 0 0}
.bi-header>p{max-width:360px;font-size:22px;line-height:1.6;margin:0!important;color:#413f54}
.bi-card{border:1px solid #413f541c;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 12px 30px -15px #413f5414;transition:border-color .35s,box-shadow .35s}
.bi-card:hover{border-color:#f6521b70;box-shadow:0 20px 40px -16px #413f5430}
.bi-story{display:flex;height:100%;flex-direction:column;color:inherit;text-decoration:none}
.bi-story:focus-visible{outline:3px solid #f6521b;outline-offset:-4px}
.bi-featured{margin-bottom:48px}
.bi-featured .bi-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.bi-image{position:relative;overflow:hidden;min-width:0;height:240px;background:#e5e4ec}
.bi-image>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.bi-card:hover .bi-image>img{transform:scale(1.06) rotate(1deg)}
.bi-featured .bi-image{height:100%;min-height:440px}
.bi-arrow{position:absolute;top:0;left:0;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#f6521b;color:#000;font-size:30px;border:1px solid #ffffff60;box-shadow:0 8px 20px #00000020;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.4);will-change:transform}
.bi-story:focus-visible .bi-arrow{top:36px;left:calc(100% - 36px);opacity:1;transform:translate(-50%,-50%)}
.bi-copy{display:flex;flex-direction:column;gap:22px;flex:1;padding:26px}
.bi-featured .bi-copy{padding:40px;gap:28px;border-left:1px solid #413f5414}
.bi-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#413f54}
.bi-category{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border:1px solid #f6521b30;border-radius:999px;background:#f6521b0b;color:#ad320b}
.inner-page .bi-copy h2{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin:0;text-wrap:pretty;transition:color .3s}
.inner-page .bi-featured h2{font-size:clamp(30px,3vw,42px);line-height:1.15}
.bi-card:hover h2{color:#ad320b}
.bi-copy>p{color:#413f54;font-size:15px;line-height:1.6;margin:0!important}
.bi-featured .bi-copy>p{font-size:18px}
.bi-browse{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
#articles{scroll-margin-top:112px} /* clears the sticky top nav when a post links to a category */
.bi-filters{display:flex;flex-wrap:wrap;gap:8px}
.bi-filters button{font:inherit;font-size:13px;min-height:44px;border:1px solid #413f5425;border-radius:999px;padding:10px 18px;background:transparent;color:#413f54;cursor:pointer}
.bi-filters button[aria-pressed=true]{background:#413f54;color:#fff;border-color:#413f54}
.bi-filters button:hover{border-color:#413f54}
.bi-results{white-space:nowrap;color:#413f54;font-size:12px!important;margin:0!important}
.bi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bi-card[hidden]{display:none}
.bi-load-row{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:40px}
.bi-load{display:flex;align-items:center;gap:20px;padding:8px 8px 8px 28px;border:0;border-radius:999px;background:#f6521b;color:#000;font:500 16px Poppins,sans-serif;cursor:pointer}
.bi-load:disabled{background:#413f54;color:#fff;cursor:default}
.bi-flip{display:block;position:relative;height:26px;overflow:hidden;line-height:26px}
.bi-flip>span{display:block;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.bi-flip>span:nth-child(2){position:absolute;inset:0;transform:translateY(-130%)}
.bi-load:not(:disabled):is(:hover,:focus-visible) .bi-flip>span:first-child{transform:translateY(130%)}
.bi-load:not(:disabled):is(:hover,:focus-visible) .bi-flip>span:nth-child(2){transform:translateY(0)}
.bi-load-icon{display:block;position:relative;width:38px;height:38px;overflow:hidden;border-radius:50%;background:#fff;color:#000;font-size:24px;line-height:38px;text-align:center}
.bi-load-icon>span{display:block;transition:transform .5s cubic-bezier(.76,0,.24,1)}
.bi-load-icon>span:nth-child(2){position:absolute;inset:0;transform:translateY(140%)}
.bi-load:not(:disabled):is(:hover,:focus-visible) .bi-load-icon>span:first-child{transform:translateY(-140%)}
.bi-load:not(:disabled):is(:hover,:focus-visible) .bi-load-icon>span:nth-child(2){transform:translateY(0)}
.bi-status{font-size:12px!important;color:#413f54;margin:0!important;min-height:18px}
.bi-filters button:focus-visible,.bi-load:focus-visible{outline:3px solid #f6521b;outline-offset:4px}
.bi-motion [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.bi-motion [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(max-width:991px){.bi-header{align-items:flex-start;gap:28px;flex-direction:column;margin-bottom:36px}.bi-header>p{max-width:540px;font-size:20px}.bi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bi-featured .bi-story{display:flex}.bi-featured .bi-image{min-height:0;height:320px}.bi-featured .bi-copy{border-left:0;padding:28px}.bi-featured{margin-bottom:32px}.bi-browse{align-items:flex-start;flex-direction:column;gap:16px}.bi-library{padding:32px}}
@media(max-width:767px){.bi-library{padding:24px 20px;border-radius:22px}.inner-page .bi-header h1{font-size:clamp(48px,11vw,68px)}.bi-header>p{font-size:18px}.bi-grid{grid-template-columns:minmax(0,1fr)}.bi-featured .bi-image{height:240px}.bi-featured .bi-copy,.bi-copy{padding:24px}.inner-page .bi-featured h2{font-size:28px}.bi-arrow{width:48px;height:48px}.bi-filters button{font-size:12px;padding:10px 14px}.bi-card{border-radius:18px}}
@media(hover:none){.bi-arrow{opacity:1;top:32px;left:calc(100% - 32px);transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.bi-motion [data-reveal]{opacity:1;transform:none;transition:none}.bi-image>img,.bi-flip>span,.bi-load-icon>span{transition:none}.bi-card:hover .bi-image>img{transform:none}}
.bi-meta time{margin-left:auto;font-size:11px;line-height:1.5;color:#413f54;white-space:nowrap}
/* 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/inner-streamline.css */
/* Inner-page streamline, 2026-10-15. Mirrors streamline.css on the homepage. Design only: no copy changes.
   Loaded last on the six inner pages. Buttons and pricing-card beams keep their animation. */
body.inner-page { --r-ui: 8px; --r-card: 16px; --r-shell: 24px; }

/* No word-breaking headings. */
body.inner-page :is(h1,h2,h3,h4) { overflow-wrap: normal; }

/* One shell radius for panels, one card radius for media, 8px for controls. */
body.inner-page :is(.ip-panel, .ip-footer, .ip-article-header, .bi-library),
body.inner-page .ip-article-cover img { border-radius: var(--r-shell); }
body.inner-page :is(.ip-case-hero-media img, .ip-case-gallery img, .ip-article-media img, .ip-article-media iframe, .ip-related-card img, .ip-gradient-placeholder, .ip-paper, .ip-tldr, .ip-proof-grid img) { border-radius: var(--r-card); }
body.inner-page :is(.ip-mockups a, .ip-swatches li::before) { border-radius: var(--r-ui); }

/* Service pages (Brand Build Week, Website Work, Marketing Retainer) */
body.inner-page.ip-service .ip-process { border-radius: 0; }
body.inner-page .ip-process .ip-kicker { color: #cec9d1; }
body.inner-page .ip-quote { background: transparent; border-top: 1px solid #0000001f; border-radius: 0; padding: 32px 0 0; }
body.inner-page .ip-inclusions { background: #fff; }
body.inner-page .ip-pricing .ip-plan-card { border-radius: var(--r-card); }
body.inner-page .ip-pricing > .ip-section-head .ip-kicker { color: #cec9d1; }
body.inner-page .ip-pricing > .ip-section-head .ip-kicker::before { background: #cec9d1; }
body.inner-page .ip-pricing .ip-plan-card > p:not(.ip-price),
body.inner-page .ip-pricing .ip-checklist li,
body.inner-page .ip-plan-card :is(p, li),
body.inner-page .ip-service-copy > p:nth-of-type(2),
body.inner-page .ip-proof figcaption p { font-size: 16px; line-height: 1.6; }

/* Blog article */
body.ip-blog .ip-article-header { margin-bottom: 24px; }
body.ip-blog .ip-article-cover { margin-bottom: 24px; }
body.ip-blog .ip-article-body h2 u { text-decoration: none; }
body.ip-blog .ip-sidebar-card { border: 0; border-radius: var(--r-shell); }
body.ip-blog details.ip-sidebar-card { padding-top: 12px; }
body.ip-blog details.ip-sidebar-card:not([open]) { padding-bottom: 12px; }
body.ip-blog .ip-sidebar-card summary { line-height: 44px; }
body.ip-blog :is(.ip-sidebar-card > p, .ip-author > p) { font-size: 16px; line-height: 1.6; }
body.inner-page #main .ip-related-card h3 { font-size: 22px; line-height: 30px; }

/* Blog index: cards sit on the page rail; orange stays with CTAs. */
body.ip-blog-index .bi-library { background: transparent; padding: 0; }
body.ip-blog-index .bi-card { border: 0; border-radius: var(--r-card); box-shadow: none; }
body.ip-blog-index .bi-card:hover { border-color: transparent; box-shadow: 0 1px 2px #24232b0a, 0 4px 16px #24232b0f; }
body.ip-blog-index .bi-card:hover h2 { color: inherit; }
body.ip-blog-index .bi-category { border-color: #413f5425; background: transparent; color: #413f54; }
body.inner-page #main .bi-copy h2 { font-size: 25px; line-height: 1.25; }
body.inner-page #main .bi-featured h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.15; }
@media (max-width: 767px) { body.inner-page #main .bi-featured h2 { font-size: 28px; } }

/* Case study: labels back to label size; figures lose the box inside the dark panel. */
body.inner-page #main :is(.ip-scope-grid h3, .ip-deliverables > h3) { font-size: 14px; line-height: 20px; letter-spacing: .06em; }
body.ip-case .ip-concepts figure { background: transparent; border: 0; border-radius: 0; padding: 24px 0 0; }
/* App screens sit in their own cards, as on the live page. */
body.ip-case .ip-app-grid > figure { background: #111; border: 1px solid #ffffff20; border-radius: var(--r-card); padding: var(--s-5, 32px) var(--s-4, 24px); text-align: center; }
body.ip-case .ip-concepts figcaption { border-top: 0; }
body.ip-case .ip-brand-icons { background: transparent; padding: 24px 0 0; border-top: 0; border-radius: 0; }
body.ip-case :is(.ip-concepts figcaption p, .ip-app-grid figcaption p, .ip-credits dt, .ip-credits dd, .ip-credits dd p) { font-size: 16px; line-height: 1.6; }

/* Service video slot: under the hero, before pricing. 16:9 frame ready for an embed. */
body.inner-page .ip-video-frame, body.inner-page .ip-video :is(iframe, video) { display: grid; place-items: center; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--r-card); background: #292632 radial-gradient(circle, #ffffff14 1.25px, transparent 1.75px) 0 0 / 16px 16px; }
body.inner-page .ip-video-play { width: 72px; height: 72px; border-radius: 999px; background: #f6521b; box-shadow: 0 0 0 10px #f6521b2e; position: relative; }
body.inner-page .ip-video-play::after { content: ''; position: absolute; left: 29px; top: 23px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent #fff; }
@media (max-width: 767px) { body.inner-page .ip-video-play { width: 56px; height: 56px; } body.inner-page .ip-video-play::after { left: 22px; top: 17px; border-width: 11px 0 11px 17px; } }

/* One next step: the audit, with the video review promise underneath. */
body.inner-page .ip-service-copy > p.ip-cta-note,
body.inner-page .ip-panel > p.ip-cta-note { margin:14px 0 0; font-size:14px; line-height:21px; opacity:.75; }

/* Closing showcase: the hero story's final frame as the page close. */
body.inner-page .ip-close.ip-close-showcase { background:#0d0c10; color:#fff; text-align:center; display:flex; flex-direction:column; align-items:center; }
body.inner-page .ip-close-showcase .ip-kicker { color:#cec9d1; }
body.inner-page .ip-close-showcase h2 { color:#fff; max-width:20ch; margin-inline:auto; }
body.inner-page .ip-close-showcase > p { color:#cec9d1; max-width:60ch; margin-inline:auto; }
body.inner-page .ip-close-showcase .ip-actions { justify-content:center; }
body.inner-page .ip-close-showcase > p.ip-cta-note { color:#cec9d1; }
.ip-close-gallery { display:flex; align-items:center; justify-content:center; gap:clamp(16px,3vw,40px); margin:clamp(24px,4vw,48px) 0; width:100%; }
.ip-close-gallery img { height:clamp(120px,16vw,220px); width:auto; max-width:30%; object-fit:contain; border-radius:6px; }
@media (max-width:600px) { .ip-close-gallery { gap:10px; } .ip-close-gallery img { height:auto; max-height:130px; } }
/* One line only in full-width panels; in the service hero the note wraps inside its column instead of running under the At a glance card. */
@media (min-width:1200px) { body.inner-page .ip-panel > p.ip-cta-note { white-space:nowrap; max-width:none; } }
body.inner-page .ip-service-copy > p.ip-cta-note { text-wrap: pretty; }

/* Blog index header sits in a panel, matching the blog article header and the service heroes. */
body.ip-blog-index .bi-header { background:#f2e8d5; border-radius:24px; padding:var(--ip-padding); margin-bottom:24px; }

/* Full-bleed process panels use 100vw, which includes the scrollbar on Windows; clip the sideways spill. */
html:has(body.inner-page) { overflow-x:clip; }

/* A1: one button shape on inner pages. Pricing keeps its own glowing pill. */
body.inner-page .button { border-radius:999px; }
/* A2: the facts box heading is a label, not a section heading. */
body.inner-page #main .ip-glance h2 { font-size:var(--t-h5); line-height:var(--t-h5-lh); }
/* A5: one kicker style; light text on the dark panels; the client accent stays on case studies. */
body.inner-page:not(.ip-case) .ip-kicker { font-size:12px; line-height:18px; letter-spacing:.08em; font-weight:500; text-transform:uppercase; color:#413f54; }
body.inner-page .ip-pricing > .ip-section-head .ip-kicker { display:block; font-size:12px; margin:0 0 14px; }
body.inner-page .ip-pricing > .ip-section-head .ip-kicker::before { content:none; }
body.inner-page:not(.ip-case) :is(.ip-process,.ip-pricing,.ip-close-showcase) .ip-kicker { color:#cec9d1; }
/* A4: hidden panels stay hidden whatever display rule they carry. */
body.inner-page section[hidden] { display:none; }

/* Shared footer: inner pages use the homepage footer inside .cp-footer-scope; these lines cover the
   homepage rules that live in homepage-only stylesheets and undo the old inner footer rules. */
body.inner-page .cp-footer-scope { background:transparent; }
body.inner-page .cp-footer-scope .closing { padding-bottom:var(--lm-panel-inset); }
body.inner-page .cp-footer-scope .closing h2 { margin-bottom:0; }
body.inner-page .cp-footer-scope .closing-copy p { margin-bottom:24px; }
body.inner-page .cp-footer-scope .closing .button.orange { border:1px solid #f6521b; border-radius:999px; background:#f6521b; color:#000; padding:15px 22px; min-height:52px; }
body.inner-page .cp-footer-scope .footer-grid { padding-top:34px; }
body.inner-page .cp-footer-scope .footer-bottom { margin-top:36px; padding-top:0; border-top:0; }
@media (min-width:992px) { body.inner-page .cp-footer-scope .closing-top { align-items:start; grid-template-columns:minmax(0,1fr) minmax(0,420px); } }
/* Footer headline and columns for pages that do not load inspiration.css (the case study). */
body.inner-page .cp-footer-scope .closing-top { border-left:0; padding-left:0; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:end; }
body.inner-page .cp-footer-scope .closing h2 { max-width:10.5ch; font-size:clamp(48px,5.6vw,76px); line-height:1.08; letter-spacing:-.035em; }
@media (max-width:767px) { body.inner-page .cp-footer-scope .closing-top { grid-template-columns:minmax(0,1fr); gap:28px; } body.inner-page .cp-footer-scope .closing h2 { font-size:clamp(44px,9.5vw,64px); } }
@media (min-width:992px) { body.inner-page .cp-footer-scope .closing-top { align-items:start; grid-template-columns:minmax(0,1fr) minmax(0,420px); } }
body.inner-page .cp-footer-scope .closing-copy .cp-footer-note { margin:14px 0 0; font-size:14px; line-height:21px; color:#cec9d1; }

/* Pending testimonials and other hidden blocks stay hidden whatever display rule they carry. */
body.inner-page [hidden] { display:none !important; }

/* =========================================================================================
   SYSTEM PASS (2026-10-18): the six inner pages consume the design-system tokens in css/system.css
   (loaded right after site.css). Spec and page templates: guidelines.html. Mirrors the homepage
   SYSTEM PASS in streamline.css. :not(#_) adds one ID of weight only where an older rule must be beaten.
   ========================================================================================= */

/* Layout: one shell (1280 max, 32/32/16 side margin), one section gap, panel padding 48/40/24. */
body.inner-page { --ip-gutter: var(--page-margin); --ip-padding: var(--panel-pad); --lm-panel-inset: var(--panel-pad); }
body.inner-page .cp-footer-scope { --lm-shell-width: min(var(--shell-max), calc(100% - var(--page-margin) * 2)); }
body.inner-page .ip-main:not(#_) { gap: var(--section-gap); }
body.inner-page .cp-footer-scope .closing:not(#_) { margin-block: var(--section-gap); border-radius: var(--r-lg); padding-block: var(--panel-pad); }
body.inner-page .cp-footer-scope .closing > .wrap:not(#_) { width: calc(100% - var(--panel-pad) * 2); }
body.inner-page .ip-pricing:not(#_) { padding-block: var(--panel-pad); }
body.ip-blog-index .bi-header:not(#_) { padding: var(--panel-pad); margin-bottom: var(--section-gap); gap: var(--head-gap) var(--s-12); }
/* Section heading to content, and content to its call to action. */
body.inner-page .ip-section-head:not(#_) { margin-bottom: var(--head-gap); }
body.inner-page :is(.ip-actions, .ip-service-copy .ip-actions):not(#_) { margin-top: var(--cta-gap); }

/* Type: the shared heading rules (type-hierarchy.css) read these, so point them at the system tokens. */
body.inner-page {
  --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);
}
/* H1 for every inner title (service, case study, blog post, blog index); older page-level sizes retire. */
body.inner-page #main h1:not(#_) { font-size: var(--t-h1); line-height: var(--t-h1-lh); letter-spacing: var(--track-display); }
body.inner-page #main :is(h2, h3) { text-wrap: balance; }
body.inner-page #main h2 { letter-spacing: var(--track-heading); }
body.inner-page #main :is(.ip-pricing > .ip-section-head h2, .ip-article-body h2):not(#_) { font-size: var(--t-h2); line-height: var(--t-h2-lh); letter-spacing: var(--track-heading); }
/* Footer headline: the closing display size, always below the hero (76px retired). */
body.inner-page .cp-footer-scope .closing h2:not(#_) { font-size: var(--t-display-l); line-height: var(--t-display-l-lh); letter-spacing: var(--track-display); }

/* Eyebrow above an H1 or H2 (inner pages only): 13px, +0.1em, caps, accent ink on light. */
body.inner-page #main .ip-kicker:not(#_) { font-size: var(--t-eyebrow); line-height: var(--t-eyebrow-lh); font-weight: 500; letter-spacing: var(--track-eyebrow); text-transform: uppercase; color: var(--c-accent-ink); }
/* Peach hero (Brand Build Week): accent ink only reaches 4.39:1 there, so the eyebrow uses ink-soft (7.9:1). */
body.inner-page.ip-brand #main .ip-service-hero .ip-kicker:not(#_) { color: var(--c-ink-soft); }
body.inner-page:not(.ip-case) #main :is(.ip-process, .ip-pricing, .ip-close-showcase) .ip-kicker:not(#_) { color: var(--c-on-dark-soft); }
body.ip-case #main .ip-kicker:not(#_) { color: var(--ip-accent); }

/* Lead, body, small and meta text. */
body.inner-page #main :is(.ip-service-copy > p:first-of-type, .ip-intro > p, .bi-header > p):not(#_) { font-size: var(--t-lead); line-height: var(--t-lead-lh); }
body.inner-page #main .ip-panel :is(p, li):not(.ip-price, .ip-cta-note, .ip-kicker, .ip-intro > p, .ip-service-copy > p:first-of-type) { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.inner-page #main :is(.ip-article-body p, .ip-article-body li, .ip-tldr li, .ip-sidebar-card > p, .ip-author > p, .bi-featured .bi-copy > p):not(#_) { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.inner-page #main :is(.ip-cta-note, .ip-service-copy > p:nth-of-type(2), .bi-copy > p, .ip-article-body figcaption, .ip-toc li, .ip-related-card span, .ip-sidebar-card summary):not(#_) { font-size: var(--t-small); line-height: var(--t-small-lh); }
body.inner-page #main .bi-featured .bi-copy > p:not(#_) { font-size: var(--t-body); line-height: var(--t-body-lh); }
body.inner-page .cp-footer-scope .closing-copy .cp-footer-note:not(#_) { font-size: var(--t-small); line-height: var(--t-small-lh); }
body.inner-page .cp-footer-scope .closing-copy > p:not(.cp-footer-note) { font-size: var(--t-body); line-height: var(--t-body-lh); }
/* Meta: article meta labels and the case study scope and deliverable labels (12px caps). */
body.inner-page #main :is(.ip-article-meta span, .ip-scope-grid h3, .ip-deliverables > h3):not(#_) { font-size: var(--t-meta); line-height: var(--t-meta-lh); letter-spacing: var(--track-caps); text-transform: uppercase; font-weight: 500; }
/* Blog post: about 65 characters per line for reading copy. */
body.ip-blog #main .ip-article-body > :is(p, ul, ol, h2, h3, blockquote) { max-width: 65ch; }

/* Card titles: H3 for large panels and the featured story, H4 for compact cards. */
body.inner-page #main .bi-featured h2:not(#_) { font-size: var(--t-h3); line-height: var(--t-h3-lh); }
body.inner-page #main :is(.bi-copy h2, .ip-related-card h3):not(#_) { font-size: var(--t-h4); line-height: var(--t-h4-lh); }

/* Buttons: pill, two sizes (48 and 56), color-shift hover, press scale. */
body.inner-page .button:not(#_) {
  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;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background-color var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, transform var(--dur-fast) ease;
}
body.inner-page .button:active { transform: scale(.97); }
body.inner-page .button.orange:not(#_) { background: var(--c-accent); border: 1px solid var(--c-accent); color: var(--c-on-accent); }
body.inner-page .button.orange:hover:not(#_) { background: var(--c-accent-hover); border-color: var(--c-accent-hover); color: var(--c-on-accent); }
body.inner-page .button.orange:active:not(#_) { background: var(--c-accent-press); border-color: var(--c-accent-press); }
/* Large size: the hero, close and footer calls to action. */
body.inner-page :is(.ip-service-hero, .ip-close, .ip-case-hero, .cp-footer-scope .closing) .button:not(#_) { min-height: var(--btn-h-lg); padding: 0 var(--btn-pad-lg); font-size: var(--t-button-lg); }
/* Pricing: the featured plan (the card with the "Most popular" label, or the single Brand Build Week package) keeps the
   animated beam outline; the other plans use plain ghost on dark. No plan button is orange, so the hero audit stays the
   one orange action. Plan buttons sit on the card bottom so they line up across a row. */
body.inner-page .ip-pricing .ip-plan-card .ip-actions:not(#_) { margin-top: auto; }
body.inner-page .ip-pricing .ip-plan-card .button:not(#_) { display: flex; justify-content: space-between; width: 100%; min-height: var(--btn-h); padding: 0 var(--btn-pad); font-size: var(--t-button); }
body.inner-page .ip-pricing :is(.ip-plan-card:has(.pr-plan-label), .pr-brand-package) .button:is(*, :hover, :active):not(#_) { background: linear-gradient(#17120f, #17120f) padding-box, conic-gradient(from var(--cp-pricing-beam-angle), #f6521b33 0%, #f6521b33 60%, #f6521b 76%, #ffc08e 84%, #f6521b 91%, #f6521b33 100%) border-box; border: 2px solid transparent; color: var(--c-on-dark); }
body.inner-page .ip-pricing .ip-plan-card:not(:has(.pr-plan-label), .pr-brand-package) .button:not(#_) { background: transparent; border: 1px solid var(--c-on-dark-line); color: var(--c-on-dark); box-shadow: none; animation: none; }
body.inner-page .ip-pricing .ip-plan-card:not(:has(.pr-plan-label), .pr-brand-package) .button:hover:not(#_) { background: var(--c-on-dark); border-color: var(--c-on-dark); color: #000; box-shadow: none; }
body.inner-page .ip-pricing .pr-plan-label { align-self: flex-start; display: inline-flex; align-items: center; min-height: 28px; padding: 0 var(--s-3); border: 1px solid var(--c-on-dark-line); border-radius: var(--r-pill); font-size: var(--t-meta); line-height: var(--t-meta-lh); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--c-on-dark); }

/* One focus ring everywhere (2px, 3px offset): ink-orange on light, brand orange on dark. */
body.inner-page :is(a, button, summary, [tabindex]):focus-visible:not(#_) { outline: var(--focus-ring) solid var(--c-focus); outline-offset: var(--focus-offset); box-shadow: none; }
body.inner-page :is(.ip-process, .ip-pricing, .ip-close-showcase, .cp-footer-scope, .cp-top-header) :is(a, button, summary):focus-visible:not(#_),
body.ip-case #main :is(a, button, summary):focus-visible:not(#_) { outline-color: var(--c-focus-dark); }
/* Tap targets: outline links and sidebar summaries meet 44px. */
body.inner-page #main :is(.ip-toc a, .ip-sidebar-card summary) { min-height: var(--tap-min); display: flex; align-items: center; }
body.inner-page .cp-footer-scope .footer-links a { display: inline-flex; align-items: center; min-height: var(--tap-min); font-size: var(--t-small); }

/* Header: the top nav sits on the same shell (32/32/16) and is one section gap above the first panel. */
body.inner-page { --lm-shell-width: min(var(--shell-max), calc(100% - var(--page-margin) * 2)); }
body.inner-page .cp-top-header + #main:not(#_) { margin-top: var(--section-gap); }
/* Prices take the H2 role (40 / 32 to 40 / 28) in white; the billing note under them is Small. */
body.inner-page .ip-pricing .ip-plan-card .ip-price:not(#_) { font-size: var(--t-h2); line-height: var(--t-h2-lh); letter-spacing: var(--track-heading); }
body.inner-page .ip-pricing .ip-plan-card .ip-price span:not(#_) { font-size: var(--t-small); line-height: var(--t-small-lh); letter-spacing: normal; }
/* Blog category chips take the Meta role (12px caps) in accent ink. */
body.ip-blog-index #main .bi-category:not(#_) { font-size: var(--t-meta); line-height: var(--t-meta-lh); letter-spacing: var(--track-caps); color: var(--c-accent-ink); }

/* ---- Brand-at-a-glance bento (test on the RocketPoint template, 2026-10-18) ----
   4 x 3 cells on desktop and tablet, sized so the whole grid fits one screen, 2 x 6 on phones. Placement follows source order (no dense packing, no order). */
body.inner-page .ip-case-gallery.ip-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); width: 100%; height: min(calc(100svh - 200px), 52vw); gap: var(--s-4); }
body.inner-page .ip-bento figure { position: relative; margin: 0; min-height: 0; overflow: hidden; border-radius: var(--r-card); background: #141414; box-shadow: inset 0 0 0 1px rgba(246, 246, 246, .08); }
body.inner-page .ip-bento .ip-bento-lg { grid-column: span 2; grid-row: span 2; }
body.inner-page .ip-bento .ip-bento-wide { grid-column: span 2; }
body.inner-page .ip-bento .ip-bento-tall { grid-row: span 2; }
body.inner-page .ip-bento figure img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; background: none; border-radius: 0; }
body.inner-page .ip-bento .ip-bento-logo { display: grid; place-items: center; }
body.inner-page .ip-bento .ip-bento-logo img { width: 64%; height: auto; object-fit: contain; }
body.inner-page .ip-bento .ip-bento-site img { object-position: left top; }
@media (max-width: 767px) {
  body.inner-page .ip-case-gallery.ip-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(6, minmax(0, 1fr)); height: auto; aspect-ratio: 1 / 3; gap: var(--s-3); }
  body.inner-page .ip-bento .ip-bento-lg { grid-column: span 2; grid-row: span 2; }
}

/* ---- Blog articles (2026-10-18) ---- */
/* The menu fades out while reading down (js/inner-pages.js toggles .is-reading) and returns on scroll up. */
body.ip-blog .cp-top-header { transition: opacity var(--dur-base) var(--ease), translate var(--dur-base) var(--ease); }
body.ip-blog .cp-top-header.is-reading { opacity: 0; translate: 0 -12px; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { body.ip-blog .cp-top-header { transition: none; } }
/* The sidebar scrolls with the page, so the whole table of contents is always reachable. */
body.ip-blog .ip-sidebar { position: static; }
/* Logo concepts: wordmarks sit inside their column with clear space instead of spanning edge to edge. */
body.ip-case .ip-concepts img { width: 80%; height: 120px; margin: var(--s-10) auto var(--s-12); }
@media (max-width: 767px) { body.ip-case .ip-concepts img { height: 96px; margin-block: var(--s-6) var(--s-8); } }
/* RocketPoint copy additions: the founder's concept choice and the demo note under the live mockups. */
body.ip-case .ip-concept-decision { max-width: none; margin: var(--s-8) 0 0; }
body.ip-case .ip-mockups-note { max-width: none; margin: var(--s-4) 0 0; font-size: var(--t-small); line-height: var(--t-small-lh); color: var(--c-on-dark-soft); }

/* Brand Build Week: the offer card is one column now that the stage notes live elsewhere; the focus note introduces the process. */
body.inner-page .ip-pricing .pr-brand-package:not(:has(.pr-brand-stages)) { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
body.inner-page .ip-process > p.ip-process-intro { max-width: 62ch; margin: 0 0 var(--head-gap); color: var(--c-on-dark-soft); }

/* Service page column images (Higgsfield, GPT Image 2.5, AI-touched): decorative, generated on the panel's own ground colour. */
body.inner-page img.ip-col-art { display: block; width: 100%; max-width: 160px; height: auto; aspect-ratio: 900 / 678; margin: 0 0 var(--s-5); border-radius: 0; object-fit: contain; }
@media (max-width: 767px) { body.inner-page img.ip-col-art { max-width: 140px; } }
/* The generated "white" ground prints a touch off-white; multiply drops it into white panels. Black-ground art on the dark process panels stays normal. */
body.inner-page img.ip-col-art { mix-blend-mode: multiply; }
body.inner-page .ip-process img.ip-col-art { mix-blend-mode: normal; }

/* ---- Process timeline (2026-10-18, from the Conicorn reference) ----
   Alternating steps around a centre line. js/inner-pages.js sets --line-top, --line-h and --fill and marks
   steps .is-done / .is-active as the reader scrolls; without the script every step reads normally. */
.ip-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.inner-page .ip-timeline { position: relative; list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-4); }
body.inner-page .ip-timeline.is-ready::before, body.inner-page .ip-timeline.is-ready::after { content: ""; position: absolute; left: 50%; top: var(--line-top, 0); width: 2px; margin-left: -1px; border-radius: 2px; pointer-events: none; z-index: 1; }
body.inner-page .ip-timeline.is-ready::before { height: var(--line-h, 0); background: rgba(246, 246, 246, .14); }
body.inner-page .ip-timeline.is-ready::after { height: var(--fill, 0); background: var(--c-accent); }
body.inner-page .ip-step { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); align-items: center; gap: var(--s-8); padding: var(--s-10) var(--s-12); border-radius: var(--r-shell); transition: background-color var(--dur-slow) var(--ease); }
body.inner-page .ip-step.is-active { background: #16151b; }
body.inner-page .ip-step-media { display: flex; align-items: center; justify-content: flex-end; gap: var(--s-4); }
body.inner-page .ip-step-copy { min-width: 0; }
body.inner-page .ip-step-copy h3 { margin: 0; padding-top: 0; border-top: 0; }
body.inner-page .ip-step-copy p { margin: var(--s-3) 0 0; max-width: 46ch; color: var(--c-on-dark-soft); }
body.inner-page .ip-step:nth-child(even) .ip-step-media { order: 3; flex-direction: row-reverse; justify-content: flex-end; }
body.inner-page .ip-step:nth-child(even) .ip-step-node { order: 2; }
body.inner-page .ip-step:nth-child(even) .ip-step-copy { order: 1; text-align: right; }
body.inner-page .ip-step:nth-child(even) .ip-step-copy p { margin-left: auto; }
body.inner-page img.ip-step-art { mix-blend-mode: lighten; display: block; width: 160px; height: auto; aspect-ratio: 900 / 678; border-radius: 0; opacity: .55; transition: opacity var(--dur-slow) var(--ease); }
body.inner-page .ip-step-num { display: inline-grid; place-items: center; min-width: 44px; height: 36px; padding: 0 var(--s-3); border-radius: var(--r-xs); background: #1c1c1e; color: var(--c-on-dark); font-weight: 600; font-size: var(--t-small); transition: background-color var(--dur-base) ease, color var(--dur-base) ease; }
body.inner-page .ip-step-node { position: relative; z-index: 2; justify-self: center; width: 28px; height: 28px; border-radius: var(--r-xs); background: #000; box-shadow: inset 0 0 0 2px rgba(246, 246, 246, .25); transition: box-shadow var(--dur-base) ease; }
body.inner-page .ip-step-node::after { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: rgba(246, 246, 246, .25); transition: background-color var(--dur-base) ease; }
body.inner-page .ip-step.is-done .ip-step-node { box-shadow: inset 0 0 0 2px var(--c-accent), 0 0 0 6px rgba(246, 82, 27, .18); }
body.inner-page .ip-step.is-done .ip-step-node::after { background: var(--c-accent); }
body.inner-page .ip-step.is-active .ip-step-num { background: var(--c-accent); color: var(--c-on-accent); }
body.inner-page .ip-step.is-active img.ip-step-art, body.inner-page .ip-timeline:not(.is-ready) img.ip-step-art { opacity: 1; }
@media (max-width: 767px) {
  body.inner-page .ip-timeline.is-ready::before, body.inner-page .ip-timeline.is-ready::after { left: calc(var(--s-4) + 14px); }
  body.inner-page .ip-step, body.inner-page .ip-step:nth-child(even) { grid-template-columns: 28px minmax(0, 1fr); gap: var(--s-3) var(--s-4); padding: var(--s-6) var(--s-4); }
  body.inner-page .ip-step .ip-step-node, body.inner-page .ip-step:nth-child(even) .ip-step-node { order: 0; grid-row: 1 / span 2; align-self: start; }
  body.inner-page .ip-step .ip-step-media, body.inner-page .ip-step:nth-child(even) .ip-step-media { order: 1; flex-direction: row; justify-content: flex-start; }
  body.inner-page .ip-step .ip-step-copy, body.inner-page .ip-step:nth-child(even) .ip-step-copy { order: 2; text-align: left; }
  body.inner-page .ip-step:nth-child(even) .ip-step-copy p { margin-left: 0; }
  body.inner-page img.ip-step-art { width: 120px; }
}
@media (prefers-reduced-motion: reduce) { body.inner-page :is(.ip-step, .ip-step-node, .ip-step-node::after, .ip-step-num, img.ip-step-art) { transition: none; } }
/* Concept captions sit centred under their logos. */
body.ip-case .ip-concepts figcaption { text-align: center; }
/* Case study media cards (2026-10-19): image or looping clip behind a centred title and link, matching the live RocketPoint deliverables. */
body.ip-case .ip-media-card { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 360px; overflow: hidden; border: 1px solid #ffffff20; border-radius: var(--r-card); background: #0a0a0a; color: inherit; text-decoration: none; isolation: isolate; }
body.ip-case :is(.ip-pitch-grid, .ip-mockups) .ip-media-card { aspect-ratio: 16 / 11; min-height: 0; padding: 0; }
body.ip-case .ip-media-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
body.ip-case .ip-media-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.92) 82%); }
body.ip-case .ip-media-text { display: flex; flex-direction: column; align-items: center; gap: var(--s-2, 8px); padding: var(--s-5, 32px) var(--s-4, 24px); text-align: center; }
body.ip-case .ip-media-text strong { font-size: 22px; line-height: 1.2; }
body.ip-case .ip-media-link { color: var(--c-on-dark-soft); transition: color .2s; }
body.ip-case .ip-media-card:hover .ip-media-bg { transform: scale(1.04); }
body.ip-case .ip-media-card:hover .ip-media-link, body.ip-case .ip-media-card:focus-visible .ip-media-link { color: var(--ip-accent); }
body.ip-case.inner-page .ip-mockups a.ip-media-card { border-radius: var(--r-card); }
body.ip-case .ip-mockups .ip-media-card:hover { background: #0a0a0a; color: inherit; }
body.ip-case .ip-gradient-band { margin: var(--s-4, 24px) 0 0; height: clamp(120px, 12vw, 200px); overflow: hidden; border-radius: var(--r-card); }
body.ip-case .ip-gradient-band img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
/* Previous / next case study pager. */
body.ip-case .ip-case-pager { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4, 24px); }
body.ip-case .ip-case-pager a { display: flex; flex-direction: column; gap: var(--s-2, 8px); padding: var(--s-5, 32px); border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: var(--r-card); color: inherit; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
body.ip-case .ip-case-pager .ip-pager-next { align-items: flex-end; text-align: right; }
body.ip-case .ip-pager-dir { font-size: var(--t-meta, 14px); letter-spacing: var(--track-caps, .06em); text-transform: uppercase; color: inherit; opacity: .7; }
body.ip-case .ip-case-pager strong { font-size: 24px; line-height: 1.2; }
body.ip-case .ip-case-pager a:hover, body.ip-case .ip-case-pager a:focus-visible { background: var(--ip-accent); border-color: var(--ip-accent); color: #000; }
body.ip-case .ip-case-pager a:hover .ip-pager-dir, body.ip-case .ip-case-pager a:focus-visible .ip-pager-dir { color: #000; }
@media (max-width: 767px) { body.ip-case .ip-case-pager { grid-template-columns: minmax(0, 1fr); } body.ip-case .ip-media-card { min-height: 300px; } }
@media (prefers-reduced-motion: reduce) { body.ip-case .ip-media-bg { transition: none; } body.ip-case .ip-media-card:hover .ip-media-bg { transform: none; } }
/* Multi-line headings and captions break into even lines; long paragraphs avoid orphans. */
body.ip-case :is(h1, h2, h3, figcaption, figcaption p, .ip-media-text, .ip-case-pager strong, .ip-intro p, .ip-credits dd) { text-wrap: balance; }
body.ip-case :is(.ip-case-context p, .ip-case-process p, .ip-concept-decision, .ip-mockups-note) { text-wrap: pretty; }
/* Tablet: the bento keeps square cells instead of squashing to a viewport-height strip. */
@media (min-width: 768px) and (max-width: 1100px) { body.inner-page .ip-case-gallery.ip-bento { height: auto; aspect-ratio: 4 / 3; } }
/* Six brand icons: one row of six, or two rows of three on phones. */
body.ip-case .ip-brand-icons { grid-template-columns: repeat(6, minmax(0, 1fr)); }
body.ip-case .ip-brand-icons img { height: 120px; }
@media (max-width: 767px) { body.ip-case .ip-brand-icons { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.ip-case .ip-brand-icons img { height: 72px; } }
/* Case study paragraphs run the full width of their container, all the same measure. */
body.ip-case :is(.ip-case-context p, .ip-case-process > p) { max-width: none; }
/* Brand icons grow slightly on hover. */
body.ip-case .ip-brand-icons img { transition: transform .25s cubic-bezier(.2,.7,.2,1); }
body.ip-case .ip-brand-icons img:hover { transform: scale(1.15); }
@media (prefers-reduced-motion: reduce) { body.ip-case .ip-brand-icons img { transition: none; } }
/* Collaborator link sits right under its role line. */
body.ip-case .ip-credits dd p:not(#_) { margin: 0; }
body.ip-case .ip-credits dd a { margin-top: 2px; }
/* Scope lists: no dividers between items. */
body.ip-case .ip-scope-grid li:not(#_) { border: 0; padding: 8px 0; }
/* ---- case-study-live components (2026-10-19) ---- */
body.ip-case .ip-case-hero-media video { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-card); }
body.ip-case .ip-brand-icons[style*="--cols"] { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); }
/* Pulled strategic line, set large with a small label under it. */
body.ip-case .ip-pull { margin: 0; padding: var(--s-6, 40px) 0; text-align: center; }
body.ip-case .ip-pull p { margin: 0 auto; max-width: 28ch; font-size: clamp(28px, 4vw, 52px); line-height: 1.15; font-weight: 600; color: var(--ip-accent); text-wrap: balance; }
body.ip-case .ip-pull figcaption { margin-top: var(--s-3, 16px); font-size: var(--t-meta, 14px); letter-spacing: var(--track-caps, .06em); text-transform: uppercase; color: var(--c-on-dark-soft); }
/* Results: big figures, short labels. */
body.ip-case .ip-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--s-5, 32px) var(--s-4, 24px); margin: 0; }
body.ip-case .ip-results div { margin: 0; }
body.ip-case .ip-results dt { font-size: var(--t-h1); line-height: 1; font-weight: 600; color: var(--ip-accent); }
body.ip-case .ip-results dd { margin: var(--s-2, 8px) 0 0; font-size: 16px; line-height: 1.5; text-wrap: balance; }
/* Quote on the dark case panels. */
body.ip-case .ip-quote { border-top-color: #ffffff20; color: inherit; }
body.ip-case .ip-quote p { text-wrap: balance; }
body.ip-case .ip-quote cite { color: var(--c-on-dark-soft); }
/* Media card grids: three across, and tall 9:16 reels. */
body.ip-case .ip-media-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4, 24px); }
body.ip-case .ip-media-grid .ip-media-card { aspect-ratio: 4 / 3; min-height: 0; }
body.ip-case .ip-reels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-4, 24px); }
body.ip-case .ip-reels .ip-media-card { aspect-ratio: 9 / 16; min-height: 0; }
body.ip-case .ip-reels .ip-media-text strong { font-size: 16px; }
/* Plain image pair (before and after, logo on white). */
body.ip-case .ip-section-intro { margin: 0 0 var(--s-5, 32px); text-wrap: pretty; }
@media (max-width: 1100px) { body.ip-case .ip-reels { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  body.ip-case .ip-media-grid { grid-template-columns: minmax(0, 1fr); }
  body.ip-case .ip-reels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3, 16px); }
  body.ip-case .ip-media-grid .ip-media-card { aspect-ratio: 16 / 11; }
}
/* All Work index cards. */
body.ip-case .ip-work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4, 24px); }
body.ip-case .ip-work-card { display: flex; flex-direction: column; gap: var(--s-3, 16px); color: inherit; text-decoration: none; }
body.ip-case .ip-work-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r-card); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
body.ip-case .ip-work-card:hover img { transform: scale(1.02); }
body.ip-case .ip-work-card span { font-size: var(--t-meta, 14px); letter-spacing: var(--track-caps, .06em); text-transform: uppercase; color: var(--c-on-dark-soft); }
body.ip-case .ip-work-card strong { font-size: 24px; line-height: 1.2; text-wrap: balance; }
body.ip-case .ip-work-card p { margin: 0; text-wrap: pretty; }
@media (max-width: 991px) { body.ip-case .ip-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { body.ip-case .ip-work-grid { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { body.ip-case .ip-work-card img { transition: none; } body.ip-case .ip-work-card:hover img { transform: none; } }
body.ip-case .ip-case-client { margin: var(--s-2, 8px) 0 0; font-size: var(--t-meta, 14px); letter-spacing: var(--track-caps, .06em); text-transform: uppercase; color: var(--c-on-dark-soft); }
/* Dark-ink logos sit on a light plate inside the dark concept cards. */
body.ip-case .ip-concepts.is-light img { background: #f6f3ec; border-radius: var(--r-ui, 8px); padding: 24px; box-sizing: border-box; height: 220px; }
/* Plain image cards (no title overlay) and square grids for social posts. */
body.ip-case .ip-media-card.is-plain::after { display: none; }
body.ip-case .ip-media-grid.is-square .ip-media-card { aspect-ratio: 1; }
body.ip-case .ip-media-grid.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.ip-case .ip-media-card.is-contain .ip-media-bg { object-fit: contain; background: #fff; }
body.ip-case .ip-results-note { margin: var(--s-4, 24px) 0 0; font-size: var(--t-small, 14px); color: var(--c-on-dark-soft); }
@media (max-width: 767px) { body.ip-case .ip-media-grid.is-four { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.ip-case .ip-media-grid.is-square .ip-media-card { aspect-ratio: 1; } }
body.ip-case .ip-case-hero-media img { aspect-ratio: 1; object-fit: cover; }
body.ip-case .is-top img, body.ip-case .is-top .ip-media-bg { object-position: center top; }
/* The type-hierarchy sheet sets every #main p; the pulled line needs to win over it. */
body.ip-case #main .ip-pull p:not(#_) { font-size: clamp(28px, 4vw, 52px); line-height: 1.15; font-weight: 600; letter-spacing: -.01em; }
body.ip-case #main .ip-results dt:not(#_) { font-size: var(--t-h1); line-height: 1; }
/* Blog FAQs use the homepage dropdown (.faq-list base rules in site.css); these match its homepage finish. */
body.ip-blog .ip-article-body .faq-list { margin-top: 8px; }
body.ip-blog .ip-article-body .faq-list details { padding-block: 16px; border-bottom: 1px solid rgba(65, 63, 84, .2); }
body.ip-blog .ip-article-body .faq-list details:first-child { padding-top: 16px; }
body.ip-blog .ip-article-body .faq-list summary { min-height: 56px; align-items: center; font-size: 18px; line-height: 24px; font-weight: 600; color: #1a1920; transition: color .2s ease; }
body.ip-blog .ip-article-body .faq-list summary:hover { color: #bc370d; }
body.ip-blog .ip-article-body .faq-list summary:focus-visible { outline: 3px solid #f6521b; outline-offset: 4px; border-radius: 4px; }
body.ip-blog .ip-article-body .faq-list summary::after { color: #413f54; font-weight: 600; }
body.ip-blog .ip-article-body .faq-list p { margin: 18px 0 0; padding-right: 28px; color: #413f54; }
/* Credited images link to the same source as their caption. */
body.ip-blog .ip-article-body .ip-article-media-link { display: block; border-radius: 12px; text-decoration: none; }
body.ip-blog .ip-article-body .ip-article-media-link:focus-visible { outline: 3px solid #f6521b; outline-offset: 4px; }
/* Before/after comparison slider (js/inner-pages.js). */
body.ip-case .ip-compare { max-width: 640px; margin: 0 auto; }
body.ip-case .ip-compare-stage { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-card); background: #fff; touch-action: pan-y; cursor: ew-resize; user-select: none; }
body.ip-case .ip-compare-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
body.ip-case .ip-compare-before { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
body.ip-case .ip-compare-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: #f6521b; pointer-events: none; }
body.ip-case .ip-compare-handle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: #f6521b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 7-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center / 22px no-repeat; box-shadow: 0 2px 10px rgba(0, 0, 0, .28); }
body.ip-case .ip-compare-stage:has(.ip-compare-range:focus-visible) .ip-compare-handle::after { outline: 3px solid #0a0a0a; outline-offset: 2px; }
body.ip-case .ip-compare-tag { position: absolute; top: 14px; padding: 4px 12px; border-radius: 99px; background: rgba(10, 10, 10, .72); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.5; pointer-events: none; }
body.ip-case .ip-compare-tag.is-before { left: 14px; }
body.ip-case .ip-compare-tag.is-after { right: 14px; }
body.ip-case .ip-compare-range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; pointer-events: none; }
body.ip-case .ip-compare-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4, 24px); padding-top: var(--s-3, 16px); text-align: center; }
body.ip-case .ip-compare-notes p { margin: 0; text-wrap: balance; }
body.ip-case .ip-compare-notes strong { display: block; font-size: 18px; }
@media (max-width: 767px) { body.ip-case .ip-compare-notes { grid-template-columns: minmax(0, 1fr); } }
/* Before/after slider with a companion image beside it (Master-Pieced brand board). */
body.ip-case .ip-compare-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4, 24px); align-items: start; max-width: 1100px; margin-inline: auto; }
body.ip-case .ip-compare-row .ip-compare { max-width: none; margin: 0; }
body.ip-case .ip-compare-board { margin: 0; text-align: center; }
body.ip-case .ip-compare-board img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-card); }
body.ip-case .ip-compare-board figcaption { padding-top: var(--s-3, 16px); }
body.ip-case .ip-compare-board strong { display: block; font-size: 18px; }
@media (max-width: 899px) { body.ip-case .ip-compare-row { grid-template-columns: minmax(0, 1fr); max-width: 640px; } }
/* One caption at a time under the slider: it crossfades as the divider crosses the middle. */
body.ip-case .ip-compare[data-side] .ip-compare-notes { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin-inline: auto; }
body.ip-case .ip-compare[data-side] .ip-compare-notes p { grid-area: 1 / 1; transition: opacity .3s ease; }
body.ip-case .ip-compare[data-side="before"] .ip-compare-notes .is-after,
body.ip-case .ip-compare[data-side="after"] .ip-compare-notes .is-before { opacity: 0; visibility: hidden; }

/* Article breadcrumbs follow the newsletter's eyebrow style. */
body.inner-page #main .ip-breadcrumb{margin-bottom:14px}
body.inner-page #main .ip-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .5em;margin:0;padding:0;list-style:none;font-size:var(--t-meta);line-height:var(--t-meta-lh);letter-spacing:.06em;font-weight:500;text-transform:uppercase;color:var(--ip-accent,var(--c-accent-ink))}
body.inner-page #main .ip-breadcrumb li+li::before{content:"/";margin-right:.5em;color:var(--c-muted)}
body.inner-page #main .ip-breadcrumb a{display:inline-flex;align-items:center;min-height:24px;color:inherit;text-decoration:none}
body.inner-page #main .ip-breadcrumb a:hover,body.inner-page #main .ip-breadcrumb a:focus-visible{text-decoration:underline}
body.inner-page #main .ip-breadcrumb [aria-current]{color:var(--c-ink)}
/* 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; }
}
/* css/newsletter-promo.css */
/* Newsletter promotion on the blog (2026-10-25): a slim band on /blog/ and a quiet line at the end of each post. Both link to /newsletter/#past-issues. Text only, so they never read as a third button beside the audit. */
body.inner-page #main .bi-newsletter-band { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4, 16px) var(--s-8, 32px); flex-wrap: wrap; margin: 0 0 var(--s-10, 40px); padding: var(--s-4, 16px) var(--s-6, 24px); border: 1px solid var(--c-line, #0000001f); border-radius: var(--r-card, 16px); background: #fff; }
body.inner-page #main .bi-newsletter-band p { margin: 0 !important; font-size: var(--t-small); line-height: var(--t-small-lh); color: var(--c-ink-soft, #413f54); }
body.inner-page #main .bi-newsletter-band .bi-band-name { font-weight: 600; color: var(--c-ink, #24232b); }
body.inner-page #main .bi-newsletter-band a { font-size: var(--t-small); line-height: var(--t-small-lh); font-weight: 500; color: var(--c-ink, #24232b); white-space: nowrap; }
body.inner-page #main .bi-newsletter-band a:hover, body.inner-page #main .bi-newsletter-band a:focus-visible { color: var(--c-accent-ink, #bc370d); }
body.inner-page #main .bp-newsletter { margin-top: var(--s-10, 40px); padding-top: var(--s-6, 24px); border-top: 1px solid var(--c-line, #0000001f); }
body.inner-page #main .bp-newsletter p:not(#_) { margin: 0; max-width: 65ch; font-size: var(--t-small); line-height: var(--t-small-lh); color: var(--c-ink-soft, #413f54); }
body.inner-page #main .bp-newsletter a { font-weight: 500; color: var(--c-ink, #24232b); white-space: nowrap; }
