.services-feature{padding-bottom:48px}.service-stack-track{height:460svh;position:relative;margin-top:48px}.service-stack-stage{position:sticky;top:max(100px,calc((100svh - 640px)/2));height:min(640px,calc(100svh - 200px));perspective:1200px;isolation:isolate}.service-stack-card{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;border-radius:24px;overflow:hidden;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);color:var(--ink);z-index:calc(10 - var(--card-index));transform-origin:50% 0;will-change:transform,opacity;box-shadow:0 12px 32px #0000000c}.stack-copy{padding:clamp(24px,3vw,48px);display:flex;flex-direction:column;justify-content:center;min-width:0}.stack-number{font-size:16px;margin-bottom:24px;opacity:.55}.stack-copy h3{font:300 clamp(28px,3.5vw,54px)/1 'FAIRE Octave Trial Variable';text-transform:uppercase;margin:0 0 20px}.stack-copy h4{font:600 17px/1.35 'ABC Oracle';margin:0 0 16px}.stack-copy p{font:300 clamp(14px,1.2vw,18px)/1.5 'ABC Oracle';margin:0 0 22px}.stack-copy ul{display:flex;flex-wrap:wrap;gap:8px 14px;list-style:none;padding:0;margin:0;font:300 11px/1.4 'ABC Oracle';text-transform:uppercase}.stack-art{background:#121313;min-height:0;overflow:hidden}.stack-art img{width:100%;height:100%;object-fit:cover}.service-stack-card:nth-child(even){background:color-mix(in srgb,var(--paper) 94%,var(--ink))}
.flip-study-page .liquid-selector .board-info{width:auto!important;min-width:190px!important;max-width:none!important;height:44px!important;padding:6px 8px 6px 18px!important;border-radius:99px!important;background:color-mix(in srgb,var(--paper) 85%,var(--ink))!important;gap:16px!important;font:300 14px/1 'ABC Oracle'!important;white-space:nowrap}.flip-study-page .liquid-selector .board-info::after{position:static!important;inset:auto!important;content:'+'!important;display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid currentColor!important;border-radius:50%;opacity:1!important;font:24px/1 Arial}.flip-study-page .liquid-selector .board-info[aria-expanded=true]::after{content:'−'!important}
@media(max-width:809px){.service-stack-track{height:440svh;margin-top:32px}.service-stack-stage{top:max(80px,calc((100svh - 760px)/2));height:calc(100svh - 160px);max-height:760px}.service-stack-card{grid-template-columns:1fr;grid-template-rows:auto minmax(100px,1fr);border-radius:20px}.stack-copy{padding:22px}.stack-number{margin-bottom:12px;font-size:12px}.stack-copy h3{font-size:32px;margin-bottom:14px}.stack-copy h4{font-size:15px;margin-bottom:12px}.stack-copy p{font-size:14px;line-height:1.45;margin-bottom:16px}.stack-copy ul{font-size:10px}.stack-art img{object-fit:cover}}
@media(max-height:650px){.service-stack-stage{height:600px;position:relative;top:0}.service-stack-track{height:auto}.service-stack-card{position:relative;min-height:550px;margin-bottom:24px;transform:none!important;opacity:1!important;pointer-events:auto!important}}
@media(prefers-reduced-motion:reduce){.service-stack-track{height:auto}.service-stack-stage{position:relative;top:0;height:auto;perspective:none}.service-stack-card{position:relative;min-height:560px;margin-bottom:24px;transform:none!important;opacity:1!important;pointer-events:auto!important;will-change:auto}}

.services-feature .stack-copy h4{font-family:"ABC Oracle",Arial,sans-serif!important;font-weight:400!important;font-variation-settings:normal!important;font-feature-settings:normal!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important}
.stack-art img{display:block}

