/* Ivory Paper & Chocolate Leather — tactile materials inspired by the supplied reference.
   Brand surfaces live here; individual invitation palettes stay in their designs. */
:root {
  --off-white: #fbf4e8;
  --oatmeal: #f0e2ca;
  --sand: #d6b58e;
  --espresso: #381c12;
  --bronze: #ac7542;
  --bronze-text: #765845;
  --paper-surface: #f6ebd9;
  --paper-raised: #fffaf2;
  --paper-line: #d9c3a4;
  --espresso-hover: #603521;
  /* Retain aliases used by existing pages and the supplied ZIP. */
  --burgundy: var(--espresso);
  --cream: var(--off-white);
  --warm: var(--oatmeal);
  --gold: var(--bronze-text);
  --text: var(--espresso);
  --muted: var(--bronze-text);
  --line: var(--paper-line);
}

::selection { background: var(--sand); color: var(--espresso); }
body, .studio-page { background: var(--off-white); color: var(--espresso); }
.site-header { background: #fbf4e8f5; border-bottom-color: var(--paper-line); }
.site-header.is-scrolled { background: #fbf4e8fc; box-shadow: 0 6px 24px #381c120d; }
.site-header nav>a[aria-current] { text-decoration-color: var(--bronze); }
.brand img, .about-emblem img, .journey-brand img, .inv-brand img { filter: none; mix-blend-mode: normal; }
.eyebrow, .card-meta .eyebrow, .studio-benefits li::before { color: var(--bronze-text); }
.button, .concierge-card .button, .floating-concierge {
  background: var(--espresso); color: var(--off-white); border-color: var(--espresso);
}
.button:hover, .concierge-card .button:hover, .floating-concierge:hover {
  background: var(--espresso-hover); color: var(--off-white); border-color: var(--espresso-hover);
}
.site-header nav>a.button:hover { color: var(--off-white); }
.button.secondary { color: var(--espresso); background: transparent; border-color: var(--bronze); }
.button.secondary:hover { background: var(--oatmeal); }
.button.light { color: var(--espresso); background: var(--off-white); border-color: var(--off-white); }
.button.light:hover { color: var(--espresso); background: var(--oatmeal); border-color: var(--oatmeal); }
.button:focus-visible, .text-link:focus-visible, .card-personalise:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline-color: var(--bronze-text); outline-offset: 4px;
}
.ribbon { background: var(--espresso); color: var(--oatmeal); }
.hero-stage { background: radial-gradient(ellipse at 65% 45%,#d6b58e48,transparent 68%); }
.showcase-halo { background: radial-gradient(ellipse,#d6b58e6b 0%,#f0e2ca4d 44%,transparent 70%); }
.showcase-picker select { border-bottom-color: var(--bronze); }

/* Varied paper tones give the collection depth without competing with its artwork. */
.card-cover, .theme-card:nth-child(3n+2) .card-cover, .theme-card:nth-child(3n) .card-cover {
  border-color: #d9c3a4b3;
  background: radial-gradient(ellipse at 50% 20%,var(--off-white),var(--oatmeal));
  box-shadow: inset 0 1px 0 #ffffffb3;
}
.theme-card:nth-child(3n+2) .card-cover { background: radial-gradient(ellipse at 50% 20%,#fff8eb,#ead5b6); }
.theme-card:nth-child(3n) .card-cover { background: radial-gradient(ellipse at 50% 20%,#fbefdb,#dcc4a3); }
.cover-arrow { background: #fbf4e8ed; border-color: var(--sand); }
.card-personalise { border-color: #ad855e; }
.card-personalise:hover { background: var(--oatmeal); }
.theme-card .save-theme { background: var(--oatmeal); color: var(--espresso); }
.theme-card .save-theme[aria-pressed=true] { background: var(--espresso); color: var(--off-white); }
.filter.active { box-shadow: inset 0 -2px 0 var(--espresso); }
#saved-count { background: var(--sand); color: var(--espresso); }
.editorial-visual, .theme-showcase, .theme-showcase.garden, .theme-showcase.cloud {
  background: radial-gradient(ellipse at 55% 32%,#fbf4e8cc,transparent 72%),var(--oatmeal);
}
.visual-caption { color: var(--bronze-text); }
.large-steps>li>span { color: var(--bronze); }
.swatches>span { border-color: var(--sand); }
.site-footer, .studio-page .site-footer { background: var(--paper-surface); }
.cta { background: linear-gradient(125deg,var(--espresso),#403a30); }
.cta h2 { color: var(--off-white); }
.cta h2 em, .cta .eyebrow { color: var(--sand); }
.cta p:not(.eyebrow) { color: var(--oatmeal); }
.cta .button.secondary { color: var(--off-white); border-color: var(--sand); }
.cta .button.secondary:hover { background: #fbf4e810; }
.price-card.featured { background: var(--oatmeal); border-color: var(--bronze); }
.comparison-table th.col-highlight, .comparison-table td.col-highlight { background: #f0ddbd; }
.testimonial-card { background: var(--paper-surface); }
.floating-concierge { box-shadow: 0 8px 25px #381c1229; }
.floating-concierge:hover { box-shadow: 0 12px 30px #381c1238; }
.concierge-card { background: var(--oatmeal); border-color: var(--paper-line); border-left-color: var(--bronze); }
.concierge-card .eyebrow { color: var(--bronze-text) !important; }
.enquiry-form { background: var(--paper-surface); border-color: var(--paper-line); }
input, select, textarea, .search-label input {
  background: var(--paper-raised); color: var(--espresso); border-color: #b99a75;
}
input::placeholder, textarea::placeholder { color: var(--bronze-text); opacity: 1; }
.enquiry-draft-note { background: var(--oatmeal); color: var(--espresso); border-left-color: var(--bronze); }

/* The full-page and phone sample viewers share the same neutral surrounding surfaces. */
.preview-dialog { background: var(--paper-surface); box-shadow: 0 25px 90px #381c125e; }
.preview-dialog::backdrop { background: #381c12ba; }
.preview-toolbar, #preview-frame, .preview-loading { background: var(--off-white); }
.preview-body { background: radial-gradient(ellipse at 70% 50%,#d6b58e73,transparent 65%); }
.preview-device { --device-paper: var(--off-white) !important; --device-ink: var(--espresso) !important; }
.invitation, .invitation-v2 { background: var(--oatmeal); }
.invitation-v2 .sample-bar { background: #fbf4e8f8; color: var(--espresso); }
.custom-preview-notice { background: var(--off-white); color: var(--espresso); border-color: var(--paper-line); }

/* Design studio: clear active states and warm, readable form surfaces. */
.studio-editor { background: var(--paper-raised); border-color: var(--paper-line); }
.editor-tabs { background: var(--oatmeal); border-color: var(--paper-line); }
.editor-tabs button { color: var(--bronze-text); }
.editor-tabs button[aria-selected=true] { color: var(--espresso); border-bottom-color: var(--espresso); }
.editor-tabs button:hover { background: #d6b58e4d; }
.step-number, .studio-editor label small, .editor-hint, .editor-footer>p,
.studio-heading-actions>span, .share-link-label small, .draft-tools button,
.studio-save-actions>p { color: var(--bronze-text); }
.studio-editor label, .palette-picker legend, .type-picker legend { color: var(--espresso); }
.studio-editor input, .studio-editor select, .studio-editor textarea {
  color: var(--espresso); background: var(--off-white); border-color: #b99a75;
}
.studio-editor input::placeholder, .studio-editor textarea::placeholder { color: var(--bronze-text); }
.studio-editor input:focus, .studio-editor textarea:focus, .studio-editor select:focus { outline-color: var(--bronze-text); }
.studio-theme { background: var(--off-white); color: var(--espresso); border-color: var(--paper-line); }
.studio-theme>i { color: var(--espresso); }
.studio-theme[aria-pressed=true] { background: var(--oatmeal); border-color: var(--espresso); box-shadow: inset 0 0 0 1px var(--espresso); }
.studio-theme:hover { border-color: var(--bronze); }
.palette-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px 10px; }
.palette-options button { color: var(--bronze-text); font-size: 12px; min-width: 0; padding: 6px 3px; text-align: center; }
.palette-options button>span { width: 31px; height: 31px; border-color: #ac754273; }
.palette-options button[data-palette=oatmeal]>span {
  background: conic-gradient(var(--off-white) 0 20%,var(--oatmeal) 20% 40%,var(--sand) 40% 60%,var(--espresso) 60% 80%,var(--bronze) 80%);
}
.palette-options button[aria-pressed=true] { color: var(--espresso); }
.palette-options button[aria-pressed=true]>span { outline-color: var(--espresso); }
.type-options button { border-color: var(--paper-line); color: var(--bronze-text); }
.type-options button[aria-pressed=true] { background: var(--oatmeal); border-color: var(--espresso); color: var(--espresso); }
.type-sample, .studio-event-editor legend { color: var(--espresso); }
.studio-editor .studio-event-editor { border-color: var(--paper-line); }
.remove-event { color: var(--bronze-text); }
.add-event { background: var(--paper-surface); border-color: var(--bronze); color: var(--espresso); }
.studio-preview-panel { background: var(--oatmeal); border-color: var(--paper-line); }
.studio-preview-toolbar, .studio-preview-bottom { background: var(--paper-raised); border-color: var(--paper-line); }
.studio-preview-bottom, .preview-size-switch button { color: var(--bronze-text); }
.studio-preview-bottom a { color: var(--espresso); }
.live-indicator { background: var(--bronze-text); box-shadow: 0 0 0 3px #ac75421f; }
.preview-size-switch { border-color: var(--sand); }
.preview-size-switch button[aria-pressed=true] { background: var(--espresso); color: var(--off-white); }
.studio-preview-stage { background: radial-gradient(ellipse,#d6b58e8c,transparent 72%); }
.studio-device .device-status { background: var(--off-white); color: var(--espresso); }
.studio-device .device-screen, #studio-live-frame, #studio-share-link { background: var(--off-white); }
.studio-device .device-home { background: var(--espresso); }
#studio-loading { background: #fbf4e8ed; }
.studio-save-bar { border-color: var(--paper-line); }
.reset-studio-dialog { background: var(--off-white); color: var(--espresso); border-color: var(--sand); }
.reset-studio-dialog::backdrop { background: #381c1288; }
.studio-mobile-switch { background: var(--paper-surface); border-color: var(--paper-line); }
.studio-mobile-switch button { color: var(--bronze-text); }
.studio-mobile-switch button[aria-pressed=true] { background: var(--espresso); color: var(--off-white); }
.studio-page .site-header nav>a[aria-current] { color: var(--espresso); }

/* The optional invitation palette keeps artwork quiet behind the paper layers. */
.palette-oatmeal .custom-cover-art { filter: grayscale(1) sepia(.15); opacity: .16; mix-blend-mode: multiply; }
.palette-oatmeal .custom-cover {
  background: radial-gradient(ellipse at 70% 15%,#fbf4e8bb,transparent 65%),linear-gradient(135deg,#f0e2ca,#d6b58e);
}
.palette-oatmeal .custom-cover-paper { background: #fbf4e8f5; box-shadow: 0 2px 3px #381c1214,0 24px 44px -22px #381c1252; }
.palette-oatmeal .custom-event { background: var(--off-white); }
.palette-oatmeal .custom-monogram, .palette-oatmeal .custom-event-number { color: var(--bronze-text); }

@media(min-width:1200px) { .palette-options { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; } }

/* Reference-inspired materials, kept separate from the invitation artwork. */
:root {
  --copper: #9b4f2b;
  --claret: #64291e;
  --leather-base: #492417;
  --ivory-texture: url('ivory-paper.svg');
  --pressed-texture: url('pressed-ivory.webp');
  --leather-texture: linear-gradient(#3013088f,#3013088f),url('chocolate-leather.webp');
  --header-height: 88px;
  --header-compact-height: 66px;
  --header-float-gap: 12px;
}
.material-site { background-image: var(--ivory-texture); background-size: 256px; font-size: 17px; }
.material-site h1 em, .material-site h2 em, .hero h1 em { color: var(--copper); }
.material-site .eyebrow, .card-meta .eyebrow { color: #93502f; }
.material-site .button { border-radius: 999px; font-size: 16px; }
.material-site .button:not(.secondary):not(.light):hover { box-shadow: 0 7px 18px #381c121c; }
.material-site .text-link { color: var(--espresso); font-size: 16px; }
.has-site-header { padding-top: var(--header-height); }
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 60; width: 100%; height: var(--header-height);
  margin: 0 auto; min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) auto;
  align-items: center; gap: 24px; padding-block: 0; border: 1px solid transparent;
  border-radius: 0; transform: none;
  padding-inline: max(28px,calc((100vw - 1390px)/2));
  transition: top .22s ease, width .22s ease, height .22s ease, border-radius .22s ease, box-shadow .22s ease, padding .22s ease;
}
.site-header, .site-header.is-scrolled {
  isolation: isolate; background-color: #f8eedc; background-image: var(--pressed-texture); background-size: 320px;
  border-bottom: 1px solid #c7a678; box-shadow: 0 4px 17px #43241118;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.site-header.is-scrolled {
  top: var(--header-float-gap); width: min(1280px,calc(100% - 40px)); height: var(--header-compact-height);
  padding-inline: 22px; border: 1px solid #c7a678; border-radius: 18px;
  box-shadow: 0 8px 28px #43241126,0 2px 5px #4324110f;
}
.site-header::after {
  content: ''; position: absolute; right: 2px; bottom: 0; width: 57px; height: 72px; max-height: 100%;
  background: url('bronze-botanical.svg') no-repeat right bottom / contain;
  border-bottom-right-radius: inherit; opacity: .38; z-index: 0; pointer-events: none;
}
.site-header.is-scrolled::after { width: 45px; height: 54px; opacity: .24; }
.site-header>.brand, .site-header>.menu-toggle, .site-header>nav { position: relative; z-index: 1; }
.site-header .brand { gap: 10px; min-width: 0; width: max-content; max-width: 100%; white-space: nowrap; }
.site-header .brand>.brand-wordmark, .site-footer .brand>.brand-wordmark {
  font: 400 32px/1.05 Editorial,Georgia,serif; color: var(--claret); letter-spacing: 1.3px;
}
.brand .brand-wordmark small { color: #63432e; font: 11px/1.5 Studio,Arial,sans-serif; letter-spacing: 2.8px; margin-top: 8px; }
.site-header .brand>.brand-wordmark { font-size: 28px; letter-spacing: 1px; }
.site-header .brand-wordmark small { font-size: 9px; letter-spacing: 2px; margin-top: 5px; }
/* The supplied transparent burgundy and gold seal retains its original pixels.
   One square image scales consistently without cropping or logo offsets. */
.brand .brand-mark { display: block; flex: 0 0 80px; width: 80px; height: 80px; }
.site-header .brand-mark { flex-basis: 80px; width: 80px; height: 80px; }
.site-header.is-scrolled .brand-mark { flex-basis: 56px; width: 56px; height: 56px; }
.site-header.is-scrolled .brand>.brand-wordmark { font-size: 24px; }
.brand .brand-mark img, .site-header .brand .brand-mark img {
  position: static; display: block; max-width: 100%; width: 100%; height: 100%;
  object-fit: contain; border-radius: 0; filter: none; mix-blend-mode: normal;
}
.about-emblem img, .journey-brand img, .inv-brand img { filter: none; border-radius: 0; mix-blend-mode: normal; object-fit: contain; }
.about-emblem { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.about-emblem img { width: min(360px, 100%); height: auto; }
.about-emblem-wordmark { max-width: 100%; color: var(--claret); font: 400 clamp(22px, 3vw, 40px)/1.1 Editorial, Georgia, serif; letter-spacing: .12em; text-align: center; }
.journey-brand img, .inv-brand img { width: 56px; height: 56px; flex-shrink: 0; }
/* Keep the shared seal centered and uncropped in every logo placement. */
img[src*="logo-seal.png"] { object-fit: contain; border-radius: 0; }
.site-header nav { gap: 23px; }
.site-header nav>a:not(.button) { font-size: 16px; color: #563720; }
.site-header nav>a[aria-current] { color: var(--claret); text-decoration-color: var(--copper); }
.site-header nav>a.button { color: var(--off-white); padding-inline: 22px; }
.site-header .menu-toggle {
  border: 1px solid #ac7542; border-radius: 999px; color: #492719; background: #fcf3e4f5;
  width: 96px; min-width: 96px; height: 44px; min-height: 44px; padding: 0 12px;
  flex: none; white-space: nowrap; line-height: 1; font-size: 15px;
  align-items: center; justify-content: center; gap: 9px;
}
.site-header .menu-toggle .menu-bars { display: block; position: relative; flex: 0 0 17px; width: 17px; height: 14px; margin: 0; border-block: 2px solid currentColor; }
.menu-bars::after { content: ''; position: absolute; top: 4px; left: 0; right: 0; height: 2px; background: currentColor; }
.studio-mobile-switch { top: calc(var(--header-offset,var(--header-height)) + 8px); }

.home-page .hero {
  grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); grid-template-areas: 'copy phones' 'actions actions';
  gap: 36px 55px; padding-block: 62px 58px; min-height: 0;
}
.hero-copy { grid-area: copy; }
.home-page .hero-stage { grid-area: phones; }
.home-page .hero h1 { font-size: clamp(68px,7.5vw,108px); line-height: 1.01; letter-spacing: -1.8px; margin: 23px 0 27px; }
.home-page .hero .lede { font-size: 19px; line-height: 1.85; max-width: 540px; color: #664a38; }
.home-page .hero .eyebrow { letter-spacing: 2.2px; font-size: 12px; }
.hero-proof-bar { font-size: 11px; letter-spacing: .8px; gap: 10px 20px; margin-top: 28px; }
.home-page .hero-stage.phone-showcase { min-height: 630px; }
.showcase-halo { background: radial-gradient(ellipse,#d6b58e75,transparent 66%); }
.showcase-label, .showcase-note { color: #8a5935; }
.showcase-picker { border-color: #c8a87f; }

.leather-panel, .hero-action-panel, .cta, .ribbon {
  background-color: var(--leather-base); background-image: var(--leather-texture); background-size: auto,520px;
  color: #fff5e5; border-color: #815335;
}
.hero-action-panel, .cta { position: relative; isolation: isolate; box-shadow: inset 0 2px 2px #d8a36d55,inset 0 -2px 4px #1c08088c,0 16px 35px #381c1214; }
.hero-action-panel::before, .hero-action-panel::after, .cta::before, .cta::after {
  content: ''; position: absolute; inset: 8px 0 auto; height: 20px; background: url('gold-stitch.svg') repeat-x left center / 28px 20px;
  pointer-events: none; opacity: .9;
}
.hero-action-panel::after, .cta::after { top: auto; bottom: 8px; }
.hero-action-panel {
  grid-area: actions; display: grid; grid-template-columns: .85fr 1.3fr; align-items: center; gap: 45px;
  padding: 49px 46px 44px; border-radius: 10px; border: 1px solid #815335; overflow: hidden;
}
.hero-action-intro .eyebrow { color: #e5c18d; font-size: 10px; letter-spacing: 1.6px; }
.hero-action-intro h2 { color: #fff5e5; font-size: 34px; line-height: 1.15; margin: 10px 0 11px; letter-spacing: -.3px; }
.hero-action-intro h2 em { color: #e3b27e; }
.hero-action-intro .text-link { font-size: 14px; color: #f1dcc0; min-height: 36px; }
.hero-action-panel .hero-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; margin: 0; }
.hero-action-panel .button { gap: 12px; min-height: 55px; padding: 14px 20px; font-size: 16px; }
.hero-action-panel .hero-primary, .hero-action-panel .hero-primary:hover { color: #381c12; background: #fff8ed; border-color: #fff8ed; box-shadow: 0 5px 15px #13050033; }
.hero-action-panel .hero-sample { color: #fff4e2; background: #24100519; border: 1px solid #edd3ad; }
.hero-action-panel .hero-sample:hover { background: #fff6e91a; color: #fff4e2; border-color: #fff2dc; }
.hero-action-panel .hero-concierge { grid-column: 1/-1; justify-self: center; min-height: 46px; background: #f0d7b4; color: #381c12; border-color: #e8c79b; font-size: 15px; padding: 11px 25px; }
.hero-action-panel .hero-concierge:hover { background: #fff0d7; color: #381c12; border-color: #fff0d7; }
.hero-concierge svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.hero-action-panel a:focus-visible, .cta a:focus-visible { outline: 3px solid #fff5e3; outline-offset: 5px; }
.ribbon { border-block: 1px solid #a16d3e; box-shadow: inset 0 1px 0 #e6bf832e; color: #f7dfbc; padding-block: 19px; }
.cta { padding-block: 82px; }
.cta h2 { color: #fff5e5; }
.cta h2 em { color: #e2b07d; }
.cta .eyebrow { color: #f0c995; }
.cta p:not(.eyebrow) { color: #f5e4cc; }
.cta .button.light { color: #381c12; background: #fff8ed; border-color: #fff8ed; }
.cta .button.secondary { color: #fff4e2; border-color: #e8c79b; }
.cta .button.secondary:hover { background: #fff8ed16; color: #fff4e2; }

.card-cover, .theme-card:nth-child(3n+2) .card-cover, .theme-card:nth-child(3n) .card-cover,
.theme-showcase, .theme-showcase.garden, .theme-showcase.cloud, .editorial-visual, .occasion-story>div:first-child {
  background-color: #f0e0c6; background-image: linear-gradient(130deg,#fffaf26b,#cba57730),var(--pressed-texture);
  background-size: auto,320px; border-color: #c9a77c; box-shadow: inset 0 1px 2px #fffbf4,0 13px 26px #59341b0b;
}
.card-cover { position: relative; }
.card-cover::before { content: ''; position: absolute; inset: 8px; border: 1px dashed #bb905a85; border-radius: inherit; pointer-events: none; }
.cover-arrow { color: #fff5e5; background: #754527; border-color: #754527; }
.card-personalise { border-radius: 999px; background: #fff8ed99; font-weight: 400; padding-inline: 20px; border-color: #b78b59; }
.card-personalise:hover { background: #f1dfc3; }
.filter.active { background: #ecd6b7; color: #4b2b1a; box-shadow: inset 0 -2px 0 #754527; }
.testimonial-card, .add-on-card, .price-card, .enquiry-form, .studio-editor { background-color: #fff8ed; background-image: var(--ivory-texture); box-shadow: 0 10px 28px #4a2b1710; }
.price-card.featured { background-color: #f0dcc0; background-image: linear-gradient(#e4c49c35,#e4c49c35),var(--pressed-texture); border-color: #a87743; }
.comparison-table th.col-highlight, .comparison-table td.col-highlight { background: #f1dfc3; }
.studio-introduction { border-block: 1px solid #c5a476; }
.large-steps>li>span { color: #a76c3b; }
.enquiry-form, .concierge-card, .studio-editor, .studio-preview-panel, .price-card, .testimonial-card, .add-on-card { border-radius: 8px; }
.site-footer, .studio-page .site-footer { background: var(--pressed-texture) repeat #f8eedc; background-size: 320px; border-top: 1px solid #c8a87b; }
.footer-top>p { color: #5d3d26; }
.floating-concierge { color: #482719; background: #fff4e1; border: 1px solid #b9864e; box-shadow: 0 7px 27px #381c1233; }
.floating-concierge:hover { color: #381c12; background: #f1d7b4; border-color: #9b693d; }
.preview-toolbar, .custom-preview-notice, .invitation-v2 .sample-bar { background: var(--pressed-texture) repeat #f8eedc; background-size: 320px; }
.preview-body { background-image: radial-gradient(ellipse at 70% 50%,#d2aa7361,transparent 65%),var(--ivory-texture); background-size: auto,256px; }
.studio-preview-stage { background-image: radial-gradient(ellipse,#d9b98b70,transparent 72%),var(--pressed-texture); background-size: auto,320px; }
.studio-preview-toolbar, .studio-preview-bottom { background-color: #fbf1e1; background-image: var(--ivory-texture); }
.editor-tabs { background: #eddbbe; }
.studio-editor .palette-options { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px 8px; }
.palette-options button[data-palette=atelier]>span { background: linear-gradient(135deg,#fff7e8 0 48%,#b27743 48% 52%,#492417 52%); }
.palette-atelier .custom-cover {
  background-color: #492417; background-image: var(--leather-texture); background-size: auto,520px;
  border-block: 1px solid #ab7540; padding-block: 65px;
}
.palette-atelier .custom-cover-art { filter: sepia(.7) saturate(.4); opacity: .08; mix-blend-mode: screen; }
.palette-atelier .custom-cover::before { border-color: #c9a063; border-style: dashed; }
.palette-atelier .custom-cover-paper { background: var(--ivory-texture) repeat #fbf4e8; background-size: 256px; box-shadow: 0 5px 15px #1e0a0580,0 30px 50px -20px #16090299; }
.palette-atelier .custom-names em, .palette-atelier .custom-signature { color: #9b4f2b; }
.palette-atelier .custom-section, .palette-atelier .custom-event, .palette-atelier .custom-closing { background-image: var(--ivory-texture); background-size: 256px; }
.palette-atelier .custom-events, .palette-atelier .custom-guide { background-image: var(--pressed-texture); background-size: 320px; }
.palette-atelier .custom-open { border-radius: 999px; background: #492417; color: #fff7e8; }
.palette-atelier .custom-event { border-color: #c6a077; }
.palette-atelier .custom-monogram, .palette-atelier .custom-event-number { color: #8b4e2d; }
.palette-oatmeal .custom-cover { background: radial-gradient(ellipse at 70% 15%,#faf8f6bb,transparent 65%),linear-gradient(135deg,#e8e4d9,#cfbda3); }
.palette-oatmeal .custom-cover-paper { background: #faf8f6f5; }

@media(min-width:981px) and (max-width:1190px) {
  :root { --header-height: 80px; --header-compact-height: 64px; }
  .site-header { padding-inline: 24px; gap: 18px; }
  .site-header .brand { gap: 9px; }
  .site-header .brand>.brand-wordmark { font-size: 24px; letter-spacing: 1px; }
  .site-header .brand-wordmark small { font-size: 9px; letter-spacing: 1.8px; }
  .site-header .brand-mark { flex-basis: 70px; width: 70px; height: 70px; }
  .site-header nav { gap: 11px; }
  .site-header nav>a:not(.button) { font-size: 14px; }
  .site-header nav>a.button { font-size: 14px; padding-inline: 16px; }
  .site-header::after { width: 50px; height: 66px; }
  .home-page .hero { gap: 32px; }
  .hero-action-panel { padding-inline: 32px; gap: 30px; }
  .hero-action-panel .button { padding-inline: 16px; font-size: 15px; }
}
@media(max-width:980px) {
  :root { --header-height: 80px; --header-compact-height: 64px; }
  .site-header { padding-inline: 24px; gap: 16px; }
  .site-header .brand-mark { flex-basis: 70px; width: 70px; height: 70px; }
  .site-header .brand>.brand-wordmark { font-size: 26px; }
  .site-header .menu-toggle { display: inline-flex; }
  .site-header>nav {
    position: absolute; top: calc(100% + 8px); left: 12px; right: 12px; width: auto;
    background: var(--pressed-texture) repeat #f8eedc; background-size: 320px;
    border: 1px solid #c7a678; border-radius: 16px; padding: 12px 22px 22px;
    box-shadow: 0 12px 30px #43241129;
    max-height: calc(100dvh - var(--header-offset,var(--header-height)) - 24px - env(safe-area-inset-bottom,0px));
    overflow-y: auto; overscroll-behavior: contain;
  }
  .site-header.is-scrolled>nav { left: 0; right: 0; }
  .site-header nav>a:not(.button) { font-size: 18px; }
  .site-header::after { width: 52px; height: 66px; opacity: .28; }
  .home-page .hero { grid-template-columns: 1fr 1fr; gap: 30px; padding-top: 46px; }
  .home-page .hero h1 { font-size: clamp(64px,8vw,84px); }
  .home-page .hero .lede { font-size: 18px; line-height: 1.8; }
  .home-page .hero-stage.phone-showcase { min-height: 580px; }
  .hero-action-panel { grid-template-columns: 1fr; gap: 23px; padding: 43px 34px; }
  .hero-action-intro { display: none; }
}
@media(max-width:760px) {
  .home-page .hero { width: 100%; grid-template-columns: minmax(0,1fr); grid-template-areas: 'copy' 'actions' 'phones'; gap: 0; padding: 0 0 30px; }
  .hero-copy { padding: 42px 28px 36px; }
  .home-page .hero h1 { font-size: clamp(68px,12.8vw,100px); line-height: 1; letter-spacing: -1.2px; margin: 20px 0 25px; }
  .home-page .hero .lede { max-width: 590px; }
  .hero-proof-bar { display: none; }
  .hero-action-panel { border-inline: 0; border-radius: 0; padding: 42px 28px 38px; }
  .home-page .hero-stage.phone-showcase { width: min(540px,calc(100% - 56px)); margin: 62px auto 18px; }
  .home-page .floating-concierge { display: none; }
  .card-personalise { min-height: 50px; }
}
@media(max-width:600px) {
  :root { --header-height: 72px; --header-compact-height: 58px; --header-float-gap: 8px; }
  .site-header { padding-inline: 16px; gap: 10px; }
  .site-header.is-scrolled { width: calc(100% - 16px); padding-inline: 11px; border-radius: 16px; }
  .site-header .brand { gap: 7px; }
  .site-header .brand>.brand-wordmark { font-size: 22px; letter-spacing: .6px; }
  .site-header .brand-wordmark small { font-size: 7px; letter-spacing: 1.5px; margin-top: 4px; }
  .site-header .brand-mark { flex-basis: 64px; width: 64px; height: 64px; }
  .site-header.is-scrolled .brand-mark { flex-basis: 50px; width: 50px; height: 50px; }
  .site-header.is-scrolled .brand>.brand-wordmark { font-size: 20px; }
  .site-header.is-scrolled .brand-wordmark small { display: none; }
  .site-header .menu-toggle { width: 90px; min-width: 90px; padding-inline: 10px; font-size: 14px; }
  .site-header::after { width: 45px; height: 58px; }
  .hero-copy { padding: 38px 25px 34px; }
  .home-page .hero h1 { font-size: clamp(58px,15.4vw,88px); }
  .home-page .hero .eyebrow { font-size: 10px; letter-spacing: 1.8px; }
  .home-page .hero .eyebrow .tiny-line { display: none; }
  .home-page .hero .lede { font-size: 17px; line-height: 1.85; }
  .hero-action-panel { padding: 40px 25px 36px; }
  .hero-action-panel .hero-actions { grid-template-columns: minmax(0,1fr); gap: 13px; }
  .hero-action-panel .button { min-height: 54px; font-size: 16px; }
  .hero-action-panel .hero-concierge { grid-column: auto; min-height: 46px; font-size: 14px; margin-top: 1px; }
  .home-page .hero-stage.phone-showcase { width: calc(100% - 50px); min-height: 600px; }
  .studio-editor .palette-options { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .palette-atelier .custom-cover { padding-block: 44px; }
  .cta { padding: 70px 25px; }
  .cta .button { min-height: 52px; }
  .site-footer .brand>.brand-wordmark { font-size: 28px; }
  .site-footer .brand-mark { flex-basis: 74px; width: 74px; height: 74px; }
}
@media(max-width:370px) {
  .site-header { padding-inline: 15px; gap: 8px; }
  .site-header .brand-mark { flex-basis: 60px; width: 60px; height: 60px; }
  .site-header.is-scrolled .brand-mark { flex-basis: 48px; width: 48px; height: 48px; }
  .site-header .brand>.brand-wordmark { font-size: 21px; }
  .site-header .brand-wordmark small { font-size: 7px; letter-spacing: 1.5px; }
  .site-header .menu-toggle { width: 84px; min-width: 84px; padding-inline: 8px; gap: 7px; }
  .hero-copy { padding-inline: 22px; }
  .home-page .hero h1 { font-size: 58px; }
  .hero-action-panel { padding-inline: 22px; }
}
@media print {
  .has-site-header { padding-top: 0; }
  .site-header, .site-header.is-scrolled { position: static; width: 100%; height: auto; min-height: 72px; box-shadow: none; }
  .material-site, .site-header, .site-footer, .custom-section, .custom-event { background-image: none; }
  .hero-action-panel, .floating-concierge, .site-header::after { display: none; }
}
@media(prefers-reduced-motion:reduce) { .site-header, .site-header.is-scrolled { transition: none; } }

.floating-concierge svg { fill: none; stroke: currentColor; stroke-width: 1.5; }
