/* Native motion only: no animation library, external requests or hidden content. */
html{scroll-padding-top:132px}
.site-header{position:sticky;top:0;z-index:30;transition:box-shadow .28s ease,background .28s ease}
.site-header.has-scrolled{background:#f6f3ecf5;box-shadow:0 8px 30px #24352e0b;backdrop-filter:blur(12px)}
.reading-progress{position:fixed;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#8b693d,#c4aa79);z-index:50;pointer-events:none;transform:scaleX(0);transform-origin:left center}
.header-inner nav a{transition:color .22s ease}
.header-inner nav a.is-current{color:var(--gold)}
.header-inner nav a.is-current:after{width:100%}
.brand-mark{transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s ease}
.identity:hover .brand-mark{transform:translateY(-2px);filter:drop-shadow(0 5px 5px #24352e15)}
.button{transition:transform .24s ease,background .24s ease,color .24s ease,box-shadow .24s ease,border-color .24s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #24352e12}
.button:active{transform:translateY(0) scale(.98);box-shadow:none}
.button>span{transition:transform .28s cubic-bezier(.22,1,.36,1)}
.button:hover>span{transform:translate(2px,-2px)}
.button[href="#profile"]:hover>span{transform:translateY(3px)}
.consultation-link{transition:color .22s ease,text-decoration-color .22s ease}
.consultation-link>span,.contact-row>a>span{display:inline-block;transition:transform .25s ease}
.consultation-link:hover>span,.contact-row>a:hover>span{transform:translate(3px,-3px)}
.portrait-window{transition:box-shadow .5s ease}
.portrait-outline{transition:border-color .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.portrait-composition:hover .portrait-window{box-shadow:0 18px 45px #24352e12}
.portrait-composition:hover .portrait-outline{border-color:#8b693d99;transform:translateY(-3px)}
.education-item,.reading-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}
.education-item:hover,.reading-card:hover,.reading-card:focus-within{transform:translateY(-5px);border-color:#a5ae97;box-shadow:0 14px 30px #24352e0b}
.reading-card:active{transform:translateY(-1px)}
.reading-card-foot>span:last-child{transition:color .25s ease,transform .25s ease}
.reading-card:hover .reading-card-foot>span:last-child,.reading-card:focus-within .reading-card-foot>span:last-child{color:var(--gold);transform:translateX(3px)}
.practice-item{transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}
.practice-item summary{transition:color .25s ease,background .25s ease}
.practice-item summary:hover{background:#edf0e5}
.practice-item[open]{background:#fffdf8;box-shadow:0 10px 24px #24352e08}
.practice-plus{transition:transform .3s cubic-bezier(.22,1,.36,1),color .25s ease}
.practice-item[data-motion-state="closing"] .practice-plus{transform:rotate(0)}
.contact-details{transition:box-shadow .35s ease,border-color .35s ease}
.contact-details:focus-within{box-shadow:0 12px 35px #24352e0b;border-color:#a5ae97}
.copy-email,.dialog-close{transition:background .2s ease,transform .2s ease}
.copy-email:active,.dialog-close:active{transform:scale(.94)}
dialog[open]{animation:dialog-arrive .32s cubic-bezier(.22,1,.36,1) both}
dialog[open]::backdrop{animation:backdrop-arrive .25s ease both}
@keyframes dialog-arrive{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@media(hover:none){.education-item:hover,.reading-card:hover{transform:none;box-shadow:none}.portrait-composition:hover .portrait-outline{transform:none}}
@media(max-width:600px){html{scroll-padding-top:108px}.header-inner nav.is-open{animation:menu-arrive .25s cubic-bezier(.22,1,.36,1) both}.header-inner nav a.is-current{font-weight:700}.reading-progress{height:2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.education-item:hover,.reading-card:hover,.reading-card:focus-within,.button:hover,.button:active,.identity:hover .brand-mark,.portrait-composition:hover .portrait-outline{transform:none!important}}
@media print{.site-header{position:static}.reading-progress{display:none}}
