/* A design journal: expressive openings, original media, quiet reading columns. */
.home-hero{padding-top:56px;padding-bottom:128px}
.identity-line{display:flex;align-items:baseline;justify-content:space-between;gap:28px}
.identity-line p{font-size:1rem;font-weight:600;letter-spacing:-.02em}.identity-line>span{font-size:.875rem;color:var(--muted)}
.home-hero h1{font-size:clamp(3.75rem,7.35vw,7.75rem);line-height:1.08;letter-spacing:-.05em;word-spacing:.065em;margin:58px 0 48px;animation-delay:.07s}
.home-hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.07em;font-style:italic}
.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);animation-delay:.14s}
.intro-description{font-size:1.125rem;line-height:1.8;max-width:520px;color:var(--muted)}
.current-focus{justify-self:start;max-width:350px;font-size:.9375rem;line-height:1.8;color:var(--muted)}.current-focus>span{display:block;color:var(--ink);margin-bottom:8px}
.exocor-title-plane{display:block;background:#eeefed;padding:36px 48px;border-radius:6px;overflow:hidden}
.feature-topline,.feature-baseline{display:flex;justify-content:space-between;align-items:baseline;gap:24px;font-size:.875rem;color:var(--muted)}
.exocor-feature-art{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:center;padding:62px 0}
.exocor-word{font-size:clamp(4.5rem,10.3vw,10.5rem);line-height:1;letter-spacing:-.075em;display:flex;align-items:center;gap:24px}
.exocor-feature-art img{width:100%;max-width:448px;justify-self:end;transition:transform .6s var(--ease)}
.exocor-title-plane:hover img{transform:translateY(-5px)}
.feature-baseline{border-top:1px solid #cbd2c8;padding-top:22px;color:var(--ink)}
.feature-caption{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);padding-top:48px}
.feature-caption h3{font-size:clamp(2.5rem,4.8vw,4.5rem);line-height:1.08;letter-spacing:-.05em;margin-top:18px}
.feature-description{max-width:480px;justify-self:start}.feature-description>p{font-size:1.0625rem;line-height:1.85;color:var(--muted)}
.writing-section{padding-top:var(--section-space)}
.selected-section{padding-top:var(--section-space)}
.manifesto-feature{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start;padding-top:8px}
.manifesto-copy,.manifesto-demo{min-width:0}
.manifesto-meta{display:flex;align-items:baseline;gap:8px 20px;flex-wrap:wrap;margin-bottom:32px}.manifesto-meta time{font-size:.875rem;color:var(--muted)}
.manifesto-copy h3{font-size:clamp(2.75rem,4.75vw,4.75rem);line-height:1.1;letter-spacing:-.055em}.manifesto-copy h3>span{color:var(--accent)}
.manifesto-copy>p{max-width:500px;margin-top:30px;font-size:1.0625rem;line-height:1.85;color:var(--muted)}.manifesto-copy>.button{margin-top:24px}
.manifesto-copy>.eyebrow{margin:0 0 24px;font-size:.875rem}
.manifesto-preview{max-width:480px}.manifesto-preview>p{font-size:1.0625rem;line-height:1.85;color:var(--muted)}.manifesto-preview>.button{margin-top:28px}
.manifesto-demo .media-caption-heading{display:block}.manifesto-demo .media-caption-heading>span{display:block}.manifesto-demo .media-caption-heading>span:last-child{margin-top:4px}
.selected-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(6,auto);gap:0 var(--gap);align-items:stretch}
.selected-project,.selected-project .project-link{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
.selected-project .selected-caption{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
.selected-project .project-action{justify-self:start;align-self:start}
.selected-media{aspect-ratio:1.3;background:var(--surface);display:flex;align-items:center;overflow:hidden;border-radius:6px;padding:28px}
.selected-media img{width:100%;height:auto;transition:transform .6s var(--ease)}.selected-project .project-link:hover img{transform:translateY(-5px)}
.selected-caption{padding-top:32px}.selected-caption h3{font-size:clamp(2rem,3.35vw,3.25rem);line-height:1.14;letter-spacing:-.045em;margin:18px 0 22px}
.selected-caption>p:not(.eyebrow){max-width:430px;font-size:1rem;line-height:1.85;color:var(--muted)}
.airfinity-feature{margin-top:var(--section-space);padding-top:64px;border-top:1px solid var(--line)}
.airfinity-link{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:center}
.airfinity-image{background:var(--surface);padding:36px;overflow:hidden;border-radius:6px}.airfinity-image img{width:100%;transition:transform .6s var(--ease)}.airfinity-link:hover img{transform:translateY(-5px)}
.airfinity-link .selected-caption{padding:0;max-width:480px;justify-self:start}
.more-section{padding-top:var(--section-space)}.more-section .section-heading{padding-bottom:16px}
.work-index{display:grid;grid-template-columns:1fr 1.55fr auto;column-gap:var(--gap)}
.work-index>a{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;border-bottom:1px solid var(--line);padding:40px 0;transition:color .25s}
.index-name{font-size:1.1875rem;letter-spacing:-.025em}.index-description,.index-type{font-size:.875rem;color:var(--muted)}.index-type{text-align:right}
.project-action{margin-top:24px}.index-action{justify-self:end}
@media(hover:hover){.project-link:hover .project-action,.airfinity-link:hover .project-action,.work-index>a:hover .index-action{background:var(--secondary-hover)}}
.about{display:grid;grid-template-columns:var(--copy-columns);gap:var(--gap);padding-top:var(--section-space);padding-bottom:var(--section-space)}
.about-label .asterisk{display:none}.about-content{min-width:0}.about-content h2{font-size:clamp(2.5rem,4.65vw,4.75rem);line-height:1.13;letter-spacing:-.05em}
.about-text{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:38px 0 30px}.about-text p{font-size:1rem;line-height:1.85;color:var(--muted);min-width:0}
.experience-list{margin:40px 0 32px}.experience-list>div{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:.875rem}
.experience-list dt{font-weight:600}.experience-list dd{margin:0;display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}.experience-list dd>span{color:var(--muted)}
/* Exocor is an independent statement within the shared portfolio. */
.exocor-page .case-hero{padding-top:24px;padding-bottom:88px}
.project-kicker{display:flex;justify-content:space-between;gap:24px;align-items:center}.project-kicker .back-link{margin:0}.project-kicker .eyebrow{text-align:right}
.exocor-page .project-brand{font-size:min(22vw,22rem);line-height:.98;letter-spacing:-.065em;max-width:none;margin:44px 0 56px;overflow-wrap:normal}
.project-lede{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}
.project-statement{font-size:clamp(2.5rem,4.3vw,4.3rem);line-height:1.1;letter-spacing:-.045em;word-spacing:.045em;max-width:13ch;text-wrap:balance}
.project-lede .case-summary{font-size:1.0625rem;max-width:480px;line-height:1.85}
.project-intro-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.project-demo{margin:0;background:#171c19;padding-top:64px;padding-bottom:56px;color:#fafaf8}
.project-demo video{max-height:76svh;background:#080a09}
.project-demo figcaption{color:#bbc4bd;max-width:100%;margin-top:28px}
.project-demo .media-caption-heading>span:first-child{color:#fafaf8}.project-demo .video-transcript{border-color:#47544a}.project-demo .video-transcript strong{color:#fafaf8}
.project-demo a:focus-visible,.project-demo summary:focus-visible,.project-demo video:focus-visible{outline-color:var(--accent-light)}
.exocor-overview{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap);padding:56px 0;border-bottom:1px solid var(--line);margin:0}
.exocor-overview dt{font-size:.875rem;color:var(--muted);margin-bottom:12px}.exocor-overview dd{font-size:1rem;margin:0}
.exocor-page .case-index{margin-top:0}
.interaction-model{margin:64px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);counter-reset:step}
.interaction-model li{counter-increment:step;border-top:1px solid var(--line);padding-top:22px;min-width:0}
.interaction-model li:before{content:'0' counter(step);display:block;font-family:var(--serif);font-style:italic;font-size:2.75rem;line-height:1.1;color:var(--muted);margin-bottom:32px}
.interaction-model h3{font-size:1.375rem;letter-spacing:-.025em;margin-bottom:16px}.interaction-model p{font-size:1rem;color:var(--muted);line-height:1.8}
.interaction-demos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,auto);gap:0 var(--gap);margin-top:96px;align-items:stretch}
.interaction-demos .inline-demo{margin:0;display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
.interaction-demos figcaption{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
.interaction-demos .media-caption-heading{display:block;margin-bottom:12px}
.interaction-demos .media-caption-heading>span{display:block}
.interaction-demos .media-caption-heading>span:last-child{margin-top:4px}.interaction-demos video{aspect-ratio:16/10}
.decision-list{margin:0;padding:0;list-style:none}.decision-list li{display:grid;grid-template-columns:var(--copy-columns);gap:var(--gap);border-top:1px solid var(--line);padding:40px 0}
.decision-list h3{font-size:1.125rem;letter-spacing:-.02em}.decision-list p{font-size:1rem;color:var(--muted);line-height:1.85;max-width:60ch}
.interface-evidence{margin-top:96px}.interface-evidence-note{font-size:.875rem;color:var(--muted);border-top:1px solid var(--line);padding-top:32px;margin-bottom:64px}
.interface-state-pair{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:0 var(--gap);align-items:stretch}
.interface-state-pair>figure{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
.interface-state-pair+.interface-state-pair{margin-top:96px}
.interface-state-pair .image-button{padding:24px 0;min-height:320px;background:transparent;border-radius:0;overflow:visible}
.interface-state-pair .image-button img{width:100%;max-width:none;max-height:none;height:auto}
.interface-state-pair .image-button>span{right:0;bottom:12px}.interface-state-pair figcaption{max-width:430px;margin-top:24px}
.evidence-label{display:block;color:var(--ink);font-weight:600;margin-bottom:8px}
.clarification-states{align-items:stretch}.clarification-states .image-button{min-height:0}
.project-reading{border-top:1px solid var(--line);margin-top:var(--section-space);padding:40px 0 88px;display:flex;align-items:center;gap:24px 32px;flex-wrap:wrap}
.project-reading p{font-size:.875rem;color:var(--muted);margin-right:auto}.exocor-page .next-project{margin-top:0}
/* Reader-controlled media and accessible supporting descriptions. */
.project-demo video,.inline-demo video,.manifesto-demo video{display:block;width:100%;height:auto;object-fit:contain;background:#080a09;border-radius:5px}
video::cue{font-family:Arial,sans-serif;background:rgba(0,0,0,.85);color:#fff}
.project-demo figcaption,.inline-demo figcaption,.manifesto-demo figcaption{font-size:.875rem;line-height:1.75;padding:0;margin-top:24px}
.media-caption-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;margin-bottom:8px}
.media-caption-heading>span:first-child{color:var(--ink);font-weight:600}.media-caption-heading>span:last-child{font-size:.8125rem}
.video-transcript{margin-top:24px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.8}
.video-transcript summary{margin-top:20px;list-style:none}.video-transcript summary::-webkit-details-marker{display:none}
.video-transcript summary:after{content:'+';font-size:1rem;line-height:1;flex-shrink:0}.video-transcript[open] summary:after{content:'−'}
.video-transcript>div{max-width:760px;padding:20px 0}.video-transcript p+p{margin-top:14px}.video-transcript strong{font-weight:600;color:var(--ink)}
.chapter-copy>div>.button{margin-top:28px}
@media(min-width:100em){.home-hero{padding-top:72px;padding-bottom:144px}.exocor-page .project-brand{margin-top:48px;margin-bottom:56px}}
@media(max-width:60em){
  .home-hero{padding-top:40px;padding-bottom:104px}.home-hero h1{font-size:clamp(3.25rem,8vw,5.5rem);margin:46px 0 36px}
  .identity-line{display:block}.identity-line>span{display:block;margin-top:6px}.intro-bottom{grid-template-columns:1fr 1fr}
  .exocor-title-plane{padding:28px}.exocor-feature-art{gap:20px;padding:48px 0}.exocor-word{font-size:9.3vw;gap:16px}
  .feature-caption h3{font-size:3.25rem}.manifesto-feature{grid-template-columns:1fr;gap:48px}.manifesto-copy>p{max-width:600px}.manifesto-demo{max-width:850px}
  .manifesto-copy h3{font-size:3.75rem}.selected-media{padding:20px}.selected-caption h3{font-size:2.375rem}
  .airfinity-feature{margin-top:112px}.airfinity-image{padding:24px}.airfinity-link{grid-template-columns:1fr 1fr}
  .work-index{grid-template-columns:1fr 1.5fr auto}
  .about-content h2{font-size:3.25rem}.about-text{grid-template-columns:1fr;gap:24px;max-width:560px}
  .project-statement{font-size:3rem}
  .interaction-model{grid-template-columns:1fr 1fr;gap:36px}.interaction-model li:before{margin-bottom:24px}
  .interface-state-pair .image-button{min-height:240px}.clarification-states .image-button{min-height:0}
}
@media(max-width:40em){
  .home-hero{padding-top:32px;padding-bottom:88px}.home-hero h1{font-size:clamp(1.875rem,calc(1.5rem + 4.4vw),4.375rem);margin:38px 0 32px;line-height:1.1}
  .intro-bottom{grid-template-columns:1fr;gap:28px}.intro-description{font-size:1.0625rem}.current-focus{justify-self:start;font-size:.9375rem}.desktop-break{display:none}
  .exocor-title-plane{padding:24px}.feature-topline,.feature-baseline{font-size:.8125rem;gap:12px}.feature-topline>span:last-child{display:none}
  .exocor-feature-art{grid-template-columns:1fr;padding:36px 0 24px;gap:24px}.exocor-word{font-size:clamp(3.75rem,16vw,6.5rem);justify-content:space-between}.exocor-feature-art img{max-width:360px;justify-self:center}
  .feature-baseline{display:block;padding-top:18px}.feature-baseline>span{display:block}.feature-baseline>span+span{margin-top:6px}
  .feature-caption{grid-template-columns:1fr;gap:28px;padding-top:30px}.feature-caption h3{font-size:2.75rem}.feature-description{justify-self:start;max-width:100%;padding:0}.feature-description>p{font-size:1rem}
  .manifesto-feature{gap:36px;padding-top:4px}.manifesto-meta{margin-bottom:24px}.manifesto-copy h3{font-size:clamp(2rem,calc(1.5rem + 4.4vw),3.75rem)}.manifesto-copy>p{font-size:1rem;margin-top:24px}
  .selected-grid{grid-template-columns:1fr;grid-template-rows:none;gap:80px}.selected-project,.selected-project .project-link,.selected-project .selected-caption{display:block;grid-row:auto}.selected-media{aspect-ratio:1.25;padding:22px}.selected-caption{padding-top:26px}.selected-caption h3{font-size:2.25rem;margin:16px 0 20px}
  .airfinity-feature{margin-top:88px;padding-top:48px}.airfinity-link{grid-template-columns:1fr;gap:30px}.airfinity-link .selected-caption{justify-self:start}
  .work-index{grid-template-columns:1fr}.work-index>a{grid-template-columns:1fr;gap:12px;padding:32px 0}.index-name{font-size:1.125rem}.index-action{justify-self:start;margin-top:8px}
  .about{grid-template-columns:1fr;gap:32px}.about-content h2{font-size:2.625rem}.about-text{margin-top:28px}
  .exocor-page .case-hero{padding-top:24px;padding-bottom:64px}.project-kicker{display:block}.project-kicker .back-link{margin-bottom:18px}.project-kicker .eyebrow{text-align:left}
  .exocor-page .project-brand{font-size:min(24vw,9.5rem);margin:30px 0 38px;letter-spacing:-.065em}
  .project-lede{grid-template-columns:1fr;gap:26px}.project-statement{font-size:clamp(2rem,calc(1.3rem + 5vw),2.75rem);max-width:14ch}.project-lede .case-summary{font-size:1rem}.project-intro-links{margin-top:20px}
  .project-demo{padding-top:32px;padding-bottom:40px}.project-demo video{max-height:none}.project-demo figcaption{margin-top:24px}
  .exocor-overview{grid-template-columns:1fr 1fr;gap:32px 24px;padding:40px 0}.exocor-overview>div:last-child{grid-column:1/-1}.exocor-overview dd{font-size:.9375rem}
  .interaction-model{margin-top:36px;gap:32px 24px}.interaction-model li:before{font-size:2.5rem}.interaction-model h3{font-size:1.1875rem}.interaction-model p{font-size:.9375rem}
  .interaction-demos{grid-template-columns:1fr;grid-template-rows:none;gap:64px;margin-top:64px}.interaction-demos .inline-demo,.interaction-demos figcaption{display:block;grid-row:auto}.decision-list li{display:block;padding:32px 0}.decision-list h3{margin-bottom:16px}
  .interface-evidence{margin-top:64px}.interface-evidence-note{margin-bottom:28px}.interface-state-pair{grid-template-columns:1fr;row-gap:56px}.interface-state-pair>figure{display:block;grid-row:auto}.interface-state-pair+.interface-state-pair{margin-top:56px}
  .interface-state-pair .image-button{min-height:0;padding:12px 0}.interface-state-pair .image-button>span{bottom:0}.interface-state-pair figcaption{margin-top:24px}
  .project-reading{margin-top:88px;padding-bottom:64px;gap:16px 24px}.project-reading p{width:100%}
}
