/* Canonical self-service renderer only. No hero typography, legacy, or demo-only rules. */
.svx-v2[data-design-pass='1f'] {
  --f-ink:var(--e-ink); --f-body:var(--e-body); --f-paper:var(--e-surface);
  --f-wash:var(--e-alt); --f-line:var(--e-line); --f-accent:var(--secondary);
  --price-bg:transparent; --price-fg:var(--f-ink); --price-line:var(--f-line);
  --price-radius:0px; --price-padding:8px 0;
}
.svx-v2[data-design-pass] section.section { padding-block:clamp(54px,6vw,88px); }
.svx-v2[data-design-pass] .svx-f-heading { display:block; margin:0 0 32px; max-width:740px; text-align:start; }
.svx-v2[data-design-pass] .svx-f-heading h2 { color:var(--f-ink); margin:0; font-size:clamp(26px,2.8vw,36px); font-weight:600; line-height:1.35; }
.svx-v2[data-design-pass] .svx-f-heading p { color:var(--f-body); font-size:17px; line-height:1.75; max-width:46ch; margin:18px 0 0; }
.svx-v2[data-design-pass] :is(.svx-f-media,.svx-f-schedule,.svx-f-facts) { margin:0; min-width:0; }
.svx-v2[data-design-pass] .svx-f-media { overflow:hidden; align-self:stretch; }
.svx-v2[data-design-pass] .svx-f-media img { display:block; width:100%; height:100%; min-height:240px; object-fit:cover; }
.svx-v2[data-design-pass] :is(.svx-f-contact,.svx-f-hours,.svx-f-faq,.svx-f-about,.svx-f-highlights) { background:var(--page-background); color:var(--f-body); }
.svx-v2[data-design-pass].svx-photo :is(.svx-f-contact,.svx-f-hours,.svx-f-faq,.svx-f-about,.svx-f-highlights,.svx-f-services) { background:var(--footer-background); }
.svx-v2[data-design-pass] :is(.svx-f-facts,.svx-f-schedule) dd { margin:0; }

/* Equivalent service/product prices use the same component within a family. */
.site-canvas.svx-v2[data-design-pass] :is(.price-pill,.product-price) {
  display:inline-flex; position:static; align-items:center; justify-content:flex-start;
  align-self:start; justify-self:start; flex:0 1 auto; gap:6px; width:fit-content;
  max-width:100%; min-width:0; height:auto; min-height:0; aspect-ratio:auto;
  padding:var(--price-padding); border:0; border-bottom:1px solid var(--price-line);
  border-radius:var(--price-radius); background:var(--price-bg); color:var(--price-fg);
  font-size:15px; font-weight:600; line-height:1.5; white-space:normal; box-shadow:none;
}
.site-canvas.svx-v2[data-design-pass] :is(.price-split,.price-split-label,.price-split-amount) { display:inline; color:inherit; font:inherit; white-space:normal; background:none; }
.site-canvas.svx-v2[data-design-pass] .price-split-label { margin-inline-end:5px; }
.svx-v2.template-classic_business { --price-padding:8px 14px; --price-radius:4px; --price-bg:var(--surface); }
.svx-v2.template-modern_grid { --price-padding:10px 16px; --price-line:var(--secondary); --price-bg:var(--surface); }
.svx-v2.template-organic_boutique { --price-padding:8px 16px; --price-radius:18px 4px; --price-bg:var(--surface); }
.svx-v2.template-bold_conversion { --price-padding:8px 14px; --price-line:var(--secondary); --price-bg:var(--surface); }
.svx-v2.template-professional_prestige { --price-padding:10px 0; --price-line:var(--primary); }
.svx-v2.template-artisan_story { --price-padding:6px 0; --price-line:var(--secondary); }
.svx-v2.template-photo_immersive { --price-line:var(--footer-muted-text); }
.svx-v2.template-local_conversion { --price-padding:6px 12px; --price-radius:4px; --price-bg:var(--surface); }
.svx-v2.template-beauty_atelier { --price-padding:8px 14px; --price-radius:16px; --price-bg:var(--surface); }
.svx-v2.template-patisserie_showcase { --price-padding:8px 0; --price-line:var(--primary); }
.svx-v2.template-jewelry_noir { --price-line:var(--secondary); --price-padding:8px 0; }
.svx-v2.template-clinic_clarity { --price-padding:8px 14px; --price-radius:6px; --price-bg:var(--surface); }

