/* Editorial type system. Layout, media and motion remain in their original files. */
:root{--font-display:'Bodoni Moda',serif;--font-text:'Manrope',sans-serif;--type-title:clamp(48px,5.1vw,82px);--type-body:clamp(15px,1.14vw,18px)}
body{font-family:var(--font-text);font-weight:400;font-synthesis:none;font-kerning:normal;font-optical-sizing:auto}
button,input,select,textarea{font-family:var(--font-text);font-weight:500}
.header .brand-name{font-family:var(--font-display);font-weight:400;letter-spacing:.065em;font-size:clamp(14px,1.15vw,19px);line-height:1.2}
.header .brand-caption{font-family:var(--font-text);font-weight:400}
.header .luxury-nav a,.menu nav>a,.header .appointment-button,#home .hero-actions a{font-family:var(--font-text);font-weight:500;font-size:13px;line-height:1.6;letter-spacing:.035em}
#home .hero-editorial-copy h1,#fine-jewelry .fine-copy h2,#selected-pieces .collection-heading h2,.shared-boutique #meet-allan h2,#social-presence .social-copy h2,#contact .contact-copy h2{font-family:var(--font-display);font-weight:400;font-size:var(--type-title);line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
#home .hero-editorial-copy h1{position:relative;font-size:clamp(66px,6.6vw,108px);height:1.92em;line-height:.96}
#home .hero-editorial-copy h1 .hero-title-art{position:absolute;left:-.14em;bottom:0;display:block;width:6.35em;max-width:calc(100% + .14em);height:auto}
#fine-jewelry .fine-copy h2{font-size:clamp(40px,3.8vw,62px);line-height:1.15}
#fine-jewelry .fine-copy h2 em,.shared-boutique #meet-allan h2 em,#social-presence .social-copy h2 em,#contact .contact-copy h2 em{font-family:var(--font-display);font-weight:400;font-style:italic}
#home .hero-editorial-copy .hero-description,#fine-jewelry .fine-copy>p,.shared-boutique #meet-allan .alan-intro,.shared-boutique #meet-allan .alan-description,#social-presence .social-copy p{font-family:var(--font-text);font-weight:300;font-style:normal;font-size:var(--type-body);line-height:1.6;letter-spacing:.012em;text-wrap:pretty}
#social-presence .social-copy p strong{font-family:var(--font-text);font-weight:400}
#selected-pieces .piece h3{font-family:var(--font-text);font-weight:400;font-size:clamp(14px,1.15vw,18px);line-height:1.6;letter-spacing:.01em;text-wrap:balance}
#selected-pieces .carousel-count,#selected-pieces .carousel-controls button,.social-platform-caption .platform-label,.social-platform-caption .platform-handle{font-family:var(--font-text);font-weight:500}
#selected-pieces .carousel-count{font-size:10px;letter-spacing:.16em;font-variant-numeric:tabular-nums}
:is(#fine-jewelry,#client-reviews) .review-card{height:270px;padding:16px 22px}
:is(#fine-jewelry,#client-reviews) .review-stage{height:290px}
:is(#fine-jewelry,#client-reviews) .review-card .review-text{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:17px;line-height:1.35;letter-spacing:-.012em;text-wrap:pretty;margin-bottom:12px}
:is(#fine-jewelry,#client-reviews) .review-card footer strong{font-family:var(--font-text);font-weight:400;font-size:12px;line-height:1.6;letter-spacing:.01em}
:is(#fine-jewelry,#client-reviews) .review-card footer a,:is(#fine-jewelry,#client-reviews) .review-controls,:is(#fine-jewelry,#client-reviews) .review-position,:is(#fine-jewelry,#client-reviews) .testimonials .review-caption{font-family:var(--font-text);font-weight:400}
:is(#fine-jewelry,#client-reviews) .review-ornament{font-family:var(--font-display);font-size:18px;line-height:1;margin-bottom:7px}
#contact .contact-copy address{font-family:var(--font-text);font-weight:400;font-style:normal;font-size:clamp(12px,1.05vw,16px);line-height:1.6;letter-spacing:.035em;font-variant-numeric:lining-nums}
@media(min-width:651px) and (max-width:1100px){
 #fine-jewelry .fine-copy h2{font-size:clamp(32px,4.5vw,44px)}
 :is(#fine-jewelry,#client-reviews) .review-card .review-text{font-size:16px}
 .header .luxury-nav a{font-size:12px;letter-spacing:.015em}
 #contact .contact-copy address{letter-spacing:.01em}
}
@media(max-width:650px){
 :root{--type-title:clamp(36px,10vw,52px);--type-body:15px}
 .header .brand-name{font-size:clamp(11px,3.2vw,16px);letter-spacing:.035em}
 #home .hero-editorial-copy h1{font-size:clamp(48px,12.5vw,72px);height:2.81em;line-height:.98}
 #fine-jewelry .fine-copy h2{font-size:clamp(28px,7.65vw,46px);line-height:1.18;letter-spacing:-.04em}
 #home .hero-editorial-copy .hero-description{font-size:14px}
 #home .hero-actions a{font-size:12px}
 #selected-pieces .piece h3{font-size:13px;line-height:1.6;letter-spacing:0}
 :is(#fine-jewelry,#client-reviews) .review-card{height:270px;padding:16px 20px}
 :is(#fine-jewelry,#client-reviews) .review-stage{height:290px}
 :is(#fine-jewelry,#client-reviews) .review-card .review-text{font-size:16px;line-height:1.4}
 :is(#fine-jewelry,#client-reviews) .review-card footer strong{font-size:11px}
 #contact .contact-copy address{font-size:clamp(11px,3.05vw,14px);letter-spacing:.015em}
}

/* Center smaller arrow glyphs inside the original controls. */
#selected-pieces .carousel-controls button{display:grid;place-items:center;padding:0;font-size:18px;line-height:1}
#selected-pieces .carousel-controls button span{display:block;line-height:1;transform:translateY(-1px)}
/* Keep one painted background throughout hover; only the button position animates. */
#home .hero-explore,#home .hero-explore:hover,#home .hero-explore:focus-visible{background:linear-gradient(135deg,#0a3152,#041c32);color:#fff;opacity:1;visibility:visible;animation:none;transition:transform .22s ease;transform:translateY(0);backface-visibility:hidden}
@media(hover:hover) and (pointer:fine){#home .hero-explore:hover{transform:translateY(-3px)}}
#home .hero-explore:focus-visible{outline:2px solid #5e789d;outline-offset:4px;transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce){#home .hero-explore{transition:none}}

/* Align the supporting copy and CTA with the first letter of “every stone.” */
#home .hero-editorial-copy{--hero-details-indent:clamp(66.74px,6.674vw,109.22px)}
#home .hero-editorial-copy .hero-description,#home .hero-editorial-copy .hero-actions{margin-left:var(--hero-details-indent);width:calc(100% - var(--hero-details-indent))}
@media(max-width:650px){#home .hero-editorial-copy{--hero-details-indent:clamp(48.54px,12.64vw,72.82px)}}
