:root{--bg:#faf9f6;--ink:#1d1b1a;--muted:#696561;--line:#e8e3df;--soft:#f8f5f2;--card:#fff;--accent:#bd4b15;--accent-fill:#f58245;--accent-soft:#fff3ea;--on-accent:#211813;--header:rgba(250,249,246,.96);color-scheme:light}
:root[data-theme=dark]{--bg:#1c1e22;--ink:#f5f3ef;--muted:#b5b6ba;--line:#383b40;--soft:#292c31;--card:#23262b;--accent:#ffa36a;--accent-fill:#ffa36a;--accent-soft:#35261e;--on-accent:#211813;--header:rgba(28,30,34,.96);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Geist,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55;transition:background-color .22s,color .22s}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.symbols{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell{width:min(1160px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;left:18px;top:-100px;z-index:100;background:var(--accent);color:var(--bg);padding:12px 20px;border-radius:8px}.skip:focus{top:14px}main{overflow:clip}

/* Preserve the approved header and its mobile controls. */
.site-header{position:sticky;top:0;background:var(--header);z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);transition:box-shadow .2s,border-color .2s}.site-header.is-scrolled{box-shadow:0 5px 24px #21181308}.header-inner{width:min(1328px,calc(100% - 88px));height:91px;margin:auto;display:flex;align-items:center;gap:34px}.wordmark{font-size:25px;font-weight:650;letter-spacing:-1px;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav a{font-size:14px;font-weight:500;position:relative;padding:12px 0;color:var(--muted);transition:color .18s}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--ink)}.desktop-nav a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--accent);border-radius:2px}.utilities{display:flex;align-items:center;gap:15px}.language{display:flex;align-items:center;gap:2px}.lang-button{background:none;border:0;padding:10px 9px;display:flex;align-items:center;gap:6px;border-radius:8px;font-size:12px;font-weight:600;color:var(--muted);min-height:44px}.lang-button[aria-pressed=true]{background:var(--soft);color:var(--ink)}.lang-button:hover{background:var(--soft)}.flag{width:18px;height:12px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #8882;flex-shrink:0}.utility-divider{height:22px;width:1px;background:var(--line)}.icon-button{height:44px;width:44px;padding:0;display:grid;place-items:center;background:none;border:1px solid var(--line);border-radius:50%;transition:background .18s,transform .18s}.icon-button:hover{background:var(--soft);transform:rotate(8deg)}.sun{display:none}[data-theme=dark] .sun{display:block}[data-theme=dark] .moon{display:none}.menu-toggle,.mobile-nav{display:none}

/* A tapered orange surface, without the former glossy outline. */
.location{display:flex;align-items:center;gap:7px}.location-pin{width:15px;height:15px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:64px;padding-top:114px;padding-bottom:205px}.intro{position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.035em;color:var(--muted);margin:0 0 21px}h1{font-size:clamp(60px,7.5vw,102px);font-weight:550;letter-spacing:-.07em;line-height:1.02;margin:0 0 26px;white-space:nowrap}.hero-copy{font-size:22px;line-height:1.6;letter-spacing:-.45px;max-width:580px;margin:0;color:var(--muted)}.portrait{margin:0;width:320px;position:relative;z-index:2}.portrait-frame{border-radius:50%;overflow:hidden}.portrait img{width:100%;height:auto;display:block;transform:none}.hero-ribbon{position:absolute;width:calc(100vw + 240px);height:clamp(280px,24vw,420px);left:50%;transform:translateX(-50%);bottom:-9px;z-index:1;pointer-events:none;overflow:visible}

.roles{padding-top:85px;padding-bottom:132px}.roles-title{font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-1px;margin:0 0 40px}.roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.role-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:32px 27px;display:flex;flex-direction:column;transition:border-color .22s,transform .22s,background .22s,box-shadow .22s;position:relative;overflow:hidden}.role-card:hover{border-color:var(--accent);transform:translateY(-5px);box-shadow:0 14px 40px #00000008;background:var(--accent-soft)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:38px}.card-arrow{width:20px;height:20px;color:var(--muted);transform:rotate(90deg);transition:transform .22s,color .22s}.role-card:hover .card-arrow{transform:translate(2px,2px) rotate(90deg);color:var(--accent)}/* Original transparent artwork; only wordmark tone changes. */
.logo-box{position:relative;height:48px;display:flex;align-items:center;padding:0;background:transparent;flex:0 1 180px;min-width:0}.bg-logo{flex-basis:162px}.ngif-logo{flex-basis:178px}.csc-logo{flex-basis:190px}.logo-box img{display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:contain}.logo-box .logo-dark,.ngif-logo .mark-overlay{display:none}.csc-logo>img:not(.mark-overlay){filter:brightness(0)}.logo-box .mark-overlay{position:absolute;left:0;top:50%;transform:translateY(-50%);filter:none}.csc-logo .mark-overlay{clip-path:inset(0 85.5% 0 0)}[data-theme=dark] .logo-box .logo-light{display:none}[data-theme=dark] .logo-box .logo-dark{display:block}[data-theme=dark] .csc-logo>img:not(.mark-overlay),[data-theme=dark] .ngif-logo>img:not(.mark-overlay){filter:brightness(0) invert(1)}[data-theme=dark] .ngif-logo .mark-overlay{display:block;clip-path:inset(0 70% 0 0)}
.role-card h3{font-size:28px;font-weight:550;letter-spacing:-1px;line-height:1.16;margin:0}.role-description{font-size:15px;line-height:1.65;color:var(--muted);margin:16px 0 0}

.section{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;padding:104px 0 110px;border-top:1px solid var(--line)}.section h2{font-size:36px;font-weight:500;line-height:1.18;letter-spacing:-1.4px;margin:0}.about-copy>p,.writing-content>p{font-size:18px;line-height:1.75;letter-spacing:-.2px;margin:0 0 20px;color:var(--muted)}.about-copy>p:last-child,.writing-content>p:last-child{margin:0}.about-copy>p:first-child{color:var(--ink)}.writing{padding-bottom:112px}

/* Original supplied image, cropped in the layout: no invented replacement gradient. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--bg);border-top:1px solid var(--line)}
.footer-art{position:absolute;width:min(62vw,880px);height:100%;bottom:0;right:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(to right,transparent 0%,#000 66%),linear-gradient(to bottom,transparent 0%,#000 55%);mask-composite:intersect}
.gradient-crop{position:absolute;inset:0;overflow:hidden}.gradient-crop img{position:absolute;width:103.5088%;height:162.0253%;max-width:none;left:-1.7544%;top:-20.2532%;object-fit:fill}
.contact{position:relative;min-height:470px;padding-top:130px;padding-bottom:124px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:29px}.contact h2{font-size:clamp(42px,4.4vw,62px);font-weight:500;line-height:1.08;letter-spacing:-2.5px;margin:0}.contact-actions{display:flex;gap:10px}.button{padding:13px 20px;border-radius:10px;font-size:14px;font-weight:550;display:inline-flex;align-items:center;justify-content:space-between;gap:29px;min-height:50px;transition:transform .16s,box-shadow .16s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 16px #0000000d}.button span{white-space:nowrap}.primary{background:var(--accent-fill);color:var(--on-accent);border:1px solid var(--accent-fill)}.secondary{background:var(--bg);border:1px solid var(--line)}.button .icon{width:18px;height:18px}.footer-meta{display:flex;align-items:center;gap:20px;padding-top:24px;padding-bottom:29px;font-size:12px;color:var(--muted);position:relative}.footer-name{font-size:18px;font-weight:600;letter-spacing:-.5px;color:var(--ink)}.top-link{margin-left:16px;display:flex;align-items:center;gap:6px;min-height:44px;padding:10px 0;color:var(--ink)}



@media(min-width:1600px){.hero{padding-top:130px;padding-bottom:220px}.roles{padding-bottom:145px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px);gap:25px}.desktop-nav{gap:20px}.hero{gap:38px;grid-template-columns:1fr 260px;padding-top:92px;padding-bottom:185px}.portrait{width:260px}h1{font-size:clamp(60px,8vw,92px)}.hero-copy{font-size:20px}.role-card{padding:22px}.role-card h3{font-size:26px}.section{gap:50px}.contact{min-height:450px}.footer-art{width:66vw}}
@media(max-width:820px){.desktop-nav{display:none}.utilities{margin-left:auto;gap:10px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;border:0;border-radius:8px}.menu-toggle span{width:18px;height:1.5px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.mobile-nav:not([hidden]){position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:column;padding:12px 28px 22px;border-bottom:1px solid var(--line);background:var(--bg);box-shadow:0 18px 32px #0000000d;transform-origin:top}.mobile-nav a{padding:12px 0;font-size:16px}.header-inner{height:76px}.wordmark{font-size:22px}.hero{grid-template-columns:1fr 210px;gap:24px;padding-top:80px;padding-bottom:175px}.portrait{width:210px}.hero-copy{font-size:18px}h1{font-size:clamp(45px,8vw,72px)}.roles-grid{gap:12px}.role-card{padding:22px 17px}.card-arrow{width:17px}.card-top{gap:5px;margin-bottom:25px}.role-card h3{font-size:24px}.role-description{font-size:14px}.section h2{font-size:32px}.section{gap:34px}.about-copy>p,.writing-content>p{font-size:16px}.footer-art{width:75vw}}
@media(max-width:620px){html{scroll-padding-top:92px}.shell{width:calc(100% - 40px)}.header-inner{width:calc(100% - 32px);height:72px;gap:8px}.wordmark{font-size:20px;letter-spacing:-.75px}.utilities{gap:3px}.utility-divider{display:none}.lang-button{padding:9px 6px;font-size:11px;gap:4px}.flag{width:16px;height:11px}.icon-button{width:38px;min-height:44px;height:44px;border:0;border-radius:9px}.icon-button .icon{width:20px;height:20px}.menu-toggle{width:32px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:34px;padding-bottom:82px;gap:124px}.portrait{order:-1;width:100%;max-width:500px;align-self:center}.portrait-frame{width:100%}.intro{width:100%}.hero .eyebrow{font-size:11px;margin-bottom:30px}h1{font-size:clamp(48px,13.1vw,80px);font-weight:550;letter-spacing:-.065em;margin-bottom:21px}.hero-copy{font-size:18px;line-height:1.65;max-width:450px;letter-spacing:-.2px}.hero-ribbon{width:760px;max-width:none;height:auto;transform:none;left:calc(50% - 395px);top:calc(min(100vw - 40px,500px) - 65px);bottom:auto}.roles{padding-top:24px;padding-bottom:88px}.roles-title{font-size:25px;letter-spacing:-.85px;margin-bottom:34px}.roles-grid{grid-template-columns:1fr;gap:12px}.role-card{padding:32px 25px;border-radius:15px}.card-top{margin-bottom:29px}.role-card h3{font-size:29px}.role-description{font-size:15px;margin-top:12px;max-width:440px}.section{grid-template-columns:1fr;gap:32px;padding:72px 0 78px}.section h2{font-size:33px;letter-spacing:-1.2px}.about-copy>p,.writing-content>p{font-size:17px;line-height:1.75}.contact{min-height:490px;justify-content:flex-start;padding-top:88px;padding-bottom:165px;gap:27px}.contact h2{font-size:42px;letter-spacing:-1.6px}.contact-actions{gap:8px}.button{padding:12px 17px;gap:25px;font-size:14px}.footer-art{width:100%;height:400px;mask-image:linear-gradient(to right,transparent 0%,#000 84%),linear-gradient(to bottom,transparent 0%,#000 78%);mask-composite:intersect}.footer-meta{gap:12px;font-size:11px;padding-top:19px;padding-bottom:23px}.footer-name{font-size:16px}}
@media(max-width:360px){.wordmark{font-size:18px}.header-inner{width:calc(100% - 24px)}.lang-button{padding:8px 4px;gap:3px}.lang-button span{font-size:10px}.flag{width:14px;height:10px}.utilities{gap:0}.icon-button{width:33px}.menu-toggle{width:29px}.hero-copy{font-size:17px}.hero .eyebrow{font-size:10px}.contact h2{font-size:37px}.button{gap:18px}.footer-meta{font-size:10px;gap:8px}.footer-name{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.role-card:hover,.button:hover,.icon-button:hover{transform:none}}

/* Native, expandable CV. No scroll capture or fixed-height inner panel. */
[hidden]{display:none!important}
.career{border-top:1px solid var(--line);padding-block:104px 120px;scroll-margin-top:18px}
.cv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:56px}
.cv-header h2{max-width:520px;font-size:42px;font-weight:500;line-height:1.18;letter-spacing:-1.7px;margin:0}
.cv-filters{display:flex;gap:5px;flex-wrap:wrap;flex-shrink:0}.cv-filters button{border:1px solid transparent;border-radius:100px;background:transparent;color:var(--muted);padding:10px 17px;font-size:13px;font-weight:500;min-height:44px;transition:background .18s,color .18s}.cv-filters button:hover{color:var(--ink);background:var(--soft)}.cv-filters button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.cv-group{display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:32px;margin-bottom:48px}.cv-group:last-child{margin-bottom:0}.cv-group-title{grid-column:1;grid-row:1 / span 15;margin:0;padding-top:30px;color:var(--muted);font-size:15px;font-weight:500;letter-spacing:-.2px}
.cv-entry{grid-column:2;border-bottom:1px solid var(--line);scroll-margin-top:22px}.cv-entry:first-of-type{border-top:1px solid var(--line)}.cv-entry summary{display:grid;grid-template-columns:135px minmax(0,1fr) 36px;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:27px 0;min-height:96px}.cv-entry summary::-webkit-details-marker{display:none}.cv-entry summary::marker{content:''}.cv-entry summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px;border-radius:3px}.cv-date{font-size:12px;line-height:1.6;color:var(--muted);font-variant-numeric:tabular-nums}.cv-org{display:block;margin-bottom:6px;font-size:23px;line-height:1.25;letter-spacing:-.7px;font-weight:550}.cv-role{display:inline;font-size:14px;color:var(--muted);margin-top:5px;line-height:1.6}.cv-focus{font-size:13px;color:var(--muted);line-height:1.6}.cv-focus:before{content:" · ";color:var(--accent);white-space:pre}.cv-toggle{position:relative;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;justify-self:end;transition:background .2s,border-color .2s}.cv-toggle:before,.cv-toggle:after{content:'';position:absolute;left:11px;top:16px;width:12px;height:1.5px;background:currentColor}.cv-toggle:after{transform:rotate(90deg);transition:transform .2s}.cv-entry[open] .cv-toggle{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cv-entry[open] .cv-toggle:after{transform:rotate(0)}.cv-entry summary:hover .cv-org{color:var(--accent)}.cv-detail{padding:0 56px 34px 155px;max-width:860px}.cv-detail>p{font-size:16px;line-height:1.75;margin:0 0 20px}.cv-detail .cv-context{font-size:12px;color:var(--accent);letter-spacing:.01em}.cv-detail ul{padding:0 0 0 17px;margin:0 0 22px;color:var(--muted);font-size:15px;line-height:1.75}.cv-detail li{padding-left:4px;margin-bottom:12px}.cv-detail li::marker{color:var(--accent)}.cv-detail .cv-note{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:22px}.cv-external{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:550;min-height:44px;color:var(--ink)}.cv-external:hover{color:var(--accent)}.cv-external .icon{width:16px;height:16px}
@media(max-width:1100px){.cv-group{grid-template-columns:120px minmax(0,1fr);gap:24px}.cv-entry summary{grid-template-columns:112px minmax(0,1fr) 36px;gap:18px}.cv-detail{padding-left:130px}.cv-org{font-size:21px}}
@media(max-width:820px){.cv-header{align-items:flex-start;flex-direction:column;gap:25px}.cv-group{grid-template-columns:1fr;gap:0}.cv-group-title{grid-column:1;grid-row:auto;padding:0 0 18px}.cv-entry{grid-column:1}.cv-detail{padding-right:48px}.cv-header h2{font-size:38px}}
@media(max-width:620px){.career{padding-block:78px 90px}.cv-header{margin-bottom:38px;gap:24px}.cv-header h2{font-size:33px;letter-spacing:-1.2px}.cv-filters{gap:2px;flex-wrap:nowrap}.cv-filters button{font-size:12px;padding:10px 12px}.cv-group{margin-bottom:40px}.cv-group-title{font-size:13px;padding-bottom:14px}.cv-entry summary{grid-template-columns:minmax(0,1fr) 36px;gap:8px 16px;padding-block:24px}.cv-date{grid-column:1;font-size:11px}.cv-summary-copy{grid-column:1;grid-row:2}.cv-toggle{grid-column:2;grid-row:1 / span 2}.cv-org{font-size:22px;letter-spacing:-.6px}.cv-role{font-size:13px;margin-top:6px}.cv-detail{padding:0 0 27px}.cv-detail>p{font-size:15px;line-height:1.75}.cv-detail ul{font-size:14px}.cv-detail .cv-context{font-size:11px;margin-bottom:18px}.cv-detail .cv-note{font-size:11px}.cv-entry{scroll-margin-top:18px}}
@media(max-width:360px){.cv-filters button{padding-inline:9px;font-size:11px}.cv-org{font-size:21px}}

/* Square photo stack. The three neutral images are clearly temporary. */
.photo-stack{width:min(100%,360px);margin:32px 0 36px}.stack-stage{position:relative;aspect-ratio:1;margin:0 12px 18px 0;touch-action:pan-y;user-select:none;cursor:grab;outline-offset:12px}.stack-stage:active{cursor:grabbing}.stack-stage:focus-visible{outline:2px solid var(--accent);border-radius:18px}.stack-photo{position:absolute;inset:0;border:7px solid #fff;border-radius:17px;background:#fff;box-shadow:0 10px 22px #15141317;transform-origin:50% 80%;transition:transform .5s cubic-bezier(.22,.68,0,1.03);pointer-events:none;will-change:transform}.stack-photo img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;pointer-events:none}.stack-photo[data-rank="0"]{z-index:3;transform:translate(0,0) rotate(0)}.stack-photo[data-rank="1"]{z-index:2;transform:translate(3%,2%) rotate(3deg)}.stack-photo[data-rank="2"]{z-index:1;transform:translate(5%,4%) rotate(6deg)}.photo-stack figcaption{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;min-height:44px}.stack-count{font-variant-numeric:tabular-nums}.stack-controls{margin-left:auto;display:flex;gap:2px}.stack-controls button{display:grid;place-items:center;width:40px;height:44px;border:0;background:transparent;border-radius:50%;color:var(--muted)}.stack-controls button:hover{background:var(--soft);color:var(--ink)}.stack-controls .icon{width:17px;height:17px}.stack-play-icon{display:none}.stack-controls [aria-pressed=true] .stack-pause-icon{display:none}.stack-controls [aria-pressed=true] .stack-play-icon{display:block}.cv-focus{font-size:13px}.cv-summary-copy{line-height:1.6}
/* Original photographs are framed in the page; their source pixels stay unchanged. */
.photo-window{position:absolute;inset:0;border-radius:10px;overflow:hidden;background:#fff}
.photo-window img{display:block;width:100%;height:100%;object-fit:cover}
.stack-photo[data-stack-hidden=true]{transform:translate(5%,4%) rotate(6deg);opacity:0}
.cv-photo{width:min(100%,360px);margin:32px 0 36px}
.single-photo-stage{position:relative;aspect-ratio:1;margin-right:12px}
.single-photo{position:absolute;inset:0;border:7px solid #fff;border-radius:17px;background:#fff;box-shadow:0 10px 22px #15141317}
@media(max-width:620px){.cv-photo{max-width:330px}.single-photo{border-width:6px}}
/* The post is a card, and opens on this same page. */
.writing.section{display:block;padding-block:100px 120px}.writing .section-heading{margin-bottom:42px}.post-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card);display:grid;grid-template-columns:280px minmax(0,1fr);max-width:900px;margin-left:auto}.post-cover{overflow:hidden;background:#eae6e3;min-height:320px}.post-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%}.post-main{padding:38px 42px;align-self:center}.post-meta{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:22px}.post-meta>span{color:var(--ink);font-weight:550}.post-main h3{font-size:30px;line-height:1.2;letter-spacing:-1px;font-weight:550;margin:0 0 18px}.post-excerpt{font-size:16px;line-height:1.7;margin:0;color:var(--muted)}.post-more{display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:8px 0;border:0;background:none;color:var(--accent);font-size:13px;font-weight:550;margin-top:17px}.post-more:after{content:'+';font-size:20px;font-weight:400}.post-more[aria-expanded=true]:after{content:'−'}.post-body{grid-column:1 / -1;padding:6px 54px 42px;font-size:17px;line-height:1.8;max-width:800px;margin:auto}.post-body p{margin:24px 0 0}.post-body .post-signature{font-size:22px;letter-spacing:-.6px;font-weight:500;color:var(--accent);margin-top:32px}.post-card.is-expanded .post-cover{min-height:320px}
@media(min-width:821px){.cv-header h2{max-width:490px}.writing .section-heading h2{font-size:40px}.cv-header{align-items:center}}
@media(max-width:820px){.post-card{grid-template-columns:220px minmax(0,1fr)}.post-main{padding:28px}.post-main h3{font-size:27px}.post-body{padding:0 32px 36px}.cv-header h2{max-width:540px}}
@media(max-width:620px){.cv-header h2{max-width:330px}.cv-focus{font-size:12px}.photo-stack{max-width:330px;margin-top:28px;margin-bottom:30px}.stack-photo{border-width:6px}.writing.section{padding-block:78px 90px}.writing .section-heading{margin-bottom:30px}.post-card{display:block;border-radius:17px}.post-cover,.post-card.is-expanded .post-cover{height:200px;min-height:0}.post-cover img{object-position:50% 32%;width:100%;height:100%}.post-main{padding:26px 24px 24px}.post-meta{font-size:10px;gap:7px 12px;margin-bottom:17px}.post-main h3{font-size:26px;letter-spacing:-.8px;margin-bottom:14px}.post-excerpt{font-size:15px;line-height:1.65}.post-more{margin-top:13px}.post-body{padding:0 24px 30px;font-size:15px;line-height:1.8}.post-body p:first-child{margin-top:0}.post-body .post-signature{font-size:21px}}
@media(prefers-reduced-motion:reduce){.stack-photo{transition:none!important}.mobile-nav{animation:none!important}}
.roles-title,.cv-header h2{font-size:42px;line-height:1.18;letter-spacing:-1.7px;font-weight:500}
@media(max-width:820px){.roles-title,.cv-header h2{font-size:38px}}
@media(max-width:620px){.roles-title,.cv-header h2{font-size:33px;letter-spacing:-1.2px}}

/* Set the SVG data-style to "crisp" to restore the original still ribbon. */
.hero-ribbon[data-style=soft]{filter:blur(12px);opacity:.88}
.hero-ribbon[data-style=soft] .ribbon-motion{animation:ribbon-float 18s ease-in-out infinite;transform-origin:center;will-change:transform}
@keyframes ribbon-float{0%,100%{transform:translateY(-12px)}50%{transform:translateY(14px)}}
@media(min-width:1024px){.hero{grid-template-columns:minmax(0,1fr) 352px}.portrait{width:100%}}
@media(max-width:620px){.hero-ribbon[data-style=soft]{filter:blur(7px)}.hero-ribbon[data-style=soft] .ribbon-motion{animation-name:ribbon-float-mobile}}
@keyframes ribbon-float-mobile{0%,100%{transform:translateY(-9px)}50%{transform:translateY(11px)}}
@media(prefers-reduced-motion:reduce){.hero-ribbon .ribbon-motion{animation:none!important;will-change:auto}}

/* Compact group breaks without creating unused grid rows at tablet widths. */
.cv-group{row-gap:0;margin-bottom:50px}
.cv-group-title{grid-row:1}
@media(max-width:820px){.cv-group-title{grid-row:auto}}
@media(max-width:620px){.cv-group{margin-bottom:46px}}

/* A continuous warm light surface, with a soft fold and independent deformation. */
.hero-ribbon[hidden]{display:none}
.hero-aura{position:absolute;pointer-events:none;z-index:1;left:50%;bottom:-28px;width:calc(100vw + 160px);height:320px;transform:translateX(-50%);mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 76%,transparent)}
.aura-surface{display:block;width:100%;height:100%;overflow:visible}
.aura-halo{filter:blur(44px);opacity:.38}
.aura-body{filter:blur(22px);opacity:.76}
.aura-light{filter:blur(14px);opacity:.75}
[data-theme=dark] .hero-aura{opacity:1}
[data-theme=dark] .aura-body{opacity:1}
[data-theme=dark] .aura-halo{opacity:.32}
[data-theme=dark] .aura-light{opacity:.65}
@media(max-width:620px){
 .hero-aura{width:730px;height:195px;top:calc(min(100vw - 40px,500px) - 35px);bottom:auto}
 .aura-halo{filter:blur(38px)}
 .aura-body{filter:blur(24px)}
}

/* Legal footer */
.footer-meta{flex-wrap:wrap;gap:18px 28px}.legal-links{display:flex;gap:22px;font-size:13px}.legal-links a:hover{color:var(--accent)}
.legal-panels{position:relative;padding-bottom:30px}.legal-panel:not([open]){display:none}.legal-panel{scroll-margin-top:120px;border-top:1px solid var(--line);padding:28px 0 40px}.legal-panel summary{cursor:pointer;font-size:24px;letter-spacing:-.5px;font-weight:550}.legal-copy{max-width:760px;padding-top:16px;font-size:15px;line-height:1.75}.legal-copy h3{font-size:17px;margin:30px 0 10px}.legal-copy p{margin:12px 0}.legal-copy a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.legal-panel summary:focus-visible{outline:3px solid var(--accent);outline-offset:7px}
@media(max-width:620px){.legal-links{width:100%;order:4}.legal-copy{font-size:14px}.legal-panel summary{font-size:22px}}
