/* Unique Countertops Ltd — base styles (dark theme) */
* { box-sizing: border-box; }
body { margin: 0; background: #15130F; -webkit-font-smoothing: antialiased; }
a { color: #C9A469; text-decoration: none; }
a:hover { color: #F2EDE5; }
input, textarea, button, select { font: inherit; color: inherit; }
::selection { background: #4A3E2A; }

/* Heading "write-on" reveal — runs once when a heading scrolls into view.
   .hl-word wraps each word; JS staggers each word's animation-delay. */
.hl-ready .hl-word {
  display: inline-block; opacity: 0; transform: translateY(0.5em);
  filter: blur(6px);
  animation: headingWriteOn 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-play-state: paused;
}
.hl-in-view .hl-word { animation-play-state: running; }
@keyframes headingWriteOn {
  from { opacity: 0; transform: translateY(0.5em); filter: blur(6px); }
  to { opacity: 1; transform: none; filter: blur(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hl-ready .hl-word { animation: none !important; opacity: 1; transform: none; filter: none; }
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes riseIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes heroSlide { 0% { opacity: 0; } 3% { opacity: 0.9; } 22% { opacity: 0.9; } 25% { opacity: 0; } 100% { opacity: 0; } }
@keyframes ctaWave1 { 0%, 100% { transform: translateX(0) scale(1); opacity: 0.85; } 50% { transform: translateX(150px) scale(1.16); opacity: 1; } }
@keyframes ctaWave2 { 0%, 100% { transform: translateX(0) scale(1); opacity: 0.9; } 50% { transform: translateX(-170px) scale(1.08); opacity: 0.7; } }
@keyframes ctaWave3 { 0%, 100% { transform: translateX(0) translateY(0); opacity: 0.7; } 50% { transform: translateX(120px) translateY(20px); opacity: 1; } }

/* Hover utilities (replacing design-canvas style-hover attributes) */
.hv-cream:hover { color: #F5EFE4 !important; }
.hv-goldlight:hover { color: #D8B872 !important; }
.hv-bronzelight:hover { color: #D09D66 !important; }
.hv-dark:hover { color: #F2EDE5 !important; }
.hv-gold:hover { color: #D8B872 !important; }
.hv-bg-bronzelight:hover { background: #D09D66 !important; }
/* Copper CTA buttons. The markup carries inline copper backgrounds from the
   original design canvas, so these rules use !important to take ownership of
   the whole treatment: white label, product-card radius, and a hover that
   empties the fill and leaves a copper outline. */
.hv-bg-gold {
  color: #FFFFFF !important;
  border: 1px solid #A98243 !important;
  border-radius: 4px !important;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
}
.hv-bg-gold:hover {
  background: transparent !important;
  border-color: #A98243 !important;
  color: #A98243 !important;
}
.hv-bg-gold-cream:hover { background: #A98243 !important; color: #FBF9F5 !important; }
.hv-bg-dark-cream:hover { background: #A98243 !important; color: #15130F !important; }
.hv-bd-gold-cream:hover { border-color: #A98243 !important; color: #F5EFE4 !important; }
.hv-bd-dark:hover { border-color: #F2EDE5 !important; }
.hv-bd-cream:hover { border-color: #F5EFE4 !important; }
.hv-bd-goldlight:hover { border-color: #D8B872 !important; color: #D8B872 !important; }
.hv-op85:hover { opacity: 0.85 !important; }
.hv-op90:hover { opacity: 0.9 !important; }
.hv-op94:hover { opacity: 0.94 !important; }

/* Focus utilities (replacing style-focus attributes) */
.fc-gold:focus { border-color: #A98243 !important; }
.fc-goldlight:focus { border-color: #D8B872 !important; }

/* Homepage vertical rhythm. Every section carries the same top/bottom padding
   so the gap between any two neighbours is identical (2 × --sec-y). The inline
   styles only set the horizontal padding now; these own the vertical. */
:root { --sec-y: 52px; }
.home-rhythm > .sec,
.home-rhythm > .testi-sec {
  padding-top: var(--sec-y);
  padding-bottom: var(--sec-y);
}

@media (max-width: 900px) { :root { --sec-y: 42px; } }
@media (max-width: 560px) { :root { --sec-y: 34px; } }

/* Enquiry modal — a single form column by default; when a product is being
   enquired about, .has-product turns the card into a two-column split with a
   large product shot on the left and the form on the right. */
.enq-modal-card {
  position: relative; margin: auto; flex: none;
  width: 100%; max-width: 560px;
  border-radius: 4px;
  background: rgba(26,23,18,0.82);
  backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px);
  border: 1px solid rgba(216,184,114,0.24);
  box-shadow: 0 40px 90px -20px rgba(0,0,0,0.75);
  animation: riseIn 0.28s cubic-bezier(0.22,1,0.36,1);
  overflow: hidden;
  display: grid; grid-template-columns: 1fr;
}
.enq-modal-card.has-product { max-width: 940px; grid-template-columns: 0.85fr 1fr; }

.enq-close {
  position: absolute; top: 20px; right: 20px; z-index: 3;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(20,17,13,0.55); border: 1px solid rgba(255,255,255,0.14);
  cursor: pointer; font-size: 18px; line-height: 1; color: #B8AF9F;
  display: grid; place-items: center; padding: 0;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  transition: background 0.2s ease, color 0.2s ease;
}
.enq-close:hover { background: rgba(216,184,114,0.16); color: #F2EDE5; }

/* Left rail. display:none by default — JS flips it to flex for products. */
.enq-aside {
  display: none; flex-direction: column;
  background: rgba(255,255,255,0.03);
  border-right: 1px solid rgba(255,255,255,0.08);
}
.enq-aside-imgwrap {
  position: relative; background: #2A251E;
  aspect-ratio: 4/3; overflow: hidden; flex: none;
}
.enq-aside-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.enq-aside-body { padding: 24px 28px 28px; }
/* Product with no photo on file — the rail becomes a text-only panel, so it
   needs its own top padding and centres its content instead of hugging the
   (now absent) image. */
.enq-aside.no-img { justify-content: center; }
.enq-aside.no-img .enq-aside-body { padding-top: 32px; padding-bottom: 32px; }
.enq-aside-kicker { font-size: 10px; letter-spacing: 0.24em; color: #D8B872; }
.enq-aside-name {
  font-family: Marcellus, Georgia, serif; font-size: 21px; line-height: 1.25;
  color: #F2EDE5; margin-top: 12px; text-wrap: pretty;
}
.enq-aside-meta { font-size: 12.5px; color: #9A9284; margin-top: 8px; }
.enq-aside-points {
  list-style: none; margin: 20px 0 0; padding: 18px 0 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: grid; gap: 11px;
}
.enq-aside-points li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13px; color: #B8AF9F; text-wrap: pretty;
}
.enq-aside-points span { color: #A98243; font-size: 8px; flex: none; margin-top: 5px; }

.enq-right { min-width: 0; display: flex; flex-direction: column; }
.enq-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 24px; padding: 32px 32px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  padding-right: 66px;
}
.enq-form { padding: 26px 32px 30px; display: grid; gap: 16px; align-content: start; }
.enq-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

@media (max-width: 860px) {
  /* Stack the rail above the form and trim the photo so the form stays reachable. */
  .enq-modal-card.has-product { max-width: 560px; grid-template-columns: 1fr; }
  .enq-aside { border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .enq-aside-imgwrap { aspect-ratio: 16/9; }
  .enq-aside-body { padding: 20px 24px 22px; }
  .enq-aside-points { display: none; }
  .enq-row2 { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 560px) {
  .enq-aside-imgwrap { aspect-ratio: 3/2; }
  .enq-head { padding: 26px 24px 20px; padding-right: 62px; }
  .enq-form { padding: 22px 24px 26px; }
}

/* Enquiry modal fields — glass inputs, gold glow on focus */
.enq-field::placeholder { color: #6E6858; }
.enq-field:focus { border-color: #A98243 !important; background: rgba(255,255,255,0.06) !important; box-shadow: 0 0 0 3px rgba(169,130,67,0.18); }

/* Shop-by-category cards — tall photo card with text/icon centered over a
   bottom gradient scrim, gentle zoom on hover. */
/* Four per row on desktop; taller than square so the photo has presence. */
.cat-card { aspect-ratio: 4/5; min-height: 380px; }
.cat-card-img { position: absolute; inset: 0; transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.cat-card:hover .cat-card-img { transform: scale(1.06); }
.cat-card-scrim {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(10,9,7,0.9) 0%, rgba(10,9,7,0.55) 32%, rgba(10,9,7,0.12) 62%, rgba(10,9,7,0) 100%);
  transition: opacity 0.35s ease;
}
.cat-card:hover .cat-card-scrim { opacity: 0.96; }
.cat-card-txt { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 24px; }
@media (max-width: 900px) {
  .cat-card { aspect-ratio: 1/1; min-height: 0; }
}

/* Bestselling — horizontal scroll-snap slider, 4 cards per view on desktop,
   stepped by the prev/next arrows via scrollBy(). */
.bs-track { scrollbar-width: none; -ms-overflow-style: none; }
.bs-track::-webkit-scrollbar { display: none; }
/* Taller cards on the homepage slider than in the shop grid — four across a
   full-width row leaves each one narrow, so height carries the photo. */
.bs-track .pcard { aspect-ratio: 3/4.4; }
@media (max-width: 1024px) {
  .bs-track { grid-auto-columns: calc(50% - 16px) !important; }
}
@media (max-width: 640px) {
  .bs-track { grid-auto-columns: calc(84% - 12px) !important; gap: 16px !important; }
}

/* Product card — dark glassmorphism. Photo fills the top; the name sits in a
   floating glass chip straddling the photo/base seam and is always visible.
   On hover a taller glass panel (kicker, price, enquire) slides up from the
   base to reveal the rest — .pcard-reveal is translated off-screen at rest. */
.pcard {
  position: relative; aspect-ratio: 5/7; border-radius: 4px; overflow: hidden;
  background: #1A1712; border: 1px solid rgba(216,184,114,0.16);
  box-shadow: 0 20px 44px -22px rgba(0,0,0,0.6);
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.pcard:hover { border-color: rgba(216,184,114,0.4); box-shadow: 0 28px 58px -20px rgba(0,0,0,0.7); transform: translateY(-3px); }
.pcard-photo { position: absolute; inset: 0; }
/* The photo is a button so the whole image opens the enquiry form. Reset the
   native button chrome — it must look exactly like the plain div it replaced. */
.pcard-photo-btn {
  padding: 0; border: 0; background: none; font: inherit; color: inherit;
  display: block; width: 100%; cursor: pointer; overflow: hidden;
}
.pcard-photo-btn:focus-visible { outline: 2px solid #D8B872; outline-offset: -2px; }
.pcard-photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.7s cubic-bezier(0.22,1,0.36,1);
}
.pcard:hover .pcard-photo img { transform: scale(1.07); }
.pcard-photo::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,9,7,0) 0%, rgba(10,9,7,0.05) 55%, rgba(15,13,10,0.55) 78%, #1A1712 100%);
}
.pcard-badge {
  position: absolute; top: 14px; left: 14px; z-index: 3;
  padding: 6px 12px; background: rgba(21,19,15,0.72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(216,184,114,0.4); color: #D8B872;
  font-size: 9.5px; letter-spacing: 0.16em; border-radius: 999px;
}
.pcard-chip {
  position: absolute; left: 18px; right: 18px; bottom: 22px; z-index: 2;
  padding: 16px 20px; border-radius: 4px;
  background: rgba(23,20,16,0.55); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.1);
  transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.22,1,0.36,1);
}
.pcard-chip-name {
  font-family: Marcellus, Georgia, serif; font-size: 19px; line-height: 1.25; color: #FBF9F5;
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.pcard-chip-kicker { font-size: 11px; letter-spacing: 0.14em; color: rgba(251,249,245,0.68); margin-top: 4px; }
.pcard-reveal {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; padding: 22px 20px 24px;
  background: rgba(20,17,13,0.82); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid rgba(216,184,114,0.28);
  opacity: 0; transform: translateY(14px); pointer-events: none;
  transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.22,1,0.36,1);
}
.pcard:hover .pcard-reveal, .pcard:focus-within .pcard-reveal { opacity: 1; transform: translateY(0); pointer-events: auto; }
.pcard:hover .pcard-chip { opacity: 0; transform: translateY(8px); }
.pcard-reveal-name { font-family: Marcellus, Georgia, serif; font-size: 19px; color: #FBF9F5; display: block; }
.pcard-reveal-kicker { font-size: 11px; letter-spacing: 0.16em; color: #D8B872; margin-top: 4px; }
.pcard-reveal-row {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.12);
}
.pcard-price { font-size: 13.5px; color: rgba(251,249,245,0.72); }
.pcard-enq {
  padding: 11px 18px; background: none; color: #FBF9F5; border: 1px solid rgba(216,184,114,0.5);
  font-size: 11px; letter-spacing: 0.14em; cursor: pointer; white-space: nowrap; border-radius: 999px;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.pcard-enq:hover { background: #A98243; color: #15130F; border-color: #A98243; }
@media (max-width: 640px) {
  .pcard-reveal { opacity: 1; transform: none; pointer-events: auto; position: static; backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(20,17,13,0.92); border-top: 1px solid #3A3529; }
  .pcard-chip { display: none; }
  .pcard { aspect-ratio: auto; display: flex; flex-direction: column; }
  .pcard-photo { position: relative; aspect-ratio: 1/1; }
}
@media (max-width: 640px) {
  .cat-card { aspect-ratio: 4/3; }
}

/* Product detail — rich text from the admin editor, styled to match the
   legacy hand-written markup (paragraphs, feature lists, sub-headings). */
.pdp-rich { font-size: 16.5px; color: #B8AF9F; }
.pdp-rich p { margin: 0 0 20px; text-wrap: pretty; }
.pdp-rich p:last-child { margin-bottom: 0; }
.pdp-rich h3, .pdp-rich h4 { font-family: Marcellus, Georgia, serif; font-weight: 400; font-size: 22px; margin: 28px 0 14px; color: #F2EDE5; }
.pdp-rich a { color: #C9A469; }
.pdp-rich ol { margin: 0 0 20px; padding-left: 22px; }
.pdp-rich ul { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 16px; }
.pdp-rich ul:last-child, .pdp-rich ol:last-child { margin-bottom: 0; }
.pdp-rich ul li { display: grid; grid-template-columns: 14px 1fr; gap: 14px; }
.pdp-rich ul li::before { content: '—'; color: #A98243; }
.pdp-feat { font-size: 15px; color: #C2B9A9; }

/* FAQ accordion — bordered rows in the showroom style */
.faq-item { border-bottom: 1px solid #3A3529; }
.faq-item summary {
  display: flex; align-items: baseline; justify-content: space-between; gap: 24px;
  padding: 24px 0; cursor: pointer; list-style: none;
  font-family: Marcellus, Georgia, serif; font-size: 20px; line-height: 1.35; color: #F2EDE5;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: #D8B872; }
.faq-mark {
  flex: none; font-family: Jost, Helvetica, Arial, sans-serif; font-weight: 300;
  font-size: 22px; line-height: 1; color: #A98243; transition: transform 0.2s ease;
}
.faq-item[open] .faq-mark { transform: rotate(45deg); }

/* FAQ scroll-in — each row rises/fades as it enters the viewport, staggered
   by JS via --faq-delay. .faq-visible triggers the reveal (IntersectionObserver
   adds it once per row and stops observing). */
/* The hidden start state is scoped to .faq-anim, which main.js sets on <html>
   as soon as it runs. Without that guard any page that loads style.css but not
   main.js (get-a-quote.php builds its own chrome) would leave every row stuck
   at opacity:0 — invisible content with no script coming to reveal it. */
.faq-anim .faq-reveal {
  opacity: 0; transform: translateY(22px);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--faq-delay, 0s);
}
.faq-anim .faq-reveal.faq-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .faq-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Shop page — instant client-side category/filter switching (no reload) */
.shop-cat-btn {
  display: inline-block; padding: 10px 20px; font-size: 12.5px; letter-spacing: 0.06em;
  white-space: nowrap; cursor: pointer; background: none;
  border: 1px solid #3A3529; color: #9A9284; font-family: inherit;
  transition: border-color 0.2s ease, color 0.2s ease;
}
.shop-cat-btn:hover { border-color: #A98243; color: #F2EDE5; }
.shop-cat-btn.is-active { border: 1px solid #F2EDE5; color: #F2EDE5; }
.shop-item { transition: opacity 0.25s ease; }
.shop-item.is-hidden { display: none !important; }

/* Home hero — scroll-pinned carousel. The hero stays fixed under the header
   while the pin wrapper scrolls; JS maps scroll progress to the active slide.
   On mobile the pin is disabled and slides auto-advance on a timer. */
.hero-sticky { position: sticky; top: 92px; height: calc(100vh - 92px); min-height: 540px; }
.hero-txt, .hero-img { transition: transform 1.3s cubic-bezier(0.65, 0, 0.18, 1); will-change: transform; }
.g-hero.swapped .hero-txt { transform: translateX(100%); }
.g-hero.swapped .hero-img { transform: translateX(-100%); }
.hero-copy {
  opacity: 0; visibility: hidden; transform: translateY(22px);
  transition: opacity 0.9s cubic-bezier(0.33, 0, 0.2, 1), transform 0.9s cubic-bezier(0.33, 0, 0.2, 1), visibility 0s linear 0.9s;
}
.hero-copy.is-on {
  opacity: 1; visibility: visible; transform: none;
  transition: opacity 0.9s cubic-bezier(0.33, 0, 0.2, 1) 0.25s, transform 0.9s cubic-bezier(0.33, 0, 0.2, 1) 0.25s;
}
.hero-slide { opacity: 0; transition: opacity 1.1s ease; }
.hero-slide.is-on { opacity: 1; }
.hero-dot {
  width: 22px; height: 3px; border-radius: 999px; display: block;
  background: rgba(30,27,23,0.18); transition: background 0.6s ease;
}
.hero-dot.is-on { background: #A98243; }
@media (prefers-reduced-motion: reduce) {
  .hero-copy, .hero-slide, .hero-txt, .hero-img { transition: none !important; }
}

/* Testimonials — two rows scrolling in opposite directions */
.marquee-row { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.marquee-track { display: flex; width: max-content; gap: 24px; padding: 0 12px; will-change: transform; }
.marquee-left { animation: marqueeLeft 46s linear infinite; }
.marquee-right { animation: marqueeRight 46s linear infinite; }
.marquee-row:hover .marquee-track { animation-play-state: paused; }
.testi-card { flex: 0 0 340px; padding: 28px 26px 24px; }
@keyframes marqueeLeft { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes marqueeRight { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .marquee-track { animation: none !important; }
  .marquee-row { overflow-x: auto; }
}

/* Footer — traveling border light around the whole card perimeter + giant
   cropped wordmark below the card (JS sizes it to the card's exact width). */
@property --fbAngle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
.foot-border-glow {
  position: absolute; inset: 0; border-radius: inherit; padding: 2px;
  pointer-events: none; z-index: 1;
  background: conic-gradient(from var(--fbAngle),
    transparent 0deg, transparent 280deg,
    rgba(216,184,114,0.35) 320deg, #D8B872 348deg, #F5E6C4 357deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: footBorderSpin 8s linear infinite;
}
@keyframes footBorderSpin { to { --fbAngle: 360deg; } }
.bigname-text {
  display: inline-block; white-space: nowrap;
  font-family: Marcellus, Georgia, serif; font-weight: 400; text-transform: uppercase;
  font-size: clamp(36px, 7.4vw, 112px); line-height: 1; letter-spacing: 0.02em;
  margin-bottom: -0.26em;
  background: linear-gradient(180deg, rgba(245,239,228,0.85) 0%, rgba(245,239,228,0.38) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
@media (prefers-reduced-motion: reduce) {
  .foot-border-glow { animation: none !important; }
}

/* ---------- Minimal centred footer ----------
   Logo, one-paragraph blurb and a single contact line, then a hairline rule
   above the legal/credit lines. */
.foot-min { background: #15130F; color: #F2EDE5; }
.foot-min-in {
  max-width: 900px; margin: 0 auto; padding: 64px 24px 40px; text-align: center;
}
.foot-min-logo {
  height: 76px; width: auto; display: block; margin: 0 auto;
}
.foot-min-blurb {
  font-size: 15.5px; line-height: 1.75; color: #B8AF9F;
  margin: 26px 0 0; text-wrap: pretty;
}
.foot-min-contact {
  display: flex; align-items: center; justify-content: center;
  gap: 28px; flex-wrap: wrap; margin-top: 26px; font-size: 14.5px;
}
.foot-min-phone { color: #F2EDE5; font-weight: 500; text-decoration: none; }
.foot-min-phone:hover { color: #D8B872; }
.foot-min-addr { color: #B8AF9F; }
.foot-min-bar {
  border-top: 1px solid rgba(255,255,255,0.09);
  padding: 22px 24px 30px; text-align: center;
}
.foot-min-legal, .foot-min-credit {
  margin: 0; font-size: 13px; color: #8C8478; text-wrap: pretty;
}
.foot-min-credit { margin-top: 10px; }
.foot-min-legal a, .foot-min-credit a { color: #8C8478; text-decoration: none; }
.foot-min-credit a { color: #CFC7B8; font-weight: 500; }
.foot-min-legal a:hover, .foot-min-credit a:hover { color: #D8B872; }
.foot-min-dot { margin: 0 6px; color: #5A5348; }
@media (max-width: 640px) {
  .foot-min-in { padding: 44px 20px 32px; }
  .foot-min-logo { height: 58px; }
  .foot-min-blurb { font-size: 14.5px; margin-top: 20px; }
  .foot-min-blurb br { display: none; }
  .foot-min-contact { gap: 8px; flex-direction: column; margin-top: 20px; font-size: 14px; }
  .foot-min-bar { padding: 18px 20px 26px; }
  .foot-min-legal, .foot-min-credit { font-size: 12px; }
}

/* ============================================================
   About page — editorial hero, drafting-style edge profiles and
   a numbered process spine. All scoped to .ab- so no other page
   is affected; its responsive rules live at the end of this block.
   ============================================================ */

.ab-sec a:focus-visible,
.ab-sec button:focus-visible { outline: 2px solid #A98243; outline-offset: 3px; }

/* Hero — copy left, tall figure right */
.ab-hero { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 64px; align-items: stretch; }
.ab-hero > div:first-child { display: flex; flex-direction: column; justify-content: center; }
.ab-h1 {
  font-family: Marcellus, Georgia, serif; font-weight: 400;
  font-size: clamp(34px, 4.4vw, 58px); line-height: 1.07; letter-spacing: -0.015em;
  margin: 22px 0 0; text-wrap: pretty; color: #F2EDE5;
}
.ab-figure { margin: 0; display: flex; flex-direction: column; }
.ab-figimg { flex: 1; min-height: 380px; position: relative; background: #221F19; overflow: hidden; }
.ab-figimg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ab-figcap { display: flex; align-items: center; gap: 12px; margin-top: 14px; font-size: 11px; letter-spacing: 0.16em; color: #9A9284; }
.ab-figcap::before { content: ""; width: 26px; height: 1px; background: #A98243; flex: none; }

/* Measure rule — a templating tape, used as the divider under the hero */
.ab-rule {
  height: 12px; border-top: 1px solid #3A3529;
  background-image: repeating-linear-gradient(90deg, #4A4438 0 1px, transparent 1px 60px),
                    repeating-linear-gradient(90deg, #3A3529 0 1px, transparent 1px 12px);
  background-size: 100% 11px, 100% 6px;
  background-repeat: no-repeat, no-repeat;
}
.ab-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 26px; }
.ab-stat { padding: 4px 30px 0 0; }
.ab-stat + .ab-stat { border-left: 1px solid #3A3529; padding-left: 30px; }
.ab-stat-n { font-family: Marcellus, Georgia, serif; font-size: 42px; line-height: 1; letter-spacing: -0.01em; color: #F2EDE5; }
.ab-stat-l { font-size: 13px; color: #9A9284; margin-top: 12px; max-width: 200px; text-wrap: pretty; }

/* Story */
.ab-story { display: grid; grid-template-columns: 0.78fr 1.22fr; gap: 72px; align-items: start; }
.ab-quote {
  margin: 36px 0 0; padding: 6px 0 6px 26px; border-left: 2px solid #A98243;
  font-family: Marcellus, Georgia, serif; font-size: 23px; line-height: 1.42; color: #F2EDE5; text-wrap: pretty;
}

/* Edge profiles — sections through a slab edge, drawn on when scrolled to */
.ab-profiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ab-card { background: #1F1C17; border: 1px solid #3A3529; padding: 18px 22px 24px; transition: border-color 0.25s ease; }
.ab-card:hover { border-color: #A98243; }
.ab-draw { display: block; width: 100%; height: auto; }
.ab-edge { stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
.ab-edge.is-drawn { stroke-dashoffset: 0; }

/* Process — gold ticks on a continuous spine */
.ab-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 44px; border-top: 1px solid #3B362F; }
.ab-step { position: relative; padding-top: 32px; }
.ab-step::before { content: ""; position: absolute; top: -2px; left: 0; width: 28px; height: 3px; background: #A98243; }

/* Materials index */
.ab-mats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #3A3529; }
.ab-mat { padding: 30px 30px 34px 0; }
.ab-mat + .ab-mat { border-left: 1px solid #3A3529; padding-left: 30px; }

/* Showroom band */
.ab-visit { display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid #3A3529; background: #1F1C17; }
.ab-visit-img { position: relative; background: #221F19; min-height: 420px; }
.ab-visit-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

@media (prefers-reduced-motion: reduce) {
  .ab-edge { transition: none !important; stroke-dashoffset: 0 !important; }
}

@media (max-width: 1024px) {
  .ab-hero { gap: 44px; }
  .ab-story { gap: 44px; }
  .ab-profiles { grid-template-columns: repeat(2, 1fr); }
  .ab-steps { grid-template-columns: repeat(2, 1fr); gap: 40px; border-top: 0; }
  .ab-step { border-top: 1px solid #3B362F; }
  .ab-mats { grid-template-columns: repeat(2, 1fr); }
  .ab-mat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .ab-mat:nth-child(n + 3) { border-top: 1px solid #3A3529; }
}

@media (max-width: 900px) {
  .ab-hero { grid-template-columns: 1fr; gap: 40px; }
  .ab-figimg { flex: none; min-height: 0; aspect-ratio: 3 / 2; }
  .ab-story { grid-template-columns: 1fr; gap: 30px; }
  .ab-visit { grid-template-columns: 1fr; }
  .ab-visit-img { min-height: 300px; }
}

@media (max-width: 640px) {
  .ab-stats { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
  .ab-stat { padding-right: 18px; }
  .ab-stat:nth-child(odd) { border-left: 0; padding-left: 0; }
  .ab-steps { grid-template-columns: 1fr; gap: 32px; }
  .ab-mats { grid-template-columns: 1fr; }
  .ab-mat { padding-right: 0; }
  .ab-mat + .ab-mat { border-left: 0; padding-left: 0; border-top: 1px solid #3A3529; }
  .ab-quote { font-size: 20px; padding-left: 20px; }
}

@media (max-width: 560px) {
  .ab-profiles { grid-template-columns: 1fr; }
}

/* ============================================================
   Responsive layout — desktop (>1024px) is untouched;
   all overrides live inside media queries.
   ============================================================ */

/* Mobile menu (hidden on desktop via inline display:none) */
#mobile-menu button { font-family: inherit; }

@media (max-width: 1024px) {
  body { overflow-x: hidden; }
  .sec { padding-left: 32px !important; padding-right: 32px !important; }
  .g-cat { grid-template-columns: repeat(2, 1fr) !important; }
  .g-products { grid-template-columns: repeat(2, 1fr) !important; }
  .g-rel { grid-template-columns: repeat(2, 1fr) !important; }
  .g-faqsec { grid-template-columns: 1fr !important; gap: 40px !important; }
  .faq-side { position: static !important; }
  .g-materials { grid-template-columns: repeat(2, 1fr) !important; }
  .g-steps4 { grid-template-columns: repeat(2, 1fr) !important; }
  .g-foot { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
  .foot-col { border-left: 0 !important; padding-left: 0 !important; }
  .g-why { gap: 48px !important; }
  .g-pdp, .g-pdp2, .g-visit, .g-contact { gap: 48px !important; }
  .testi-card { flex: 0 0 300px; }
}

/* ---------- Homepage "About us" band ----------
   Image and copy each slide in from their own side as the band scrolls into
   view; the stat row then counts up in a short stagger. Everything is driven
   from .is-in, added once by the observer in main.js. */
.ab-home-img, .ab-home-txt {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.ab-home-img { transform: translateX(-38px) scale(0.97); }
.ab-home-txt { transform: translateX(38px); }
.ab-home.is-in .ab-home-img,
.ab-home.is-in .ab-home-txt { opacity: 1; transform: none; }

/* Slow ken-burns drift on the photo, and a gold frame that draws itself. */
.ab-home-photo { transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1); }
.ab-home-img:hover .ab-home-photo { transform: scale(1.05); }
.ab-home-frame {
  position: absolute; inset: 14px; border: 1px solid rgba(201,164,105,0.45);
  pointer-events: none; opacity: 0; transform: scale(1.04);
  transition: opacity 0.7s ease 0.35s, transform 0.7s ease 0.35s;
}
.ab-home.is-in .ab-home-frame { opacity: 1; transform: none; }

.ab-home-stat { opacity: 0; transform: translateY(14px); transition: opacity 0.6s ease, transform 0.6s ease; }
.ab-home.is-in .ab-home-stat { opacity: 1; transform: none; }
.ab-home.is-in .ab-home-stat:nth-child(1) { transition-delay: 0.45s; }
.ab-home.is-in .ab-home-stat:nth-child(2) { transition-delay: 0.58s; }
.ab-home.is-in .ab-home-stat:nth-child(3) { transition-delay: 0.71s; }

@media (prefers-reduced-motion: reduce) {
  .ab-home-img, .ab-home-txt, .ab-home-frame, .ab-home-stat {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}

@media (max-width: 900px) {
  .ab-home-grid { grid-template-columns: 1fr !important; gap: 36px !important; }
  .ab-home { padding-top: 64px !important; padding-bottom: 64px !important; }
  .ab-home-img { order: -1; }
  /* Slide both halves up on mobile instead of in from the sides. */
  .ab-home-img { transform: translateY(28px) scale(0.98); }
  .ab-home-txt { transform: translateY(28px); }
  .ab-home h2 { font-size: 30px !important; }
}
@media (max-width: 560px) {
  /* Stats stay on one row of three; scaled down so 1,400+ fits a narrow phone. */
  .ab-home-stats { grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; }
  .ab-home-stat .ux192 { font-size: 22px !important; }
  .ab-home-stat .ux193 { font-size: 11px !important; margin-top: 6px !important; }
  .ab-home h2 { font-size: 26px !important; }
  .ab-home-frame { inset: 10px; }
}


@media (max-width: 900px) {
  /* Navigation → hamburger */
  .main-nav, .head-right { display: none !important; }
  .menu-btn { display: flex !important; align-items: center; justify-content: center; }
  .nav-flex { height: 68px !important; gap: 12px !important; }
  .nav-logo { height: 34px !important; }

  /* Mobile menu → drawer sliding in from the right. The ID selector outranks
     the extracted .ux class (display:none) that hides it on desktop. */
  #mobile-menu {
    display: block; position: fixed; top: 0; right: 0; bottom: 0; z-index: 120;
    width: min(320px, 86vw); background: #15130F;
    border-top: 0; border-left: 1px solid #3A3529;
    box-shadow: -24px 0 60px rgba(0,0,0,0.45);
    transform: translateX(100%); visibility: hidden;
    transition: transform 0.35s cubic-bezier(0.33, 0, 0.2, 1), visibility 0s linear 0.35s;
    overflow-y: auto; overscroll-behavior: contain;
  }
  body.menu-open #mobile-menu {
    transform: none; visibility: visible;
    transition: transform 0.35s cubic-bezier(0.33, 0, 0.2, 1);
  }
  body.menu-open { overflow: hidden; }
  #menu-backdrop {
    display: block; position: fixed; inset: 0; z-index: 110;
    background: rgba(14,12,9,0.6);
    opacity: 0; visibility: hidden;
    transition: opacity 0.35s ease, visibility 0s linear 0.35s;
  }
  body.menu-open #menu-backdrop { opacity: 1; visibility: visible; transition: opacity 0.35s ease; }
  .menu-drawer-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid #2A2620;
  }
  .menu-drawer-head span { font-size: 11px; letter-spacing: 0.22em; color: #9A9284; }
  .menu-close { background: none; border: 0; padding: 8px; cursor: pointer; color: #F2EDE5; display: flex; }

  /* Home hero on mobile: same scroll-pinned carousel as desktop — the hero
     sticks under the 68px header and scroll progress drives the slide change.
     Stacked layout: image on top (42% of the pinned height), text below.
     Only the side-swap slide animation stays off (columns are stacked). */
  .hero-sticky { top: 68px !important; height: calc(100vh - 68px) !important; min-height: 620px !important; }
  @supports (height: 100dvh) { .hero-sticky { height: calc(100dvh - 68px) !important; } }
  .g-hero.swapped .hero-txt, .g-hero.swapped .hero-img { transform: none !important; }
  .g-hero { grid-template-columns: 1fr !important; grid-template-rows: minmax(0, 42%) minmax(0, 1fr) !important; min-height: 0 !important; }
  /* Banner order on mobile: image carousel first, headline text below it */
  .g-hero .hero-img { order: 1; }
  .g-hero .hero-txt { order: 2; }
  /* Text block gets the larger share: generous space above the heading and a
     compacted paragraph/buttons so nothing clips at the bottom of the pin. */
  .hero-txt { padding: 42px 32px 20px !important; max-width: none !important; overflow: hidden; }
  .hero-txt h1 { font-size: 30px !important; }
  .hero-copy p { font-size: 15px !important; margin-top: 14px !important; }
  .hero-txt .btn-row { margin-top: 20px !important; }
  .hero-txt .btn-row > * { padding: 14px 20px !important; }
  .hero-img { min-height: 0 !important; }
  /* No bottom gradient fade on mobile */
  #hero-end-fade { display: none !important; }

  /* Shop page header stacks */
  .page-head { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .page-head h1 { font-size: 34px !important; }

  /* Two-column layouts stack */
  .g-why, .g-pdp, .g-pdp2, .g-visit, .g-contact, .g-nts, .g-map { grid-template-columns: 1fr !important; }
  .g-why > div:last-child { order: -1; }
  .nts-img { min-height: 320px !important; }
  .nts-txt { padding: 36px 26px 44px !important; }
  .map-cell iframe { min-height: 340px !important; }

  /* Bestselling pinned carousel → image on top, text below */
  .bs-split { grid-template-columns: 1fr !important; grid-template-rows: 42vh 1fr; }
  .bs-img { order: -1; }
  .bs-txt { padding: 22px 22px 74px !important; justify-content: flex-start !important; }
  .bs-txt h3 { font-size: 24px !important; margin-top: 12px !important; }
  .bs-txt p { font-size: 14px !important; }

  /* Banner typography */
  .hero-sec h1 > span:first-child { font-size: 46px !important; }
  .hero-sec h1 > span:last-child { font-size: 25px !important; }
  .page-hero h1 { font-size: 36px !important; }
  .page-hero h1 > span:first-child { font-size: 36px !important; }
  .page-hero h1 > span:last-child { font-size: 21px !important; }
}

@media (max-width: 768px) {
  .hero-in { min-height: 560px !important; }
  .hero-sec h1 > span:first-child { font-size: 36px !important; }
  .hero-sec h1 > span:last-child { font-size: 21px !important; }
  .hero-sec p { font-size: 15.5px !important; }
  .g-cat { grid-template-columns: 1fr !important; }
  .g-steps3 { grid-template-columns: 1fr !important; }
  .g-faq { grid-template-columns: 1fr !important; }
  .page-hero-in { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .page-hero h1 { font-size: 31px !important; }
  .page-hero h1 > span:first-child { font-size: 31px !important; }
  .page-hero h1 > span:last-child { font-size: 19px !important; }
  .quote-in { padding-top: 72px !important; padding-bottom: 72px !important; }
  .quote-in p { font-size: 22px !important; }
  .g-pdp h1 { font-size: 30px !important; }
  .row-split { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .row-split p { text-align: left !important; }
  .row-split h2 { font-size: 28px !important; }
}

@media (max-width: 640px) {
  .sec { padding-left: 20px !important; padding-right: 20px !important; }
  .topbar-in { justify-content: center !important; }
  .topbar-in > div:last-child { display: none !important; }
  .g-products { grid-template-columns: 1fr !important; }
  .g-rel { grid-template-columns: 1fr !important; }
  .g-steps4 { grid-template-columns: 1fr !important; }
  .cta-in { padding-top: 66px !important; padding-bottom: 66px !important; flex-direction: column !important; align-items: flex-start !important; }
  .cta-sec h2 { font-size: 27px !important; }
  .foot-panel { border-radius: 16px !important; }
  .g-foot { grid-template-columns: 1fr !important; gap: 36px !important; }
  .pad-panel { padding: 28px 22px !important; }
  .spec-grid > div { grid-template-columns: 1fr !important; gap: 4px !important; }
  .g-ctcards { grid-template-columns: 1fr !important; }
  .testi-card { flex: 0 0 260px; padding: 24px 22px 20px !important; }
  /* Cards in a row all match the tallest quote — clamp the text so a single
     long testimonial cannot stretch the whole section on a phone. */
  .testi-card .ux137 {
    display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical;
    overflow: hidden; font-size: 14px !important; margin-top: 10px !important;
  }
  .testi-card .ux136 { font-size: 30px !important; }
  .testi-card .ux138 { margin-top: 16px !important; padding-top: 14px !important; }
  .hero-txt { padding: 48px 20px !important; }
  .hero-txt h1 { font-size: 28px !important; }
  .g-cat { grid-template-columns: 1fr !important; }
  .modal-ov { padding: 14px !important; }
  /* No pull-up overlap on mobile — it was hiding the button above the strip */
  .trust-strip { margin-top: 0 !important; padding: 24px 14px 0 !important; }
  .trust-strip-2 { padding-left: 14px !important; padding-right: 14px !important; }
}

/* Trust strip — five items share the bar with no horizontal scroll. Labels are
   allowed to wrap so each column shrinks to fit instead of forcing an overflow;
   below 900px the bar becomes a wrapping grid and the dividers drop out. */
.trust-strip-inner { flex-wrap: nowrap; }
.trust-item { min-width: 0; }
.trust-item > div { min-width: 0; }
.trust-item div { white-space: normal !important; }

@media (max-width: 1200px) {
  .trust-strip-inner { width: 94% !important; max-width: 94% !important; padding: 26px 8px !important; }
  .trust-item { padding: 0 18px !important; gap: 13px !important; }
  .trust-item svg { width: 30px; height: 30px; }
}
@media (max-width: 900px) {
  .trust-strip-inner {
    flex-wrap: wrap !important; width: 100% !important; max-width: 100% !important;
    justify-content: flex-start !important; padding: 20px 10px !important; row-gap: 4px;
  }
  .trust-item { flex: 0 0 50% !important; padding: 12px 14px !important; }
  .trust-div { display: none !important; }

  /* Footer trust badges: 2×2 grid with all four visible (was a horizontal
     scroller showing one at a time). Dividers drop out; labels may wrap. */
  .trust2-in {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 24px 16px !important; padding: 24px 18px !important;
    overflow: visible !important;
  }
  .trust2-div { display: none !important; }
  .trust2-item { padding: 0 !important; min-width: 0 !important; gap: 12px !important; }
  .trust2-item svg { width: 28px; height: 28px; flex: none; }
  .trust2-item .ux181 { white-space: normal !important; font-size: 14.5px !important; }
  .trust2-item .ux182 { white-space: normal !important; font-size: 12px !important; margin-top: 3px !important; }
}
@media (max-width: 560px) {
  .trust-item { flex: 0 0 100% !important; }
}

@media (max-width: 560px) {
  .g-feat { grid-template-columns: 1fr !important; }
  .g2-tight { grid-template-columns: 1fr !important; }
  .g-materials { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .btn-row { flex-direction: column !important; align-items: stretch !important; }
  .btn-row > a { justify-content: center !important; }
  .btn-row > button { justify-content: center !important; }
  .g-thumbs { grid-template-columns: repeat(4, 1fr) !important; }
  .hero-sec h1 > span:first-child { font-size: 31px !important; }
}

/* ---------- Thank-you panel (thank-you.php + lead-thank-you.php) ----------
   Full-screen confirmation, designed dark from the ground up: a brand rail
   with the "what happens next" sequence on the left, and the confirmation
   mark, headline, actions and auto-redirect countdown on the right. */
.ty-stage {
  position: relative; overflow: hidden;
  min-height: 100vh; min-height: 100dvh;
  display: grid; place-items: stretch;
  padding: 0; background: #15130F;
}
/* Soft copper bloom behind the panel — stops the large dark field reading flat. */
.ty-glow {
  position: absolute; top: -22%; right: -12%;
  width: min(760px, 78vw); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(169,130,67,0.20) 0%, rgba(169,130,67,0.07) 42%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.ty-panel { position: relative; z-index: 1; width: 100%; color: #F2EDE5; }
.ty-panel-in {
  display: grid; grid-template-columns: 0.78fr 1fr;
  min-height: 100vh; min-height: 100dvh;
}

.ty-close {
  position: absolute; top: 26px; right: 26px; z-index: 4;
  width: 42px; height: 42px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.14);
  color: #B8AF9F;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.ty-close:hover {
  background: rgba(169,130,67,0.18); border-color: #A98243;
  color: #F2EDE5; transform: rotate(90deg);
}
.ty-close svg { width: 16px; height: 16px; }

/* ----- Left rail: full-bleed photo, dark scrim, logo floating over it ----- */
.ty-left {
  position: relative; overflow: hidden;
  display: flex; align-items: flex-start;
  padding: 52px 44px 46px 52px;
  background: #221F19;
  border-right: 1px solid rgba(255,255,255,0.08);
}
.ty-left-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover; display: block;
  z-index: 0;
}
/* Scrim: heavier toward the right edge so the seam into the dark confirmation
   column reads as one surface rather than a photo butted against a panel. */
.ty-left-scrim {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(21,19,15,0.55) 0%, rgba(21,19,15,0.62) 55%, rgba(21,19,15,0.94) 100%),
    linear-gradient(180deg, rgba(21,19,15,0.62) 0%, rgba(21,19,15,0.28) 42%, rgba(21,19,15,0.72) 100%);
}
.ty-logo {
  position: relative; z-index: 2;
  height: 58px; width: auto; max-width: 100%; flex: none;
  display: block; object-fit: contain;
  filter: drop-shadow(0 2px 12px rgba(0,0,0,0.5));
}

/* ----- Right column ----- */
.ty-right {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 56px 60px 48px 56px;
}

/* Animated success mark — ring draws, then the tick. */
.ty-mark { width: 62px; height: 62px; flex: none; margin-bottom: 30px; }
.ty-mark svg { width: 100%; height: 100%; display: block; overflow: visible; }
.ty-mark-ring {
  fill: none; stroke: rgba(169,130,67,0.55); stroke-width: 1.5;
  stroke-dasharray: 151; stroke-dashoffset: 151;
  transform: rotate(-90deg); transform-origin: 50% 50%;
  animation: tyRing 0.7s cubic-bezier(0.22,1,0.36,1) 0.05s forwards;
}
.ty-mark-tick {
  fill: none; stroke: #D8B872; stroke-width: 2.4;
  stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 36; stroke-dashoffset: 36;
  animation: tyTick 0.45s cubic-bezier(0.22,1,0.36,1) 0.55s forwards;
}
@keyframes tyRing { to { stroke-dashoffset: 0; } }
@keyframes tyTick { to { stroke-dashoffset: 0; } }

.ty-kicker {
  display: flex; align-items: center; gap: 12px;
  font-size: 10.5px; letter-spacing: 0.26em; color: #D8B872; font-weight: 500;
}
.ty-kicker span { width: 30px; height: 1px; background: #A98243; display: block; flex: none; }

.ty-h1 {
  font-family: Marcellus, Georgia, serif; font-weight: 400;
  font-size: clamp(36px, 5vw, 68px); line-height: 1.02;
  letter-spacing: -0.02em; text-transform: uppercase;
  margin: 22px 0 0; color: #F2EDE5;
}
.ty-h1 span {
  display: block;
  opacity: 0; transform: translateY(18px);
  animation: tyRise 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay: calc(0.12s + var(--i, 0) * 0.09s);
}
@keyframes tyRise { to { opacity: 1; transform: none; } }

.ty-body {
  font-size: 15.5px; line-height: 1.75; color: #B8AF9F;
  margin: 24px 0 0; max-width: 470px; text-wrap: pretty;
}

.ty-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 34px; }
.ty-btn-gold, .ty-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 30px; border-radius: 4px;
  font-size: 11px; letter-spacing: 0.16em; white-space: nowrap;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.ty-btn-gold { background: #A98243; color: #FFFFFF; border: 1px solid #A98243; }
.ty-btn-gold:hover { background: transparent; color: #C9A469; }
.ty-btn-gold svg { width: 15px; height: 15px; transition: transform 0.25s ease; }
.ty-btn-gold:hover svg { transform: translateX(3px); }
.ty-btn-ghost { background: none; color: #F2EDE5; border: 1px solid #4A4438; }
.ty-btn-ghost:hover { border-color: #F2EDE5; background: rgba(255,255,255,0.05); color: #F2EDE5; }

/* ----- Countdown ----- */
.ty-timer {
  display: flex; align-items: center; gap: 14px;
  margin-top: auto; padding-top: 40px;
  font-size: 13px; color: #9A9284;
}
.ty-timer.is-stopped .ty-timer-ring { opacity: 0.3; }
.ty-timer-ring { position: relative; width: 40px; height: 40px; flex: none; display: block; }
.ty-timer-ring svg { width: 40px; height: 40px; transform: rotate(-90deg); display: block; }
.ty-ring-bg { fill: none; stroke: rgba(255,255,255,0.12); stroke-width: 2; }
.ty-ring-fg {
  fill: none; stroke: #A98243; stroke-width: 2; stroke-linecap: round;
  transition: stroke-dashoffset 0.1s linear;
}
.ty-timer-ring b {
  position: absolute; inset: 0; display: grid; place-items: center;
  font-size: 12.5px; font-weight: 500; color: #F2EDE5;
}
.ty-timer-txt { display: flex; flex-direction: column; gap: 3px; }
.ty-stay {
  background: none; border: 0; padding: 0; cursor: pointer;
  font-size: 12.5px; color: #C9A469; text-decoration: underline;
  text-underline-offset: 3px; align-self: flex-start; text-align: left;
}
.ty-stay:hover { color: #F2EDE5; }

/* ----- Responsive ----- */
@media (max-width: 1000px) {
  .ty-left { padding: 40px 32px 38px 36px; }
  .ty-right { padding: 44px 36px 40px 36px; }
}
@media (max-width: 860px) {
  /* Photo becomes a banner above the confirmation. It needs an explicit height
     — stacked, the rail would otherwise shrink to just the logo. */
  .ty-panel-in { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .ty-left {
    border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.08);
    padding: 28px 26px; min-height: 300px; align-items: center;
  }
  .ty-left-scrim {
    background:
      linear-gradient(180deg, rgba(21,19,15,0.48) 0%, rgba(21,19,15,0.42) 45%, rgba(21,19,15,0.92) 100%);
  }
  .ty-right { padding: 40px 26px 34px; }
  .ty-logo { height: 46px; }
  .ty-glow { top: -14%; right: -28%; width: min(560px, 96vw); }
  .ty-timer { padding-top: 32px; }
}
@media (max-width: 560px) {
  .ty-close { top: 14px; right: 14px; width: 36px; height: 36px; }
  .ty-right { padding: 34px 18px 28px; }
  .ty-left { padding: 22px 18px; min-height: 250px; }
  .ty-logo { height: 40px; }
  .ty-mark { width: 52px; height: 52px; margin-bottom: 24px; }
  .ty-h1 { font-size: clamp(30px, 8.6vw, 46px); }
  .ty-body { font-size: 15px; }
  .ty-actions { width: 100%; }
  .ty-actions > * { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ty-close:hover, .ty-btn-gold:hover svg { transform: none; }
  .ty-mark-ring, .ty-mark-tick { animation: none; stroke-dashoffset: 0; }
  .ty-h1 span { animation: none; opacity: 1; transform: none; }
  .ty-ring-fg { transition: none; }
}

/* ------------------------------------------------------------------
   Extracted inline styles (was style="" attributes in templates).
   Selector repeated x4 => specificity (0,4,0): beats every non-
   !important rule exactly as inline styles did; !important rules
   still win exactly as they did over inline styles. Do not reorder.
   ------------------------------------------------------------------ */
.ux1.ux1.ux1.ux1 { max-width:1360px;margin:0 auto;padding:40px 48px 0; }
.ux2.ux2.ux2.ux2 { font-size:12.5px;color:#9A9284;letter-spacing:0.04em; }
.ux3.ux3.ux3.ux3 { background:none;border:0;padding:0;cursor:pointer;color:#9A9284; }
.ux4.ux4.ux4.ux4 { margin:0 10px; }
.ux5.ux5.ux5.ux5 { max-width:1360px;margin:0 auto;padding:36px 48px 0; }
.ux6.ux6.ux6.ux6 { display:flex;align-items:center;gap:14px;font-size:10.5px;letter-spacing:0.26em;color:#C9BFAE; }
.ux7.ux7.ux7.ux7 { width:36px;height:1px;background:#A98243;display:block; }
.ux8.ux8.ux8.ux8 { font-size:17.5px;color:#B8AF9F;margin:24px 0 0;max-width:560px;line-height:1.65;text-wrap:pretty; }
.ux9.ux9.ux9.ux9 { display:flex;gap:14px;margin-top:36px; }
.ux10.ux10.ux10.ux10 { padding:17px 32px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux11.ux11.ux11.ux11 { padding:17px 32px;background:none;color:#F2EDE5;border:1px solid #4A4438;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux12.ux12.ux12.ux12 { margin-top:60px; }
.ux13.ux13.ux13.ux13 { max-width:1360px;margin:0 auto;padding:92px 48px 84px; }
.ux14.ux14.ux14.ux14 { font-size:10.5px;letter-spacing:0.26em;color:#C9BFAE; }
.ux15.ux15.ux15.ux15 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:36px;line-height:1.15;margin:16px 0 0;letter-spacing:-0.01em;text-wrap:pretty; }
.ux16.ux16.ux16.ux16 { font-size:16.5px;color:#B8AF9F;margin:0 0 20px;line-height:1.75;text-wrap:pretty; }
.ux17.ux17.ux17.ux17 { font-size:16.5px;color:#B8AF9F;margin:0;line-height:1.75;text-wrap:pretty; }
.ux18.ux18.ux18.ux18 { background:#221F19;padding:84px 48px 92px;border-top:1px solid #3A3529;border-bottom:1px solid #3A3529; }
.ux19.ux19.ux19.ux19 { max-width:1360px;margin:0 auto; }
.ux20.ux20.ux20.ux20 { display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap; }
.ux21.ux21.ux21.ux21 { max-width:620px; }
.ux22.ux22.ux22.ux22 { font-size:16px;color:#B8AF9F;margin:16px 0 0;text-wrap:pretty; }
.ux23.ux23.ux23.ux23 { font-size:13px;color:#9A9284;margin:0;max-width:250px;text-wrap:pretty; }
.ux24.ux24.ux24.ux24 { margin-top:44px; }
.ux25.ux25.ux25.ux25 { transition-delay:0s; }
.ux26.ux26.ux26.ux26 { font-family:Marcellus,Georgia,serif;font-size:19px;margin-top:14px; }
.ux27.ux27.ux27.ux27 { font-size:14px;color:#B8AF9F;margin:8px 0 0;line-height:1.6;text-wrap:pretty; }
.ux28.ux28.ux28.ux28 { transition-delay:0.1s; }
.ux29.ux29.ux29.ux29 { transition-delay:0.2s; }
.ux30.ux30.ux30.ux30 { transition-delay:0.3s; }
.ux31.ux31.ux31.ux31 { background:#23201C;color:#F2EDE5;padding:96px 48px; }
.ux32.ux32.ux32.ux32 { max-width:760px; }
.ux33.ux33.ux33.ux33 { font-size:10.5px;letter-spacing:0.26em;color:#A98243; }
.ux34.ux34.ux34.ux34 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:36px;line-height:1.2;margin:18px 0 0;color:#F5EFE4;letter-spacing:-0.01em;text-wrap:pretty; }
.ux35.ux35.ux35.ux35 { margin-top:64px; }
.ux36.ux36.ux36.ux36 { font-size:11px;letter-spacing:0.22em;color:#A98243; }
.ux37.ux37.ux37.ux37 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:21px;margin:12px 0 10px;color:#F5EFE4; }
.ux38.ux38.ux38.ux38 { font-size:14.5px;color:#B3AA9C;margin:0;line-height:1.65; }
.ux39.ux39.ux39.ux39 { display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:26px; }
.ux40.ux40.ux40.ux40 { background:none;border:0;padding:0;cursor:pointer;font-size:12px;letter-spacing:0.16em;color:#8A6A33;white-space:nowrap; }
.ux41.ux41.ux41.ux41 { font-family:Marcellus,Georgia,serif;font-size:23px; }
.ux42.ux42.ux42.ux42 { font-size:10.5px;letter-spacing:0.18em;color:#C9BFAE;margin-top:10px; }
.ux43.ux43.ux43.ux43 { font-size:14.5px;color:#B8AF9F;margin:14px 0 0;line-height:1.65;text-wrap:pretty; }
.ux44.ux44.ux44.ux44 { max-width:1360px;margin:0 auto;padding:0 48px 104px; }
.ux45.ux45.ux45.ux45 { padding:52px 52px 54px;display:flex;flex-direction:column;justify-content:center; }
.ux46.ux46.ux46.ux46 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;margin:16px 0 0;letter-spacing:-0.01em;text-wrap:pretty; }
.ux47.ux47.ux47.ux47 { font-size:15.5px;color:#B8AF9F;margin:16px 0 0;line-height:1.7;text-wrap:pretty; }
.ux48.ux48.ux48.ux48 { display:grid;gap:16px;margin-top:30px;padding-top:26px;border-top:1px solid #3A3529;font-size:14.5px;color:#F2EDE5;line-height:1.6; }
.ux49.ux49.ux49.ux49 { font-size:10.5px;letter-spacing:0.18em;color:#9A9284; }
.ux50.ux50.ux50.ux50 { margin-top:6px; }
.ux51.ux51.ux51.ux51 { display:flex;align-items:center;gap:16px;margin-top:32px;flex-wrap:wrap; }
.ux52.ux52.ux52.ux52 { padding:17px 30px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux53.ux53.ux53.ux53 { font-size:13.5px; }
/* Shop header + category chips. Bottom padding stays 0 — the product grid
   section below supplies the gap, so the two never stack. */
.ux54.ux54.ux54.ux54 { max-width:1360px;margin:0 auto;padding:44px 48px 0; }
.ux55.ux55.ux55.ux55 { margin-top:34px;padding-bottom:34px;border-bottom:1px solid #3A3529; }
.ux56.ux56.ux56.ux56 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:46px;margin:18px 0 0;letter-spacing:-0.01em;max-width:820px;text-wrap:pretty; }
.ux57.ux57.ux57.ux57 { font-size:17px;color:#B8AF9F;margin:18px 0 0;max-width:680px;text-wrap:pretty; }
.ux58.ux58.ux58.ux58 { max-width:1360px;margin:0 auto;padding:56px 48px 0;display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start; }
.ux59.ux59.ux59.ux59 { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.ux60.ux60.ux60.ux60 { background:#1F1C17;border:1px solid #3A3529;padding:26px 24px; }
.ux61.ux61.ux61.ux61 { width:38px;height:38px;border-radius:50%;background:#221F19;display:grid;place-items:center;color:#A98243; }
.ux62.ux62.ux62.ux62 { font-size:10.5px;letter-spacing:0.18em;color:#9A9284;margin-top:18px; }
.ux63.ux63.ux63.ux63 { font-size:14.5px;color:#F2EDE5;margin-top:8px;line-height:1.6; }
.ux64.ux64.ux64.ux64 { display:inline-block;margin-top:12px;font-size:13px; }
.ux65.ux65.ux65.ux65 { font-size:14.5px;margin-top:8px;line-height:1.6; }
.ux66.ux66.ux66.ux66 { font-size:14.5px;margin-top:8px;line-height:1.6;overflow-wrap:anywhere; }
.ux67.ux67.ux67.ux67 { margin-top:16px;background:#221F19;padding:30px 32px; }
.ux68.ux68.ux68.ux68 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:21px;margin:0 0 10px; }
.ux69.ux69.ux69.ux69 { font-size:15px;color:#B8AF9F;margin:0; }
.ux70.ux70.ux70.ux70 { border:1px solid #3A3529;background:#1F1C17;padding:38px 40px 42px; }
.ux71.ux71.ux71.ux71 { display:none;text-align:center;padding:36px 0 30px; }
.ux72.ux72.ux72.ux72 { width:52px;height:52px;border:1px solid #A98243;border-radius:50%;margin:0 auto;display:grid;place-items:center;color:#A98243;font-family:Marcellus,Georgia,serif;font-size:20px; }
.ux73.ux73.ux73.ux73 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:24px;margin:22px 0 10px; }
.ux74.ux74.ux74.ux74 { font-size:15px;color:#B8AF9F;margin:0 auto;max-width:360px;text-wrap:pretty; }
.ux75.ux75.ux75.ux75 { display:grid;gap:20px; }
.ux76.ux76.ux76.ux76 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:26px;margin:0; }
.ux77.ux77.ux77.ux77 { display:grid;gap:8px; }
.ux78.ux78.ux78.ux78 { font-size:11px;letter-spacing:0.16em;color:#9A9284; }
.ux79.ux79.ux79.ux79 { color:#A6412F; }
.ux80.ux80.ux80.ux80 { padding:14px 16px;background:#1F1C17;border:1px solid #4A4438;font-size:15px;outline:none;width:100%; }
.ux81.ux81.ux81.ux81 { display:none;font-size:12.5px;color:#A6412F; }
.ux82.ux82.ux82.ux82 { color:#9A9284; }
.ux83.ux83.ux83.ux83 { padding:14px 16px;background:#1F1C17;border:1px solid #4A4438;font-size:15px;outline:none;width:100%;resize:vertical;font-family:inherit; }
.ux84.ux84.ux84.ux84 { display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#9A9284;cursor:pointer; }
.ux85.ux85.ux85.ux85 { accent-color:#A98243;margin:4px 0 0;width:auto; }
.ux86.ux86.ux86.ux86 { display:none;font-size:12.5px;color:#A6412F;margin-top:-10px; }
.ux87.ux87.ux87.ux87 { padding:17px 24px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer;width:100%; }
.ux88.ux88.ux88.ux88 { font-size:12px;color:#9A9284;margin:0; }
.ux89.ux89.ux89.ux89 { max-width:1360px;margin:0 auto;padding:16px 48px 104px; }
.ux90.ux90.ux90.ux90 { border:1px solid #3A3529;background:#221F19;overflow:hidden; }
.ux91.ux91.ux91.ux91 { display:block;border:0;filter:grayscale(0.15) contrast(1.02); }
.ux92.ux92.ux92.ux92 { background:#1E1B17;color:#C9BFAE;font-size:11.5px;letter-spacing:0.14em;text-align:center;padding:9px 20px; }
.ux93.ux93.ux93.ux93 { background:rgba(21,19,15,0.94);border-bottom:1px solid #3A3529; }
.ux94.ux94.ux94.ux94 { max-width:1360px;margin:0 auto;padding:0 48px;height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.ux95.ux95.ux95.ux95 { height:64px;width:auto;display:block; }
.ux96.ux96.ux96.ux96 { display:flex;align-items:center;gap:12px; }
.ux97.ux97.ux97.ux97 { padding:12px 20px;background:none;color:#F2EDE5;border:1px solid #4A4438;font-size:11px;letter-spacing:0.14em;white-space:nowrap; }
.ux98.ux98.ux98.ux98 { padding:13px 22px;background:#A98243;color:#15130F;border:0;font-size:11px;letter-spacing:0.14em;white-space:nowrap; }
.ux99.ux99.ux99.ux99 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:52px;line-height:1.08;margin:22px 0 0;letter-spacing:-0.015em;text-wrap:pretty; }
.ux100.ux100.ux100.ux100 { font-size:17px;color:#B8AF9F;margin:22px 0 0;max-width:520px;text-wrap:pretty; }
.ux101.ux101.ux101.ux101 { display:flex;gap:14px;margin-top:32px; }
.ux102.ux102.ux102.ux102 { padding:17px 32px;background:none;color:#F2EDE5;border:1px solid #4A4438;font-size:11.5px;letter-spacing:0.16em;display:inline-flex;align-items:center; }
.ux103.ux103.ux103.ux103 { display:grid;gap:16px;margin-top:36px;padding-top:30px;border-top:1px solid #3A3529; }
.ux104.ux104.ux104.ux104 { display:flex;align-items:center;gap:16px;margin-top:36px;padding:20px 24px;background:#221F19; }
.ux105.ux105.ux105.ux105 { width:44px;height:44px;border-radius:50%;background:#A98243;color:#15130F;display:grid;place-items:center;flex:none; }
.ux106.ux106.ux106.ux106 { font-size:11px;letter-spacing:0.18em;color:#9A9284; }
.ux107.ux107.ux107.ux107 { font-family:Marcellus,Georgia,serif;font-size:18px;color:#F2EDE5;overflow-wrap:anywhere; }
.ux108.ux108.ux108.ux108 { font-size:10.5px;letter-spacing:0.24em;color:#C9BFAE; }
.ux109.ux109.ux109.ux109 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:27px;margin:12px 0 0; }
.ux110.ux110.ux110.ux110 { font-size:14px;color:#9A9284;margin:10px 0 0; }
.ux111.ux111.ux111.ux111 { display:grid;gap:18px;margin-top:26px; }
.ux112.ux112.ux112.ux112 { display:flex;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.6;color:#9A9284;cursor:pointer; }
.ux113.ux113.ux113.ux113 { accent-color:#A98243;margin:4px 0 0;width:auto;flex:none; }
.ux114.ux114.ux114.ux114 { color:#D9836E; }
.ux115.ux115.ux115.ux115 { margin-top:-8px; }
.ux116.ux116.ux116.ux116 { text-align:center; }
.ux117.ux117.ux117.ux117 { font-size:12px;color:#9A9284;margin:0;text-align:center;text-wrap:pretty; }
.ux118.ux118.ux118.ux118 { color:#C9A469; }
.ux119.ux119.ux119.ux119 { background:#23201C;color:#F2EDE5;padding:72px 0 80px; }
.ux120.ux120.ux120.ux120 { max-width:1360px;margin:0 auto;padding:0 48px 48px;text-align:center; }
.ux121.ux121.ux121.ux121 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:32px;margin:16px 0 0;color:#F5EFE4; }
.ux122.ux122.ux122.ux122 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:20px;margin:14px 0 10px;color:#F5EFE4; }
.ux123.ux123.ux123.ux123 { font-size:14.5px;color:#B3AA9C;margin:0; }
.ux124.ux124.ux124.ux124 { text-align:center;margin-top:56px; }
.ux125.ux125.ux125.ux125 { padding:17px 32px;background:#A98243;color:#FFFFFF;border:0;font-size:11.5px;letter-spacing:0.16em; }
.ux126.ux126.ux126.ux126 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:34px;line-height:1.15;margin:16px 0 0;letter-spacing:-0.01em;text-wrap:pretty; }
.ux127.ux127.ux127.ux127 { font-family:Marcellus,Georgia,serif;font-size:22px; }
.ux128.ux128.ux128.ux128 { font-size:10.5px;letter-spacing:0.18em;color:#C9BFAE;margin-top:9px; }
.ux129.ux129.ux129.ux129 { font-size:14px;color:#B8AF9F;margin:12px 0 0;line-height:1.6; }
.ux130.ux130.ux130.ux130 { display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;flex-wrap:wrap; }
.ux131.ux131.ux131.ux131 { font-size:14px;color:#9A9284;margin:0; }
.ux132.ux132.ux132.ux132 { background:none;border:0;padding:0;font-size:12px;letter-spacing:0.14em;color:#8A6A33;white-space:nowrap; }
.ux133.ux133.ux133.ux133 { background:#221F19;border-top:1px solid #3A3529;border-bottom:1px solid #3A3529; }
.ux134.ux134.ux134.ux134 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:34px;margin:16px 0 0;letter-spacing:-0.01em; }
.ux135.ux135.ux135.ux135 { background:#1F1C17;border:1px solid #3A3529;padding:28px 26px 24px; }
.ux136.ux136.ux136.ux136 { font-family:Marcellus,Georgia,serif;font-size:38px;line-height:0.6;color:#A98243; }
.ux137.ux137.ux137.ux137 { font-size:15px;color:#B8AF9F;margin:12px 0 0;line-height:1.6;text-wrap:pretty; }
.ux138.ux138.ux138.ux138 { display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #3A3529; }
.ux139.ux139.ux139.ux139 { width:38px;height:38px;border-radius:50%;background:linear-gradient(140deg,#D6B577,#A98243 55%,#C9A469);display:flex;align-items:center;justify-content:center;font-family:Marcellus,Georgia,serif;font-size:13px;color:#15130F;flex:none; }
.ux140.ux140.ux140.ux140 { min-width:0; }
.ux141.ux141.ux141.ux141 { font-family:Marcellus,Georgia,serif;font-size:14.5px;color:#F2EDE5; }
.ux142.ux142.ux142.ux142 { font-size:11.5px;color:#9A9284;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.ux143.ux143.ux143.ux143 { margin-left:auto;font-size:11px;letter-spacing:0.14em;color:#A98243;flex:none; }
.ux144.ux144.ux144.ux144 { max-width:900px; }
.ux145.ux145.ux145.ux145 { border-top:1px solid #3A3529;margin-top:36px; }
.ux146.ux146.ux146.ux146 { font-size:15.5px;color:#B8AF9F;margin:0;padding:0 40px 26px 0;text-wrap:pretty; }
.ux147.ux147.ux147.ux147 { background:#23201C; }
.ux148.ux148.ux148.ux148 { display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-top:64px;padding-bottom:64px; }
.ux149.ux149.ux149.ux149 { max-width:560px; }
.ux150.ux150.ux150.ux150 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:30px;line-height:1.25;margin:14px 0 0;color:#F5EFE4;text-wrap:pretty; }
.ux151.ux151.ux151.ux151 { font-size:15px;color:#B3AA9C;margin:12px 0 0; }
.ux152.ux152.ux152.ux152 { display:flex;align-items:center;gap:16px;flex-wrap:wrap; }
.ux153.ux153.ux153.ux153 { padding:17px 32px;background:#A98243;color:#FFFFFF;border:0;font-size:11.5px;letter-spacing:0.16em;cursor:pointer; }
.ux154.ux154.ux154.ux154 { padding:16px 30px;background:none;color:#F5EFE4;border:1px solid rgba(216,184,114,0.5);font-size:11.5px;letter-spacing:0.16em;white-space:nowrap; }
.ux155.ux155.ux155.ux155 { background:#15130F;color:#FFFFFF;padding:0; }
.ux156.ux156.ux156.ux156 { height:58px;width:auto;display:block; }
.ux157.ux157.ux157.ux157 { font-size:13.5px;color:#CFC7B8;margin:20px 0 0;max-width:300px;line-height:1.7; }
.ux158.ux158.ux158.ux158 { font-size:10.5px;letter-spacing:0.22em;color:#D8B872; }
.ux159.ux159.ux159.ux159 { font-size:13.5px;color:#CFC7B8;margin-top:18px;line-height:1.8; }
.ux160.ux160.ux160.ux160 { display:grid;gap:10px;font-size:13.5px;margin-top:18px; }
.ux161.ux161.ux161.ux161 { color:#FFFFFF;overflow-wrap:anywhere; }
.ux162.ux162.ux162.ux162 { color:#FFFFFF; }
.ux163.ux163.ux163.ux163 { border-top:1px solid rgba(255,255,255,0.1);padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;letter-spacing:0.08em;color:#B3AA9C; }
.ux164.ux164.ux164.ux164 { display:flex;gap:18px; }
.ux165.ux165.ux165.ux165 { color:#B3AA9C; }
.ux166.ux166.ux166.ux166 { position:relative;height:440vh; }
.ux167.ux167.ux167.ux167 { display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #3A3529;overflow:hidden; }
.ux168.ux168.ux168.ux168 { position:relative;z-index:2;background:#15130F;padding:48px 56px;width:100%;display:flex;flex-direction:column;justify-content:center; }
.ux169.ux169.ux169.ux169 { width:36px;height:1px;background:#CDBB98;display:block; }
.ux170.ux170.ux170.ux170 { display:grid;margin-top:26px; }
.ux171.ux171.ux171.ux171 { grid-area:1/1; }
.ux172.ux172.ux172.ux172 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:56px;line-height:1.08;margin:0;letter-spacing:-0.01em;text-wrap:pretty;color:#F2EDE5; }
.ux173.ux173.ux173.ux173 { font-size:17px;color:#B8AF9F;margin:24px 0 0;max-width:480px;text-wrap:pretty; }
.ux174.ux174.ux174.ux174 { position:relative;background:#221F19;overflow:hidden; }
.ux175.ux175.ux175.ux175 { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block; }
.ux176.ux176.ux176.ux176 { position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:9px; }
.ux177.ux177.ux177.ux177 { position:absolute;left:0;right:0;bottom:-1px;height:260px;background:linear-gradient(180deg,rgba(21,19,15,0) 0%,rgba(21,19,15,0.35) 28%,rgba(21,19,15,0.85) 52%,#15130F 68%,#15130F 100%);pointer-events:none;z-index:3;opacity:0;transition:opacity 0.25s ease; }
.ux178.ux178.ux178.ux178 { position:relative;z-index:4;margin-top:-46px;padding:0 20px;display:flex;justify-content:center; }
.ux179.ux179.ux179.ux179 { display:flex;align-items:stretch;width:85%;max-width:85%;background:rgba(23,20,16,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(216,184,114,0.22);border-radius:14px;box-shadow:0 30px 70px -20px rgba(0,0,0,0.65);padding:32px 12px;justify-content:space-between; }
.ux180.ux180.ux180.ux180 { display:flex;align-items:center;gap:18px;padding:0 30px;flex:1; }
.ux181.ux181.ux181.ux181 { font-size:16px;letter-spacing:0.03em;color:#F2EDE5;white-space:nowrap; }
.ux182.ux182.ux182.ux182 { font-size:13.5px;color:#9A9284;margin-top:5px;white-space:nowrap; }
.ux183.ux183.ux183.ux183 { width:1px;background:rgba(216,184,114,0.18);flex:none; }
.ux184.ux184.ux184.ux184 { max-width:1360px;margin:0 auto;padding-left:48px;padding-right:48px;background:#15130F; }
.ux185.ux185.ux185.ux185 { display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:center; }
.ux186.ux186.ux186.ux186 { position:relative;overflow:hidden;background:#1F1C17; }
.ux187.ux187.ux187.ux187 { width:100%;height:100%;min-height:420px;object-fit:cover;display:block; }
.ux188.ux188.ux188.ux188 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:40px;line-height:1.15;margin:18px 0 0;letter-spacing:-0.01em;text-wrap:pretty;color:#F2EDE5; }
.ux189.ux189.ux189.ux189 { font-size:15.5px;color:#B8AF9F;margin:22px 0 0;line-height:1.75;text-wrap:pretty; }
.ux190.ux190.ux190.ux190 { font-size:15.5px;color:#B8AF9F;margin:16px 0 0;line-height:1.75;text-wrap:pretty; }
.ux191.ux191.ux191.ux191 { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px;padding-top:32px;border-top:1px solid #3A3529; }
.ux192.ux192.ux192.ux192 { font-family:Marcellus,Georgia,serif;font-size:32px;line-height:1;color:#C9A469; }
.ux193.ux193.ux193.ux193 { font-size:12.5px;color:#9A9284;margin-top:8px;text-wrap:pretty; }
.ux194.ux194.ux194.ux194 { padding:16px 30px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux195.ux195.ux195.ux195 { padding:16px 30px;background:none;color:#F2EDE5;border:1px solid #4A4438;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux196.ux196.ux196.ux196 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:34px;margin:0;letter-spacing:0.04em;color:#F2EDE5;text-transform:uppercase; }
.ux197.ux197.ux197.ux197 { display:block;width:64px;height:2px;background:#A98243;margin:18px auto 0; }
.ux198.ux198.ux198.ux198 { display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px; }
.ux199.ux199.ux199.ux199 { background:none;border:0;padding:0;cursor:pointer;text-align:left;display:block;position:relative;overflow:hidden;border-radius:4px; }
.ux200.ux200.ux200.ux200 { width:100%;height:100%;object-fit:cover;display:block; }
.ux201.ux201.ux201.ux201 { text-align:center;left:0;right:0;bottom:0;padding:0 16px 30px;display:flex;flex-direction:column;align-items:center; }
.ux202.ux202.ux202.ux202 { width:44px;height:44px;border-radius:50%;border:1px solid rgba(216,184,114,0.55);display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:rgba(21,19,15,0.35); }
.ux203.ux203.ux203.ux203 { font-family:Marcellus,Georgia,serif;font-size:18px;letter-spacing:0.06em;color:#FBF9F5;text-transform:uppercase; }
.ux204.ux204.ux204.ux204 { margin-top:10px;font-size:10.5px;letter-spacing:0.18em;color:#D8B872;display:flex;align-items:center;gap:6px; }
.ux205.ux205.ux205.ux205 { display:grid;grid-template-columns:1.15fr 1fr;gap:0;align-items:stretch;background:#221F19; }
.ux206.ux206.ux206.ux206 { background:#221F19;min-height:560px;position:relative; }
.ux207.ux207.ux207.ux207 { position:absolute;inset:0;display:grid;place-items:center; }
.ux208.ux208.ux208.ux208 { font-size:10.5px;letter-spacing:0.22em;color:#9A9284; }
.ux209.ux209.ux209.ux209 { padding:72px 64px;display:flex;flex-direction:column;justify-content:center; }
.ux210.ux210.ux210.ux210 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:40px;line-height:1.15;margin:20px 0 0;text-wrap:pretty;color:#F2EDE5; }
.ux211.ux211.ux211.ux211 { font-size:16.5px;color:#B8AF9F;margin:22px 0 0;text-wrap:pretty; }
.ux212.ux212.ux212.ux212 { display:grid;gap:12px;margin-top:30px;padding-top:26px;border-top:1px solid #3A3529;font-size:14.5px;color:#B8AF9F; }
.ux213.ux213.ux213.ux213 { display:flex;gap:14px; }
.ux214.ux214.ux214.ux214 { color:#A98243; }
.ux215.ux215.ux215.ux215 { display:flex;gap:14px;margin-top:38px; }
.ux216.ux216.ux216.ux216 { display:block;width:64px;height:2px;background:#A98243;margin-top:18px; }
.ux217.ux217.ux217.ux217 { padding:14px 28px;background:none;border:1px solid #4A4438;border-radius:4px;color:#D8B872;cursor:pointer;font-size:11.5px;letter-spacing:0.16em;white-space:nowrap; }
.ux218.ux218.ux218.ux218 { display:grid;grid-auto-flow:column;grid-auto-columns:calc(25% - 24px);gap:32px;margin-top:44px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px; }
.ux219.ux219.ux219.ux219 { scroll-snap-align:start; }
.ux220.ux220.ux220.ux220 { width:100%;height:100%;background:#221F19;display:grid;place-items:center; }
.ux221.ux221.ux221.ux221 { border:0;text-align:left;cursor:pointer;width:calc(100% - 32px); }
.ux222.ux222.ux222.ux222 { background:none;border:0;padding:0;cursor:pointer;text-align:left;width:100%; }
.ux223.ux223.ux223.ux223 { display:flex;align-items:center;justify-content:center;gap:12px;margin-top:28px; }
.ux224.ux224.ux224.ux224 { width:44px;height:44px;border-radius:50%;border:1px solid #4A4438;background:none;color:#D8CFC0;cursor:pointer;display:grid;place-items:center;font-size:17px; }
.ux225.ux225.ux225.ux225 { padding-left:0;padding-right:0;overflow:hidden;background:#15130F; }
.ux226.ux226.ux226.ux226 { max-width:1360px;margin:0 auto;padding:0 48px 40px;text-align:center; }
.ux227.ux227.ux227.ux227 { display:inline-flex;align-items:center;gap:14px;font-size:10.5px;letter-spacing:0.26em;color:#C9BFAE; }
.ux228.ux228.ux228.ux228 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:40px;margin:18px 0 0;letter-spacing:-0.01em;color:#F2EDE5; }
.ux229.ux229.ux229.ux229 { font-size:15px;color:#9A9284;margin:14px auto 0;max-width:480px;text-wrap:pretty; }
.ux230.ux230.ux230.ux230 { background:#1F1C17;border:1px solid #3A3529; }
.ux231.ux231.ux231.ux231 { max-width:1360px;margin:0 auto;padding-left:48px;padding-right:48px;display:grid;grid-template-columns:1fr 1.6fr;gap:72px;align-items:start;background:#15130F; }
.ux232.ux232.ux232.ux232 { position:sticky;top:124px; }
.ux233.ux233.ux233.ux233 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:40px;line-height:1.15;margin:16px 0 0;letter-spacing:-0.01em;text-wrap:pretty;color:#F2EDE5; }
.ux234.ux234.ux234.ux234 { font-size:15.5px;color:#B8AF9F;margin:20px 0 0;max-width:340px;text-wrap:pretty; }
.ux235.ux235.ux235.ux235 { margin-top:30px;padding:15px 28px;background:#A98243;color:#15130F;border:0;font-size:11px;letter-spacing:0.18em;cursor:pointer; }
.ux236.ux236.ux236.ux236 { border-top:1px solid #3A3529; }
.ux237.ux237.ux237.ux237 { border-bottom:1px solid #3A3529; }
.ux238.ux238.ux238.ux238 { color:#F2EDE5; }
.ux239.ux239.ux239.ux239 { max-width:1360px;margin:0 auto;padding:20px 48px 104px; }
.ux240.ux240.ux240.ux240 { max-width:820px; }
.ux241.ux241.ux241.ux241 { border-top:1px solid #3A3529;padding:30px 0; }
.ux242.ux242.ux242.ux242 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:22px;margin:0 0 12px; }
.ux243.ux243.ux243.ux243 { font-size:15.5px;color:#B8AF9F;margin:0;text-wrap:pretty; }
.ux244.ux244.ux244.ux244 { max-width:1360px;margin:0 auto;padding:36px 48px 0;display:grid;grid-template-columns:1.12fr 1fr;gap:72px;align-items:start; }
.ux245.ux245.ux245.ux245 { background:#221F19;aspect-ratio:1/1;overflow:hidden;position:relative; }
.ux246.ux246.ux246.ux246 { position:absolute;top:50%;left:20px;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(30,27,23,0.10);background:rgba(21,19,15,0.75);backdrop-filter:blur(6px);color:#F2EDE5;font-size:24px;line-height:1;padding:0 4px 3px 0;cursor:pointer;display:grid;place-items:center; }
.ux247.ux247.ux247.ux247 { position:absolute;top:50%;right:20px;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(30,27,23,0.10);background:rgba(21,19,15,0.75);backdrop-filter:blur(6px);color:#F2EDE5;font-size:24px;line-height:1;padding:0 0 3px 4px;cursor:pointer;display:grid;place-items:center; }
.ux248.ux248.ux248.ux248 { position:absolute;bottom:20px;right:20px;padding:7px 14px;background:rgba(21,19,15,0.75);backdrop-filter:blur(6px);font-size:11.5px;letter-spacing:0.14em;color:#B8AF9F; }
.ux249.ux249.ux249.ux249 { display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:10px; }
.ux250.ux250.ux250.ux250 { position:relative;display:block;padding:0;border:0;background:#221F19;cursor:pointer;aspect-ratio:1/1;overflow:hidden; }
.ux251.ux251.ux251.ux251 { width:100%;height:100%;object-fit:cover;display:block;background:#221F19; }
.ux252.ux252.ux252.ux252 { background:#221F19;aspect-ratio:1/1;position:relative;display:grid;place-items:center; }
.ux253.ux253.ux253.ux253 { padding-top:6px; }
.ux254.ux254.ux254.ux254 { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.ux255.ux255.ux255.ux255 { font-size:11.5px;color:#9A9284;letter-spacing:0.1em; }
.ux256.ux256.ux256.ux256 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:44px;line-height:1.12;margin:20px 0 0;letter-spacing:-0.01em;text-wrap:pretty; }
.ux257.ux257.ux257.ux257 { font-size:17px;color:#B8AF9F;margin:22px 0 0;text-wrap:pretty; }
.ux258.ux258.ux258.ux258 { margin-top:34px;padding-top:28px;border-top:1px solid #3A3529; }
.ux259.ux259.ux259.ux259 { font-size:11px;letter-spacing:0.2em;color:#9A9284; }
.ux260.ux260.ux260.ux260 { display:flex;gap:12px;margin-top:16px;align-items:center; }
.ux261.ux261.ux261.ux261 { font-size:14px;color:#B8AF9F;margin-left:8px; }
.ux262.ux262.ux262.ux262 { margin-top:32px;padding:26px 28px;background:#221F19; }
.ux263.ux263.ux263.ux263 { display:flex;align-items:baseline;justify-content:space-between;gap:20px; }
.ux264.ux264.ux264.ux264 { font-family:Marcellus,Georgia,serif;font-size:24px; }
.ux265.ux265.ux265.ux265 { font-size:13.5px;color:#9A9284;margin-top:4px; }
.ux266.ux266.ux266.ux266 { font-size:12px;color:#9A9284;text-align:right;white-space:nowrap; }
.ux267.ux267.ux267.ux267 { display:flex;gap:12px;margin-top:26px; }
.ux268.ux268.ux268.ux268 { flex:1;padding:18px 24px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux269.ux269.ux269.ux269 { padding:18px 24px;background:none;color:#F2EDE5;border:1px solid #4A4438;font-size:11.5px;letter-spacing:0.1em;white-space:nowrap;display:flex;align-items:center; }
.ux270.ux270.ux270.ux270 { display:grid;gap:0;margin-top:30px;font-size:14px;color:#B8AF9F; }
.ux271.ux271.ux271.ux271 { display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #3A3529; }
.ux272.ux272.ux272.ux272 { display:flex;justify-content:space-between;gap:20px;padding:13px 0; }
.ux273.ux273.ux273.ux273 { max-width:1360px;margin:0 auto;padding:96px 48px 0;display:grid;grid-template-columns:1.12fr 1fr;gap:72px;align-items:start; }
.ux274.ux274.ux274.ux274 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:30px;margin:0 0 22px; }
.ux275.ux275.ux275.ux275 { margin-top:48px; }
.ux276.ux276.ux276.ux276 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:22px;margin:0 0 18px; }
.ux277.ux277.ux277.ux277 { display:grid;font-size:14.5px;border-bottom:1px solid #3A3529; }
.ux278.ux278.ux278.ux278 { display:grid;grid-template-columns:200px 1fr;gap:24px;padding:14px 0;border-top:1px solid #3A3529; }
.ux279.ux279.ux279.ux279 { background:#221F19;padding:44px 44px 48px; }
.ux280.ux280.ux280.ux280 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:24px;margin:0 0 24px; }
.ux281.ux281.ux281.ux281 { max-width:1360px;margin:0 auto;padding:96px 48px 104px; }
.ux282.ux282.ux282.ux282 { display:flex;align-items:flex-end;justify-content:space-between;gap:40px;border-bottom:1px solid #3A3529;padding-bottom:22px; }
.ux283.ux283.ux283.ux283 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:30px;margin:0; }
.ux284.ux284.ux284.ux284 { display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px; }
.ux285.ux285.ux285.ux285 { display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-top:34px;padding-bottom:28px;border-bottom:1px solid #3A3529; }
.ux286.ux286.ux286.ux286 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:46px;margin:0;letter-spacing:-0.01em; }
.ux287.ux287.ux287.ux287 { font-size:16.5px;color:#B8AF9F;margin:14px 0 0;max-width:620px;text-wrap:pretty; }
.ux288.ux288.ux288.ux288 { font-size:13px;color:#9A9284;white-space:nowrap; }
.ux289.ux289.ux289.ux289 { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 0;flex-wrap:wrap; }
.ux290.ux290.ux290.ux290 { display:flex;gap:10px;flex-wrap:wrap; }
.ux291.ux291.ux291.ux291 { font-size:12.5px;color:#9A9284;letter-spacing:0.06em;white-space:nowrap; }
.ux292.ux292.ux292.ux292 { display:grid;grid-template-columns:repeat(3,1fr);gap:36px; }
.ux293.ux293.ux293.ux293 { background:#221F19;border:1px solid #3A3529;border-radius:18px;padding:40px 34px;display:flex;flex-direction:column;justify-content:center; }
.ux294.ux294.ux294.ux294 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:26px;margin:16px 0 12px;line-height:1.25; }
.ux295.ux295.ux295.ux295 { font-size:15px;color:#B8AF9F;margin:0 0 26px;text-wrap:pretty; }
.ux296.ux296.ux296.ux296 { align-self:flex-start;padding:15px 26px;background:#A98243;color:#15130F;border:0;font-size:11px;letter-spacing:0.18em;cursor:pointer; }
.ux297.ux297.ux297.ux297 { max-width:1360px;margin:0 auto;padding:0 48px;background:#15130F; }
.ux298.ux298.ux298.ux298 { display:flex;align-items:stretch;background:rgba(23,20,16,0.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(216,184,114,0.22);border-radius:14px;box-shadow:0 30px 70px -20px rgba(0,0,0,0.65);padding:32px 12px;overflow-x:auto;justify-content:space-between; }
.ux299.ux299.ux299.ux299 { display:flex;align-items:center;gap:18px;padding:0 30px;flex:1;min-width:max-content; }
.ux300.ux300.ux300.ux300 { background:#15130F;position:relative;overflow:hidden;border-top:1px solid #3A3529; }
.ux301.ux301.ux301.ux301 { position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,19,15,0.95) 0%,rgba(21,19,15,0.9) 46%,rgba(21,19,15,0.88) 100%);pointer-events:none; }
.ux302.ux302.ux302.ux302 { max-width:1360px;margin:0 auto;padding:104px 48px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap; }
.ux303.ux303.ux303.ux303 { max-width:600px; }
.ux304.ux304.ux304.ux304 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:34px;line-height:1.25;margin:14px 0 0;color:#F2EDE5;text-wrap:pretty; }
.ux305.ux305.ux305.ux305 { font-size:15px;color:#B8AF9F;margin:12px 0 0;text-wrap:pretty; }
.ux306.ux306.ux306.ux306 { padding:18px 30px;background:rgba(255,255,255,0.06);color:#F2EDE5;border:1px solid #4A4438;font-size:11.5px;letter-spacing:0.1em;display:inline-flex;align-items:center;gap:9px;white-space:nowrap; }
.ux307.ux307.ux307.ux307 { padding:18px 34px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.16em;cursor:pointer;display:inline-flex;align-items:center;gap:9px;white-space:nowrap; }
.ux308.ux308.ux308.ux308 { font-size:13px; }
.ux309.ux309.ux309.ux309 { position:relative;background:#15130F;color:#FFFFFF;overflow:hidden;padding:72px 20px 0; }
.ux310.ux310.ux310.ux310 { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0.45; }
.ux311.ux311.ux311.ux311 { position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,19,15,0.96) 0%,rgba(21,19,15,0.72) 40%,rgba(21,19,15,0.45) 100%);pointer-events:none; }
.ux312.ux312.ux312.ux312 { max-width:1520px;margin:0 auto;position:relative;border-radius:28px;overflow:hidden;background:rgba(23,20,16,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(216,184,114,0.28);box-shadow:0 30px 80px -20px rgba(0,0,0,0.6); }
.ux313.ux313.ux313.ux313 { position:relative;padding:64px 56px 56px;display:grid;grid-template-columns:1.35fr 0.9fr 1fr 1.15fr;gap:48px; }
.ux314.ux314.ux314.ux314 { font-size:14px;margin:24px 0 0;max-width:300px;text-wrap:pretty;color:#FFFFFF;line-height:1.7; }
.ux315.ux315.ux315.ux315 { display:flex;gap:10px;margin-top:26px; }
.ux316.ux316.ux316.ux316 { width:34px;height:34px;border-radius:50%;border:1px solid rgba(216,184,114,0.4);display:flex;align-items:center;justify-content:center;color:#FFFFFF; }
.ux317.ux317.ux317.ux317 { display:grid;gap:12px;margin-top:22px;font-size:13.5px; }
.ux318.ux318.ux318.ux318 { background:none;border:0;padding:0;cursor:pointer;color:#FFFFFF;text-align:left; }
.ux319.ux319.ux319.ux319 { display:grid;gap:14px;margin-top:22px;font-size:13.5px;color:#FFFFFF;line-height:1.6; }
.ux320.ux320.ux320.ux320 { font-size:13px;color:#FFFFFF;margin:18px 0 0;line-height:1.6;max-width:280px; }
.ux321.ux321.ux321.ux321 { display:flex;align-items:center;gap:8px;margin-top:18px;border:1px solid rgba(216,184,114,0.4);border-radius:999px;padding:5px 5px 5px 18px;background:rgba(255,255,255,0.04);max-width:320px; }
.ux322.ux322.ux322.ux322 { background:none;border:0;outline:none;color:#F5EFE4;font-size:13px;flex:1;min-width:0; }
.ux323.ux323.ux323.ux323 { padding:10px 18px;background:#A8703E;color:#FFFFFF;border:0;border-radius:999px;font-size:10px;letter-spacing:0.14em;cursor:pointer;font-weight:500;flex:none; }
.ux324.ux324.ux324.ux324 { display:none;font-size:12px;margin-top:10px;color:#D8B872; }
.ux325.ux325.ux325.ux325 { position:relative;padding:22px 56px 26px;border-top:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11.5px;letter-spacing:0.08em;color:#FFFFFF;flex-wrap:wrap; }
.ux326.ux326.ux326.ux326 { display:flex;align-items:center;gap:18px; }
.ux327.ux327.ux327.ux327 { background:none;border:0;padding:0;cursor:pointer;color:#FFFFFF;font-size:11.5px;letter-spacing:0.08em; }
.ux328.ux328.ux328.ux328 { width:1px;height:11px;background:rgba(255,255,255,0.3);display:block; }
.ux329.ux329.ux329.ux329 { color:#D8B872; }
.ux330.ux330.ux330.ux330 { position:relative;max-width:1520px;margin:48px auto 0;text-align:center;overflow:hidden; }
.ux331.ux331.ux331.ux331 { display:none;position:fixed;inset:0;z-index:100;background:rgba(8,7,5,0.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);justify-content:center;overflow-y:auto;padding:32px;animation:fadeIn 0.18s ease-out; }
.ux332.ux332.ux332.ux332 { font-size:10.5px;letter-spacing:0.24em;color:#D8B872; }
.ux333.ux333.ux333.ux333 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:26px;margin:12px 0 0;color:#FBF9F5; }
.ux334.ux334.ux334.ux334 { display:none;padding:48px 32px 44px;text-align:center; }
.ux335.ux335.ux335.ux335 { width:56px;height:56px;border-radius:50%;margin:0 auto;display:grid;place-items:center;background:rgba(216,184,114,0.12);border:1px solid rgba(216,184,114,0.4);color:#D8B872;font-family:Marcellus,Georgia,serif;font-size:22px; }
.ux336.ux336.ux336.ux336 { font-family:Marcellus,Georgia,serif;font-weight:400;font-size:24px;margin:22px 0 10px;color:#FBF9F5; }
.ux337.ux337.ux337.ux337 { font-size:15px;color:#B8AF9F;margin:0 auto;max-width:380px;text-wrap:pretty; }
.ux338.ux338.ux338.ux338 { margin-top:30px;padding:15px 30px;border-radius:4px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer; }
.ux339.ux339.ux339.ux339 { padding:14px 16px;border-radius:4px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);color:#F2EDE5;font-size:15px;outline:none;width:100%;transition:border-color 0.2s ease,background 0.2s ease; }
.ux340.ux340.ux340.ux340 { display:none;font-size:12.5px;color:#D9836E; }
.ux341.ux341.ux341.ux341 { color:#7C7469; }
.ux342.ux342.ux342.ux342 { padding:14px 16px;border-radius:4px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);color:#F2EDE5;font-size:15px;outline:none;width:100%;resize:vertical;font-family:inherit;transition:border-color 0.2s ease,background 0.2s ease; }
.ux343.ux343.ux343.ux343 { display:none;font-size:12.5px;color:#D9836E;margin-top:-10px; }
.ux344.ux344.ux344.ux344 { padding:17px 24px;border-radius:4px;background:#A98243;color:#15130F;border:0;font-size:11.5px;letter-spacing:0.18em;cursor:pointer;width:100%; }
.ux345.ux345.ux345.ux345 { display:none;font-size:12.5px;color:#D9836E;text-align:center; }
.ux346.ux346.ux346.ux346 { font-size:12px;color:#9A9284;margin:0;text-align:center; }
.ux347.ux347.ux347.ux347 { background:#15130F;color:#F2EDE5;font-family:Jost,Helvetica,Arial,sans-serif;font-weight:300;font-size:16px;line-height:1.6;min-height:100vh; }
.ux348.ux348.ux348.ux348 { background:#0E0C09;color:#C9BFAE;font-size:11.5px;letter-spacing:0.14em; }
.ux349.ux349.ux349.ux349 { max-width:1360px;margin:0 auto;padding:9px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap; }
.ux350.ux350.ux350.ux350 { display:flex;align-items:center;gap:20px; }
.ux351.ux351.ux351.ux351 { background:none;border:0;padding:0;cursor:pointer;color:#C9BFAE;font-size:11.5px;letter-spacing:0.14em;white-space:nowrap; }
.ux352.ux352.ux352.ux352 { color:#C9BFAE;white-space:nowrap; }
.ux353.ux353.ux353.ux353 { position:sticky;top:0;z-index:50;background:rgba(21,19,15,0.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #3A3529; }
.ux354.ux354.ux354.ux354 { max-width:1360px;margin:0 auto;padding:0 48px;height:92px;display:flex;align-items:center;gap:44px; }
.ux355.ux355.ux355.ux355 { background:none;border:0;padding:0;cursor:pointer;flex:none;display:flex;align-items:center; }
.ux356.ux356.ux356.ux356 { display:flex;gap:26px;align-items:center;font-size:13.5px;color:#D8CFC0;flex-wrap:nowrap;margin-left:auto; }
.ux357.ux357.ux357.ux357 { background:none;border:0;padding:0;cursor:pointer;white-space:nowrap; }
.ux358.ux358.ux358.ux358 { display:flex;align-items:center;gap:22px;flex:none; }
.ux359.ux359.ux359.ux359 { padding:14px 26px;background:#A98243;color:#15130F;border:0;font-size:11px;letter-spacing:0.18em;cursor:pointer;white-space:nowrap; }
.ux360.ux360.ux360.ux360 { display:none;background:none;border:0;padding:8px;cursor:pointer;color:#F2EDE5;margin-left:auto; }
.ux361.ux361.ux361.ux361 { display:none;background:#15130F;border-top:1px solid #3A3529; }
.ux362.ux362.ux362.ux362 { display:grid;padding:6px 20px 20px; }
.ux363.ux363.ux363.ux363 { background:none;border:0;padding:14px 0;cursor:pointer;color:#F2EDE5;text-align:left;font-size:13.5px;letter-spacing:0.1em;border-bottom:1px solid #2A2620; }
.ux364.ux364.ux364.ux364 { margin-top:16px;padding:14px 24px;background:#A98243;color:#15130F;border:0;font-size:11px;letter-spacing:0.18em;cursor:pointer; }

/* ------------------------------------------------------------------
   Site-wide vertical rhythm: every section-scale container (1360px,
   48px gutters, section-sized vertical padding) shares --sec-y so
   the gap between any two neighbouring sections is equal on every
   page. !important beats the per-section mobile tweaks above.
   ------------------------------------------------------------------ */
.ux1.ux1.ux1.ux1,
.ux13.ux13.ux13.ux13,
.ux44.ux44.ux44.ux44,
.ux58.ux58.ux58.ux58,
.ux89.ux89.ux89.ux89,
.ux120.ux120.ux120.ux120,
.ux239.ux239.ux239.ux239,
.ux273.ux273.ux273.ux273,
.ux281.ux281.ux281.ux281,
.ux297.ux297.ux297.ux297,
.ux302.ux302.ux302.ux302,
.gq-sec.gq-sec.gq-sec.gq-sec {
  padding-top: var(--sec-y) !important;
  padding-bottom: var(--sec-y) !important;
}
