/* The foyer's geometry continues as a quiet, responsive layer behind the résumé. */
.cine-chapter{position:relative;isolation:isolate}
#hero-name:focus,#resume-surface h2[tabindex="-1"]:focus{outline:none}
.chapter-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:paint}
.chapter-depth{position:absolute;inset:0;transform:translate3d(var(--chapter-x,0px),var(--chapter-y,0px),0);transition:transform 1.7s var(--ease)}
.chapter-orbit{position:absolute;width:660px;height:660px;border:1px solid #9a793c22;border-radius:50%;right:-220px;top:-190px;transform:rotate(-30deg)}
.chapter-orbit:after{content:'';position:absolute;width:7px;height:7px;left:14.5%;top:14.5%;border:1px solid #9a793c77;transform:rotate(45deg);background:var(--ivory)}
.chapter-orbit.orbit-outer{width:830px;height:830px;right:-300px;top:-270px;border-color:#9a793c12;border-left-color:#9a793c44}
.chapter-axis{position:absolute;right:0;top:0;height:100%;width:1px;background:linear-gradient(180deg,transparent,#9a793c25,transparent);transform:rotate(38deg);transform-origin:center}
.hero .chapter-orbit{width:800px;height:800px;right:-115px;top:-160px;border-color:#9a793c33}
.hero .chapter-orbit.orbit-outer{width:990px;height:990px;right:-205px;top:-255px;border-color:#9a793c19}
.perspective .chapter-orbit{right:auto;left:-410px;top:-125px}
.perspective .chapter-orbit.orbit-outer{left:-495px;top:-210px}
.experience-section .chapter-orbit{right:-300px;top:200px}
.experience-section .chapter-orbit.orbit-outer{right:-380px;top:120px}
.polis-section .chapter-orbit,.contact-section .chapter-orbit{border-color:#d9c89933}
.polis-section .chapter-orbit.orbit-outer,.contact-section .chapter-orbit.orbit-outer{border-color:#d9c8991a;border-left-color:#d9c89944}
.polis-section .chapter-orbit:after,.contact-section .chapter-orbit:after{background:var(--blue);border-color:#d9c89988}
.js-motion .chapter-orbit{animation:chapterOrbit 64s linear infinite;animation-play-state:paused}
.js-motion .chapter-orbit.orbit-outer{animation-duration:94s;animation-direction:reverse}
.js-motion .ambient-in-view .chapter-orbit{animation-play-state:running}
.chapter-number{font-family:'Estate Roman',var(--serif);font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:45px;height:45px;border:1px solid #9a793c44;position:relative;vertical-align:middle;background:#f7f3eb77;letter-spacing:.03em;margin-right:20px}
.chapter-number:after{content:'';position:absolute;inset:5px;border:1px solid #9a793c33;transform:rotate(0);transition:transform 1.5s var(--ease),border-color 1.5s}
.js-motion .section-heading:not(.visible) .chapter-number:after{transform:rotate(-45deg);border-color:transparent}
.section-heading.visible .chapter-number:after{transform:rotate(0)}
.polis-section .chapter-number,.contact-section .chapter-number{background:#102d2722;border-color:#d9c89955}
.polis-section .chapter-number:after,.contact-section .chapter-number:after{border-color:#d9c89933}
.expertise-number,.vision-index,.polis-wordmark{font-family:'Estate Roman',var(--serif)}
.expertise-grid{gap:25px;padding-top:30px}
.expertise-grid>.reveal{padding:28px 24px;border:1px solid #b7a57955;background:#fff5;box-shadow:0 2px 0 #9a793c0a;transition:opacity 1.1s var(--ease),transform 1.35s var(--ease),box-shadow .7s var(--ease),border-color .7s}
.expertise-grid>.reveal:after{bottom:0;left:24px;right:24px}
.expertise-number{font-size:25px}
.tactile-surface{position:relative;--light-x:50%;--light-y:50%;--tilt-x:0deg;--tilt-y:0deg}
.tactile-surface>:not(.surface-foil):not(.surface-corner){position:relative;z-index:1}
.surface-foil{position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;background:radial-gradient(220px circle at var(--light-x) var(--light-y),#d9c89922,transparent 72%);opacity:0;transition:opacity .7s}
.surface-corner{position:absolute;inset:8px;pointer-events:none;border:1px solid #9a793c40;clip-path:polygon(0 0,15px 0,15px 1px,1px 1px,1px 15px,0 15px,0 0,100% 100%,calc(100% - 15px) 100%,calc(100% - 15px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 15px),100% calc(100% - 15px),100% 100%);opacity:.45;transition:opacity .6s}
.tactile-surface:hover>.surface-foil,.tactile-surface:focus-within>.surface-foil{opacity:1}
.tactile-surface:hover>.surface-corner,.tactile-surface:focus-within>.surface-corner{opacity:1}
.expertise-grid>.reveal:hover,.expertise-grid>.reveal:focus-within{border-color:#9a793c88;box-shadow:0 14px 35px #1c3b3210}
.signature-rule .small-diamond{transition:transform 1.2s var(--ease)}
.signature-rule:hover .small-diamond{transform:rotate(225deg)}
.timeline{position:relative}
.timeline:before{content:'';position:absolute;top:0;bottom:0;left:9px;width:1px;background:#b9a37588;z-index:1;pointer-events:none}
.role{padding-left:30px}
.role-marker{position:absolute;left:4px;top:42px;width:11px;height:11px;border:1px solid var(--gold);background:var(--paper);transform:rotate(45deg);transition:background .55s,box-shadow .55s,transform .7s var(--ease);z-index:2}
.role[open]:not(.role-closing) .role-marker{background:var(--gold);box-shadow:0 0 0 5px #9a793c16;transform:rotate(135deg)}
.role[open]{background:linear-gradient(100deg,#fff5,transparent 85%);box-shadow:inset 1px 0 #9a793c44}
.role summary{padding-left:12px;padding-right:12px}
.role-content{position:relative;padding-left:217px}
.role-content:before{content:'';position:absolute;top:0;bottom:36px;left:12px;width:1px;background:linear-gradient(var(--gold),transparent);opacity:.6;transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease)}
.role[open]:not(.role-closing) .role-content:before{transform:scaleY(1)}
.product-vision{border-color:#a38d5466;background:linear-gradient(145deg,#1d4359,#142f43);box-shadow:0 25px 55px #0a223344}
.product-vision>.surface-corner{border-color:#d9c89988}
.product-vision>.surface-foil{background:radial-gradient(300px circle at var(--light-x) var(--light-y),#d9c8991e,transparent 75%)}
.tactile-inner{position:relative;transform:perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform 1.1s var(--ease);transform-origin:center}
.vision-heading{padding-bottom:12px}
.vision-index{font-size:17px;letter-spacing:.04em}
.vision-instrument{height:118px;position:relative;display:flex;align-items:center;justify-content:center;margin:0 0 14px;overflow:hidden}
.instrument-rule{position:absolute;height:1px;left:0;right:0;top:50%;background:linear-gradient(90deg,transparent,#d9c89933,transparent)}
.instrument-ring{width:96px;height:96px;border:1px solid #d9c89966;border-radius:50%;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 9px #d9c89903}
.instrument-ring:before{content:'';position:absolute;inset:15px;border:1px solid #d9c8992a;border-radius:50%}
.instrument-center{font-family:'Estate Roman',var(--serif);font-size:12px;letter-spacing:.1em;color:var(--pale-gold)}
.instrument-point{position:absolute;inset:-1px;transform:rotate(var(--instrument-angle,-90deg));transition:transform 1s var(--ease)}
.instrument-point:after{content:'';position:absolute;top:50%;right:-3px;width:7px;height:7px;border:1px solid #f0deae;background:var(--pale-gold);box-shadow:0 0 14px #d9c899aa;transform:translateY(-50%) rotate(45deg)}
.instrument-star{position:absolute;inset:27px;border:1px solid #d9c89966;transform:rotate(45deg);transition:transform 1.3s var(--ease)}
.product-vision:hover .instrument-star,.product-vision:focus-within .instrument-star{transform:rotate(135deg)}
.vision-symbol{font-family:'Estate Roman',var(--serif);font-size:76px;font-style:normal;color:#607d8b;opacity:.4}
.vision-tabs button{transition:color .5s,text-shadow .5s}
.vision-tabs button:hover,.vision-tabs button:focus-visible{text-shadow:0 0 15px #d9c89966;color:var(--pale-gold)}
.foundations-grid>.reveal{position:relative}
.foundation-seal{width:54px;height:54px;border:1px solid #9a793c77;margin-bottom:29px;display:flex;align-items:center;justify-content:center;position:relative;color:var(--gold);font-family:'Estate Roman',var(--serif);font-size:21px}
.foundation-seal:before{content:'';position:absolute;inset:8px;border:1px solid #9a793c55;transform:rotate(45deg);transition:transform 1.7s var(--ease)}
.js-motion .reveal:not(.visible) .foundation-seal:before{transform:rotate(-45deg)}
.foundations-grid>.reveal:hover .foundation-seal:before{transform:rotate(135deg)}
.foundations-grid .surface-foil{inset:-15px}
.foundations-grid .surface-corner{display:none}
.contact-section{background:radial-gradient(ellipse at 80% 90%,#21445b66,transparent 70%),var(--green-deep);color:var(--ivory)}
.contact-section .chapter-number,.contact-section h2 em,.contact-section .small-diamond{color:var(--pale-gold)}
.contact-section .section-note,.contact-grid p{color:#c4cdbc}
.contact-section .section-heading:after{background:#d9c89944}
.contact-email{border-color:#d9c89988;transition:color .4s,text-shadow .6s,padding-bottom .6s}
.contact-email:hover,.contact-email:focus-visible{color:var(--pale-gold);text-shadow:0 0 25px #d9c89933;padding-bottom:12px}
.contact-section .button-green{background:#f7f3eb;color:var(--green-deep);border-color:var(--ivory)}
.contact-section .button-green:hover,.contact-section .button-green:focus-visible{background:var(--pale-gold);border-color:var(--pale-gold);box-shadow:0 8px 25px #0002}
.contact-section .copy-email{color:var(--ivory)}
.contact-section .copy-status{color:#d9c899}
.contact-monogram{position:absolute;right:3%;bottom:-.18em;font-family:'Estate Roman',var(--serif);font-size:clamp(220px,30vw,480px);line-height:1;color:#d9c89906;letter-spacing:.08em;transform:translate3d(calc(var(--chapter-x,0px) * -1),calc(var(--chapter-y,0px) * -1),0);transition:transform 2s var(--ease)}
.contact-section .chapter-orbit{top:50px;right:-140px}
.contact-section .chapter-orbit.orbit-outer{top:-40px;right:-230px}
.contact-section .chapter-orbit:after{background:var(--green-deep)}
.contact-links>.surface-corner{inset:-22px;border-color:#d9c89966}
.contact-links>.surface-foil{inset:-22px;background:radial-gradient(260px circle at var(--light-x) var(--light-y),#d9c89912,transparent 75%)}
.contact-links.copied .contact-email{animation:contactConfirm .85s var(--ease)}
.contact-links.copied .surface-corner{animation:confirmFrame .85s ease}
.tactile-enhanced .button:active{transform:translateY(0) scale(.98);box-shadow:none}
.tactile-enhanced .text-link:active{opacity:.7}
.tactile-enhanced nav a:before{content:'';position:absolute;left:50%;top:-12px;width:4px;height:4px;border:1px solid var(--gold);transform:translate(-50%,5px) rotate(45deg);opacity:0;transition:transform .55s var(--ease),opacity .55s}
.tactile-enhanced nav a:hover:before,.tactile-enhanced nav a:focus-visible:before,.tactile-enhanced nav a[aria-current]:before{opacity:1;transform:translate(-50%,0) rotate(45deg)}
.experience-settings{max-height:calc(100svh - 105px);overflow-y:auto}
.motion-paused .chapter-depth,.motion-paused .tactile-inner,.motion-paused .contact-monogram{transform:none!important}
@keyframes chapterOrbit{from{transform:rotate(-30deg)}to{transform:rotate(330deg)}}
@keyframes contactConfirm{50%{color:#e9d397;text-shadow:0 0 28px #d9c89988}}
@keyframes confirmFrame{50%{opacity:1;filter:brightness(1.7)}}
@media(max-width:1050px){.expertise-grid{gap:18px}.expertise-grid>.reveal{padding:24px 20px}.expertise-grid h3{font-size:27px}.role summary{grid-template-columns:145px 1fr 36px;gap:20px}.role-content{padding-left:177px}.chapter-number{font-size:22px;min-width:42px;height:42px}}
@media(max-width:700px){.chapter-number{font-size:21px;min-width:37px;height:37px;margin-right:12px}.chapter-number:after{inset:4px}.hero .chapter-orbit{width:620px;height:620px;right:-360px;top:30px}.hero .chapter-orbit.orbit-outer{width:800px;height:800px;right:-450px;top:-60px}.chapter-orbit{width:510px;height:510px;right:-340px;top:-150px}.chapter-orbit.orbit-outer{width:650px;height:650px;right:-410px;top:-220px}.expertise-grid{gap:20px;margin-top:38px}.expertise-grid>.reveal{padding:24px 20px;grid-template-columns:28px 1fr;column-gap:14px}.expertise-number{font-size:22px}.expertise-grid h3{font-size:27px}.role{padding-left:20px}.role-marker{left:4px;top:33px;width:10px;height:10px}.role summary{padding:24px 8px;grid-template-columns:1fr 32px;gap:8px 10px}.company{font-size:26px}.role-content{padding:0 15px 28px 8px}.role-content:before{display:none}.vision-instrument{height:105px;margin-bottom:10px}.instrument-ring{width:85px;height:85px}.instrument-ring:before{inset:13px}.instrument-star{inset:25px}.vision-panel{min-height:400px}.foundation-seal{width:48px;height:48px;font-size:19px;margin-bottom:25px}.contact-links>.surface-corner,.contact-links>.surface-foil{inset:-12px}.contact-monogram{font-size:230px;right:-20px;bottom:-25px}.contact-section .chapter-orbit{right:-250px;top:190px}.contact-section .chapter-orbit.orbit-outer{right:-325px;top:120px}.tactile-inner{transform:none!important}.experience-settings{width:min(285px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.chapter-depth,.tactile-inner,.contact-monogram{transform:none!important}.chapter-orbit{animation:none!important}}
@media(max-width:700px){.section-heading{gap:15px}.js-motion.motion-enhanced .section-heading:after{display:none}.section-heading .eyebrow{display:flex;align-items:center;white-space:nowrap;flex-shrink:0;font-size:11px;letter-spacing:.1em}.section-heading .section-note{font-size:11px;max-width:100px}.section-heading>.text-link{font-size:12px}}

/* The résumé’s strategic range, in short, scannable line items. */
.expertise-list{list-style:none;padding:0;margin:0;color:var(--muted);font-size:15px}
.expertise-list li{position:relative;padding:8px 0 8px 17px;border-top:1px solid #b7a57933}
.expertise-list li:before{content:"◆";position:absolute;left:0;top:11px;color:var(--gold);font-size:7px}
@media(max-width:700px){.expertise-list{grid-column:2}}
