/* Local review: consistent spacing, accessible controls, original icons. */
html{scroll-padding-top:100px}body{overflow-x:clip}.reveal{opacity:1;transform:none}.preloader{display:none}.custom-icon{width:28px;height:28px;flex-shrink:0}.card-ico .custom-icon{width:52px;height:52px}.card-ico{width:76px;height:76px}.card{display:flex;flex-direction:column;padding:32px;gap:0}.card h3{line-height:1.3;overflow-wrap:anywhere}.card p{margin-bottom:24px}.card-foot{margin-top:auto;gap:16px;flex-wrap:wrap}.card-link{padding:10px 0;display:inline-flex}.sec-head{gap:32px}.about,.services,.gallery,.reviews,.faq,.contact{padding:clamp(56px,7vw,104px) 0}.hero{padding-top:140px}.info-row{gap:16px}.info-row>div:last-child{min-width:0}.review-source{grid-column:1/-1;max-width:800px;font-size:18px}.review-source .btn{margin-top:24px}.burger{border:0;background:transparent;min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-menu[hidden]{display:none}.mobile-menu{padding:90px 24px 30px;overflow-y:auto;gap:24px}.mobile-menu a{font-size:clamp(22px,5vw,32px)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.aurora span,.hero-ring,.marquee-track,.fab{animation:none!important}.marquee-track{flex-wrap:wrap;justify-content:center;width:100%;gap:24px}.cursor-glow{display:none}.contact-map{min-width:0}.detail-nav{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:90px}.detail-nav>a:first-child{font-size:25px;color:var(--accent)}.detail-main{padding-top:28px}.detail-main nav{font-size:14px;color:var(--muted);margin-bottom:36px}.detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;margin-bottom:64px}.detail-hero h1{font:500 clamp(34px,4.3vw,66px)/1.1 var(--sans);letter-spacing:-.04em;margin:24px 0}.detail-hero .custom-icon{width:70px;height:70px;color:var(--accent)}.detail-hero img{width:100%;height:520px;object-fit:cover;border-radius:120px 24px 24px 24px}.detail-hero .btn{margin-top:28px;white-space:normal}.detail-section{padding:32px 0;border-top:1px solid var(--line);max-width:850px}.detail-section h2{font-size:28px;line-height:1.25;margin-bottom:18px}.detail-section p{font-size:18px;line-height:1.8;color:var(--muted);margin-bottom:12px}.detail-section a{color:var(--accent)}.detail-footer{padding-top:44px;padding-bottom:44px}.hero-photo img{height:100%;width:100%}.about .frame img{width:100%;height:100%;object-fit:cover}.bento img{height:100%;width:100%;object-fit:cover}
@media(max-width:980px){.detail-hero{grid-template-columns:1fr;gap:32px}.detail-hero img{height:440px;max-width:620px}.cards{gap:24px}.hero{padding-top:110px}}
@media(max-width:640px){.card{padding:26px 22px}.contact-info{padding:28px 22px}.faq-item summary{padding:20px 18px}.faq-answer{padding:0 18px 22px}.sec-head{gap:20px}.info-row{gap:12px}.badge{padding:12px;gap:8px}.badge small{font-size:12px}.hero-grid{gap:30px}.hero .lead{font-size:17px}.hero-cta{gap:12px}.btn{padding:15px 21px}.stats{flex-wrap:wrap}.detail-nav{gap:12px;font-size:13px}.detail-nav>a:first-child{font-size:20px}.detail-hero img{height:360px}.detail-section h2{font-size:25px}.detail-section p{font-size:16px}.detail-main nav{font-size:12px}.contact-map{min-height:300px}.footer{padding-top:40px}.h-sec{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.location-art{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:390px;height:100%;padding:36px 22px 110px;text-align:center;color:var(--accent);background:radial-gradient(ellipse at 50% 40%,#20545688,transparent 70%)}.location-art svg{width:180px;max-width:80%;height:135px}.location-art p{font-size:23px;margin:15px 0 8px}.location-art small{color:var(--muted);font-size:13px;max-width:28ch}.contact-map{background:#10262c}.detail-hero>*,.sec-head>*{min-width:0}@media(max-width:640px){.fab{display:none}.location-art{min-height:350px}.contact-map{min-height:350px}}
/* Restored motion and symmetric hero badges. */
.badge.b-rating,.badge.b-years{width:190px;min-height:88px;padding:16px;display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;box-sizing:border-box}.badge.b-rating{top:8%;left:-8%;bottom:auto;right:auto}.badge.b-years{bottom:8%;right:-8%;top:auto;left:auto}.badge .num{font-size:30px;text-align:center;white-space:nowrap}.badge small{font-size:11px;line-height:1.5;letter-spacing:0;max-width:none}.badge.b-rating>div:last-child{min-width:0}.hero-ring text{letter-spacing:2px}.hero-ring:hover svg{animation-play-state:paused}
.marquee{position:relative;padding-right:0;padding-bottom:36px}.marquee-track{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content;animation:marq 36s linear infinite!important}.marquee-group{display:flex;flex:none;align-items:center;gap:0}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.is-paused .marquee-track{animation-play-state:paused!important}.marquee-toggle{position:absolute;right:14px;bottom:5px;width:30px;height:26px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--accent);cursor:pointer;font-size:14px;line-height:1}.marquee-toggle:hover{background:#205456}
.animated-brand svg,.about-mono,.custom-icon{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s ease;transform-origin:center}.animated-brand:hover svg,.animated-brand:focus-visible svg{transform:rotate(-9deg) scale(1.12);filter:drop-shadow(0 0 9px #3fe7df66)}.about-mono:hover{transform:rotate(-9deg) scale(1.08);filter:drop-shadow(0 0 12px #3fe7df55)}.card:hover .custom-icon,.info-row:hover .custom-icon,a:hover .custom-icon{transform:rotate(-7deg) scale(1.1)}.about-mono circle{transform-origin:50px 50px;transition:transform .8s ease,opacity .8s ease}.about-mono:hover circle:first-child{transform:scale(.94);opacity:1}.about-mono:hover circle:nth-child(2){transform:scale(1.07);opacity:.8}
@media(max-width:640px){.badge.b-rating,.badge.b-years{width:162px;min-height:82px;padding:12px;grid-template-columns:42px 1fr;gap:8px}.badge.b-rating{top:6%;left:-5%}.badge.b-years{bottom:6%;right:-5%}.badge .num{font-size:27px}.badge small{font-size:10px}.marquee span{font-size:24px}.marquee span b{margin:0 24px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none!important;flex-wrap:wrap;width:100%}.marquee-group{flex-wrap:wrap;justify-content:center}.marquee-group[aria-hidden=true],.marquee-toggle{display:none}.hero-ring svg{animation:none!important}.animated-brand:hover svg,.about-mono:hover,.card:hover .custom-icon,.info-row:hover .custom-icon,a:hover .custom-icon{transform:none;filter:none}}
@media(max-width:980px){.hero{padding-top:145px}.hero-grid{gap:76px}}
/* Optical numeric alignment: lining figures share the same cap height and baseline. */
.badge .num{font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;font-weight:500;font-size:28px;line-height:1;letter-spacing:-.04em;text-align:left;align-self:center;display:flex;align-items:center;height:30px;transform:translateY(-1px)}.badge.b-rating,.badge.b-years{grid-template-columns:48px 1fr}.badge.b-years small{line-height:1.5}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-actions .contact-button{min-height:56px;gap:12px;padding:15px 24px;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}.contact-actions .custom-icon{width:26px;height:26px;stroke-width:2.4}.contact-button:hover,.contact-button:focus-visible{transform:translateY(-4px);box-shadow:0 9px 24px #3fe7df22}.contact-button:hover .custom-icon,.contact-button:focus-visible .custom-icon{transform:rotate(-9deg) scale(1.14)}.max-contact{margin-top:20px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;display:none;scroll-margin-top:110px}.max-contact:target{display:block}.max-contact strong{color:var(--accent)}.max-contact p{margin-top:6px;font-size:14px}.max-contact a{white-space:nowrap}@media(max-width:640px){.badge .num{font-size:26px;height:28px}.badge.b-rating,.badge.b-years{grid-template-columns:42px 1fr}.contact-actions .contact-button{padding:14px 20px}}@media(prefers-reduced-motion:reduce){.contact-button:hover,.contact-button:focus-visible,.contact-button:hover .custom-icon,.contact-button:focus-visible .custom-icon{transform:none}}
.fab.fab-max{background:linear-gradient(145deg,#71eee4,#329eaf);box-shadow:0 10px 30px #3fe7df44}.fab.fab-max svg{color:#102c34}.fab.fab-max:hover,.fab.fab-max:focus-visible{transform:translateY(-5px) scale(1.06)}.fab.fab-max:hover svg{transform:rotate(-9deg) scale(1.1)}@media(prefers-reduced-motion:reduce){.fab.fab-max:hover,.fab.fab-max:focus-visible,.fab.fab-max:hover svg{transform:none}}
/* Studio details balance the portrait photography. */
.bento.studio-gallery{grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:250px 250px;gap:20px;grid-auto-rows:auto}.studio-gallery figure{grid-column:auto;grid-row:auto;min-width:0}.studio-gallery figure:nth-child(1),.studio-gallery figure:nth-child(2){grid-row:span 2}.studio-gallery img{object-position:center}.studio-gallery figure:nth-child(2) img{object-position:55% 58%}.studio-gallery figcaption{opacity:1;transform:none;line-height:1.4}.max-color-icon{stroke:none!important}.fab.fab-max{background:#fff;box-shadow:0 8px 32px #5b58ff55}.fab.fab-max .max-color-icon{width:39px;height:39px}.contact-actions .max-color-icon{width:28px;height:28px}.studio-gallery figure:hover img{transform:scale(1.035)}@media(max-width:760px){.bento.studio-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 250px;gap:12px}.studio-gallery figure:nth-child(1),.studio-gallery figure:nth-child(2){grid-row:auto}.studio-gallery figcaption{font-size:12px;left:12px;right:12px;bottom:12px}}@media(max-width:400px){.bento.studio-gallery{grid-template-rows:270px 210px}}
.studio-gallery figure:nth-child(4) img{object-position:50% 30%}
.card-ico.metal-icon-holder{background:none;box-shadow:none;border:0;width:92px;height:92px}.metal-icon-holder .metal-service-icon{width:92px;height:92px;transition:transform .5s ease}.card:hover .metal-service-icon{transform:translateY(-3px) rotate(-4deg)}@media(prefers-reduced-motion:reduce){.card:hover .metal-service-icon{transform:none}}
/* Approved generated artwork: a shared sprite preserves the selected design exactly. */
.card-ico.approved-metal{width:114px;height:114px;flex:0 0 114px;border:0;border-radius:50%;background-image:url("assets/icons/approved-metal.png");background-repeat:no-repeat;background-size:362% 120.666667%;background-position:5.470738% 24.193548%;box-shadow:0 8px 18px #00182055;transition:transform .55s ease,box-shadow .55s ease}
.card-ico.approved-metal--hair{background-position:50% 24.193548%}
.card-ico.approved-metal--training{background-position:94.529262% 24.193548%}
.card:hover .approved-metal{transform:translateY(-3px) rotate(-4deg);box-shadow:0 12px 24px #00182077}
@media(prefers-reduced-motion:reduce){.card-ico.approved-metal{transition:none}.card:hover .approved-metal{transform:none}}
/* Keep fine metal engraving stable; animate a separate halo instead of resampling rotated pixels. */
.services .card,.services .card:hover{transform:none;will-change:auto}
.card-ico.approved-metal,.card:hover .card-ico.approved-metal{position:relative;isolation:isolate;transform:none;transition:none;box-shadow:0 8px 18px #00182055;filter:blur(.18px)}
.card-ico.approved-metal::after{content:"";position:absolute;inset:-8px;border-radius:50%;box-shadow:0 0 22px 3px #55ddd54d;opacity:0;pointer-events:none;transition:opacity .35s ease}
.card:hover .approved-metal::after,.card:focus-within .approved-metal::after{opacity:1}
@media(prefers-reduced-motion:reduce){.card-ico.approved-metal::after{transition:none}}
.hero-ring .ring-stars text{letter-spacing:0;font-size:8.6px}.hero-ring .ring-words{letter-spacing:0}
html{color-scheme:dark}.skip-link{position:fixed;left:16px;top:12px;z-index:9999;padding:12px 18px;background:#85e8df;color:#08252a;border-radius:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}.motion-paused .hero-ring svg{animation-play-state:paused!important}.marquee-toggle{width:44px;min-height:30px}.mobile-menu{overscroll-behavior:contain}
