@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Oswald:wght@800&display=swap');

:root { --blue:#38B6FF; --black:#000; --ink:#11181b; --white:#fff; --mist:#eef3f5; --cloud:#f7f9fa; --grey:#536168; --line:#c9d4d8; --max:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font:400 16px/1.55 "IBM Plex Sans",Arial,sans-serif; }
img { max-width:100%; }
a { color:inherit; }
a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.skip-link { position:absolute; z-index:5; top:-4rem; left:1rem; padding:.7rem 1rem; color:var(--black); background:var(--blue); font-weight:700; }
.skip-link:focus { top:1rem; }
.wrap { width:min(calc(100% - 32px),var(--max)); margin:auto; }
.site-header { color:var(--white); background:var(--black); }
.nav { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.wordmark { flex:0 0 auto; color:var(--white); font:800 28px/.9 Oswald,Impact,sans-serif; letter-spacing:-.03em; text-decoration:none; }
.wordmark b { color:var(--blue); }
.nav-links { display:flex; align-items:center; justify-content:flex-end; gap:14px; font-size:12px; font-weight:600; white-space:nowrap; }
.nav-links a { padding:8px 0; text-decoration:none; }
.nav-links a[aria-current="page"],.nav-links a:hover { color:var(--blue); }
.nav-cta { padding:8px 12px!important; color:var(--black)!important; background:var(--blue); letter-spacing:.04em; text-transform:uppercase; }
.nav-cta:hover,.nav-cta[aria-current="page"] { color:var(--black)!important; background:var(--white); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Oswald,Impact,sans-serif; font-weight:800; line-height:1.02; text-transform:uppercase; }
h1 { max-width:770px; margin-bottom:18px; font-size:clamp(42px,6vw,78px); letter-spacing:-.035em; }
h2 { margin-bottom:16px; font-size:clamp(31px,4.4vw,56px); letter-spacing:-.025em; }
h3 { margin-bottom:15px; font-size:clamp(25px,2.8vw,37px); letter-spacing:-.018em; text-transform:none; }
.eyebrow { margin-bottom:10px; color:var(--blue-deep,#126b9d); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow-light { margin-bottom:10px; color:var(--blue); font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.lede { max-width:640px; margin-bottom:0; font-size:clamp(18px,2vw,22px); line-height:1.4; }
.button { display:inline-block; padding:12px 16px; font-size:14px; font-weight:700; text-decoration:none; }
.button.primary { color:var(--black); background:var(--blue); }
.button.dark { color:var(--white); background:var(--black); }
.button.outline { border:1px solid var(--blue); color:var(--white); }
.button:hover { transform:translateY(-1px); }
.text-link { color:var(--black); font-weight:700; text-underline-offset:4px; }
.home-hero,.page-hero { padding:clamp(45px,7vw,88px) 0 clamp(42px,6vw,72px); color:var(--white); background:var(--black); }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.7fr); gap:clamp(30px,6vw,74px); align-items:end; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.portrait { position:relative; overflow:hidden; margin:0; background:var(--blue); }
.portrait img { display:block; width:100%; height:300px; object-fit:contain; object-position:50% 50%; }
.portrait figcaption { position:absolute; right:0; bottom:0; left:0; display:flex; justify-content:space-between; align-items:end; gap:12px; padding:14px 16px; color:var(--white); background:linear-gradient(transparent,rgba(0,0,0,.88)); }
.portrait span { color:var(--blue); font:800 18px/1 Oswald,Impact,sans-serif; text-shadow:0 1px 2px rgba(0,0,0,.8); text-transform:uppercase; }
.portrait small,.data-label { font:600 10px/1.35 "IBM Plex Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }
section:not(.home-hero):not(.page-hero) { padding:clamp(52px,8vw,100px) 0; }
.section-heading { display:grid; grid-template-columns:1fr minmax(240px,.72fr); gap:38px; align-items:end; margin-bottom:34px; }
.support { max-width:550px; margin-bottom:0; color:var(--grey); }
.situations { background:var(--cloud); }
.situation-grid,.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.situation,.principle { min-height:260px; padding:25px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); }
.situation-number { display:block; margin-bottom:42px; color:#176a97; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.situation p,.principle p { color:var(--grey); }
.links { display:grid; gap:8px; margin-top:20px; }
.recommendations { background:var(--mist); }
.recommendation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.recommendation-card { display:flex; min-height:286px; margin:0; padding:24px; flex-direction:column; border-top:6px solid var(--blue); background:var(--white); }
blockquote { margin:0; font:600 clamp(24px,2vw,31px)/1.1 Oswald,Impact,sans-serif; letter-spacing:-.02em; }
figcaption { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); font-size:13px; }
figcaption strong,figcaption span { display:block; }
figcaption span { color:var(--grey); }
.recommendation-link { margin:22px 0 0; text-align:right; }
.principles { color:var(--white); background:#111; }
.principle { color:var(--white); border-color:#3f4c50; background:transparent; }
.principle strong { display:block; margin-bottom:42px; color:var(--blue); font:600 12px/1 "IBM Plex Mono",monospace; }
.principle p { color:#c5d0d4; }
.proof-story { display:grid; grid-template-columns:1fr 1.05fr; gap:34px; padding:34px; border:1px solid var(--line); background:var(--white); }
.proof-route { grid-column:1/-1; display:flex; align-items:center; gap:12px; color:#176a97; font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.proof-route i { display:block; flex:1; max-width:120px; height:1px; background:#176a97; }
.proof-story p { margin-bottom:0; color:var(--grey); }
.contact-panel { color:var(--white); background:var(--black); }
.contact-grid,.simple-cta { display:grid; grid-template-columns:1fr auto; gap:34px; align-items:end; }
.contact-panel p:not(.eyebrow-light),.simple-cta p { max-width:620px; margin-bottom:0; color:#cbd6da; }
.home-proof-preview { background:var(--white); }
.home-contact-preview { background:var(--mist); }
.home-mosaic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-mosaic-card { display:flex; min-height:300px; padding:28px; flex-direction:column; border:1px solid var(--line); }
.home-mosaic-card h2 { margin-bottom:0; font-size:clamp(34px,3.6vw,51px); }
.mosaic-dark { color:var(--white); background:#111; }
.mosaic-paper { justify-content:space-between; background:var(--cloud); }
.mosaic-paper p { max-width:340px; margin:0; color:var(--grey); }
.mosaic-black { justify-content:flex-end; color:var(--white); background:var(--black); }
.mosaic-black p { max-width:330px; margin:0; color:#cbd6da; font-size:18px; }
.mosaic-blue { color:var(--black); border-color:var(--blue); background:var(--blue); }
.mosaic-link { justify-content:space-between; text-decoration:none; }
.mosaic-link .data-label { color:var(--black); }
.mosaic-link strong { max-width:270px; font:800 clamp(31px,3.25vw,44px)/1 Oswald,Impact,sans-serif; letter-spacing:-.025em; text-transform:uppercase; }
.mosaic-link:hover { background:var(--white); }
.page-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(230px,.55fr); gap:45px; align-items:end; }
.page-context { padding:24px; color:var(--black); background:var(--blue); }
.page-context h2 { margin-bottom:10px; font:700 13px/1.2 "IBM Plex Sans",Arial,sans-serif; letter-spacing:.1em; }
.page-context p { margin:0; font-size:15px; line-height:1.4; }
.proof-mosaic { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.proof-tile { display:flex; min-height:412px; padding:24px; flex-direction:column; border:1px solid var(--line); border-top:7px solid var(--blue); background:var(--white); }
.proof-tile.amber { border-top-color:#f2bb35; }
.proof-tile.context { border-top-color:var(--black); background:var(--cloud); }
.proof-tile.quote { color:var(--white); background:var(--black); }
.proof-tile-top { display:flex; min-height:44px; align-items:start; }
.proof-mark { display:flex; width:44px; height:44px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:800 29px/1 Oswald,Impact,sans-serif; }
.proof-mark-dark { color:var(--white); background:var(--black); }
.proof-mark-amber { background:#f2bb35; }
.status,.stamp { display:inline-flex; min-height:34px; align-items:center; padding:6px 8px; color:var(--black); background:var(--blue); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.status.amber,.stamp.amber { background:#f2bb35; }
.status.context { color:var(--white); background:var(--black); }
.stamp { justify-content:center; min-width:58px; font:800 22px/.9 Oswald,Impact,sans-serif; }
.stamp.dark { color:var(--white); background:var(--black); }
.proof-tile h2 { margin:23px 0 10px; font-size:clamp(29px,2.6vw,38px); text-transform:none; }
.proof-tile-lead { margin-bottom:18px; font-weight:600; line-height:1.35; }
.proof-facts { margin:auto 0 0; }
.proof-facts div { padding-top:12px; border-top:1px solid var(--line); }
.proof-facts div+div { margin-top:11px; }
.proof-facts dt { margin-bottom:5px; color:#176a97; font:600 10px/1.3 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.proof-facts dd { margin:0; color:var(--grey); font-size:13px; line-height:1.4; }
.proof-tile.quote blockquote { margin:29px 0 auto; }
.proof-tile.quote figcaption { border-color:#4d595c; }
.proof-tile.quote figcaption span { color:#cad3d5; }
.proof-cta { margin-top:22px; padding:32px; color:var(--white); background:var(--black); }
.proof-cta h2 { margin-bottom:8px; }
.contact-options,.three-point-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.contact-option,.point { padding:26px; border:1px solid var(--line); background:var(--white); }
.contact-option { min-height:230px; }
.contact-option p,.point p { color:var(--grey); }
.contact-option .button { margin-top:13px; }
.three-point-grid { gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.point { min-height:225px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.point .data-label { display:block; margin-bottom:38px; color:#176a97; }
.detail-card { max-width:900px; padding:clamp(28px,4vw,48px); border-top:8px solid var(--blue); background:var(--mist); }
.detail-card.amber { border-top-color:#f2bb35; }
.detail-card h2 { text-transform:none; }
.proof-detail { display:grid; grid-template-columns:190px 1fr; gap:18px; padding:15px 0; border-top:1px solid var(--line); }
.proof-detail strong { font:600 11px/1.35 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.proof-detail p { margin:0; }
.decision-list { display:grid; gap:20px; }
.decision-item { display:grid; grid-template-columns:150px 1fr; gap:28px; padding:28px 0; border-top:1px solid var(--line); }
.decision-item:last-child { border-bottom:1px solid var(--line); }
.decision-item h2 { max-width:760px; font-size:clamp(29px,3.6vw,46px); text-transform:none; }
.decision-proof { padding:16px; color:var(--white); background:var(--black); font-size:15px; }
.decision-proof p { margin:0; }
.decision-proof .data-label { display:block; margin-top:10px; color:var(--blue); }
.decision-proof.amber .data-label { color:#f2bb35; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.two-columns section { padding:27px; background:var(--cloud); }
.two-columns ul { margin:0; padding-left:20px; }
.two-columns li+li { margin-top:10px; }
.track-intro { max-width:800px; }
.track-intro p { max-width:680px; color:var(--grey); font-size:18px; }
.timeline { display:grid; gap:0; border-top:1px solid var(--line); }
.timeline-item { display:grid; grid-template-columns:145px 1fr; gap:30px; padding:28px 0; border-bottom:1px solid var(--line); }
.timeline-item .data-label { padding-top:8px; color:#176a97; }
.timeline-item h2 { margin-bottom:10px; font-size:clamp(30px,3.5vw,46px); text-transform:none; }
.timeline-item p { max-width:730px; margin:0; color:var(--grey); }
.track-recommendations { color:var(--white); background:var(--black); }
.track-recommendations .recommendation-card { color:var(--ink); }
.not-found { min-height:55vh; display:flex; align-items:center; }
.not-found .lede { color:var(--grey); }
footer { padding:26px 0; color:#c9d4d7; background:#101010; font-size:12px; }
.footer-row { display:flex; justify-content:space-between; gap:16px; }
footer a { color:var(--white); text-underline-offset:4px; }
.article-hero { padding-bottom:46px; }
.article-byline { margin:28px 0 0; color:#cbd6da; font:600 11px/1.4 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.article-section { background:var(--white); }
.article-wrap { width:min(calc(100% - 32px),780px); margin:auto; font-size:18px; line-height:1.7; }
.article-wrap h2 { margin:58px 0 18px; font-size:clamp(31px,4vw,48px); text-transform:none; }
.article-wrap h3 { margin:34px 0 12px; font-size:clamp(24px,3vw,32px); }
.article-wrap p,.article-wrap li { color:#273238; }
.article-wrap ol { margin:0 0 28px; padding-left:24px; }
.article-wrap li+li { margin-top:10px; }
.article-cta { color:var(--white); background:var(--black); }
@media (max-width:900px) { .home-hero-grid,.page-hero-grid,.section-heading,.proof-story,.contact-grid,.simple-cta { grid-template-columns:1fr; } .situation-grid,.principle-grid,.recommendation-grid,.proof-mosaic,.contact-options,.home-mosaic { grid-template-columns:1fr; } .situation,.principle,.proof-tile,.home-mosaic-card { min-height:0; } .timeline-item,.decision-item { grid-template-columns:1fr; gap:8px; } .two-columns { grid-template-columns:1fr; } }
@media (max-width:640px) { .wrap { width:min(calc(100% - 28px),var(--max)); } .nav { align-items:flex-start; flex-direction:column; gap:8px; padding:13px 0; } .nav-links { width:100%; flex-wrap:wrap; justify-content:flex-start; gap:5px 13px; white-space:normal; font-size:12px; } h1 { font-size:clamp(36px,11vw,48px); } .portrait img { height:240px; } .proof-route { gap:7px; font-size:9px; } .proof-route i { max-width:35px; } .proof-detail { grid-template-columns:1fr; gap:7px; } .footer-row { flex-direction:column; } }

/* How I work: connected four-step operating sequence */
.work-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
.work-step { position:relative; min-height:270px; padding:25px; border:1px solid #3f4c50; background:#111; }
.work-step:not(:last-child)::after { position:absolute; z-index:2; top:50%; right:-23px; width:23px; height:1px; content:""; background:var(--blue); }
.work-step:not(:last-child)::before { position:absolute; z-index:3; top:calc(50% - 4px); right:-23px; width:8px; height:8px; content:""; border-top:1px solid var(--blue); border-right:1px solid var(--blue); transform:rotate(45deg); }
.work-step-number { display:flex; width:36px; height:36px; margin-bottom:55px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:600 11px/1 "IBM Plex Mono",monospace; }
.work-step h3 { margin-bottom:13px; color:var(--white); }
.work-step p { margin:0; color:#c5d0d4; }
@media (max-width:900px) { .work-flow { grid-template-columns:1fr; } .work-step { min-height:0; padding:24px 24px 28px 82px; } .work-step-number { position:absolute; top:24px; left:24px; margin:0; } .work-step:not(:last-child)::after { top:auto; right:auto; bottom:-23px; left:41px; width:1px; height:23px; } .work-step:not(:last-child)::before { top:auto; right:auto; bottom:-23px; left:38px; transform:rotate(135deg); } }

/* Track Record: career arc and selected-work system */
.operator-timeline { margin:0; padding:0; list-style:none; }
.operator-entry { position:relative; display:grid; grid-template-columns:116px 62px minmax(0,1fr); gap:22px; min-height:158px; padding:0 0 32px; }
.operator-entry:not(:last-child) .operator-icon::after { position:absolute; top:44px; bottom:-32px; left:50%; width:1px; content:""; background:var(--line); }
.operator-date { padding-top:8px; color:var(--ink); font:800 clamp(22px,2.3vw,32px)/.78 Oswald,Impact,sans-serif; letter-spacing:-.03em; text-align:right; }
.operator-date span { color:#66808c; font-size:.58em; }
.operator-icon { position:relative; z-index:1; display:flex; width:44px; height:44px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:700 24px/1 "IBM Plex Sans",Arial,sans-serif; }
.operator-icon.icon-globe { background:var(--black); color:var(--white); }
.operator-icon.icon-team { background:var(--white); border:1px solid var(--black); }
.operator-icon.icon-route { background:#f2bb35; }
.operator-role { margin:3px 0 6px; color:#176a97; font:700 11px/1.35 "IBM Plex Sans",Arial,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.operator-entry h2 { margin-bottom:7px; font-size:clamp(31px,3.5vw,47px); text-transform:none; }
.operator-entry p:last-child { max-width:700px; margin-bottom:0; color:var(--grey); }
.selected-work { background:var(--white); }
.selected-work-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.selected-work-card { min-height:230px; padding:26px; border-top:6px solid var(--blue); background:var(--cloud); }
.selected-work-card:nth-child(2) { border-top-color:var(--black); }
.selected-work-card:nth-child(3) { border-top-color:#f2bb35; }
.selected-work-card:nth-child(4) { border-top-color:#1b4360; }
.work-icon { display:flex; width:38px; height:38px; margin-bottom:38px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:800 24px/1 Oswald,Impact,sans-serif; }
.selected-work-card:nth-child(2) .work-icon { color:var(--white); background:var(--black); }
.selected-work-card:nth-child(3) .work-icon { background:#f2bb35; }
.selected-work-card:nth-child(4) .work-icon { color:var(--white); background:#1b4360; }
.selected-work-card h3 { margin-bottom:10px; }
.selected-work-card p:last-child { margin-bottom:0; color:var(--grey); }
@media (max-width:1100px) and (min-width:901px) { .selected-work-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px) { .operator-entry { grid-template-columns:76px 46px minmax(0,1fr); gap:16px; min-height:0; padding-bottom:30px; } .operator-date { font-size:25px; } .operator-icon { width:38px; height:38px; font-size:20px; } .operator-entry:not(:last-child) .operator-icon::after { top:38px; bottom:-30px; } .selected-work-grid { grid-template-columns:1fr; } .selected-work-card { min-height:0; } }
@media (max-width:520px) { .operator-entry { grid-template-columns:62px 40px minmax(0,1fr); gap:12px; } .operator-date { font-size:22px; } .operator-icon { width:34px; height:34px; font-size:18px; } .operator-entry:not(:last-child) .operator-icon::after { top:34px; } .operator-entry h2 { font-size:31px; } .operator-role { font-size:10px; } }

/* Contact: booking-first layout using the existing Cal.com destination */
.booking-section { background:var(--white); }
.booking-grid { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:clamp(32px,6vw,80px); align-items:start; }
.booking-intro { padding-top:30px; }
.booking-intro h2 { max-width:400px; }
.booking-intro p { max-width:430px; color:var(--grey); }
.cal-embed-wrap { min-height:660px; border-top:7px solid var(--blue); background:var(--cloud); }
#ruttens-cal-inline { width:100%; min-height:653px; }
.contact-details { padding-top:0!important; background:var(--cloud); }
.compact-options { gap:12px; }
.compact-options .contact-option { min-height:190px; padding:23px; background:var(--white); }
.compact-options .contact-option h2 { margin-bottom:9px; font-size:clamp(27px,2.8vw,37px); }
.compact-options .contact-option p { margin-bottom:12px; }
@media (max-width:900px) { .booking-grid { grid-template-columns:1fr; gap:26px; } .booking-intro { padding-top:0; } .cal-embed-wrap { min-height:630px; } #ruttens-cal-inline { min-height:623px; } }
@media (max-width:520px) { .cal-embed-wrap { min-height:580px; margin:0 -2px; } #ruttens-cal-inline { min-height:573px; } .compact-options .contact-option { min-height:0; } }

/* Insights: an editorial index and public resource library */
.insights-hero .page-context { background:#f2bb35; }
.insight-video-section { background:var(--white); }
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.case-card { min-height:292px; padding:26px; border:1px solid var(--line); border-top:7px solid var(--blue); background:var(--cloud); }
.case-card:nth-child(2) { border-top-color:var(--black); }
.case-card:nth-child(3) { border-top-color:#f2bb35; }
.case-icon { display:flex; width:42px; height:42px; margin-bottom:48px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:600 11px/1 "IBM Plex Mono",monospace; }
.case-card:nth-child(2) .case-icon { color:var(--white); background:var(--black); }
.case-icon-amber { background:#f2bb35; }
.case-card h3 { margin-bottom:10px; }
.case-card p { max-width:310px; margin-bottom:0; color:var(--grey); }
.insights-articles { background:var(--mist); }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.article-card { display:flex; min-height:264px; padding:24px; flex-direction:column; border-top:7px solid var(--black); background:var(--white); }
.article-card-blue { border-top-color:var(--blue); }
.article-card-amber { border-top-color:#f2bb35; }
.article-number { margin-bottom:38px; color:#176a97; font:600 11px/1 "IBM Plex Mono",monospace; }
.article-card h3 { margin-bottom:10px; }
.article-card p { margin-bottom:22px; color:var(--grey); line-height:1.4; }
.article-card .text-link { margin-top:auto; }
.tools-section { color:var(--white); background:#111; }
.tools-section .support { color:#c5d0d4; }
.tools-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #3f4c50; border-left:1px solid #3f4c50; }
.tool-card { display:flex; min-height:260px; padding:24px; flex-direction:column; color:var(--white); border-right:1px solid #3f4c50; border-bottom:1px solid #3f4c50; text-decoration:none; }
.tool-card:hover { color:var(--black); background:var(--blue); }
.tool-card > span { display:flex; width:38px; height:38px; margin-bottom:40px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:800 19px/1 Oswald,Impact,sans-serif; }
.tool-card h3 { margin-bottom:10px; }
.tool-card p { margin-bottom:20px; color:#c5d0d4; line-height:1.4; }
.tool-card strong { margin-top:auto; font:600 11px/1.2 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.tool-card:hover p { color:#172429; }
.tool-card-dark { color:var(--white); background:#000; }
.tool-card-dark > span { color:var(--blue); background:var(--white); }
@media (max-width:900px) { .case-grid,.article-grid { grid-template-columns:1fr; } .case-card,.article-card { min-height:0; } .case-icon,.article-number { margin-bottom:28px; } .tools-grid { grid-template-columns:repeat(2,1fr); } .tool-card { min-height:220px; } .tool-card > span { margin-bottom:30px; } }
@media (max-width:520px) { .tools-grid { grid-template-columns:1fr; } }

/* Published-site footer adaptation and Insights closing CTA */
.insights-cta { padding:clamp(52px,7vw,76px) 0; color:var(--white); background:#123044; }
.insights-cta .simple-cta { align-items:center; }
.insights-cta h2 { max-width:660px; margin-bottom:10px; }
.insights-cta p:not(.eyebrow-light) { max-width:680px; margin-bottom:0; color:#cbd6da; font-size:18px; }
.insights-cta .button { max-width:255px; text-align:center; }
footer { padding:0; color:#c9d4d7; background:#000; font-size:15px; }
.footer-full { display:grid; grid-template-columns:1.55fr repeat(3,1fr); gap:clamp(26px,4vw,70px); padding:clamp(50px,7vw,82px) 0 52px; }
.footer-wordmark { display:inline-block; margin-bottom:18px; color:var(--white); font:800 47px/.85 Oswald,Impact,sans-serif; letter-spacing:-.045em; text-decoration:none; }
.footer-wordmark b { color:var(--blue); }
.footer-brand p { max-width:330px; margin:0; color:#aebbc1; font-size:16px; line-height:1.7; }
.footer-heading { margin:4px 0 18px; color:var(--white); font:700 17px/1 Oswald,Impact,sans-serif; letter-spacing:-.01em; text-transform:uppercase; }
.footer-links { margin:0; padding:0; list-style:none; }
.footer-links li+li { margin-top:12px; }
.footer-links a { color:#b8c5ca; text-decoration-color:#697b82; text-underline-offset:4px; }
.footer-links a:hover { color:var(--blue); }
.footer-legal { display:flex; justify-content:space-between; gap:20px; padding:20px 0 26px; border-top:1px solid #2d393d; color:#7d8b90; font-size:12px; }
@media (max-width:900px) { .footer-full { grid-template-columns:repeat(2,1fr); } .footer-brand { grid-column:1/-1; } }
@media (max-width:560px) { .insights-cta .simple-cta { gap:24px; } .insights-cta .button { max-width:none; width:100%; } .footer-full { grid-template-columns:1fr; gap:32px; padding:46px 0 38px; } .footer-brand { grid-column:auto; } .footer-legal { flex-direction:column; gap:5px; } }

/* Insights inline Cal.com booking */
.insights-booking { background:var(--cloud); }
.insights-booking-grid { display:grid; grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr); gap:clamp(32px,6vw,80px); align-items:start; }
.insights-booking-intro { padding-top:30px; }
.insights-booking-intro h2 { max-width:390px; }
.insights-booking-intro p { max-width:400px; color:var(--grey); }
.insights-cal-embed { min-height:660px; border-top:7px solid var(--blue); background:var(--white); }
#ruttens-insights-cal-inline { width:100%; min-height:653px; }
@media (max-width:900px) { .insights-booking-grid { grid-template-columns:1fr; gap:26px; } .insights-booking-intro { padding-top:0; } .insights-cal-embed { min-height:630px; } #ruttens-insights-cal-inline { min-height:623px; } }
@media (max-width:520px) { .insights-cal-embed { min-height:580px; margin:0 -2px; } #ruttens-insights-cal-inline { min-height:573px; } }

/* Published-layout adaptation: CMO CV page and Free Tools cards */
.tools-section { color:var(--ink); background:var(--white); }
.tools-section .eyebrow { color:#176a97; }
.tools-section .support { color:var(--grey); }
.tools-grid { grid-template-columns:repeat(2,1fr); gap:16px; border:0; }
.tool-card { min-height:254px; color:var(--ink); border:1px solid var(--line); background:var(--white); }
.tool-card:hover { color:var(--ink); border-color:var(--blue); background:var(--white); box-shadow:0 5px 22px rgba(0,0,0,.08); }
.tool-card > span { margin-bottom:32px; }
.tool-card p { color:var(--grey); }
.tool-card:hover p { color:var(--grey); }
.tool-card strong { color:#176a97; }
.tool-card-dark { color:var(--white); border-color:var(--black); background:var(--black); }
.tool-card-dark p { color:#c5d0d4; }
.tool-card-dark:hover { color:var(--white); border-color:var(--blue); background:var(--black); }
.tool-card-dark:hover p { color:#c5d0d4; }
.cmo-hero { padding:clamp(48px,7vw,90px) 0; color:var(--white); background:#123044; }
.cmo-hero-grid { display:grid; grid-template-columns:minmax(260px,.68fr) minmax(0,1.15fr); gap:clamp(34px,7vw,96px); align-items:center; }
.cmo-portrait { position:relative; min-height:380px; margin:0; overflow:hidden; background:var(--mist); }
.cmo-portrait img { display:block; width:100%; height:100%; min-height:380px; object-fit:cover; object-position:50% 14%; }
.cmo-portrait figcaption { position:absolute; right:0; bottom:0; left:0; display:block; padding:17px; color:var(--white); background:linear-gradient(transparent,rgba(0,0,0,.86)); font:800 25px/1 Oswald,Impact,sans-serif; text-transform:uppercase; }
.cmo-portrait figcaption span { display:block; margin-top:6px; color:var(--blue); font:600 10px/1.2 "IBM Plex Mono",monospace; letter-spacing:.08em; }
.cmo-hero h1 span { color:var(--blue); }
.cmo-cvs { background:var(--white); }
.cv-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cv-preview-card { display:flex; min-height:280px; padding:26px; flex-direction:column; border:1px solid var(--line); border-top:7px solid var(--blue); background:var(--cloud); }
.cv-preview-card:nth-child(2) { border-top-color:var(--black); }
.cv-preview-card:nth-child(3) { border-top-color:#f2bb35; }
.cv-preview-icon { display:flex; width:42px; height:42px; margin-bottom:42px; align-items:center; justify-content:center; color:var(--black); background:var(--blue); font:600 11px/1 "IBM Plex Mono",monospace; }
.cv-preview-card:nth-child(2) .cv-preview-icon { color:var(--white); background:var(--black); }
.cv-preview-card:nth-child(3) .cv-preview-icon { background:#f2bb35; }
.cv-preview-card h3 { margin-bottom:10px; }
.cv-preview-card p { margin-bottom:24px; color:var(--grey); }
.cv-preview-card .button { margin-top:auto; align-self:flex-start; }
.cmo-route { padding:clamp(52px,7vw,76px) 0; color:var(--white); background:#111; }
.cmo-route .simple-cta { align-items:center; }
.cmo-route p:not(.eyebrow-light) { max-width:640px; margin-bottom:0; color:#cbd6da; }
.cmo-contact { background:var(--mist); }
.cmo-contact .simple-cta { align-items:center; }
.cmo-contact p:not(.eyebrow) { max-width:600px; margin-bottom:0; color:var(--grey); }
@media (max-width:900px) { .cmo-hero-grid,.cv-preview-grid { grid-template-columns:1fr; } .cmo-portrait,.cmo-portrait img { min-height:300px; } .cv-preview-card { min-height:0; } }
@media (max-width:520px) { .tools-grid { grid-template-columns:1fr; } .cmo-portrait,.cmo-portrait img { min-height:255px; } }

/* Published Insights article mosaic */
.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; }
.published-mosaic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.mosaic-card { display:flex; min-height:388px; overflow:hidden; flex-direction:column; border:1px solid #e2e6ee; border-radius:16px; background:var(--white); box-shadow:0 8px 22px rgba(18,48,68,.08); }
.mosaic-image-link { display:block; line-height:0; }
.mosaic-image-link:focus-visible { outline:3px solid var(--blue); outline-offset:-3px; }
.mosaic-image-link img,.mosaic-card > img { display:block; width:100%; aspect-ratio:1.62/1; object-fit:cover; }
.mosaic-title { display:flex; width:100%; aspect-ratio:1.62/1; align-items:flex-end; padding:25px; }
.mosaic-title h3 { margin:0; font-size:clamp(28px,2.8vw,40px); text-transform:uppercase; }
.mosaic-title-dark { color:var(--white); background:#123044; }
.mosaic-title-amber { color:var(--black); background:#fbb124; }
.mosaic-body { display:flex; flex:1; padding:25px; flex-direction:column; }
.mosaic-body p { margin-bottom:22px; color:#334454; font-size:17px; line-height:1.55; }
.mosaic-body a { margin-top:auto; color:#168dca; font-weight:700; text-underline-offset:4px; }
.mosaic-card:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(18,48,68,.14); }
@media (max-width:900px) { .published-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } .mosaic-card { min-height:0; } }
@media (max-width:560px) { .published-mosaic { grid-template-columns:1fr; gap:16px; } .mosaic-body { padding:21px; } }

/* Contact: compact published-layout adaptation */
.contact-simple-hero { padding:clamp(46px,6vw,72px) 0; color:var(--white); background:#111; }
.contact-simple-hero h1 { margin-bottom:10px; font-size:clamp(42px,5.5vw,68px); }
.contact-simple-hero .lede { max-width:720px; color:#d0dadd; font-size:clamp(18px,2vw,21px); }
.contact-scroll { display:flex; width:44px; height:44px; margin-top:20px; align-items:center; justify-content:center; border:1px solid #176a97; border-radius:50%; color:var(--blue); font-size:24px; text-decoration:none; }
.contact-booking { background:var(--mist); }
.contact-booking-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.72fr); gap:clamp(26px,4vw,48px); align-items:start; }
.contact-calendar-card { padding:24px; border-radius:16px; background:var(--white); box-shadow:0 8px 24px rgba(18,48,68,.08); }
.contact-page .cal-embed-wrap { min-height:542px; border-top:4px solid var(--blue); background:var(--white); }
.contact-page #ruttens-cal-inline { min-height:535px; }
.contact-aside { display:grid; gap:16px; }
.contact-brief { padding:clamp(26px,3vw,38px); border-radius:16px; background:var(--white); box-shadow:0 8px 24px rgba(18,48,68,.07); }
.contact-brief h2 { margin-bottom:12px; font-size:clamp(32px,3.3vw,45px); text-transform:none; }
.contact-brief p:not(.eyebrow) { margin-bottom:25px; color:var(--grey); font-size:17px; }
.contact-channel-list { display:grid; gap:12px; }
.contact-channel { display:grid; gap:4px; padding:21px; border:1px solid #dce4e8; border-radius:8px; background:#f8fafb; text-decoration:none; }
.contact-channel strong { font-size:16px; }
.contact-channel span { color:var(--grey); }
.contact-note { padding:23px; border-left:5px solid #f2bb35; background:#fff8e6; }
.contact-note p:last-child { margin:0; color:#334454; }
@media (max-width:900px) { .contact-booking-grid { grid-template-columns:1fr; } .contact-page .cal-embed-wrap { min-height:590px; } .contact-page #ruttens-cal-inline { min-height:583px; } }
@media (max-width:520px) { .contact-calendar-card { padding:14px; border-radius:8px; } .contact-page .cal-embed-wrap { min-height:548px; } .contact-page #ruttens-cal-inline { min-height:541px; } .contact-brief { border-radius:8px; } }
