/* Motion design: transforms and opacity keep the experience light. */
.brand-mark{position:relative;display:block;flex:none;width:56px;height:56px;overflow:hidden;border-radius:50%;isolation:isolate}
.brand-mark img{width:100%;height:100%}
.header .brand-mark::after{content:'';position:absolute;inset:-30%;pointer-events:none;background:linear-gradient(112deg,transparent 30%,#bd8b3040 40%,#ffebb59c 46%,#fff9eaca 49%,#ffe5a170 53%,transparent 64%);mix-blend-mode:screen;transform:translateX(-140%) rotate(-12deg);animation:gold-pass 5.8s cubic-bezier(.3,0,.2,1) infinite}
.header .brand strong{background:linear-gradient(105deg,#a87a38 0%,#e7c484 19%,#fff2d1 28%,#b88b48 38%,#f4d59c 53%,#fffaf0 61%,#c49a54 72%,#e7c484 100%);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:chrome-flow 7s linear infinite}
.header{transition:box-shadow .4s,border-color .4s}
.header nav>a:not(.nav-contact){position:relative}
.header nav>a:not(.nav-contact)::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.65,.2,1)}
.header nav>a:hover::after,.header nav>a[aria-current=true]::after{transform:scaleX(1)}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#a57839,#f4dba5);transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}
.hero-art{perspective:1100px;width:100%}
.prime-emblem{position:relative;display:block;isolation:isolate;outline-offset:8px;border-radius:50%;touch-action:pan-y;width:100%;line-height:0;cursor:ew-resize}
.prime-emblem>img{width:100%;height:auto;display:block}
.prime-emblem svg{width:100%;height:auto;aspect-ratio:1;display:block;border-radius:50%;box-shadow:0 22px 65px #06101d55}
.prime-emblem::before{content:'';position:absolute;inset:-4%;border:1px solid #d1ad7020;border-radius:50%;pointer-events:none;transform:scale(.97);opacity:0;transition:opacity .6s,transform .8s}
.prime-emblem:hover::before,.prime-emblem:focus-visible::before{transform:scale(1);opacity:1}
.prime-emblem::after{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,35%),#ffe3a117,transparent 42%);mix-blend-mode:screen;opacity:0;transition:opacity .6s}
.prime-emblem:hover::after,.prime-emblem:focus-visible::after{opacity:1}
.emblem-chrome{pointer-events:none;mix-blend-mode:screen}
.emblem-chrome-sweep{width:100%;height:100%;border-radius:50%;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg 250deg,#bd8b3028 269deg,#edc47d78 287deg,#fff6dbea 301deg,#fffcefef 307deg,#f4d29088 316deg,#bc88342a 331deg,transparent 345deg 360deg);transform-origin:50% 50%;animation:emblem-gold-clockwise 7s linear infinite;will-change:transform}
.prime-emblem.is-outside .emblem-chrome-sweep{animation-play-state:paused}
body.motion-paused .emblem-chrome{opacity:0}
.hero-art .balance-hint{font-size:9px;letter-spacing:.035em;text-align:center;margin-top:12px;color:#aebbc4;line-height:1.6}
.balance-hint span{display:inline-block;color:var(--gold);margin-right:6px;animation:hint-sway 4s ease-in-out infinite}
.motion-enabled .hero-copy>.eyebrow,.motion-enabled .hero-description,.motion-enabled .hero-copy>.button,.motion-enabled .hero-note{animation:arrive .95s cubic-bezier(.22,.7,.25,1) both}
.motion-enabled .hero-description{animation-delay:.12s}.motion-enabled .hero-copy>.button{animation-delay:.22s}.motion-enabled .hero-note{animation-delay:.32s}
.motion-enabled .hero-art{animation:arrive 1.2s .1s cubic-bezier(.22,.7,.25,1) both}
.motion-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--reveal-delay,0ms),transform 1s var(--reveal-delay,0ms) cubic-bezier(.22,.7,.25,1)}
.motion-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}
.button{position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),background .3s,box-shadow .4s}
.button::before{content:'';position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 42%,#fff6d638 49%,transparent 57%);transform:translateX(-80%);transition:transform .7s ease;pointer-events:none}
.button:hover::before{transform:translateX(80%)}
.button:hover{box-shadow:0 8px 24px #06101d20}
.button span,.text-link span,.nav-contact span,.back-top span{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.button:hover span,.text-link:hover span,.nav-contact:hover span{transform:translate(3px,-3px)}
.back-top:hover span{transform:translateY(-4px)}
.practice-item summary{transition:padding-left .4s,background .4s}
.practice-item summary:hover{padding-left:10px;background:#d1ad7005}
.area-number{transition:color .3s,transform .4s}
.practice-item summary:hover .area-number{transform:translateX(3px);color:var(--gold-light)}
.practice-item[open] .area-content,.faq-list details[open]>p{animation:details-arrive .5s cubic-bezier(.2,.65,.2,1) both}
.steps article,.principles>div,.contact-panel{transition:transform .5s,border-color .5s,box-shadow .5s}
.steps article:hover{transform:translateY(-5px);border-color:#9a7743}
.motion-enabled .steps article.is-visible:hover{transform:translateY(-5px)}
.principles>div:hover h3{color:#9a7743}.principles h3{transition:color .3s}
.contact-panel:hover{border-color:#d1ad7070;box-shadow:0 15px 50px #07142130}
.contact-symbol{transition:transform .5s}.contact-panel:hover .contact-symbol{transform:translate(4px,-4px)}
.contact-address{font-style:normal;border-top:1px solid var(--line);padding-top:20px}
.contact-location-label{display:block;font-size:8px;letter-spacing:.15em;color:var(--gold);margin-bottom:8px}
.contact-address-text{display:block;font-size:13px;color:#c1cbd2;line-height:1.8}
.contact-map{margin-top:12px;font-size:10px;color:var(--gold-light);gap:16px;max-width:100%}
.contact-links .text-link{gap:16px;max-width:100%}
.contact-links .button{max-width:100%}
@media(max-width:600px){.contact-links .button{padding:12px 14px;gap:10px;font-size:10px}.contact-links .text-link,.contact-map{font-size:10px;gap:10px}.contact-address-text{font-size:12px}}
.motion-toggle{position:fixed;bottom:18px;right:18px;z-index:30;display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #d1ad7045;background:#102234ed;color:#dfccaa;font-size:9px;border-radius:30px;box-shadow:0 3px 20px #08172620;backdrop-filter:blur(12px);transition:background .3s}
.motion-toggle:hover{background:#1b344b}.motion-toggle-icon{font-size:11px;line-height:1}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation:none!important;transition:none!important}
body.motion-paused .reveal{opacity:1;transform:none}
body.motion-paused .button:hover,body.motion-paused .steps article:hover{transform:none}
body.motion-paused.motion-enabled .steps article.is-visible:hover{transform:none}
body.motion-paused .header .brand strong{background-position:45% 50%}
body.motion-paused .prime-emblem{cursor:default}
@keyframes gold-pass{0%,15%{transform:translateX(-140%) rotate(-12deg)}50%,100%{transform:translateX(140%) rotate(-12deg)}}
@keyframes chrome-flow{from{background-position:100% 50%}to{background-position:-200% 50%}}
@keyframes emblem-gold-clockwise{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes hint-sway{0%,100%{transform:translateX(-2px)}50%{transform:translateX(2px)}}
@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes details-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){.brand-mark{width:48px;height:48px}.header nav>a:not(.nav-contact)::after{bottom:6px;left:12px;right:12px}.motion-toggle{bottom:12px;right:12px}.hero-art .balance-hint{font-size:8px}}
@media(max-width:600px){.hero-art{width:76%}}
@media(prefers-reduced-motion:reduce){body:not(.motion-opt-in) .emblem-chrome{opacity:0}.emblem-chrome-sweep{will-change:auto}}
@media(prefers-reduced-motion:reduce){body:not(.motion-opt-in) *,body:not(.motion-opt-in) *::before,body:not(.motion-opt-in) *::after{animation:none!important;transition:none!important}body:not(.motion-opt-in) .reveal{opacity:1;transform:none}body:not(.motion-opt-in) .prime-emblem{cursor:default}body:not(.motion-opt-in) .button:hover,body:not(.motion-opt-in) .steps article:hover{transform:none}}
