/* Content-led layouts and quiet surfaces. */
.theme-toggle{display:inline-grid;place-items:center;min-width:44px;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:50%;flex-shrink:0}.theme-toggle svg{display:block}.theme-toggle:hover{background:var(--gallery-blue)}
.page-home .home-intro{padding-bottom:64px}.page-home .home-grid{gap:52px 36px}.page-home .home-playground{margin-top:64px;padding:32px;background:var(--gallery-blue);border:0}.home-about{margin-block:64px;background:var(--section-green)}.home-about-grid{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;align-items:center;gap:clamp(40px,8vw,120px);padding-block:48px}.home-portrait{max-width:310px}.home-portrait img{width:100%;height:auto;display:block;border-radius:3px}.home-about-grid .lead{max-width:40ch}.text-link{width:fit-content;margin-top:16px}.home-grid .tile:nth-child(even){margin-top:56px}.home-grid .tile .media{aspect-ratio:1.65;min-height:0;height:auto}.home-grid .tile-info>.mono{display:none}
.page-about .portrait-grid{align-items:center;gap:clamp(40px,8vw,110px);padding-bottom:48px}.page-about .portrait-grid h2{font-size:clamp(42px,5vw,70px)}.page-about .section.tint{background:var(--section-blue);padding-block:72px}.bring-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:24px}.bring-grid h3{margin-bottom:18px}.bring-grid p{line-height:1.8;color:var(--muted)}.page-about .experience{padding-block:36px;position:relative}.page-about .experience .stack{max-width:65ch}.page-about .experience:before{content:"";position:absolute;left:0;top:0;width:36px;border-top:2px solid var(--blue)}
.edited-case .section,.portfolio-story .section{padding-block:64px}.edited-case .story-opening{padding-top:24px}.story-opening>.wrap>.mono{margin-bottom:24px}.story-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;margin-top:48px}.story-intro .lead{max-width:60ch}.story-section h2{max-width:24ch;margin:0 0 36px}.story-section>.wrap>.lead{max-width:64ch;margin-bottom:40px}.story-side{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(32px,5vw,72px);align-items:center}.story-side.reverse{grid-template-columns:1.3fr .7fr}.story-note h3{margin-bottom:20px}.story-note p{line-height:1.8;color:var(--muted);max-width:60ch}.edited-case .story-inset{background:transparent}.story-inset>.wrap{background:var(--section-blue);padding:clamp(24px,4vw,56px);border-radius:4px}.story-cohnnect-legal .story-inset>.wrap{background:var(--section-green)}.edited-case .website-screen{margin:0;min-width:0}.edited-case .website-screen figcaption{margin:0 0 18px;gap:10px}.edited-case .website-screen figcaption p{font-size:14px;line-height:1.65;max-width:62ch}.edited-case .context-media{box-shadow:0 12px 32px #00000009}.edited-case .context-controls{margin-top:18px;gap:24px;font-size:13px}.story-pair{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.extra-screen{margin-top:32px;border-top:1px solid var(--border);padding-top:20px}.extra-screen summary{cursor:pointer;padding:12px 0;color:var(--blue)}.extra-screen[open] summary{margin-bottom:24px}.portfolio-story .section:nth-child(3)>.wrap{background:var(--section-blue);padding:clamp(24px,4vw,56px)}.portfolio-story h2{margin-bottom:28px}.portfolio-story .website-points{gap:48px}.portfolio-story .case-video{margin-top:40px}.project-outline{box-shadow:none}.project-outline a{font-size:12px}.edited-case .website-next{padding-top:40px;border-top:1px solid var(--border)}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);align-items:start}.contact-layout aside p{max-width:34ch}.contact-form{background:var(--section-blue);padding:clamp(24px,4vw,48px);display:grid;gap:24px;border-radius:4px}.contact-form label{display:grid;gap:10px;font-size:14px;font-weight:600}.contact-form input,.contact-form textarea{font:inherit;font-weight:400;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:14px;min-width:0;width:100%;box-sizing:border-box}.contact-form textarea{resize:vertical;min-height:150px}.contact-form :is(input,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form .button{justify-self:start}.contact-form .form-honey{display:none}.contact-form .caption{margin:0}.contact-form #form-status:empty{display:none}
.page-work .discipline-row:nth-child(even){background:var(--section-blue)}.page-work .discipline{padding-inline:24px}.page-work .gallery-section{padding-top:24px;padding-bottom:72px}.page-work .gallery{row-gap:60px}.cta .rule{display:none}.cta{margin-top:32px;background:var(--section-blue)}.cta .wrap{padding-block:32px}.footer{padding-top:40px}
@media(max-width:800px){.home-about-grid,.story-intro,.story-side,.story-side.reverse,.contact-layout{grid-template-columns:1fr;gap:32px}.home-about-grid{padding-block:24px}.home-portrait{max-width:240px}.bring-grid{grid-template-columns:1fr;gap:28px}.home-grid .tile:nth-child(even){margin-top:0}.edited-case .section,.portfolio-story .section{padding-block:40px}.story-section h2{margin-bottom:28px}.story-pair{grid-template-columns:1fr;gap:36px}.story-intro{margin-top:32px}.story-side.reverse .story-note{order:-1}.home-about{margin-block:32px}.page-about .section.tint{padding-block:40px}.page-home .home-playground{margin-top:36px;padding:24px}.page-home .home-grid{gap:36px}.form-pair{grid-template-columns:1fr}.page-work .discipline{padding-inline:16px}.story-inset>.wrap{width:calc(100% - 32px)}.theme-toggle{min-width:40px;width:40px;height:40px}.page-work .gallery{row-gap:40px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Fuller introductions, with content kept close to the portrait. */
.home-about-grid{grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:clamp(32px,5vw,72px);max-width:1200px;align-items:center;padding-block:28px}.home-portrait{max-width:360px;width:100%}.home-about-grid>.stack{gap:20px;max-width:66ch}.home-about-grid .muted{max-width:62ch;line-height:1.75}.home-about-details{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:20px;border-top:1px solid var(--border);font-size:12px;color:var(--blue)}.home-about-grid .text-link{margin-top:4px}.home-about-grid .actions{gap:28px}.page-about .portrait-grid>.stack{max-width:65ch}.page-about .portrait-grid p{line-height:1.75}.personal-note{background:var(--section-green);margin-top:32px}.personal-note-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;padding-block:24px}.personal-note-grid h2{margin-top:16px}.personal-note-grid .stack{max-width:62ch}.personal-note-grid p{line-height:1.75}.contact-layout{grid-template-columns:1fr 1.2fr;gap:clamp(32px,6vw,84px)}.contact-layout aside>p{max-width:42ch}.conversation-topics{display:grid;gap:24px;margin-top:8px}.conversation-topics>div{padding-left:20px;border-left:2px solid var(--border)}.conversation-topics>div:first-child{border-color:var(--blue)}.conversation-topics h3{font-size:20px;line-height:1.3;margin-bottom:8px}.conversation-topics p{font-size:15px;line-height:1.75;color:var(--muted);max-width:44ch}.contact-location{margin-top:12px}.contact-start{background:var(--section-green);margin-top:24px}.contact-start h2{margin-bottom:28px}.contact-prompts{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-bottom:28px}.contact-prompts p{line-height:1.75;color:var(--muted);max-width:34ch}.contact-prompts strong{display:block;color:var(--text);font-weight:600;margin-bottom:8px}
@media(max-width:800px){.home-about-grid,.personal-note-grid,.contact-layout{grid-template-columns:1fr;gap:32px}.home-portrait{max-width:300px}.home-about-details{gap:12px 20px}.personal-note-grid{padding-block:8px}.contact-prompts{grid-template-columns:1fr;gap:20px}.contact-prompts p{max-width:100%}.conversation-topics{gap:20px}.contact-start{margin-top:0}.home-about-grid>.stack{max-width:100%}}

.about-story{margin-block:16px 32px}.about-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,88px);padding-block:24px}.about-story-grid h2{margin-top:20px}.about-story-aside{margin-top:28px;line-height:1.9;color:var(--blue);font-size:15px}.about-story-grid .stack{max-width:64ch}.about-story-grid p{line-height:1.8}.page-about .portrait-grid{align-items:center}.page-about .about-portrait{align-self:center}@media(max-width:800px){.about-story-grid{grid-template-columns:1fr;gap:28px;padding-block:0}.about-story-aside{margin-top:20px}.about-story{margin-block:0 16px}}

