:root{--rose:#9b1748;--rose-hot:#b74468;--rose-deep:#841353;--pink:#f2bbd9;--gold:#9b1748;--gold-deep:#841353;--ink:#272126;--paper:#fcf8f7;--blush:#f8eff3}
[hidden]{display:none!important}
body,.legal-page,.legal-main{background:#fcf8f7!important;color:#272126!important}
.site-header,.site-header.scrolled{background:rgba(252,248,247,.95)!important;border-top:2px solid #9b1748!important;box-shadow:0 12px 30px rgba(78,19,49,.08)!important}
.site-header .desktop-nav a:hover,.site-header .desktop-nav a.is-active,.site-header .header-map:hover,.site-footer .footer-column-links a:hover{color:#9b1748!important}
.site-header .desktop-nav a:after{background:#9b1748!important}.site-header .header-map{border-color:#e7c7d8!important}
.mobile-nav{background:#fcf8f7!important}.mobile-nav .mobile-booking{color:#fff!important}
.button,.action-book,.mobile-actions .floating-primary .action-book,.happy-visit-actions .booking-link{background:#9b1748!important;border-color:#9b1748!important;color:#fff!important;box-shadow:0 8px 22px rgba(111,16,68,.16)!important;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.button:hover,.action-book:hover,.mobile-actions .floating-primary .action-book:hover,.happy-visit-actions .booking-link:hover{background:#721035!important;border-color:#721035!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(111,16,68,.22)!important}.button:active,.action-book:active{transform:translateY(1px)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #9b1748!important;outline-offset:3px}
.hero-editorial{background:#21111c!important}.hero-editorial:before{background:linear-gradient(90deg,rgba(29,8,24,.78),rgba(29,8,24,.42) 57%,rgba(29,8,24,.15)),linear-gradient(0deg,rgba(29,8,24,.37),transparent 55%)!important}.hero-editorial:after{background:radial-gradient(circle at 82% 35%,rgba(226,66,151,.2),transparent 58%)!important;pointer-events:none}.hero-content h1 em,.hero-editorial .hero-title-script{color:#ffd9eb!important}.hero-content .eyebrow{color:#f9d5e7!important}.hero-actions .text-link{border-bottom-color:#f9d5e7!important}
h1 em,h2 em,.section-label,.eyebrow,.about-kicker,.letter-heading{color:#9b1748!important}.about-story,.gallery,.contact,.why-choose,.staff-section{background:#fcf8f7!important}.make-time,.appointment-invite,.happy-clients{background:#f8eff3!important}
.about-story .about-kicker,.about-note>span,.make-time-heading .section-label,.make-time-category,.appointment-content .section-label,.about-heading h2 em,.make-time-heading h2 em,.appointment-content h2 em,.why-fact>span,.why-overline,.make-time-link,.appointment-explore,.contact-details small{color:#9b1748!important}
.about-photo-frame,.about-details img,.gallery-item,.why-image,.why-image-inset{background:#efe0e7!important}.about-note,.about-stats,.why-facts,.why-fact{border-color:#e5cad8!important}.make-time-footer{background:#f0d5e3!important}.make-time-card,.make-time-status,.staff-card{border-color:#e8d2de!important}
.services,.promo-ribbon{background:#311527!important}.services-heading em,.promo-intro em{color:#ffd9eb!important}.services .service-categories{background:#f7eef2!important;border-color:#e9d3df!important}.services .service-category-list button.active{background:#7c164f!important;color:#fff!important;box-shadow:inset 3px 0 #ec9bc5!important}.services .service-category-list button.active span,.services .service-category-list button.active small{color:#fff!important}.services .service-api-number,.services .service-api-row>b,.services .service-api-price strong,.services .service-browser-label,.services .service-panel-heading [data-service-count]{color:#9b1748!important}.services a.service-api-row:hover{background:#fff2f8!important}.promo-value{background:#f3cce0!important;color:#641345!important}
.gallery-item img{filter:saturate(.93) contrast(1.02)}.gallery-actions button{border-color:#9b1748!important}.happy-visit{background:#2e1024!important}.happy-visit::after{background:linear-gradient(100deg,rgba(31,8,25,.93),rgba(31,8,25,.78) 48%,rgba(31,8,25,.35))!important}.happy-visit .section-label,.happy-visit h2 em{color:#ffd9eb!important}.appointment-photo figcaption{background:#48152e!important;color:#fff!important}.appointment-steps li span{color:#9b1748!important}
.site-footer.site-footer--lovely{background-color:#250f20!important;background-image:linear-gradient(95deg,rgba(37,15,32,.96),rgba(37,15,32,.83)),url('../photos/gallery/nail-04.jpg')!important}.site-footer .footer-column h2,.site-footer .site-footer-bottom a{color:#f5bad8!important}.site-footer .site-footer-bottom{border-top-color:rgba(245,186,216,.25)!important}.legal-header{background:#f9eef3!important;border-color:#e6ccda!important}.legal-page a{color:#9b1748!important}
.booking-policy{width:min(92vw,480px);border:1px solid #ead4df;border-radius:18px;padding:0;box-shadow:0 25px 80px rgba(37,15,32,.32);color:#272126}.booking-policy::backdrop{background:rgba(29,9,24,.68);backdrop-filter:blur(4px)}.booking-policy form{padding:2rem;display:grid;gap:1.15rem;position:relative}.booking-policy h2{font:500 clamp(2.3rem,6vw,3.5rem)/1 'Cormorant Garamond',Georgia,serif;margin:0}.booking-policy p{margin:0;line-height:1.6}.booking-policy label{display:flex;align-items:flex-start;gap:.7rem;line-height:1.5}.booking-policy input{accent-color:#9b1748;margin-top:.35rem}.booking-policy .button:disabled{opacity:.45;cursor:not-allowed;transform:none}.booking-policy-close{position:absolute;right:1.2rem;top:1rem;border:0;background:transparent;font-size:1.7rem;cursor:pointer;color:#54223d}
@media(max-width:600px){.hero-editorial:before{background:linear-gradient(180deg,rgba(29,8,24,.55),rgba(29,8,24,.7))!important}.hero-editorial .hero-content h1{font-size:clamp(2.65rem,11vw,3.7rem)!important}.hero-editorial .hero-content{padding-inline:.1rem}.site-header .brand-lockup img{width:150px;height:auto}.booking-policy form{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-content *,.button,.action-book{animation:none!important;transition:none!important;transform:none!important}html{scroll-behavior:auto!important}}

.promo-description-highlight{font:600 clamp(1.5rem,3vw,2.1rem)/1.2 "Cormorant Garamond",Georgia,serif;color:#9b1748!important}
/* Printed-card treatment layered over the salon's actual nail photos. */
.gallery-item{position:relative}.gallery-item::after{content:'FIRST NAILS  ·  OKOTOKS';position:absolute;right:10px;bottom:10px;z-index:2;padding:8px 12px;background:rgba(255,251,248,.91);color:#5d1a43;font:600 9px/1.2 Be Vietnam Pro,Arial,sans-serif;letter-spacing:.14em;box-shadow:0 4px 16px rgba(35,14,28,.1);pointer-events:none}
.gallery-item img{filter:saturate(.97) contrast(1.01)}
.promo-popup-card{min-height:240px;padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;background:#f9eef3;color:#382431}.promo-popup-card h3{font:500 clamp(2rem,5vw,3.2rem)/1.05 'Cormorant Garamond',Georgia,serif;margin:0}.promo-popup-card strong,.promo-popup-card p{font-size:clamp(1.1rem,2.6vw,1.5rem);color:#9b1748;margin:0}.promo-popup-card .button{margin-top:10px}

/* Keep the appointment invitation crisp at every screen size. */
.appointment-content h2{max-width:20ch!important;font-family:Be Vietnam Pro,Arial,sans-serif!important;font-size:clamp(2.8rem,4.4vw,4.8rem)!important;font-weight:500!important;line-height:1.1!important;letter-spacing:-.045em!important;text-wrap:balance}
.appointment-content h2 em{display:block;font-family:inherit!important;font-size:1em!important;font-style:normal!important;font-weight:600!important;line-height:1.1!important;letter-spacing:-.045em!important}
@media(max-width:700px){.appointment-content h2{font-size:clamp(2.6rem,10vw,4rem)!important}}

/* Base palette: berry, porcelain and blush. */
:root{--firstnails-ink:#2e1e28;--firstnails-wine:#4a1d30;--firstnails-rose:#8b123e;--firstnails-blush:#f7e1e4;--firstnails-paper:#fff8f4;--rose:#8b123e;--rose-hot:#a72a73;--rose-deep:#67102e;--cherry:#2e1e28;--cherry-2:#4a1d30;--pink:#f1cf52;--blush:#f7e1e4;--blush-soft:#fdf0f0;--paper:#fff8f4;--cream:#fffcf9;--gold:#8b123e;--gold-deep:#67102e;--ink:#2e1e28;--ink-soft:#634c56;--muted:#6d5b65;--hair:#ddcbd3}
body,.legal-page,.legal-main{background:#fff8f4!important;color:#2e1e28!important}
.site-header,.site-header.scrolled{background:rgba(247,243,239,.97)!important;border-top:2px solid #8b123e!important;box-shadow:0 9px 28px rgba(45,32,40,.08)!important}
.site-header .desktop-nav a,.site-header .header-map{color:#2e1e28!important}.site-header .desktop-nav a:hover,.site-header .desktop-nav a.is-active,.site-header .header-map:hover{color:#8b123e!important}.site-header .desktop-nav a:after{background:#8b123e!important}.site-header .header-map{border-color:#d9c8cc!important}
.mobile-nav{background:#fff8f4!important}.site-header .menu-toggle{background:#f4d8dd!important}.site-header .menu-toggle span{background:#8b123e!important}
.button,.action-book,.mobile-actions .floating-primary .action-book,.happy-visit-actions .booking-link{background:#8b123e!important;border-color:#8b123e!important;color:#fff!important;box-shadow:0 8px 22px rgba(104,19,67,.16)!important}
.button:hover,.action-book:hover,.mobile-actions .floating-primary .action-book:hover,.happy-visit-actions .booking-link:hover{background:#67102e!important;border-color:#67102e!important;color:#fff!important;box-shadow:0 12px 26px rgba(104,19,67,.21)!important}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#8b123e!important}
h1 em,h2 em,.section-label,.eyebrow,.about-kicker,.letter-heading{color:#8b123e!important}
.about-story,.gallery,.contact,.why-choose,.staff-section{background:#fff8f4!important;color:#2e1e28!important}
.make-time,.appointment-invite,.happy-clients{background:#f9e8e9!important;color:#2e1e28!important}
.about-heading h2,.make-time-heading h2,.appointment-content h2,.staff-heading h2,.gallery-heading h2,.contact h2,.why-intro h2{color:#2e1e28!important}
.about-story .about-kicker,.about-note>span,.make-time-heading .section-label,.make-time-category,.appointment-content .section-label,.about-heading h2 em,.make-time-heading h2 em,.appointment-content h2 em,.why-fact>span,.why-overline,.make-time-link,.appointment-explore,.contact-details small{color:#8b123e!important}
.about-intro p,.about-note>p,.make-time-heading>p:last-child,.appointment-lead,.why-intro>p:last-child,.staff-heading p,.make-time-card p{color:#624b55!important}
.about-photo-frame,.about-details img,.gallery-item,.why-image,.why-image-inset{background:#f2dadd!important}.about-note,.about-stats,.why-facts,.why-fact,.make-time-card,.make-time-status,.staff-card{border-color:#ddd0d4!important}
.make-time-card,.make-time-status,.staff-card,.services .service-panel,.services .service-browser{background:#fffcf9!important}.make-time-feature .make-time-card-copy,.make-time-footer{background:#ead8de!important}.make-time-meta span{background:#f7f1f2!important;color:#4c3845!important}
.services,.promo-ribbon{background:#4a1d30!important;color:#fff9f4!important}.services-heading h2,.services-heading p,.promo-intro h2,.services>.section-label{color:#fff9f4!important}.services-heading em,.promo-intro em{color:#f1cf52!important}
.services .service-categories{background:#f3e9eb!important;border-color:#d9c8cc!important;box-shadow:0 12px 26px rgba(45,32,40,.09)!important}.services .service-panel-heading{background:#f9f3f3!important;border-color:#e2d4d9!important}.services .service-category-list button.active{background:#6f1d4b!important;color:#fff!important;box-shadow:inset 3px 0 #d49ab5!important}.services .service-category-list button.active span,.services .service-category-list button.active small{color:#fff!important}.services .service-api-number,.services .service-api-row>b,.services .service-api-price strong,.services .service-browser-label,.services .service-panel-heading [data-service-count]{color:#8b123e!important}.services a.service-api-row:hover{background:#fbf0f4!important}
.promo-value{background:#ead2dc!important;color:#67102e!important}.promo-description-highlight,.promo-popup-card strong,.promo-popup-card p{color:#8b123e!important}.promo-popup-card{background:#f7f0f1!important;color:#2e1e28!important}
.gallery-item::after{background:rgba(255,253,250,.93);color:#4a2940}.gallery-actions button,.gallery-less-button{border-color:#8b123e!important}.gallery-item img{filter:saturate(.97) contrast(1.01)}
.happy-visit{background:#4a1d30!important}.happy-visit::after{background:linear-gradient(100deg,rgba(39,24,36,.92),rgba(39,24,36,.75) 55%,rgba(39,24,36,.32))!important}.happy-visit .section-label,.happy-visit h2 em{color:#f1cf52!important}.happy-visit h2,.happy-visit-copy>p:last-child{color:#fff9f4!important}.appointment-photo figcaption{background:#4a1d30!important;color:#fff9f4!important}.appointment-steps li span{color:#8b123e!important}
.site-footer.site-footer--lovely{background:#271923!important;background-image:none!important;color:#fff9f4!important}.site-footer .footer-about p,.site-footer .footer-contact,.site-footer .footer-column-links a{color:#e7d9df!important}.site-footer .footer-column h2,.site-footer .site-footer-bottom a{color:#f1cf52!important}.site-footer .site-footer-bottom{border-top-color:rgba(232,191,208,.25)!important}
.legal-header{background:#f9e8e9!important;border-color:#dfd0d6!important}.legal-main section{border-color:#dfd0d6!important}.legal-page a{color:#8b123e!important}
.booking-policy{border-color:#dfd0d6;color:#2e1e28}.booking-policy input{accent-color:#8b123e}.booking-policy-close{color:#4a1d30}
.promo-popup{border-color:#d5bec8;background:#fffcf9;color:#2e1e28;box-shadow:0 28px 90px rgba(39,25,35,.28)}.promo-popup::backdrop{background:rgba(39,25,35,.72)}.promo-popup-topbar,.promo-popup-footer{border-color:#e6d8de}.promo-popup-topbar p,.promo-popup-topbar button:hover,.promo-popup-controls button:hover{color:#8b123e}.promo-popup-topbar button,.promo-popup-controls button{color:#2e1e28}.promo-popup-media{background:#fffcf9}.promo-popup-footer p,.promo-popup-controls{color:#634c56}

/* Editorial split hero: the salon itself leads the visual story. */
.hero-editorial{display:flex!important;align-items:stretch!important;justify-content:flex-start!important;width:calc(100% - 48px)!important;height:clamp(35rem,calc(100dvh - 166px),47rem)!important;min-height:35rem!important;max-height:none!important;margin:16px 24px 0!important;padding:0!important;overflow:hidden!important;background:#fff8f4!important;color:#2e1e28!important;border:1px solid #e4d9d9;border-radius:0!important;box-shadow:0 20px 50px rgba(45,32,40,.08)}
.hero-editorial:before{background:none!important}.hero-editorial:after{inset:0 auto 0 0!important;width:6px!important;height:100%!important;background:#8b123e!important}
.hero-editorial .hero-slide{inset:0 0 0 auto!important;width:53%!important;height:100%!important;background-image:var(--slide-image)!important;background-position:51% 50%!important;background-size:cover!important;filter:saturate(.94) contrast(1.02)!important;will-change:opacity,transform}
.hero-editorial .hero-slide:nth-of-type(1){animation:firstnailsSceneOne 24s ease-in-out infinite!important}
.hero-editorial .hero-slide:nth-of-type(2){animation:firstnailsSceneTwo 24s ease-in-out infinite!important}
.hero-editorial .hero-slide:nth-of-type(3){animation:firstnailsSceneThree 24s ease-in-out infinite!important}
@keyframes firstnailsSceneOne{0%,44%{opacity:1;transform:scale(1.015)}50%,95%{opacity:0;transform:scale(1.075)}100%{opacity:1;transform:scale(1.015)}}
@keyframes firstnailsSceneTwo{0%,44%{opacity:0;transform:scale(1.075)}50%,70%{opacity:1;transform:scale(1.015)}75%,100%{opacity:0;transform:scale(1.075)}}
@keyframes firstnailsSceneThree{0%,70%{opacity:0;transform:scale(1.075)}75%,95%{opacity:1;transform:scale(1.015)}100%{opacity:0;transform:scale(1.075)}}
.hero-editorial .hero-content{flex:0 0 47%!important;align-self:stretch!important;width:47%!important;max-width:47%!important;height:100%;min-width:0;margin:0 auto 0 0!important;padding:clamp(30px,5vw,76px)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;background:#fff8f4!important;opacity:1!important;transform:none!important}
.hero-editorial .hero-content .eyebrow{margin:0 0 clamp(18px,3vw,34px)!important;color:#8b123e!important;font-size:.7rem!important;line-height:1.4;letter-spacing:.16em!important;text-align:left!important}
.hero-editorial .hero-content .eyebrow:before{background:#8b123e!important}
.hero-editorial .hero-content h1{width:100%;max-width:9ch;margin:0!important;color:#2e1e28!important;font:500 clamp(4.5rem,7.3vw,7.8rem)/.84 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.052em!important;text-align:left!important;text-shadow:none!important}
.hero-editorial .hero-title-main{padding:0!important;line-height:.88!important}
.hero-editorial .hero-title-script{display:block;padding:.02em 0 .08em!important;color:#8b123e!important;font:italic 500 1em/.9 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.045em!important;text-shadow:none!important}
.hero-editorial .hero-copy{width:100%!important;max-width:34ch!important;margin:clamp(17px,2.6vw,29px) 0 0!important;color:#634c56!important;font-size:clamp(.98rem,1.2vw,1.1rem)!important;line-height:1.65!important;text-align:left!important;text-shadow:none!important}
.hero-editorial .hero-actions{justify-content:flex-start!important;gap:20px!important;margin-top:clamp(21px,2.6vw,32px)!important}
.hero-editorial .hero-content .eyebrow,.hero-editorial .hero-title-main,.hero-editorial .hero-title-script,.hero-editorial .hero-copy,.hero-editorial .hero-actions{animation:none!important;opacity:1!important;transform:none!important}
.hero-editorial .hero-actions .button{min-height:50px;padding:13px 25px!important;background:#8b123e!important;border-color:#8b123e!important;color:#fff!important;font-size:.74rem!important;text-transform:uppercase;letter-spacing:.1em;box-shadow:0 8px 18px rgba(104,19,67,.13)!important}
.hero-editorial .hero-actions .button:hover{background:#67102e!important;border-color:#67102e!important;color:#fff!important}
.hero-editorial .hero-actions .text-link{color:#4a1d30!important;border-bottom:1px solid #8b123e!important;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.hero-photo-note{position:absolute;left:calc(47% + 22px);bottom:22px;z-index:2;display:grid;gap:3px;min-width:150px;margin:0;padding:13px 17px;background:rgba(39,25,35,.86);color:#fff9f4;font:500 .67rem/1.35 Be Vietnam Pro,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(8px)}
.hero-photo-note strong{font-weight:500;font-size:.76rem;letter-spacing:.02em;text-transform:none}
@media(max-width:1100px) and (min-width:901px){.hero-editorial .hero-content{padding:34px!important}.hero-editorial .hero-content h1{font-size:clamp(4.1rem,7vw,5.6rem)!important}.hero-editorial .hero-actions{gap:14px!important}}
@media(max-width:900px){.hero-editorial{display:flex!important;flex-direction:column!important;width:calc(100% - 28px)!important;height:780px!important;min-height:780px!important;margin:14px 14px 0!important}.hero-editorial .hero-content{flex:0 0 54%!important;align-self:stretch!important;width:100%!important;max-width:100%!important;height:54%;min-height:0;padding:40px clamp(27px,7vw,62px) 35px!important}.hero-editorial .hero-content h1{max-width:none;font-size:clamp(4.6rem,10vw,6.4rem)!important}.hero-editorial .hero-slide{inset:auto 0 0!important;width:100%!important;height:46%!important;background-position:50% 46%!important}.hero-photo-note{left:18px;bottom:18px}}
@media(max-width:600px){.hero-editorial{height:720px!important;min-height:720px!important;width:calc(100% - 20px)!important;margin:10px 10px 0!important}.hero-editorial .hero-content{flex-basis:57%!important;height:57%;padding:32px 25px 27px!important}.hero-editorial .hero-content .eyebrow{margin-bottom:19px!important;font-size:.58rem!important;letter-spacing:.12em!important}.hero-editorial .hero-content h1{font-size:clamp(4.2rem,15vw,5.5rem)!important;line-height:.85!important}.hero-editorial .hero-copy{margin-top:13px!important;font-size:.92rem!important;line-height:1.48!important;max-width:36ch!important}.hero-editorial .hero-actions{flex-direction:row!important;align-items:center!important;gap:14px!important;margin-top:17px!important}.hero-editorial .hero-actions .button{min-height:44px;padding:10px 17px!important;font-size:.64rem!important}.hero-editorial .hero-actions .text-link{font-size:.64rem!important}.hero-editorial .hero-slide{height:43%!important;background-position:51% 44%!important}.hero-photo-note{right:12px;bottom:12px;min-width:0;padding:9px 11px;font-size:.53rem}.hero-photo-note strong{font-size:.62rem}.happy-visit::after{background:linear-gradient(110deg,rgba(39,24,36,.91),rgba(39,24,36,.69))!important}}
@media(max-width:600px){.hero-photo-note{display:none}}
@media(max-width:360px){.hero-editorial .hero-content h1{font-size:3.75rem!important}.hero-editorial .hero-actions{gap:10px!important}.hero-editorial .hero-actions .button{padding-inline:12px!important}}
@media(prefers-reduced-motion:reduce){.hero-editorial .hero-slide{animation:none!important;transform:none!important;transition:none!important}.hero-editorial .hero-slide:first-child{opacity:1!important}.hero-editorial .hero-slide:nth-of-type(n+2){opacity:0!important}.hero-editorial .hero-content *{animation:none!important;opacity:1!important;transform:none!important}}

/* Six selected 5-star Google Maps reviews, summarized and linked to the source. */
.happy-clients{padding:clamp(74px,8vw,120px) clamp(22px,5vw,80px)!important;background:#f9e8e9!important;color:#2e1e28!important;text-align:left!important}
.happy-clients:before{content:none!important}
.happy-clients-heading{max-width:1280px;margin:0 auto clamp(32px,4vw,52px)!important;text-align:left}
.happy-clients-heading .section-label{margin:0 0 15px!important;color:#8b123e!important}
.happy-clients-heading h2{max-width:15ch;color:#2e1e28!important;font:500 clamp(3.1rem,5.7vw,6.2rem)/.95 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.045em}
.happy-clients-heading>p:last-child{max-width:48ch;margin:17px 0 0!important;color:#624b55!important;font:400 clamp(.98rem,1.1vw,1.08rem)/1.55 Be Vietnam Pro,Arial,sans-serif!important}
.happy-review-grid{width:min(100%,1280px);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 auto 30px!important}
.happy-review{flex:1 1 auto;max-width:none;min-height:280px;padding:clamp(22px,2.4vw,32px);border:1px solid #dfd0d5!important;border-top:2px solid #8b123e!important;background:#fffcf9!important;color:#2e1e28!important;box-shadow:none!important}
.happy-review:hover{transform:translateY(-3px);border-color:#b88aa1!important;box-shadow:0 14px 30px rgba(57,34,49,.08)!important}
.happy-review-stars{color:#8b123e!important;font:400 1.05rem/1 Be Vietnam Pro,Arial,sans-serif;letter-spacing:.13em}
.happy-review>p{margin:19px 0 23px!important;color:#382a34!important;font:400 clamp(.98rem,1.1vw,1.08rem)/1.55 Be Vietnam Pro,Arial,sans-serif!important}
.happy-review-author{display:flex;align-items:flex-start;gap:8px;margin-top:auto;padding:15px 0 0;border-top:1px solid #e7dce0!important;color:#4a1d30!important;font:600 .7rem/1.35 Be Vietnam Pro,Arial,sans-serif!important;letter-spacing:.03em!important;text-transform:none!important}
.happy-review-author span:first-child{font-size:.76rem}.happy-review-author span:last-child{color:#806d79;font-size:.65rem;white-space:nowrap}
.happy-review-link,.happy-review-all{display:inline-flex;align-items:center;gap:9px;width:fit-content;color:#8b123e!important;font:600 .69rem/1.4 Be Vietnam Pro,Arial,sans-serif;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid #8b123e;padding-bottom:4px}
.happy-review-link{margin-top:17px}.happy-review-link:hover,.happy-review-all:hover{color:#67102e!important;border-color:#67102e}
.happy-review-all{margin-left:max(0px,calc((100% - 1280px)/2));font-size:.75rem}
@media(max-width:1000px){.happy-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.happy-clients{padding-block:72px 84px!important}.happy-review-grid{grid-template-columns:1fr;gap:12px}.happy-review{min-height:0}.happy-review-author{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.happy-review,.happy-review:hover{transition:none!important;transform:none!important}}

/* Mobile header and menu: clear the fixed header and use a readable sans face. */
@media(max-width:900px){
  .site-header,.site-header.scrolled{height:96px!important;min-height:96px!important;grid-template-rows:94px!important}
  .site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:210px!important;max-width:58vw!important;height:56px!important;max-height:56px!important}
  .site-header .menu-toggle{width:52px!important;height:52px!important}
  .site-header .menu-toggle span{width:20px;height:2px}
  .mobile-nav{padding:calc(116px + env(safe-area-inset-top)) clamp(20px,5vw,36px) calc(24px + env(safe-area-inset-bottom))!important}
  .mobile-menu-intro{flex:0 0 auto;padding-bottom:16px!important}
  .mobile-menu-intro span{font:600 .7rem/1.35 Be Vietnam Pro,Arial,sans-serif!important;letter-spacing:.14em;color:#8b123e!important}
  .mobile-menu-intro p{margin:5px 0 0!important;font:400 1rem/1.35 Be Vietnam Pro,Arial,sans-serif!important;color:#634c56!important}
  .mobile-menu-links{flex:0 0 auto;padding:15px 0!important}
  .mobile-menu-links a{font:500 clamp(1.35rem,4.5vw,1.7rem)/1.25 Be Vietnam Pro,Arial,sans-serif!important;letter-spacing:-.02em;color:#2e1e28!important;padding:8px 0!important}
  .mobile-menu-links a:hover,.mobile-menu-links a:focus-visible{color:#8b123e!important}
  .mobile-menu-footer{flex:0 0 auto;padding-top:18px!important}
}
@media(max-width:400px){
  .site-header .brand-lockup img,.site-header.scrolled .brand-lockup img{width:190px!important;max-width:57vw!important}
  .mobile-menu-links a{padding:6px 0!important}
}

/* Colour direction from the salon's printed menu and visit card. */
:root{--firstnails-ink:#2e1e28;--firstnails-wine:#4a1d30;--firstnails-rose:#8b123e;--firstnails-blush:#f7e1e4;--firstnails-paper:#fff8f4;--rose-hot:#ad3d60;--rose-deep:#67102e;--pink:#f1cf52;--paper:#fff8f4;--cream:#fffcf9;--hair:#e4cdd2}
.site-header,.site-header.scrolled{background:rgba(255,248,244,.97)!important;border-top-color:#f1cf52!important}
.site-header .desktop-nav a:after{background:#ad3d60!important}
.site-header .menu-toggle{background:#f4d8dd!important}
.mobile-nav{background:#fff8f4!important}
.hero-editorial,.hero-editorial .hero-content{background:#fff8f4!important}
.hero-editorial:after,.hero-editorial .hero-content .eyebrow:before{background:#f1cf52!important}
.hero-editorial .hero-title-script{color:#a72d55!important}
.hero-editorial .hero-actions .button,.button,.action-book,.mobile-actions .floating-primary .action-book{background:#8b123e!important;border-color:#8b123e!important;color:#fff9f4!important}
.hero-editorial .hero-actions .button:hover,.button:hover,.action-book:hover,.mobile-actions .floating-primary .action-book:hover{background:#67102e!important;border-color:#67102e!important;color:#fff9f4!important}
.make-time,.appointment-invite,.happy-clients{background:#f9e8e9!important}
.make-time-feature .make-time-card-copy,.make-time-footer{background:#f4d8dd!important}
.services,.promo-ribbon{background:#771437!important;color:#fff9f4!important}
.services>.section-label,.services-heading em,.promo-intro em{color:#f1cf52!important}
.services .service-categories{background:#fae9e9!important}
.services .service-panel-heading{background:#fff3f0!important}
.services .service-category-list button.active{background:#8b123e!important;box-shadow:inset 3px 0 #f1cf52!important}
.promo-value{background:#f1cf52!important;color:#4a1d30!important}
.promo-ribbon .button{background:#f1cf52!important;border-color:#f1cf52!important;color:#4a1d30!important}
.promo-ribbon .button:hover{background:#ffe780!important;border-color:#ffe780!important;color:#4a1d30!important}
.gallery-item::after{background:rgba(139,18,62,.92)!important;color:#fff9f4!important;box-shadow:0 4px 16px rgba(74,29,48,.18)}
.happy-review{border-top-color:#a72d55!important}
.happy-visit{background:#771437!important}
.happy-visit::after{background:linear-gradient(100deg,rgba(87,16,46,.94),rgba(87,16,46,.78) 55%,rgba(87,16,46,.36))!important}
.happy-visit-actions .booking-link{background:#f1cf52!important;border-color:#f1cf52!important;color:#4a1d30!important}
.happy-visit-actions .booking-link:hover{background:#ffe780!important;border-color:#ffe780!important;color:#4a1d30!important}
.appointment-photo figcaption{background:#771437!important}
.site-footer.site-footer--lovely{background:#4a1d30!important}
.site-footer .footer-column h2,.site-footer .site-footer-bottom a{color:#f1cf52!important}
.legal-header{background:#f9e8e9!important}

/* Editorial focus: a strong opening, restrained gold details and more breathing room. */
.hero-editorial{border-color:#59152f!important;box-shadow:0 24px 58px rgba(74,29,48,.15)!important}
.hero-editorial .hero-content{background:#59152f!important;color:#fff9f4!important}
.hero-editorial .hero-content .eyebrow{color:#f1cf52!important;font-weight:600!important;letter-spacing:.2em!important}
.hero-editorial .hero-content .eyebrow:before{width:34px!important;background:#f1cf52!important}
.hero-editorial .hero-content h1{max-width:11ch!important;color:#fff9f4!important;font-family:Be Vietnam Pro,sans-serif!important;font-size:clamp(4.2rem,6.4vw,7.2rem)!important;font-weight:600!important;line-height:.95!important;letter-spacing:-.065em!important}
.hero-editorial .hero-title-main{display:block;line-height:.95!important}
.hero-editorial .hero-title-script{display:block;margin-top:.04em;padding:0 0 .09em!important;color:#f1cf52!important;font-family:'Cormorant Garamond',Georgia,serif!important;font-size:1.12em!important;font-weight:500!important;font-style:italic!important;line-height:.88!important;letter-spacing:-.055em!important}
.hero-editorial .hero-copy{color:#f5dfe5!important;line-height:1.65!important}
.hero-editorial .hero-actions .button{display:inline-flex;gap:22px;min-height:56px!important;padding:8px 9px 8px 24px!important;background:#f1cf52!important;border-color:#f1cf52!important;color:#4a1d30!important;box-shadow:none!important}
.hero-editorial .hero-actions .button:hover{background:#ffe780!important;border-color:#ffe780!important;color:#4a1d30!important}
.hero-editorial .hero-actions .button span{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:#4a1d30;color:#fff9f4;font-size:1.08rem;line-height:1;transition:transform .45s cubic-bezier(.32,.72,0,1)}
.hero-editorial .hero-actions .button:hover span{transform:translate(2px,-2px)}
.hero-editorial .hero-actions .text-link{color:#fff9f4!important;border-bottom-color:rgba(241,207,82,.8)!important}
.hero-editorial .hero-actions .text-link:hover{color:#f1cf52!important}
.hero-photo-note{background:rgba(255,248,244,.94)!important;color:#59152f!important;border-top:3px solid #f1cf52;box-shadow:0 10px 24px rgba(34,11,23,.13)}
.about-story,.make-time,.services,.why-choose,.gallery,.happy-clients,.appointment-invite,.contact{padding-block:clamp(100px,9vw,150px)!important}
.about-story .about-kicker,.make-time-heading .section-label,.gallery>.section-label,.why-intro .section-label,.happy-clients-heading .section-label,.appointment-content .section-label,.contact>.section-label{display:inline-flex!important;align-items:center;gap:12px}
.about-story .about-kicker::before,.make-time-heading .section-label::before,.gallery>.section-label::before,.why-intro .section-label::before,.happy-clients-heading .section-label::before,.appointment-content .section-label::before,.contact>.section-label::before{content:"";display:block;flex:none;width:24px;height:2px;background:#b7832f}
.about-heading h2,.make-time-heading h2,.gallery-heading h2,.why-intro h2,.happy-clients-heading h2{letter-spacing:-.055em!important;text-wrap:balance}
.about-photo-frame{box-shadow:18px 18px 0 #f2dadd}
.about-note{border-left:3px solid #b7832f!important}
.make-time-feature{border-top:4px solid #f1cf52!important}
.make-time-card{transition:transform .55s cubic-bezier(.32,.72,0,1),box-shadow .55s cubic-bezier(.32,.72,0,1)}
.make-time-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(74,29,48,.11)}
.services .service-panel,.services .service-categories{box-shadow:0 16px 40px rgba(52,10,29,.14)!important}
.services .service-panel{border-top:4px solid #f1cf52!important}
.gallery-heading{margin-bottom:clamp(38px,5vw,70px)!important}
.gallery-grid{gap:14px!important}
.gallery-item{border:5px solid #fffcf9!important;border-radius:0!important;box-shadow:0 9px 26px rgba(74,29,48,.08)}
.gallery-item:nth-child(2),.gallery-item:nth-child(6){outline:none!important}
.happy-review-grid{width:min(100%,1120px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.happy-review{min-height:235px!important;padding:clamp(25px,3vw,38px)!important;transition:transform .55s cubic-bezier(.32,.72,0,1),box-shadow .55s cubic-bezier(.32,.72,0,1)}
.happy-review>p{max-width:53ch}
.happy-review-all{margin-left:max(0px,calc((100% - 1120px)/2))!important}
.site-footer.site-footer--lovely{border-top:3px solid #f1cf52!important}
.site-footer .footer-brand img{width:240px!important}
@media(max-width:900px){
  .hero-editorial .hero-content h1{font-size:clamp(3.8rem,7.5vw,5.3rem)!important}
  .about-story,.make-time,.services,.why-choose,.gallery,.happy-clients,.appointment-invite,.contact{padding-block:86px 100px!important}
}
@media(max-width:640px){
  .hero-editorial .hero-content{padding:31px 24px 25px!important}
  .hero-editorial .hero-content h1{font-size:clamp(3.3rem,12.5vw,4.5rem)!important}
  .hero-editorial .hero-title-script{font-size:1.04em!important}
  .hero-editorial .hero-copy{font-size:.9rem!important;line-height:1.5!important}
  .hero-editorial .hero-actions{flex-direction:column!important;align-items:flex-start!important;gap:11px!important;margin-top:15px!important}
  .hero-editorial .hero-actions .button{min-height:46px!important;padding:6px 7px 6px 16px!important;gap:13px;font-size:.65rem!important}
  .hero-editorial .hero-actions .button span{width:32px;height:32px}
  .about-story,.make-time,.services,.why-choose,.gallery,.happy-clients,.appointment-invite,.contact{padding-block:72px 84px!important}
  .about-photo-frame{box-shadow:8px 8px 0 #f2dadd}
  .gallery-grid{gap:8px!important}
  .gallery-item{border-width:3px!important}
  .happy-review-grid{grid-template-columns:1fr!important;gap:12px!important}
  .happy-review{min-height:0!important}
}
@media(prefers-reduced-motion:reduce){
  .make-time-card,.happy-review,.hero-editorial .hero-actions .button span{transition:none!important}
  .make-time-card:hover,.happy-review:hover,.hero-editorial .hero-actions .button:hover span{transform:none!important}
}

/* Promotions are shown only when the live API returns active offers. Images are decorative. */
.promo-ribbon{display:block!important;padding:clamp(76px,8vw,124px) clamp(22px,5vw,80px)!important;background:#771437!important;color:#fff9f4!important}
.promo-ribbon[hidden]{display:none!important}
.promo-intro{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:clamp(24px,5vw,70px);width:min(100%,1280px);margin:0 auto clamp(34px,5vw,65px)}
.promo-intro-copy{max-width:760px}
.promo-intro .eyebrow{margin:0 0 20px!important;color:#f1cf52!important;font:600 .7rem/1.4 Be Vietnam Pro,sans-serif!important;letter-spacing:.18em!important}
.promo-intro h2{margin:0!important;color:#fff9f4!important;font:500 clamp(3.9rem,7.4vw,8rem)/.84 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.055em!important;text-wrap:balance}
.promo-intro h2 em{color:#f1cf52!important;font-weight:500}
.promo-intro-copy>p:last-child{max-width:42ch;margin:24px 0 0;color:#f5dfe5;font:400 clamp(.98rem,1.1vw,1.1rem)/1.6 Be Vietnam Pro,sans-serif}
.promo-intro-photo{height:250px;margin:0;border:6px solid rgba(255,249,244,.14);overflow:hidden}
.promo-intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 54%}
.promo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:min(100%,1280px);margin:0 auto}
.promo-card{display:grid!important;grid-template-columns:38% minmax(0,1fr)!important;gap:0!important;align-items:stretch!important;min-width:0;min-height:310px;padding:0!important;border:0!important;border-top:4px solid #f1cf52!important;border-radius:0!important;background:#fffcf9!important;color:#2e1e28!important;overflow:hidden;box-shadow:0 18px 40px rgba(43,10,26,.15)}
.promo-card-media{min-width:0;min-height:310px;margin:0;overflow:hidden;background:#eacbd2}
.promo-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.32,.72,0,1)}
.promo-card:hover .promo-card-media img{transform:scale(1.035)}
.promo-card-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(24px,3vw,38px)}
.promo-card-label{display:block;color:#8b123e;font:700 .66rem/1.35 Be Vietnam Pro,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.promo-card h3{margin:14px 0 0;color:#2e1e28;font:500 clamp(2rem,2.9vw,3.4rem)/.96 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere}
.promo-card .promo-value,.promo-popup-card strong{display:inline-block;width:auto;height:auto;margin:18px 0 0;padding:9px 13px;border-radius:0;background:#f1cf52!important;color:#4a1d30!important;font:700 clamp(1.2rem,2vw,1.7rem)/1.1 Be Vietnam Pro,sans-serif!important;letter-spacing:-.035em;text-transform:uppercase}
.promo-card-content>p{margin:16px 0 18px;color:#624b55;font:400 .94rem/1.55 Be Vietnam Pro,sans-serif;overflow-wrap:anywhere}
.promo-card-link{display:inline-flex;align-items:center;margin-top:auto;padding:4px 0;border-bottom:1px solid #8b123e;color:#8b123e!important;font:700 .7rem/1.4 Be Vietnam Pro,sans-serif;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.promo-card-link:hover{color:#67102e!important;border-color:#67102e}
.promo-popup{width:min(820px,calc(100vw - 24px))!important;border:0!important;border-top:4px solid #f1cf52!important;border-radius:0!important}
.promo-popup-media{display:block!important;overflow-y:auto!important;background:#fff8f4!important}
.promo-popup-card{display:grid!important;grid-template-columns:42% minmax(0,1fr);align-items:stretch!important;min-height:410px;padding:0!important;gap:0!important;text-align:left!important;background:#fff8f4!important}
.promo-popup-card-media{min-width:0;margin:0;overflow:hidden;background:#eacbd2}
.promo-popup-card-media img{display:block!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;object-fit:cover!important}
.promo-popup-card-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(26px,4vw,48px)}
.promo-popup-card h3{margin:17px 0 0!important;color:#2e1e28!important;font:500 clamp(2.4rem,4vw,4rem)/.95 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.04em;overflow-wrap:anywhere}
.promo-popup-card p{margin:18px 0 22px!important;color:#624b55!important;font:400 1rem/1.55 Be Vietnam Pro,sans-serif!important;overflow-wrap:anywhere}
.promo-popup-card .button{margin-top:auto!important}
@media(max-width:980px){.promo-grid{grid-template-columns:1fr!important}}
@media(max-width:640px){
  .promo-ribbon{padding:70px 20px 82px!important}
  .promo-intro{grid-template-columns:minmax(0,1fr) 105px;gap:14px;margin-bottom:28px}
  .promo-intro h2{font-size:clamp(3.3rem,11vw,5rem)!important}
  .promo-intro-copy>p:last-child{margin-top:16px;font-size:.9rem}
  .promo-intro-photo{height:160px;border-width:4px}
  .promo-card{grid-template-columns:1fr!important;min-height:0}
  .promo-card-media{height:220px;min-height:0}
  .promo-card-content{padding:25px}
  .promo-popup-card{grid-template-columns:1fr;min-height:0}
  .promo-popup-card-media{height:175px}
  .promo-popup-card-content{min-height:285px;padding:25px}
  .promo-popup-card h3{font-size:clamp(2.3rem,10vw,3.5rem)!important}
}
@media(prefers-reduced-motion:reduce){.promo-card-media img{transition:none!important}.promo-card:hover .promo-card-media img{transform:none!important}}

/* Promotion layout inspired by the wide editorial feature on the supplied reference site. */
.promo-ribbon{background:linear-gradient(rgba(255,249,242,.91),rgba(255,249,242,.91)),url('../photos/promotion/polish-still-life.webp') center 43%/cover!important;color:#2e1e28!important}
.promo-intro{grid-template-columns:minmax(0,1fr) minmax(210px,.34fr);align-items:end;gap:clamp(30px,8vw,140px);margin-bottom:clamp(35px,4vw,62px)}
.promo-intro .eyebrow{color:#6e233f!important}
.promo-intro h2{color:#2e1e28!important;font-size:clamp(4rem,6.8vw,7.3rem)!important;line-height:.86!important}
.promo-intro h2 em{color:#8b123e!important}
.promo-intro-description{max-width:25ch;margin:0 0 10px;color:#4f3c42;font:400 clamp(.98rem,1.15vw,1.14rem)/1.55 Be Vietnam Pro,sans-serif}
.promo-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;max-width:1260px}
.promo-card{grid-template-columns:52% minmax(0,1fr)!important;min-height:440px;border:1px solid rgba(105,70,76,.15)!important;border-top:1px solid rgba(105,70,76,.15)!important;background:#fffcf9!important;box-shadow:0 20px 48px rgba(63,43,42,.12)}
.promo-card-media{min-height:440px}
.promo-card-media img{object-position:center 48%}
.promo-card-content{justify-content:center;padding:clamp(34px,5.3vw,84px)}
.promo-card-label{color:#594342;font-size:.68rem;letter-spacing:.19em}
.promo-card .promo-value,.promo-popup-card strong{display:flex;align-items:baseline;gap:10px;margin:30px 0 24px;padding:0!important;background:transparent!important;color:#4a1d30!important;font:500 1rem/1 'Cormorant Garamond',Georgia,serif!important;letter-spacing:-.055em;text-transform:none}
.promo-card .promo-value span,.promo-popup-card strong span{font:500 clamp(4.5rem,7vw,7.6rem)/.8 'Cormorant Garamond',Georgia,serif}
.promo-card .promo-value em,.promo-popup-card strong em{font:italic 500 clamp(1.65rem,2.5vw,2.5rem)/1 'Cormorant Garamond',Georgia,serif}
.promo-card h3{margin:0;color:#2e1e28;font:500 clamp(1.85rem,2.8vw,2.65rem)/1.05 'Cormorant Garamond',Georgia,serif;letter-spacing:-.018em;text-transform:uppercase}
.promo-card-label+h3,.promo-popup-card .promo-card-label+h3{margin-top:28px!important}
.promo-card-content>p{max-width:44ch;margin:18px 0 0;color:#624b55;font-size:.98rem}
.promo-card-link{margin-top:clamp(32px,4vw,62px);border-bottom-color:#8b123e;color:#4a1d30!important}
.promo-popup-card{grid-template-columns:48% minmax(0,1fr);background:#fffcf9!important}
.promo-popup-card-content{justify-content:center}
.promo-popup-card strong{margin:24px 0 18px}
.promo-popup-card strong span{font-size:clamp(3.4rem,5vw,5rem)}
.promo-popup-card strong em{font-size:clamp(1.4rem,2vw,1.9rem)}
.promo-popup-card h3{margin:0!important;font-size:clamp(2rem,3vw,3rem)!important;text-transform:uppercase}
.promo-popup-card p{margin:18px 0 28px!important}
@media(max-width:900px){
  .promo-intro{grid-template-columns:minmax(0,1fr) minmax(170px,.45fr)}
  .promo-card{grid-template-columns:48% minmax(0,1fr)!important}
  .promo-card-content{padding:clamp(28px,5vw,48px)}
}
@media(max-width:640px){
  .promo-ribbon{background:linear-gradient(rgba(255,249,242,.94),rgba(255,249,242,.94)),url('../photos/promotion/polish-still-life.webp') center/cover!important}
  .promo-intro{grid-template-columns:1fr;gap:12px;margin-bottom:30px}
  .promo-intro h2{font-size:clamp(3.45rem,12vw,5.4rem)!important}
  .promo-intro-description{max-width:34ch;margin:0}
  .promo-card{grid-template-columns:1fr!important;min-height:0}
  .promo-card-media{height:260px;min-height:0}
  .promo-card-content{padding:30px 26px 36px}
  .promo-card .promo-value{margin:24px 0 17px}
  .promo-card .promo-value span{font-size:4.9rem}
  .promo-card .promo-value em{font-size:1.7rem}
  .promo-card h3{font-size:2.05rem}
  .promo-card-link{margin-top:30px}
  .promo-popup-card{grid-template-columns:1fr}
  .promo-popup-card-content{padding:28px}
}

/* Compact promotion spacing for desktop and phones. */
.promo-ribbon{padding:clamp(52px,6vw,82px) clamp(18px,5vw,70px)!important}
.promo-intro{width:min(100%,1000px);grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:36px;margin-bottom:28px}
.promo-intro .eyebrow{margin-bottom:11px!important;font-size:.62rem!important}
.promo-intro h2{font-size:clamp(3.4rem,5.4vw,5.6rem)!important;line-height:.91!important}
.promo-intro-description{font-size:.95rem;line-height:1.5}
.promo-grid{width:min(100%,1000px);gap:16px!important}
.promo-card{grid-template-columns:43% minmax(0,1fr)!important;min-height:300px;box-shadow:0 12px 28px rgba(63,43,42,.1)}
.promo-card-media{min-height:300px}
.promo-card-content{padding:clamp(24px,3vw,42px)}
.promo-card .promo-value{flex-wrap:wrap;gap:7px;margin:17px 0 14px}
.promo-card .promo-value span{font-size:clamp(3.4rem,5vw,5.3rem)}
.promo-card .promo-value em{font-size:clamp(1.35rem,2vw,1.8rem)}
.promo-card h3{font-size:clamp(1.45rem,2vw,2rem);line-height:1.08}
.promo-card-label+h3{margin-top:16px!important}
.promo-card-content>p{margin-top:10px;font-size:.9rem;line-height:1.5}
.promo-card-link{margin-top:20px}
.promo-popup{width:min(700px,calc(100vw - 24px))!important}
.promo-popup-card{min-height:330px}
.promo-popup-card-content{padding:clamp(24px,3vw,36px)}
@media(max-width:640px){
  .promo-ribbon{padding:44px 18px 52px!important}
  .promo-intro{grid-template-columns:1fr;gap:10px;margin-bottom:22px}
  .promo-intro .eyebrow{font-size:.58rem!important;letter-spacing:.13em!important}
  .promo-intro h2{font-size:clamp(2.8rem,10vw,3.8rem)!important;line-height:.9!important}
  .promo-intro-description{max-width:34ch;font-size:.86rem;line-height:1.45}
  .promo-grid{gap:12px!important}
  .promo-card{grid-template-columns:1fr!important;min-height:0}
  .promo-card-media{height:145px;min-height:0}
  .promo-card-content{padding:18px 20px 22px}
  .promo-card-label{font-size:.58rem;letter-spacing:.13em}
  .promo-card .promo-value{margin:12px 0 10px;gap:6px}
  .promo-card .promo-value span{font-size:clamp(2.9rem,10vw,3.6rem)}
  .promo-card .promo-value em{font-size:1.25rem}
  .promo-card h3{font-size:1.55rem;line-height:1.08}
  .promo-card-label+h3{margin-top:14px!important}
  .promo-card-content>p{margin-top:9px;font-size:.85rem;line-height:1.45}
  .promo-card-link{margin-top:16px;font-size:.64rem;letter-spacing:.05em}
  .promo-popup-card-media{height:115px}
  .promo-popup-card-content{min-height:0;padding:18px 20px 22px}
  .promo-popup-card strong{margin:12px 0 10px}
  .promo-popup-card strong span{font-size:3rem}
  .promo-popup-card strong em{font-size:1.2rem}
  .promo-popup-card h3{font-size:1.6rem!important;line-height:1.08!important}
  .promo-popup-card p{margin:9px 0 16px!important;font-size:.86rem!important;line-height:1.45!important}
}
@media(max-width:360px){.promo-card-media{height:125px}.promo-card h3{font-size:1.42rem}.promo-ribbon{padding-inline:15px!important}}
