:root{--ink:#202622;--blue:#243fbd;--pink:#f0c9d7;--ice:#e9f5f4;--paper:#f8fbfa;--muted:#535d58;--line:#ced9d2;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:cover}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.container{width:min(1352px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:18px;z-index:20;background:white;padding:12px}.skip-link:focus{top:10px}.location-strip{display:flex;justify-content:space-between;padding:8px 56px;background:var(--pink);font-size:.75rem;letter-spacing:.12em;line-height:1.5}.site-header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #20262213}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:120px}.site-header nav{display:flex;gap:26px;align-items:center;font-size:.875rem}.site-header nav a{padding-block:10px}.site-header nav a:hover{color:var(--blue)}.wordmark{font-family:var(--serif);font-style:italic;font-size:4.3rem;line-height:.98;letter-spacing:-.045em;text-align:center;color:var(--ink);padding-block:15px}.wordmark span{display:block;font:.75rem/1.5 var(--sans);letter-spacing:.16em;margin-top:7px}.header-actions{display:flex;gap:25px;justify-content:flex-end;align-items:center}.header-phone{font-size:.875rem;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:56px;background:var(--blue);color:#fff;padding:16px 25px;border:1px solid var(--blue);border-radius:999px;font-size:.875rem;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#172e96;transform:translateY(-2px)}.button span{font-size:1.5rem;line-height:1}.button.compact{min-height:48px;padding:13px 23px;gap:25px}.underlined-link{font-size:.875rem;font-weight:500;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;line-height:1.6}.underlined-link:hover{color:var(--blue)}.underlined-link span{margin-left:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;align-items:center;padding-block:46px 64px}.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.12em;font-weight:600}.hero .eyebrow{display:flex;align-items:center;gap:12px}.line{width:27px;height:1px;background:currentColor;flex-shrink:0}.hero h1{font-size:clamp(6rem,9.3vw,9rem);line-height:.94;letter-spacing:-.035em;margin:24px 0 32px}.hero h1 em{color:var(--blue);letter-spacing:-.045em}.hero-intro{font-size:1.125rem;line-height:1.7;max-width:475px;color:var(--muted)}.hero-intro em{color:var(--ink);font-family:var(--serif);font-size:1.15em}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.hero-note{display:flex;gap:15px;align-items:center;margin-top:40px}.hero-note p{font-size:.75rem;line-height:1.6;color:var(--muted)}.color-dots{display:flex;padding-left:4px}.color-dots i{width:27px;height:27px;display:block;border-radius:50%;border:2px solid var(--paper);margin-left:-4px;background:#2542cd}.color-dots i:nth-child(2){background:#e9b4c9}.color-dots i:nth-child(3){background:#a7c8ba}.hero-art{position:relative;padding:0 18px 0 15px}.photo-surround{background:var(--pink);padding:19px 19px 0;border-radius:250px 250px 8px 8px}.hero-photo{position:relative;overflow:hidden;border-radius:240px 240px 0 0}.hero-photo img{width:100%;height:560px;object-position:50% 50%}.hero-photo figcaption{position:absolute;bottom:16px;left:18px;background:#f8fbfaf0;padding:7px 12px;border-radius:2px;font-size:.75rem;letter-spacing:.1em;line-height:1.6}.mood-label{position:absolute;bottom:83px;right:-12px;transform:rotate(8deg);background:#f2eeae;padding:20px 23px 18px;text-align:center;border:1px solid #282b2225;box-shadow:5px 7px 0 #2026220c}.mood-label span{font-size:.75rem;letter-spacing:.05em;display:block;line-height:1.4}.mood-label em{font-family:var(--serif);font-size:2.5rem;line-height:.97;display:block;margin-block:8px 12px;letter-spacing:-.025em}.photo-footnote{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:.75rem;color:var(--muted)}.photo-footnote span:first-child{letter-spacing:.12em}.service-ribbon{background:var(--ice);border-block:1px solid #bdd9d5;display:flex;justify-content:space-evenly;align-items:center;gap:22px;padding:21px 40px;font-size:.75rem;letter-spacing:.12em}.ribbon-symbol{font-size:1.8rem;line-height:1;color:var(--blue)}.section-pad{padding-block:96px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:44px}h2{font-size:clamp(3rem,4.1vw,4.4rem);line-height:1.07;letter-spacing:-.027em}h2 em{color:var(--blue)}.section-heading h2{margin-top:18px}.heading-aside{padding-bottom:8px}.heading-aside p{font-size:1rem;color:var(--muted);margin-bottom:22px}.lookbook{background:#fffdfd}.look-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.look-card{min-width:0}.look-image{overflow:hidden;position:relative;aspect-ratio:4/4.5;background:#e5e5e5}.look-image img{width:100%;height:100%;transition:transform .5s}.look-image:hover img{transform:scale(1.045)}.view-photo{position:absolute;bottom:16px;right:16px;background:#ffffffeb;display:flex;align-items:center;gap:16px;padding:9px 13px;font-size:.75rem;border-radius:20px;line-height:1.5}.look-card figcaption{padding:23px 24px 25px}.look-card.blush figcaption{background:#f3dee5}.look-card.blue figcaption{background:#dfeaf7}.look-card.cream figcaption{background:#f1ecd3}.look-kicker{font-size:.75rem;letter-spacing:.08em}.look-card h3{font-size:2rem;line-height:1.2;letter-spacing:-.02em;margin-top:6px}.look-card p{font-size:.875rem;color:var(--muted);margin-top:6px}.lookbook-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:30px}.lookbook-bottom p{font-size:.875rem;color:var(--muted);max-width:650px}.lookbook-bottom a{flex-shrink:0}.menu{background:var(--ice)}.menu-layout{display:grid;grid-template-columns:.85fr 1.45fr;gap:85px}.menu-intro h2{margin-block:18px 24px;font-size:clamp(3rem,4.25vw,4.7rem)}.menu-intro>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-bottom:25px}.menu-callout{margin-top:48px;border-top:1px solid #b9ceca;padding-top:25px;max-width:360px}.menu-callout p{font-size:.875rem;margin-block:12px 15px;color:var(--muted)}.menu-callout>a{font-size:1.05rem;border-bottom:1px solid currentColor}.menu-item{display:grid;grid-template-columns:1fr auto 30px;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid #b9ceca;transition:background .2s}.menu-item:first-child{border-top:1px solid #b9ceca}.menu-item:hover{background:#dcecea}.menu-category{font-size:.75rem;letter-spacing:.07em;color:#4d6660}.menu-item h3{font-size:1.85rem;line-height:1.25;letter-spacing:-.01em;margin-top:4px}.menu-item p{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:7px}.menu-price{text-align:right;min-width:90px}.menu-price strong{font:400 2.1rem/1.2 var(--serif)}.menu-price span{display:block;font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:5px}.menu-arrow{font-size:1.5rem;color:var(--blue)}.price-note{font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:20px;max-width:690px}.piccolo-moment{background:var(--pink);padding-block:80px}.moment-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.moment-layout h2{font-size:clamp(3.5rem,6vw,6rem);line-height:1.02;margin-top:20px}.moment-copy p{font-size:1.125rem;line-height:1.8;margin-bottom:20px}.moment-copy p+p{font-size:1rem;margin-bottom:25px}.visit{background:#fffdfd}.visit-top{display:flex;align-items:center;justify-content:space-between;gap:65px;margin-bottom:60px}.visit h2{font-size:clamp(3.5rem,6.4vw,6.3rem);margin-top:18px;line-height:1.04}.visit-book p{color:var(--muted);font-size:1rem;margin-bottom:24px}.visit-info{border-top:1px solid var(--line);padding-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.visit-info h3{font:.75rem/1.6 var(--sans);letter-spacing:.12em;font-weight:600;margin-bottom:16px}.visit-info address{font-style:normal;font-size:1.125rem;line-height:1.6;margin-bottom:18px}.visit-info p{font-size:1rem;color:var(--muted);margin-bottom:18px}.phone{font-size:1.2rem;display:inline-block;border-bottom:1px solid currentColor;margin-bottom:12px}.footer{background:#d1e8ec;padding-block:42px 26px;color:#263838}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-top>p{font-size:.75rem;letter-spacing:.09em;line-height:1.7}.footer-top nav{display:flex;gap:30px;font-size:.875rem}.footer-top nav a:hover{color:var(--blue)}.footer-wordmark{font-family:var(--serif);font-size:clamp(7rem,25vw,23rem);font-style:italic;line-height:1.15;letter-spacing:-.055em;text-align:center;margin-top:0;color:#263e3b}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #8ca8a7;padding-top:22px}.footer-bottom img{width:100px;height:auto;border-radius:4px}.footer-bottom p{font-size:.75rem;line-height:1.6}.footer-bottom p:last-child{text-align:right}
@media(min-width:1650px){.hero-photo img{height:610px}.hero{padding-block:65px 85px}}
@media(max-width:1200px){.container{width:calc(100% - 72px)}.location-strip{padding-inline:36px}.header-phone{display:none}.site-header nav{gap:20px}.hero{gap:3%;padding-block:42px 55px}.hero h1{font-size:clamp(5.6rem,10vw,7.2rem)}.hero-photo img{height:490px}.hero-intro{font-size:1rem}.hero-actions{gap:20px}.hero-actions .button{padding-inline:20px;gap:22px}.mood-label{right:-2px;padding:17px 18px}.mood-label em{font-size:2.1rem}.menu-layout{gap:50px}.menu-item{gap:18px}.menu-item h3{font-size:1.65rem}.look-card figcaption{padding:20px}.look-card h3{font-size:1.7rem}.visit-info{gap:32px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.location-strip{padding-inline:24px;letter-spacing:.06em}.header-inner{min-height:110px;gap:16px}.wordmark{font-size:3.6rem}.wordmark span{font-size:.75rem;letter-spacing:.07em}.site-header nav{font-size:.875rem;gap:14px}.button.compact{padding:12px 18px;gap:15px}.hero{grid-template-columns:1fr 1fr;gap:20px}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em}.hero .line{display:none}.hero h1{font-size:6rem}.hero-photo img{height:480px}.hero-art{padding-inline:0 12px}.photo-surround{padding:12px 12px 0}.mood-label{right:-3px;bottom:75px;padding:14px}.mood-label em{font-size:1.8rem}.mood-label span{font-size:.75rem;letter-spacing:0}.hero-note{margin-top:26px}.hero-actions{margin-top:24px;gap:15px}.photo-footnote{flex-direction:column;gap:2px}.service-ribbon{gap:15px;padding:20px}.service-ribbon .last{display:none}.section-pad{padding-block:70px}.section-heading{gap:40px}.heading-aside p{max-width:280px}.look-grid{gap:18px}.look-card h3{font-size:1.55rem}.look-card p{font-size:.875rem}.look-card figcaption{padding:20px 16px}.look-image{aspect-ratio:3/4}.view-photo{bottom:12px;right:10px;font-size:.75rem;gap:9px;padding:7px 10px}.lookbook-bottom{align-items:flex-start;gap:25px}.menu-layout{grid-template-columns:.75fr 1.25fr;gap:36px}.menu-item{grid-template-columns:1fr auto;gap:15px}.menu-arrow{display:none}.menu-price{min-width:70px}.menu-intro h2{font-size:3rem}.menu-category{letter-spacing:.015em}.moment-layout{gap:7%}.moment-copy p{font-size:1rem}.visit-top{gap:40px}.visit-info{gap:25px}}
@media(max-width:680px){html{scroll-padding-top:142px}.container{width:calc(100% - 36px)}.location-strip{justify-content:center;padding:7px 18px;font-size:.75rem}.location-strip>span:first-child{display:none}.site-header{position:sticky}.header-inner{grid-template-columns:1fr auto;min-height:0;gap:0;padding-top:13px}.wordmark{grid-column:1;grid-row:1;font-size:3.1rem;text-align:left;padding-block:5px 12px}.wordmark span{font-size:.75rem;letter-spacing:.02em;margin-top:3px}.header-actions{grid-column:2;grid-row:1}.button.compact{font-size:.875rem;min-height:45px;padding:12px 18px;gap:15px}.site-header nav{grid-column:1/-1;grid-row:2;justify-content:space-between;border-top:1px solid #20262219;gap:20px;padding:2px 12px;font-size:.875rem}.site-header nav a{padding-block:11px}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:40px;gap:36px}.hero-copy{padding-inline:6px}.hero .eyebrow{letter-spacing:.05em;font-size:.75rem}.hero h1{font-size:clamp(5.5rem,20vw,8.2rem);margin:17px 0 24px;line-height:.92}.hero-intro{font-size:1rem;line-height:1.75;max-width:370px}.desktop-break{display:none}.hero-actions{gap:20px;margin-top:24px}.hero-actions .button{font-size:.875rem;padding:14px 22px;gap:24px;min-height:53px}.hero-note{margin-top:24px}.hero-note p{font-size:.75rem}.hero-note p br{display:none}.hero-art{width:min(460px,100%);margin-inline:auto;padding:0 17px 0 6px}.hero-photo img{height:auto;aspect-ratio:4/4.6;object-position:center}.photo-surround{padding:13px 13px 0}.hero-photo figcaption{left:13px;bottom:13px;font-size:.75rem;letter-spacing:.04em;padding:7px 10px}.mood-label{bottom:80px;right:0;transform:rotate(6deg);padding:16px 18px}.mood-label em{font-size:2.2rem}.photo-footnote{font-size:.75rem;display:flex;flex-direction:row;gap:15px;margin-top:13px}.photo-footnote span:first-child{letter-spacing:.05em}.service-ribbon{gap:11px;padding:17px 12px;flex-wrap:wrap;font-size:.75rem;letter-spacing:.03em;justify-content:center}.ribbon-symbol{font-size:1.3rem}.section-pad{padding-block:58px}.section-heading{display:block;margin-bottom:30px}h2{font-size:clamp(2.6rem,9vw,3.4rem)}.section-heading h2{margin-top:14px}.heading-aside{padding:0;margin-top:23px}.heading-aside p{max-width:100%;font-size:1rem;margin-bottom:18px}.look-grid{grid-template-columns:1fr;gap:26px}.look-image{aspect-ratio:1.12/1}.look-card.blush .look-image img{object-position:center 43%}.look-card figcaption{padding:20px 22px}.look-card h3{font-size:2rem}.look-card p{font-size:1rem}.look-kicker{letter-spacing:.075em;font-size:.75rem}.view-photo{padding:9px 15px;right:15px;bottom:15px;font-size:.875rem}.lookbook-bottom{display:block;margin-top:24px}.lookbook-bottom p{font-size:.875rem;margin-bottom:17px}.menu-layout{grid-template-columns:1fr;gap:32px}.menu-intro h2{font-size:3.25rem;margin-block:15px 20px}.menu-intro>p:not(.eyebrow){font-size:1rem;margin-bottom:22px}.menu-callout{margin-top:30px;max-width:none;padding-top:22px}.menu-callout p{font-size:1rem;max-width:500px}.menu-item{padding-block:24px;gap:18px;grid-template-columns:1fr auto}.menu-item h3{font-size:1.85rem}.menu-category{font-size:.75rem;letter-spacing:.025em}.menu-item p{font-size:.875rem;max-width:225px}.menu-price{min-width:81px}.menu-price strong{font-size:2rem}.menu-price span{font-size:.75rem}.price-note{font-size:.75rem;line-height:1.75;margin-top:20px}.piccolo-moment{padding-block:56px}.moment-layout{grid-template-columns:1fr;gap:30px}.moment-layout h2{font-size:4rem;margin-top:16px;line-height:1.03}.moment-copy p{font-size:1.05rem;margin-bottom:18px;line-height:1.8}.moment-copy p+p{font-size:1rem;margin-bottom:22px}.visit-top{display:block;margin-bottom:38px}.visit h2{font-size:4.25rem;margin-top:18px}.visit-top .eyebrow{font-size:.75rem;letter-spacing:.06em}.visit-book{margin-top:27px}.visit-book p{font-size:1rem;margin-bottom:22px}.visit-book .button{font-size:.875rem}.visit-info{grid-template-columns:1fr;gap:29px;padding-top:30px}.visit-info>div+div{border-top:1px solid var(--line);padding-top:27px}.visit-info h3{font-size:.75rem;margin-bottom:13px}.visit-info address{font-size:1.1rem;margin-bottom:16px}.visit-info p{font-size:1rem;margin-bottom:16px}.footer{padding-block:32px 25px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:25px 15px}.footer-top nav{gap:20px;font-size:.875rem;justify-content:flex-end}.footer-top>a{grid-column:1/-1;justify-self:start}.footer-top>p{font-size:.75rem;letter-spacing:.04em}.footer-wordmark{font-size:25vw;line-height:1.18;margin-block:15px 6px;letter-spacing:-.05em}.footer-bottom{display:grid;grid-template-columns:85px 1fr;gap:18px;padding-top:23px}.footer-bottom img{width:85px}.footer-bottom p{font-size:.75rem}.footer-bottom p:last-child{grid-column:1/-1;text-align:left}.underlined-link{font-size:.875rem}.button{max-width:100%}}
@media(max-width:370px){.container{width:calc(100% - 28px)}.hero h1{font-size:5.5rem}.wordmark{font-size:2.9rem}.button.compact{padding-inline:15px;gap:10px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{gap:17px;padding-inline:18px}.menu-item h3{font-size:1.65rem}.menu-price{min-width:70px}.service-ribbon{gap:8px;letter-spacing:0}.mood-label{padding:14px}.mood-label em{font-size:1.9rem}.photo-footnote{font-size:.75rem;gap:10px}.footer-top{display:block}.footer-top nav{justify-content:flex-start;margin-block:20px}.visit h2{font-size:3.7rem}.moment-layout h2{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header{position:static}.location-strip{display:none}.container{width:92%}.section-pad{padding-block:35px}.hero-photo img{height:380px}.look-image{aspect-ratio:1}.site-header nav{display:none}.header-inner{grid-template-columns:1fr auto}.wordmark{font-size:3rem}.footer-wordmark{font-size:18vw}.menu-callout{margin-top:25px}}

/* Official flat crescent symbol supplied by the user; proposed web lockup. */
.brand-home{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;justify-self:center}.brand-symbol{width:62px;height:auto;object-fit:contain;flex-shrink:0}.brand-home .wordmark{display:block}.footer-brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.footer-bottom .footer-brand img{width:48px;height:auto;border-radius:0;object-fit:contain}.footer-brand>span{font:italic 2.7rem/.95 var(--serif);letter-spacing:-.045em}.footer-brand small{display:block;font:400 .65rem/1.5 var(--sans);letter-spacing:.2em;text-align:center;margin-top:5px}
@media(min-width:681px) and (max-width:1000px){.header-inner{grid-template-columns:auto 1fr auto;gap:16px}.brand-home{gap:8px}.brand-symbol{width:46px}.brand-home .wordmark{font-size:3.2rem}.brand-home .wordmark span{font-size:.6rem;letter-spacing:.04em}.site-header nav{font-size:.8rem;gap:13px}.button.compact{padding-inline:16px;gap:13px}}
@media(max-width:680px){.brand-home{grid-column:1;grid-row:1;justify-self:start;gap:7px}.brand-symbol{width:40px}.brand-home .wordmark{font-size:2.85rem}.brand-home .wordmark span{font-size:.6rem;letter-spacing:.025em}.footer-bottom{grid-template-columns:1fr}.footer-brand{justify-self:start}.footer-bottom .footer-brand img{width:46px}}
@media(max-width:370px){.brand-symbol{width:32px}.brand-home{gap:5px}.brand-home .wordmark{font-size:2.4rem}.brand-home .wordmark span{font-size:.53rem;letter-spacing:0}}

/* Mobile header refinement: compact vertical Piccolo lockup. */
@media(max-width:680px){
 html{scroll-padding-top:118px}
 .location-strip{min-height:25px;padding:3px 18px;font-size:.625rem;line-height:1.35;letter-spacing:.09em}
 .header-inner{grid-template-columns:minmax(0,1fr) auto;column-gap:14px;padding-top:7px}
 .brand-home{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:start;gap:1px;width:150px;padding:4px 0 7px}
 .brand-symbol{width:30px;height:28px;object-fit:contain}
 .brand-home .wordmark{font-size:2.55rem;line-height:.82;padding:0;text-align:center;letter-spacing:-.055em}
 .brand-home .wordmark span{font-size:.53rem;line-height:1.2;letter-spacing:.095em;margin-top:7px;white-space:nowrap}
 .header-actions{align-self:center}
 .button.compact{min-height:41px;padding:10px 15px;font-size:.75rem;gap:10px;white-space:nowrap}
 .button.compact span{font-size:1.15rem}
 .site-header nav{padding:0 4px;font-size:.78rem}
 .site-header nav a{padding-block:8px}
}
@media(max-width:370px){
 .header-inner{column-gap:9px}
 .brand-home{width:132px}
 .brand-symbol{width:27px;height:25px}
 .brand-home .wordmark{font-size:2.25rem}
 .brand-home .wordmark span{font-size:.47rem;letter-spacing:.065em;margin-top:6px}
 .button.compact{min-height:39px;padding:9px 12px;font-size:.7rem;gap:7px}
 .site-header nav{font-size:.74rem}
}

/* Mobile top treatment: remove the oversized location band and retain a subtle brand accent. */
@media(max-width:680px){
 .location-strip{display:none}
 .site-header{border-top:4px solid var(--pink)}
}

/* Branded service rail: editorial numbering, official crescent separators and booking CTA. */
.service-ribbon{position:relative;display:block;padding:0;background:var(--ice);border-block:1px solid #bdd9d5;letter-spacing:.1em}
.service-ribbon:before{content:"";position:absolute;z-index:1;top:-1px;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue) 0 42%,var(--pink) 42% 72%,#a7c8ba 72% 100%)}
.ribbon-track{width:min(1470px,calc(100% - 112px));min-height:82px;margin-inline:auto;display:grid;grid-template-columns:1fr 44px 1fr 44px 1.2fr auto;gap:22px;align-items:center}
.ribbon-service{display:flex;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}
.ribbon-mark{width:28px;height:27px;object-fit:contain;justify-self:center}
.ribbon-cta{display:flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:11px 20px;background:var(--blue);border-radius:999px;color:white;font-size:.7rem;font-weight:600;text-transform:uppercase;white-space:nowrap;transition:background .2s,transform .2s}
.ribbon-cta:hover{background:#172e96;transform:translateY(-2px)}
.ribbon-cta span{font-size:1.15rem;line-height:1}
@media(max-width:1050px){
 .ribbon-track{width:calc(100% - 48px);grid-template-columns:1fr 30px 1fr 30px 1.25fr;gap:14px;padding:15px 0}
 .ribbon-cta{grid-column:1/-1;justify-self:center;min-height:40px;padding:9px 18px}
 .ribbon-mark{width:23px;height:22px}
}
@media(max-width:680px){
 .service-ribbon{display:block;padding:0;overflow:hidden}
 .ribbon-track{width:100%;min-height:auto;display:flex;justify-content:flex-start;gap:10px;padding:14px 18px 13px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
 .ribbon-track::-webkit-scrollbar{display:none}
 .ribbon-service{flex:0 0 auto;min-height:41px;padding:9px 14px;background:#ffffffa8;border:1px solid #bdd9d5;border-radius:999px;scroll-snap-align:start;font-size:.67rem;letter-spacing:.07em}
 .ribbon-mark{display:none}
 .ribbon-cta{grid-column:auto;flex:0 0 auto;min-height:41px;padding:9px 16px;scroll-snap-align:start}
}

/* Keep pricing current through Booksy instead of duplicating rates on the website. */
.menu-booking{font-size:.7rem;font-weight:600;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);text-align:right;white-space:nowrap}
.booking-note{font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:20px;max-width:690px}
@media(max-width:680px){.menu-booking{font-size:.62rem;letter-spacing:.055em;max-width:64px;white-space:normal}.booking-note{font-size:.75rem;line-height:1.75}}

/* Bilingual navigation */
.language-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:5px 9px;border:1px solid #9eb8b3;border-radius:999px;color:var(--blue);font-weight:700;letter-spacing:.08em}
.language-link:hover{background:var(--pink);color:var(--ink)}
@media(max-width:1050px){.site-header nav{gap:15px}.language-link{min-width:31px;min-height:31px;padding:4px 7px}}
@media(max-width:680px){.site-header nav{gap:12px}.language-link{min-width:29px;min-height:29px;padding:3px 7px;font-size:.68rem}}
@media(max-width:370px){.site-header nav{gap:8px}.language-link{min-width:27px;min-height:27px;padding:2px 6px}}
