/* InviteStory showroom. Mineral light theme, forest controls; artwork retains its own palette.
   Shape rule: pills for actions, 24px for stages/panels, 14px for gallery media and inputs. */
.studio-home {
  --paper-page: #f6f8f6; --paper-surface: #edf2ef; --paper-card: #fff;
  --ink-primary: #173e35; --ink-body: #44564f; --ink-muted: #5c6a64; --ink-faint: #5c6a64;
  --color-bg-white: #fff; --color-bg-gray: #f6f8f6; --color-bg-elevated: #fff;
  --color-text-dark: #173e35; --color-text-soft: #44564f; --color-text-gray: #5c6a64; --color-text-muted: #5c6a64;
  --color-border: #d5e0da; --color-border-dark: #a8bfb3;
  --gold-100: #edf2ef; --gold-200: #d5e0da; --gold-400: #547c6b; --gold-500: #173e35; --gold-600: #173e35; --gold-700: #173e35;
  --color-accent: #173e35; --color-accent-hover: #285448; --color-accent-deep: #173e35; --color-accent-soft: #dfeae3; --color-accent-wash: #edf2ef;
  --font-body: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
  --radius-xs: 8px; --radius-sm: 14px; --radius-md: 24px; --radius-lg: 24px;
  background: var(--paper-page); color: var(--ink-primary); font-family: var(--font-body);
}
.studio-home .container { width: 100%; max-width: 1320px; padding-inline: 40px; }
.studio-home :is(button, a, summary, input, select):focus-visible { outline: 2px solid #173e35; outline-offset: 5px; }
.studio-home :is(button, .hero-primary-cta):active { transform: translateY(1px); }
.studio-skip-link { position: fixed; top: -80px; left: 16px; z-index: 200; padding: 14px 20px; background: #173e35; color: #fff; }
.studio-skip-link:focus { top: 12px; }
.studio-home .header-bar { padding: 0; background: #f6f8f6f5; border-bottom: 1px solid #d5e0da; box-shadow: none; backdrop-filter: blur(12px); }
.studio-home .header-container { min-height: 80px; display: flex; gap: 28px; flex-wrap: nowrap; }
.studio-home .logo-img { width: 146px; height: auto; object-fit: contain; }
.studio-nav { display: flex; gap: 32px; margin-left: auto; }
.studio-nav a { min-height: 44px; display: flex; align-items: center; font-size: 14px; color: #173e35; text-decoration: none; }
.studio-nav a:hover { text-decoration: underline; text-underline-offset: 6px; }
.studio-home .header-actions { display: flex; align-items: center; flex-wrap: nowrap; margin-left: 20px; gap: 16px; }
.studio-home .currency-switch-container { border: 0; border-radius: 999px; padding: 3px; background: #e9efeb; box-shadow: none; }
.studio-home .currency-btn { min-height: 38px; border-radius: 999px; padding: 8px 10px; font: 500 11px var(--font-body); color: #44564f; }
.studio-home .currency-btn.active { background: #fff; color: #173e35; box-shadow: none; }
.studio-home .header-wa-icon { background: transparent; color: #173e35; border: 0; box-shadow: none; }
.atelier-menu-toggle { display: none; }
.studio-home .floating-whatsapp { display: none; }
/* Opening: one statement, one invitation, one next step. */
.studio-home .studio-hero { padding: 48px 0 40px; min-height: 0; background: #f6f8f6; overflow: hidden; }
.studio-home .studio-hero::before, .studio-home .studio-hero::after { display: none; }
.studio-home .studio-hero .hero-layout { display: grid; grid-template-columns: 1.12fr 1fr; gap: 60px; align-items: center; max-width: 1320px; }
.studio-home .hero-copy { max-width: 650px; text-align: left; }
.studio-home .hero-kicker { margin: 0 0 24px; font: 500 11px/1.5 var(--font-body); letter-spacing: .12em; color: #5c6a64; }
.studio-home .studio-hero .hero-headline { font: 500 clamp(62px, 6.8vw, 92px)/.99 var(--font-serif); letter-spacing: -.052em; color: #173e35; margin: 0 0 26px; text-wrap: nowrap; max-width: none; }
.studio-home .hero-headline em { display: inline-block; font-weight: 500; line-height: 1.1; padding-bottom: 5px; }
.studio-home .hero-subheadline { text-align: left; max-width: 390px; margin: 0 0 30px; font: 400 16px/1.65 var(--font-body); color: #44564f; }
.studio-home .hero-action-wrapper { margin: 0; display: flex; justify-content: flex-start; }
.studio-home .hero-primary-cta { min-height: 54px; padding: 16px 26px; display: inline-flex; align-items: center; justify-content: space-between; gap: 38px; background: #173e35; color: #fff; border: 1px solid #173e35; border-radius: 999px; box-shadow: none; font: 500 14px var(--font-body); text-decoration: none; transition: background 180ms ease; }
.studio-home .hero-primary-cta:hover { background: #285448; }
.studio-home .hero-primary-cta::before, .studio-home .hero-primary-cta::after { display: none; }
.atelier-hero-product { min-width: 0; width: 100%; }
.atelier-envelope { position: relative; display: block; width: 100%; height: 500px; padding: 0; overflow: hidden; border: 0; border-radius: 24px; background: #dce5df; cursor: pointer; isolation: isolate; }
.atelier-envelope img { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; transition: transform 700ms cubic-bezier(.2,.7,.2,1); }
.atelier-envelope:hover img { transform: scale(1.035); }
.atelier-open-affordance { position: absolute; left: 20px; bottom: 20px; padding: 12px 18px; border-radius: 999px; background: #ffffffed; color: #173e35; display: flex; align-items: center; gap: 32px; font: 500 13px var(--font-body); }
.atelier-product-caption { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 2px 0; }
.atelier-product-caption strong { display: block; font: 500 15px var(--font-body); }
.atelier-product-caption span { display: block; font-size: 12px; color: #5c6a64; margin-top: 4px; }
.atelier-palette { display: flex; gap: 2px; }
.atelier-palette-choice { display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: transparent; border-radius: 999px; cursor: pointer; }
.atelier-palette-choice::before { content: ''; width: 22px; height: 22px; border-radius: 50%; background: var(--swatch); border: 3px solid #f6f8f6; box-shadow: 0 0 0 1px transparent; transition: box-shadow 200ms; }
.atelier-palette-choice.is-selected::before { box-shadow: 0 0 0 1px #173e35; }
.atelier-envelope.is-switching img { animation: atelier-art-change 450ms ease both; }
@keyframes atelier-art-change { from { opacity: .35; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }
/* Product demonstration: real motion, explicitly played by the visitor. */
.atelier-experience { padding: 88px 0; }
.atelier-experience-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }
.atelier-experience-copy h2, .atelier-service-title { font: 500 clamp(42px, 4.3vw, 62px)/1.02 var(--font-serif); letter-spacing: -.035em; color: #173e35; margin: 0 0 22px; }
.atelier-experience-copy h2 em, .atelier-service-title em { font-weight: 500; display: inline-block; line-height: 1.1; padding-bottom: 5px; }
.atelier-experience-copy > p, .atelier-service-intro > p:last-child { font: 400 15px/1.65 var(--font-body); color: #44564f; max-width: 350px; }
.atelier-feature-list { margin: 30px 0 14px; }
.atelier-feature-list > div { margin-bottom: 24px; }
.atelier-feature-list h3 { font: 500 15px/1.4 var(--font-body); margin-bottom: 6px; color: #173e35; }
.atelier-feature-list p { color: #5c6a64; font: 400 13px/1.6 var(--font-body); max-width: 370px; margin: 0; }
.atelier-text-link { display: inline-flex; gap: 24px; align-items: center; padding: 12px 0; min-height: 44px; color: #173e35; font: 500 13px var(--font-body); border: 0; background: transparent; cursor: pointer; text-decoration: underline; text-underline-offset: 5px; }
/* Catalogue: an unboxed, visual collection rather than a dashboard of controls. */
.studio-home .catalogue-section { background: #edf2ef !important; padding: 88px 0; border: 0; }
.studio-home .catalogue-section-header { text-align: left; position: relative; margin-bottom: 32px; padding: 0; }
.studio-home .section-title { font: 500 clamp(42px, 4.8vw, 66px)/1.04 var(--font-serif); letter-spacing: -.035em; color: #173e35; text-align: left; margin: 0 0 18px; max-width: 750px; }
.studio-home .section-title em { font-weight: 500; line-height: 1.1; display: inline-block; padding-bottom: 4px; color: #173e35; }
.studio-home .section-subtitle { max-width: 500px; color: #5c6a64; font: 400 15px/1.65 var(--font-body); text-align: left; margin: 0 0 30px; padding: 0; }
.studio-home .view-mode-toggle-wrap { position: static; display: none; }
.studio-home .view-mode-toggle { background: #fff; border: 1px solid #d5e0da; box-shadow: none; border-radius: 999px; }
.studio-home .view-mode-btn { min-height: 44px; border-radius: 999px; }
.studio-home .view-mode-btn.active { background: #173e35; color: #fff; box-shadow: none; }
.studio-home .controls-card { display: flex; flex-direction: column; gap: 16px; align-items: stretch; margin-bottom: 32px; background: transparent; border: 0; box-shadow: none; padding: 0; }
.studio-home .search-box-wrapper { max-width: 430px; width: 100%; }
.studio-home .search-input { min-height: 48px; background: #ffffff80; border: 1px solid #c8d6cd; border-radius: 999px; box-shadow: none; font-size: 14px; }
.studio-home .filter-tags-row { display: flex; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; gap: 8px; padding-block: 4px; scrollbar-width: none; }
.studio-home .filter-tag { flex-shrink: 0; min-height: 44px; border: 1px solid #c8d6cd; border-radius: 999px; background: transparent; box-shadow: none; color: #44564f; font: 400 13px var(--font-body); padding: 10px 18px; }
.studio-home .filter-tag.active { background: #173e35; border-color: #173e35; color: #fff; }
.studio-home .sales-style-finder { background: transparent; border-radius: 14px; border: 1px solid #c8d6cd; margin: 0 0 24px; }
.studio-home .sales-style-finder summary { min-height: 44px; font-size: 13px; }
.studio-home .sales-style-finder :is(input, select) { background: #fff; border-radius: 14px; }
.studio-home .sales-style-finder button { border-radius: 999px; background: #173e35; }
.studio-home .sales-saved-designs[data-has-choices='false'] { display: none; }
.studio-home .sales-saved-designs { background: transparent; border: 0; padding: 0; margin-bottom: 24px; }
.studio-home .sales-resume { border: 0; border-radius: 14px; background: #dfeae3; color: #173e35; }
.studio-home .sales-discovery-status { margin: 0 0 24px; text-align: left; color: #5c6a64; font-size: 12px; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 40px 28px !important; padding: 0; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card { display: grid; grid-template-columns: 1fr auto; align-content: start; min-height: 0 !important; aspect-ratio: auto !important; height: auto; background: transparent; border: 0; box-shadow: none; border-radius: 0 !important; overflow: visible; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-media { position: relative; grid-column: 1 / -1; width: 100%; height: auto; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 14px; background: #dce5df; }
.studio-home .template-card-img { object-fit: cover; object-position: top; transition: transform 600ms ease; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card:hover .template-card-img { transform: scale(1.025); }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-overlay { display: none; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-content { position: static; grid-column: 1; grid-row: 2; display: block; padding: 18px 0 0 !important; width: 100%; background: none !important; border-radius: 0; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-title { color: #173e35; font: 500 18px/1.35 var(--font-body) !important; text-shadow: none; letter-spacing: -.02em; margin: 0 0 6px; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) :is(.template-card-tags,.template-card-desc,.sales-card-included,.template-btn-pay,.template-card-wa-link) { display: none !important; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-price-wrap { justify-content: flex-start; gap: 10px; flex-wrap: wrap; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-price { color: #44564f; font: 400 14px var(--font-body) !important; text-shadow: none; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-tier-label { color: #5c6a64; font-size: 10px; letter-spacing: .04em; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-actions { display: block; margin-top: 4px; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-btn-preview-primary { display: inline-flex; justify-content: flex-start; gap: 10px; width: auto; min-height: 44px; padding: 8px 0; background: transparent !important; border: 0 !important; color: #173e35 !important; border-radius: 0; box-shadow: none !important; font-size: 13px; backdrop-filter: none; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .btn-text-invitation { display: none; }
.studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .sales-save-design { position: relative; z-index: 10; inset: auto; grid-column: 2; grid-row: 2; align-self: start; margin-top: 12px; min-height: 44px; min-width: 44px; padding: 8px 0 8px 10px; border: 0; border-radius: 0; color: #5c6a64; background: transparent; box-shadow: none; font-size: 12px; }
.studio-home .sales-save-design[aria-pressed='true'] { color: #173e35 !important; text-decoration: underline; text-underline-offset: 4px; }
.studio-home .sales-browse-all { padding: 15px 28px; min-height: 52px; color: #173e35; background: transparent; border: 1px solid #9ab6a7; border-radius: 999px; box-shadow: none; }
.studio-home .sales-inline-tiers { position: static !important; inset: auto !important; width: auto; max-width: 100%; margin: 0; opacity: 1 !important; transform: none !important; pointer-events: auto !important; }
.studio-home .sales-inline-tiers .glass-radio-group { box-shadow: none; background: #fff; border: 1px solid #c8d6cd; border-radius: 999px; backdrop-filter: none; }
.studio-home .sales-inline-tiers .glass-radio-group .glass-glider { background: #173e35 !important; box-shadow: none; border-radius: 999px; }
.studio-home .sales-inline-tiers .glass-radio-group label { min-height: 44px; color: #44564f; }
.studio-home .sales-inline-tiers .glass-radio-group input:checked + label, .studio-home .sales-inline-tiers .glass-radio-group input:checked + label .tier-meta { color: #fff; }
.studio-mobile-refine { display: block; border-bottom: 1px solid #c8d6cd; }
.studio-mobile-refine > summary { min-height: 44px; padding: 12px 0; color: #44564f; font-size: 13px; cursor: pointer; }
.studio-refine-body { display: grid; gap: 14px; padding-bottom: 18px; }
.studio-refine-body .view-mode-toggle-wrap { display: flex; margin: 0; }
.studio-refine-body .sales-style-finder { margin: 0; }
.studio-home .sales-saved-designs[data-saved-count='0'] .saved-designs-heading { display: none; }
/* Personalization: the team's role, with no unrelated stock photograph. */
.studio-home .how-it-works { background: #f6f8f6; padding: 100px 0; border: 0; }
.studio-home .studio-process-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
.atelier-service-label { font-size: 12px; color: #5c6a64; margin: 0 0 24px; }
.studio-home .how-it-works-header { text-align: left; margin: 0 0 28px; }
.studio-home .how-section-title { font: 500 15px var(--font-body); color: #173e35; }
.studio-home .how-steps { display: grid; grid-template-columns: 1fr; gap: 28px; }
.studio-home .how-step { display: grid; grid-template-columns: 42px 1fr; gap: 0 20px; padding: 0; text-align: left; border: 0; background: transparent; box-shadow: none; }
.studio-home .how-step-icon { grid-row: 1 / 3; width: 42px; height: auto; padding: 0; margin: 0; background: none; border: 0; box-shadow: none; color: #9ab6a7; font: 500 48px/1 var(--font-serif); }
.studio-home .how-step-title { margin: 0 0 8px; font: 500 19px var(--font-body); color: #173e35; }
.studio-home .how-step-desc { max-width: 390px; font: 400 13px/1.65 var(--font-body); color: #5c6a64; margin: 0; }
.studio-home .how-step-arrow { display: none; }
.studio-home .how-steps-tagline { margin: 28px 0 0 62px; padding: 20px 0 0; text-align: left; border-top: 1px solid #d5e0da; color: #5c6a64; font-size: 12px; line-height: 1.6; }
/* Evidence: quotes you can read and conversations you can inspect. */
.studio-home .social-proof { padding: 80px 0; background: #edf2ef; }
.studio-home #hero-customer-proof { display: none; }
.atelier-testimonial { display: grid; grid-template-columns: 1.4fr .7fr; gap: 100px; align-items: center; margin-top: 50px; }
.atelier-quote-copy blockquote { font: 500 clamp(30px, 3.5vw, 48px)/1.14 var(--font-serif); letter-spacing: -.02em; color: #173e35; margin: 0 0 24px; max-width: 630px; }
.atelier-quote-copy > p { color: #5c6a64; font-size: 13px; margin: 0 0 12px; }
.atelier-review-selector { display: flex; gap: 24px; margin-top: 24px; }
.atelier-review-selector button { border: 0; border-bottom: 1px solid transparent; min-height: 44px; padding: 10px 0; background: transparent; color: #5c6a64; font: 400 13px var(--font-body); cursor: pointer; }
.atelier-review-selector button[aria-pressed='true'] { color: #173e35; border-color: #173e35; }
.atelier-chat-image { display: block; width: 100%; max-width: 300px; height: 330px; padding: 0; border: 8px solid #fff; border-radius: 24px; overflow: hidden; background: #fff; cursor: zoom-in; transform: rotate(2deg); }
.atelier-chat-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.atelier-all-reviews { margin-top: 40px; border-top: 1px solid #c8d6cd; }
.atelier-all-reviews > summary { min-height: 48px; padding: 14px 0; font-size: 13px; cursor: pointer; color: #44564f; }
.studio-home .wa-reviews-header { display: none; }
.studio-home .wa-reviews-showcase { padding: 20px 0; border: 0; box-shadow: none; background: transparent; }
.studio-home .wa-card { border-radius: 14px; box-shadow: none; }
.studio-home .trust-marquee { margin-top: 36px; padding: 24px 0 0; background: transparent; border: 0; border-top: 1px solid #c8d6cd; border-radius: 0; box-shadow: none; }
.studio-home .trust-marquee-track { display: block; animation: none; width: 100%; transform: none !important; }
.studio-home .trust-marquee-set { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; padding: 0; }
.studio-home .trust-marquee-set:not(:first-child) { display: none; }
.studio-home .trust-item { min-width: 0; padding: 0; gap: 10px; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.studio-home .trust-icon { width: 24px; height: 24px; }
.studio-home .trust-text strong { font-size: 12px; }
.studio-home .trust-text span { font-size: 11px; }
/* Collections: invitation artwork leads each offer. */
.studio-home .pricing-section { background: #f6f8f6; padding: 90px 0; }
.studio-home .pricing-diff-line { display: none; }
.studio-home .sales-value-price { text-align: left; font-size: 13px; margin: 0 0 28px; color: #5c6a64; }
.studio-home .pricing-selected-design { display: grid; grid-template-columns: 44px 1fr auto; gap: 18px; align-items: center; margin: 0 0 24px; padding: 18px 22px; background: #e5eee8; border: 0; border-radius: 24px; text-align: left; }
.studio-home .pricing-selected-design img { width: 44px; height: 56px; object-fit: cover; border-radius: 8px; }
.studio-home .pricing-selected-design small { display: block; color: #5c6a64; font-size: 12px; margin-top: 4px; }
.studio-home .pricing-selected-design .sales-text-button { background: #173e35; color: #fff; border-radius: 999px; padding: 12px 22px; min-height: 48px; text-decoration: none; }
.studio-home .pricing-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 22px !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; }
.studio-home .pricing-grid .pricing-card { display: grid; grid-template-columns: 230px minmax(0,1fr) 220px; grid-template-rows: auto auto 1fr; column-gap: 32px; padding: 24px !important; border: 1px solid #d5e0da; border-radius: 24px; background: #fff; width: 100% !important; max-width: none !important; min-width: 0 !important; flex: none; box-shadow: none; text-align: left; }
.studio-home .pricing-card::before, .studio-home .pricing-card::after { display: none; }
.atelier-collection-art { grid-column: 1; grid-row: 1 / 5; width: 100%; min-height: 260px; border: 0; padding: 0; background: #e9efeb; border-radius: 14px; overflow: hidden; cursor: pointer; }
.atelier-collection-art img { width: 100%; height: 100%; max-height: 280px; object-fit: cover; object-position: center 25%; }
.studio-home .pricing-popular-badge { display: none; }
.studio-home .pricing-card-header { grid-column: 2; grid-row: 1; margin: 4px 0 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.studio-home .pricing-card-name { font: 500 32px var(--font-serif); color: #173e35; text-transform: none; letter-spacing: -.025em; margin: 0; }
.studio-home .pricing-card-price { font: 500 23px var(--font-body); color: #173e35; }
.studio-home .pricing-card-tagline { grid-column: 2; grid-row: 2; color: #44564f; text-align: left; font: 400 14px/1.5 var(--font-body); font-style: normal; min-height: 0; margin: 0 0 20px; }
.studio-package-details { grid-column: 2; grid-row: 3 / 5; }
.studio-package-details > summary { min-height: 44px; padding: 12px 0; font-size: 13px; color: #173e35; cursor: pointer; }
.studio-home .pricing-card-features { margin: 0; padding: 0; }
.studio-home .pricing-card-feature-item { font: 400 12px/1.5 var(--font-body); color: #5c6a64; margin-bottom: 9px; gap: 8px; }
.studio-home .pricing-feature-icon { color: #547c6b; }
.studio-home .pricing-card-cta { grid-column: 3; grid-row: 1; align-self: end; min-height: 48px; background: #173e35 !important; color: #fff !important; border: 0; border-radius: 999px; box-shadow: none !important; font-size: 13px; padding: 14px 18px; white-space: nowrap; }
.studio-home .pricing-card .pkg-ask-btn { grid-column: 3; grid-row: 2; background: transparent; border: 0; border-radius: 999px; box-shadow: none; color: #173e35; font-size: 12px; min-height: 44px; margin: 8px 0 0; }
.studio-home .pkg-microcopy { grid-column: 3; grid-row: 3; color: #5c6a64; font: 400 11px/1.6 var(--font-body); margin-top: 12px; text-align: center; }
.studio-home :is(.pricing-swipe-hint,.pricing-dots,.pricing-slot-line) { display: none !important; }
.studio-home .pricing-trust-strip { justify-content: flex-start; gap: 20px; margin-top: 24px; color: #5c6a64; }
.studio-home .sales-package-comparison { padding: 0; margin: 24px 0 0; border-radius: 0; background: transparent; }
.studio-home .sales-package-comparison summary, .studio-timing-check > summary { min-height: 48px; padding: 14px 0; font-size: 13px; color: #173e35; cursor: pointer; }
.studio-timing-check { border-top: 1px solid #d5e0da; margin-top: 16px; }
.studio-home .sales-delivery-planner { background: #edf2ef; border-radius: 24px; margin-top: 10px; }
.studio-home .sales-delivery-planner input { min-height: 48px; font-size: 16px; border-radius: 14px; }
/* Further collection exploration is available without repeating the primary showroom. */
.studio-home .sales-dearly-showcase { margin: 0 auto 70px; max-width: 1240px; padding: 0; }
.studio-home .sales-dearly-showcase > summary { display: list-item; background: #edf2ef; padding: 22px 28px; color: #173e35; border: 1px solid #d5e0da; border-radius: 24px; }
.studio-home .dearly-showroom-section { background: transparent; color: #173e35; padding: 50px 0 0; border: 0; }
.studio-home .dearly-showroom-section::before, .studio-home .dearly-showroom-section::after { display: none; }
.studio-home :is(.dearly-showroom-title,.dearly-price-amount) { color: #173e35; }
.studio-home :is(.dearly-showroom-title em,.dearly-showroom-eyebrow,.dearly-showroom-subtitle,.dearly-price-note,.dearly-showroom-features,.dearly-browse-all-link) { color: #44564f; }
.studio-home .dearly-card { border: 0; background: transparent; box-shadow: none; border-radius: 14px; }
.studio-home .dearly-card-media { border-radius: 14px; }
.studio-home .dearly-card-info { padding: 16px 0; }
.studio-home :is(.dearly-card-cta,.dearly-explore-link) { border-radius: 999px; background: #173e35; color: #fff; border: 0; }
.studio-home .dearly-card-preview-action { border-radius: 999px; border-color: #9ab6a7; color: #173e35; }
/* Questions and ending: readable, calm, with a deliberate editorial close. */
.studio-home .faq-section { padding: 70px 0 90px; background: #f6f8f6; }
.studio-home .faq-section .container { display: grid; grid-template-columns: .85fr 1.15fr; gap: 0 90px; }
.studio-home .faq-section .section-title { grid-column: 1; grid-row: 1; }
.studio-home .faq-section .section-subtitle { grid-column: 1; grid-row: 2; align-self: start; }
.studio-home .faq-list { grid-column: 2; grid-row: 1 / 4; width: 100%; margin: 0; }
.studio-home .faq-item { border: 0; border-bottom: 1px solid #d5e0da; border-radius: 0; background: transparent; box-shadow: none; }
.studio-home .faq-question { min-height: 60px; padding: 18px 0; color: #173e35; font: 500 15px/1.45 var(--font-body); }
.studio-home .faq-answer-inner { padding: 0 0 24px; color: #5c6a64; font: 400 14px/1.7 var(--font-body); }
.studio-more-questions > summary { min-height: 52px; padding: 16px 0; font-size: 13px; color: #44564f; cursor: pointer; }
.studio-other-options { max-width: 1240px; margin: 0 auto 60px; border-top: 1px solid #d5e0da; }
.studio-other-options > summary { min-height: 52px; padding: 16px 0; color: #44564f; font-size: 13px; cursor: pointer; }
.studio-home :is(.budget-section,.guides-section) { background: #f6f8f6; padding: 30px 0; }
.studio-home .budget-downsell-card { border: 1px solid #d5e0da; background: #edf2ef; border-radius: 24px; box-shadow: none; }
.studio-home .budget-downsell-card :is(h3,p,span) { color: #44564f; }
.studio-home .budget-downsell-cta { background: #173e35 !important; color: #fff !important; border: 0; border-radius: 999px; box-shadow: none; }
.studio-home .guide-card { background: transparent; border-radius: 0; box-shadow: none; }
.studio-home .final-cta { position: relative; padding: 90px 0; background: #e5eee8; border: 0; }
.studio-home .final-cta::before, .studio-home .final-cta::after { display: none; }
.studio-home .final-cta .container { display: grid; grid-template-columns: 1fr 1fr; column-gap: 80px; align-items: center; background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-block: 0; overflow: visible; }
.studio-home .final-cta .container::before { display: none; }
.studio-home .final-cta-title { grid-column: 1; grid-row: 1 / 4; font: 500 clamp(60px,7vw,100px)/.95 var(--font-serif); letter-spacing: -.05em; text-align: left; color: #173e35; margin: 0; }
.studio-home .final-cta-title em { display: inline-block; line-height: 1.1; padding-bottom: 5px; font-weight: 500; color: #173e35; }
.studio-home .final-cta-desc { grid-column: 2; text-align: left; max-width: 340px; margin: 0 0 24px; font: 400 17px/1.65 var(--font-body); color: #44564f; }
.studio-home .final-cta-buttons { grid-column: 2; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px; }
.studio-home .final-cta-buttons .btn-hero-primary { border-radius: 999px; min-height: 52px; padding: 16px 24px; background: #173e35; color: #fff; border: 0; box-shadow: none; font-size: 14px; }
.studio-home .final-cta-wa-btn { color: #173e35 !important; min-height: 48px; padding: 12px 0; background: transparent; color: #173e35; border: 0; border-radius: 999px; box-shadow: none; font-size: 13px; }
.studio-home .final-cta-micro { grid-column: 2; text-align: left; margin-top: 20px; color: #5c6a64; font-size: 11px; }
.studio-home .footer { padding: 60px 0 24px; background: #f6f8f6; color: #44564f; border: 0; }
.studio-home .footer-top { grid-template-columns: 1.4fr 1fr 1fr; gap: 60px; }
.studio-home .footer-logo { filter: none; }
.studio-home :is(.footer-brand p,.footer-links a,.footer-bottom) { color: #5c6a64; font-size: 12px; }
.studio-home .footer-heading { color: #173e35; font: 500 14px var(--font-body); }
.studio-home .footer-links a { display: inline-flex; align-items: center; min-height: 36px; }
.studio-home .footer-bottom { border-color: #d5e0da; margin-top: 40px; }
/* Shared purchasing surfaces: the same design language, accurate service details. */
.studio-home #order-drawer-modal { --order-panel-top:#fff; --order-panel-bottom:#f6f8f6; --order-ink:#173e35; --order-muted:#5c6a64; --order-accent:#173e35; --order-surface:#fff; --order-soft:#edf2ef; --order-border:#d5e0da; --order-shadow:#173e3528; --order-cta-start:#173e35; --order-cta-mid:#173e35; --order-cta-end:#173e35; --order-cta-ink:#fff; }
.studio-home .order-drawer-checkout-btn { border-radius: 999px; min-height: 52px; box-shadow: none; }
.studio-home :is(.order-drawer-card,.order-addon-item,.order-drawer-total-bar) { border-radius: 14px; }
.studio-home .order-addon-item input { width: 22px; height: 22px; accent-color: #173e35; }
.studio-home #preview-modal { background: #edf2ef; }
.studio-home #preview-modal .preview-footer-controls { z-index: 60; }
.studio-home #preview-modal :is(.preview-icon-btn,.preview-expand-btn,.preview-side-arrow) { background: #fff; color: #173e35; border-color: #d5e0da; box-shadow: none; }
.studio-home #preview-modal .preview-modal-toolbar { background: #fff; border: 1px solid #d5e0da; border-radius: 24px; box-shadow: none; }
.studio-home #preview-modal #preview-instant-pay-btn { background: #173e35 !important; color: #fff !important; border: 0; border-radius: 999px; box-shadow: none; min-height: 48px; }
.studio-home #preview-modal .preview-tier-tab.is-active { background: #dfeae3; color: #173e35; }
.studio-home .sales-mobile-booking { background: #fffffff5; border-color: #d5e0da; }
.studio-home .sales-mobile-book-btn { background: #173e35; border-radius: 999px; }
@media (min-width: 761px) { .studio-package-details > summary { display: none; } }
@media (max-width: 1100px) and (min-width: 761px) {
  .studio-home .container { padding-inline: 28px; }
  .studio-home .studio-hero .hero-layout { gap: 35px; grid-template-columns: 1.1fr 1fr; }
  .studio-home .studio-hero .hero-headline { font-size: clamp(56px,6.7vw,78px); }
  .atelier-envelope { height: 450px; }
  .atelier-experience-layout, .studio-home .studio-process-layout { gap: 50px; }
  .studio-home .pricing-grid .pricing-card { grid-template-columns: 180px minmax(0,1fr) 170px; gap: 24px; }
  .studio-home .pricing-card-header { display: block; }
  .studio-home .faq-section .container { gap: 0 45px; }
}
@media (max-width: 760px) {
  .studio-home .container { padding-inline: 22px; }
  .studio-home .header-container { min-height: 68px; gap: 12px; padding-block: 10px; flex-wrap: wrap; }
  .studio-home .logo-img { width: 110px; }
  .studio-home .header-actions { margin-left: auto; gap: 8px; }
  .studio-home .header-wa-icon { display: none; }
  .studio-home .currency-btn { font-size: 11px; padding: 6px 8px; min-height: 44px; }
  .atelier-menu-toggle { display: inline-flex; align-items: center; gap: 10px; order: 3; min-height: 44px; padding: 8px 0 8px 8px; background: transparent; border: 0; color: #173e35; font: 500 12px var(--font-body); }
  .atelier-menu-toggle span { font-size: 21px; font-weight: 300; }
  .studio-nav { display: none; order: 4; width: 100%; margin: 0; padding: 14px 0 4px; border-top: 1px solid #d5e0da; justify-content: space-between; gap: 12px; }
  .studio-nav.is-open { display: flex; }
  .studio-nav a { font-size: 13px; }
  .studio-home .studio-hero { padding: 30px 0 28px; }
  .studio-home .studio-hero .hero-layout { grid-template-columns: minmax(0,1fr); gap: 30px; }
  .studio-home .hero-kicker { font-size: 10px; letter-spacing: .10em; margin-bottom: 16px; }
  .studio-home .studio-hero .hero-headline { font-size: clamp(45px,12.6vw,72px); margin-bottom: 18px; }
  .studio-home .hero-subheadline { font-size: 14px; line-height: 1.6; max-width: 350px; margin-bottom: 22px; }
  .studio-home .hero-primary-cta { min-height: 50px; padding: 14px 22px; font-size: 13px; gap: 35px; width: auto; }
  .atelier-envelope { height: 300px; border-radius: 24px; }
  .atelier-open-affordance { left: 16px; bottom: 16px; font-size: 12px; padding: 12px 16px; gap: 24px; }
  .atelier-product-caption { padding-top: 12px; gap: 8px; }
  .atelier-product-caption strong { font-size: 13px; }
  .atelier-product-caption span { font-size: 11px; }
  .atelier-palette-choice { width: 40px; height: 44px; }
  .atelier-experience { padding: 58px 0 64px; }
  .atelier-experience-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .atelier-experience-copy { order: -1; }
  .atelier-experience-copy h2, .atelier-service-title { font-size: clamp(38px,10.5vw,56px); margin-bottom: 18px; }
  .atelier-experience-copy > p { font-size: 14px; max-width: 340px; }
  .atelier-feature-list { display: grid; gap: 16px; margin: 24px 0 10px; }
  .atelier-feature-list > div { margin: 0; }
  .atelier-feature-list h3 { font-size: 14px; }
  .atelier-feature-list p { font-size: 12px; }
  .studio-home .catalogue-section { padding: 60px 0; }
  .studio-home .section-title { font-size: clamp(38px,10.3vw,54px); }
  .studio-home .section-subtitle { font-size: 14px; margin-bottom: 24px; }
  .studio-home .catalogue-section-header { margin-bottom: 22px; }
  .studio-home .controls-card { margin-bottom: 24px; gap: 12px; }
  .studio-home .search-input { font-size: 16px; }
  .studio-home .filter-tag { min-height: 44px; padding: 10px 15px; font-size: 12px; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 26px 14px !important; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-media { aspect-ratio: 3 / 4.6; border-radius: 14px; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-content { padding-top: 12px !important; grid-column: 1 / -1; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-title { font-size: 13px !important; min-height: 36px; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-price { font-size: 12px !important; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-tier-label { font-size: 8px; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-price-wrap { gap: 5px; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .sales-save-design { grid-row: 3; grid-column: 2; margin: -44px 0 0; padding: 8px 0 8px 6px; font-size: 11px; }
  .studio-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-btn-preview-primary { font-size: 12px; }
  .studio-home .sales-discovery-status { font-size: 11px; margin-bottom: 16px; }
  .studio-home .sales-saved-designs[data-saved-count='0'] .saved-designs-heading { display: none; }
  .studio-home .sales-saved-designs[data-saved-count='0'] { padding: 0; margin-bottom: 14px; }
  .studio-mobile-refine { display: block; border-bottom: 1px solid #c8d6cd; }
  .studio-mobile-refine > summary { min-height: 44px; padding: 12px 0; font-size: 12px; color: #44564f; cursor: pointer; }
  .studio-refine-body { display: grid; gap: 14px; padding-bottom: 18px; }
  .studio-refine-body .view-mode-toggle-wrap { display: flex; margin: 0; }
  .studio-refine-body .sales-style-finder { margin: 0; }
  .studio-home .sales-inline-tiers { width: 100% !important; }
  .studio-home .how-it-works { padding: 64px 0; }
  .studio-home .studio-process-layout { grid-template-columns: 1fr; gap: 36px; }
  .atelier-service-label { margin-bottom: 16px; font-size: 11px; }
  .atelier-service-intro > p:last-child { font-size: 14px; }
  .studio-home .how-it-works-header { display: none; }
  .studio-home .how-steps { gap: 26px; }
  .studio-home .how-step { grid-template-columns: 34px 1fr; gap: 0 16px; }
  .studio-home .how-step-icon { font-size: 42px; width: 34px; }
  .studio-home .how-step-title { font-size: 16px; }
  .studio-home .how-step-desc { font-size: 12px; }
  .studio-home .how-steps-tagline { margin-left: 50px; font-size: 11px; }
  .studio-home .social-proof { padding: 60px 0; }
  .atelier-testimonial { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; }
  .atelier-quote-copy blockquote { font-size: 34px; margin-bottom: 18px; }
  .atelier-review-selector { gap: 20px; margin-top: 16px; }
  .atelier-review-selector button { font-size: 12px; }
  .atelier-chat-image { width: 100%; max-width: none; height: 245px; transform: none; border-width: 6px; border-radius: 24px; }
  .atelier-chat-image img { object-fit: cover; object-position: center; }
  .atelier-all-reviews { margin-top: 28px; }
  .studio-home .trust-marquee-set { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 16px; }
  .studio-home .trust-text strong { font-size: 11px; }
  .studio-home .trust-text span { font-size: 10px; }
  .studio-home .trust-icon { display: none; }
  .studio-home .pricing-section { padding: 60px 0; }
  .studio-home .pricing-selected-design { grid-template-columns: 34px 1fr; padding: 16px; gap: 12px; }
  .studio-home .pricing-selected-design img { width: 34px; height: 44px; }
  .studio-home .pricing-selected-design .sales-text-button { grid-column: 1 / -1; width: 100%; min-height: 48px; }
  .studio-home .pricing-grid .pricing-card { grid-template-columns: 80px minmax(0,1fr); grid-template-rows: auto auto auto auto auto; padding: 18px !important; column-gap: 16px; }
  .atelier-collection-art { grid-column: 1; grid-row: 1 / 3; min-height: 112px; height: 112px; border-radius: 14px; }
  .atelier-collection-art img { height: 112px; object-position: center; }
  .studio-home .pricing-card-header { grid-column: 2; grid-row: 1; flex-direction: column; align-items: flex-start; gap: 4px; margin: 4px 0 8px; }
  .studio-home .pricing-card-name { font-size: 27px; }
  .studio-home .pricing-card-price { font-size: 20px; }
  .studio-home .pricing-card-tagline { grid-column: 2; grid-row: 2; font-size: 12px; margin: 0; }
  .studio-package-details { grid-column: 1 / -1; grid-row: 3; margin-top: 12px; }
  .studio-home .pricing-card-feature-item { font-size: 12px; }
  .studio-home .pricing-card-features { margin-bottom: 16px; }
  .studio-home .pricing-card-cta { grid-column: 1 / -1; grid-row: 4; width: 100%; align-self: auto; }
  .studio-home .pricing-card .pkg-ask-btn { grid-column: 1 / -1; grid-row: 5; font-size: 12px; margin: 0; }
  .studio-home .pkg-microcopy { grid-column: 1 / -1; grid-row: 6; text-align: center; margin: 0; font-size: 10px; }
  .studio-home .sales-value-price { font-size: 12px; line-height: 1.6; }
  .studio-home .pricing-trust-strip { font-size: 10px; gap: 10px; flex-wrap: wrap; }
  .studio-home .sales-dearly-showcase { margin: 0 22px 35px; }
  .studio-home .sales-dearly-showcase > summary { padding: 18px; font-size: 14px; }
  .studio-home .sales-dearly-showcase > summary span { font-size: 11px; }
  .studio-home .dearly-showroom-section .container { padding: 0; }
  .studio-home .dearly-card-name { font-size: 17px; }
  .studio-home .dearly-card-cta { display: none; }
  .studio-home .dearly-card-actions { gap: 10px; }
  .studio-home .faq-section { padding: 42px 0 60px; }
  .studio-home .faq-section .container { display: block; }
  .studio-home .faq-question { min-height: 58px; font-size: 14px; }
  .studio-home .faq-answer-inner { font-size: 13px; }
  .studio-other-options { margin: 0 22px 45px; }
  .studio-home .final-cta { padding: 60px 0; }
  .studio-home .final-cta .container { display: block; }
  .studio-home .final-cta-title { font-size: clamp(60px,16vw,86px); margin-bottom: 26px; }
  .studio-home .final-cta-desc { font-size: 15px; max-width: 300px; }
  .studio-home .final-cta-buttons { align-items: flex-start; flex-direction: column; gap: 8px; }
  .studio-home .final-cta-micro { font-size: 10px; }
  .studio-home .footer { padding-top: 44px; }
  .studio-home .footer-top { grid-template-columns: 1fr 1fr; gap: 32px 22px; }
  .studio-home .footer-brand { grid-column: 1 / -1; }
  .studio-home .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; font-size: 10px; }
  .studio-home #preview-modal .preview-footer-controls { padding: 0 4px; background: #fff; border-bottom: 1px solid #d5e0da; border-radius: 0; }
  .studio-home #preview-modal .preview-modal-toolbar { border-radius: 24px 24px 0 0; }
}
@media (max-width: 360px) {
  .studio-home .container { padding-inline: 18px; }
  .studio-home .logo-img { width: 90px; }
  .studio-home .currency-btn { padding-inline: 6px; }
  .studio-home .studio-hero .hero-headline { font-size: 44px; }
  .atelier-product-caption strong { font-size: 12px; }
  .atelier-palette-choice { width: 34px; }
  .atelier-review-selector { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-home *, .studio-home *::before, .studio-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Optional utility surfaces use the same neutral system as the showroom. */
.studio-home .sales-inline-actions button { border-radius: 999px; background: #fff; color: #173e35; border-color: #c8d6cd; }
.studio-home :is(.saved-designs-heading strong,.sales-resume span,.sales-comparison-scroll button) { color: #173e35; }
.studio-home :is(.saved-designs-heading p,.sales-resume small,.sales-style-finder label,.sales-planner-fields label,#finder-explanation,.sales-delivery-planner p) { color: #5c6a64; }
.studio-home .sales-comparison-scroll { border-color: #d5e0da; border-radius: 14px; }
.studio-home .sales-comparison-scroll table { background: #fff; color: #44564f; }
.studio-home .sales-comparison-scroll thead th { background: #edf2ef; color: #173e35; }
.studio-home .sales-comparison-scroll :is(th,td) { border-color: #d5e0da; }
.studio-home .sales-delivery-planner h3 { color: #173e35; }
.studio-home .sales-planner-fields input { background: #fff; color: #173e35; border-color: #c8d6cd; }
.studio-home .sales-preview-context { color: #5c6a64; }
.studio-home :is(#catalogue-header,#pricing,#how-it-works) { scroll-margin-top: 80px; }
.studio-home .pricing-card :is(.pricing-card-name,.pricing-card-price,.pricing-card-tagline,.pricing-card-feature-item,.pkg-microcopy) { color: #44564f; }
.studio-home .pricing-card :is(.pricing-card-name,.pricing-card-price) { color: #173e35; opacity: 1; }
.studio-home .pricing-card .pricing-feature-icon { color: #547c6b; }
.studio-home .pricing-card .pkg-ask-btn { color: #173e35; background: transparent; border: 0; }
.studio-home .pricing-card .pricing-card-cta { border: 0 !important; background: #173e35 !important; color: #fff !important; }
@media (max-width:760px) { .studio-home :is(#catalogue-header,#pricing,#how-it-works) { scroll-margin-top: 68px; } }
.atelier-service-intro, .atelier-service-title { text-align: left; }
.studio-home .how-step::after, .studio-home .how-step::before { display: none; }
.studio-home .how-step-icon { color: #547c6b; }
.atelier-palette-choice { min-width: 44px; min-height: 44px; }
@media (max-width:760px) { .atelier-palette-choice { width: 44px; } }
.studio-home .how-step-icon::after { display: none; }
.studio-home #preview-modal .preview-modal-scrim { background: #edf2ef; backdrop-filter: none; }
.studio-home #preview-modal .preview-modal-ambient-glow { display: none; }
.studio-home #preview-modal .preview-modal-panel { background: transparent; border: 0; box-shadow: none; }
.studio-home #preview-modal .preview-counter-badge { color: #44564f; }
.studio-home #preview-modal :is(.preview-toolbar-share,.preview-toolbar-faq,.preview-toolbar-whatsapp) { background: #fff !important; color: #173e35 !important; border-color: #d5e0da !important; box-shadow: none; }
.studio-home #preview-modal :is(.preview-tier-tab,.preview-sheet-title,.preview-sheet-meta,.preview-counter-badge) { color: #173e35; }
.studio-home .order-drawer-delivery-tag { background: #dfeae3; color: #173e35; border: 0; }
@media (max-width:760px) {
  .studio-home .sales-mobile-booking { grid-template-columns: 32px minmax(0,1fr) auto 44px; padding-inline: 12px; color: #173e35; box-shadow: 0 -4px 20px #173e350c; }
  .studio-home .sales-mobile-booking small { white-space: nowrap; color: #5c6a64; }
  .studio-home .sales-mobile-book-close { width: 44px; color: #44564f; }
}

/* Browsing first: quiet chrome, immediate artwork and a predictable save action. */
.studio-home.browse-home { --paper-page:#fff; --color-bg-white:#fff; background:#fff; }
.studio-home.browse-home .header-bar { background:#fffffff5; border-color:#ebebeb; }
.studio-home.browse-home .studio-hero { padding:34px 0 8px; background:#fff; }
.studio-home.browse-home .studio-hero .hero-layout { display:block; }
.studio-home.browse-home .hero-copy { max-width:none; }
.studio-home.browse-home .hero-kicker { display:none; }
.studio-home.browse-home .hero-action-wrapper { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:8px 20px; margin:14px 0 0; }
.studio-home.browse-home .hero-primary-cta { min-height:44px; padding:11px 18px; font-size:13px; }
.studio-home .hero-whatsapp-cta { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#173e35; font:500 13px var(--font-body); text-decoration:underline; text-underline-offset:4px; }
.studio-home .hero-whatsapp-cta:hover { color:#285448; }
.studio-home .hero-service-note { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin:12px 0 0; color:#5c6a64; font:400 12px/1.5 var(--font-body); }
.studio-home .hero-service-note strong { color:#173e35; font-weight:600; font-variant-numeric:tabular-nums; }
.studio-home .hero-preview-note { margin:8px 0 0; color:#5c6a64; font:400 11px/1.5 var(--font-body); max-width:52ch; }
.studio-home.browse-home .studio-hero .hero-headline { font:600 34px/1.2 var(--font-body); letter-spacing:-.035em; text-wrap:balance; margin:0 0 10px; color:#222; }
.studio-home.browse-home .hero-subheadline { max-width:none; font-size:15px; color:#656565; margin:0; }
.studio-home.browse-home .catalogue-section { background:#fff !important; padding:24px 0 64px; }
.studio-home.browse-home .catalogue-section-header { display:none; }
.studio-home.browse-home .controls-card { gap:16px; margin-bottom:22px; }
.studio-home.browse-home .search-box-wrapper { max-width:620px; }
.studio-home.browse-home .search-input { min-height:58px; border:1px solid #ddd; background:#fff; box-shadow:0 3px 12px #0000000a; font-size:15px; }
.studio-home.browse-home .filter-tag { border-color:transparent; background:#f6f6f6; color:#444; font-weight:500; padding:10px 18px; }
.studio-home.browse-home .filter-tag.active { background:#222; color:#fff; }
.studio-home.browse-home .studio-refine-controls { border-color:#ebebeb; }
.studio-home.browse-home .sales-discovery-status { color:#656565; margin:0 0 18px; font-size:13px; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:32px 22px !important; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card { position:relative; display:block; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-media { aspect-ratio:4 / 5; border-radius:16px; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-content { padding-top:12px !important; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-title { font-size:15px !important; min-height:0; color:#222; margin-bottom:6px; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-price { font-size:14px !important; color:#222; font-weight:500 !important; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-tier-label { color:#656565; font-size:10px; }
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .sales-save-design { position:absolute; z-index:10; top:10px; right:10px; left:auto; bottom:auto; margin:0; display:grid; place-items:center; padding:0; min-width:44px; width:44px; height:44px; border-radius:50%; background:#fffffff0; color:#222; box-shadow:0 2px 6px #0000000d; transition:transform 160ms ease,background 160ms ease; }
.studio-home.browse-home .sales-save-design[aria-pressed='true'] { color:#173e35 !important; background:#fff; }
.studio-home.browse-home .sales-save-design:active { transform:scale(.92); }
.studio-home.browse-home .template-card-img { transition:transform 280ms ease; }
@media(max-width:1000px) and (min-width:761px) {
 .studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media(max-width:760px) {
 .studio-home.browse-home .studio-hero { padding:24px 0 4px; }
 .studio-home.browse-home .studio-hero .hero-headline { font-size:26px; line-height:1.15; margin-bottom:10px; text-wrap:balance; }
 .studio-home.browse-home .hero-subheadline { font-size:13px; line-height:1.5; }
 .studio-home.browse-home .catalogue-section { padding:20px 0 44px; }
 .studio-home.browse-home .controls-card { gap:10px; margin-bottom:16px; }
 .studio-home.browse-home .search-input { min-height:54px; font-size:16px; }
 .studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:28px 14px !important; }
 .studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-title { font-size:13px !important; line-height:1.35; min-height:35px; }
 .studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-price { font-size:13px !important; }
 .studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-tier-label { font-size:9px; }
 .studio-home.browse-home .sales-saved-designs { margin-bottom:12px; }
 .studio-home.browse-home .sales-discovery-status { font-size:12px; margin-bottom:16px; }
}

/* Collection badges remain recognizable across every catalogue filter. */
.studio-home.browse-home .templates-grid:not(.view-list):not(.match-deck-grid) .template-card-tier-label {
  display:inline-flex; align-items:center; min-height:24px; padding:3px 8px;
  border:1px solid var(--collection-badge-border); border-radius:6px;
  background:var(--collection-badge-surface); color:var(--collection-badge-ink);
  font:600 11px/1.2 var(--font-body); letter-spacing:.01em;
  text-transform:none; text-shadow:none; white-space:nowrap;
}
.studio-home .tier-card-2 {
  --collection-badge-ink:#813e55; --collection-badge-surface:#fcf0f3; --collection-badge-border:#eacbd6;
}
.studio-home .tier-card-3 {
  --collection-badge-ink:#69501e; --collection-badge-surface:#faf3e4; --collection-badge-border:#e7d5a9;
}
.studio-home .tier-card-4 {
  --collection-badge-ink:#633e65; --collection-badge-surface:#f4edf6; --collection-badge-border:#ddcce2;
}

/* Persistent collection navigation, independent of catalogue disclosures. */
.studio-home { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
.studio-home .home-collection-nav {
  position:fixed; inset:auto 12px max(12px, env(safe-area-inset-bottom));
  width:calc(100% - 24px); max-width:420px; margin:0 auto; z-index:50;
  opacity:1; pointer-events:auto;
}
.studio-home .home-collection-nav > .glass-radio-group {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%;
  box-sizing:border-box; padding:5px; gap:3px; border-radius:20px;
  background:#fffffff2 !important; border:1px solid #d5e0da;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:0 6px 24px #173e3520;
}
.studio-home .home-collection-nav input {
  display:block; position:absolute; width:1px; height:1px; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}
.studio-home .home-collection-nav label {
  min-width:0; min-height:44px; padding:0 6px; border-radius:15px;
  font:500 13px var(--font-body); color:#44564f;
}
.studio-home .home-collection-nav input:checked + label { background:#173e35; color:#fff; }
.studio-home .home-collection-nav input:focus-visible + label { outline:2px solid #173e35; outline-offset:-3px; }
.studio-home .home-collection-nav input:checked:focus-visible + label { outline-color:#fff; }
.studio-home .home-collection-nav label:hover { background:#edf2ef; }
.studio-home .home-collection-nav input:checked + label:hover { background:#173e35; }
.studio-home.sales-has-booking-shortcut .home-collection-nav { bottom:calc(84px + env(safe-area-inset-bottom)); }
.studio-home.sales-has-booking-shortcut { padding-bottom:calc(150px + env(safe-area-inset-bottom)); }
.studio-home:has(#preview-modal.is-open, #order-drawer-modal.is-open, .interaction-sheet[open], #wa-lightbox.active, #payment-success-modal.is-open) .home-collection-nav,
.studio-home:has(input:not([type="radio"]):not([type="checkbox"]):focus, textarea:focus, select:focus) .home-collection-nav { display:none; }
@media(prefers-reduced-motion:reduce) { .studio-home .home-collection-nav label { transition:none; } }
/* Collection selection carries its own color through the floating bar and catalogue. */
.studio-home {
  --collection-accent:#173e35; --collection-ink:#173e35; --collection-surface:#f8fbf9;
  --collection-wash:#edf5f0; --collection-glow:#dcece2; --collection-border:#c9dcd1;
  --collection-shadow:#173e3524;
}
.studio-home:has(.home-collection-nav #glass-premium:checked) {
  --collection-accent:#813e55; --collection-ink:#653247; --collection-surface:#fffafb;
  --collection-wash:#fcf0f3; --collection-glow:#f4dfe7; --collection-border:#e8cbd5;
  --collection-shadow:#813e5528;
}
.studio-home:has(.home-collection-nav #glass-luxury:checked) {
  --collection-accent:#69501e; --collection-ink:#59451e; --collection-surface:#fffcf6;
  --collection-wash:#faf3e4; --collection-glow:#eee0bc; --collection-border:#dfcea7;
  --collection-shadow:#69501e28;
}
.studio-home:has(.home-collection-nav #glass-dearly:checked) {
  --collection-accent:#633e65; --collection-ink:#553457; --collection-surface:#fcf9fd;
  --collection-wash:#f4edf6; --collection-glow:#e9dcee; --collection-border:#dac8df;
  --collection-shadow:#633e6528;
}
.studio-home.browse-home .catalogue-section {
  background:radial-gradient(ellipse at 90% 0%, var(--collection-glow) 0%, transparent 55%),
    linear-gradient(180deg,var(--collection-wash),var(--collection-surface) 650px) !important;
}
.studio-home .home-collection-nav > .glass-radio-group {
  background:var(--collection-surface) !important; border-color:var(--collection-border);
  box-shadow:0 6px 24px var(--collection-shadow); transition:background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease;
}
.studio-home .home-collection-nav label { color:var(--collection-ink); transition:background-color 220ms ease,color 220ms ease; }
.studio-home .home-collection-nav input:checked + label,
.studio-home .home-collection-nav input:checked + label:hover { background:var(--collection-accent); color:#fff; }
.studio-home .home-collection-nav label:hover { background:var(--collection-glow); }
.studio-home .home-collection-nav input:focus-visible + label { outline-color:var(--collection-accent); }
.studio-home .home-collection-nav input:checked:focus-visible + label { outline-color:#fff; }
.studio-home.browse-home .filter-tag.active { background:var(--collection-accent); border-color:var(--collection-accent); color:#fff; }
.studio-home.browse-home .sales-saved-designs button { border-color:var(--collection-border); }
@media(prefers-reduced-motion:reduce) {
  .studio-home .home-collection-nav > .glass-radio-group,
  .studio-home .home-collection-nav label { transition:none; }
}

/* Explain the invitation with concrete guest benefits. */
.studio-home .atelier-experience { padding:56px 0 32px; background:#f8faf8; }
.studio-home .atelier-experience-layout { grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:64px; row-gap:24px; align-items:start; }
.studio-home .invitation-includes-heading { grid-column:1; grid-row:1; }
.studio-home .invitation-includes-eyebrow { font:500 12px/1.5 var(--font-body); color:#5c6a64; margin:0 0 12px; }
.studio-home .invitation-includes-heading h2 { font:500 clamp(36px,4vw,56px)/1.06 var(--font-serif); letter-spacing:-.035em; margin:0 0 16px; color:#173e35; }
.studio-home .invitation-includes-heading h2 em { font-weight:500; }
.studio-home .invitation-includes-heading > p:last-child { max-width:400px; font:400 14px/1.6 var(--font-body); color:#44564f; margin:0; }
.studio-home .atelier-experience-copy { grid-column:2; grid-row:1; order:initial; }
.studio-home .invitation-includes-list { list-style:none; padding:0; margin:0 0 22px; }
.studio-home .invitation-includes-list li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; padding:14px 0; border-top:1px solid #d5e0da; }
.studio-home .invitation-includes-list li > span { font:500 11px/1.8 var(--font-body); color:#5c6a64; font-variant-numeric:tabular-nums; }
.studio-home .invitation-includes-list h3 { margin:0 0 4px; color:#173e35; font:500 14px/1.4 var(--font-body); }
.studio-home .invitation-includes-list p { margin:0; color:#44564f; font:400 13px/1.6 var(--font-body); }
.studio-home .invitation-includes-demo { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; width:100%; padding:12px 16px; border:0; border-radius:12px; background:#173e35; color:#fff; font:500 14px var(--font-body); cursor:pointer; }
.studio-home .invitation-includes-demo:hover { background:#285448; }
.studio-home .atelier-experience-copy .invitation-includes-demo-note { margin:8px 0 0; font-size:11px; line-height:1.5; max-width:none; }
@media(max-width:760px) {
  .studio-home .atelier-experience { padding:32px 0 20px; }
  .studio-home .atelier-experience-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .studio-home .invitation-includes-heading,.studio-home .atelier-experience-copy { grid-column:1; grid-row:auto; }
  .studio-home .invitation-includes-heading h2 { font-size:36px; margin-bottom:12px; }
  .studio-home .invitation-includes-eyebrow { margin-bottom:8px; font-size:11px; }
  .studio-home .invitation-includes-list { margin-bottom:12px; }
  .studio-home .invitation-includes-list li { padding:12px 0; }
}

/* Reserve the first catalogue rows while scripts load, without moving later sections into view. */
.studio-home .catalogue-placeholder { aspect-ratio:4 / 5; border-radius:16px; background:#f3f3f0; margin-bottom:96px; }
.catalogue-loading-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Make the artwork's preview action visible on touch screens as well as desktop. */
.template-preview-hint { display:none; }
.studio-home.browse-home .template-preview-hint { position:absolute; inset:auto 10px 10px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 11px; border-radius:8px; background:#fffffff2; color:#173e35; font:500 12px/1.3 var(--font-body); pointer-events:none; }
.studio-home.browse-home .template-card-media:focus-visible { outline:3px solid #173e35; outline-offset:4px; }
.studio-home.browse-home .template-card-media:active .template-preview-hint { background:#edf2ef; }
.studio-home.browse-home .hero-action-wrapper a:focus-visible { outline:2px solid #173e35; outline-offset:4px; }
.studio-home.browse-home .filter-tag { min-height:44px; }
@media(max-width:760px) {
  .studio-home.browse-home .hero-action-wrapper { gap:6px 14px; margin-top:10px; }
  .studio-home.browse-home .hero-primary-cta { gap:10px; padding:10px 16px; }
  .studio-home.browse-home .template-preview-hint { inset:auto 8px 8px; padding:8px; font-size:11px; }
  .studio-home.browse-home :is(#preview-names-form input, #focused-search) { font-size:16px; }
}

/* A real opening demonstrates the product; playback is always visitor initiated. */
.studio-home.browse-home .studio-hero .hero-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; }
.hero-invitation-demo { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(0,1fr); align-items:center; gap:22px; margin:0; }
.hero-opening-video { display:block; width:100%; max-height:350px; aspect-ratio:540 / 912; object-fit:cover; border-radius:14px; background:#f5efde; box-shadow:0 12px 30px #574c3d18; }
.hero-demo-eyebrow { font:500 11px/1.5 var(--font-body); color:#5c6a64; margin:0 0 8px; }
.hero-demo-caption h2 { font:500 24px/1.2 var(--font-serif); color:#173e35; margin:0 0 10px; }
.hero-demo-caption > p:not(.hero-demo-eyebrow) { font:400 12px/1.6 var(--font-body); color:#5c6a64; margin:0 0 14px; }
.hero-demo-open { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; min-height:44px; padding:10px 14px; border:1px solid #173e35; border-radius:10px; color:#173e35; background:#fff; font:600 12px var(--font-body); cursor:pointer; }
.hero-demo-open:hover { background:#edf2ef; }
.hero-demo-open:active { transform:translateY(1px); }
.hero-demo-open:focus-visible,.hero-opening-video:focus-visible { outline:2px solid #173e35; outline-offset:4px; }
.hero-demo-caption > p.hero-demo-design { font-size:11px; margin:10px 0 0; }
@media(max-width:1000px) {
  .studio-home.browse-home .studio-hero .hero-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
  .hero-invitation-demo { grid-template-columns:140px minmax(0,1fr); max-width:520px; gap:18px; }
  .hero-opening-video { max-height:236px; }
}
@media(max-width:360px) {
  .hero-invitation-demo { grid-template-columns:110px minmax(0,1fr); gap:14px; }
  .hero-demo-caption h2 { font-size:21px; }
  .hero-demo-open { padding-inline:10px; gap:8px; }
}

.studio-home .invitation-includes-demo { display:inline-flex; align-items:center; gap:16px; text-decoration:none; }
