:root {
  --navy-950:#061f3e;
  --navy-900:#082a50;
  --navy-800:#0b3766;
  --blue-700:#0c4fb8;
  --blue-600:#1264d7;
  --blue-500:#2b78e4;
  --blue-100:#eaf3ff;
  --blue-050:#f5f9ff;
  --ink:#10213a;
  --muted:#53627a;
  --line:#d7e1ee;
  --line-strong:#bfcee0;
  --white:#fff;
  --max:1240px;
  --shadow-sm:0 7px 20px rgba(8,42,80,.07);
  --shadow:0 18px 46px rgba(8,42,80,.12);
  --radius:18px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}.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}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trait-row svg,.home-button svg,.home-location svg,.feature-case__copy a svg,.thinking-copy>a svg,.card-link svg{width:20px;height:20px;flex:0 0 auto}.help-panel svg{width:24px;height:24px}.work-card__top svg{width:42px;height:42px}.work-arrow svg{width:25px;height:25px}.capability-grid svg{width:42px;height:42px}.experience-icon svg{width:28px;height:28px}.experience-arrow{width:20px;height:20px}.metric-transition svg{width:30px;height:30px}.thinking-flow article>span svg{width:22px;height:22px}.cta-icon svg{width:38px;height:38px}

html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.55 "Segoe UI Variable","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.08;letter-spacing:-.035em}
.skip{position:absolute;left:-10000px;top:auto}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:1000}

