@layer od-layout {
  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile) > :where(*) { min-width: 0; }
  .od-stack{display:flex;flex-direction:column;gap:var(--od-gap,8px)}.od-row{display:flex;align-items:center;gap:var(--od-gap,8px)}.od-row-top{display:flex;align-items:flex-start;gap:var(--od-gap,8px)}.od-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--od-gap,8px)}.od-fill{flex:1 1 0;min-width:0}.od-fixed{flex:none}.od-grid{display:grid;gap:var(--od-gap,12px);grid-template-columns:repeat(var(--od-cols,3),minmax(0,1fr))}
  .od-stat,.od-field,.od-cell{display:grid;gap:var(--od-gap,2px)}:where(.od-stat,.od-field,.od-cell)>:where(*){display:block}.od-tile{display:grid;grid-template-rows:auto 1fr}:where(.od-tile)>:where(*){display:block}.od-media{display:block;width:100%;height:auto;aspect-ratio:var(--od-ratio,auto)}.od-media-cover{object-fit:cover}.od-truncate{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.od-clamp-2,.od-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.od-clamp-2{-webkit-line-clamp:2}.od-clamp-3{-webkit-line-clamp:3}.od-lines-2{min-height:calc(2 * 1.4em)}.od-nowrap{white-space:nowrap}.od-keep{word-break:keep-all;overflow-wrap:anywhere}.od-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}.od-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0}.od-rail{display:flex;gap:var(--od-gap,8px);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-inline:var(--od-rail-pad,16px);scroll-padding-inline:var(--od-rail-pad,16px)}.od-rail::-webkit-scrollbar{display:none}:where(.od-rail)>:where(*){flex:none;scroll-snap-align:start}:where(.od-rail)>:where(:last-child){margin-inline-end:var(--od-rail-pad,16px)}.od-spacer{flex:none;visibility:hidden;pointer-events:none}.od-touch{min-width:44px;min-height:44px}
}
/* /OD-LAYOUT-PRIMITIVES v1 */
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-800.ttf") format("truetype");font-weight:800;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Manrope";src:url("fonts/manrope-700.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Oxanium";src:url("fonts/oxanium-600.ttf") format("truetype");font-weight:600;font-display:swap}
:root{--paper:#f7f8fc;--surface:#ffffff;--ink:#111215;--ink-2:#202125;--crimson:#941e28;--crimson-deep:#6f111d;--red:#d71920;--red-hover:#b81219;--white:#f6f8ff;--muted:#686865;--silver:#b9b9b6;--line:#d8d4d4;--dark-line:#38393d;--display:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Manrope",system-ui,sans-serif;--tech:"Oxanium",monospace;--max:1240px;--radius:12px;--ease:cubic-bezier(.2,0,0,1);--shadow:0 12px 34px rgba(17,18,21,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}img{max-width:100%}a{color:inherit}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;top:8px;left:8px;z-index:999;translate:0 -160%;padding:10px 14px;background:var(--ink);color:var(--white);border-radius:6px}.skip-link:focus{translate:0}.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.eyebrow{margin:0;font-family:var(--tech);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase}.eyebrow::before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--red)}.display{margin:0;font-family:var(--display);font-size:clamp(4.2rem,11vw,10rem);font-weight:800;line-height:.82;letter-spacing:-.035em;text-transform:uppercase}.section-title{margin:0;font-family:var(--display);font-size:clamp(3rem,7vw,6.7rem);font-weight:600;line-height:.88;letter-spacing:-.025em;text-transform:uppercase}.lead{max-width:62ch;margin:0;color:var(--muted);font-size:clamp(1rem,1.35vw,1.2rem)}.muted{color:var(--muted)}.tech{font-family:var(--tech);letter-spacing:.06em;text-transform:uppercase}.section{padding-block:clamp(72px,10vw,128px)}.section-tight{padding-block:clamp(48px,7vw,88px)}.split-head{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:40px;align-items:start;margin-bottom:48px}.split-head .section-title{max-width:11ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid transparent;border-radius:6px;background:var(--ink);color:var(--white);font-weight:700;text-decoration:none;cursor:pointer;transition:transform 180ms var(--ease),background 180ms var(--ease),border-color 180ms var(--ease)}.btn:hover{background:var(--crimson);transform:translateY(-2px)}.btn-red{background:var(--red)}.btn-red:hover{background:var(--red-hover)}.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-outline:hover{color:var(--white)}.arrow{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--red);color:var(--white);font-size:1rem;line-height:1}.text-link{display:inline-flex;align-items:center;gap:9px;font-weight:700;text-decoration:none}.text-link:hover .arrow{background:var(--ink)}:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.site-header{position:sticky;top:14px;z-index:100;margin-top:14px;height:68px;pointer-events:none}.nav-shell{width:min(calc(100% - 32px),1120px);min-height:58px;margin:auto;padding:7px 8px 7px 18px;display:flex;align-items:center;gap:18px;border:1px solid rgba(17,18,21,.12);border-radius:14px;background:rgba(250,250,247,.92);box-shadow:0 8px 28px rgba(17,18,21,.1);backdrop-filter:blur(15px);pointer-events:auto}.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-size:1.45rem;font-weight:800;line-height:1;text-decoration:none;text-transform:uppercase}.brand-mark{width:10px;height:26px;background:var(--crimson);clip-path:polygon(0 0,100% 0,58% 100%,0 100%)}.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:8px;background:var(--ink);color:var(--white)}.menu-toggle svg{width:22px;fill:none;stroke:currentColor;stroke-width:2}.main-nav{margin-left:auto}.nav-list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.nav-link,.drop-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding-inline:13px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:.86rem;font-weight:700;text-decoration:none;cursor:pointer}.nav-link:hover,.drop-toggle:hover,.nav-link[aria-current="page"]{background:#e8e8e4}.nav-contact{background:var(--ink);color:var(--white)}.nav-contact:hover{background:var(--crimson)}.drop{position:relative}.drop-toggle svg{width:12px;fill:none;stroke:currentColor;stroke-width:2;transition:transform 180ms var(--ease)}.drop.open .drop-toggle svg{transform:rotate(180deg)}.drop-menu{position:absolute;top:calc(100% + 10px);left:0;width:240px;margin:0;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);list-style:none;opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity 160ms var(--ease),transform 160ms var(--ease),visibility 160ms}.drop.open .drop-menu{opacity:1;visibility:visible;transform:none}.drop-menu a{display:grid;gap:1px;padding:10px 12px;border-radius:7px;text-decoration:none}.drop-menu a:hover,.drop-menu a:focus-visible{background:#e9e9e5}.drop-menu strong{font-size:.88rem}.drop-menu span{color:var(--muted);font-size:.72rem}
.hero{padding:22px 0 70px}.hero-frame{position:relative;min-height:min(760px,78vh);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:end;overflow:hidden;border-radius:18px;background:#cbd5df}.hero-copy{position:relative;z-index:2;padding:clamp(32px,6vw,72px)}.hero-copy .display{max-width:7.4ch;color:var(--white);text-shadow:0 2px 28px rgba(17,18,21,.18)}.hero-copy .lead{max-width:39ch;margin:24px 0 30px;color:#f6f6f1}.hero-image{align-self:end;width:100%;max-width:620px;margin-left:auto;filter:saturate(.95)}.hero-image img{display:block;width:100%;height:auto}.hero-meta{position:absolute;top:26px;right:30px;z-index:3;display:grid;grid-template-columns:auto auto;gap:14px 28px;color:var(--ink);font-family:var(--tech);font-size:.68rem;text-transform:uppercase}.hero-watermark{position:absolute;right:18px;bottom:-.1em;z-index:2;color:rgba(247,247,243,.92);font-family:var(--display);font-size:clamp(7rem,17vw,15rem);font-weight:800;line-height:.7;letter-spacing:-.055em;text-transform:uppercase;pointer-events:none}.social-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.social-row a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding-inline:18px;border-radius:9px;background:var(--surface);font-weight:700;text-decoration:none}.social-row a:hover{background:var(--ink);color:var(--white)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{position:relative;display:grid;min-height:490px;padding:28px;overflow:hidden;border-radius:var(--radius);background:var(--ink);color:var(--white);text-decoration:none}.project-card:nth-child(2){background:var(--crimson)}.project-card:nth-child(3){background:#d9d9d4;color:var(--ink)}.project-card:nth-child(4){background:var(--ink-2)}.project-card:hover .project-orbit{transform:rotate(18deg) scale(1.05)}.project-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.project-card h3{max-width:8ch;margin:auto 0 0;position:relative;z-index:2;font-family:var(--display);font-size:clamp(3.4rem,6.5vw,6rem);font-weight:600;line-height:.84;text-transform:uppercase}.project-card p{position:relative;z-index:2;max-width:40ch;margin:14px 0 0;color:inherit}.project-orbit{position:absolute;width:310px;height:310px;right:-70px;top:80px;border:1px solid currentColor;border-radius:50%;opacity:.28;transition:transform 320ms var(--ease)}.project-orbit::before,.project-orbit::after{content:"";position:absolute;inset:42px;border:1px solid currentColor;border-radius:50%}.project-orbit::after{inset:98px;background:var(--red);border:0}.tag-row{display:flex;flex-wrap:wrap;gap:7px}.tag{display:inline-flex;align-items:center;min-height:29px;padding:0 10px;border:1px solid currentColor;border-radius:999px;font-family:var(--tech);font-size:.66rem;text-transform:uppercase}
.dark-section{background:var(--ink);color:var(--white)}.dark-section .lead{color:var(--silver)}.interest-list{border-top:1px solid var(--dark-line)}.interest-row{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(180px,.7fr) 54px;gap:20px;align-items:center;min-height:132px;border-bottom:1px solid var(--dark-line);color:var(--white);text-decoration:none}.interest-row:hover{background:#18191c}.interest-index{font-family:var(--tech);color:var(--silver);font-size:.75rem}.interest-row h3{margin:0;font-family:var(--display);font-size:clamp(2.5rem,5vw,4.8rem);font-weight:600;line-height:.9;text-transform:uppercase}.interest-row p{margin:0;color:var(--silver)}.interest-row .arrow{justify-self:end}
.editorial{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(28px,6vw,80px);align-items:center}.editorial-media{overflow:hidden;border-radius:var(--radius);background:#ddd}.editorial-media img{width:100%;height:auto;display:block}.quote{margin:0;font-family:var(--display);font-size:clamp(2.8rem,5.6vw,5.8rem);font-weight:600;line-height:.92;text-transform:uppercase}.quote em{color:var(--crimson);font-style:normal}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.journal-card{display:grid;min-height:340px;padding:24px;border-top:1px solid var(--ink);background:var(--surface);text-decoration:none}.journal-card:hover{background:#e8e8e4}.journal-card time{font-family:var(--tech);font-size:.68rem;text-transform:uppercase}.journal-card h3{margin:auto 0 12px;font-family:var(--display);font-size:2.5rem;font-weight:600;line-height:.92;text-transform:uppercase}.journal-card p{margin:0;color:var(--muted)}
.cta{background:var(--crimson);color:var(--white)}.cta-inner{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:32px;align-items:end}.cta .section-title{max-width:10ch}.cta .eyebrow::before{background:var(--white)}
.site-footer{padding:40px 0;background:var(--ink);color:var(--white)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:end}.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px}.footer-links a{color:var(--silver);text-decoration:none}.footer-links a:hover{color:var(--white)}.footer-note{margin:0;color:var(--silver);font-size:.82rem}
.page-hero{padding:74px 0 64px}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:40px;align-items:end}.page-hero .display{max-width:7.5ch}.page-hero .lead{justify-self:end}.crumbs{display:flex;gap:8px;align-items:center;margin-bottom:30px;color:var(--muted);font-size:.82rem}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--crimson)}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.metric{padding:24px 0}.metric+.metric{padding-left:24px;border-left:1px solid var(--line)}.metric strong{display:block;font-family:var(--display);font-size:2.2rem;line-height:1}.metric span{display:block;margin-top:6px;color:var(--muted);font-size:.78rem}.detail-layout{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);gap:48px}.detail-aside{position:sticky;top:104px;align-self:start}.detail-body{display:grid;gap:42px}.detail-body h2{margin:0;font-family:var(--display);font-size:clamp(2.4rem,5vw,4.8rem);font-weight:600;line-height:.92;text-transform:uppercase}.detail-body p{max-width:72ch;margin:0;color:var(--muted)}.feature-panel{padding:clamp(28px,5vw,60px);border-radius:var(--radius);background:var(--ink);color:var(--white)}.feature-panel.crimson{background:var(--crimson)}.feature-panel p{color:var(--silver)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-tile{min-height:220px;padding:22px;border:1px solid var(--dark-line);border-radius:9px}.feature-tile strong{display:block;margin-top:64px;font-family:var(--display);font-size:2rem;text-transform:uppercase}.feature-tile p{font-size:.88rem}.life-poster{display:grid;place-items:end start;min-height:560px;padding:clamp(28px,6vw,68px);overflow:hidden;border-radius:var(--radius);background:var(--crimson);color:var(--white)}.life-poster.music{background:repeating-linear-gradient(90deg,var(--ink) 0 9%,var(--crimson) 9% 11%,var(--ink) 11% 20%)}.life-poster.tennis{background:radial-gradient(circle at 70% 35%,#d71920 0 4%,transparent 4.3%),linear-gradient(135deg,#b9b9b6 0 49.8%,var(--ink) 50%)}.life-poster h2{font-family:var(--display);font-size:clamp(5rem,13vw,12rem);line-height:.76;text-transform:uppercase}.article-list{display:grid;border-top:1px solid var(--line)}.article{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:24px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}.article time{font-family:var(--tech);font-size:.72rem}.article h2{margin:0;font-family:var(--display);font-size:clamp(2.2rem,4.5vw,4.2rem);font-weight:600;line-height:.92;text-transform:uppercase}.article p{max-width:65ch;margin:10px 0 0;color:var(--muted)}.article-detail{display:none;grid-column:2/-1;padding:22px;border-left:3px solid var(--crimson);background:var(--surface)}.article.open .article-detail{display:block}.article-toggle{border:0;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filter{min-height:42px;padding:0 15px;border:1px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer}.filter[aria-pressed="true"]{background:var(--ink);color:var(--white)}.project-card[hidden]{display:none}
.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,8vw,100px)}.contact-lines{display:grid;gap:22px;margin-top:40px}.contact-line{padding-top:16px;border-top:1px solid var(--line)}.contact-line span{display:block;color:var(--muted);font-size:.78rem}.form{display:grid;gap:20px}.field{display:grid;gap:7px}.field label{font-weight:700}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--crimson);outline:3px solid rgba(148,30,40,.18)}.error{min-height:1.2em;margin:0;color:#a30f19;font-size:.82rem}.form-status{display:none;padding:15px;border:1px solid var(--crimson);border-radius:6px;background:#f5e7e8}.form-status.show{display:block}
@media(max-width:900px){.split-head,.page-hero-grid,.editorial,.contact-grid{grid-template-columns:1fr}.page-hero .lead{justify-self:start}.hero-frame{grid-template-columns:1fr;min-height:auto;padding-top:90px}.hero-copy{grid-row:2;padding-top:20px}.hero-image{grid-row:1;max-width:480px;margin:auto}.hero-copy .display{max-width:8ch}.hero-watermark{font-size:20vw}.project-grid{grid-template-columns:1fr}.project-card{min-height:430px}.journal-grid{grid-template-columns:1fr}.journal-card{min-height:260px}.feature-grid{grid-template-columns:1fr}.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}.social-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap{width:min(calc(100% - 32px),var(--max))}.site-header{top:8px;margin-top:8px}.nav-shell{width:calc(100% - 20px);padding-left:14px}.menu-toggle{display:grid;place-items:center}.main-nav{position:fixed;inset:80px 10px auto;max-height:calc(100vh - 96px);overflow:auto;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);display:none}.main-nav.open{display:block}.nav-list{display:grid}.nav-link,.drop-toggle{width:100%;justify-content:space-between;min-height:48px}.drop-menu{position:static;width:100%;display:none;margin:2px 0 8px;opacity:1;visibility:visible;transform:none;box-shadow:none}.drop.open .drop-menu{display:block}.hero{padding-top:16px}.hero-frame{border-radius:12px}.hero-meta{top:18px;right:18px;grid-template-columns:1fr;gap:2px;text-align:right}.hero-copy{padding:24px}.hero-copy .display{font-size:clamp(4rem,18vw,6.2rem)}.hero-watermark{display:none}.social-row{grid-template-columns:1fr}.split-head{gap:18px}.interest-row{grid-template-columns:46px minmax(0,1fr) 46px;gap:10px;min-height:112px}.interest-row p{display:none}.cta-inner,.footer-grid{grid-template-columns:1fr}.metric-strip{grid-template-columns:1fr}.metric+.metric{padding-left:0;border-left:0;border-top:1px solid var(--line)}.article{grid-template-columns:1fr auto}.article time{grid-column:1/-1}.article-detail{grid-column:1/-1}.life-poster{min-height:430px}}
@media(max-width:430px){.hero-image{max-width:340px}.project-card{min-height:390px;padding:22px}.project-card h3{font-size:3.4rem}.interest-row h3{font-size:2.6rem}.social-row a{min-height:54px}.display{font-size:3.7rem}}

/* Hero name alignment: keep the watermark visually inside the frame. */
.hero-watermark{right:clamp(24px,4vw,56px);bottom:18px;width:max-content;line-height:.78;text-align:right}

/* Homepage hero: prioritize the supplied portrait over decorative type. */
.hero{padding:16px 0 48px}
.hero-frame{display:block;min-height:0;padding-top:0;background:#d8cc8b}
.hero-image{position:relative;inset:auto;display:block;width:100%;max-width:960px;margin:0 auto;filter:none}
.hero-image img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
.hero-watermark{position:relative;display:block;right:auto;bottom:auto;z-index:3;width:auto;padding:18px clamp(20px,4vw,52px) 20px;color:#f7f7f3;font-size:clamp(3rem,8vw,6rem);line-height:.85;white-space:nowrap;text-align:right}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