/* Balanced text sections and softer dark surfaces. */
:root[data-theme=dark]{--bg:#14171b;--rgb:20,23,27;--text:#eef0f2;--muted:#adb6c0;--border:#333a43;--blue:#a5bfdc;--green:#abc2b5;--gallery-blue:#202a35;--gallery-green:#242f2a;--section-blue:#1a2028;--section-green:#1c2421;--action:#30465d;--hover:#3b5570}
.skills-story{padding-block:24px}.skills-intro{max-width:850px}.skills-intro h2{margin:16px 0 24px}.skills-intro .lead{max-width:67ch}.skills-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:40px}.skills-columns h3{font-size:23px;margin-bottom:16px}.skills-columns p{color:var(--muted);line-height:1.8;max-width:42ch}.personal-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--border);padding-top:24px;margin-top:36px}.personal-bottom p{color:var(--muted);font-size:14px;max-width:66ch;line-height:1.75}.personal-bottom .text-link{margin:0;flex-shrink:0;font-size:14px}
.about-story-grid{display:block}.about-story-grid>div:first-child{max-width:900px;margin-bottom:32px}.about-story-grid h2 br{display:none}.about-story-aside{display:none}.about-story-grid>.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;max-width:none}.about-story-grid>.stack p{max-width:62ch}.about-story-grid>.stack .lead{font-size:16px;color:var(--muted)}.story-intro{grid-template-columns:1fr;gap:24px}.story-intro h2{max-width:28ch}.story-intro .lead{max-width:72ch}
@media(max-width:800px){.skills-columns{grid-template-columns:1fr;gap:28px;margin-top:28px}.skills-columns p{max-width:65ch}.personal-bottom{flex-direction:column;align-items:flex-start;gap:20px}.skills-story{padding-block:8px}.about-story-grid>.stack{grid-template-columns:1fr;gap:20px}.about-story-grid>div:first-child{margin-bottom:24px}.personal-bottom .text-link{flex-shrink:1}}