/* Header */
.site-header{position:sticky;top:0;z-index:50;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(215,225,238,.85);transition:box-shadow .25s var(--ease),height .25s var(--ease)}
.site-header.scrolled{box-shadow:0 7px 24px rgba(8,42,80,.08);height:66px}
.brand{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:850;letter-spacing:.01em;color:var(--navy-950);white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:31px;height:31px;border:1.5px solid var(--blue-600);border-radius:50%;font-size:.7rem;color:var(--blue-700);font-weight:900;letter-spacing:-.04em;background:#fff}
.brand-mark.light{border-color:#84aee9;color:#fff;background:transparent}
.site-header nav{display:flex;align-items:center;gap:24px}
.site-header nav a{position:relative;color:#20324e;font-size:.82rem;font-weight:650;padding:24px 0 21px;white-space:nowrap}
.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;left:50%;right:50%;bottom:14px;height:2px;background:var(--blue-600);transition:left .2s var(--ease),right .2s var(--ease)}
.site-header nav a:not(.nav-cta):hover::after{left:0;right:0}
.site-header nav a:hover{color:var(--blue-700)}
.site-header .nav-cta{padding:9px 16px;border-radius:7px;background:linear-gradient(180deg,var(--blue-600),var(--blue-700));color:#fff;box-shadow:0 4px 10px rgba(12,79,184,.18)}
.menu-button{display:none;width:42px;height:38px;border:0;background:transparent;padding:8px;cursor:pointer}
.menu-button span{display:block;height:2px;background:var(--navy-900);margin:5px 0;border-radius:2px}

/* Shared homepage */
.home-kicker{margin:0 0 12px;color:var(--blue-700);font-size:.76rem;font-weight:900;letter-spacing:.115em;text-transform:uppercase}
.home-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 19px;border:1px solid var(--blue-600);border-radius:7px;font-weight:820;font-size:.94rem;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
.home-button:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(12,79,184,.17)}
.home-button.primary{background:linear-gradient(180deg,var(--blue-600),var(--blue-700));color:#fff}
.home-button.secondary{background:#fff;color:var(--blue-700)}
.home-button.light{background:#fff;color:var(--blue-700);border-color:#fff;min-width:205px}
.home-section{padding:54px max(24px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);position:relative}
.home-section--tint{background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%)}
.home-section__heading{text-align:center;margin:0 auto 28px}
.home-section__heading p{margin:0;color:var(--navy-900);font-size:1.13rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase}
.home-section__heading span{display:block;width:42px;height:2px;background:var(--blue-600);margin:9px auto 0;box-shadow:16px 0 0 rgba(18,100,215,.25)}
.home-section__heading.compact{margin-bottom:18px}
.home-section__heading.compact p{font-size:1.05rem}
.home-section__heading.light p{color:#fff}
.home-section__heading.light span{background:#77aaff;box-shadow:16px 0 0 rgba(255,255,255,.3)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .58s var(--ease),transform .58s var(--ease);transition-delay:var(--delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}

/* Hero */
.home-hero{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:330px minmax(0,1fr) 245px;gap:28px;align-items:center;padding:34px 24px 30px;min-height:550px}
.home-hero__photo{width:100%;aspect-ratio:4/5.15;border-radius:14px;background:url('../images/hero.webp') center 18%/cover no-repeat;border:1px solid var(--line-strong);box-shadow:var(--shadow);position:relative;overflow:hidden}
.home-hero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 80%,rgba(6,31,62,.08));pointer-events:auto}
.home-hero__copy h1{font-size:clamp(2.8rem,4.8vw,4.45rem);margin:0 0 8px;color:var(--navy-950);letter-spacing:-.055em}
.home-hero__copy h2{font-size:clamp(1.45rem,2.4vw,2.2rem);font-weight:620;color:var(--blue-700);margin:0 0 16px;letter-spacing:-.035em}
.home-lead{max-width:700px;color:#253850;font-size:1.05rem;line-height:1.65;margin-bottom:18px}
.trait-row{display:flex;flex-wrap:wrap;gap:13px 21px;margin:15px 0 22px;color:#1b3150;font-size:.78rem;font-weight:700}
.trait-row span{display:inline-flex;align-items:center;gap:6px}
.trait-row svg{color:var(--blue-700)}
.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:17px}
.home-location{display:flex;align-items:center;gap:8px;color:#31445f;font-size:.82rem;margin:0}
.home-location svg{color:var(--blue-700)}
.home-location span{display:inline-block;width:1px;height:15px;background:#a9b9cc;margin:0 5px}
.help-panel{align-self:stretch;background:linear-gradient(145deg,#f5f9ff,#edf4ff);border:1px solid #e0e9f5;border-radius:15px;padding:22px 18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center}
.help-panel h3{color:var(--blue-700);font-size:.96rem;margin:0 0 20px;letter-spacing:0}
.help-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:21px}
.help-panel li{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;color:#20334f;font-size:.85rem;line-height:1.35}
.help-panel svg{color:var(--blue-700);margin-top:1px}

/* How I work */
.work-steps{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:38px}
.work-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 22px 24px;min-height:230px;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.work-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.work-card__top{display:flex;align-items:center;gap:20px;margin-bottom:13px}
.work-card__top b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue-700);color:#fff;font-size:.8rem;flex:0 0 auto}
.work-card__top svg{color:var(--blue-700)}
.work-card h3{font-size:1.06rem;text-align:center;color:var(--navy-950);margin:0 0 9px;letter-spacing:-.015em}
.work-card p{font-size:.87rem;line-height:1.55;color:#31445e;text-align:center;margin:0}
.work-arrow{position:absolute;right:-32px;top:50%;transform:translateY(-50%);color:var(--blue-600);z-index:2}
.work-arrow::before{content:"";position:absolute;width:30px;border-top:2px dotted var(--blue-500);right:17px;top:11px;transform:translateY(-50%)}

/* Capabilities + experiences */
.dual-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;padding-top:0;padding-bottom:0}
.capability-panel,.experience-panel{padding:28px 30px 34px;border:1px solid var(--line);border-top:0}
.capability-panel{border-left:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;background:#fff}
.experience-panel{border-radius:0 10px 10px 0;background:#fff}
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 14px;padding:8px 5px 2px}
.capability-grid article{text-align:center;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.capability-grid svg{color:var(--blue-700)}
.capability-grid h3{font-size:.82rem;line-height:1.35;margin:0;color:var(--navy-950);letter-spacing:-.01em}
.experience-list{display:grid}
.experience-item{display:grid;grid-template-columns:46px 1fr 22px;gap:12px;align-items:start;padding:12px 4px;border-top:1px solid #e3eaf3;transition:background .18s var(--ease),padding .18s var(--ease)}
.experience-item:first-child{border-top:0}
.experience-item:hover{background:var(--blue-050);padding-left:10px;padding-right:9px}
.experience-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--blue-700);color:#fff}
.experience-item strong{display:block;color:var(--navy-950);font-size:.9rem;margin:0 0 3px}
.experience-item small{display:block;color:#40516a;font-size:.75rem;line-height:1.4}
.experience-arrow{align-self:center;color:var(--blue-700);opacity:.3;transition:opacity .18s,transform .18s}
.experience-item:hover .experience-arrow{opacity:1;transform:translateX(3px)}

/* Metrics */
.metric-band{padding:45px max(24px,calc((100vw - var(--max))/2)) 52px;background:linear-gradient(120deg,var(--navy-950),#0a4e91);color:#fff}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.16);border-radius:11px;overflow:hidden}
.metric{background:rgba(5,31,61,.42);padding:26px 22px;text-align:center;min-height:152px;display:flex;flex-direction:column;justify-content:center}
.metric-number,.metric-transition strong{display:block;font-size:clamp(2.5rem,4vw,4.3rem);line-height:1;color:#fff;font-weight:830;letter-spacing:-.055em}
.metric-transition{display:flex;align-items:center;justify-content:center;gap:8px;color:#94c1ff}
.metric p{font-size:.82rem;line-height:1.45;margin:12px auto 0;max-width:210px;color:#d7e8ff}

/* Case preview */
.case-preview{display:grid;grid-template-columns:330px 1fr;gap:38px;align-items:start;background:#fff}
.case-preview__intro{position:sticky;top:100px;padding:16px 0}
.case-preview__intro h2{font-size:2.4rem;color:var(--navy-950);margin:0 0 15px}
.case-preview__intro>p:not(.home-kicker){color:var(--muted);line-height:1.7;margin-bottom:22px}
.feature-case{grid-column:2;display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);margin-bottom:24px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.feature-case:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.feature-case.reverse .feature-case__image{order:2}
.feature-case__image{background:#f0f5fb;min-height:280px}
.feature-case__image img{width:100%;height:100%;object-fit:cover}
.feature-case__copy{padding:27px 28px;display:flex;flex-direction:column;justify-content:center}
.feature-case__copy>span{color:var(--blue-700);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.feature-case__copy h3{font-size:1.5rem;color:var(--navy-950);margin:9px 0 11px}
.feature-case__copy p{color:#46566c;font-size:.9rem;line-height:1.62}
.feature-case__copy a,.thinking-copy>a,.card-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue-700);font-weight:820;font-size:.86rem;margin-top:auto}

/* How I think */
.thinking-section{padding:62px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:350px 1fr;gap:50px;align-items:center;background:linear-gradient(140deg,#f5f9ff 0%,#eaf3ff 52%,#f9fbff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.thinking-copy h2{font-size:2.35rem;color:var(--navy-950);margin:0 0 15px}
.thinking-copy>p:not(.home-kicker){color:#45566d;line-height:1.72}
.thinking-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.thinking-flow article{position:relative;padding:20px 17px;min-height:195px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.thinking-flow article:last-child{border-right:0}
.thinking-flow b{font-size:.72rem;color:var(--blue-700);margin-bottom:23px}
.thinking-flow h3{font-size:1rem;color:var(--navy-950);margin:0 0 8px}
.thinking-flow p{font-size:.76rem;line-height:1.45;color:#53627a;margin:0}
.thinking-flow article>span{position:absolute;right:-12px;top:37px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue-700);z-index:2;border:1px solid var(--line)}

/* Lower row */
.lower-grid{display:grid;grid-template-columns:1fr .95fr 1.25fr;gap:0;padding-top:0;padding-bottom:0}
.lower-card{padding:27px 30px 32px;border:1px solid var(--line);border-top:0;background:#fff;min-height:345px}
.lower-card:first-child{border-radius:10px 0 0 10px}
.lower-card:last-child{border-radius:0 10px 10px 0}
.faq-card details{border-top:1px solid #dfe7f0}
.faq-card details:first-of-type{border-top:0}
.faq-card summary{display:flex;align-items:center;justify-content:space-between;padding:11px 4px;cursor:pointer;color:var(--navy-950);font-size:.78rem;font-weight:700;list-style:none}
.faq-card summary::-webkit-details-marker{display:none}
.faq-card summary::after{content:"+";color:var(--blue-700);font-size:1.05rem;font-weight:400}
.faq-card details[open] summary::after{content:"−"}
.faq-card details p{font-size:.76rem;line-height:1.5;color:#53627a;padding:0 5px 12px;margin:0}
.card-link{margin-top:15px}
.about-short>p{font-size:.83rem;line-height:1.65;color:#3c4d65}
.signature{font-family:"Segoe Script","Bradley Hand",cursive;color:var(--blue-700);font-size:1.65rem;transform:rotate(-4deg);margin-top:18px}
.role-pills{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.role-pills span{display:grid;place-items:center;min-height:36px;padding:7px 10px;border:1.3px solid var(--blue-500);border-radius:6px;color:var(--blue-700);font-size:.75rem;font-weight:760;text-align:center;background:#fff}

/* CTA */
.home-contact-cta{display:grid;grid-template-columns:auto 1fr auto;gap:23px;align-items:center;padding:24px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(90deg,#0a4fc2,#0c65d8 55%,#0b4cb4);color:#fff}
.cta-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--blue-700)}
.home-contact-cta h2{font-size:1.25rem;text-transform:uppercase;letter-spacing:.01em;margin:0 0 2px}
.home-contact-cta p{margin:0;color:#d9e8ff;font-size:.85rem}

/* Footer */
.site-footer{display:grid;grid-template-columns:1.2fr 1.6fr auto;gap:28px;align-items:center;padding:25px max(24px,calc((100vw - var(--max))/2));background:var(--navy-950);color:#d5e2f2}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand>div{display:flex;flex-direction:column}
.footer-brand strong{color:#fff;font-size:.95rem}
.footer-brand span:not(.brand-mark){font-size:.7rem;color:#aabed7}
.site-footer nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.site-footer nav a{font-size:.72rem;color:#d9e6f5}
.site-footer nav a:hover{color:#fff}
.site-footer>p{margin:0;font-size:.7rem;color:#99abc1;white-space:nowrap}


/* Generic interior section helpers */
.section{padding:72px max(24px,calc((100vw - var(--max))/2))}.pale{background:var(--blue-050)}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-heading h2{font-size:clamp(2rem,4vw,3.35rem);color:var(--navy-950)}.section-heading p:not(.eyebrow){color:var(--muted)}.lead{font-size:clamp(1.15rem,2vw,1.5rem);color:#2d465a}.center-link{text-align:center;margin-top:28px;color:var(--blue-700);font-weight:800}

/* Existing interior pages */
.page-hero{max-width:var(--max);margin:auto;padding:90px 24px 68px}.page-hero h1{font-size:clamp(2.7rem,6vw,5.5rem);color:var(--navy-950)}.page-hero p{max-width:800px;font-size:1.18rem;color:var(--muted)}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--blue-700);font-weight:850;font-size:.75rem;margin:0 0 12px}
.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{font-size:.76rem;padding:5px 9px;background:var(--blue-050);border:1px solid var(--line);border-radius:999px;color:var(--navy-900);font-weight:700}.tags.large span{font-size:.9rem;padding:8px 12px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 19px;border-radius:8px;font-weight:800;border:1px solid var(--blue-600)}.button.primary{background:var(--blue-600);color:white}.button.secondary{background:white;color:var(--blue-700)}.button.light{background:white;color:var(--navy-900);border-color:white}
.case-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:0 24px 70px}.case-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:.2s}.case-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.case-thumb{aspect-ratio:16/10;overflow:hidden;background:#dceaf4}.case-thumb img{width:100%;height:100%;object-fit:cover}.case-body{padding:22px}.case-body h3{color:var(--navy-900);margin-bottom:8px}.case-body p{color:var(--muted)}.text-link{display:block;margin-top:17px;color:var(--blue-700);font-weight:850}
.case-study{max-width:1050px;margin:auto;padding:80px 24px}.case-study-header{max-width:860px;margin-bottom:38px}.case-study-header h1{font-size:clamp(2.7rem,6vw,5.5rem);color:var(--navy-950)}.case-hero-image img,.story-sequence img{width:100%;border-radius:18px;border:1px solid var(--line)}figure{margin:0 0 35px}figcaption{font-size:.8rem;color:var(--muted);margin-top:8px}.story-sequence{display:grid;gap:28px;margin:45px 0}.case-narrative{margin-top:50px;border-top:1px solid var(--line)}.case-narrative section{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:32px 0;border-bottom:1px solid var(--line)}.case-narrative section>span{color:var(--blue-700);font-weight:850}.case-narrative section>div{max-width:780px}.case-narrative li{margin-bottom:8px}.case-narrative .lesson{background:var(--blue-050);padding:32px;border:none;border-radius:var(--radius);margin-top:35px}.case-nav{display:flex;justify-content:space-between;margin-top:50px;color:var(--blue-700);font-weight:800}
.thinking-flow-page{max-width:1000px;margin:auto;padding:20px 24px 80px}.thinking-flow-page article{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:32px 0;border-top:1px solid var(--line)}.thinking-flow-page span{color:var(--blue-700);font-weight:850}.application-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.application-grid article{border:1px solid var(--line);border-radius:var(--radius);padding:25px;background:white}
.about-hero{max-width:var(--max);margin:auto;display:grid;grid-template-columns:380px 1fr;gap:70px;align-items:center;padding:80px 24px}.about-portrait{height:540px;border-radius:28px;background:url('../images/about.webp') center top/cover no-repeat;box-shadow:var(--shadow);position:relative}.about-section{max-width:var(--max);margin:auto;padding:80px 24px;border-top:1px solid var(--line)}.about-section.text-only{max-width:900px}.about-section.media-left,.about-section.media-right{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-section img{border-radius:22px;box-shadow:var(--shadow)}.internet{display:grid;gap:35px}.internet-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.internet-gallery img{width:100%;height:100%;object-fit:cover}.closing{text-align:center;max-width:880px}
.resume-head{padding-bottom:45px}.resume-section{max-width:1050px;margin:auto;padding:35px 24px;border-top:1px solid var(--line)}.resume-section.split{display:grid;grid-template-columns:1fr 1fr;gap:50px}.resume-timeline article{display:grid;grid-template-columns:160px 1fr;gap:35px;padding:27px 0;border-top:1px solid var(--line)}.resume-timeline .org{color:var(--blue-700);font-weight:750}
.contact-page{max-width:1100px;margin:auto;padding:80px 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-note{background:var(--blue-050);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:28px}.contact-form{display:grid;gap:16px;padding:27px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.contact-form label{display:grid;gap:6px;font-weight:700;color:var(--navy-900)}input,textarea{width:100%;padding:12px;border:1px solid #abc3d4;border-radius:8px;font:inherit}fieldset{border:1px solid var(--line);border-radius:10px;padding:15px}legend{font-weight:800;color:var(--navy-900)}.check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;color:var(--ink)!important;margin:8px 0}.check input{width:auto;margin-top:5px}.contact-form button{min-height:48px;background:var(--blue-600);border:0;color:#fff;font:inherit;font-weight:850;border-radius:9px}.honeypot{display:none}

/* Responsive */
@media (max-width:1120px){
  .site-header nav{gap:15px}.site-header nav a{font-size:.76rem}
  .home-hero{grid-template-columns:285px 1fr;gap:28px}.help-panel{grid-column:1/-1;display:block;padding:18px 22px}.help-panel ul{grid-template-columns:repeat(5,1fr);gap:15px}.help-panel li{grid-template-columns:28px 1fr;font-size:.76rem}
  .work-steps{gap:25px}.work-arrow{right:-24px}
  .dual-panel{grid-template-columns:1fr}.capability-panel{border-right:1px solid var(--line);border-radius:10px 10px 0 0}.experience-panel{border-radius:0 0 10px 10px}
  .capability-grid{grid-template-columns:repeat(3,1fr)}
  .case-preview{grid-template-columns:1fr}.case-preview__intro{position:static;max-width:750px}.feature-case{grid-column:1}
  .thinking-section{grid-template-columns:1fr}.thinking-copy{max-width:760px}
  .lower-grid{grid-template-columns:1fr 1fr}.roles-card{grid-column:1/-1;border-radius:0 0 10px 10px}.lower-card:first-child{border-radius:10px 0 0 0}.lower-card:nth-child(2){border-radius:0 10px 0 0}
  .site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}.site-footer>p{justify-self:start}
}

@media (max-width:820px){
  html{scroll-padding-top:70px}
  .site-header{height:66px;padding:0 20px}.site-header.scrolled{height:62px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 25px rgba(8,42,80,.09);padding:12px 20px 20px;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a,.site-header nav .nav-cta{padding:12px 4px;background:transparent;color:var(--navy-900);border-radius:0;box-shadow:none;border-bottom:1px solid #edf2f7}.site-header nav a::after{display:none}
  .home-hero{grid-template-columns:230px 1fr;padding-top:28px}.home-hero__copy h1{font-size:2.8rem}.home-hero__copy h2{font-size:1.45rem}.home-lead{font-size:.95rem}.trait-row{gap:10px 15px}.help-panel ul{grid-template-columns:repeat(2,1fr)}
  .work-steps{grid-template-columns:repeat(2,1fr);gap:20px}.work-arrow{display:none}
  .metric-grid{grid-template-columns:repeat(2,1fr)}
  .feature-case,.feature-case.reverse{grid-template-columns:1fr}.feature-case.reverse .feature-case__image{order:0}.feature-case__image{min-height:auto;aspect-ratio:16/9}
  .thinking-flow{grid-template-columns:1fr}.thinking-flow article{min-height:auto;border-right:0;border-bottom:1px solid var(--line);padding:18px 20px}.thinking-flow article:last-child{border-bottom:0}.thinking-flow article>span{display:none}.thinking-flow b{margin-bottom:8px}
  .home-contact-cta{grid-template-columns:auto 1fr}.home-contact-cta .home-button{grid-column:1/-1;width:100%}
  .case-grid{grid-template-columns:repeat(2,1fr)}
  .about-hero,.about-section.media-left,.about-section.media-right,.resume-section.split,.contact-page{grid-template-columns:1fr}
  .about-section.media-right img{order:-1}.about-portrait{max-width:360px;width:100%;margin:auto}
}

@media (max-width:620px){
  .brand{font-size:.82rem}.brand-mark{width:29px;height:29px}
  .home-section{padding-left:18px;padding-right:18px}
  .home-hero{grid-template-columns:1fr;padding:22px 18px 26px;gap:22px}.home-hero__photo{max-width:315px;margin:auto;aspect-ratio:4/5}.home-hero__copy h1{font-size:2.55rem}.home-hero__copy h2{font-size:1.35rem}.home-kicker{font-size:.68rem}.trait-row{display:grid;grid-template-columns:1fr 1fr}.home-actions{display:grid;grid-template-columns:1fr 1fr}.home-button{padding:11px 12px;font-size:.83rem}.home-location{align-items:flex-start;flex-wrap:wrap}.home-location span{display:none}.help-panel{grid-column:auto}.help-panel ul{grid-template-columns:1fr}
  .work-steps{grid-template-columns:1fr}.work-card{min-height:auto}.work-card h3,.work-card p{text-align:left}.work-card__top{justify-content:flex-start}
  .capability-panel,.experience-panel{padding:24px 18px}.capability-grid{grid-template-columns:repeat(2,1fr);gap:17px 8px}.experience-item{grid-template-columns:42px 1fr}.experience-arrow{display:none}
  .metric-band{padding-left:18px;padding-right:18px}.metric-grid{grid-template-columns:1fr}.metric{min-height:130px}
  .case-preview{padding-left:18px;padding-right:18px}.case-preview__intro h2,.thinking-copy h2{font-size:2rem}.feature-case__copy{padding:22px}.feature-case__copy h3{font-size:1.28rem}
  .thinking-section{padding-left:18px;padding-right:18px}
  .lower-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.lower-card,.lower-card:first-child,.lower-card:nth-child(2),.lower-card:last-child,.roles-card{grid-column:auto;border-radius:0}.lower-card:first-child{border-radius:10px 10px 0 0}.lower-card:last-child{border-radius:0 0 10px 10px}.role-pills{grid-template-columns:1fr}
  .home-contact-cta{padding-left:18px;padding-right:18px}.cta-icon{width:50px;height:50px}.home-contact-cta h2{font-size:1.03rem}
  .site-footer{padding-left:18px;padding-right:18px}.site-footer nav{display:grid;grid-template-columns:repeat(2,1fr)}
  .case-grid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.case-study,.page-hero,.contact-page,.resume-section,.about-section,.about-hero{padding-left:18px;padding-right:18px}.case-narrative section,.resume-timeline article{grid-template-columns:1fr}.case-nav{flex-direction:column;gap:14px}.internet-gallery{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.work-card,.feature-case,.experience-item,.home-button{transition:none}}


/* ---------- Shared interior-page design system ---------- */
.site-header nav a.active:not(.nav-cta)::after{left:0;right:0}.site-header nav a.active{color:var(--blue-700)}
.interior-main{min-height:70vh}.interior-hero{padding:68px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(180deg,#fff 0%,#f3f8ff 100%);border-bottom:1px solid var(--line)}
.interior-hero__grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:58px;align-items:center}
.interior-hero h1{font-size:clamp(2.7rem,5.4vw,5.1rem);color:var(--navy-950);max-width:900px;margin-bottom:18px}.interior-hero .lead{max-width:760px;font-size:1.12rem;line-height:1.68;color:#344b68}.hero-note{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.hero-note span{border:1px solid var(--line-strong);background:#fff;color:var(--navy-900);font-weight:760;font-size:.78rem;padding:7px 10px;border-radius:999px}
.visual-panel{background:linear-gradient(145deg,#fff,#edf5ff);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:26px}.visual-panel h2{font-size:1rem;letter-spacing:.01em;text-transform:uppercase;text-align:center;margin:0 0 18px;color:var(--navy-900)}
.logic-stack{display:grid;gap:10px}.logic-stack article{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:10px}.logic-stack b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue-700);color:#fff;font-size:.72rem}.logic-stack strong{display:block;font-size:.87rem;color:var(--navy-950)}.logic-stack small{display:block;color:var(--muted);font-size:.72rem}.logic-stack svg{width:19px;height:19px;color:var(--blue-600)}
.content-band{padding:60px max(24px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line)}.content-band.tint{background:linear-gradient(180deg,#f7faff,#eef5ff)}.content-band.navy{background:linear-gradient(120deg,var(--navy-950),#0b4f95);color:#fff}.content-band__inner{max-width:var(--max);margin:auto}.content-heading{max-width:760px;margin-bottom:30px}.content-heading.center{text-align:center;margin-left:auto;margin-right:auto}.content-heading h2{font-size:clamp(2rem,4vw,3.15rem);color:var(--navy-950);margin-bottom:12px}.navy .content-heading h2{color:#fff}.content-heading p{color:var(--muted);font-size:1.03rem}.navy .content-heading p{color:#d5e6fa}
.process-five{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.process-five article{position:relative;padding:24px 20px;min-height:210px;border-right:1px solid var(--line)}.process-five article:last-child{border-right:0}.process-five b{color:var(--blue-600);font-size:.72rem}.process-five h3{font-size:1.02rem;margin:16px 0 9px;color:var(--navy-950)}.process-five p{font-size:.82rem;color:#42546b;margin:0}.process-five article>svg{position:absolute;right:-11px;top:50%;z-index:2;width:22px;height:22px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:50%;color:var(--blue-600)}.process-five article:last-child>svg{display:none}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:28px;box-shadow:var(--shadow-sm)}.compare-card h3{font-size:1.45rem;color:var(--navy-950);margin-bottom:8px}.compare-card>p{color:var(--muted)}.compare-card ul{padding:0;margin:20px 0 0;list-style:none}.compare-card li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:.9rem}.compare-card li svg{width:20px;height:20px;color:var(--blue-600)}
.judgment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.judgment-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.judgment-card svg{width:34px;height:34px;color:var(--blue-600);margin-bottom:16px}.judgment-card h3{font-size:1rem;color:var(--navy-950);margin-bottom:8px}.judgment-card p{font-size:.86rem;color:var(--muted);margin:0}
.application-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.application-cards article{padding:24px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:14px}.application-cards svg{width:32px;height:32px;color:#91bbff;margin-bottom:16px}.application-cards h3{font-size:1rem;color:#fff}.application-cards p{font-size:.86rem;color:#d6e7fb;margin:0}
.page-cta{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.page-cta h2{font-size:1.45rem;color:var(--navy-950);margin-bottom:6px}.page-cta p{color:var(--muted);margin:0}

/* FAQ */
.faq-hero-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.snapshot-card{padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px}.snapshot-card svg{width:27px;height:27px;color:var(--blue-600);margin-bottom:10px}.snapshot-card strong{display:block;color:var(--navy-950);font-size:.86rem}.snapshot-card span{display:block;color:var(--muted);font-size:.74rem;margin-top:3px}
.faq-layout{display:grid;grid-template-columns:245px 1fr;gap:34px;align-items:start}.faq-index{position:sticky;top:90px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.faq-index strong{display:block;color:var(--navy-950);margin-bottom:10px}.faq-index a{display:block;padding:9px 0;border-top:1px solid var(--line);font-size:.82rem;color:var(--blue-700);font-weight:700}.faq-group{margin-bottom:35px}.faq-group h2{font-size:1.7rem;color:var(--navy-950);margin-bottom:14px}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.faq-list summary{cursor:pointer;list-style:none;padding:18px 20px;font-weight:780;color:var(--navy-950);position:relative;padding-right:52px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:20px;top:14px;font-size:1.45rem;color:var(--blue-600)}.faq-list details[open] summary::after{content:'–'}.faq-list details[open] summary{border-bottom:1px solid var(--line);background:var(--blue-050)}.faq-list details>div{padding:18px 20px;color:#43556d;font-size:.93rem}.faq-list details p:last-child{margin-bottom:0}

/* Out of the Office */
.ooo-hero .interior-hero__grid{grid-template-columns:360px minmax(0,1fr)}.ooo-portrait{aspect-ratio:4/5;border-radius:17px;background:url('../images/about.webp') center 12%/cover no-repeat;border:1px solid var(--line);box-shadow:var(--shadow)}.personal-intro h1{font-size:clamp(2.8rem,5.4vw,5rem)}.personal-intro .signature{font-size:2.1rem;margin-top:26px}
.editorial-story{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.editorial-story.reverse .story-media{order:2}.story-media{position:relative}.story-media img{width:100%;border-radius:17px;border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:5/4;object-fit:cover}.story-copy .eyebrow{margin-bottom:10px}.story-copy h2{font-size:clamp(2rem,4vw,3.1rem);color:var(--navy-950);margin-bottom:16px}.story-copy p{color:#43556d;font-size:1rem}.story-copy .value-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.value-line span{font-size:.76rem;font-weight:760;color:var(--blue-700);border:1px solid var(--line-strong);background:#fff;padding:7px 10px;border-radius:999px}
.internet-gallery-large{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.internet-gallery-large figure{margin:0}.internet-gallery-large img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(255,255,255,.18);border-radius:13px}.internet-gallery-large figcaption{color:#d4e5f8;font-size:.78rem;margin-top:8px}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.value-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}.value-card svg{width:34px;height:34px;color:var(--blue-600);margin-bottom:14px}.value-card h3{font-size:1rem;color:var(--navy-950);margin-bottom:7px}.value-card p{font-size:.85rem;color:var(--muted);margin:0}

@media(max-width:1000px){.interior-hero__grid,.ooo-hero .interior-hero__grid{grid-template-columns:1fr}.visual-panel{max-width:720px}.process-five{grid-template-columns:1fr 1fr}.process-five article{border-bottom:1px solid var(--line)}.process-five article>svg{display:none}.judgment-grid,.application-cards,.values-grid{grid-template-columns:1fr 1fr}.faq-layout{grid-template-columns:1fr}.faq-index{position:static;display:flex;gap:16px;flex-wrap:wrap}.faq-index strong{width:100%}.faq-index a{border:0;padding:0}.editorial-story{gap:32px}}
@media(max-width:700px){.interior-hero,.content-band{padding-left:18px;padding-right:18px}.interior-hero{padding-top:44px;padding-bottom:44px}.interior-hero h1{font-size:2.65rem}.process-five,.compare-grid,.judgment-grid,.application-cards,.values-grid,.editorial-story,.faq-hero-panel{grid-template-columns:1fr}.process-five article{min-height:auto;border-right:0}.editorial-story.reverse .story-media{order:0}.page-cta{grid-template-columns:1fr}.page-cta .home-button{width:100%}.ooo-portrait{max-width:330px}.internet-gallery-large{grid-template-columns:1fr}.story-media img{aspect-ratio:16/10}}


/* ---------- Case-study content review pages ---------- */
.case-breadcrumb{display:flex;align-items:center;gap:9px;margin:0 0 30px;color:var(--muted);font-size:.8rem;font-weight:700}.case-breadcrumb a{color:var(--blue-700)}.case-breadcrumb span{color:#9eb0c3}.case-study-header .tags{margin-top:22px}.case-index-hero{padding-bottom:44px}.case-index-actions{margin-top:24px}.case-card .eyebrow{font-size:.68rem;line-height:1.45;margin-bottom:10px}.case-card .tags{margin-top:16px}.case-card h3 a:hover{color:var(--blue-700)}.case-narrative h2{font-size:1.55rem;color:var(--navy-950);margin-bottom:12px}.case-narrative p,.case-narrative li{color:#40536b;line-height:1.7}.case-narrative ul{margin:0;padding-left:20px}.case-nav--three{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.case-nav--three a:nth-child(2){text-align:center}.case-nav--three a:last-child{text-align:right}.story-sequence figure{padding:18px;background:#f7faff;border:1px solid var(--line);border-radius:18px}.story-sequence figure img{box-shadow:var(--shadow-sm)}
@media(max-width:700px){.case-nav--three{grid-template-columns:1fr}.case-nav--three a:nth-child(2),.case-nav--three a:last-child{text-align:left}.case-study-header .tags.large span{font-size:.76rem}.case-study{padding-top:48px}}

/* Checkpoint 03: image fidelity, adaptable quality, AI case study, and web resume */
.story-media--portrait{display:flex;justify-content:center}.story-media--portrait img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none;background:#fff}.internet-gallery-large{grid-template-columns:1fr;max-width:1000px;margin:34px auto 0;gap:34px}.internet-gallery-large figure{padding:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:17px}.internet-gallery-large img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#fff}.internet-gallery-large figcaption a{color:#b9d6ff;text-decoration:underline;text-underline-offset:3px}.full-image-link{display:block}.thinking-principle{grid-column:1/-1;margin-top:28px;padding:22px 24px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08)}.thinking-principle strong{display:block;font-size:1.05rem;margin-bottom:6px}.thinking-principle p{margin:0 0 10px;color:#dceaff}.thinking-principle a{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800}.thinking-principle svg{width:18px;height:18px}.adaptable-quality article{background:#fff}.resume-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.resume-snapshot .snapshot-stack{display:grid;gap:10px}.resume-snapshot .snapshot-stack span{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy-900);font-weight:760}.resume-strength-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.resume-strength{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.resume-strength h3{font-size:1rem;color:var(--navy-950);margin-bottom:7px}.resume-strength p{color:#43556d;margin:0}.resume-evidence{columns:2;column-gap:48px;padding-left:20px}.resume-evidence li{break-inside:avoid;margin-bottom:13px;color:#40536b;line-height:1.65}.resume-timeline article{grid-template-columns:150px 1fr}.resume-meta strong,.resume-meta span{display:block}.resume-meta strong{color:var(--blue-700)}.resume-meta span{color:var(--muted);font-size:.83rem;margin-top:4px}.resume-timeline h3{color:var(--navy-950);font-size:1.35rem;margin-bottom:4px}.resume-timeline .org{margin:0 0 2px}.role-context{font-style:italic;color:var(--muted);font-size:.9rem}.resume-timeline li{margin-bottom:8px;color:#40536b;line-height:1.6}.resume-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.tool-line,.language-line{color:#40536b;line-height:1.8}.education-list{padding-left:18px}.education-list li{margin-bottom:10px;color:#40536b}.language-label{margin-top:30px}.case-thumb img[src$=".svg"],.case-hero-image img[src$=".svg"]{background:#eef6ff}.case-card{display:flex;flex-direction:column}.case-card .case-body{flex:1;display:flex;flex-direction:column}.case-card .text-link{margin-top:auto;padding-top:17px}
@media(max-width:820px){.resume-strength-grid,.resume-footer-grid{grid-template-columns:1fr}.resume-evidence{columns:1}.resume-actions .home-button{width:100%;justify-content:center}.story-media--portrait img{max-width:520px}}
.adaptable-quality svg{color:var(--blue-600)}.adaptable-quality h3{color:var(--navy-950)}.adaptable-quality p{color:var(--muted)}

/* Checkpoint 04: content expansion, constraints, communication, image cleanup */
.work-arrow{display:none!important}
.home-thinking{background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%)}
.home-thinking__intro{max-width:880px;margin:0 auto 30px;text-align:center}
.home-thinking__intro h2{font-size:clamp(1.9rem,3.5vw,2.75rem);color:var(--navy-950);margin:0 0 14px}
.home-thinking__intro p{max-width:820px;margin:0 auto;color:#43566f;line-height:1.72}
.thinking-steps{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.thinking-steps .work-card{min-height:245px}
.home-thinking__footer{max-width:920px;margin:30px auto 0;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow-sm)}
.home-thinking__footer p{margin:0;color:#344b67;line-height:1.65}
.home-thinking__footer a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--blue-700);font-weight:820}
.home-thinking__footer svg{width:19px;height:19px}

.process-six{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.process-six article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm)}
.process-six b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--blue-700);color:#fff;font-size:.72rem;margin-bottom:17px}
.process-six h3{font-size:1.03rem;color:var(--navy-950);margin:0 0 9px}
.process-six p{font-size:.86rem;line-height:1.58;color:#465a72;margin:0}
.judgment-grid{grid-template-columns:repeat(3,1fr)}
.logic-stack article{grid-template-columns:38px minmax(0,1fr) auto}
.logic-stack strong{line-height:1.25}

.story-sequence figure{padding:0;background:transparent;border:0;border-radius:0}
.story-sequence figure img{border:0;box-shadow:none;border-radius:18px}
.case-study figcaption{display:none}
.internet-gallery-large figcaption{font-size:.92rem;line-height:1.62;color:#deebfa;margin-top:12px}
.internet-gallery-large figcaption a{display:inline-block;margin-left:4px}
.case-body>p{line-height:1.62}
.case-narrative p,.case-narrative li{font-size:.98rem}
.case-study-header .lead{line-height:1.72}
.case-hero-image img[src$=".svg"]{display:block;border:1px solid #c6d9ef;background:#eaf4ff}

@media(max-width:1000px){
  .thinking-steps{grid-template-columns:repeat(2,1fr)}
  .process-six{grid-template-columns:repeat(2,1fr)}
  .judgment-grid{grid-template-columns:repeat(2,1fr)}
  .home-thinking__footer{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .thinking-steps,.process-six,.judgment-grid{grid-template-columns:1fr}
  .thinking-steps .work-card{min-height:auto}
  .home-thinking__footer{padding:18px}
  .home-thinking__footer a{white-space:normal}
}

/* Checkpoint 05: preserve the full AI website case-study diagram in card previews */
.case-thumb img[src$="ai-assisted-professional-website.png"]{object-fit:contain;background:#eaf4ff}


/* Checkpoint 06: two-column case-study image and narrative layouts */
.case-split-layout{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);
  gap:48px;
  align-items:start;
  margin-top:44px;
}
.case-media-column{
  min-width:0;
  position:relative;
}
.image-interaction-note{
  margin:0 0 16px;
  padding:12px 14px;
  border-left:3px solid var(--blue-700);
  background:var(--blue-050);
  color:#40536b;
  font-size:.82rem;
  line-height:1.5;
  font-weight:700;
}
.story-sequence--compact{
  display:grid;
  gap:22px;
  margin:0;
}
.story-sequence--compact .zoomable-figure{
  position:relative;
  z-index:1;
  margin:0;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
  overflow:visible;
}
.story-sequence--compact .zoomable-figure a{
  display:block;
  position:relative;
  border-radius:14px;
  outline-offset:5px;
}
.story-sequence--compact .zoomable-figure img{
  display:block;
  width:100%;
  height:auto;
  border:0;
  border-radius:14px;
  box-shadow:var(--shadow-sm);
  transition:transform .24s ease, box-shadow .24s ease;
  transform-origin:left center;
}
.case-narrative--side{
  margin-top:0;
}
.case-narrative--side section{
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  padding:27px 0;
}
.case-narrative--side section:first-child{
  padding-top:0;
}
.case-narrative--side section>div{
  max-width:none;
}
@media (hover:hover) and (pointer:fine){
  .story-sequence--compact .zoomable-figure:hover{
    z-index:30;
  }
  .story-sequence--compact .zoomable-figure:hover img{
    transform:scale(1.58);
    box-shadow:0 24px 58px rgba(8,42,80,.28);
  }
}
@media(max-width:860px){
  .case-split-layout{
    grid-template-columns:1fr;
    gap:38px;
  }
  .story-sequence--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .case-narrative--side section:first-child{
    padding-top:32px;
  }
}
@media(max-width:560px){
  .story-sequence--compact{
    grid-template-columns:1fr;
  }
  .case-narrative--side section{
    grid-template-columns:1fr;
  }
}
@media(prefers-reduced-motion:reduce){
  .story-sequence--compact .zoomable-figure img{
    transition:none;
  }
}


/* Checkpoint 09: coordinated How I Work and How I Think content */
.home-framework-intro{max-width:920px;margin:0 auto 30px;text-align:center}
.home-framework-intro h2{font-size:clamp(1.9rem,3.5vw,2.75rem);color:var(--navy-950);margin:0 0 14px}
.home-framework-intro p{max-width:880px;margin:0 auto;color:#43566f;line-height:1.72}
.work-steps--six{grid-template-columns:repeat(3,1fr);gap:24px}
.work-steps--six .work-card{min-height:245px}
.home-framework-footer{max-width:940px;margin:30px auto 0;padding:20px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow-sm)}
.home-framework-footer p{margin:0;color:#344b67;line-height:1.65}
.home-framework-footer a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:var(--blue-700);font-weight:820}
.home-framework-footer svg{width:19px;height:19px}
.framework-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.framework-table{width:100%;border-collapse:collapse;min-width:760px}
.framework-table th{padding:14px 16px;text-align:left;background:var(--navy-900);color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.framework-table td{padding:17px 16px;border-top:1px solid var(--line);vertical-align:top;color:#40536b;line-height:1.55;font-size:.91rem}
.framework-table tbody tr:nth-child(even){background:#f6f9fd}
.framework-table td:first-child{width:70px;color:var(--blue-700)}
.framework-table td:nth-child(2){width:31%;color:var(--navy-950)}
.process-six--detailed article{min-height:100%;padding:27px}
.process-six--detailed h3{font-size:1.08rem;line-height:1.35}
.process-six--detailed p{font-size:.91rem;line-height:1.68}
.judgment-grid--four{grid-template-columns:repeat(4,1fr)}
.application-cards--six{grid-template-columns:repeat(3,1fr)}
.page-cta--dual{grid-template-columns:minmax(0,1fr) auto}
.page-cta__actions{display:flex;flex-direction:column;gap:10px;min-width:245px}
.page-cta__actions .home-button{justify-content:center}
@media(max-width:1000px){
  .work-steps--six{grid-template-columns:repeat(2,1fr)}
  .judgment-grid--four{grid-template-columns:repeat(2,1fr)}
  .application-cards--six{grid-template-columns:repeat(2,1fr)}
  .home-framework-footer{align-items:flex-start;flex-direction:column}
  .page-cta--dual{grid-template-columns:1fr}
  .page-cta__actions{min-width:0;flex-direction:row;flex-wrap:wrap}
}
@media(max-width:700px){
  .work-steps--six,.judgment-grid--four,.application-cards--six{grid-template-columns:1fr}
  .work-steps--six .work-card{min-height:auto}
  .home-framework-footer{padding:18px}
  .home-framework-footer a{white-space:normal}
  .page-cta__actions{display:grid;grid-template-columns:1fr}
  .page-cta__actions .home-button{width:100%}
}


/* Checkpoint 10: production contact and confirmation pages */
.contact-hero{padding-bottom:28px}
.contact-page{padding-top:34px;padding-bottom:90px}
.contact-copy h2{font-size:clamp(1.8rem,3vw,2.5rem);color:var(--navy-950);margin:0 0 14px}
.contact-copy>p{color:var(--muted);font-size:1.03rem;line-height:1.7}
.contact-note h3{margin:0 0 7px;color:var(--navy-900);font-size:1rem}
.contact-note p{margin:0;color:#43566f;line-height:1.62}
.contact-note a{color:var(--blue-700);font-weight:780}
.solicitation-note{border-left:4px solid var(--blue-600)}
.contact-form{align-self:start;background:#fff}
.contact-form label>span[aria-hidden="true"],.contact-form legend>span[aria-hidden="true"]{color:#a82626}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(12,101,216,.2);border-color:var(--blue-600)}
.contact-form input:user-invalid,.contact-form textarea:user-invalid{border-color:#a82626}
.contact-form textarea{resize:vertical;min-height:170px}
.contact-form .optional{font-size:.76rem;color:var(--muted);font-weight:600;margin-left:5px}
.inquiry-options{margin:0}
.field-help{margin:0 0 9px;color:var(--muted);font-size:.85rem}
.check span{display:block;line-height:1.45}
.check small{display:inline-block;color:var(--muted);font-size:.78rem;margin-left:5px}
.field-error{margin:10px 0 0;color:#9d1f1f;font-size:.86rem;font-weight:750}
.inquiry-options.has-error{border-color:#a82626;box-shadow:0 0 0 2px rgba(168,38,38,.1)}
.privacy-note{margin:0;padding:13px 15px;background:var(--blue-050);border-radius:8px;color:#43566f;font-size:.82rem;line-height:1.55}
.required-note{margin:0;text-align:right;color:var(--muted);font-size:.76rem}
.contact-form button{cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
.contact-form button:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(12,79,184,.17);background:#0a55bd}
.contact-form button:focus-visible{outline:3px solid rgba(12,101,216,.32);outline-offset:3px}
.thank-you-main{min-height:calc(100vh - 190px);display:grid;place-items:center;padding:80px 24px;background:linear-gradient(180deg,#f8fbff,#eef5ff)}
.thank-you-card{width:min(760px,100%);text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:52px 46px}
.thank-you-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--blue-050);color:var(--blue-700)}
.thank-you-icon svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.thank-you-card h1{font-size:clamp(2.3rem,5vw,4.2rem);color:var(--navy-950);margin:0 0 18px}
.thank-you-card>p:not(.eyebrow){max-width:620px;margin:0 auto 12px;color:var(--muted);font-size:1.04rem;line-height:1.68}
.thank-you-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
@media(max-width:560px){
  .contact-form{padding:21px 18px}
  .thank-you-main{padding:50px 18px}
  .thank-you-card{padding:38px 21px}
  .thank-you-actions{display:grid;grid-template-columns:1fr}
  .thank-you-actions .home-button{width:100%}
}


/* Checkpoint 11: user review revisions */
.site-header nav a.active.nav-cta{color:#fff}
.process-six--detailed ul{margin:0;padding-left:1.15rem;color:#465a72}
.process-six--detailed li{font-size:.91rem;line-height:1.62;margin-bottom:.62rem}
.process-six--detailed li:last-child{margin-bottom:0}

.internet-gallery-large{display:grid;grid-template-columns:1fr;max-width:1000px;margin:34px auto 0;gap:22px}
.internet-feature{display:grid;grid-template-columns:minmax(280px,38%) minmax(0,1fr);gap:30px;align-items:center;padding:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:17px;overflow:visible}
.internet-image-link{display:block;position:relative;z-index:1;border-radius:12px;transition:transform .24s var(--ease),box-shadow .24s var(--ease);transform-origin:left center}
.internet-image-link img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff;border:1px solid rgba(255,255,255,.18);border-radius:12px}
.internet-image-link:hover,.internet-image-link:focus-visible{transform:scale(1.32);z-index:5;box-shadow:0 22px 55px rgba(0,0,0,.38)}
.internet-image-link:focus-visible{outline:3px solid #b9d6ff;outline-offset:4px}
.internet-feature__copy p{margin:0;color:#deebfa;font-size:.98rem;line-height:1.72}

.contact-form .field-label{display:inline;line-height:1.35}
.contact-form .field-label>span[aria-hidden="true"]{display:inline;color:#a82626}
.contact-form .optional{display:inline;font-size:.76rem;color:var(--muted);font-weight:600;margin-left:5px}
.honeypot{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important;white-space:nowrap!important}

.thank-you-card h1{font-size:clamp(1.2rem,4.6vw,3rem);white-space:nowrap;letter-spacing:-.025em}

@media(max-width:820px){
  .site-header nav a.active.nav-cta{color:var(--blue-700)}
  .internet-feature{grid-template-columns:1fr;gap:18px}
  .internet-image-link{max-width:520px;transform-origin:center center}
  .internet-image-link:hover,.internet-image-link:focus-visible{transform:scale(1.08)}
}
@media(max-width:420px){
  .thank-you-card h1{font-size:1.15rem}
}

/* ---------- Checkpoint 12: Internet Culture editorial layout ---------- */
.internet-story{align-items:center}
.internet-story-media{display:grid;gap:22px;overflow:visible}
.internet-story-media .internet-image-link{display:block;position:relative;z-index:1;border-radius:17px;transform-origin:left center;transition:transform .24s var(--ease),box-shadow .24s var(--ease)}
.internet-story-media .internet-image-link img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:0;border-radius:17px;box-shadow:var(--shadow);background:transparent}
.internet-story-media .internet-image-link:hover,.internet-story-media .internet-image-link:focus-visible{transform:scale(1.08);z-index:6;box-shadow:0 22px 55px rgba(0,0,0,.38)}
.internet-story-media .internet-image-link:focus-visible{outline:3px solid #b9d6ff;outline-offset:4px}
.internet-story-copy h2{color:#fff}
.internet-story-copy p{color:#d5e6fa}
.internet-story-copy .eyebrow{color:#91bbff}
@media(max-width:700px){
  .internet-story-media{gap:16px}
  .internet-story-media .internet-image-link{transform-origin:center center}
  .internet-story-media .internet-image-link:hover,.internet-story-media .internet-image-link:focus-visible{transform:scale(1.035)}
}
