@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--paper:#f5f4ef;--ink:#20211f;--muted:#777973;--line:#d8d9d0;--blue:#2349eb;--acid:#d1fa8e;--ease:cubic-bezier(.2,.75,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:white}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}em{font-style:normal}h2{font-size:clamp(32px,4.2vw,66px);line-height:1.13;letter-spacing:-.055em;font-weight:500}.section-pad{padding:105px 6.25%}.eyebrow,.small-label,.edition,.project-index,.visual-top,.visual-bottom{font-size:10px;font-weight:650;letter-spacing:.12em;line-height:1.6}.eyebrow{display:inline-flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:var(--ink);color:white;z-index:100}.skip:focus{top:12px}.header{height:94px;padding:0 6.25%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.wordmark{font-family:Manrope,Arial,sans-serif;font-size:31px;letter-spacing:-1.8px;font-weight:800;display:inline-flex;align-items:baseline}.brand-dot{color:var(--blue)}.surname{font:500 10px 'DM Sans',Arial,sans-serif;letter-spacing:.08em;margin-left:7px}.header nav{display:flex;align-items:center;gap:34px;font-size:12px}.header nav>a{position:relative}.header nav>a:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav>a:hover:after{transform:scaleX(1)}nav a>span{font-size:9px;vertical-align:super;margin-left:4px}.header .nav-contact{border:1px solid var(--ink);border-radius:30px;padding:12px 19px}.nav-contact span{font-size:16px;vertical-align:baseline}.menu-toggle{display:none}.hero{padding-top:34px;padding-bottom:27px;overflow:hidden}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}.edition{color:var(--muted)}.hero-layout{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;min-height:565px;position:relative}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(64px,7.8vw,125px);line-height:1.03;letter-spacing:-.068em;font-weight:500;white-space:nowrap}.hero h1 em{color:var(--blue)}.hero-copy>p{font-size:15px;line-height:1.8;max-width:355px;margin:28px 0 30px;color:#62655d}.hero-actions{display:flex;gap:25px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-radius:40px;padding:17px 25px;font-size:12px;transition:transform .3s var(--ease),background .3s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:var(--blue)}.button span{font-size:20px}.text-link{font-size:11px;border-bottom:1px solid #aaa;padding-bottom:4px}.text-link span{margin-left:12px}.orbital{position:relative;height:490px;width:100%;min-width:0}.orbital canvas{width:100%;height:100%;display:block}.orbital:before,.orbital:after{content:'+';position:absolute;color:#aaa;font-size:20px;font-weight:300}.orbital:before{top:16%;left:10%}.orbital:after{bottom:19%;right:7%}.orbital-label{position:absolute;padding:9px 15px;border:1px solid #ccd2e5;border-radius:24px;background:#f5f4efe6;color:var(--blue);font-size:12px;box-shadow:0 4px 16px #1f3bcd07}.label-code{left:4%;top:34%;transform:rotate(-12deg)}.label-create{right:-1%;top:23%;transform:rotate(9deg)}.label-build{right:12%;bottom:21%;transform:rotate(-7deg)}.orbit-index{font-size:8px;letter-spacing:.12em;position:absolute;bottom:2%;left:30%;color:#7b7f8e}.hero-bottom{border-top:1px solid var(--line);padding-top:22px;font-size:10px;line-height:1.6}.hero-bottom strong{font-weight:500}.scroll-cue{font-size:9px;letter-spacing:.12em;display:flex;align-items:center;gap:25px}.scroll-cue span{font-size:28px;animation:nudge 2.5s infinite}.motion-toggle{border:0;background:none;font-size:10px;color:#65695f;padding:8px 0}.motion-toggle span{margin-left:8px}.discipline-strip{padding:25px 6.25%;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:11px;letter-spacing:.12em;overflow:hidden;white-space:nowrap}.discipline-strip b{font-size:23px;color:var(--blue);font-weight:400}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.section-heading .eyebrow,.about-title .eyebrow,.background .eyebrow{margin-bottom:22px}.section-heading>p{font-size:13px;line-height:1.8;color:#73766e;padding-bottom:7px}.muted{color:#93968e}.filters{display:flex;gap:6px;margin-bottom:34px}.filters button{background:none;border:1px solid transparent;border-radius:22px;padding:10px 17px;font-size:11px}.filters button.active{background:var(--ink);color:white}.filters button:not(.active):hover{border-color:var(--line)}.filters sup{font-size:8px;margin-left:7px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:48px 30px}.project{min-width:0}.project[hidden]{display:none}.project-visual{height:390px;position:relative;overflow:hidden;border-radius:4px;isolation:isolate}.visual-top{position:absolute;top:23px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;z-index:2}.visual-bottom{position:absolute;bottom:18px;left:25px;font-size:7px;letter-spacing:.09em;z-index:2}.arrival-visual{background:#e9e9d9;color:#374d41}.travel-type{font-family:Georgia,serif;font-size:41px;line-height:1.1;position:absolute;top:135px;left:32px;letter-spacing:-2px}.phone-frame{position:absolute;top:65px;right:30px;width:190px;height:319px;border:5px solid #fdfdfb;border-radius:24px;overflow:hidden;box-shadow:15px 24px 35px #294a3226;transform:rotate(8deg);transition:transform .7s var(--ease)}.phone-frame img{width:100%;height:auto;display:block}.project:hover .phone-frame{transform:rotate(3deg) translateY(-10px)}.project-info{padding-top:21px;display:flex;justify-content:space-between;gap:20px}.project-index{font-size:8px;color:var(--muted)}.project h3{font-size:24px;font-weight:500;letter-spacing:-1px;margin:7px 0 10px}.project-info p{font-size:12px;line-height:1.8;max-width:340px;color:#6b6f65}.project-links{display:flex;flex-direction:column;align-items:flex-end;gap:18px;flex-shrink:0}.round-link{height:43px;width:43px;border-radius:50%;border:1px solid #c7c9be;background:transparent;font-size:25px;transition:background .3s,color .3s,transform .3s}.round-link:hover{background:var(--blue);color:white;border-color:var(--blue);transform:rotate(45deg)}.project-links>a,.plain-link{font-size:10px;white-space:nowrap;background:none;border:0;padding:0}.sky-visual{background:#dde7f0;color:#203c59}.browser-frame{position:absolute;top:92px;width:90%;left:8%;transform:rotate(-7deg);box-shadow:0 22px 32px #18334c30;border-radius:8px;overflow:hidden;transition:transform .7s var(--ease)}.project:hover .browser-frame{transform:rotate(-3deg) translateY(-7px)}.browser-chrome{height:23px;background:#f8fafc;display:flex;align-items:center;gap:4px;padding-left:10px}.browser-chrome i{width:4px;height:4px;background:#b7bec9;border-radius:50%}.browser-chrome span{font-size:6px;color:#788590;margin:auto}.browser-frame img{width:100%;height:auto;display:block}.app-project{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.app-project .project-info{padding:35px;gap:25px}.app-visual{background:#242fbd;color:#fff;height:325px}.app-art{height:100%;display:grid;place-items:center;position:relative}.app-icon{height:105px;width:105px;background:#fcfaff;border-radius:27px;display:grid;place-items:center;box-shadow:15px 20px 45px #111f6b66;transform:rotate(-12deg);transition:transform .5s}.app-icon svg{width:60px;height:60px;color:var(--blue)}.project:hover .app-icon{transform:rotate(0deg) translateY(-8px)}.app-orbit{position:absolute;border:1px solid #ffffff38;height:180px;width:330px;border-radius:50%}.ring-one{transform:rotate(-30deg)}.ring-two{transform:rotate(30deg)}.app-caption{position:absolute;right:30px;bottom:45px;font-size:17px;letter-spacing:-.5px}.in-progress{margin-top:58px;padding:25px 0;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.in-progress p{font-size:13px}.in-progress p span{margin:0 12px;color:#aaa}.in-progress .small-label{color:#85877e;font-size:8px}.about{background:#eaece5;display:grid;grid-template-columns:1fr 1fr;gap:80px 65px}.about-title h2{font-size:clamp(39px,4.3vw,68px);line-height:1.2}.about-title em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:#626d59}.about-copy{position:relative;padding-top:7px}.about-copy>p{font-size:13px;line-height:1.9;color:#676c61;margin-top:20px}.about-copy .large-copy{font-size:21px;line-height:1.6;color:var(--ink);max-width:430px;margin-top:0}.about-monogram{display:block;font-family:Georgia,serif;font-size:100px;color:#b9c3ae;height:125px;line-height:1;margin-bottom:20px;letter-spacing:-15px}.about-monogram>span{font-family:Arial,sans-serif;font-size:65px;color:#6f825b;font-weight:300;display:inline-block;transform:translateY(-9px)}.personal-facts{display:flex;gap:60px;border-top:1px solid #cdd1c4;margin-top:30px;padding-top:25px}.personal-facts span{display:block;font-size:8px;letter-spacing:.1em;margin-bottom:12px}.personal-facts strong{font-size:15px;font-weight:500}.ventures{grid-column:1/-1;border-top:1px solid #cdd1c4;padding-top:40px;display:grid;grid-template-columns:1fr 1.7fr;gap:40px}.ventures p{font-size:12px;line-height:1.8;margin-top:14px;color:#676c61}.venture-list{display:flex;justify-content:space-between;align-items:center;gap:20px}.venture-list>span{font-family:Manrope,Arial,sans-serif;font-weight:650;font-size:20px;letter-spacing:-.7px}.venture-list small{display:block;font:500 8px 'DM Sans',sans-serif;letter-spacing:.12em;margin-top:10px;color:#777e6e}.expertise-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:30px;padding:28px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:10px;color:var(--muted);width:30px}summary h3{font-size:clamp(18px,2.3vw,34px);font-weight:500;letter-spacing:-1px}summary>b{margin-left:auto;font-size:25px;font-weight:400;transition:transform .3s}details[open] summary>b{transform:rotate(45deg);color:var(--blue)}.expertise-body{padding:0 60px 30px;display:flex;justify-content:space-between;gap:60px}.expertise-body p{font-size:13px;line-height:1.9;max-width:440px;color:#6b6f65}.tags{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;max-width:300px}.tags span{font-size:10px;border:1px solid var(--line);padding:8px 12px;border-radius:22px}.background{padding-top:5px}.background h2{font-size:38px}.background-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;margin-top:45px}.background-grid h3{font:500 12px 'DM Sans',Arial,sans-serif}.background ul{list-style:none;padding:0;margin:22px 0 0}.background li{padding:19px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:baseline}.background li strong{font-size:12px;font-weight:500}.background li>span{font-size:10px;color:#75796f;text-align:right}.background .status-dot{margin-left:7px}.language-block{padding-left:55px;border-left:1px solid var(--line)}.language-block p{font-family:Manrope,Arial,sans-serif;font-size:30px;line-height:1.6;letter-spacing:-1px;margin-top:17px}.language-block .small-label{display:block;font-size:8px;color:#75796f;margin-top:19px}.contact{background:var(--blue);color:white;padding-top:45px;padding-bottom:25px}.contact-top{display:flex;justify-content:space-between;gap:20px}.contact-top .eyebrow{font-size:8px;color:#c3ceff}.contact-main{display:flex;align-items:center;justify-content:space-between;padding:70px 0 40px}.contact h2{font-size:clamp(65px,8.3vw,130px);line-height:1.06;letter-spacing:-.065em}.contact h2 em{font-family:Georgia,serif;font-style:italic;color:var(--acid)}.contact-arrow{font-size:110px;border:1px solid #8fa2ff;width:175px;height:175px;border-radius:50%;display:grid;place-items:center;transition:transform .5s,background .4s,color .4s}.contact-arrow:hover{transform:rotate(45deg);background:var(--acid);color:var(--blue);border-color:var(--acid)}.contact-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:20px 0 55px}.contact-bottom p{font-size:13px;line-height:1.8;color:#c8d2ff;margin-bottom:22px}.email-link{font-size:clamp(15px,1.8vw,24px);border-bottom:1px solid #a4b4ff;padding-bottom:5px;letter-spacing:-.5px}.copy-email{font-size:9px;background:none;border:0;color:#dae1ff;margin-left:16px;padding:8px}.brief-button{font-size:12px;padding:15px 20px;border:1px solid #a4b4ff;border-radius:30px;display:flex;align-items:center;gap:50px;white-space:nowrap;transition:background .3s,color .3s}.brief-button:hover{background:white;color:var(--blue)}.contact-routes{border-top:1px solid #647ff0;padding-top:24px;display:flex;gap:25px;font-size:10px;color:#cbd5ff}.contact-routes>span{margin-right:auto}.contact-routes a{color:white}.footer{display:flex;align-items:center;justify-content:space-between;padding:28px 6.25%;gap:20px}.footer>span,.footer>a:last-child{font-size:9px;letter-spacing:.05em}.footer .wordmark{font-size:24px}.footer .surname{font-size:8px}.reveal{transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal:not(.is-visible){opacity:0;transform:translateY(25px)}dialog{border:0;border-radius:7px;padding:60px;max-width:650px;width:calc(100% - 40px);background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #0003}dialog::backdrop{background:#131b38aa;backdrop-filter:blur(6px)}dialog h2{font-size:43px;margin:20px 0}dialog>p{font-size:15px;line-height:1.9;color:#61665b}.dialog-close{position:absolute;right:20px;top:15px;background:none;border:0;font-size:30px}.dialog-role{border-block:1px solid var(--line);padding:20px 0;margin:25px 0;display:flex;flex-direction:column;gap:10px}.dialog-role span{font-size:9px;letter-spacing:.13em}.dialog-role strong{font-size:13px;font-weight:500}dialog .button{width:100%}.motion-off *{animation:none!important;scroll-behavior:auto!important;transition:none!important}.motion-off .reveal{opacity:1!important;transform:none!important}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:1600px){.section-pad,.header,.discipline-strip,.footer{padding-left:max(6.25%,calc((100vw - 1400px)/2));padding-right:max(6.25%,calc((100vw - 1400px)/2))}.hero-layout{min-height:620px}.orbital{height:560px}}
@media(max-width:1100px){.hero h1{font-size:8.1vw}.hero-layout{min-height:500px}.orbital{height:430px}.hero-actions{gap:16px}.hero .text-link{font-size:9px}.travel-type{font-size:30px;left:25px}.phone-frame{width:160px;height:270px;right:15px;top:85px}.project-visual{height:345px}.project-info{gap:10px}.project-links a,.plain-link{font-size:9px}.project-info p{font-size:11px}.app-project .project-info{padding:20px}.venture-list>span{font-size:16px}.expertise-body{gap:30px}.background-grid{gap:50px}.copy-email{display:block;margin:14px 0 0;padding-left:0}}
@media(max-width:760px){.section-pad{padding:70px 6%}.header{height:77px;padding:0 6%}.header nav{gap:20px}.header nav>a{font-size:11px}.header nav>a:first-child span{display:none}.hero{padding-top:25px;padding-bottom:22px}.edition{display:none}.hero-top .eyebrow{font-size:8px}.hero-layout{min-height:0;grid-template-columns:1fr;padding-top:50px}.hero h1{font-size:clamp(53px,11.3vw,84px);letter-spacing:-.065em}.hero-copy>p{font-size:13px;max-width:330px;margin:24px 0}.hero-actions{gap:22px}.hero .text-link{font-size:10px}.button{padding:15px 20px}.orbital{height:330px;width:80%;max-width:440px;margin:-5px auto 10px}.label-code{top:33%;left:3%}.label-create{top:24%;right:0}.label-build{bottom:20%;right:3%}.orbit-index{bottom:0;left:30%;font-size:7px}.hero-bottom{padding-top:20px;font-size:9px}.scroll-cue{font-size:8px;gap:15px}.motion-toggle{font-size:8px}.discipline-strip{padding:20px 6%;gap:18px;font-size:8px;flex-wrap:wrap;justify-content:center}.discipline-strip b{font-size:17px}.discipline-strip b:last-of-type{display:none}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:12px}.section-heading h2{font-size:39px}.projects{grid-template-columns:1fr;gap:38px}.project-visual{height:350px}.travel-type{font-size:40px;top:125px;left:30px}.phone-frame{width:175px;height:295px;right:35px;top:59px}.browser-frame{top:80px}.project-info p{font-size:12px}.project-links>a,.plain-link{font-size:10px}.app-project{grid-column:auto;display:block}.app-project .project-info{padding:21px 0 0}.app-visual{height:320px}.in-progress{display:block;margin-top:42px}.in-progress p{margin:12px 0;font-size:12px}.in-progress p span{margin:0 7px}.about{grid-template-columns:1fr;gap:35px}.about-title h2{font-size:46px}.about-monogram{display:none}.about-copy .large-copy{font-size:20px;max-width:100%}.about-copy{padding-top:0}.ventures{grid-column:auto;grid-template-columns:1fr;gap:27px}.venture-list{flex-wrap:wrap;gap:28px}.venture-list>span{font-size:18px}.expertise-body{display:block;padding:0 0 24px 35px}.expertise-body p{font-size:12px}.tags{margin-top:20px;max-width:none}summary{gap:10px;padding:23px 0}summary>span{width:25px;font-size:9px}summary h3{font-size:19px;letter-spacing:-.7px}.background{padding-top:0}.background h2{font-size:32px}.background-grid{grid-template-columns:1fr;gap:40px;margin-top:30px}.language-block{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.language-block p{font-size:25px;columns:2}.contact{padding-top:30px;padding-bottom:25px}.contact-top .eyebrow:last-child{display:none}.contact-main{padding:50px 0 25px}.contact h2{font-size:clamp(51px,10vw,78px)}.contact-arrow{height:80px;width:80px;font-size:50px}.contact-bottom{display:block;padding:15px 0 35px}.email-link{font-size:20px}.brief-button{display:inline-flex;margin-top:23px}.contact-routes{flex-wrap:wrap;gap:15px;font-size:9px}.contact-routes>span{width:100%}.footer{padding:25px 6%;flex-wrap:wrap}.footer .wordmark{font-size:23px}dialog{padding:45px 25px 30px}dialog h2{font-size:34px}dialog>p{font-size:13px}}
@media(max-width:500px){.header nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:25px 6% 30px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #00000008}.header nav.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:25px}.header nav>a{font-size:16px}.header .nav-contact{padding:0;border:0}.menu-toggle{display:flex;gap:14px;align-items:center;border:0;background:none;padding:10px 0;font-size:12px}.menu-toggle span{font-size:20px}.hero-layout{padding-top:40px}.hero h1{font-size:11.6vw}.hero-actions{gap:20px}.hero .text-link{font-size:9px}.hero .button{font-size:10px;gap:22px}.hero-copy>p{font-size:12px;max-width:290px}.orbital{width:90%;height:310px;margin-top:5px}.hero-bottom>span{max-width:110px}.scroll-cue{font-size:7px;gap:10px}.scroll-cue span{font-size:21px}.discipline-strip{justify-content:space-between;gap:8px;font-size:7px;letter-spacing:.06em}.discipline-strip span:last-child{display:none}.discipline-strip b{font-size:15px}.section-heading h2{font-size:34px}.project-visual{height:320px}.travel-type{font-size:33px;left:22px;top:124px}.phone-frame{width:155px;height:261px;right:18px;top:65px}.visual-top{left:20px;right:20px;font-size:7px}.visual-bottom{left:20px;font-size:6px}.browser-frame{top:86px;width:97%;left:5%}.project-links{max-width:85px;gap:20px}.project-info p{font-size:11px}.project h3{font-size:22px}.project-links>a,.plain-link{font-size:8px}.app-project .project-info{gap:15px}.app-visual{height:280px}.app-caption{font-size:14px;bottom:35px}.app-orbit{width:280px;height:150px}.about-title h2{font-size:41px}.venture-list{flex-direction:column;align-items:flex-start;gap:24px}.personal-facts{gap:35px}.personal-facts strong{font-size:13px}.contact h2{font-size:12vw}.contact-arrow{width:64px;height:64px;font-size:42px;flex-shrink:0}.email-link{font-size:18px}.footer>span,.footer>a:last-child{font-size:8px}.background li{align-items:flex-start}.background li>span{max-width:150px;font-size:9px}.background li strong{font-size:11px}.contact-bottom p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal:not(.is-visible){opacity:1;transform:none}}
/* Motion layer: the design remains fully usable when animation is disabled. */
.header{position:sticky;top:0;transition:background .35s,box-shadow .35s}.header.has-scrolled{background:#f5f4efed;backdrop-filter:blur(16px);box-shadow:0 3px 22px #18211406}.header nav a[aria-current=location]{color:var(--blue)}
.hero{position:relative;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(390px circle at var(--pointer-x,75%) var(--pointer-y,45%),#5575ff19,transparent 76%);opacity:var(--spotlight-opacity,.25);transition:opacity .8s}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-2;background-image:radial-gradient(#7485b5 1px,transparent 1px);background-size:24px 24px;opacity:.13;mask-image:linear-gradient(90deg,transparent 45%,#000 100%)}
.title-line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.13em}.title-line>span{display:block;animation:title-rise 1.1s cubic-bezier(.16,1,.3,1) both}.title-line:nth-child(2)>span{animation-delay:.14s}.hero-copy>p{animation:copy-arrive .9s .3s both}.hero-actions{animation:copy-arrive .9s .45s both}.orbital{translate:0 var(--scroll-offset,0px);will-change:translate}.orbital-label{animation:label-drift 5.5s ease-in-out infinite}.label-create{animation-delay:-1.8s}.label-build{animation-delay:-3.5s}.orbit-index{animation:copy-arrive 1.2s .6s both}
.project-visual{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .55s cubic-bezier(.2,.75,.2,1);will-change:auto}.project-visual:after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(400px circle at var(--glare-x,50%) var(--glare-y,50%),#fff9,transparent 65%);opacity:var(--glare-opacity,0);transition:opacity .45s}.button,.contact-arrow{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .35s cubic-bezier(.2,.75,.2,1),transform .4s,background .3s,color .3s}.contact h2 em{background:linear-gradient(110deg,var(--acid) 25%,#f4ffdb 46%,var(--acid) 67%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:ink-shimmer 7s ease-in-out infinite}.dialog-close:hover{transform:rotate(90deg);transition:transform .3s}dialog[open]{animation:dialog-arrive .3s cubic-bezier(.2,.75,.2,1)}
@keyframes title-rise{from{transform:translateY(110%) rotate(3deg);opacity:0}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes copy-arrive{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes label-drift{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes ink-shimmer{0%,100%{background-position:100% 50%}50%{background-position:0% 50%}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.motion-off .hero:before{opacity:0}.motion-off .orbital,.motion-off .button,.motion-off .contact-arrow{translate:none!important}.motion-off .project-visual{transform:none!important}.motion-off .project-visual:after{opacity:0}.motion-off .orbital-label{translate:none!important}
@media(hover:none),(pointer:coarse){.hero:before{display:none}.project-visual{transform:none}.orbital{translate:none}.orbital-label{animation-duration:7s}}
@media(prefers-reduced-motion:reduce){.orbital,.button,.contact-arrow{translate:none!important}.project-visual{transform:none!important}.hero:before,.project-visual:after{display:none}.title-line>span,.hero-copy>p,.hero-actions{opacity:1;transform:none}}

/* Text-only personal signature. */
.wordmark{display:inline-flex;align-items:center;letter-spacing:normal;font-weight:650;flex-shrink:0;line-height:1}
.brand-name{font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:650;letter-spacing:-.65px;white-space:nowrap}
.footer .brand-name{font-size:18px;letter-spacing:-.4px}
@media(max-width:500px){.brand-name{font-size:20px;letter-spacing:-.5px}.footer .brand-name{font-size:17px}}
/* Raised black primary actions, matching the supplied button reference. */
.header nav .nav-contact,.button-dark{background:linear-gradient(180deg,#282927 0%,#191a18 100%);color:#fff;border:1px solid #30312e;border-radius:999px;box-shadow:inset 0 1px 1px #ffffff24,0 6px 12px -4px #1415104d,0 2px 4px #14151012;transition:translate .35s cubic-bezier(.2,.75,.2,1),transform .3s,box-shadow .3s,background .3s}
.header nav .nav-contact{display:inline-flex;align-items:center;gap:17px;padding:13px 23px;font-size:12px;line-height:1.3;white-space:nowrap}
.header nav .nav-contact span{font-size:20px;line-height:1;margin:0;vertical-align:baseline;color:#e7e8e4}
.header nav .nav-contact:after{display:none}.header nav .nav-contact[aria-current=location]{color:#fff}
.header nav .nav-contact:hover,.button-dark:hover{background:linear-gradient(180deg,#30312e 0%,#1d1e1b 100%);color:#fff;transform:translateY(-2px);box-shadow:inset 0 1px 1px #ffffff2b,0 9px 17px -5px #14151055,0 3px 5px #14151012}
.header nav .nav-contact:active,.button-dark:active{transform:translateY(0);box-shadow:inset 0 1px 1px #ffffff1c,0 3px 7px -3px #14151040}
.hero-actions .button-dark{padding:17px 25px;gap:29px;min-height:54px}.hero-actions .button-dark span{color:#f5f5f2;font-size:22px}
@media(max-width:500px){.header nav .nav-contact{padding:13px 21px;font-size:13px;gap:22px}.hero-actions .button-dark{padding:15px 20px;gap:20px;min-height:50px}}
/* Open canvas and a small, scroll-aware navigation dock. */
html{scroll-padding-top:32px}
.hero{min-height:100svh;display:flex;flex-direction:column;padding-top:36px;padding-bottom:32px}
.hero-top{position:relative;z-index:3;align-items:flex-start}
.hero-signature{display:inline-flex;flex-direction:column;gap:12px;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:46px;line-height:1;letter-spacing:-2.5px}
.hero-signature>span{font:500 8px 'DM Sans',Arial,sans-serif;letter-spacing:.15em}
.hero-layout{flex:1;min-height:570px;padding-block:50px}
.hero-intro{font-size:9px;letter-spacing:.12em;margin-bottom:26px;color:#62655d}
.hero-bottom{border:0;padding-top:24px}
.hero-menu{display:inline-flex;gap:18px;align-items:center;border:0;background:transparent;padding:14px 0 14px 18px;font-size:12px;color:var(--ink)}
.menu-lines{width:19px;height:12px;position:relative;display:block;flex-shrink:0}
.menu-lines:before,.menu-lines:after{content:'';position:absolute;left:0;width:19px;height:1px;background:currentColor;transition:transform .3s,top .3s}
.menu-lines:before{top:2px}.menu-lines:after{top:9px}
[aria-expanded=true] .menu-lines:before{top:5px;transform:rotate(45deg)}
[aria-expanded=true] .menu-lines:after{top:5px;transform:rotate(-45deg)}
.navigation-shell{position:relative;z-index:60}
.dock-toggle{position:fixed;left:16px;top:50%;transform:translateY(-50%);width:56px;min-height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;border:1px solid #ffffff35;border-radius:32px;background:#20211f;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;isolation:isolate;box-shadow:0 5px 20px #1112;color:#fff;font-size:10px;animation:dock-arrive .4s var(--ease) both}
.dock-toggle[hidden],#navigation[hidden]{display:none}
.dock-toggle:hover{background:#353631}
#navigation{position:fixed;top:104px;right:6.25%;width:300px;padding:29px 25px 22px;background:#fbfaf5f5;backdrop-filter:blur(22px);border:1px solid #dedfd6;border-radius:22px;box-shadow:0 18px 80px #20211f24;animation:menu-arrive .25s var(--ease) both}
#navigation .nav-caption{display:block;font-size:8px;letter-spacing:.13em;color:#787b70;margin-bottom:19px}
#navigation a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 0;font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:500;letter-spacing:-.8px}
#navigation a>span{font-size:inherit;vertical-align:baseline;margin:0}
#navigation a small{font:500 9px 'DM Sans',Arial,sans-serif;letter-spacing:0;color:#85887d}
#navigation a:hover,#navigation a[aria-current=location]{color:var(--blue)}
#navigation a[aria-current=location] small{color:var(--blue)}
.nav-footnote{display:block;margin-top:21px;padding-top:18px;border-top:1px solid var(--line);color:#787b70;font-size:10px}
.has-floating-menu #navigation{top:50%;left:86px;right:auto;translate:0 -50%}
.discipline-strip{border:0;background:linear-gradient(90deg,#e9ebe400, #e9ebe499 25%,#e9ebe499 75%,#e9ebe400);padding-block:32px}
.about{background:linear-gradient(180deg,var(--paper),#eaece5 17%,#eaece5 80%,var(--paper))}
.footer{border:0}
@keyframes menu-arrive{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:761px){.section-pad,.footer{padding-left:max(100px,6.25%)}.hero h1{font-size:clamp(64px,7.6vw,125px)}}
@media(max-width:1100px) and (min-width:761px){.hero h1{font-size:7.6vw}.hero-signature{font-size:40px}.hero-intro{font-size:8px}.hero-layout{min-height:540px}.hero-actions{flex-wrap:wrap}}
@media(max-width:760px){
 .hero{padding:28px 6% 30px;min-height:100svh}
 .hero-signature{font-size:36px;letter-spacing:-1.8px;gap:10px}
 .hero-signature>span{font-size:6.5px;letter-spacing:.1em}
 .hero-menu{font-size:11px;gap:13px;padding-top:10px}
 .hero-layout{min-height:0;padding-block:54px 4px}
 .hero-intro{font-size:7px;letter-spacing:.07em;margin-bottom:23px}
 .hero h1{font-size:11.4vw}
 .hero-bottom{padding-top:15px}
 .dock-toggle{top:auto;bottom:max(18px,env(safe-area-inset-bottom));left:18px;transform:none;flex-direction:row;width:100px;min-height:49px;gap:12px;font-size:11px}
 #navigation,.has-floating-menu #navigation{left:18px;right:auto;top:auto;bottom:max(80px,calc(env(safe-area-inset-bottom) + 62px));translate:none;width:min(300px,calc(100vw - 36px));max-height:calc(100svh - 160px);overflow-y:auto}
 body:not(.has-floating-menu) #navigation{top:96px;bottom:auto;right:6%;left:auto}
 .footer{padding-bottom:100px}
 .discipline-strip{padding-block:25px}
}
/* Reversible scroll transitions, with no display toggle or threshold flicker. */
.dock-toggle{animation:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-28px,-50%) scale(.94);transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .35s ease,visibility 0s .55s,background .2s}
.has-floating-menu .dock-toggle{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%) scale(1);transition-delay:0s}
.hero-menu{transition:opacity .3s ease}
.has-floating-menu .hero-menu{opacity:0}
#navigation{max-height:calc(100svh - 48px);overflow-y:auto;transform-origin:top left}
@media(max-width:760px){
 .dock-toggle{transform:translateY(20px) scale(.94)}
 .has-floating-menu .dock-toggle{transform:translateY(0) scale(1)}
 #navigation{max-height:calc(100svh - 160px)}
}
/* A personal portrait beside the story, with its original framing intact. */
.about{gap:34px 70px;align-items:start}
.about-title{grid-column:1;grid-row:1}
.about-copy{grid-column:1;grid-row:2;padding-top:0}
.about-copy .large-copy{max-width:100%}
.about-portrait{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;width:100%}
.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#20211f;box-shadow:0 18px 50px -28px #20211f55}
.about-portrait figcaption{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:18px}
.about-portrait figcaption>span:first-child{font:italic 25px Georgia,serif;letter-spacing:-.8px}
.about-portrait figcaption>span:last-child{font-size:7px;letter-spacing:.12em;color:#777e6e}
.about .ventures{margin-top:22px}
@media(max-width:1100px) and (min-width:761px){.about{gap:30px 40px}.about-portrait figcaption{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:760px){.about{gap:30px}.about-title,.about-copy,.about-portrait{grid-column:auto;grid-row:auto}.about-portrait{max-width:520px;justify-self:center}.about-portrait figcaption{padding-top:15px}.about-portrait figcaption>span:first-child{font-size:23px}.about-portrait figcaption>span:last-child{font-size:6px}.about .ventures{margin-top:5px}}
/* Circular profile photo paired with the personal signature. */
.hero-signature{flex-direction:row;align-items:center;gap:20px}
.signature-avatar{width:82px;height:82px;flex-shrink:0;display:block;border-radius:50%;object-fit:cover;border:3px solid #faf9f4;box-shadow:0 0 0 1px #20211f12,0 7px 18px -12px #20211f66}
.hero-signature>.signature-text{display:flex;flex-direction:column;gap:12px;letter-spacing:normal}
.signature-name{font:italic 46px/1 Georgia,'Times New Roman',serif;letter-spacing:-2.5px;white-space:nowrap}
.signature-role{font:500 8px 'DM Sans',Arial,sans-serif;letter-spacing:.15em}
@media(max-width:1100px) and (min-width:761px){.signature-name{font-size:40px}}
@media(max-width:760px){.hero-signature{gap:12px}.signature-avatar{width:56px;height:56px;border-width:2px}.hero-signature>.signature-text{gap:9px}.signature-name{font-size:32px;letter-spacing:-1.8px}.signature-role{font-size:6px;letter-spacing:.07em}}
@media(max-width:360px){.hero-signature{gap:9px}.signature-avatar{width:45px;height:45px}.signature-name{font-size:28px}.signature-role{max-width:160px;font-size:5.5px;line-height:1.5}.hero-menu{gap:8px;padding-left:10px}}
/* Selected work: real previews, consistent cards, and quiet interaction. */
.project-gallery{gap:24px;align-items:stretch}
.site-card{border:1px solid #dedfd6;border-radius:16px;background:#fbfaf6;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .35s,border-color .35s}
.site-card:hover{border-color:#c4c7ba;box-shadow:0 12px 35px -22px #20211f38}
.site-preview{display:block;padding:0;margin:0;width:100%;border:0;border-bottom:1px solid #dedfd6;background:#e8eae3;color:#74786d;text-align:left;overflow:hidden;cursor:pointer}
.site-preview:focus-visible{outline-offset:-4px}
.preview-toolbar{height:36px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#efefe9;font-size:9px;letter-spacing:.025em}
.preview-dots{display:flex;gap:4px;width:36px}.preview-dots i{height:5px;width:5px;border-radius:50%;background:#c0c4b9}
.preview-toolbar>span:last-child{width:36px;text-align:right;font-size:13px}
.site-preview img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}
.card-content{padding:25px 28px 21px;display:flex;flex-direction:column;flex:1}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:9px}
.project-gallery .project-index{font-size:8px;letter-spacing:.12em;color:#73786c}
.project-kind{font-size:9px;border:1px solid #dedfd6;border-radius:20px;padding:5px 11px;color:#6b7163}
.project-gallery .site-card h3{font-size:28px;font-weight:500;line-height:1.25;letter-spacing:-1px;margin:0 0 12px}
.card-content>p{font-size:13px;line-height:1.75;color:#6b7065;max-width:420px;margin-bottom:21px}
.card-skills{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;color:#777d6e;padding-bottom:24px;margin-top:auto}
.card-skills>span+span:before{content:'·';margin-right:15px;color:#a0a694}
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #dedfd6;padding-top:19px}
.card-actions button,.card-actions a{font-size:11px;min-height:34px;display:inline-flex;align-items:center;gap:13px;padding:0;border:0;background:none;color:var(--ink)}
.card-actions a{color:#6b7163}
.card-actions button:hover,.card-actions a:hover{color:var(--blue)}
.card-actions span[aria-hidden]{font-size:17px;transition:translate .25s}.card-actions :is(button,a):hover span[aria-hidden]{translate:2px -2px}
.application-card{grid-column:1/-1;border:1px solid #dcded3;background:#eeeee7;border-radius:16px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:27px;padding:34px 36px}
.application-mark{width:64px;height:64px;border-radius:17px;background:#242722;color:#e8eddc;display:grid;place-items:center}
.application-mark svg{width:31px;height:31px}
.project-gallery .application-card h3{font-size:26px;font-weight:500;letter-spacing:-.9px;line-height:1.2;margin:7px 0 9px}
.application-copy p{font-size:12px;line-height:1.75;color:#6b7163;max-width:560px}
.application-action{border:1px solid #c6cbbd;border-radius:999px;padding:13px 18px;display:flex;gap:26px;align-items:center;background:transparent;color:var(--ink);font-size:11px;white-space:nowrap;transition:background .25s,color .25s}
.application-action span{font-size:20px}.application-action:hover{background:var(--ink);color:white;border-color:var(--ink)}
@media(max-width:1100px){.card-content{padding:22px}.application-card{gap:22px;padding:27px}.application-copy p{max-width:420px}.application-action{gap:17px}}
@media(max-width:760px){.project-gallery{gap:24px}.card-content{padding:22px}.project-gallery .site-card h3{font-size:27px}.card-content>p{font-size:12px}.application-card{grid-column:auto;grid-template-columns:48px 1fr;gap:19px;padding:25px 22px}.application-mark{width:48px;height:48px;border-radius:13px}.application-mark svg{width:27px;height:27px}.application-action{grid-column:1/-1;justify-content:space-between;margin-top:2px;width:100%}.application-copy p{font-size:11px}.project-gallery .application-card h3{font-size:24px}.preview-toolbar{height:30px;font-size:8px}}
/* Three websites, followed by the application project. */
@media(min-width:1100px){.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.card-content{padding:23px}.project-gallery .site-card h3{font-size:26px}.card-skills{gap:10px;font-size:8px}.card-skills>span+span:before{margin-right:10px}}

/* Overlapping phrases keep the rhythm continuous and the layout still. */
.headline-slot{display:block;position:relative;height:1.16em;white-space:nowrap}
#rotating-headline{display:block;position:absolute;left:0;bottom:.1em;line-height:1.03;font-size:.94em}
.headline-phrase{display:block;white-space:pre;backface-visibility:hidden}
.headline-current.is-entering{animation:headline-arrive 1.1s cubic-bezier(.22,1,.36,1) both}
.headline-previous{position:absolute;left:0;top:0;pointer-events:none;animation:headline-depart .48s cubic-bezier(.4,0,.2,1) both}
@keyframes headline-arrive{
  0%{opacity:0;transform:translateY(.19em);clip-path:inset(-20% 100% -30% -3%);filter:blur(3px);color:var(--blue)}
  24%{opacity:1;color:var(--blue)}
  66%{clip-path:inset(-20% 0% -30% -3%);filter:blur(0);color:var(--blue)}
  100%{opacity:1;transform:translateY(0);clip-path:inset(-20% 0% -30% -3%);filter:blur(0);color:var(--ink)}
}
@keyframes headline-depart{to{opacity:0;transform:translateY(-.13em);filter:blur(3px)}}
.motion-off .headline-previous{display:none}
@media(prefers-reduced-motion:reduce){.headline-previous{display:none}}

/* Text-only actions, with balanced alignment after removing arrow icons. */
.button,.application-action,.brief-button{justify-content:center}
.preview-toolbar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px}
.preview-toolbar>span:nth-child(2){text-align:center}

/* The page fades into its dark chapter as the About section enters view. */
body{--theme-fade:900ms;--theme-ease:cubic-bezier(.22,.61,.36,1);transition:background-color var(--theme-fade) var(--theme-ease),color var(--theme-fade) var(--theme-ease)}
body.theme-dark{--paper:#101110;--ink:#f1f2ec;--muted:#a8ada3;--line:#353832;--blue:#8b9eff;color-scheme:dark}
.about{background:transparent}
.about-title em,.about-copy>p,.ventures p,.venture-list small,.about-portrait figcaption>span:last-child,.section-heading>p,.expertise-body p,.background li>span,.language-block .small-label,.muted,.project-index,.card-content>p,.card-skills,.project-kind,.application-copy p,.card-actions a,.card-actions button,.nav-footnote,#navigation a,#navigation a small,#navigation .nav-caption,dialog>p,.dialog-close{transition:color var(--theme-fade) var(--theme-ease)}
.personal-facts,.ventures,.expertise-list,details,.tags span,.background li,.language-block,.card-actions{transition:border-color var(--theme-fade) var(--theme-ease)}
#navigation,dialog,.contact,.site-card,.application-card,.site-preview,.preview-toolbar{transition:background-color var(--theme-fade) var(--theme-ease),border-color var(--theme-fade) var(--theme-ease),color var(--theme-fade) var(--theme-ease)}
.theme-dark .about-title em{color:#c7d3ba}
.theme-dark :is(.about-copy>p,.ventures p,.expertise-body p,.section-heading>p,.background li>span,.language-block .small-label,.venture-list small,.about-portrait figcaption>span:last-child,.card-content>p,.card-skills,.project-kind,.application-copy p,.card-actions a,dialog>p){color:#b4b9af}
.theme-dark .about-copy .large-copy{color:var(--ink)}
.theme-dark :is(.personal-facts,.ventures,.site-card,.site-preview,.project-kind,.application-card,.application-action){border-color:var(--line)}
.theme-dark :is(.site-card,.application-card){background:#1b1d1a}
.theme-dark :is(.site-preview,.preview-toolbar){background:#252823;color:#b4b9af}
.theme-dark .project-gallery .project-index{color:#a8ada3}
.theme-dark .filters button{color:var(--ink)}
.theme-dark .filters button.active{background:#e6eadf;color:#171a15}
.theme-dark .application-action:hover{background:#e6eadf;color:#171a15}
.theme-dark .card-actions :is(a,button):hover{color:var(--blue)}
.theme-dark #navigation{background:#1b1d1af5;border-color:#41463c;box-shadow:0 18px 80px #0005}
.theme-dark :is(#navigation .nav-caption,#navigation a small,.nav-footnote){color:#a8ada3}
.theme-dark #navigation a[aria-current=location] small{color:var(--blue)}
.theme-dark .dialog-close{color:var(--ink)}
.theme-dark .contact{background:#101110;color:var(--ink)}
.theme-dark :is(.contact-top .eyebrow,.contact-bottom p,.contact-routes,.copy-email){color:#b4b9af}
.theme-dark :is(.email-link,.brief-button,.contact-routes){border-color:#555d4e}
.theme-dark .brief-button:hover{color:#101110;background:#e6eadf}
.theme-dark .button-dark{border-color:#62685c}
.theme-dark .dock-toggle{border-color:#68705e;box-shadow:0 5px 24px #0004}
@media(prefers-reduced-motion:reduce){body{transition:none}}
html.motion-off body{transition:none}

/* Feather only the portrait edges so the face stays crisp against either theme. */
.about-portrait img{
  border-radius:0;background:transparent;box-shadow:none;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 80%,transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}

/* Keep expanding content clipped while the next rows move with its height. */
.expertise-list details.is-expanding{overflow:hidden}
.expertise-list details summary>b{transform:rotate(0deg);color:inherit;transition:transform .46s cubic-bezier(.22,1,.36,1),color .3s ease}
.expertise-list details.is-expanded summary>b{transform:rotate(45deg);color:var(--blue)}

/* Quiet dividers in place of decorative stars. */
.discipline-strip .discipline-divider{display:block;flex:0 0 1px;width:1px;height:20px;background:currentColor;color:var(--ink);opacity:.25;border-radius:1px}
@media(max-width:760px){
  .discipline-strip .discipline-divider{height:14px}
  .discipline-strip .discipline-divider:last-of-type{display:none}
  body{--theme-fade:0ms;background-color:var(--scroll-paper,var(--paper));transition:background-color 100ms linear}
  .motion-off body{transition:none}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){body{transition:none}}
