/* Florisa typography — self-hosted, optical-size aware, no synthetic weights. */
@font-face{font-family:"Bodoni Moda";src:url("fonts/bodoni-moda-latin-variable-normal.woff2?v=20261031-bm2") format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("fonts/bodoni-moda-latin-variable-italic.woff2?v=20261031-bm2") format("woff2");font-style:italic;font-weight:400 900;font-display:swap}
@font-face{font-family:"Lato";src:url("fonts/lato-latin-400-normal.woff2?v=20261031-bm2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Lato";src:url("fonts/lato-latin-600-normal.woff2?v=20261031-bm2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Lato";src:url("fonts/lato-latin-700-normal.woff2?v=20261031-bm2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--serif:"Bodoni Moda",Georgia,serif;--sans:"Lato",Arial,sans-serif}
*,*::before,*::after{font-synthesis:none}
body{font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.7;font-optical-sizing:auto;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:var(--sans)}
strong,b{font-weight:700}
h1,h2,h3{font-family:var(--serif);font-weight:500;font-kerning:normal;font-optical-sizing:auto}
.announcement{font-size:11px;line-height:1.5;letter-spacing:.055em;text-transform:none}
.menu-toggle,.header-action{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.025em;text-transform:none}
.drawer-label,.drawer-section-label{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.09em}
.drawer-nav a{font-family:var(--serif);font-size:35px;font-weight:500;line-height:1.2;letter-spacing:-.025em;padding:15px 0}
.drawer-category-nav a{font-family:var(--sans);font-size:13px;font-weight:400;line-height:1.4;letter-spacing:0}
.drawer-bottom{font-size:13px;line-height:1.7}
.eyebrow{font-family:var(--sans);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.12em}
.hero h1{max-width:610px;margin:0 0 21px;font-family:var(--serif);font-size:clamp(45px,4.25vw,62px);font-weight:500;line-height:1.13;letter-spacing:-.035em}
.hero h1 em{display:block;margin-top:.19em;color:var(--rose-deep);font-family:var(--serif);font-size:.76em;font-style:normal;font-weight:500;line-height:1.18;letter-spacing:-.025em}
.hero-slogan{margin:0 0 22px;color:var(--rose);font-family:var(--serif);font-size:clamp(20px,1.65vw,24px);font-style:italic;font-weight:400;line-height:1.45;letter-spacing:0}
.hero-description{max-width:43ch;margin-bottom:29px;font-size:16px;line-height:1.75}
.button{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.02em;text-transform:none}
.hero-note{max-width:44ch;margin-top:29px;font-size:12px;line-height:1.6}
.hero-photo-caption{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.3;letter-spacing:-.01em;text-transform:none}
.hero-image-tag{font-family:var(--sans);font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.035em;text-transform:none}
.hero-side-caption{font-size:10px;font-weight:400;letter-spacing:.09em}
.proof-number{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.15}
.proof-label{font-size:11px;line-height:1.55;letter-spacing:.025em;text-transform:none}
.section-heading h2,.section-heading h1,.about-copy h2,.follow-intro h2,.contact-intro h2{font-family:var(--serif);font-size:clamp(40px,4vw,56px);font-weight:500;line-height:1.16;letter-spacing:-.03em}
.section-heading p,.about-copy>p,.follow-intro>p{font-size:16px;line-height:1.8}
.filter-button{padding:10px 15px;font-family:var(--sans);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.015em;text-transform:none}
.product-category{font-family:var(--sans);font-size:10px;font-weight:600;line-height:1.5;letter-spacing:.095em}
.product-code{font-family:var(--sans);font-size:10px;font-weight:700;line-height:1.25;letter-spacing:.06em}
.product-card h3{margin:12px 0 11px;font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.22;letter-spacing:-.025em}
.product-card p{font-family:var(--sans);font-size:15px;line-height:1.75;min-height:5.25em}
.product-link,.text-link{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.015em;text-transform:none}
.catalog-note p{font-size:14px;line-height:1.75}
.about-stamp small{font-family:var(--sans);font-size:11px;line-height:1.5;letter-spacing:.055em;text-transform:none}
.about-stamp strong{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.025em}
.review-score strong{font-family:var(--serif);font-size:37px;font-weight:500;line-height:1.2}
.review-label,.review-link{font-family:var(--sans);font-size:12px;line-height:1.6;letter-spacing:.015em}
.review-link{font-weight:600;text-transform:none}
.follow-kicker{font-family:var(--sans);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.015em;text-transform:none}
.follow-intro h2{margin-top:20px;margin-bottom:15px}
.follow-platform{font-family:var(--sans);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.035em;text-transform:none}
.follow-handle{font-family:var(--sans);font-size:15px;font-weight:600;line-height:1.5;letter-spacing:0}
.location-details h3{font-family:var(--serif);font-size:clamp(36px,3.8vw,52px);font-weight:500;line-height:1.16;letter-spacing:-.03em}
.location-address{font-family:var(--sans);font-size:16px;line-height:1.8}
.directions-button{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.5;letter-spacing:.02em;text-transform:none;color:var(--ink)}
.directions-button:hover,.directions-button:focus-visible{color:#fff}
.map-label{font-family:var(--sans);font-size:11px;line-height:1.5;letter-spacing:.015em;text-transform:none}
.map-overlay a{font-family:var(--sans);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:0;text-transform:none}
.footer-brand{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.3;letter-spacing:-.025em}
.footer-note,.footer-top{font-family:var(--sans);font-size:12px;line-height:1.6;letter-spacing:.015em}
.footer-top{font-weight:600;text-transform:none}
.lightbox-title{font-family:var(--serif);font-weight:500;line-height:1.25;letter-spacing:-.025em}
.lightbox-bottom{font-family:var(--sans);font-size:12px;line-height:1.5}
@media(max-width:900px){
 .hero h1{font-size:clamp(43px,5.3vw,56px)}
 .hero-description{font-size:15px}
 .hero-slogan{font-size:21px}
 .location-address{font-size:15px}
}
@media(max-width:650px){
 .announcement{font-size:10px;letter-spacing:.01em}
 .drawer-nav a{font-size:32px;padding:16px 0}
 .drawer-category-nav a{font-size:12px}
 .hero h1{margin:0 0 19px;font-size:clamp(41px,11.2vw,53px);line-height:1.12;letter-spacing:-.035em}
 .hero h1 em{margin-top:.2em;font-size:.76em;line-height:1.2}
 .hero-slogan{max-width:29ch;margin-bottom:20px;font-size:20px;line-height:1.45}
 .hero-description{font-size:15px;line-height:1.75}
 .button{min-height:48px;padding:0 14px;gap:10px;font-size:12px}
 .hero-note{max-width:33ch;margin-top:23px;font-size:12px}
 .hero-photo-caption{font-size:17px}
 .hero-image-tag{font-size:9px}
 .proof-number{font-size:27px}
 .proof-label{font-size:9px;line-height:1.5;letter-spacing:0}
 .section-heading h2,.section-heading h1,.about-copy h2,.follow-intro h2,.contact-intro h2{font-size:clamp(37px,10.2vw,47px);line-height:1.16;letter-spacing:-.03em}
 .section-heading p,.about-copy>p,.follow-intro>p{font-size:15px;line-height:1.8}
 .filter-button{font-size:12px;padding:9px 12px}
 .product-card h3{font-size:28px;line-height:1.22}
 .product-card p{font-size:15px;min-height:0}
 .catalog-note p{font-size:14px}
 .follow-intro>p{max-width:32ch}
 .follow-kicker{font-size:11px}
 .follow-handle{font-size:15px}
 .location-layout{grid-template-columns:minmax(0,1fr)}
 .location-map{width:100%;min-height:0;aspect-ratio:1}
 .location-details h3{font-size:39px;line-height:1.16}
 .location-address{font-size:15px;line-height:1.8}
 .map-overlay{left:12px;right:12px;bottom:12px;padding:12px;gap:10px}
 .map-label{font-size:10px;letter-spacing:0}
 .map-overlay a{font-size:11px}
 .footer-note{font-size:12px}
}
@media(max-height:720px) and (min-width:651px){.drawer-nav a{font-size:29px;padding:10px 0}}
