/* Audit refinements. The original presentation remains available separately. */
:root { --header-height:85px; --anchor-offset:calc(var(--header-height) + 24px); }
html { scroll-padding-top:var(--anchor-offset); scroll-behavior:auto; }
body { font-size:1rem; }
.section { padding-block:84px; }
.button,.nav-links>a,.nav-links .button,.menu-label { font-size:.875rem; }
.nav-links { gap:20px; }
.nav-links .button { min-height:48px; }
.brand-name>span { font-size:.75rem; letter-spacing:0; }
.brand strong { font-size:1.3125rem; }
.hero-eyebrow { font-size:.75rem; letter-spacing:.07em; }
.hero .lead,.lead,.section-head .lead,.visual-sales-head .lead,.furniture-top .lead,
.furniture-story-copy>.lead,.payback-head .lead,.final .lead,.offer-intro,
.problem-item p,.offer-item p,.furniture-point p,.furniture-benefit p,.about-point strong,
.example-copy p,.order-step p:not(.order-perk),.order-result p,.contact-box>p {
  font-size:1rem; line-height:1.75;
}
.problem-item strong,.offer-item strong,.furniture-point strong,.furniture-benefit h3,
.note strong,.order-result strong { font-size:1.0625rem; line-height:1.6; }
.note p,.about-stat p,.payback-factor p,.payback-calendar-note p { font-size:.875rem; line-height:1.75; }
.label,.hero-callout,.hero-fact,.about-stat span,.textile-materials li,.order-perk,
.checklist span,.combination-kicker,.combination-gallery-head>div>span,.combination-gallery-count,
.combination-palette-note,.combination-sales-note,.combination-gallery-note { font-size:.75rem; }
.hero-fact strong { font-size:.875rem; line-height:1.6; }
.hero-facts { gap:16px; }
/* Trust facts belong to the introduction, directly before its actions. */
.hero-copy .hero-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0 0; padding:16px 0; border-block:1px solid var(--line); }
.hero-copy .hero-fact { justify-content:flex-start; align-items:center; min-width:0; gap:8px; padding:0 10px 0 0; font-size:.75rem; line-height:1.55; }
.hero-copy .hero-fact:last-child { padding-right:0; }
.hero-copy .hero-fact strong { font-size:.8125rem; line-height:1.5; }
.hero-copy .hero-fact .material-symbols-outlined { flex-shrink:0; font-size:1.375rem; }
.hero-copy .hero-actions { margin-top:24px; }
@media(max-width:600px) {
  .hero-copy .hero-facts { grid-template-columns:1fr; gap:10px; margin-top:20px; padding:14px 0; }
  .hero-copy .hero-fact { border:0; padding:0; gap:10px; }
  .hero-copy .hero-fact .material-symbols-outlined { display:block; font-size:1.25rem; }
  .hero-copy .hero-fact strong { display:inline; margin-right:6px; font-size:.75rem; }
  .hero-copy .hero-actions { margin-top:20px; }
}
.hero-visual { height:clamp(500px,43vw,620px); min-height:0; }
.hero-visual img { object-position:center 62%; }
@media(min-width:901px) and (max-height:750px) {
  .hero { padding:24px 0; }
  .hero-copy { padding:0; }
  .hero-eyebrow { margin-bottom:18px; }
  .hero .lead { margin-top:20px; }
  .hero-copy .hero-facts { margin-top:20px; padding-block:12px; }
  .hero-copy .hero-actions { margin-top:20px; }
  .hero .hero-visual { height:clamp(440px,calc(100svh - 133px),560px); }
}
.hero-actions .button,.hero-actions .outline,.section-head .button,.contact-actions .button,
.combination-control .button,.order-result .button,.combination-toggle button { font-size:.875rem; }
.hero-actions .outline { min-height:44px; }
.example-shot figcaption { font-size:.75rem; letter-spacing:.015em; line-height:1.6; }
.problem-item b,.offer-item b,.furniture-point b,.furniture-benefit b,.about-point b,
.example-no,.tableware-example figcaption>span,.ceremony-example figcaption>span,.order-step::before { color:#707070; }
.model-body strong,.tableware-example figcaption strong,.ceremony-example figcaption strong { font-size:.875rem; line-height:1.65; }
.offer-gallery,.furniture-top>div:first-child,.combination-control { top:var(--anchor-offset); }
.payback-factor h3 { font-size:1rem; }
.payback-calendar-note strong,.payback-equation strong { font-size:.875rem; }
.payback-event { font-size:.75rem; }
.payback-day { min-height:90px; }
.payback-calendar-head span { font-size:.75rem; }
.payback-calendar-head strong { font-size:.875rem; }
.combination-total span,.combination-formula,.combination-element strong { font-size:.875rem; }
.combination-gallery-head strong { font-size:1rem; }

/* Optional gallery disclosure controls. */
.gallery-more { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; margin-top:22px; padding:12px 18px; border:1px solid #c8c8c8; border-radius:8px; background:transparent; color:var(--ink); font-size:.875rem; font-weight:500; }
.gallery-more:hover { background:#fff; border-color:var(--ink); }
.example-gallery,.textile-grid,.tableware-showcase,.ceremony-grid,.visual-sales-grid { scroll-margin-top:20px; }
.example-media .marseille-source-photo { display:block; width:100%; height:100%; mix-blend-mode:multiply; }

/* Keep the wide table scene intact and crop only excess background in portrait scenes. */
#visualization { padding-block:32px; scroll-margin-top:-24px; }
#visualization .visual-sales-head { gap:40px; align-items:center; margin-bottom:24px; }
#visualization h2 { font-size:clamp(1.875rem,2.7vw,2.5rem); line-height:1.15; }
#visualization .lead { font-size:.9375rem; line-height:1.65; }
#visualization .visual-sales-grid { grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr); gap:14px; }
#visualization .visual-sales-item { aspect-ratio:1; }
#visualization .visual-sales-item img { object-position:center bottom; }
#visualization .visual-sales-item:last-child { aspect-ratio:3/2; }
#visualization .visual-sales-item:last-child img { object-fit:contain; object-position:center; }
@media(max-width:900px) {
  #visualization .visual-sales-head { grid-template-columns:1fr; gap:16px; }
  #visualization .visual-sales-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #visualization .visual-sales-item { aspect-ratio:5/4; }
  #visualization .visual-sales-item:nth-child(2) img { object-position:center 80%; }
  #visualization .visual-sales-item:nth-child(3) { aspect-ratio:3/2; }
  #visualization .visual-sales-item:nth-child(3) img { object-position:center 53%; }
}
@media(max-width:600px) {
  #visualization { padding-block:24px; }
  #visualization .visual-sales-head { gap:14px; margin-bottom:20px; }
  #visualization h2 { font-size:1.875rem; line-height:1.13; }
  #visualization .lead { font-size:.9375rem; line-height:1.6; }
  #visualization .visual-sales-grid { gap:10px; }
  #visualization .visual-sales-item { border-radius:10px; }
}
@media(max-width:600px) and (max-height:700px) {
  #visualization { padding-block:18px; }
  #visualization .visual-sales-head { gap:12px; margin-bottom:16px; }
  #visualization h2 { font-size:1.75rem; }
  #visualization .lead { font-size:.875rem; line-height:1.55; }
}
@media(max-width:360px) and (max-height:640px) {
  #visualization { padding-block:12px; }
}

/* Original catalogue pixels, rearranged to fit the portrait product card. */
.textile-grid .textile-image { aspect-ratio:4/5; }
.textile-composition { position:relative; background:#fff; }
.textile-composition .textile-fragment { display:block; position:absolute; overflow:hidden; }
.textile-composition .textile-fragment>img { position:absolute; width:var(--fragment-width); max-width:none; height:auto; left:var(--fragment-left); top:var(--fragment-top); padding:0; object-fit:fill; pointer-events:none; }
.textile-composition .textile-fragment-rect { width:88%; left:6%; top:6%; }
.textile-composition .textile-fragment-round { width:60%; left:4%; top:40%; }
.textile-composition .textile-fragment-napkin { width:28%; right:5%; top:40%; }
.textile-swatch-grid { position:absolute; left:9%; right:9%; bottom:6%; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:3px; }
.textile-swatch-grid .textile-swatch { position:relative; border-radius:2px; box-shadow:inset 0 0 0 1px #00000008; }

/* Compact ceremony gallery, using full photographs with no image viewer. */
.ceremony-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 24px; }
.ceremony-example img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:var(--soft); }
.ceremony-example figcaption { gap:12px; align-items:baseline; }
.ceremony-example figcaption>span { flex-shrink:0; }
@media(max-width:1000px) {
  .ceremony-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .ceremony-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
  .ceremony-example figcaption { gap:8px; padding-top:10px; }
  .ceremony-example figcaption strong { font-size:.8125rem; line-height:1.5; }
}

.honest-comparison { grid-template-columns:1fr 1fr; gap:28px; }
.honest-comparison .comparison-frame { display:block; }
.honest-comparison img { aspect-ratio:1.5; object-fit:cover; filter:none; }
.honest-comparison figcaption { display:flex; flex-direction:column; align-items:start; gap:8px; }
.honest-comparison figcaption span { font-size:.75rem; letter-spacing:.06em; }
.honest-comparison figcaption strong { font-size:1rem; }
.comparison-explanation { max-width:820px; margin-top:28px; font-size:.875rem; line-height:1.75; color:#c7c7c7; }

/* Keep the current result visible while editing a longer mobile form. */
.calc-live-summary { display:none; }
.textile-payback-head .lead span { font-size:1rem; }
.textile-calc-group legend { font-size:.875rem; letter-spacing:.02em; }
.textile-product-row { grid-template-columns:1fr 120px; }
.textile-product-copy strong { font-size:1rem; }
.textile-product-copy p { font-size:.8125rem; line-height:1.6; }
.textile-unit-price { font-size:.875rem; }
.textile-input label { font-size:.875rem; line-height:1.5; }
.textile-input-wrap input { font-size:1rem; min-height:48px; }
.textile-input-wrap span { font-size:.75rem; }
.textile-investment-total span { font-size:.75rem; }
.textile-rental-intro { font-size:.875rem; line-height:1.75; }
.textile-rental-grid { gap:18px; }
.textile-rental-grid label { font-size:.8125rem; }
.textile-payback-result { top:var(--anchor-offset); }
.textile-result-kicker { font-size:.8125rem; }
.textile-result-basis { margin-top:18px; font-size:.875rem; line-height:1.65; color:#d3d3d3; }
.textile-result-status { font-size:.875rem; line-height:1.6; }
.textile-result-actions { margin-top:26px; }
.textile-result-actions .button { width:100%; }
.textile-result-actions p { margin-top:10px; color:#bbb; font-size:.75rem; line-height:1.7; }
.textile-result-investment { gap:14px; }
.textile-result-investment span { font-size:.75rem; }
.textile-scenario,.textile-scenario:first-child { display:grid; grid-template-columns:1fr auto; gap:6px 16px; padding:18px 0; }
.textile-scenario-guests { display:contents; }
.textile-scenario-guests strong { font-size:.875rem; grid-column:1; }
.textile-scenario-guests span { font-size:.75rem; grid-column:1/-1; margin:0; }
.textile-scenario-use { grid-column:1/-1; font-size:.75rem; margin:0; }
.textile-scenario output { position:static; grid-column:2; grid-row:1; font-size:.875rem; text-align:right; }
.textile-disclaimer { font-size:.75rem; line-height:1.75; }
.input-error { grid-column:1/-1; margin-top:8px; color:#b02d23; font-size:.75rem; line-height:1.5; }
.textile-input:has([aria-invalid="true"]) .textile-input-wrap { border-color:#b02d23; background:#fff4f2; }
.textile-result-actions a[aria-disabled="true"] { opacity:.6; cursor:not-allowed; }
.contact-detail>a { display:inline-flex; align-items:center; min-height:44px; font-size:1rem; }
.contact-detail>a[href^="tel:"] { font-size:1.125rem; font-weight:500; }
.contact-detail>span { font-size:.75rem; margin-bottom:4px; }
.contact-details { grid-template-columns:1fr; gap:16px; }
.catalog-return { margin-top:40px; }
.catalog-return a { display:inline-flex; align-items:center; gap:14px; min-height:48px; color:#fff; font-size:.875rem; }
.catalog-return+footer { margin-top:28px; }
footer { font-size:.75rem; letter-spacing:.02em; line-height:1.7; }

@media(max-width:1199px) {
  :root { --header-height:75px; }
  .nav-links>a,.nav-links .button { font-size:.875rem; }
  .section { padding-block:72px; }
}
@media(max-width:900px) {
  .about-stats { grid-template-columns:1fr 1fr; gap:30px; }
  .calc-live-summary { position:sticky; top:var(--header-height); z-index:35; display:grid; grid-template-columns:1fr 1fr auto; gap:14px; align-items:center; padding:14px 16px; margin:0 0 24px; border:1px solid #ddd; border-top:3px solid var(--accent); border-radius:0 0 10px 10px; background:#fff; box-shadow:0 5px 16px #00000008; }
  .calc-live-summary span { display:block; color:var(--muted); font-size:.75rem; line-height:1.5; }
  .calc-live-summary output { display:block; font-size:.9375rem; font-weight:600; line-height:1.5; margin-top:3px; overflow-wrap:anywhere; }
  .calc-live-summary a { display:flex; align-items:center; min-height:44px; font-size:.8125rem; font-weight:500; }
  #textile-payback input { scroll-margin-top:calc(var(--anchor-offset) + 120px); scroll-margin-bottom:24px; }
  #textileResultPanel { scroll-margin-top:120px; }
  .textile-payback-result { display:block; }
  .textile-result-investment { flex-direction:row; align-items:center; }
  .textile-scenarios { margin-top:24px; }
  .honest-comparison { grid-template-columns:1fr 1fr; gap:22px; }
}
@media(max-width:600px) {
  :root { --header-height:69px; }
  .nav { gap:8px; }
  .menu-toggle { flex-shrink:0; gap:10px; padding-left:8px; }
  .brand-name>span { font-size:.75rem; }
  .brand strong { font-size:1.125rem; }
  .hero-actions { gap:10px; }
  .hero-actions .button { width:100%; }
  .hero-actions .outline { width:auto; margin-inline:auto; }
  .hero-visual { height:auto; margin-top:22px; aspect-ratio:1.15; }
  .hero-visual img { object-position:center 62%; }
  .hero-facts { gap:0; padding-bottom:22px; }
  .hero-fact { font-size:.75rem; padding-inline:8px; }
  .hero-fact strong { font-size:.75rem; }
  .section { padding-block:48px; }
  .hero .lead { line-height:1.75; }
  .example-copy p { font-size:.9375rem; }
  .example-gallery { gap:22px 14px; }
  .example-shot figcaption { font-size:.75rem; }
  .model-body strong { font-size:.8125rem; }
  .textile-materials li { font-size:.75rem; padding:7px 10px; }
  .honest-comparison { grid-template-columns:1fr; gap:30px; }
  .honest-comparison figcaption { gap:6px; }
  .comparison-explanation { margin-top:24px; }
  .payback-calendar-head { gap:14px; align-items:start; }
  .payback-calendar-head strong { text-align:right; }
  .payback-weekdays,.payback-calendar-grid .payback-day:not(:has(.payback-event)) { display:none; }
  .payback-calendar-grid { grid-template-columns:1fr 1fr; }
  .payback-calendar-grid .payback-day { display:flex; align-items:center; gap:10px; min-height:60px; font-size:.875rem; padding:12px; }
  .payback-event { font-size:.75rem; letter-spacing:0; line-height:1.4; overflow-wrap:normal; margin:0; }
  .payback-factors { grid-template-columns:1fr; }
  .payback-factor p { font-size:1rem; }
  .combination-total span { font-size:.875rem; }
  .combination-toggle button { padding:10px 8px; font-size:.8125rem; }
  .combination-gallery-head { align-items:end; }
  .combination-gallery-head strong { font-size:.875rem; }
  .combination-gallery-count { white-space:normal; text-align:right; }
  .calc-live-summary { grid-template-columns:1fr 1fr; gap:4px 16px; padding:10px 12px; }
  .calc-live-summary a { grid-column:1/-1; min-height:44px; justify-self:stretch; justify-content:center; margin-top:4px; border-top:1px solid #eee; }
  .textile-calc-group { padding:20px 16px; min-width:0; }
  .textile-calc-group legend { font-size:.75rem; letter-spacing:0; }
  .textile-product-row { grid-template-columns:1fr 106px; gap:16px; }
  .textile-product-copy strong { font-size:.9375rem; }
  .textile-product-copy p { font-size:.75rem; }
  .textile-colors-input { grid-template-columns:1fr 106px; }
  .textile-colors-input label { font-size:.875rem; }
  .textile-rental-grid .textile-input { grid-template-columns:1fr 106px; gap:12px; }
  .textile-rental-grid label { font-size:.875rem; }
  .textile-rental-intro { font-size:.875rem; }
  .textile-result-kicker { font-size:.75rem; }
  .textile-investment-total strong { font-size:1.125rem; overflow-wrap:anywhere; }
  .textile-scenario { gap:6px 12px; }
  .textile-scenario output { font-size:.8125rem; }
  .textile-result-investment { align-items:start; }
  .textile-result-investment strong { font-size:1.125rem; white-space:nowrap; }
  .contact-actions .button { padding-inline:12px; }
  .contact-details { grid-template-columns:1fr; }
  .contact-detail>a { font-size:1rem; }
  .contact-detail>a[href^="tel:"] { font-size:1.125rem; }
  footer { font-size:.75rem; }
}
@media(max-width:360px) {
  .calc-live-summary output { font-size:.8125rem; }
}
@media print {
  .calc-live-summary,.gallery-more { display:none!important; }
  .example-gallery>[hidden],.textile-grid>[hidden],.tableware-showcase>[hidden],.ceremony-grid>[hidden],.visual-sales-grid>[hidden] { display:block!important; }
}
