:root { --cream: #fbf5ea; --ivory: #f3e7cf; --sand: #ead8b8; --blush: #ecc9b3; --rose: #d59a82; --terracotta: #b56b4d; --cognac: #8b4a2c; --ink: #3a2620; --ink-soft: #5a4234; --ink-70: rgba(58,38,32,0.72); --ink-50: rgba(58,38,32,0.5); --ink-30: rgba(58,38,32,0.3); --line: rgba(58,38,32,0.12); --sage: #8a8a6b; --gold: #b08658; --wa: #25D366; --display: 'Cormorant Garamond', 'Times New Roman', serif; --body: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, sans-serif; --cn: 'Noto Serif SC', 'Songti SC', 'STSong', serif; --r-sm: 6px; --r: 14px; --r-lg: 22px; --r-pill: 999px; --shadow-sm: 0 2px 8px rgba(58,38,32,0.06); --shadow: 0 12px 32px rgba(58,38,32,0.08); --shadow-lg: 0 24px 64px rgba(58,38,32,0.16); --container: 1280px; --gutter: clamp(20px, 4.5vw, 56px); } *, *::before, *::after { box-sizing: border-box; } html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; } body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } img, svg { display: block; max-width: 100%; height: auto; } a { color: inherit; text-decoration: none; transition: color .2s; } button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; } h1, h2, h3, h4 { margin: 0; font-weight: 400; } ul, ol { margin: 0; padding: 0; list-style: none; } p { margin: 0; } .sr-only { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; } .skip-link { position: fixed; top: 0; left: 0; padding: 8px 14px; background: var(--ink); color: var(--cream); z-index: 1000; transform: translateY(-100%); } .skip-link:focus { transform: translateY(0); } .display { font-family: var(--display); font-weight: 400; font-size: clamp(30px, 4.6vw, 56px); line-height: 1.05; letter-spacing: -0.4px; color: var(--ink); } .display em { font-style: italic; color: var(--terracotta); font-weight: 500; } .display--xl { font-size: clamp(40px, 6vw, 76px); line-height: 1; } .cn { font-family: var(--cn); font-weight: 500; letter-spacing: 4px; color: var(--cognac); font-size: 0.7em; } .eyebrow { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--terracotta); font-weight: 600; display: inline-block; } .eyebrow--rule::before { content: ""; display: inline-block; width: 24px; height: 1px; background: currentColor; margin-right: 12px; vertical-align: middle; } .btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: var(--r-pill); font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; font-weight: 600; line-height: 1; cursor: pointer; transition: transform .15s, background .2s, color .2s, box-shadow .2s; } .btn:active { transform: translateY(1px); } .btn--solid { background: var(--ink); color: var(--cream); } .btn--solid:hover { background: var(--terracotta); } .btn--outline { background: transparent; color: var(--ink); border: 1px solid var(--ink); } .btn--outline:hover { background: var(--ink); color: var(--cream); } .btn--wa { background: var(--wa); color: #fff; } .btn--wa:hover { background: #1ebb59; } .btn--terra { background: var(--terracotta); color: var(--cream); } .btn--terra:hover { background: var(--cognac); } .wrap { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); } .topbar { background: var(--cognac); color: var(--cream); font-size: 11.5px; letter-spacing: 0.6px; } .topbar__inner { max-width: var(--container); margin: 0 auto; padding: 8px var(--gutter); display: flex; gap: 16px; align-items: center; justify-content: center; flex-wrap: wrap; } .topbar__inner > span { white-space: nowrap; } .topbar__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blush); display: inline-block; } .topbar__sep { opacity: .4; } .topbar a { color: var(--blush); font-weight: 600; } .topbar a:hover { color: var(--cream); } .header { position: sticky; top: 0; z-index: 50; background: rgba(251,245,234,0.92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); } body.admin-bar .header { top: 32px; } @media (max-width: 782px) { body.admin-bar .header { top: 46px; } } .header__inner { max-width: var(--container); margin: 0 auto; padding: 14px var(--gutter); display: flex; align-items: center !important; justify-content: space-between; gap: 16px; } .header__inner > * { align-self: center; } .header__inner .brand, .header__inner .brand .custom-logo-link { display: inline-flex !important; align-items: center !important; align-self: center !important; height: auto; line-height: 0; margin: 0; padding: 0; } .header__inner .brand img, .header__inner .brand .custom-logo, .header__inner .brand .brand__logo { align-self: center !important; vertical-align: middle; margin: 0; } .brand { display: flex; align-items: center; gap: 12px; } .brand__logo, .brand .custom-logo, .brand .custom-logo-link img, .brand img { height: 48px !important; max-height: 48px !important; width: auto !important; max-width: 240px; display: block; object-fit: contain; transition: transform .25s; } .brand .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; } @media (min-width: 720px) { .brand__logo, .brand .custom-logo, .brand .custom-logo-link img, .brand img { height: 60px !important; max-height: 60px !important; } } .brand:hover .brand__logo, .brand:hover .custom-logo, .brand:hover img { transform: scale(1.04); } .brand__name { font-family: var(--display); font-weight: 500; font-size: 19px; letter-spacing: 1.5px; color: var(--ink); line-height: 1.1; } .brand__cn { font-family: var(--cn); font-size: 11px; letter-spacing: 6px; color: var(--cognac); display: block; margin-top: 2px; } .nav { display: none; } .nav__list { display: flex; gap: 26px; font-size: 13px; letter-spacing: 0.4px; font-weight: 500; } .nav__list a { padding: 6px 0; position: relative; } .nav__list a::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: var(--terracotta); transition: width .25s; } .nav__list a:hover { color: var(--terracotta); } .nav__list a:hover::after { width: 100%; } .header__tools { display: flex; gap: 8px; align-items: center; } .icon-btn { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--ink); transition: background .15s; position: relative; } .icon-btn:hover { background: var(--ivory); } .icon-btn__count { position: absolute; top: -2px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; background: var(--terracotta); color: var(--cream); border: 2px solid var(--cream); border-radius: 999px; display: grid; place-items: center; font-family: var(--body); font-size: 10px; font-weight: 700; line-height: 1; letter-spacing: 0; pointer-events: none; } .icon-btn__count:empty { display: none; } .header__cta { display: none; } .header__cta .btn { padding: 11px 18px; font-size: 11px; } .mobile-menu { position: fixed; inset: 0; z-index: 200; background: var(--cream); padding: 24px var(--gutter); transform: translateX(100%); transition: transform .3s ease; display: flex; flex-direction: column; gap: 10px; } .mobile-menu.is-open { transform: translateX(0); } .mobile-menu__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; } .mobile-menu a { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 26px; color: var(--ink); } .mobile-menu a small { font-family: var(--cn); font-size: 12px; color: var(--cognac); letter-spacing: 3px; } .mobile-menu__foot { margin-top: auto; padding-top: 20px; display: flex; gap: 10px; flex-direction: column; } .hero { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--cream) 0%, var(--cream) 60%, var(--ivory) 100%); padding: clamp(36px, 5vw, 80px) 0 clamp(56px, 7vw, 120px); } .hero__bg { position: absolute; right: -5%; top: 20%; width: 60%; height: 60%; background: radial-gradient(ellipse, var(--blush) 0%, transparent 65%); opacity: .35; filter: blur(40px); z-index: 0; pointer-events: none; } .hero__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 36px; align-items: center; } .hero__copy { max-width: 600px; } .hero__eyebrow { margin-bottom: 16px; } .hero__h1 { margin-bottom: 12px; } .hero__h1 .cn { display: block; margin-top: 10px; } .hero__sub { font-family: var(--display); font-weight: 500; font-size: clamp(20px, 2.5vw, 27px); line-height: 1.3; color: var(--ink-soft); margin: 14px 0 0; max-width: 540px; } .hero__lede { font-size: 16px; line-height: 1.65; color: var(--ink-70); margin: 16px 0 28px; max-width: 520px; } .hero__cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; } .hero__cta .btn--wa svg { margin-right: -2px; } .hero__trust { display: flex; flex-wrap: wrap; gap: 18px 28px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); } .hero__trust-item { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-70); } .hero__trust-item svg { color: var(--terracotta); flex-shrink: 0; } .hero__collage { position: relative; height: clamp(360px, 50vw, 560px); } .hero__tile { position: absolute; background-size: cover; background-position: center; box-shadow: var(--shadow); } img.hero__tile { object-fit: cover; display: block; } .hero__tile--big { left: 4%; top: 0; width: 64%; height: 74%; border-radius: 50% 50% var(--r) var(--r) / 36% 36% var(--r) var(--r); } .hero__tile--top { right: 0; top: 6%; width: 36%; height: 30%; border-radius: var(--r); } .hero__tile--bot { right: 0; top: 42%; width: 36%; height: 34%; border-radius: var(--r); } .hero__stamp { position: absolute; left: 60%; bottom: 6%; width: 96px; height: 96px; border-radius: 50%; background: var(--ivory); border: 1px solid var(--line); display: grid; place-items: center; text-align: center; font-family: var(--display); font-style: italic; color: var(--cognac); transform: rotate(-8deg); box-shadow: var(--shadow); } .hero__stamp span { display: block; font-size: 14px; line-height: 1.15; } .hero__stamp small { font-family: var(--cn); font-style: normal; font-size: 9px; letter-spacing: 2px; color: var(--terracotta); margin-top: 6px; display: block; } .services { padding: clamp(48px, 6vw, 96px) 0; background: var(--cream); } .section-head { text-align: center; max-width: 720px; margin: 0 auto 40px; padding: 0 var(--gutter); } .section-head .display { margin: 12px 0 14px; } .section-head__lede { color: var(--ink-70); font-size: 15px; line-height: 1.6; } .services__grid { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: grid; gap: 16px; grid-template-columns: 1fr 1fr; } .service-card { position: relative; aspect-ratio: 3/4; overflow: hidden; border-radius: var(--r); background: var(--ivory); cursor: pointer; transition: transform .3s; } .service-card:hover { transform: translateY(-4px); } .service-card__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s cubic-bezier(.2,.7,.3,1); } .service-card:hover .service-card__img { transform: scale(1.06); } .service-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(58,38,32,0.7) 100%); } .service-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(16px, 2.5vw, 24px); color: var(--cream); } .service-card__cn { font-family: var(--cn); font-size: 11px; letter-spacing: 4px; color: var(--blush); margin-bottom: 6px; } .service-card__name { font-family: var(--display); font-size: clamp(20px, 3vw, 28px); line-height: 1.05; margin: 0; } .service-card__desc { font-size: 11.5px; color: rgba(251,245,234,0.78); margin-top: 8px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .service-card__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: 10.5px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; color: var(--cream); padding-bottom: 2px; border-bottom: 1px solid rgba(251,245,234,0.4); } .featured { padding: clamp(48px, 6vw, 96px) 0; background: var(--ivory); } .featured__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 30px; } .featured__head .display { margin-top: 10px; } .featured__head .link { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; padding-bottom: 4px; border-bottom: 1px solid var(--ink); } .featured__head .link:hover { color: var(--terracotta); border-color: var(--terracotta); } ul.products, .woocommerce ul.products { display: grid !important; gap: clamp(20px, 2.5vw, 36px); grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; } ul.products li.product, .woocommerce ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; clear: none !important; } ul.products li.product img { width: 100%; height: auto; display: block; } ul.products > *:not(.product):not(.product-category):not(.inline-banner), .woocommerce ul.products > *:not(.product):not(.product-category):not(.inline-banner) { display: none !important; } ul.products > li:empty, ul.products > li[hidden], ul.products > li[aria-hidden="true"], ul.products > li.screen-reader-text { display: none !important; } ul.products > li.product:not(:has(.product__media)):not(:has(a[href])), .woocommerce ul.products > li.product:not(:has(.product__media)):not(:has(a[href])) { display: none !important; } ul.products > li.product:first-of-type, .woocommerce ul.products > li.product:first-of-type { grid-column-start: 1 !important; } .product { position: relative; } .product__media { display: block; position: relative; aspect-ratio: 4/5; overflow: hidden; border-radius: var(--r); background: var(--cream); } .product__img { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s cubic-bezier(.2,.7,.3,1); } .product:hover .product__img { transform: scale(1.04); } .product__tag { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--cream); color: var(--ink); padding: 5px 12px; border-radius: var(--r-pill); font-size: 9px; letter-spacing: 1.8px; text-transform: uppercase; font-weight: 600; } .product__tag--sale { background: var(--terracotta); color: var(--cream); } .product__body { padding-top: 14px; } .product__cat { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--terracotta); font-weight: 500; } .product__name { font-family: var(--display); font-size: clamp(17px, 2vw, 22px); line-height: 1.2; margin: 6px 0 0; color: var(--ink); } .product__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 10px; } .product__price { font-weight: 700; font-size: 14px; color: var(--ink); white-space: nowrap; } .product__price del { font-weight: 400; color: var(--ink-50); font-size: 11px; margin-right: 6px; } .product__add { font-size: 10.5px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; color: var(--cognac); padding-bottom: 2px; border-bottom: 1px solid var(--cognac); } .product__add:hover { color: var(--terracotta); border-color: var(--terracotta); } .product__cart, .product__cart-wrap > a.button, .product__cart-wrap > a.added_to_cart, li.product > a.button, li.product > a.added_to_cart, .woocommerce ul.products li.product > a.button, .woocommerce ul.products li.product > a.added_to_cart { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: auto; align-self: flex-start; margin-top: 14px !important; padding: 10px 18px !important; font-family: var(--body); font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; text-decoration: none; color: var(--ink); background: var(--ivory); border: 1px solid transparent !important; border-radius: 999px !important; cursor: pointer; line-height: 1; transition: background .2s, color .2s, border-color .2s, transform .15s; } .product__cart:hover, .product__cart-wrap > a.button:hover, .product__cart-wrap > a.added_to_cart:hover, li.product > a.button:hover, li.product > a.added_to_cart:hover, .woocommerce ul.products li.product > a.button:hover { background: var(--ink); color: var(--cream); } .product__cart:active, li.product > a.button:active { transform: translateY(1px); } .product__cart.is-added, li.product > a.button.added, .woocommerce ul.products li.product > a.button.added { background: var(--terracotta) !important; color: var(--cream) !important; } li.product > a.added_to_cart, .woocommerce ul.products li.product > a.added_to_cart { margin-left: 8px; background: transparent; color: var(--cognac); border-color: var(--cognac) !important; } li.product > a.added_to_cart:hover, .woocommerce ul.products li.product > a.added_to_cart:hover { background: var(--cognac) !important; color: var(--cream) !important; } li.product > a.button.loading { opacity: .7; pointer-events: none; } .product__cart svg { flex-shrink: 0; } .product__body { display: flex; flex-direction: column; align-items: flex-start; } ul.products li.product, .woocommerce ul.products li.product { display: flex !important; flex-direction: column; align-items: stretch; } .featured__cta { text-align: center; margin-top: 40px; } .why { padding: clamp(48px, 6vw, 96px) 0; background: var(--sand); } .why__grid { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: grid; gap: 16px; grid-template-columns: 1fr 1fr; } .why-card { background: var(--cream); border-radius: var(--r); padding: clamp(20px, 2.5vw, 28px); display: flex; flex-direction: column; gap: 10px; } .why-card__icon { width: 44px; height: 44px; border-radius: 50%; background: var(--ivory); color: var(--terracotta); display: grid; place-items: center; margin-bottom: 4px; } .why-card__num { font-family: var(--display); font-style: italic; font-size: 14px; color: var(--cognac); letter-spacing: 1px; margin: 0; } .why-card__title { font-family: var(--display); font-size: 22px; line-height: 1.1; color: var(--ink); } .why-card__cn { font-family: var(--cn); font-size: 11px; letter-spacing: 3px; color: var(--cognac); display: block; margin-top: 4px; } .why-card__body { font-size: 13px; color: var(--ink-70); line-height: 1.55; margin: 4px 0 0; } .why-card__fine { font-size: 11px; color: var(--ink-50); line-height: 1.5; margin: 8px 0 0; font-style: italic; } .about { padding: clamp(64px, 8vw, 130px) 0; background: var(--cream); } .about__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: grid; gap: clamp(40px, 5vw, 80px); align-items: center; grid-template-columns: 1fr; } .about__media { position: relative; } .about__media-img { width: 100%; aspect-ratio: 4/5; background-size: cover; background-position: center; border-radius: var(--r); box-shadow: var(--shadow); } .about__cap { position: absolute; left: -10px; bottom: 24px; background: var(--cream); padding: 10px 18px 10px 36px; font-size: 10.5px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-70); box-shadow: var(--shadow); } .about__cap::before { content: ""; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 18px; height: 1px; background: var(--terracotta); } .about__copy p { color: var(--ink-70); margin: 18px 0; font-size: 15px; line-height: 1.7; } .about__sig { font-family: var(--display); font-style: italic; color: var(--cognac); font-size: 18px; margin-top: 24px; } .about__sig small { display: block; font-family: var(--body); font-style: normal; font-size: 11px; color: var(--ink-50); letter-spacing: 1.5px; margin-top: 2px; } .process { padding: clamp(48px, 6vw, 96px) 0; background: var(--ivory); } .process__grid { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: grid; gap: 24px; grid-template-columns: 1fr; } .step { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 24px; background: var(--cream); border-radius: var(--r); align-items: start; } .step__num { width: 48px; height: 48px; border-radius: 50%; background: var(--terracotta); color: var(--cream); display: grid; place-items: center; font-family: var(--display); font-style: italic; font-size: 22px; font-weight: 500; } .step__title { font-family: var(--display); font-size: 24px; color: var(--ink); margin: 0 0 8px; } .step__title .cn { display: inline-block; margin-left: 8px; } .step__body { font-size: 13.5px; color: var(--ink-70); line-height: 1.55; margin: 0; } .reviews { padding: clamp(56px, 7vw, 110px) 0; background: var(--sand); text-align: center; } .reviews__track { position: relative; min-height: 240px; margin: 40px 0 16px; max-width: 880px; margin-left: auto; margin-right: auto; padding: 0 var(--gutter); } .review { position: absolute; inset: 0; opacity: 0; transition: opacity .5s; display: flex; flex-direction: column; align-items: center; gap: 18px; } .review.is-active { opacity: 1; position: relative; } .review__stars { color: var(--terracotta); letter-spacing: 4px; font-size: 14px; } .review__quote { font-family: var(--display); font-style: italic; font-weight: 400; font-size: clamp(20px, 2.6vw, 30px); line-height: 1.4; color: var(--ink); max-width: 720px; margin: 0; } .review__cite { display: flex; flex-direction: column; gap: 2px; } .review__name { font-weight: 600; font-size: 13px; } .review__place { font-size: 11.5px; color: var(--ink-70); } .reviews__dots { display: flex; gap: 8px; justify-content: center; } .reviews__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line); transition: all .25s; } .reviews__dot.is-active { background: var(--terracotta); width: 24px; border-radius: 4px; } .ig { padding: clamp(48px, 6vw, 96px) 0; background: var(--cream); } .ig__grid { max-width: var(--container); margin: 36px auto 0; padding: 0 var(--gutter); display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; } .ig__tile { aspect-ratio: 1/1; padding: 0; background-size: cover; background-position: center; position: relative; overflow: hidden; } .ig__tile::after { content: ""; position: absolute; inset: 0; background: rgba(58,38,32,0); transition: background .2s; } .ig__tile:hover::after { background: rgba(58,38,32,0.2); } .ig--live .ig__feed { max-width: var(--container); margin: 36px auto 0; padding: 0 var(--gutter); } .ig--live #sb_instagram { padding: 0 !important; } .ig--live #sb_instagram #sbi_images { padding: 0 !important; display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 4px; } .ig--live #sb_instagram .sbi_item { width: auto !important; padding: 0 !important; aspect-ratio: 1/1; position: relative; overflow: hidden; } .ig--live #sb_instagram .sbi_photo, .ig--live #sb_instagram .sbi_photo_wrap, .ig--live #sb_instagram .sbi_link { width: 100% !important; height: 100% !important; display: block; } .ig--live #sb_instagram .sbi_photo img { width: 100% !important; height: 100% !important; object-fit: cover; } .ig--live #sb_instagram .sbi_item::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: rgba(58,38,32,0); transition: background .2s; } .ig--live #sb_instagram .sbi_item:hover::after { background: rgba(58,38,32,0.2); } .ig--live #sb_instagram .sb_instagram_header, .ig--live #sb_instagram #sbi_load, .ig--live #sb_instagram .sbi_follow_btn { display: none !important; } .contact { padding: clamp(56px, 7vw, 110px) 0; background: var(--ink); color: var(--cream); } .contact__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: grid; gap: clamp(32px, 4vw, 64px); grid-template-columns: 1fr; } .contact .eyebrow { color: var(--blush); } .contact .display { color: var(--cream); } .contact .display em { color: var(--rose); } .contact__lede { color: rgba(251,245,234,0.7); font-size: 15px; line-height: 1.65; margin: 14px 0 28px; max-width: 480px; } .contact__channels { display: grid; gap: 12px; margin-bottom: 28px; } .channel { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: var(--r); background: rgba(251,245,234,0.05); border: 1px solid rgba(251,245,234,0.1); transition: background .2s, transform .2s; } .channel:hover { background: rgba(251,245,234,0.1); transform: translateX(4px); } .channel__icon { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; } .channel__icon--wa { background: var(--wa); color: #fff; } .channel__icon--phone { background: var(--terracotta); color: var(--cream); } .channel__icon--email { background: var(--gold); color: var(--cream); } .channel__label { font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase; color: rgba(251,245,234,0.5); } .channel__value { font-family: var(--display); font-size: 20px; color: var(--cream); margin-top: 2px; } .channel__arrow { margin-left: auto; opacity: .4; } .contact__address { background: rgba(251,245,234,0.05); padding: 24px; border-radius: var(--r); border: 1px solid rgba(251,245,234,0.1); } .contact__address-title { font-family: var(--display); font-size: 22px; margin: 0 0 4px; } .contact__address-cn { font-family: var(--cn); font-size: 11px; letter-spacing: 3px; color: var(--rose); } .contact__address-text { font-size: 13px; line-height: 1.7; color: rgba(251,245,234,0.8); margin: 14px 0; } .contact__address-row { display: flex; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; } .contact__address-row .contact__address-info { flex: 1 1 180px; } .contact__address-row .contact__address-text { margin-bottom: 0; } .contact__building { flex: 0 0 212px; margin: -28px 0 0; border-radius: 12px; overflow: hidden; background: var(--ivory); box-shadow: 0 14px 34px rgba(20,12,8,0.34); } .contact__building img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; object-position: center 22%; } .contact__hours { display: grid; gap: 6px; padding-top: 16px; border-top: 1px solid rgba(251,245,234,0.12); font-size: 12.5px; color: rgba(251,245,234,0.7); } .contact__hours dl { display: flex; justify-content: space-between; margin: 0; } .contact__hours dt { color: rgba(251,245,234,0.55); } .contact__hours dd { margin: 0; } .contact__map { aspect-ratio: 4/3; border-radius: var(--r); overflow: hidden; background: var(--ivory); position: relative; } .contact__map iframe { width: 100%; height: 100%; border: 0; } .contact__map-fallback { position: absolute; inset: 0; display: grid; place-items: center; background: linear-gradient(135deg, var(--blush), var(--rose)); color: var(--cream); } .footer { background: var(--cognac); color: rgba(251,245,234,0.7); padding: clamp(40px, 5vw, 70px) 0 22px; } .footer__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); } .footer__top { display: grid; gap: 32px; grid-template-columns: 1fr; padding-bottom: 30px; border-bottom: 1px solid rgba(251,245,234,0.12); } .footer__brand h4 { font-family: var(--display); font-size: 30px; color: var(--cream); margin: 0 0 4px; } .footer__brand-wordmark { display: block; width: 220px; height: auto; filter: brightness(0) invert(1); opacity: 0.95; } .contact__logo { display: block; width: 100px; height: 100px; background: var(--cream); border-radius: 50%; padding: 10px; box-sizing: border-box; object-fit: contain; margin: -56px 0 16px; box-shadow: 0 6px 20px rgba(0,0,0,0.25); border: 1px solid rgba(251,245,234,0.18); } .footer__brand .cn { color: var(--blush); } .footer__brand p { font-size: 13px; line-height: 1.6; color: rgba(251,245,234,0.65); margin: 12px 0; max-width: 360px; } .footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; } .footer h5 { font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--blush); margin: 0 0 14px; font-weight: 600; } .footer ul li { margin-bottom: 8px; font-size: 13px; } .footer__pay { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 14px; } .footer__pay-fpx { flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,0,0,0.2); border-radius: 5px; } .footer__pay-note { font-size: 11px; color: rgba(251,245,234,0.55); letter-spacing: 0.3px; line-height: 1.4; } .footer__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 22px; font-size: 11px; color: rgba(251,245,234,0.45); } .footer__social { display: flex; gap: 10px; margin-top: 18px; } .footer__social a { width: 36px; height: 36px; border-radius: 50%; background: rgba(251,245,234,0.08); color: var(--cream); display: grid; place-items: center; transition: background .2s; } .footer__social a:hover { background: var(--terracotta); } .footer__social-text { font-family: var(--cn, "Noto Serif SC", serif); font-size: 9px; font-weight: 700; line-height: 1; letter-spacing: -0.5px; text-decoration: none; } .qv { position: fixed; inset: 0; z-index: 300; display: flex; align-items: flex-end; justify-content: center; } .qv[hidden] { display: none; } .qv__bg { position: absolute; inset: 0; background: rgba(20,15,10,0.55); backdrop-filter: blur(4px); animation: fade .3s; } .qv__sheet { position: relative; width: min(720px, 100%); max-height: 92vh; background: var(--cream); border-radius: 24px 24px 0 0; padding: 22px var(--gutter) 32px; overflow: auto; animation: slide .35s cubic-bezier(.2,.7,.3,1); } .qv__close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border-radius: 50%; background: var(--ivory); font-size: 18px; } .qv__grid { display: grid; gap: 20px; grid-template-columns: 1fr; } .qv__img { width: 100%; aspect-ratio: 4/5; background-size: cover; background-position: center; border-radius: var(--r); } .qv__name { font-family: var(--display); font-size: 28px; margin: 4px 0; } .qv__price { font-family: var(--display); font-size: 26px; color: var(--terracotta); margin: 12px 0; } .qv__desc { color: var(--ink-70); font-size: 14px; line-height: 1.6; } .qv__cta { display: flex; gap: 10px; margin-top: 20px; } .qv__cta .btn { flex: 1; justify-content: center; } @keyframes fade { from { opacity: 0; } to { opacity: 1; } } @keyframes slide { from { transform: translateY(40px); } to { transform: translateY(0); } } .wa-fab { position: fixed; bottom: 22px; right: 22px; z-index: 100; height: 56px; border-radius: 28px; background: var(--wa); color: #fff; display: inline-flex; align-items: center; padding: 0 18px; gap: 10px; box-shadow: 0 8px 28px rgba(37,211,102,0.5); font-size: 13px; font-weight: 600; letter-spacing: 0.3px; } .wa-fab__label { display: none; } .wa-fab::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(37,211,102,0.4); animation: ring 2.2s ease-out infinite; } @keyframes ring { 0% { transform: scale(.85); opacity: .8; } 100% { transform: scale(1.45); opacity: 0; } } @media (min-width: 720px) { .hero__inner { grid-template-columns: 1.05fr 0.95fr; gap: clamp(40px, 5vw, 80px); } .services__grid { grid-template-columns: repeat(4, 1fr); gap: 20px; } ul.products { grid-template-columns: repeat(3, 1fr); } .why__grid { grid-template-columns: repeat(4, 1fr); } .about__inner { grid-template-columns: 1fr 1.05fr; } .process__grid { grid-template-columns: repeat(3, 1fr); } .contact__inner { grid-template-columns: 1fr 1fr; } .footer__top { grid-template-columns: 1.4fr 1fr 1fr 1fr; } .footer__cols { display: contents; } .wa-fab__label { display: inline; } } @media (min-width: 960px) { .nav { display: block; } .header__menu { display: none; } .header__cta { display: inline-flex; } ul.products { grid-template-columns: repeat(4, 1fr); } } @media (max-width: 959px) { .header__cta { display: none; } } .crumbs { max-width: var(--container); margin: 0 auto; padding: 18px var(--gutter); font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-50); display: flex; flex-wrap: wrap; gap: 6px; } .crumbs a { color: inherit; } .crumbs a:hover { color: var(--terracotta); } .crumbs__sep { opacity: .4; } .crumbs__cur { color: var(--ink); } .shop-hero { padding: clamp(24px, 4vw, 60px) 0 clamp(32px, 4vw, 56px); background: var(--cream); text-align: center; } .shop-hero__inner { max-width: 820px; margin: 0 auto; padding: 0 var(--gutter); } .shop-hero .eyebrow { margin-bottom: 14px; } .shop-hero__title { margin: 8px 0 16px; } .shop-hero__lede { color: var(--ink-70); font-size: 15px; line-height: 1.65; max-width: 600px; margin: 0 auto; } .cat-hero { position: relative; overflow: hidden; background: var(--ivory); padding: 0; } .cat-hero__inner { max-width: var(--container); margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 0; align-items: stretch; } .cat-hero__media { aspect-ratio: 16/10; background-size: cover; background-position: center; position: relative; } .cat-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(58,38,32,0.45) 100%); } .cat-hero__copy { padding: clamp(32px, 5vw, 64px) var(--gutter); display: flex; flex-direction: column; justify-content: center; } .cat-hero__cn { font-family: var(--cn); font-size: 13px; letter-spacing: 6px; color: var(--cognac); margin-bottom: 8px; } .cat-hero__title { margin: 0 0 16px; } .cat-hero__lede { color: var(--ink-70); font-size: 15px; line-height: 1.7; margin: 0 0 24px; max-width: 480px; } .cat-hero__meta { display: flex; flex-wrap: wrap; gap: 18px 28px; padding-top: 22px; border-top: 1px solid var(--line); } .cat-hero__meta-item { font-size: 12px; color: var(--ink-70); display: flex; align-items: center; gap: 8px; } .cat-hero__meta-item strong { color: var(--ink); font-weight: 600; } .filter-bar { position: sticky; top: 70px; z-index: 30; background: rgba(251,245,234,0.96); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); padding: 12px 0; } .filter-bar__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; } .filter-bar__inner::-webkit-scrollbar { display: none; } .filter-chip { flex-shrink: 0; padding: 9px 16px; border-radius: var(--r-pill); background: var(--cream); color: var(--ink); border: 1px solid var(--line); font-size: 12px; font-weight: 500; letter-spacing: 0.3px; transition: all .15s; display: inline-flex; align-items: center; gap: 6px; } .filter-chip:hover { border-color: var(--ink); } .filter-chip.is-active { background: var(--ink); color: var(--cream); border-color: var(--ink); } .filter-chip__count { opacity: .55; font-size: 10.5px; } .filter-chip.is-active .filter-chip__count { opacity: .65; } .toolbar { max-width: var(--container); margin: 0 auto; padding: 22px var(--gutter) 8px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; } .toolbar__count { font-size: 12px; color: var(--ink-70); font-family: var(--display); font-style: italic; font-size: 16px; } .toolbar__count strong { color: var(--ink); font-style: normal; font-family: var(--body); font-weight: 600; } .toolbar__sort { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-70); line-height: 1; } .toolbar__sort > span, .toolbar__sort > form, .toolbar__sort .woocommerce-ordering { display: inline-flex; align-items: center; margin: 0; line-height: 1; } .toolbar__sort select { appearance: none; -webkit-appearance: none; background: transparent; border: 0; padding: 0 22px 0 4px; margin: 0; height: auto; line-height: 1; font: inherit; color: var(--ink); font-weight: 600; cursor: pointer; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%233a2620' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-repeat: no-repeat; background-position: right 4px center; vertical-align: middle; } .shop-grid, .woocommerce ul.products.shop-grid { max-width: var(--container); margin: 0 auto; padding: 14px var(--gutter) clamp(56px, 7vw, 110px); align-items: start; display: grid; gap: clamp(24px, 3vw, 40px); grid-template-columns: 1fr 1fr; box-sizing: border-box; width: 100%; } .shop-grid > li.product, .woocommerce ul.products.shop-grid > li.product { min-width: 0; max-width: 100%; } .shop-grid .product__media, .woocommerce ul.products.shop-grid .product__media { width: 100%; max-width: 100%; } @media (min-width: 720px) { .shop-grid, .woocommerce ul.products.shop-grid { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 960px) { .shop-grid, .woocommerce ul.products.shop-grid { grid-template-columns: repeat(4, 1fr); } } .inline-banner { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr; gap: 0; background: var(--ivory); border-radius: var(--r); overflow: hidden; margin: 12px 0; } @media (min-width: 720px) { .inline-banner { grid-template-columns: 1fr 1.2fr; } .inline-banner__media { aspect-ratio: auto; height: 100%; } } .inline-banner__media { aspect-ratio: 16/10; background-size: cover; background-position: center; } .inline-banner__copy { padding: clamp(20px, 3vw, 32px); display: flex; flex-direction: column; justify-content: center; } .inline-banner__copy .display { margin: 8px 0 12px; } .inline-banner__copy p { color: var(--ink-70); font-size: 13.5px; line-height: 1.6; margin: 0 0 18px; } .pagination { max-width: var(--container); margin: 0 auto; padding: 12px var(--gutter) clamp(48px, 6vw, 96px); display: flex; justify-content: center; align-items: center; gap: 6px; } .pagination__btn, .pagination__num { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: transparent; border: 1px solid var(--line); font-size: 13px; font-weight: 500; color: var(--ink); transition: all .15s; } .pagination__btn:hover, .pagination__num:hover { border-color: var(--ink); } .pagination__num.is-active { background: var(--ink); color: var(--cream); border-color: var(--ink); } .pagination__btn[disabled] { opacity: .35; cursor: not-allowed; pointer-events: none; } .pagination__dots { width: 24px; text-align: center; color: var(--ink-50); } .woocommerce-pagination, nav.woocommerce-pagination, .woocommerce nav.woocommerce-pagination { max-width: var(--container); margin: 0 auto; padding: 12px var(--gutter) clamp(48px, 6vw, 96px); text-align: center; } .woocommerce-pagination ul.page-numbers, .woocommerce nav.woocommerce-pagination ul.page-numbers, .woocommerce nav.woocommerce-pagination ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: inline-flex !important; gap: 6px !important; align-items: center !important; flex-wrap: wrap !important; justify-content: center !important; border: 0 !important; white-space: normal !important; } .woocommerce-pagination ul.page-numbers li, .woocommerce nav.woocommerce-pagination ul li { border: 0 !important; margin: 0 !important; padding: 0 !important; float: none !important; display: inline-flex !important; overflow: visible !important; } .woocommerce-pagination ul.page-numbers li a, .woocommerce-pagination ul.page-numbers li span, .woocommerce nav.woocommerce-pagination ul li a.page-numbers, .woocommerce nav.woocommerce-pagination ul li span.page-numbers { box-sizing: border-box; min-width: 40px; height: 40px; padding: 0 12px; border-radius: 999px !important; display: inline-grid !important; place-items: center; background: transparent; color: var(--ink); border: 1px solid var(--line) !important; font-size: 13px; font-weight: 500; line-height: 1; text-decoration: none !important; transition: all .15s; } .woocommerce-pagination ul.page-numbers li a:hover, .woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover { border-color: var(--ink) !important; background: var(--cream); } .woocommerce-pagination ul.page-numbers li .page-numbers.current, .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ink) !important; color: var(--cream) !important; border-color: var(--ink) !important; font-weight: 600; } .woocommerce-pagination ul.page-numbers li .page-numbers.dots, .woocommerce nav.woocommerce-pagination ul li .page-numbers.dots { border: 0 !important; min-width: 24px; padding: 0; color: var(--ink-50); background: transparent !important; } .woocommerce-pagination ul.page-numbers li a.prev, .woocommerce-pagination ul.page-numbers li a.next, .woocommerce nav.woocommerce-pagination ul li a.prev, .woocommerce nav.woocommerce-pagination ul li a.next { font-size: 0 !important; } .woocommerce-pagination ul.page-numbers li a.prev::before, .woocommerce-pagination ul.page-numbers li a.next::before, .woocommerce nav.woocommerce-pagination ul li a.prev::before, .woocommerce nav.woocommerce-pagination ul li a.next::before { content: ""; width: 12px; height: 12px; background: currentColor; -webkit-mask: var(--chev) center / contain no-repeat; mask: var(--chev) center / contain no-repeat; } .woocommerce-pagination ul.page-numbers li a.prev::before, .woocommerce nav.woocommerce-pagination ul li a.prev::before { --chev: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M15 6l-6 6 6 6'/></svg>"); } .woocommerce-pagination ul.page-numbers li a.next::before, .woocommerce nav.woocommerce-pagination ul li a.next::before { --chev: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 6l6 6-6 6'/></svg>"); } .woocommerce-notices-wrapper { max-width: var(--container); margin: 0 auto; padding: 8px var(--gutter) 0; } .woocommerce-notices-wrapper:empty { display: none; } .woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice { position: relative; background: var(--cream); color: var(--ink); border: 1px solid var(--line); border-left: 4px solid var(--terracotta); border-radius: var(--r); padding: 16px 20px 16px 56px; margin: 16px 0 0; font-size: 14px; line-height: 1.55; list-style: none; display: flex; align-items: center; flex-wrap: wrap; gap: 12px; box-shadow: 0 2px 12px rgba(58, 38, 32, 0.04); } .woocommerce-message { border-left-color: var(--cognac); } .woocommerce-info { border-left-color: var(--terracotta); } .woocommerce-error { border-left-color: #b54a3a; background: #fbf1ee; } .woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before, .woocommerce-notice::before { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; font-family: var(--body); font-size: 13px; font-weight: 700; line-height: 1; background: var(--cognac); color: var(--cream); content: "✓"; } .woocommerce-info::before { background: var(--terracotta); content: "i"; font-style: italic; } .woocommerce-error::before { background: #b54a3a; content: "!"; } .woocommerce-message { font-family: var(--body); } .woocommerce-message strong, .woocommerce-message b { font-family: var(--display); font-weight: 500; font-style: italic; color: var(--cognac); font-size: 1.15em; letter-spacing: 0.2px; } .woocommerce-message a.button.wc-forward, .woocommerce-message a.button, .woocommerce-info a.button.wc-forward, .woocommerce-info a.button, .woocommerce-error a.button.wc-forward, .woocommerce-error a.button { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px !important; font-family: var(--body); font-size: 11.5px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600; color: var(--cream) !important; background: var(--ink) !important; border: 1px solid var(--ink) !important; border-radius: 999px !important; text-decoration: none !important; transition: background .2s, color .2s, border-color .2s; margin-left: auto !important; order: 99; } .woocommerce-message a.button:hover, .woocommerce-info a.button:hover, .woocommerce-error a.button:hover { background: var(--terracotta) !important; border-color: var(--terracotta) !important; } .woocommerce-message a.button.wc-forward::after, .woocommerce-info a.button.wc-forward::after { content: "→"; font-size: 14px; line-height: 1; margin-left: 2px; } ul.woocommerce-error li, ul.woocommerce-info li, ul.woocommerce-message li { list-style: none; margin: 0; padding: 0; } .tier-card { background: var(--sand); border-radius: var(--r); padding: clamp(20px, 3vw, 32px); margin: 0; display: grid; gap: 18px; grid-template-columns: 1fr; } @media (min-width: 720px) { .tier-card { grid-template-columns: repeat(3, 1fr); } } .tier { background: var(--cream); border-radius: var(--r); padding: 20px; } .tier__name { font-family: var(--display); font-size: 24px; color: var(--ink); margin: 0 0 4px; } .tier__cn { font-family: var(--cn); font-size: 11px; letter-spacing: 3px; color: var(--cognac); } .tier__price { font-family: var(--display); font-size: 30px; color: var(--terracotta); margin: 14px 0 12px; } .tier__price small { font-size: 13px; color: var(--ink-50); font-family: var(--body); } .tier__list { font-size: 13px; color: var(--ink-70); line-height: 1.6; } .tier__list li { display: flex; gap: 8px; margin-bottom: 6px; } .tier__list li::before { content: "✿"; color: var(--terracotta); } .section { padding: clamp(48px, 6vw, 96px) 0; } .section--ivory { background: var(--ivory); } .section--sand { background: var(--sand); } .section--cream { background: var(--cream); } .cat-seo__prose { max-width: 760px; } .cat-seo__title { font-size: clamp(28px, 3.4vw, 40px); margin: 12px 0 18px; } .cat-seo__prose p { color: var(--ink-70); font-size: 15px; line-height: 1.75; margin: 0 0 16px; } .cat-seo__areas { font-size: 13px; line-height: 1.7; color: var(--cognac); border-top: 1px solid var(--line); padding-top: 16px; margin: 4px 0 0; } .cat-faq__list { max-width: 840px; margin: 0 auto; } .cat-faq .section-head { margin-bottom: clamp(20px, 3vw, 36px); } .spec-strip { margin: 0 0 20px; padding: 0 0 16px; border-bottom: 1px solid var(--line); display: grid; gap: 9px; } .spec-strip__row { display: grid; grid-template-columns: 138px 1fr; gap: 16px; align-items: baseline; } .spec-strip__k { margin: 0; font-size: 10.5px; letter-spacing: 0.6px; text-transform: uppercase; font-weight: 600; color: var(--ink-50); } .spec-strip__k span { display: block; margin-top: 3px; text-transform: none; letter-spacing: 2px; font-family: var(--cn); font-weight: 500; font-size: 11px; color: var(--cognac); } .spec-strip__v { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ink-soft); } @media (max-width: 480px) { .spec-strip__row { grid-template-columns: 1fr; gap: 3px; } } @media (min-width: 960px) { .cat-hero__inner { grid-template-columns: 1fr 1fr; } .cat-hero__media { aspect-ratio: auto; min-height: 480px; } } .pdp { background: var(--cream); padding: clamp(20px, 3vw, 40px) 0 0; } .pdp__inner, body .pdp__inner, body.single-product .pdp__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter) !important; box-sizing: border-box; display: grid; gap: clamp(28px, 4vw, 64px); grid-template-columns: 1fr; } body.single-product div.product, body.single-product .woocommerce-page div.product { max-width: var(--container) !important; margin: 0 auto !important; padding: clamp(20px, 3vw, 40px) var(--gutter) clamp(36px, 5vw, 64px) !important; box-sizing: border-box; display: grid; gap: clamp(28px, 4vw, 64px); grid-template-columns: 1fr; } @media (min-width: 960px) { body.single-product div.product, body.single-product .woocommerce-page div.product { grid-template-columns: 1.05fr 1fr !important; align-items: start; } } body.single-product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; } body.single-product .woocommerce-product-gallery__wrapper, body.single-product .woocommerce-product-gallery__image { border-radius: var(--r); overflow: hidden; background: var(--ivory); } body.single-product .woocommerce-product-gallery__wrapper a, body.single-product .woocommerce-product-gallery__image a { display: block; } body.single-product .woocommerce-product-gallery__wrapper img, body.single-product .woocommerce-product-gallery__image img, body.single-product .wp-post-image { border-radius: var(--r); display: block; width: 100% !important; height: auto !important; } body.single-product .woocommerce-product-gallery__trigger { background: rgba(251,245,234,0.95) !important; color: var(--ink) !important; border-radius: 50% !important; width: 38px !important; height: 38px !important; display: grid !important; place-items: center !important; font-size: 16px !important; text-decoration: none !important; top: 16px !important; right: 16px !important; box-shadow: 0 2px 8px rgba(58,38,32,0.08); } body.single-product .summary, body.single-product .entry-summary { width: 100% !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; gap: 18px; } body.single-product .product_title, body.single-product h1.product_title { font-family: var(--display) !important; font-size: clamp(28px, 4vw, 44px) !important; line-height: 1.1 !important; font-weight: 500; color: var(--ink) !important; margin: 0 !important; letter-spacing: -0.4px; } body.single-product .summary .price, body.single-product p.price, body.single-product span.price { font-family: var(--display) !important; font-size: clamp(24px, 3vw, 34px) !important; color: var(--ink) !important; font-weight: 500; margin: 0 !important; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; } body.single-product .summary .price ins, body.single-product p.price ins { text-decoration: none; color: var(--terracotta) !important; background: transparent !important; } body.single-product .summary .price del, body.single-product p.price del { color: var(--ink-50) !important; font-size: 0.65em !important; font-weight: 400; } body.single-product .summary .price .woocommerce-Price-currencySymbol { font-size: 0.7em; opacity: 0.7; margin-right: 2px; } body.single-product .woocommerce-product-details__short-description, body.single-product .summary > div:not(.cart):not(.product_meta):not(.quantity) { color: var(--ink-70); font-family: var(--body); font-size: 14.5px; line-height: 1.7; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } body.single-product .woocommerce-product-details__short-description p { margin: 0; } body.single-product .summary form.cart, body.single-product .summary .cart { display: flex !important; gap: 12px !important; align-items: center; flex-wrap: wrap; margin: 0 !important; padding: 0 !important; } body.single-product .summary .cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 4px 6px; background: var(--cream); margin: 0 !important; } body.single-product .summary .cart .quantity input.qty, body.single-product .summary input.qty { width: 48px !important; height: 36px !important; border: 0 !important; background: transparent !important; text-align: center !important; font-family: var(--body) !important; font-size: 14px !important; font-weight: 600; color: var(--ink) !important; appearance: textfield; -moz-appearance: textfield; } body.single-product .summary input.qty::-webkit-outer-spin-button, body.single-product .summary input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } body.single-product .summary .single_add_to_cart_button, body.single-product button.single_add_to_cart_button, body.single-product .summary button[name="add-to-cart"], body.single-product .woocommerce-page .single_add_to_cart_button { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; padding: 14px 28px !important; font-family: var(--body) !important; font-size: 12px !important; letter-spacing: 1.8px !important; text-transform: uppercase !important; font-weight: 600 !important; color: var(--cream) !important; background: var(--ink) !important; border: 1px solid var(--ink) !important; border-radius: 999px !important; cursor: pointer !important; line-height: 1 !important; box-shadow: none !important; text-shadow: none !important; transition: background .2s, color .2s, border-color .2s, transform .15s; } body.single-product .summary .single_add_to_cart_button:hover, body.single-product button.single_add_to_cart_button:hover { background: var(--terracotta) !important; border-color: var(--terracotta) !important; } body.single-product .summary .single_add_to_cart_button:active { transform: translateY(1px); } body.single-product .product_meta { font-size: 12px !important; letter-spacing: 1px; color: var(--ink-50) !important; border-top: 1px solid var(--line); padding-top: 18px !important; margin: 6px 0 0 !important; display: flex; flex-direction: column; gap: 4px; } body.single-product .product_meta > span { display: block; } body.single-product .product_meta a { color: var(--cognac) !important; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .15s; } body.single-product .product_meta a:hover { border-bottom-color: var(--cognac); } body.single-product .woocommerce-tabs, body.single-product .wc-tabs-wrapper { grid-column: 1 / -1 !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left; } body.single-product .woocommerce-tabs .tabs.wc-tabs, body.single-product ul.tabs.wc-tabs { list-style: none !important; display: flex !important; gap: 28px !important; margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: none !important; text-align: left !important; overflow-x: auto; scrollbar-width: none; } body.single-product .woocommerce-tabs .tabs.wc-tabs::-webkit-scrollbar, body.single-product ul.tabs.wc-tabs::-webkit-scrollbar { display: none; } body.single-product .woocommerce-tabs ul.tabs li, body.single-product ul.tabs li { background: transparent !important; border: 0 !important; border-radius: 0 !important; margin: 0 !important; padding: 0 !important; display: inline-block; } body.single-product .woocommerce-tabs ul.tabs li::before, body.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; } body.single-product .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 14px 0 !important; font-family: var(--body) !important; font-size: 11.5px !important; letter-spacing: 1.6px !important; text-transform: uppercase !important; font-weight: 500 !important; color: var(--ink-50) !important; background: none !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; text-decoration: none !important; text-shadow: none !important; transition: color .15s, border-color .15s; } body.single-product .woocommerce-tabs ul.tabs li a:hover { color: var(--ink) !important; background: none !important; } body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; background: none !important; border-bottom-color: var(--ink) !important; } body.single-product .woocommerce-tabs .panel { font-family: var(--body); color: var(--ink-70); font-size: 14.5px; line-height: 1.75; max-width: none; margin: 0; padding: 0 !important; background: transparent !important; border: 0 !important; text-align: left; } body.single-product .woocommerce-tabs .panel h2 { font-family: var(--display) !important; font-weight: 500 !important; font-style: normal !important; font-size: clamp(28px, 3vw, 38px) !important; line-height: 1.1 !important; color: var(--ink) !important; margin: 0 0 18px !important; text-align: left !important; } body.single-product .woocommerce-tabs .panel h3, body.single-product .woocommerce-tabs .panel h4 { font-family: var(--display); font-size: 22px; font-weight: 500; color: var(--ink); margin: 24px 0 10px; } body.single-product .woocommerce-tabs .panel p { margin: 0 0 1em; } body.single-product .woocommerce-tabs .panel ul { list-style: none; padding: 0; margin: 0 0 1em; } body.single-product .woocommerce-tabs .panel ul li { padding-left: 22px; position: relative; margin-bottom: 8px; } body.single-product .woocommerce-tabs .panel ul li::before { content: "✿"; position: absolute; left: 0; color: var(--terracotta); } body.single-product .stock { font-size: 12px; letter-spacing: 1px; text-transform: uppercase; color: var(--cognac) !important; font-weight: 600; } body.single-product .stock.out-of-stock { color: #b54a3a !important; } .woocommerce-breadcrumb, nav.woocommerce-breadcrumb { max-width: var(--container); margin: 0 auto !important; padding: 18px var(--gutter) !important; font-family: var(--body); font-size: 11.5px !important; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-50) !important; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; background: transparent !important; border: 0 !important; } .woocommerce-breadcrumb a { color: var(--ink-70) !important; text-decoration: none !important; transition: color .15s; } .woocommerce-breadcrumb a:hover { color: var(--cognac) !important; } body.single-product .pdp__gallery-main, body.single-product .woocommerce-product-gallery, body.single-product .woocommerce-product-gallery__wrapper { position: relative !important; } body.single-product .onsale, body.single-product span.onsale, body.single-product .woocommerce-product-gallery span.onsale, body.single-product .pdp__gallery-main .onsale { display: inline-block !important; position: absolute !important; top: 16px !important; left: 16px !important; background: var(--terracotta) !important; color: var(--cream) !important; padding: 6px 14px !important; border-radius: 999px !important; font-family: var(--body) !important; font-size: 10px !important; letter-spacing: 1.8px !important; text-transform: uppercase !important; font-weight: 600 !important; line-height: 1 !important; min-height: auto !important; min-width: auto !important; width: auto !important; height: auto !important; margin: 0 !important; z-index: 5; box-shadow: 0 2px 8px rgba(58,38,32,0.12); pointer-events: none; } @media (max-width: 719px) { .pdp__gallery-main { position: relative !important; } .pdp__gallery-tag, body.single-product .onsale { top: 12px !important; left: 12px !important; padding: 5px 12px !important; font-size: 9px !important; } } body.single-product .product_meta .posted_in, body.single-product .product_meta span.posted_in { display: block; font-family: var(--body); font-size: 11px !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; color: var(--ink-50) !important; font-weight: 500; } body.single-product .product_meta .posted_in a { color: var(--terracotta) !important; letter-spacing: 2.5px; font-weight: 600; border-bottom: 0 !important; } body.single-product .product_meta .posted_in a:hover { color: var(--cognac) !important; } @media (min-width: 720px) { body.single-product .woocommerce-product-gallery { max-height: 720px; } body.single-product .woocommerce-product-gallery__wrapper, body.single-product .woocommerce-product-gallery__image { max-height: 720px; } body.single-product .woocommerce-product-gallery__wrapper img, body.single-product .woocommerce-product-gallery__image img, body.single-product .wp-post-image { width: 100% !important; height: auto !important; max-height: 720px; aspect-ratio: auto !important; object-fit: contain !important; object-position: center; } } display: grid; gap: clamp(28px, 4vw, 64px); grid-template-columns: 1fr; } .pdp__gallery { display: flex; flex-direction: column; gap: 12px; } .pdp__gallery-main { position: relative; aspect-ratio: 4/5; overflow: hidden; background: var(--ivory); border-radius: var(--r); } .pdp__gallery-main img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; } .pdp__gallery-tag { position: absolute; top: 16px; left: 16px; background: var(--ink); color: var(--cream); padding: 6px 14px; border-radius: var(--r-pill); font-size: 10px; letter-spacing: 1.8px; text-transform: uppercase; font-weight: 600; white-space: nowrap; } .pdp__gallery-tag--sale { background: var(--terracotta); color: var(--cream); } .pdp__gallery-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; } .pdp__gallery-thumbs::-webkit-scrollbar { display: none; } .pdp__thumb { flex-shrink: 0; width: 78px; height: 96px; background-size: cover; background-position: center; border-radius: 8px; border: 1px solid var(--line); opacity: .55; transition: opacity .2s, border-color .2s; cursor: pointer; padding: 0; } .pdp__thumb:hover { opacity: .85; } .pdp__thumb.is-active { opacity: 1; border: 2px solid var(--ink); } .pdp__summary { display: flex; flex-direction: column; gap: 22px; } .pdp__title { margin: 6px 0 0; } .pdp__cn-name { font-family: var(--cn); font-size: 14px; letter-spacing: 5px; color: var(--cognac); margin-top: 6px; } .pdp__price-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; } .pdp__price { font-family: var(--display); font-size: clamp(28px, 4vw, 40px); color: var(--ink); } .pdp__price del { font-size: 18px; color: var(--ink-50); margin-left: 8px; font-weight: 400; } .pdp__rating { display: flex; align-items: center; gap: 10px; color: var(--terracotta); letter-spacing: 3px; } .pdp__rating-count { font-family: var(--body); font-size: 11.5px; color: var(--ink-70); letter-spacing: 0; } .pdp__short { color: var(--ink-70); font-size: 14.5px; line-height: 1.7; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } .pdp__label { font-family: var(--body); font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--terracotta); font-weight: 600; margin: 0 0 12px; } .tier-radio { display: grid; gap: 10px; grid-template-columns: 1fr; } @media (min-width: 540px) { .tier-radio { grid-template-columns: repeat(3, 1fr); } } .tier-radio__item { position: relative; } .tier-radio__input { position: absolute; opacity: 0; pointer-events: none; } .tier-radio__label { display: block; padding: 16px 14px; border: 1px solid var(--line); border-radius: var(--r); background: var(--cream); cursor: pointer; transition: all .2s; } .tier-radio__input:checked + .tier-radio__label { border-color: var(--ink); background: var(--ink); color: var(--cream); box-shadow: 0 4px 14px rgba(58,38,32,0.18); } .tier-radio__name { font-family: var(--display); font-size: 20px; line-height: 1; } .tier-radio__desc { font-size: 10.5px; opacity: .75; margin-top: 4px; letterspacing: 0.3px; } .tier-radio__price { font-weight: 600; font-size: 13px; margin-top: 8px; } .signage { padding: 14px; border-radius: var(--r); background: var(--ivory); border: 1px solid var(--line); } .signage textarea { width: 100%; background: transparent; border: 0; outline: 0; resize: none; font-family: var(--display); font-style: italic; font-size: 17px; color: var(--ink); min-height: 64px; line-height: 1.45; } .signage__suggestions { display: flex; gap: 6px; flex-wrap: wrap; margin: 10px 0; } .signage__chip { font-size: 11px; padding: 4px 10px; border-radius: 100px; background: var(--cream); border: 1px solid var(--line); color: var(--cognac); font-family: var(--cn); letter-spacing: 2px; cursor: pointer; } .signage__chip:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); } .signage__foot { display: flex; justify-content: space-between; font-size: 11px; color: var(--ink-50); padding-top: 8px; border-top: 1px solid var(--line); } .date-row { display: grid; gap: 10px; grid-template-columns: 1fr; } @media (min-width: 540px) { .date-row { grid-template-columns: 1fr 1fr; } } .date-row input, .date-row select { width: 100%; padding: 14px; border-radius: var(--r); border: 1px solid var(--line); background: var(--cream); font: inherit; color: var(--ink); font-size: 14px; appearance: none; -webkit-appearance: none; } .date-row input:focus, .date-row select:focus { outline: 2px solid var(--terracotta); outline-offset: 2px; } .date-row select { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%233a2620' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; } .addon { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: var(--r); border: 1px solid var(--line); cursor: pointer; background: var(--cream); } .addon + .addon { margin-top: 8px; } .addon input { margin-top: 3px; accent-color: var(--terracotta); } .addon__title { font-weight: 600; font-size: 13.5px; color: var(--ink); } .addon__desc { font-size: 12px; color: var(--ink-70); margin-top: 2px; } .addon__price { margin-left: auto; font-weight: 600; font-size: 13px; color: var(--terracotta); white-space: nowrap; } .pdp__cta { display: flex; gap: 10px; align-items: center; padding: 14px 0; } .qty { display: inline-flex; align-items: center; padding: 2px; border: 1px solid var(--line); border-radius: var(--r-pill); background: var(--cream); } .qty__btn { width: 38px; height: 38px; border-radius: 50%; font-size: 18px; } .qty__val { min-width: 28px; text-align: center; font-weight: 600; font-size: 14px; } .pdp__cta .btn { flex: 1; min-width: 180px; justify-content: center; } .pdp__sticky-cta { position: sticky; bottom: 0; z-index: 30; background: rgba(251,245,234,0.95); backdrop-filter: blur(10px); border-top: 1px solid var(--line); padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom)); margin: 0 calc(-1 * var(--gutter)); display: flex; gap: 10px; align-items: center; } .pdp__sticky-cta .pdp__sticky-price { font-family: var(--display); font-size: 22px; color: var(--ink); flex-shrink: 0; } @media (min-width: 720px) { .pdp__sticky-cta { display: none; } } .pdp__trust { display: flex; flex-wrap: wrap; gap: 14px 22px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 11.5px; color: var(--ink-70); } .pdp__trust li { display: flex; align-items: center; gap: 6px; } .pdp__trust svg { color: var(--terracotta); flex-shrink: 0; } .pdp__tabs { max-width: var(--container); margin: 0 auto; padding: clamp(36px, 5vw, 80px) var(--gutter); border-top: 1px solid var(--line); margin-top: 40px; } .tabs-nav { display: flex; gap: 28px; border-bottom: 1px solid var(--line); margin: 0 0 28px; overflow-x: auto; scrollbar-width: none; } .tabs-nav::-webkit-scrollbar { display: none; } .tabs-nav button { padding: 14px 0; font-size: 11.5px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 500; color: var(--ink-50); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; flex-shrink: 0; } .tabs-nav button.is-active { color: var(--ink); border-color: var(--ink); } .tab-panel { font-size: 14.5px; line-height: 1.75; color: var(--ink-70); max-width: 720px; } .tab-panel[hidden] { display: none; } .tab-panel p { margin: 0 0 1em; } .tab-panel h4 { font-family: var(--display); font-size: 22px; color: var(--ink); margin: 24px 0 10px; } .tab-panel ul { list-style: none; padding: 0; } .tab-panel ul li { padding-left: 22px; position: relative; margin-bottom: 8px; } .tab-panel ul li::before { content: "✿"; position: absolute; left: 0; color: var(--terracotta); } .related { padding: clamp(36px, 5vw, 80px) 0 clamp(56px, 7vw, 110px); background: var(--ivory); } section.related.products, section.related { display: block !important; background: var(--ivory); padding: clamp(36px, 5vw, 80px) 0 clamp(56px, 7vw, 110px); width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: none; } body.single-product { overflow-x: hidden; } section.related > .wrap, section.related > h2, section.related > ul.products, section.related > .woocommerce > ul.products { max-width: var(--container); margin: 0 auto; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; box-sizing: border-box; } section.related > h2 { font-family: var(--display); font-size: clamp(28px, 3.4vw, 44px); line-height: 1.15; margin-bottom: clamp(24px, 3vw, 40px); color: var(--ink); font-weight: 500; } section.related > .wrap > .featured__head { margin-bottom: clamp(24px, 3vw, 40px); } section.related > .wrap > .featured__head .display { margin: 6px 0 0; } section.related ul.products, .woocommerce section.related ul.products { grid-template-columns: 1fr 1fr !important; } @media (min-width: 720px) { section.related ul.products, .woocommerce section.related ul.products { grid-template-columns: repeat(3, 1fr) !important; } } @media (min-width: 960px) { section.related ul.products, .woocommerce section.related ul.products { grid-template-columns: repeat(4, 1fr) !important; } } @media (min-width: 960px) { .pdp__inner { grid-template-columns: 1.05fr 1fr; align-items: start; } .pdp__summary { position: sticky; top: 100px; } .pdp__gallery { flex-direction: row; } .pdp__gallery-thumbs { flex-direction: column; order: -1; } .pdp__thumb { width: 60px; height: 78px; } } .cart-page { max-width: var(--container); margin: 0 auto; padding: clamp(24px, 4vw, 56px) var(--gutter) clamp(56px, 7vw, 110px); display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: 1fr; } @media (min-width: 960px) { .cart-page { grid-template-columns: 1.4fr 1fr; align-items: start; } } .cart-list { display: flex; flex-direction: column; gap: 8px; } .cart-row { display: grid; gap: 14px; grid-template-columns: 92px 1fr; padding: 18px 0; border-bottom: 1px solid var(--line); } .cart-row__img { width: 92px; aspect-ratio: 4/5; background-size: cover; background-position: center; border-radius: 8px; } .cart-row__main { display: flex; flex-direction: column; gap: 4px; } .cart-row__cat { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--terracotta); font-weight: 500; } .cart-row__name { font-family: var(--display); font-size: 20px; color: var(--ink); margin: 0; line-height: 1.15; } .cart-row__opts { font-size: 12px; color: var(--ink-70); } .cart-row__opts li { margin: 2px 0; } .cart-row__desc { font-size: 12.5px; color: var(--ink-70); line-height: 1.55; margin: 4px 0 0; max-width: 56ch; } .cart-row__foot { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; gap: 16px; flex-wrap: wrap; } .cart-row__price { font-family: var(--display); font-size: 20px; color: var(--ink); } .cart-row__remove { font-size: 10.5px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; color: var(--ink-50); padding: 4px 0; border-bottom: 1px solid var(--line); } .cart-row__remove:hover { color: var(--terracotta); border-color: var(--terracotta); } .cart-summary { background: var(--ivory); border-radius: var(--r); padding: clamp(20px, 3vw, 32px); position: sticky; top: 100px; } .cart-summary__title { font-family: var(--display); font-size: 24px; margin: 0 0 16px; color: var(--ink); } .cart-summary__row { display: flex; justify-content: space-between; padding: 10px 0; font-size: 13.5px; color: var(--ink-70); } .cart-summary__row strong { font-weight: 600; color: var(--ink); } .cart-summary__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px; margin-top: 6px; border-top: 1px solid var(--line); } .cart-summary__total-label { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--ink-50); } .cart-summary__total-amt { font-family: var(--display); font-size: 32px; color: var(--ink); } .promo { display: flex; gap: 0; margin: 14px 0 20px; border-radius: var(--r-pill); background: var(--cream); border: 1px solid var(--line); overflow: hidden; } .promo input { flex: 1; padding: 11px 16px; border: 0; background: transparent; font: inherit; outline: 0; font-size: 13px; } .promo button { padding: 0 18px; background: var(--ink); color: var(--cream); font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; } .wc-empty-cart-message { display: none !important; } .cart-empty { text-align: center; padding: 80px 20px; } .cart-empty .display { margin-top: 24px; } .cart-empty p { color: var(--ink-70); margin: 14px 0 24px; } .cart-trust { display: grid; gap: 12px; padding: 14px 0; grid-template-columns: 1fr; margin-top: 14px; border-top: 1px solid var(--line); } .cart-trust li { display: flex; gap: 10px; align-items: center; font-size: 11.5px; color: var(--ink-70); } .cart-trust svg { color: var(--terracotta); flex-shrink: 0; } .checkout-header { background: var(--cream); border-bottom: 1px solid var(--line); padding: 16px 0; } .checkout-header__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 16px; } .checkout-header__secure { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; letter-spacing: 1px; text-transform: uppercase; color: var(--ink-70); font-weight: 500; } .checkout-header__secure svg { color: var(--sage); } .stepper { max-width: var(--container); margin: 0 auto; padding: 18px var(--gutter) 4px; display: flex; gap: 0; align-items: center; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; overflow-x: auto; scrollbar-width: none; } .stepper::-webkit-scrollbar { display: none; } .stepper__step { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-50); flex-shrink: 0; white-space: nowrap; } .stepper__step.is-active { color: var(--ink); font-weight: 600; } .stepper__step.is-done { color: var(--terracotta); } .stepper__num { width: 22px; height: 22px; border-radius: 50%; background: var(--ivory); display: grid; place-items: center; font-size: 11px; font-weight: 600; color: inherit; border: 1px solid var(--line); } .stepper__step.is-active .stepper__num { background: var(--ink); color: var(--cream); border-color: var(--ink); } .stepper__step.is-done .stepper__num { background: var(--terracotta); color: var(--cream); border-color: var(--terracotta); } .stepper__sep { flex: 1; min-width: 16px; height: 1px; background: var(--line); margin: 0 12px; } .checkout-page { max-width: var(--container); margin: 0 auto; padding: clamp(24px, 4vw, 48px) var(--gutter) clamp(56px, 7vw, 110px); display: grid; gap: clamp(28px, 4vw, 56px); grid-template-columns: 1fr; } @media (min-width: 960px) { .checkout-page { grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; } } @media (min-width: 1200px) { .checkout-page { grid-template-columns: minmax(0, 1fr) 420px; } } .checkout-section { background: var(--cream); border: 1px solid var(--line); border-radius: var(--r); padding: clamp(20px, 3vw, 32px); margin-bottom: 16px; } .checkout-section__title { font-family: var(--display); font-size: 24px; margin: 0 0 4px; color: var(--ink); display: flex; align-items: center; gap: 12px; } .checkout-section__num { width: 32px; height: 32px; border-radius: 50%; background: var(--terracotta); color: var(--cream); display: grid; place-items: center; font-family: var(--display); font-style: italic; font-size: 17px; font-weight: 500; } .checkout-section__sub { font-size: 12px; color: var(--ink-70); margin: 0 0 22px 44px; } .form-grid { display: grid; gap: 14px; grid-template-columns: 1fr; } @media (min-width: 540px) { .form-grid--2 { grid-template-columns: 1fr 1fr; } .form-grid--3 { grid-template-columns: 1fr 1fr 1fr; } } .form-field { display: flex; flex-direction: column; gap: 6px; } .form-field--full { grid-column: 1 / -1; } .form-field label { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ink-70); font-weight: 600; } .form-field input, .form-field select, .form-field textarea { padding: 13px 14px; border-radius: var(--r); border: 1px solid var(--line); background: var(--cream); font: inherit; color: var(--ink); font-size: 14px; outline: 0; transition: border .15s, box-shadow .15s; } .form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--terracotta); box-shadow: 0 0 0 3px rgba(181,107,77,0.15); } .form-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%233a2620' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; } .form-field textarea { resize: vertical; min-height: 80px; font-family: var(--display); font-style: italic; } .bank-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, 1fr); } @media (min-width: 540px) { .bank-grid { grid-template-columns: repeat(3, 1fr); } } @media (min-width: 960px) { .bank-grid { grid-template-columns: repeat(4, 1fr); } } .bank { position: relative; } .bank input { position: absolute; opacity: 0; pointer-events: none; } .bank__label { display: flex; align-items: center; gap: 10px; padding: 13px 14px; cursor: pointer; border: 1px solid var(--line); border-radius: var(--r); background: var(--cream); transition: all .15s; } .bank input:checked + .bank__label { border-color: var(--terracotta); background: rgba(181,107,77,0.06); box-shadow: 0 0 0 3px rgba(181,107,77,0.12); } .bank__mark { width: 28px; height: 28px; border-radius: 6px; display: grid; place-items: center; font-family: var(--body); font-weight: 700; font-size: 12px; color: #fff; flex-shrink: 0; letter-spacing: 0; } .bank__name { font-size: 12.5px; font-weight: 600; color: var(--ink); line-height: 1.2; } .order-summary { padding: clamp(20px, 3vw, 32px); background: var(--ivory); border-radius: var(--r); position: sticky; top: 100px; } .order-summary__title { font-family: var(--display); font-size: 22px; margin: 0 0 18px; color: var(--ink); } .order-summary__items { display: flex; flex-direction: column; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line); } .order-summary__row { display: flex; gap: 12px; } .order-summary__thumb { width: 60px; height: 76px; flex-shrink: 0; background-size: cover; background-position: center; border-radius: 6px; } .order-summary__name { font-family: var(--display); font-size: 16px; line-height: 1.2; color: var(--ink); margin: 0; } .order-summary__opt { font-size: 11px; color: var(--ink-70); margin-top: 2px; } .order-summary__price { margin-left: auto; font-weight: 600; font-size: 13.5px; color: var(--ink); white-space: nowrap; } .order-summary__totals { padding: 14px 0; } .order-summary__totals .cart-summary__row { padding: 6px 0; } .place-order { display: flex; flex-direction: column; gap: 8px; padding-top: 14px; } .place-order .btn { width: 100%; justify-content: center; padding: 16px; font-size: 12px; } .place-order__note { font-size: 11px; color: var(--ink-50); text-align: center; line-height: 1.5; } body.jemem-catalog-mode .product__cart-wrap, body.jemem-catalog-mode li.product > a.button.add_to_cart_button, body.jemem-catalog-mode li.product > a.added_to_cart, body.jemem-catalog-mode .add_to_cart_button, body.jemem-catalog-mode .single_add_to_cart_button, body.jemem-catalog-mode button.single_add_to_cart_button, body.jemem-catalog-mode form.cart, body.jemem-catalog-mode .summary form.cart, body.jemem-catalog-mode .summary .quantity, body.jemem-catalog-mode .summary .pdp__label, body.jemem-catalog-mode .pdp__summary form.cart, body.jemem-catalog-mode .pdp__summary .quantity, body.jemem-catalog-mode .pdp__summary .pdp__label, body.jemem-catalog-mode .woocommerce-variation-add-to-cart, body.jemem-catalog-mode .yith-wcqv-button, body.jemem-catalog-mode .ywctm-button, body.jemem-catalog-mode .wc-pao-addon-wrap + .cart, body.jemem-catalog-mode .woocommerce-mini-cart__buttons, body.jemem-catalog-mode a.checkout-button, body.jemem-catalog-mode .wc-block-cart, body.jemem-catalog-mode .wc-block-checkout, body.jemem-catalog-mode .wc-sticky-add-to-cart, body.jemem-catalog-mode #wc-sticky-add-to-cart, body.jemem-catalog-mode .sticky-add-to-cart, body.jemem-catalog-mode .single-product-sticky, body.jemem-catalog-mode .pdp__sticky-cta, body.jemem-catalog-mode .buy-now-button, body.jemem-catalog-mode .direct-checkout-button, body.jemem-catalog-mode .wcdc-button { display: none !important; } body.jemem-catalog-mode.single-product form.cart, body.jemem-catalog-mode.single-product .variations_form, body.jemem-catalog-mode.single-product .grouped_form, body.jemem-catalog-mode.single-product .product-type-external .cart { display: none !important; } body.jemem-catalog-mode .icon-btn--cart, body.jemem-catalog-mode [data-cart-count] { display: none !important; } @media (max-width: 720px) { .header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 50 !important; margin-top: 0 !important; } body { padding-top: 64px; } .topbar { display: none !important; } body.admin-bar .header { top: 46px !important; } body.admin-bar { padding-top: 110px; } } .faq-hero { padding: clamp(64px,8vw,120px) 0 clamp(28px,4vw,44px); text-align: center; background: var(--cream); } .faq-hero__inner { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter); } .faq-hero .display { margin: 14px 0 18px; } .faq-hero__lede { color: var(--ink-70); font-size: 16px; line-height: 1.7; max-width: 560px; margin: 0 auto; } .faq { padding: 0 0 clamp(56px,7vw,104px); background: var(--cream); } .faq__inner { max-width: 840px; margin: 0 auto; padding: 0 var(--gutter); } .faq__group { margin-top: clamp(36px,5vw,56px); } .faq__group:first-child { margin-top: 8px; } .faq__group-label { display: flex; align-items: center; gap: 14px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; font-weight: 600; color: var(--terracotta); margin-bottom: 6px; } .faq__group-label::after { content: ""; flex: 1; height: 1px; background: var(--line); } .faq__group-cn { font-family: var(--cn); font-size: 11px; letter-spacing: 2px; color: var(--cognac); font-weight: 500; } .faq__item { border-bottom: 1px solid var(--line); } .faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: flex-start; gap: 18px; padding: 22px 0; user-select: none; } .faq__item summary::-webkit-details-marker { display: none; } .faq__q { flex: 1; font-family: var(--display); font-size: clamp(20px,2.4vw,25px); line-height: 1.25; color: var(--ink); transition: color .2s; } .faq__q small { font-family: var(--cn); font-size: 12px; letter-spacing: 2px; color: var(--cognac); font-weight: 500; display: block; margin-top: 5px; } .faq__item summary:hover .faq__q { color: var(--terracotta); } .faq__icon { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); display: grid; place-items: center; color: var(--terracotta); margin-top: 2px; transition: background .2s, border-color .2s; } .faq__icon svg { display: block; transition: transform .25s; } .faq__item summary:hover .faq__icon { border-color: var(--terracotta); } .faq__item[open] .faq__icon { background: var(--terracotta); border-color: var(--terracotta); color: var(--cream); } .faq__item[open] .faq__icon svg { transform: rotate(45deg); } .faq__a { padding: 2px 52px 30px 0; max-width: 660px; } .faq__a-en { color: var(--ink-soft); font-size: 15px; line-height: 1.85; } .faq__a-en p { margin: 0 0 12px; } .faq__a-en p:last-child { margin-bottom: 0; } .faq__a-en strong { color: var(--ink); font-weight: 600; } .faq__a-en a { color: var(--terracotta); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; } .faq__a-cn { margin-top: 26px; font-family: var(--cn); color: var(--ink-70); font-size: 15px; line-height: 2.05; letter-spacing: 0.5px; } .faq__a-cn p { margin: 0 0 10px; } .faq__a-cn p:last-child { margin-bottom: 0; } .faq__a-cn strong { font-weight: 600; color: var(--ink-soft); } .faq__a-cn a { color: var(--cognac); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; } .faq__item[open] .faq__a { animation: faqReveal .28s ease; } @keyframes faqReveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } } .faq-cta { margin-top: clamp(48px,6vw,72px); text-align: center; background: var(--ivory); border-radius: 6px; padding: clamp(36px,5vw,56px) 28px; } .faq-cta .display { font-size: clamp(26px,3.4vw,40px); margin: 0 0 10px; } .faq-cta__lede { color: var(--ink-70); font-size: 15px; max-width: 440px; margin: 0 auto 24px; line-height: 1.65; } .faq-cta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; } @media (max-width: 560px) { .faq__a { padding-right: 0; } .faq__item summary { gap: 12px; } } .journal-hero { padding: clamp(56px,7vw,104px) 0 clamp(28px,4vw,48px); text-align: center; background: var(--cream); } .journal-hero__inner { max-width: 720px; margin: 0 auto; padding: 0 var(--gutter); } .journal-hero .display { margin: 14px 0 16px; } .journal-hero__lede { color: var(--ink-70); font-size: 16px; line-height: 1.7; max-width: 540px; margin: 0 auto; } .journal { padding: 0 0 clamp(56px,7vw,104px); background: var(--cream); } .journal__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); } .journal__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: clamp(28px,3vw,44px) clamp(24px,2.5vw,36px); } .jcard { display: flex; flex-direction: column; } .jcard__media { display: block; position: relative; overflow: hidden; border-radius: var(--r); aspect-ratio: 3 / 2; background: var(--ivory); } .jcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.6,.2,1); } .jcard__media:hover .jcard__img { transform: scale(1.05); } .jcard__cat { position: absolute; left: 12px; top: 12px; background: rgba(251,245,234,.92); color: var(--cognac); font-family: var(--body); font-size: 10px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 700; padding: 6px 11px; border-radius: var(--r-pill); } .jcard__body { padding: 18px 2px 0; display: flex; flex-direction: column; flex: 1; } .jcard__meta { font-size: 11px; letter-spacing: 1.4px; text-transform: uppercase; color: var(--ink-50); font-weight: 600; margin-bottom: 9px; } .jcard__title { font-family: var(--display); font-weight: 500; font-size: clamp(21px,2.2vw,25px); line-height: 1.22; color: var(--ink); margin: 0 0 10px; letter-spacing: -.2px; } .jcard__title a { color: inherit; text-decoration: none; transition: color .18s; } .jcard__title a:hover { color: var(--terracotta); } .jcard__excerpt { color: var(--ink-70); font-size: 14.5px; line-height: 1.7; margin: 0 0 16px; } .jcard__more { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; font-family: var(--body); font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 700; color: var(--terracotta); text-decoration: none; } .jcard__more svg { transition: transform .2s; } .jcard__more:hover svg { transform: translateX(4px); } .jcard--feature { grid-column: 1 / -1; } @media (min-width: 760px) { .jcard--feature { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(28px,3.5vw,52px); align-items: center; } .jcard--feature .jcard__media { aspect-ratio: 4 / 3; height: 100%; } .jcard--feature .jcard__body { padding: 0; } .jcard--feature .jcard__title { font-size: clamp(28px,3.4vw,40px); } .jcard--feature .jcard__excerpt { font-size: 15.5px; } } .journal__nav { margin-top: clamp(40px,5vw,64px); } .journal__nav .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; } .journal__nav .page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: var(--r-pill); border: 1px solid var(--line); background: transparent; font-family: var(--body); font-size: 14px; font-weight: 600; color: var(--ink-soft); text-decoration: none; transition: background .15s, color .15s, border-color .15s; } .journal__nav .page-numbers:hover { border-color: var(--terracotta); color: var(--terracotta); } .journal__nav .page-numbers.current { background: var(--terracotta); border-color: var(--terracotta); color: var(--cream); } .journal__nav .page-numbers.dots { border: 0; } .post { background: var(--cream); padding: clamp(48px,6vw,88px) 0 clamp(56px,7vw,104px); } .post__inner { max-width: 760px; margin: 0 auto; padding: 0 var(--gutter); } .post__back { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 26px; font-family: var(--body); font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 700; color: var(--ink-50); text-decoration: none; transition: color .18s; } .post__back:hover { color: var(--terracotta); } .post__back svg { transition: transform .2s; } .post__back:hover svg { transform: translateX(-3px); } .post__head { text-align: center; max-width: 680px; margin: 0 auto; } .post__cat { display: inline-block; font-family: var(--body); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; color: var(--terracotta); margin-bottom: 16px; } .post__title { margin: 0 0 18px; letter-spacing: -.5px; } .post__meta { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; font-size: 12.5px; letter-spacing: .4px; color: var(--ink-50); font-weight: 500; } .post__meta span { display: inline-flex; align-items: center; gap: 7px; } .post__meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--rose); } .post__banner { margin: clamp(30px,4vw,52px) 0; } .post__banner img { width: 100%; height: auto; border-radius: var(--r-lg); display: block; } .prose { color: var(--ink-soft); font-size: 17px; line-height: 1.78; } .prose > * + * { margin-top: 1.4em; } .prose p { margin: 0; } .prose h2 { font-family: var(--display); font-weight: 600; font-size: clamp(26px,3vw,33px); line-height: 1.2; color: var(--ink); margin: 1.8em 0 0; letter-spacing: -.3px; } .prose h3 { font-family: var(--display); font-weight: 600; font-size: clamp(21px,2.3vw,26px); line-height: 1.25; color: var(--ink); margin: 1.6em 0 0; } .prose a { color: var(--terracotta); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; } .prose strong { color: var(--ink); font-weight: 600; } .prose ul, .prose ol { margin: 0; padding-left: 1.3em; } .prose li { margin: .5em 0; } .prose li::marker { color: var(--terracotta); } .prose img { max-width: 100%; height: auto; border-radius: var(--r); display: block; } .prose figure { margin: 0; } .prose figcaption { font-size: 13px; color: var(--ink-50); text-align: center; margin-top: 10px; font-style: italic; } .prose blockquote { margin: 1.6em 0; padding: 6px 0 6px 28px; border-left: 3px solid var(--blush); font-family: var(--display); font-style: italic; font-size: clamp(21px,2.4vw,26px); line-height: 1.4; color: var(--cognac); } .prose blockquote p { margin: 0; } .prose hr { border: 0; height: 1px; background: var(--line); margin: 2.4em 0; } .prose code { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .88em; background: var(--ivory); padding: 2px 7px; border-radius: var(--r-sm); color: var(--cognac); } .post__footer { max-width: 760px; margin: clamp(40px,5vw,64px) auto 0; padding: clamp(28px,3vw,40px) var(--gutter) 0; border-top: 1px solid var(--line); } .post__tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .post__tags-label { font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--ink-50); font-weight: 700; margin-right: 4px; } .post__tag { font-family: var(--body); font-size: 12px; color: var(--ink-soft); text-decoration: none; padding: 7px 14px; border-radius: var(--r-pill); border: 1px solid var(--line); transition: border-color .15s, color .15s; } .post__tag:hover { border-color: var(--terracotta); color: var(--terracotta); } .post-related { background: var(--ivory); padding: clamp(48px,6vw,88px) 0; } .post-related__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); } .post-related .section-head { margin-bottom: clamp(28px,3vw,44px); } @media (max-width: 600px) { .journal__grid { grid-template-columns: 1fr; } .prose { font-size: 16px; } } .co-hero { position: relative; padding: clamp(56px,7vw,104px) 0 clamp(40px,5vw,72px); background: var(--cream); overflow: hidden; } .co-hero__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); display: grid; grid-template-columns: 1fr; gap: clamp(32px,4vw,56px); align-items: center; } .co-hero__copy { max-width: 560px; } .co-hero .display { margin: 14px 0 18px; } .co-hero__lede { color: var(--ink-70); font-size: 17px; line-height: 1.7; } .co-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; } .co-hero__meta li { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink-soft); } .co-hero__meta svg { color: var(--terracotta); flex-shrink: 0; } .co-hero__media { position: relative; aspect-ratio: 5/4; border-radius: var(--r); background-size: cover; background-position: center; box-shadow: 0 30px 60px -28px rgba(58,38,32,0.4); } .co-hero__stamp { position: absolute; right: -14px; bottom: -14px; width: 96px; height: 96px; border-radius: 50%; background: var(--ivory); color: var(--cognac); display: grid; place-items: center; text-align: center; font-family: var(--cn); font-size: 13px; letter-spacing: 2px; line-height: 1.5; box-shadow: 0 16px 30px -16px rgba(58,38,32,0.5); } @media (min-width: 900px) { .co-hero__inner { grid-template-columns: 1.05fr 0.95fr; } } .co-form { padding: clamp(48px,6vw,96px) 0; background: var(--cream); } .co-form__inner { max-width: 860px; margin: 0 auto; padding: 0 var(--gutter); } .co-form__card { background: var(--ivory); border-radius: var(--r); padding: clamp(28px,4vw,52px); box-shadow: 0 24px 50px -34px rgba(58,38,32,0.35); } .co-grid { display: grid; grid-template-columns: 1fr; gap: 22px 24px; } @media (min-width: 660px) { .co-grid { grid-template-columns: 1fr 1fr; } } .field { display: flex; flex-direction: column; gap: 8px; } .field--full { grid-column: 1 / -1; } .field > label { font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); display: flex; align-items: baseline; gap: 8px; } .field > label .cn-lbl { font-family: var(--cn); font-size: 11px; letter-spacing: 1px; text-transform: none; color: var(--cognac); font-weight: 500; } .field > label .req { color: var(--terracotta); } .field input, .field select, .field textarea { font-family: var(--body); font-size: 15px; color: var(--ink); background: var(--cream); border: 1px solid var(--line); border-radius: 8px; padding: 13px 14px; width: 100%; transition: border-color .18s, box-shadow .18s; -webkit-appearance: none; appearance: none; } .field textarea { resize: vertical; min-height: 96px; line-height: 1.55; } #message, #flowers { font-family: var(--display); font-style: italic; font-size: 16px; line-height: 1.5; } #message::placeholder, #flowers::placeholder { font-style: italic; } .field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--terracotta); box-shadow: 0 0 0 3px rgba(181,107,77,0.14); } .field select { background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238b4a2c' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; } .field__hint { font-size: 12px; color: var(--ink-50); } .co-msgmeta { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: var(--ink-50); margin-top: 2px; } .co-msgmeta .over { color: var(--terracotta); font-weight: 600; } .co-budget { grid-column: 1 / -1; } .co-budget__legend { font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; } .co-budget__legend .cn-lbl { font-family: var(--cn); font-size: 11px; letter-spacing: 1px; text-transform: none; color: var(--cognac); font-weight: 500; } .co-budget__legend .req { color: var(--terracotta); } .co-chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; } @media (min-width: 560px) { .co-chips { grid-template-columns: repeat(4, 1fr); } } .co-chip { position: relative; } .co-chip input { position: absolute; opacity: 0; pointer-events: none; } .co-chip span { display: block; text-align: center; cursor: pointer; background: var(--cream); border: 1px solid var(--line); border-radius: 999px; padding: 13px 8px; font-size: 14px; color: var(--ink-soft); transition: all .16s; } .co-chip span small { display: block; font-size: 11px; color: var(--ink-50); margin-top: 2px; } .co-chip input:checked + span { background: var(--terracotta); border-color: var(--terracotta); color: var(--cream); } .co-chip input:checked + span small { color: rgba(251,245,234,0.8); } .co-chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(181,107,77,0.18); } .co-inline { border: 0; margin: 0; padding: 0; min-width: 0; } .co-inline legend { padding: 0; margin-bottom: 8px; font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); display: flex; align-items: baseline; gap: 8px; } .co-inline legend .cn-lbl { font-family: var(--cn); font-size: 11px; letter-spacing: 1px; text-transform: none; color: var(--cognac); font-weight: 500; } .co-chips--inline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .co-chips--inline .co-chip span { padding: 11px 6px; } .co-swatches { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; } @media (min-width: 480px) { .co-swatches { grid-template-columns: repeat(4, 1fr); } } .co-swatch { position: relative; } .co-swatch input { position: absolute; opacity: 0; pointer-events: none; } .co-swatch span { display: flex; align-items: center; gap: 9px; cursor: pointer; background: var(--cream); border: 1px solid var(--line); border-radius: 999px; padding: 10px 14px; font-size: 14px; color: var(--ink-soft); transition: all .16s; } .co-swatch span i { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; display: block; } .co-swatch span small { font-family: var(--cn); font-size: 12px; color: var(--ink-50); } .co-swatch input:checked + span { border-color: var(--terracotta); background: #fff; box-shadow: 0 0 0 1px var(--terracotta) inset; } .co-swatch input:checked + span small { color: var(--cognac); } .co-swatch input:focus-visible + span { box-shadow: 0 0 0 3px rgba(181,107,77,0.18); } .co-form__foot { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; } .co-form__note { font-size: 13px; color: var(--ink-70); line-height: 1.6; flex: 1; min-width: 220px; } .co-form__note a { color: var(--terracotta); text-decoration: none; border-bottom: 1px solid currentColor; } .co-form__submit { display: inline-flex; align-items: center; gap: 10px; } .pricing { padding: clamp(48px,6vw,96px) 0; background: var(--ivory); } .pricing__grid { max-width: var(--container); margin: 28px auto 0; padding: 0 var(--gutter); display: grid; grid-template-columns: 1fr; gap: 18px; } @media (min-width: 680px) { .pricing__grid { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1000px) { .pricing__grid { grid-template-columns: repeat(4, 1fr); } } .tier { background: var(--cream); border-radius: var(--r); padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--line); } .tier__range { font-family: var(--display); font-size: 26px; color: var(--terracotta); font-weight: 500; } .tier__name { font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 600; color: var(--ink-soft); } .tier__desc { font-size: 14px; color: var(--ink-70); line-height: 1.65; margin: 0; } .pricing__foot { text-align: center; color: var(--ink-50); font-size: 13px; margin: 26px auto 0; max-width: 560px; padding: 0 var(--gutter); line-height: 1.6; } .co-dialog { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; } .co-dialog[hidden] { display: none; } .co-dialog__bg { position: absolute; inset: 0; background: rgba(26,18,8,0.55); backdrop-filter: blur(2px); animation: coFade .2s ease; } .co-dialog__sheet { position: relative; width: 100%; max-width: 520px; max-height: 88vh; overflow-y: auto; background: var(--cream); border-radius: var(--r); padding: clamp(28px,4vw,40px); box-shadow: 0 40px 80px -30px rgba(26,18,8,0.6); animation: coRise .26s ease; } .co-dialog__sheet .display { font-size: clamp(28px,3.6vw,40px); margin: 10px 0 12px; } .co-dialog__lede { color: var(--ink-70); font-size: 14px; line-height: 1.6; margin: 0 0 22px; } .co-dialog__close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--ink-soft); font-size: 22px; line-height: 1; cursor: pointer; transition: background .15s, color .15s; } .co-dialog__close:hover { background: var(--terracotta); color: var(--cream); border-color: var(--terracotta); } .co-summary { margin: 0 0 26px; border-top: 1px solid var(--line); } .co-summary div { display: grid; grid-template-columns: 130px 1fr; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--line); } .co-summary dt { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; font-weight: 600; color: var(--ink-50); } .co-summary dd { margin: 0; font-size: 14px; color: var(--ink); line-height: 1.5; word-break: break-word; } .co-dialog__actions { display: flex; gap: 12px; flex-wrap: wrap; } .co-dialog__actions .btn { flex: 1; justify-content: center; min-width: 140px; } .co-dialog__error { margin: 0 0 18px; padding: 11px 14px; border-radius: 8px; background: rgba(192,57,43,0.08); color: #a23; font-size: 13px; line-height: 1.5; } .co-dialog__tick { width: 60px; height: 60px; border-radius: 50%; margin: 4px auto 16px; display: grid; place-items: center; background: var(--sage, #8a8a6b); color: #fff; } .co-dialog__tick + .display em { font-style: normal; color: var(--rose); } @keyframes coFade { from { opacity: 0; } to { opacity: 1; } } @keyframes coRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } } .legal-hero { background: var(--ivory); padding: clamp(56px,7vw,104px) 0 clamp(32px,4vw,48px); border-bottom: 1px solid var(--line); } .legal-hero__inner { max-width: 820px; margin: 0 auto; padding: 0 var(--gutter); } .legal-hero .display { margin: 14px 0 16px; } .legal-hero__lede { color: var(--ink-70); font-size: 16px; line-height: 1.7; max-width: 620px; } .legal-hero__meta { margin-top: 20px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--ink-50); font-weight: 600; } .legal { background: var(--cream); padding: clamp(40px,5vw,72px) 0 clamp(56px,7vw,104px); } .legal__inner { max-width: 820px; margin: 0 auto; padding: 0 var(--gutter); display: grid; grid-template-columns: 1fr; gap: clamp(32px,4vw,44px); } .legal__intro { color: var(--ink-soft); font-size: 15.5px; line-height: 1.85; border-left: 2px solid var(--terracotta); padding-left: 22px; } .legal__intro strong { color: var(--ink); font-weight: 600; } .legal__sec { scroll-margin-top: 90px; } .legal__sec-head { display: flex; align-items: baseline; gap: 14px; margin: 0 0 14px; } .legal__sec-num { font-family: var(--display); font-style: italic; font-size: 26px; color: var(--terracotta); line-height: 1; flex-shrink: 0; } .legal__sec-title { font-family: var(--display); font-weight: 500; font-size: clamp(23px,2.6vw,28px); line-height: 1.2; color: var(--ink); margin: 0; } .legal__body { color: var(--ink-soft); font-size: 15px; line-height: 1.85; } .legal__body p { margin: 0 0 14px; } .legal__body p:last-child { margin-bottom: 0; } .legal__body strong { color: var(--ink); font-weight: 600; } .legal__body ul { margin: 0 0 14px; padding-left: 0; list-style: none; display: grid; gap: 9px; } .legal__body li { position: relative; padding-left: 22px; } .legal__body li::before { content: ""; position: absolute; left: 2px; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--blush); } .legal__body a { color: var(--terracotta); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px; } .legal__note { margin-top: 6px; background: var(--ivory); border-radius: 6px; padding: 24px 26px; } .legal__note h3 { font-family: var(--display); font-weight: 500; font-size: 22px; margin: 0 0 8px; color: var(--ink); } .legal__note p { margin: 0; color: var(--ink-70); font-size: 14.5px; line-height: 1.75; } .legal__note a { color: var(--cognac); text-decoration: none; border-bottom: 1px solid currentColor; } .legal__cn { display: block; margin-top: 6px; font-family: var(--cn); font-size: 13px; letter-spacing: 0.5px; color: var(--ink-50); line-height: 1.9; }