/* Subtle depth and interaction; all movement uses opacity/transform for smooth rendering. */
:root{--ease-soft:cubic-bezier(.2,.7,.25,1);--ease-spring:cubic-bezier(.2,.8,.2,1)}
html.js .reveal{opacity:0;transform:translate3d(0,16px,0);transition:opacity .62s var(--ease-soft),transform .62s var(--ease-soft);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
html.js .reveal.is-visible{opacity:1;transform:translate3d(0,0,0);will-change:auto}
.hero-copy .eyebrow,.hero h1,.hero-intro,.hero-actions,.hero-note,.hero-art{transition-duration:.68s}
.hero-art{transition-delay:380ms}
.hero{isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:470px;height:420px;right:0;top:55px;background:radial-gradient(ellipse at 72% 32%,rgba(205,151,131,.16),transparent 62%),radial-gradient(ellipse at 25% 78%,rgba(224,204,188,.22),transparent 64%);filter:blur(18px)}
.hero-art{box-shadow:16px 18px 45px rgba(78,56,44,.09);background:linear-gradient(145deg,#eddfd5,#e2d0c5 56%,#eee6df)}
.hero-photo-placeholder{background:radial-gradient(ellipse at 51% 28%,#fbf1e8 0 10%,transparent 10.5%),radial-gradient(ellipse at 51% 58%,#d7c0b4 0 22%,transparent 22.5%),linear-gradient(145deg,#b89583,#e6d5ca 48%,#bea194)}
.hero-stamp{transition:transform .42s var(--ease-spring),box-shadow .42s ease}
.hero-art:hover .hero-stamp{transform:rotate(8deg) scale(1.035);box-shadow:0 8px 24px rgba(73,53,43,.16)}
.intro-band{background:linear-gradient(112deg,#f8f4ef 0%,#f5efea 52%,#f8f4ef 100%)}
.portfolio-section{background:linear-gradient(135deg,#f3eee9 0%,#efe8e1 52%,#f4efea 100%)}
.services-section{position:relative}
.services-section:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:390px;height:320px;right:-90px;top:110px;background:radial-gradient(ellipse,rgba(210,174,157,.1),transparent 70%)}
.service-card{border:1px solid rgba(137,111,96,.06);transition:transform .34s var(--ease-spring),background .34s ease,border-color .34s ease,box-shadow .34s ease}
.service-card .service-icon{display:inline-block;transform-origin:center;transition:transform .42s var(--ease-spring),color .3s ease}
.service-card:hover,.service-card:focus-within{transform:translate3d(0,-4px,0);background:linear-gradient(145deg,#f6f0eb,#eee4dc);border-color:rgba(169,103,89,.2);box-shadow:0 12px 25px rgba(65,47,37,.055)}
.service-card:hover .service-icon,.service-card:focus-within .service-icon{transform:rotate(9deg) scale(1.08);color:#a96759}
.portfolio-card{background:linear-gradient(145deg,#e7dcd3,#d8c7bc);transition:transform .4s var(--ease-spring),box-shadow .4s ease}
.portfolio-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(44,34,30,.34),transparent 46%);opacity:.54;transition:opacity .35s ease}
.portfolio-card img{transition:transform .7s var(--ease-soft),filter .45s ease}
.portfolio-label{z-index:1;transform:translate3d(0,5px,0);transition:transform .38s var(--ease-spring)}
.portfolio-card:hover{transform:translate3d(0,-3px,0);box-shadow:0 12px 28px rgba(53,39,31,.1)}
.portfolio-card:hover img{transform:scale(1.035)}
.portfolio-card:hover:after{opacity:.72}
.portfolio-card:hover .portfolio-label{transform:translate3d(0,0,0)}
.academy-visual{background:linear-gradient(145deg,#e5d1c6,#d8bcae 58%,#e8dbd2)}
.academy-card{background:linear-gradient(145deg,#817661,#706652 55%,#665f4e)}
.academy-flower{transform-origin:center;transition:transform .6s var(--ease-spring),color .4s ease}
.academy-visual:hover .academy-flower{transform:rotate(18deg) scale(1.05);color:#edc1af}
.about-image{background:linear-gradient(145deg,#efe4dc,#dfcbbf 62%,#eee5de)}
.about-placeholder{background:radial-gradient(ellipse at 50% 35%,#f8eee7 0 13%,transparent 13.5%),linear-gradient(145deg,#a98a7a,#e8d7ca 50%,#c4a99b)}
.location-band{background:linear-gradient(105deg,#f8f4ef,#f2ebe5 56%,#f8f4ef)}
.contact-section{position:relative;isolation:isolate}
.contact-section:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:420px;height:400px;left:-140px;bottom:0;background:radial-gradient(ellipse,rgba(208,165,148,.1),transparent 68%)}
.button,.nav-cta{transition:background .25s ease,color .25s ease,transform .28s var(--ease-spring),box-shadow .28s ease}
.button span,.nav-cta span{display:inline-block;transition:transform .28s var(--ease-spring)}
.button:hover span,.nav-cta:hover span{transform:translate3d(3px,-2px,0)}
.button-dark:hover{box-shadow:0 8px 18px rgba(76,48,40,.15)}
.main-nav a:not(.nav-cta){position:relative}
.main-nav a:not(.nav-cta):after{content:"";height:1px;position:absolute;bottom:-5px;left:0;right:100%;background:var(--rose-dark);transition:right .3s var(--ease-soft)}
.main-nav a:not(.nav-cta):hover:after,.main-nav a:not(.nav-cta):focus-visible:after{right:0}
.text-link{transition:color .25s ease,border-color .25s ease}
.text-link span{display:inline-block;transition:transform .28s var(--ease-spring)}
.text-link:hover span{transform:translate3d(3px,-2px,0)}
.round-link{transition:transform .35s var(--ease-spring),background .25s ease,color .25s ease,border-color .25s ease}
.round-link:hover{transform:rotate(8deg)}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{box-shadow:0 0 0 3px rgba(169,103,89,.08);background:#fff}
.form-status{transition:opacity .28s ease,transform .28s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a96759;outline-offset:3px}
@media(hover:none){.portfolio-label{transform:none}.portfolio-card:after{opacity:.62}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}html.js .reveal{opacity:1;transform:none;will-change:auto}}