/* Services: framing and sequence continue the design of each hero. */
.site-canvas.svx-v2[data-design-pass] .svx-f-services-layout { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; overflow:visible; border:0; padding:0; background:transparent; }
.site-canvas.svx-v2[data-design-pass] .svx-f-services-layout::before,
.site-canvas.svx-v2[data-design-pass] .svx-f-services-layout::after { content:none; }
.site-canvas.svx-v2[data-design-pass] .svx-f-service { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:20px; padding:28px 0; min-width:0; width:auto; min-height:0; border:0; border-top:1px solid var(--f-line); border-radius:0; background:transparent; }
.site-canvas.svx-v2[data-design-pass] .svx-f-service h3 { color:var(--f-ink); font-size:21px; margin:0 0 12px; line-height:1.45; }
.site-canvas.svx-v2[data-design-pass] .svx-f-service p { color:var(--f-body); font-size:16px; line-height:1.7; margin:0; }
.site-canvas.svx-v2[data-design-pass] .svx-f-service-copy { flex:1; min-width:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.svx-f-service-mark { display:block; width:32px; height:20px; border:1px solid var(--f-accent); border-inline-end:0; transform:skew(-15deg); }
.svx-v2[data-design-pass] [data-service-family='classic'] .svx-f-service { border-top:3px solid var(--primary); padding:28px; box-shadow:0 6px 30px #00000006; background:var(--surface); }
.svx-v2[data-design-pass] [data-service-family='editorial'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:80px; }
.svx-v2[data-design-pass] [data-service-family='editorial'] .svx-f-service { display:grid; grid-template-columns:1fr auto; align-items:start; border-top:1px solid var(--f-line); }
.svx-v2[data-design-pass] [data-service-family='editorial'] .svx-f-service-mark { display:none; }
.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-services-layout { grid-template-columns:repeat(4,minmax(0,1fr)); gap:2px; padding:2px; background:var(--border); }
.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-service { padding:32px; border:0; background:var(--surface); }
.site-canvas.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-service:nth-child(n) { grid-column:span 2; }
.site-canvas.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-service:is(:nth-child(1),:nth-child(4)) { grid-column:span 3; }
.site-canvas.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-service:is(:nth-child(2),:nth-child(3)) { grid-column:span 1; }
.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-service-mark { width:26px; height:26px; transform:none; border:5px solid var(--secondary); }
.svx-v2[data-design-pass] [data-service-family='organic'] .svx-f-service { padding:36px; border:1px solid var(--border); border-radius:60px 8px 30px 8px; }
.svx-v2[data-design-pass] [data-service-family='organic'] .svx-f-service:nth-child(even) { border-radius:8px 60px 8px 30px; }
.svx-v2[data-design-pass] [data-service-family='organic'] .svx-f-service-mark { border:1px solid var(--secondary); border-radius:0 100%; transform:rotate(-20deg); width:30px; height:40px; }
.svx-v2[data-design-pass] [data-service-family='bold'] { background:var(--primary-soft); }
.svx-v2[data-design-pass] [data-service-family='bold'] .svx-f-service { padding:32px; border-top:5px solid var(--secondary); background:var(--surface); }
.svx-v2[data-design-pass] [data-service-family='bold'] .svx-f-service-mark { display:none; }
.svx-v2[data-design-pass] [data-service-family='serif'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
.svx-v2[data-design-pass] [data-service-family='serif'] .svx-f-service { padding:36px 0; border-top:3px double var(--f-line); }
.svx-v2[data-design-pass] [data-service-family='serif'] .svx-f-service-mark { width:48px; height:5px; border:0; background:var(--secondary); transform:none; }
.svx-v2[data-design-pass] [data-service-family='artisan'] .svx-f-service { border:1px solid var(--border); border-inline-start:4px solid var(--secondary); padding:30px; border-radius:0 24px 0 0; }
.svx-v2[data-design-pass] [data-service-family='artisan'] .svx-f-service:nth-child(2) { transform:translateY(18px); }
.svx-v2[data-design-pass] [data-service-family='photo'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 80px; }
.svx-v2[data-design-pass] [data-service-family='photo'] .svx-f-service { padding:26px 0; border-top:1px solid var(--footer-muted-text); }
.svx-v2[data-design-pass] [data-service-family='photo'] .svx-f-service-mark { display:none; }
.svx-v2[data-design-pass] [data-service-family='local'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.svx-v2[data-design-pass] [data-service-family='local'] .svx-f-service { display:grid; grid-template-columns:1fr auto; padding:24px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
.svx-v2[data-design-pass] [data-service-family='local'] .svx-f-service-mark { display:none; }
.svx-v2[data-design-pass] [data-service-family='beauty'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 64px; }
.svx-v2[data-design-pass] [data-service-family='beauty'] .svx-f-service { border-top:0; border-bottom:1px solid var(--border); padding:26px 12px; }
.svx-v2[data-design-pass] [data-service-family='beauty'] .svx-f-service-mark { width:28px; height:28px; border:1px solid var(--secondary); border-radius:50% 50% 4px 50%; transform:rotate(30deg); }
.svx-v2[data-design-pass] [data-service-family='patisserie'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 60px; border:3px double var(--border); padding:20px 36px; background:var(--surface); }
.svx-v2[data-design-pass] [data-service-family='patisserie'] .svx-f-service { display:grid; grid-template-columns:1fr auto; border:0; border-bottom:1px dashed var(--border); }
.svx-v2[data-design-pass] [data-service-family='patisserie'] .svx-f-service-mark { display:none; }
.svx-v2[data-design-pass] [data-service-family='noir'] .svx-f-services-layout { grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; }
.svx-v2[data-design-pass] [data-service-family='noir'] .svx-f-service { align-items:center; text-align:center; padding:32px 16px; border-top:1px solid var(--secondary); border-bottom:1px solid var(--secondary); }
.svx-v2[data-design-pass] [data-service-family='noir'] .svx-f-service-mark { width:25px; height:25px; border:1px solid var(--secondary); transform:rotate(45deg); margin:6px 0 16px; }
.svx-v2[data-design-pass] [data-service-family='noir'] .price-pill { align-self:center; }
.svx-v2[data-design-pass] [data-service-family='clarity'] .svx-f-service { border:1px solid var(--border); padding:30px; border-radius:6px 24px 6px 6px; }
.svx-v2[data-design-pass] [data-service-family='clarity'] .svx-f-service-mark { width:28px; height:28px; border:0; transform:none; background:linear-gradient(var(--secondary),var(--secondary)) center/7px 100% no-repeat,linear-gradient(var(--secondary),var(--secondary)) center/100% 7px no-repeat; }

/* About and values are editorial content, not business-record summary boxes. */
@media(min-width:761px) {
  .site-canvas.svx-v2[data-design-pass] .svx-e-products:is([data-product-layout='botanical'],[data-product-layout='exhibition'],[data-product-layout='vanity']) .svx-identity-products > :nth-child(even):last-child { grid-column:span 2; }
  .site-canvas.svx-v2[data-design-pass] .svx-e-products:is([data-product-layout='botanical'],[data-product-layout='vanity']) .svx-identity-products > :nth-child(even):last-child { display:grid; grid-template-columns:1fr 1fr; align-items:center; margin-top:0; border-radius:20px; }
}
.svx-f-about-composition { display:grid; grid-template-columns:1fr; gap:56px; align-items:center; }
.svx-f-about-composition:has(> .svx-f-media) { grid-template-columns:1fr 1.1fr; }
.svx-f-about-story { min-width:0; }
.svx-f-prose { font-size:19px; line-height:1.9; color:var(--f-body); max-width:65ch; margin:0; }
.svx-f-facts { display:flex; flex-wrap:wrap; gap:24px 40px; padding-top:28px; border-top:1px solid var(--f-line); margin-top:32px!important; }
.svx-f-facts dt { font-size:13px; color:var(--f-body); margin-bottom:8px; }
.svx-f-facts dd { font-size:15px; color:var(--f-ink); overflow-wrap:anywhere; }
.svx-f-about .svx-f-media { max-height:490px; }
[data-about-family='classic'] .svx-f-about-story { border-inline-start:4px solid var(--primary); padding-inline-start:40px; }
[data-about-family='editorial'] .svx-f-about-story { display:grid; grid-template-columns:.65fr 1.35fr; gap:32px 70px; }
[data-about-family='editorial'] .svx-f-facts { grid-column:2; }
[data-about-family='grid'] .svx-f-about-story { padding:42px; border:1px solid var(--border); box-shadow:14px 14px 0 var(--accent-soft); }
[data-about-family='organic'] .svx-f-media { border-radius:160px 20px 80px 20px; }
[data-about-family='bold'] .svx-f-about-story { border-block:5px solid var(--secondary); padding-block:38px; }
[data-about-family='serif'] .svx-f-about-story { max-width:920px; margin:auto; text-align:center; }
[data-about-family='serif'] .svx-f-heading { margin-inline:auto!important; text-align:center!important; }
[data-about-family='serif'] .svx-f-facts { justify-content:center; border-top-style:double; border-top-width:3px; }
[data-about-family='artisan'] .svx-f-media { border-radius:4px 70px 4px 4px; transform:rotate(-2deg); }
[data-about-family='photo'] .svx-f-media { max-height:540px; }
[data-about-family='local'] .svx-f-about-story { max-width:900px; }
[data-about-family='beauty'] .svx-f-media { border-radius:180px 180px 12px 12px; }
[data-about-family='patisserie'] .svx-f-about-composition { border:3px double var(--border); padding:36px; }
[data-about-family='noir'] .svx-f-media { padding:16px; border:1px solid var(--secondary); }
[data-about-family='noir'] .svx-f-prose { font-size:20px; }
[data-about-family='clarity'] .svx-f-media { border-radius:8px 70px 8px 8px; }
.svx-f-values-composition { display:grid; gap:44px; }
.svx-f-values-composition:has(> .svx-f-media) { grid-template-columns:.9fr 1.1fr; align-items:stretch; }
.svx-f-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.svx-f-values article { padding:28px 0; border-top:1px solid var(--f-line); min-width:0; }
.svx-f-values h3 { font-size:19px; line-height:1.6; font-weight:500; color:var(--f-ink); margin:22px 0 0; }
.svx-f-value-mark { display:block; width:28px; height:6px; background:var(--secondary); }
.svx-f-values-composition:has(> .svx-f-media) .svx-f-values { grid-template-columns:1fr 1fr; }
.svx-f-highlights .svx-f-media { max-height:420px; }
[data-highlights-family='grid'] .svx-f-values { gap:2px; background:var(--border); }
[data-highlights-family='grid'] .svx-f-values article { background:var(--surface); border:0; padding:28px; }
[data-highlights-family='organic'] .svx-f-values article { border:1px solid var(--border); padding:32px; border-radius:50px 8px; }
[data-highlights-family='bold'] .svx-f-values article { border-top:5px solid var(--secondary); }
[data-highlights-family='serif'] .svx-f-values article { border-top:3px double var(--border); padding-inline:12px; text-align:center; }
[data-highlights-family='serif'] .svx-f-value-mark { margin:auto; }
[data-highlights-family='artisan'] .svx-f-values { grid-template-columns:repeat(2,minmax(0,1fr)); }
[data-highlights-family='artisan'] .svx-f-values article { border:1px solid var(--border); border-inline-start:4px solid var(--secondary); padding:28px; }
[data-highlights-family='beauty'] .svx-f-media { border-radius:90px 12px; }
[data-highlights-family='beauty'] .svx-f-value-mark { height:24px; width:24px; border-radius:50% 0; background:transparent; border:1px solid var(--secondary); }
[data-highlights-family='patisserie'] .svx-f-values { border:3px double var(--border); padding:12px 32px; }
[data-highlights-family='patisserie'] .svx-f-values article { border:0; border-inline-end:1px dashed var(--border); padding:20px; }
[data-highlights-family='noir'] .svx-f-values article { padding:22px; border-top:1px solid var(--secondary); }
[data-highlights-family='noir'] .svx-f-value-mark { width:18px; height:18px; background:none; border:1px solid var(--secondary); transform:rotate(45deg); }
[data-highlights-family='clarity'] .svx-f-values article { border:0; border-inline-start:3px solid var(--secondary); padding:16px 24px; }

/* Hours: a real weekly schedule, no spreadsheet cells or false "open now" claims. */
.svx-f-hours-composition { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.svx-f-hours-composition:not(:has(.svx-f-schedule)):not(:has(.svx-f-media)) { grid-template-columns:1fr; }
.svx-f-hours-intro p { color:var(--f-body); font-size:17px; line-height:1.8; max-width:38ch; }
.svx-f-hours-intro .svx-f-heading { margin-bottom:20px!important; }
.svx-f-hours-symbol { display:block; width:44px; height:44px; color:var(--f-ink); margin-bottom:24px; }
.svx-f-hours-symbol svg { width:100%; height:100%; }
.svx-f-place { display:inline-flex; align-items:center; gap:10px; color:var(--f-body); font-size:15px; }
.svx-f-place svg { width:18px; height:18px; }
.svx-f-schedule-body { min-width:0; }
.svx-f-schedule { display:grid; gap:0; }
.svx-f-day { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:14px 0; border-bottom:1px solid var(--f-line); color:var(--f-ink); }
.svx-f-day:last-child { border:0; }
.svx-f-day dt { font-size:16px; font-weight:500; }
.svx-f-day dd { font-size:15px; line-height:1.6; white-space:nowrap; }
.svx-f-day.is-closed dd { color:var(--f-body); }
.svx-f-hours .svx-f-media { max-height:440px; }
[data-hours-family='classic'] .svx-f-hours-composition { padding:42px; border:1px solid var(--border); border-top:4px solid var(--primary); border-radius:8px; }
[data-hours-family='editorial'] .svx-f-hours-story { display:grid; grid-template-columns:1fr 140px; gap:30px; align-items:center; }
[data-hours-family='editorial'] .svx-f-media { height:230px; }
[data-hours-family='editorial'] .svx-f-schedule { padding-inline-start:32px; border-inline-start:1px solid var(--f-line); }
[data-hours-family='grid'] .svx-f-hours-composition { grid-template-columns:1fr; gap:22px; }
[data-hours-family='grid'] .svx-f-schedule { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
[data-hours-family='grid'] .svx-f-day { display:block; padding:22px; border:1px solid var(--border); background:var(--surface); }
[data-hours-family='grid'] .svx-f-day:first-child { grid-column:span 2; border-inline-start:6px solid var(--secondary); }
[data-hours-family='grid'] .svx-f-day dd { margin-top:20px; }
[data-hours-family='organic'] .svx-f-hours-card { border:1px solid var(--border); padding:40px 48px; border-radius:90px 12px 60px 12px; }
[data-hours-family='organic'] .svx-f-hours-symbol { margin-inline:auto; }
[data-hours-family='bold'] .svx-f-hours-composition { border-block:5px solid var(--secondary); padding-block:40px; }
[data-hours-family='bold'] .svx-f-schedule { grid-template-columns:1fr 1fr; gap:4px 32px; }
[data-hours-family='bold'] .svx-f-day { display:block; padding:18px 0; }
[data-hours-family='bold'] .svx-f-day dt { font-weight:700; margin-bottom:10px; }
[data-hours-family='serif'] .svx-f-hours-composition { border-block:3px double var(--f-line); padding-block:36px; }
[data-hours-family='serif'] .svx-f-hours-title { text-align:center; }
[data-hours-family='serif'] .svx-f-hours-symbol { margin-inline:auto; }
[data-hours-family='serif'] .svx-f-heading { text-align:center!important; }
[data-hours-family='artisan'] .svx-f-hours-story .svx-f-media { height:180px; max-width:300px; margin-top:24px; border-radius:4px 46px 4px 4px; }
[data-hours-family='artisan'] .svx-f-schedule-body { padding:36px; border:1px solid var(--border); box-shadow:10px 10px 0 var(--accent-soft); transform:rotate(1deg); }
[data-hours-family='photo'] .svx-f-hours-composition { grid-template-columns:1.25fr 1fr; gap:48px; }
[data-hours-family='photo'] .svx-f-hours-visit { padding-block:16px; }
[data-hours-family='photo'] .svx-f-day { border-bottom-style:dotted; }
[data-hours-family='local'] .svx-f-hours-composition { grid-template-columns:.65fr 1.35fr; gap:40px; }
[data-hours-family='local'] .svx-f-schedule { grid-template-columns:1fr 1fr; gap:0 40px; }
[data-hours-family='beauty'] .svx-f-hours-composition { grid-template-columns:.9fr 1.1fr .5fr; gap:36px; }
[data-hours-family='beauty'] .svx-f-hours-card { border-block:1px solid var(--border); padding:20px 0; }
[data-hours-family='beauty'] .svx-f-hours-symbol { display:none; }
[data-hours-family='beauty'] .svx-f-media { border-radius:100px 100px 8px 8px; height:340px; }
[data-hours-family='patisserie'] .svx-f-hours-composition { border:3px double var(--secondary); padding:36px 44px; }
[data-hours-family='patisserie'] .svx-f-day { border-bottom-style:dashed; }
[data-hours-family='noir'] .svx-f-hours-composition { grid-template-columns:.75fr 1.25fr; gap:70px; }
[data-hours-family='noir'] .svx-f-media { border:1px solid var(--secondary); padding:12px; max-height:480px; }
[data-hours-family='noir'] .svx-f-hours-visit { border-top:1px solid var(--secondary); padding-top:32px; }
[data-hours-family='noir'] .svx-f-schedule { grid-template-columns:1fr 1fr; gap:0 36px; }
[data-hours-family='clarity'] .svx-f-hours-composition { padding:36px; border-inline-start:5px solid var(--secondary); background:var(--surface); border-radius:8px 40px 8px 8px; }
[data-hours-family='clarity'] .svx-f-schedule { grid-template-columns:1fr 1fr; gap:0 30px; }

/* FAQ: dialogue, spreads, modules, or compact disclosures, never numbered filler. */
.svx-f-faq-composition { display:grid; grid-template-columns:.75fr 1.25fr; gap:64px; }
.svx-f-answers { min-width:0; }
.svx-f-answers :is(article,details) { padding:22px 0; border-bottom:1px solid var(--f-line); }
.svx-f-answers :is(article,details):first-child { padding-top:0; }
.svx-f-answers h3 { color:var(--f-ink); font-size:18px; font-weight:600; line-height:1.6; margin:0; }
.svx-f-answers p { color:var(--f-body); font-size:16px; line-height:1.8; margin:16px 0 0; }
.svx-f-answers summary { display:flex; align-items:baseline; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; }
.svx-f-answers summary::-webkit-details-marker { display:none; }
.svx-f-answers summary span { font-size:24px; color:var(--f-ink); flex:none; }
.svx-f-answers details[open] summary span { transform:rotate(45deg); }
[data-faq-family='editorial'] .svx-f-faq-composition,[data-faq-family='serif'] .svx-f-faq-composition { grid-template-columns:1fr; gap:0; }
[data-faq-family='editorial'] .svx-f-answers,[data-faq-family='serif'] .svx-f-answers { display:grid; grid-template-columns:1fr 1fr; gap:18px 80px; }
[data-faq-family='editorial'] .svx-f-answer { border-top:1px solid var(--border); border-bottom:0; padding:24px 0!important; }
[data-faq-family='grid'] .svx-f-answers { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
[data-faq-family='grid'] .svx-f-answers details { border:1px solid var(--border); padding:24px; background:var(--surface); }
[data-faq-family='organic'] .svx-f-answers { border:1px solid var(--border); padding:36px; border-radius:70px 8px; }
[data-faq-family='bold'] .svx-f-answers details { border-bottom:3px solid var(--secondary); }
[data-faq-family='artisan'] .svx-f-answers { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
[data-faq-family='artisan'] .svx-f-answer { border:1px solid var(--border); border-top:3px solid var(--secondary); padding:26px!important; }
[data-faq-family='photo'] .svx-f-faq-composition { grid-template-columns:1fr; gap:0; }
[data-faq-family='photo'] .svx-f-answer { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; }
[data-faq-family='photo'] .svx-f-answer p { margin:0; }
[data-faq-family='local'] .svx-f-faq-composition { max-width:1040px; }
[data-faq-family='beauty'] .svx-f-answers { border-block:1px solid var(--border); padding:24px; }
[data-faq-family='patisserie'] .svx-f-answers { padding:32px; border:3px double var(--border); }
[data-faq-family='patisserie'] .svx-f-answer { border-bottom-style:dashed; }
[data-faq-family='noir'] .svx-f-faq-composition { grid-template-columns:.65fr 1.35fr; gap:80px; }
[data-faq-family='noir'] .svx-f-answer { display:grid; grid-template-columns:1fr 1fr; gap:30px; border-bottom:1px solid var(--secondary); }
[data-faq-family='noir'] .svx-f-answer p { margin:0; }
[data-faq-family='clarity'] .svx-f-answers details { padding:24px; border:1px solid var(--border); border-inline-start:3px solid var(--secondary); border-radius:4px; margin-bottom:12px; background:var(--surface); }

/* Contact is the closing conversion composition; no second generic CTA follows. */
.svx-f-contact-composition { display:grid; grid-template-columns:1fr 1fr; gap:40px 70px; align-items:start; padding-block:50px; border-top:1px solid var(--f-line); }
.svx-f-contact-intro .site-actions { margin-top:28px; }
.svx-f-location { font-style:normal; color:var(--f-body); margin:0; }
.svx-f-location h3 { color:var(--f-ink); font-size:24px; font-weight:500; margin:0 0 18px; }
.svx-f-location p { color:var(--f-body); margin:0 0 10px; line-height:1.75; font-size:16px; }
.svx-f-map-link { display:inline-flex; gap:18px; align-items:center; color:var(--f-ink); font-size:16px; border-bottom:1px solid var(--f-accent); padding-bottom:8px; margin-top:20px; }
.svx-f-contact-details { min-width:0; }
.svx-f-contact-link { display:grid; grid-template-columns:90px minmax(0,1fr) 22px; align-items:baseline; gap:16px; padding:18px 0; border-bottom:1px solid var(--f-line); color:var(--f-ink); }
.svx-f-contact-link span { font-size:13px; color:var(--f-body); }
.svx-f-contact-link bdi { overflow-wrap:anywhere; font-size:18px; line-height:1.6; }
.svx-f-contact-link i { font:inherit; }
.svx-f-social { display:flex; flex-wrap:wrap; gap:24px; padding-top:28px; }
.svx-f-social a { display:inline-flex; gap:12px; color:var(--f-ink); font-size:15px; }
.svx-f-contact .svx-f-media { max-height:580px; }
[data-contact-family='classic'] .svx-f-contact-composition { border-top:4px solid var(--primary); }
[data-contact-family='classic'] .svx-f-contact-intro { grid-row:span 2; }
[data-contact-family='editorial'] .svx-f-contact-composition { border-top:0; border-block:1px solid var(--f-line); grid-template-columns:1.1fr 1fr; }
.svx-f-correspondence .svx-f-location { margin-top:32px; }
[data-contact-family='grid'] .svx-f-contact-composition { padding:36px; background:var(--surface); border:2px solid var(--border); gap:32px; }
[data-contact-family='grid'] .svx-f-contact-details { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 36px; }
[data-contact-family='organic'] .svx-f-contact-composition { border:1px solid var(--border); border-radius:100px 12px 60px 12px; padding:56px; }
[data-contact-family='organic'] .svx-f-contact-details { grid-column:1/-1; }
[data-contact-family='bold'] .svx-f-contact-composition { border-block:6px solid var(--secondary); }
[data-contact-family='bold'] .svx-f-contact-intro { grid-row:span 2; }
[data-contact-family='bold'] .svx-f-contact-link bdi { font-weight:600; }
[data-contact-family='serif'] .svx-f-contact-composition { border-top:3px double var(--f-line); }
[data-contact-family='serif'] .svx-f-correspondence { padding-inline-start:40px; border-inline-start:1px solid var(--border); }
[data-contact-family='artisan'] .svx-f-contact-composition { grid-template-columns:.9fr 1.1fr; }
.svx-f-studio { grid-row:span 2; }
.svx-f-studio .svx-f-media { height:290px; border-radius:4px 60px 4px 4px; margin-bottom:24px; }
.svx-f-studio .svx-f-location { border-inline-start:3px solid var(--secondary); padding-inline-start:24px; }
[data-contact-family='photo'] .svx-f-contact-composition { grid-template-columns:1.2fr 1fr; border:0; gap:60px; }
.svx-f-concierge .svx-f-location { margin:36px 0 22px; }
[data-contact-family='local'] .svx-f-contact-composition { grid-template-columns:1fr 1.2fr; border-top:4px solid var(--primary); }
[data-contact-family='local'] .svx-f-location { grid-column:2; display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 28px; }
[data-contact-family='beauty'] .svx-f-contact-composition { grid-template-columns:1fr 1fr; border:0; }
.svx-f-consultation { display:grid; grid-template-columns:130px 1fr; gap:30px; align-items:center; grid-row:span 2; }
.svx-f-consultation .svx-f-media { height:320px; border-radius:90px 90px 8px 8px; }
[data-contact-family='patisserie'] .svx-f-contact-composition { padding:44px; border:3px double var(--secondary); }
[data-contact-family='patisserie'] .svx-f-contact-intro { grid-row:span 2; }
[data-contact-family='noir'] .svx-f-contact-composition { grid-template-columns:.9fr 1.1fr; border-block:1px solid var(--secondary); padding-block:48px; }
[data-contact-family='noir'] .svx-f-media { padding:12px; border:1px solid var(--secondary); }
[data-contact-family='noir'] .svx-f-contact-link { grid-template-columns:90px 1fr 22px; }
[data-contact-family='clarity'] .svx-f-contact-composition { padding:44px; border:1px solid var(--border); border-inline-start:6px solid var(--secondary); border-radius:8px 50px 8px 8px; background:var(--surface); }
[data-contact-family='clarity'] .svx-f-contact-intro { grid-row:span 2; }

/* A centered, legible, canonical information system and linked ServioX signature. */
.site-canvas.svx-v2[data-design-pass] .svx-footer-canonical { padding:56px 0 40px; background:var(--footer-background); border-top:1px solid var(--footer-muted-text); color:var(--footer-text); text-align:center; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-canonical .wrap { max-width:1120px; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-main { display:flex; flex-direction:column; align-items:center; gap:28px; padding:0; border:0; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-identity { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-identity strong { font-size:24px; font-weight:600; color:var(--footer-text); }
.site-canvas.svx-v2[data-design-pass] .svx-footer-identity span { font-size:15px; color:var(--footer-muted-text); }
.site-canvas.svx-v2[data-design-pass] .svx-footer-logo { display:block; width:auto; height:auto; max-width:160px; max-height:76px; object-fit:contain; border:0; border-radius:0; box-shadow:none; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-nav { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:14px 30px; font-size:15px; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:20px 32px; font-size:15px; width:100%; padding-top:26px; border-top:1px solid color-mix(in srgb,var(--footer-text) 24%,var(--footer-background)); }
.site-canvas.svx-v2[data-design-pass] .svx-footer-contact > * { display:flex; flex-direction:column; gap:7px; align-items:center; text-align:center; max-width:280px; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-contact span { font-size:13px; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-social { display:flex; justify-content:center; flex-wrap:wrap; gap:24px; margin:24px 0 0; font-size:15px; }
.site-canvas.svx-v2[data-design-pass] .svx-footer-legal { display:flex; justify-content:center; gap:16px 28px; margin-top:32px; font-size:14px; }
.site-canvas.svx-v2[data-design-pass] .legal-text { max-width:94ch; margin:24px auto 0; text-align:center; font-size:14px; line-height:1.85; color:var(--footer-muted-text); }
/* The canonical attribution is defined once in pro-section-architecture.css,
   matching the approved done-for-you footer component. */

@media(max-width:980px) {
  .site-canvas.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-canvas.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-service:nth-child(n) { grid-column:auto; }
  .svx-v2[data-design-pass] :is(.svx-f-hours-composition,.svx-f-contact-composition,.svx-f-faq-composition) { gap:32px; }
  .svx-v2[data-design-pass] .svx-f-services-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svx-v2[data-design-pass] .svx-f-values { grid-template-columns:1fr 1fr; }
  [data-hours-family='beauty'] .svx-f-hours-composition { grid-template-columns:1fr 1fr; }
  [data-hours-family='beauty'] .svx-f-media { display:none; }
  .svx-f-contact-link { grid-template-columns:1fr 22px!important; gap:4px 12px; }
  .svx-f-contact-link span { grid-column:1/-1; }
}
@media(max-width:760px) {
  .site-canvas.svx-v2[data-design-pass] [data-service-family='grid'] .svx-f-services-layout { grid-template-columns:1fr; }
  /* Reset desktop spanning before defining a one-column mobile product flow.
     Otherwise a featured card creates an implicit, sometimes 2px-wide column. */
  .site-canvas.svx-v2[data-design-pass] .svx-e-products[data-product-layout] .svx-identity-products { grid-template-columns:minmax(0,1fr); grid-auto-rows:auto; }
  .site-canvas.svx-v2[data-design-pass] .svx-e-products[data-product-layout] .svx-identity-product:nth-child(n) { grid-column:auto; grid-row:auto; display:block; min-height:0; height:auto; width:100%; }
  .site-canvas.svx-v2[data-design-pass] .svx-e-products[data-product-layout] .svx-identity-product:nth-child(n) .svx-identity-product-media { height:280px; min-height:0; }
  .site-canvas.svx-v2[data-design-pass] .svx-e-products:is([data-product-layout='directory'],[data-product-layout='care']) .svx-identity-product:nth-child(n) { display:grid; grid-template-columns:90px minmax(0,1fr); }
  .site-canvas.svx-v2[data-design-pass] .svx-e-products:is([data-product-layout='directory'],[data-product-layout='care']) .svx-identity-product:nth-child(n) .svx-identity-product-media { height:130px; }
  .svx-v2[data-design-pass] #gallery .wrap > div:not(.section-head) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:12px; }
  .svx-v2[data-design-pass] #gallery .gallery-item:nth-child(n) { grid-column:auto; grid-row:auto; aspect-ratio:4/3; height:auto; min-height:0; width:100%; }
  .svx-v2[data-design-pass]:is(.template-beauty_atelier,.template-artisan_story,.template-patisserie_showcase,.template-jewelry_noir) #gallery .gallery-item:first-child { grid-column:span 2; }
  .svx-v2[data-design-pass]:is(.template-photo_immersive,.template-editorial_luxury) #gallery .wrap > div:not(.section-head) { grid-template-columns:1fr; }
  .svx-v2[data-design-pass] section.section { padding-block:44px; }
  .svx-v2[data-design-pass] .svx-f-heading { margin-bottom:24px; }
  .svx-v2[data-design-pass] .svx-f-heading h2 { font-size:27px; }
  .site-canvas.svx-v2[data-design-pass] .svx-f-services-layout { grid-template-columns:1fr; gap:18px; padding-inline:0; background:transparent; }
  .site-canvas.svx-v2[data-design-pass] .svx-f-service { grid-column:auto!important; transform:none; }
  .site-canvas.svx-v2[data-design-pass] [data-service-family='patisserie'] .svx-f-services-layout { padding:16px 22px; }
  .svx-v2[data-design-pass] :is(.svx-f-about-composition,.svx-f-about-composition:has(> .svx-f-media),.svx-f-about-story,.svx-f-values-composition:has(> .svx-f-media),.svx-f-hours-composition,.svx-f-contact-composition,.svx-f-faq-composition) { display:grid; grid-template-columns:1fr; gap:28px; }
  .svx-v2[data-design-pass] .svx-f-about-story { display:block; }
  .svx-v2[data-design-pass] .svx-f-facts { grid-column:auto; gap:20px; }
  .svx-v2[data-design-pass] .svx-f-media { max-height:360px; }
  .svx-v2[data-design-pass] .svx-f-prose { font-size:17px; line-height:1.85; }
  .svx-v2[data-design-pass] .svx-f-values { grid-template-columns:1fr; }
  .svx-v2[data-design-pass] .svx-f-values article { padding:22px; }
  .svx-v2[data-design-pass] .svx-f-values h3 { margin-top:18px; }
  .svx-v2[data-design-pass] :is(.svx-f-hours-composition,.svx-f-contact-composition) { padding:26px 22px; border-radius:24px 6px; }
  .svx-v2[data-design-pass] .svx-f-hours-story { grid-template-columns:1fr 100px; gap:20px; }
  .svx-v2[data-design-pass] .svx-f-hours-story .svx-f-media { height:180px; }
  .svx-v2[data-design-pass] :is(.svx-f-hours-card,.svx-f-schedule-body) { padding:0; transform:none; box-shadow:none; border:0; }
  .svx-v2[data-design-pass] .svx-f-schedule { grid-template-columns:1fr; padding:0; border:0; }
  .svx-v2[data-design-pass] .svx-f-day { display:flex; grid-column:auto; padding:13px 0; background:none; border:0; border-bottom:1px solid var(--f-line); gap:14px; }
  .svx-v2[data-design-pass] .svx-f-day :is(dt,dd) { margin:0; font-size:15px; }
  .svx-v2[data-design-pass] .svx-f-day:last-child { border:0; }
  .svx-v2[data-design-pass] .svx-f-hours-visit { padding:0; border:0; }
  .svx-v2[data-design-pass] .svx-f-answers { display:block; padding:0; border:0; }
  .svx-v2[data-design-pass] .svx-f-answer { display:block; padding:22px 0!important; }
  .svx-v2[data-design-pass] .svx-f-answer p { margin-top:14px; }
  .svx-v2[data-design-pass] .svx-f-contact-composition > * { grid-column:auto!important; grid-row:auto!important; }
  .svx-v2[data-design-pass] .svx-f-contact-details { display:block; }
  .svx-v2[data-design-pass] .svx-f-location { display:block; }
  .svx-v2[data-design-pass] .svx-f-correspondence { border:0; padding:0; }
  .svx-v2[data-design-pass] .svx-f-consultation { grid-template-columns:90px 1fr; gap:20px; }
  .svx-v2[data-design-pass] .svx-f-consultation .svx-f-media { height:220px; }
  .svx-v2[data-design-pass] .svx-f-studio .svx-f-media { height:250px; }
  .svx-v2[data-design-pass] .svx-f-contact-link bdi { font-size:17px; }
  .site-canvas.svx-v2[data-design-pass] .svx-footer-canonical { padding-bottom:110px; }
  .site-canvas.svx-v2[data-design-pass] .svx-footer-contact { gap:20px; }
  .site-canvas.svx-v2[data-design-pass] .svx-footer-contact > * { width:100%; }
  .site-canvas.svx-v2[data-design-pass] .legal-text { font-size:14px; text-align:start; }
  .site-canvas.svx-v2[data-design-pass] .svx-footer-nav { gap:12px 22px; }
}