/* Category illustrations preserve the original pastel backgrounds. */
.home-grid .category-art{display:grid;place-items:center;overflow:hidden;--art-ink:#557896;--art-paper:#f9fcff;--art-tint:#d6e4ef;--art-mid:#98b4cb}.home-grid .category-art.sage{--art-ink:#54776e;--art-paper:#f9fcfa;--art-tint:#d9e8df;--art-mid:#a0beb0}.category-art svg{display:block;width:92%;height:auto;max-height:100%;overflow:visible}.category-art .art-paper{fill:var(--art-paper);stroke:var(--art-ink);stroke-opacity:.32;stroke-width:1.2}.category-art .art-line,.category-art .art-wire,.category-art .art-route{stroke:var(--art-ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.category-art .art-wire{stroke-opacity:.48}.category-art .art-guide{stroke:var(--art-ink);stroke-opacity:.2;stroke-dasharray:4 6;stroke-width:1}.category-art .art-tint{fill:var(--art-tint)}.category-art .art-solid,.category-art .art-shape{fill:var(--art-ink)}.category-art .art-mid{fill:var(--art-mid)}.category-art .art-white{stroke:var(--art-paper);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.category-art .art-shape{opacity:.7}.category-art .art-front,.category-art .art-back,.category-art .art-middle{transition:transform 350ms cubic-bezier(.2,.7,.3,1);transform-box:fill-box;transform-origin:center}.category-art:after{display:none}.home-grid .tile:focus-visible .art-front{transform:translate(3px,-6px) rotate(1deg)}.home-grid .tile:focus-visible .art-back{transform:translate(-3px,2px)}
:root[data-theme=dark] .category-art{--art-ink:#9bb7cf;--art-paper:#202c39;--art-tint:#31465a;--art-mid:#5d7e99}:root[data-theme=dark] .category-art.sage{--art-ink:#a1c0b0;--art-paper:#24352e;--art-tint:#354e42;--art-mid:#688e7a}
@media(hover:hover) and (pointer:fine){.home-grid .tile:hover .art-front{transform:translate(3px,-6px) rotate(1deg)}.home-grid .tile:hover .art-back{transform:translate(-3px,2px)}.home-grid .tile:hover .art-middle{transform:translate(3px,-2px)}}
@media(prefers-reduced-motion:reduce){.category-art g{transition:none!important;transform:none!important}}