/* Reference-style capsule with a filled circular action at its right edge. */
.flip-study-page .liquid-selector .board-info{min-width:0!important;width:max-content!important;max-width:calc(100vw - 40px)!important;height:52px!important;min-height:52px!important;padding:7px 7px 7px 22px!important;gap:22px!important;background:var(--ink)!important;color:var(--paper)!important;border:0!important;box-shadow:none!important;font:400 15px/1.2 'ABC Oracle',Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;transition:filter .2s!important}
.flip-study-page .liquid-selector .board-info::after{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;background:var(--paper)!important;color:var(--ink)!important;border:0!important;font:300 27px/1 Arial!important}
.flip-study-page .liquid-selector .board-info:hover{filter:brightness(1.12)}
/* The story trigger is reparented directly into board-stage. */
.octave-home .story-lockup .board-story-info{display:flex!important;align-items:center;justify-content:center;gap:20px;width:max-content!important;min-width:0!important;max-width:calc(100% - 40px);height:54px!important;padding:7px 8px 7px 24px!important;box-sizing:border-box;border:0!important;border-radius:999px!important;background:#242424!important;color:#fff!important;font:400 15px/1 'ABC Oracle',Arial,sans-serif!important;white-space:nowrap!important;font-style:normal!important;right:auto;bottom:auto;transform:none!important;top:calc(var(--prompt-y,600px) + 44px)}
.octave-home .story-lockup .board-story-info::before{display:none!important}
.octave-home .story-lockup .board-story-info::after{content:'+';position:static;display:grid;place-items:center;width:38px;height:38px;flex:none;border:0;border-radius:50%;background:#007aff;color:white;font:300 28px/1 Arial;opacity:1}
.octave-home .story-lockup .board-story-info[hidden]{display:none!important}
.service-stack-stage{height:min(640px,calc(100svh - 200px))}.service-stack-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.stack-art{position:relative;aspect-ratio:1;width:100%;height:auto;align-self:center;background:#e5dfd2}.stack-art img,.stack-art canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.stack-art canvas{opacity:0}.stack-art.art-ready canvas{opacity:1}.stack-art.art-ready img,.stack-art img[hidden]{display:none}.stack-art[data-edition=art]{background:#f4ead2}.stack-art[data-edition=sketch]{background:#f2eee4}.stack-art[data-edition=glass]{background:#d9e0e3}
@media(max-width:809px){.service-stack-track{height:auto}.service-stack-stage{position:relative;top:0;height:auto;max-height:none;perspective:none}.service-stack-card{position:relative;display:flex;flex-direction:column;align-items:stretch;inset:auto;min-height:0;margin-bottom:32px;transform:none!important;opacity:1!important;pointer-events:auto!important;will-change:auto}.stack-copy{padding:32px 28px}.stack-copy h3{font-size:32px;margin-bottom:20px}.stack-copy h4{margin-bottom:18px}.stack-copy p{font-size:16px;line-height:1.6;margin-bottom:24px}.stack-copy ul{gap:10px 16px;font-size:11px}.stack-art{flex:none;aspect-ratio:1;height:auto;width:100%}}
@media(max-width:809px) and (min-height:651px) and (prefers-reduced-motion:no-preference){.service-stack-track{height:600svh}.service-stack-stage{position:sticky;height:calc(100vw + 500px);max-height:none;top:min(80px,calc(100svh - 100vw - 532px));perspective:1200px}.service-stack-card{position:absolute;inset:0;margin:0;display:flex;transform:translate3d(0,var(--stack-y,0px),0) scale(var(--stack-scale,1)) rotateX(var(--stack-tilt,0deg))!important;opacity:var(--stack-opacity,1)!important}.stack-copy{flex:1}.stack-art{margin-top:auto}}
/* Quiet, edition-aware controls using the portfolio's own palette. */
.octave-home .story-lockup .piece-prompt{display:none!important}
.octave-home .story-lockup .board-story-info{top:var(--prompt-y,600px);background:color-mix(in srgb,var(--ink) 7%,var(--paper))!important;color:var(--ink)!important;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent)!important;font-family:'FAIRE Octave Trial Variable',serif!important;font-weight:300!important;font-feature-settings:'dlig' 1,'ss01' 1,'ss06' 1,'ss11' 1!important;text-transform:uppercase;font-size:17px!important}
.octave-home .story-lockup .board-story-info::after{background:var(--ink)!important;color:var(--paper)!important;width:32px;height:32px;font-size:23px}
/* A single proportional composition scales down with the available width. */
.service-stack-stage{container-type:inline-size}
.service-stack-card{padding:12px;box-sizing:border-box;border-radius:24px;box-shadow:none;background:var(--paper);gap:0}
.service-stack-card:nth-child(even){background:var(--paper)}
.stack-art{border-radius:16px;overflow:hidden}
@media(min-width:810px){
 .service-stack-stage{height:auto;aspect-ratio:1.75;top:max(90px,calc((100svh - min(640px,57vw))/2));max-height:none}
 .service-stack-card{grid-template-columns:1.15fr 1fr;padding:1.2cqw;border-radius:2.4cqw}
 .stack-copy{padding:3.2cqw}
 .stack-number{font-size:1.5cqw;margin-bottom:2cqw}
 .stack-copy h3{font-size:4.4cqw!important;margin-bottom:1.8cqw}
 .stack-copy h4{font-size:1.65cqw!important;margin-bottom:1.4cqw}
 .stack-copy p{font-size:1.55cqw;line-height:1.5;margin-bottom:2cqw}
 .stack-copy ul{font-size:1cqw;gap:.8cqw 1.2cqw}
 .stack-art{border-radius:1.6cqw}
}
@media(max-width:809px){.service-stack-card{padding:12px;border-radius:24px}.stack-copy{padding:24px 16px 32px}.stack-art{border-radius:16px;width:100%;aspect-ratio:1}}
@media(min-width:810px) and (max-height:650px) and (prefers-reduced-motion:no-preference){.service-stack-track{height:460svh}.service-stack-stage{position:sticky;top:80px}.service-stack-card{position:absolute;min-height:0;margin:0;transform:translate3d(0,var(--stack-y,0px),0) scale(var(--stack-scale,1)) rotateX(var(--stack-tilt,0deg))!important;opacity:var(--stack-opacity,1)!important}}
.octave-home .story-lockup .board-story-info{font-family:'ABC Oracle',Arial,sans-serif!important;font-feature-settings:normal!important;font-variation-settings:normal!important;font-size:15px!important;text-transform:none!important}
@media(max-width:809px){
 .stack-copy{flex:none;justify-content:flex-start;padding:20px 16px 24px}
 .stack-number{font-size:11px;margin-bottom:12px}
 .stack-copy h3{font-size:clamp(24px,6vw,32px)!important;margin-bottom:14px}
 .stack-copy h4{font-size:14px!important;line-height:1.35!important;margin-bottom:14px}
 .stack-copy p{font-size:14px;line-height:1.45;margin-bottom:18px}
 .stack-copy ul{font-size:10px;gap:7px 12px}
 .stack-art{margin-top:0}
}
@media(max-width:809px) and (min-height:651px) and (prefers-reduced-motion:no-preference){
 .service-stack-stage{height:var(--mobile-card-height,740px);top:min(80px,calc(100svh - var(--mobile-card-height,740px) - 24px))}
 .service-stack-card{bottom:auto;height:auto}
}

/* Shared editorial typography and intrinsic card geometry. */
:root{--case-body-size:16px}
@media(min-width:561px) and (max-width:1279px){:root{--case-body-size:15px}}
.services-feature .stack-copy h3{font-size:var(--section-heading-size)!important;line-height:1!important;margin-bottom:20px}
.services-feature .stack-copy h4,.services-feature .stack-copy p{font-family:'ABC Oracle',Arial,sans-serif!important;font-size:var(--case-body-size)!important;line-height:1.5!important;letter-spacing:0!important}
.services-feature .stack-copy p{font-weight:300;margin-bottom:22px}
.services-feature .stack-copy h4{font-weight:400!important;margin-bottom:16px}
.stack-number{font-size:12px;margin-bottom:18px}
.stack-copy ul{font-size:11px;line-height:1.4;gap:8px 14px}
.service-stack-card{bottom:auto;height:auto;min-height:0}
@media(min-width:810px){
 .service-stack-stage{aspect-ratio:auto;height:var(--card-height,640px);top:max(80px,calc((100svh - var(--card-height,640px))/2))}
 .service-stack-card{align-items:center;padding:clamp(12px,1.2vw,20px)}
 .stack-copy{padding:clamp(24px,3vw,48px)}
 .stack-art{align-self:center}
}
@media(max-width:809px){.stack-copy{padding:20px 16px 24px}.services-feature .stack-copy h3{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.service-stack-stage{height:auto}}

.services-feature .stack-copy h3{font-size:clamp(24px,3.2vw,46px)!important}
@media(max-width:679px){.services-feature .stack-copy h3{font-size:clamp(13px,4.1vw,22px)!important}}
@media(min-width:810px){.service-stack-card{grid-template-columns:1fr 1fr}.stack-copy{padding:0 clamp(24px,3vw,48px)}}

@media(max-width:809px) and (prefers-reduced-motion:no-preference){
 .service-stack-track{height:420svh}
 .service-stack-stage{position:sticky;top:var(--stack-stop,100px);height:var(--mobile-card-height,620px);perspective:1200px}
 .service-stack-card{position:absolute;inset:0 0 auto;margin:0;transform:translate3d(0,var(--stack-y,0px),0) scale(var(--stack-scale,1)) rotateX(var(--stack-tilt,0deg))!important;opacity:var(--stack-opacity,1)!important}
 .stack-copy{padding:16px 14px 20px}
 .stack-number{margin-bottom:10px}
 .services-feature .stack-copy h3{margin-bottom:12px}
 .services-feature .stack-copy p,.services-feature .stack-copy h4{font-size:14px!important;line-height:1.4!important;margin-bottom:12px}
 .stack-copy ul{font-size:10px;gap:6px 10px}
}

.octave-home .story-lockup .board-story-info::after{transition:transform .4s ease}.octave-home .story-lockup .board-story-info[aria-expanded=true]::after{transform:rotate(45deg)}

.octave-home .story-lockup .board-story-info{padding:7px 7px 7px 20px!important;border:1px solid #ffffff80!important;background:linear-gradient(125deg,#ffffff25,transparent 45%,#ffffff28),color-mix(in srgb,var(--paper) 30%,transparent)!important;backdrop-filter:blur(9px) saturate(1.25);box-shadow:inset 1px 1px 1px #ffffff80,inset -1px -1px 1px #ffffffb0!important}
.octave-home .story-lockup .board-story-info::after{width:38px;height:38px;background:color-mix(in srgb,var(--ink) 8%,transparent)!important;color:var(--ink)!important}
.board-morph-shell{position:fixed;z-index:90;pointer-events:none;box-sizing:border-box;border:1px solid #ffffff80;background:linear-gradient(125deg,#ffffff25,transparent 45%,#ffffff28),color-mix(in srgb,var(--paper) 30%,transparent);backdrop-filter:blur(9px) saturate(1.25);box-shadow:inset 1px 1px 1px #ffffff80}
.board-preview[data-edition=sketch] .board-preview-gloss{background:linear-gradient(125deg,#ffffff25,transparent 65%),#d5d0bf25!important;box-shadow:inset 1px 1px 1px #ffffff80!important}
body.octave-home .jm-bar .jm-bar-inner{padding:7px!important;gap:10px}.jm-bar .jm-menu-toggle{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;margin-left:auto}.toolbar-section-label{font:400 15px/1 'ABC Oracle';pointer-events:none;z-index:2;color:var(--ink);white-space:nowrap}.toolbar-piece{flex-shrink:0}

/* Reference navbar: an inset identity capsule and a separate circular menu. */
body.octave-home .jm-bar .jm-bar-inner{display:flex!important;align-items:center!important;padding:4px!important;gap:10px!important;border:1px solid #ffffffa0!important;border-radius:999px!important;background:linear-gradient(125deg,#ffffff25,transparent 60%,#ffffff30)!important;box-shadow:none!important}
body .jm-bar .toolbar-home-capsule{position:relative;inset:auto;display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:1;min-width:0;height:100%;padding:0 12px;border:1px solid #ffffff55;border-radius:999px;background:linear-gradient(115deg,color-mix(in srgb,var(--ink) 10%,transparent),color-mix(in srgb,var(--ink) 4%,transparent));box-sizing:border-box;text-decoration:none;overflow:hidden}
body .jm-bar .toolbar-home-capsule .toolbar-piece{width:24px;height:36px;flex:0 0 24px;transform:rotate(-8deg)}
body .jm-bar .toolbar-section-label{font:400 15px/1 'ABC Oracle',Arial,sans-serif;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
body.octave-home .jm-bar .jm-menu-toggle{flex:0 0 44px;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;display:grid;place-items:center;border:1px solid #ffffff90!important;border-radius:50%!important;background:linear-gradient(135deg,color-mix(in srgb,var(--ink) 8%,transparent),color-mix(in srgb,var(--paper) 15%,transparent))!important;box-shadow:none!important;color:var(--ink)}
body .jm-bar .jm-menu-icon{position:relative;width:9px;height:2px;background:currentColor;display:block}
body .jm-bar .jm-menu-icon::before,body .jm-bar .jm-menu-icon::after{left:0;width:9px;height:2px;background:currentColor}
body .jm-bar .jm-menu-icon::before{top:-3px}body .jm-bar .jm-menu-icon::after{top:3px}
body .jm-bar [aria-expanded=true] .jm-menu-icon{background:transparent}body .jm-bar [aria-expanded=true] .jm-menu-icon::before,body .jm-bar [aria-expanded=true] .jm-menu-icon::after{top:0}

/* Match the supplied reference at the compact control scale. */
.octave-home .story-lockup .board-story-info{min-width:224px!important}
body.octave-home .jm-bar .jm-bar-inner{gap:11px!important;background:linear-gradient(120deg,#ffffff12,transparent 55%,#ffffff20)!important;border-color:#ffffffe0!important}
body .jm-bar .toolbar-home-capsule{gap:12px;padding-inline:14px;border-color:#ffffff70;background:linear-gradient(120deg,color-mix(in srgb,var(--ink) 10%,transparent),color-mix(in srgb,var(--ink) 5%,transparent));box-shadow:inset 0 1px 1px #ffffff35}
body .jm-bar .toolbar-home-capsule .toolbar-piece{height:40px;width:25px;flex-basis:25px}
body .jm-bar .toolbar-section-label{font-size:16px;font-weight:400;letter-spacing:0}
body.octave-home .jm-bar .jm-menu-toggle{border-color:#ffffffc0!important;background:linear-gradient(140deg,color-mix(in srgb,var(--ink) 7%,transparent),color-mix(in srgb,var(--ink) 3%,transparent))!important;color:color-mix(in srgb,var(--ink) 75%,var(--paper))}
body .jm-bar .jm-menu-icon,body .jm-bar .jm-menu-icon::before,body .jm-bar .jm-menu-icon::after{width:9px;height:1.5px}
body .jm-bar .jm-menu-icon::before{top:-3px}body .jm-bar .jm-menu-icon::after{top:3px}

body .jm-bar .jm-barnav .jm-barlink[aria-current=location]{background:color-mix(in srgb,var(--ink) 8%,transparent)!important;text-decoration:none}

.home-about .personal-background{margin-top:clamp(28px,4vw,56px);margin-bottom:clamp(36px,5vw,72px)}

#experience{scroll-margin-top:120px}

/* Give Hello distinct reading and board interaction beats with native scroll. */
.hello-bio-track{position:relative;overflow:visible}
.octave-home .hello-bio-track .hero-bottom{margin-bottom:0}
@media(prefers-reduced-motion:no-preference){.octave-home.flip-study-page .landing-section{height:200svh}}
