/* Shared decorative foundation and the portrait’s rotating medallion. */
main>section {position:relative;isolation:isolate;overflow:clip;}
.regal-motif {position:absolute;pointer-events:none;z-index:-1;background-position:center;background-repeat:no-repeat;opacity:.14;}
.heritage-photo {isolation:isolate;}
.portrait-mandala {left:50%;top:52%;width:124%;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);opacity:.26;}
.portrait-mandala::before {content:'';position:absolute;inset:0;background:url('../assets/img/textiles/jaali-medallion.webp') center/contain no-repeat;animation:portrait-orbit 120s linear infinite;animation-play-state:paused;}
.heritage-photo.is-rotating .portrait-mandala::before {animation-play-state:running;}
@keyframes portrait-orbit {to {transform:rotate(360deg);}}
.gallery {background:#292521;--ink:#292521;--bone-dim:#c2b6a8;}
.contact {background:#532d3a;--ink:#532d3a;--paper:#532d3a;--bone:#faf2e5;--bone-dim:#e0cabb;--line:#d3b68350;--accent:#f2dfbe;--focus-ring:#f2dfbe;}
.cf-submit,.cf-submit:hover {color:#532d3a;}
.footer {background:#38252c;color:#d2bda9;border-top:1px solid #d3b68335;--accent:#ead2b2;}
.footer-status {color:#faf2e5;}
.note-pin {background:#6c3d4d;}
.play-card:first-child .play-product-preview img {width:92%;}

/* A little lotus blooms around the two menu strokes. */
.nav-burger {position:relative;}
.nav-burger>span {transition:transform .35s var(--ease),width .35s var(--ease),opacity .3s;}
.burger-flower {position:absolute;width:50px;height:50px;left:50%;top:50%;pointer-events:none;color:#d3b683;opacity:0;transform:translate(-50%,-50%) scale(.84) rotate(-22.5deg);transition:opacity .4s,transform .6s cubic-bezier(.22,1,.36,1);}
.burger-flower path {stroke-dasharray:80;stroke-dashoffset:80;transition:stroke-dashoffset .65s cubic-bezier(.22,1,.36,1);}
.nav-burger:hover .burger-flower,.nav-burger:focus-visible .burger-flower,.nav-burger[aria-expanded="true"] .burger-flower {opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0);}
.nav-burger:hover .burger-flower path,.nav-burger:focus-visible .burger-flower path,.nav-burger[aria-expanded="true"] .burger-flower path {stroke-dashoffset:0;}
.nav-burger[aria-expanded="false"]:hover>span:first-child,.nav-burger[aria-expanded="false"]:focus-visible>span:first-child {width:17px;}
.nav-burger[aria-expanded="false"]:hover>span:nth-child(2),.nav-burger[aria-expanded="false"]:focus-visible>span:nth-child(2) {width:25px;}
.mobile-menu {isolation:isolate;overflow:hidden;}
.mobile-menu::before {content:none;}
.mobile-menu nav a {position:relative;width:max-content;max-width:100%;padding:5px 40px 5px 0;font-size:clamp(28px,7vw,46px);transition:padding .4s cubic-bezier(.22,1,.36,1),color .3s;}
.mobile-menu nav a::before {content:'';position:absolute;left:0;top:50%;width:26px;height:26px;background:url('../assets/img/textiles/blockprint-seal.webp') center/contain no-repeat;opacity:0;transform:translateY(-50%) rotate(-45deg) scale(.7);transition:opacity .3s,transform .55s cubic-bezier(.22,1,.36,1);}
.mobile-menu nav a::after {content:'↗';position:absolute;right:0;top:50%;font:400 24px var(--sans);opacity:0;transform:translate(-8px,-35%);transition:opacity .3s,transform .4s;}
.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible {padding-left:36px;color:#754651;}
.mobile-menu nav a:hover::before,.mobile-menu nav a:focus-visible::before {opacity:1;transform:translateY(-50%) rotate(0) scale(1);}
.mobile-menu nav a:hover::after,.mobile-menu nav a:focus-visible::after {opacity:1;transform:translate(0,-50%);}
.mobile-menu-foot {position:relative;z-index:1;}
@media(max-width:600px) {
 .portrait-mandala {width:118%;opacity:.25;}
 .mobile-menu nav a {padding-right:30px;}
 .mobile-menu nav a::before {width:22px;height:22px;}
 .mobile-menu nav a:hover,.mobile-menu nav a:focus-visible {padding-left:29px;}
}
@media(prefers-reduced-motion:reduce) {
 .burger-flower,.burger-flower path,.nav-burger>span,.mobile-menu nav a,.mobile-menu nav a::before,.mobile-menu nav a::after {transition:none;}
}
@media(max-height:600px) {
 .mobile-menu {padding-top:90px;padding-bottom:24px;justify-content:flex-start;}
 .mobile-menu nav {gap:0;}
 .mobile-menu nav a {font-size:28px;padding-block:3px;}
 .mobile-menu-foot {margin-top:22px;}
}
@media(max-height:480px) {.mobile-menu nav a {font-size:24px;}.mobile-menu-foot {margin-top:16px;}}

/* Small, consistent responses. Movement stays within the existing layout. */
.heritage-work>span,.heritage-about>span,.heritage-footer>a>span,.writing-link-ico {transition:transform .35s cubic-bezier(.22,1,.36,1);}
.writing-link {position:relative;}
.writing-link::after {content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.work .card-body h3,.work .vcard-name,.play-card h3 {background:linear-gradient(currentColor,currentColor) left bottom/0% 1px no-repeat;padding-bottom:3px;transition:background-size .4s cubic-bezier(.22,1,.36,1),color .3s;}
.play-product-preview img {transition:transform .6s cubic-bezier(.22,1,.36,1);}
.xp-row,.svc-row {position:relative;transition:background .3s;}
.xp-row::before,.svc-row::before {content:'';position:absolute;left:-12px;top:20px;bottom:20px;width:2px;background:#a88656;transform:scaleY(0);transform-origin:center;transition:transform .35s cubic-bezier(.22,1,.36,1);}
.xp-row:hover {padding-left:0;}
.test-item {transition:border-color .35s;}
.gi img {transition:transform .6s cubic-bezier(.22,1,.36,1);}
.pinned-note {animation-fill-mode:backwards;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;}
.brain-controls button,.detail-links button,.brain-list button,.contact-direct>button,.gallery-browse,.xp-resume {transition:background .25s,border-color .25s,color .25s,transform .25s;}
.heritage-work:focus-visible>span {transform:translateY(3px);}
.heritage-about:focus-visible>span,.heritage-footer>a:focus-visible>span,.writing-link:focus-visible .writing-link-ico {transform:translate(3px,-3px);}
.writing-link:focus-visible::after {transform:scaleX(1);}
.work .card:focus-visible h3,.work .vcard:focus-visible .vcard-name,.play-card:focus-visible h3 {background-size:100% 1px;}
.gi:focus-visible img {transform:scale(1.025);}
@media(hover:hover) and (pointer:fine) {
 .heritage-work:hover>span {transform:translateY(3px);}
 .heritage-about:hover>span,.heritage-footer>a:hover>span,.writing-link:hover .writing-link-ico {transform:translate(3px,-3px);}
 .writing-link:hover::after {transform:scaleX(1);}
 .work .card:hover h3,.work .vcard:hover .vcard-name,.play-card:hover h3 {background-size:100% 1px;}
 .play-card:hover .play-product-preview img {transform:scale(1.025);}
 .xp-row:hover::before,.svc-row:hover::before {transform:scaleY(1);}
 .svc-row:hover {background:var(--paper);}
 .test-item:hover {border-color:#a88656;}
 .pinned-note:hover {transform:translateY(-3px) rotate(0deg);box-shadow:2px 9px 16px #20201e18;}
 .brain-controls button:hover,.detail-links button:hover,.brain-list button:hover {background:var(--accent-soft);}
 .contact-direct>button:hover {background:#faf2e512;border-color:#d3b683;}
 .gallery-browse:hover,.xp-resume:hover {border-color:var(--accent);color:var(--accent);}
}
@media(prefers-reduced-motion:reduce) {
 .portrait-mandala::before {animation:none;}
 .heritage-work>span,.heritage-about>span,.heritage-footer>a>span,.writing-link-ico,.play-product-preview img,.pinned-note {transform:none!important;}
}
