/* Distinct premium identities for the four package examples. Loaded after the base presets. */
:is(.atelier,.dental,.lodge,.nord) { overflow-x:clip; }
:is(.atelier,.dental,.lodge,.nord) :is(a,button,input,select,summary):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
:is(.atelier,.dental,.lodge,.nord) :is(.atelier-button,.dental-button,.lodge-button,.nord-button) { transition:background .2s ease,transform .2s ease,box-shadow .2s ease; }
:is(.atelier,.dental,.lodge,.nord) :is(.atelier-button,.dental-button,.lodge-button,.nord-button):hover { transform:translateY(-2px); text-decoration:none; }

/* START / Studio Forma — ivory, ink and warm copper. */
.atelier { --paper:#f7f2e9; --ink:#292725; --line:#d9cfc1; --demo-panel:#fffaf3; --demo-muted:#6d665e; --demo-accent:#9b633e; }
[data-theme=dark] .atelier { --paper:#201e1c; --ink:#f5eee5; --line:#514b46; --demo-panel:#2b2825; --demo-muted:#c1b8ad; --demo-accent:#b9815c; }
.atelier .atelier-header { background:var(--paper); }
.atelier .atelier-header::before { background:var(--paper); }
.atelier .atelier-wordmark { font-family:Georgia,serif; letter-spacing:-.075em; font-weight:400; }
.atelier .atelier-header nav a { padding-block:7px; border-bottom:1px solid transparent; }
.atelier .atelier-header nav a:hover { border-color:currentColor; text-decoration:none; }
.atelier .atelier-kicker { color:var(--demo-accent); font-size:10px; font-weight:600; }
.atelier .atelier-button { background:var(--demo-accent); color:#fff!important; border:1px solid var(--demo-accent); border-radius:4px; padding:16px 23px; font-size:12px; letter-spacing:.02em; }
.atelier .atelier-button:hover { background:#70472f; border-color:#70472f; }
.atelier-start .atelier-hero { grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr); gap:clamp(38px,5.5vw,110px); min-height:calc(100svh - 140px); padding-block:clamp(45px,6vw,96px); }
.atelier-start .atelier-hero-heading { display:flex; flex-direction:column; align-items:start; justify-content:center; gap:0; padding:0; min-width:0; }
.atelier-start .atelier-hero-heading h1 { font-size:clamp(54px,5.4vw,100px); line-height:1.03; margin-top:25px; max-width:750px; text-wrap:balance; }
.atelier-start .atelier-hero-note { color:var(--demo-muted); margin-top:26px; max-width:460px; padding:0; font-size:15px; }
.atelier-start .atelier-hero-note .atelier-button { margin-top:25px; }
.atelier-start .atelier-hero-index { display:flex; justify-content:space-between; width:min(100%,440px); margin-top:clamp(35px,6vh,80px); border-top:1px solid var(--line); padding-top:16px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--demo-muted); }
.atelier-start .atelier-hero-image { position:relative; min-width:0; padding:20px; border:1px solid var(--line); background:var(--demo-panel); box-shadow:0 26px 60px #473a2915; }
.atelier-start .atelier-hero-image::before { content:''; position:absolute; width:72px; height:72px; left:-28px; top:-28px; border-left:1px solid var(--demo-accent); border-top:1px solid var(--demo-accent); }
.atelier-start .atelier-hero-image img { width:100%; height:clamp(410px,64vh,730px); border-radius:0; box-shadow:none; object-position:center; }
.atelier-start .atelier-hero-image figcaption { padding:15px 2px 0; color:var(--demo-muted); font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.atelier-start .atelier-section { border-top:1px solid var(--line); }
.atelier-start .atelier-intro-grid { grid-template-columns:minmax(160px,.5fr) minmax(0,1fr); gap:clamp(30px,7vw,130px); }
.atelier-start .atelier-intro-grid h2 { max-width:800px; }
.atelier-start .atelier-intro-grid > div > p { color:var(--demo-muted); max-width:640px; }
.atelier-start .atelier-services { background:#eee5d8; }
[data-theme=dark] .atelier-start .atelier-services { background:#292521; }
.atelier-start-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.atelier-start-heading h2 { margin-top:20px; }
.atelier-start-heading h2 em { color:var(--demo-accent); font-weight:400; }
.atelier-start-heading > p { max-width:300px; color:var(--demo-muted); font-size:13px; }
.atelier-start .start-service-grid { gap:18px; }
.atelier-start .start-service-grid article { position:relative; min-height:245px; padding:30px; border-radius:0; border:1px solid var(--line); background:var(--demo-panel); }
.atelier-start .start-service-grid h3 { font-family:Georgia,serif; font-size:27px; margin-block:32px 12px; }
.atelier-start .start-service-grid p { max-width:230px; }
.atelier-service-mark { display:block; position:absolute; right:28px; top:28px; font-size:22px; color:var(--demo-accent); }
.atelier-start-work { padding-block:clamp(75px,8vw,135px); }
.atelier-start-work-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(20px,4vw,60px); align-items:start; }
.atelier-start-work-grid figure:nth-child(2) { margin-top:95px; }
.atelier-start-work-grid img { display:block; width:100%; aspect-ratio:1.32; object-fit:cover; }
.atelier-start-work-grid figcaption { display:flex; justify-content:space-between; gap:18px; padding-block:17px; border-bottom:1px solid var(--line); font-family:Georgia,serif; font-size:23px; }
.atelier-start-work-grid small { align-self:center; color:var(--demo-muted); font:11px/1.4 'Instrument Sans',Arial,sans-serif; text-align:right; }
.atelier-start .demo-scope { border-top:1px solid var(--line); }
.atelier .atelier-footer { background:#342d28; color:#f5eee5; }
.atelier .atelier-footer .atelier-kicker { color:#d2a27c; }
.atelier .atelier-footer h2 { color:#fff8ef; }
.atelier .atelier-footer > div > p:not(.atelier-kicker) { color:#d2c4b7; }
.atelier .atelier-footer-bottom { border-color:#ffffff35; }
[data-theme=dark] .atelier .atelier-footer { background:#171513; }
.atelier :is(.atelier-project-card,.atelier-service-cards article) { border-color:var(--line); }

/* BUSINESS / Linea Dental — pearl and glacier blue, distinct from Forma. */
.dental { --paper:#f2f8fb; --ink:#173248; --muted:#587083; --line:#c9dce7; --panel:#fff; --accent:#176395; background:radial-gradient(circle at 92% 2%,#dceef7 0,transparent 35%),var(--paper); }
[data-theme=dark] .dental { --paper:#101d2b; --ink:#e9f5fc; --muted:#adc5d6; --line:#365068; --panel:#1a2e40; --accent:#65bce8; background:radial-gradient(circle at 95% 0%,#193b53 0,transparent 37%),var(--paper); }
.dental h1,.dental h2 { font-family:Georgia,serif; font-weight:400; letter-spacing:-.05em; }
.dental h1 { font-size:clamp(52px,5.3vw,86px); max-width:750px; }
.dental .dental-demo { background:#173248; color:#e8f5fc; }
[data-theme=dark] .dental .dental-demo { background:#081725; }
.dental .dental-header { background:#f6fbfdf0; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
[data-theme=dark] .dental .dental-header { background:#102133ef; }
.dental .dental-brand > span { color:var(--accent); }
.dental .dental-button { background:var(--accent); color:#fff!important; border-radius:7px; box-shadow:0 10px 25px #0c5b8b22; }
[data-theme=dark] .dental .dental-button { background:#73c5ec; color:#10283a!important; }
.dental .dental-button:hover { background:#0d507d; }
.dental .dental-kicker { color:var(--accent); }
.dental .dental-hero { gap:clamp(35px,5vw,90px); padding-block:clamp(48px,5vw,90px); }
.dental .dental-lead { font-size:17px; line-height:1.8; }
.dental .dental-hero-values { border-top:1px solid var(--line); padding-top:20px; margin-top:55px; }
.dental .dental-hero-values span::before { content:'+'; color:var(--accent); font-size:17px; vertical-align:-1px; }
.dental .dental-hero-image { padding:16px 16px 35px; border:1px solid #ffffffaf; border-radius:180px 18px 18px 18px; background:#ffffff5e; box-shadow:0 25px 60px #134b7130; }
[data-theme=dark] .dental .dental-hero-image { border-color:#ffffff28; background:#ffffff0c; }
.dental .dental-hero-image > img { border-radius:160px 10px 10px 10px; filter:hue-rotate(145deg) saturate(.62); }
.dental .dental-hero-image figcaption { left:-22px; right:45px; bottom:0; padding:20px 25px; background:#ffffffd9; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid #ffffff; box-shadow:0 15px 35px #173e5a25; }
[data-theme=dark] .dental .dental-hero-image figcaption { background:#193448e8; border-color:#6ca5c441; }
.dental .dental-hero-image figcaption > span { color:var(--accent); }
.dental .dental-section,.dental .dental-services { border-color:var(--line); }
.dental .dental-service-grid { gap:15px; }
.dental .dental-service-card { border-radius:16px; background:#ffffffba; backdrop-filter:blur(12px); box-shadow:0 14px 36px #10446b0a; }
[data-theme=dark] .dental .dental-service-card { background:#1b3144e0; }
.dental .dental-service-icon { color:var(--accent); }
.dental .dental-about { background:linear-gradient(125deg,#dfedf5,#f5fbfd); }
[data-theme=dark] .dental .dental-about { background:linear-gradient(125deg,#182f43,#142536); }
.dental .dental-team-card,.dental .dental-contact-card { background:#ffffffb5; backdrop-filter:blur(14px); }
[data-theme=dark] .dental .dental-team-card,[data-theme=dark] .dental .dental-contact-card { background:#ffffff0b; }
.dental .dental-team-symbol { background:#e2f1f8; color:#216994; }
[data-theme=dark] .dental .dental-team-symbol { background:#233f55; color:#8ad3f2; }
.dental .dental-gallery-image img,.dental .dental-detail-image img { border-radius:12px; }
.dental .dental-gallery-image > span { background:#f6fbfdeb; }
[data-theme=dark] .dental .dental-gallery-image > span { background:#1a2e40ed; }
.dental .dental-footer { background:#e4f0f6; }
[data-theme=dark] .dental .dental-footer { background:#112538; }
.dental .dental-lightbox::backdrop { background:#061625e8; }
.dental :is(.dental-detail,.dental-faq,.dental-contact) { color:var(--ink); }

/* BUSINESS / Mountain Stay — warm linen, stone and copper. */
.lodge { --paper:#f4f0e8; --pine:#2f302d; --ink:#2f302d; --muted:#686b65; --line:#d6d0c5; --demo-panel:#fffaf2; --demo-accent:#ad754d; }
[data-theme=dark] .lodge { --paper:#1d1f1f; --pine:#f2ece3; --ink:#f2ece3; --muted:#bdbbb4; --line:#4b4a46; --demo-panel:#292a29; --demo-accent:#bd8c67; }
.lodge .lodge-demo { background:#302e2b; color:#eee9e1; }
[data-theme=dark] .lodge .lodge-demo { background:#101212; }
.lodge .lodge-header { background:#2d2e2c; color:#faf6ef; }
[data-theme=dark] .lodge .lodge-header { background:#141616; }
.lodge .lodge-brand svg { color:#d1a57d; }
.lodge .lodge-header nav a:hover { color:#d8b394; }
.lodge .lodge-hero { background:#302f2d; }
.lodge .lodge-hero-shade { background:linear-gradient(90deg,rgba(23,24,22,.82),rgba(25,25,23,.25) 75%),linear-gradient(0deg,rgba(23,24,22,.63),transparent 55%); }
.lodge .lodge-hero h1 { max-width:770px; }
.lodge .lodge-hero .lodge-kicker { color:#dfb18d; }
.lodge .lodge-hero-intro { color:#f1eae1; }
.lodge .lodge-button { background:#ad754d; color:#fff!important; border-radius:5px; box-shadow:0 8px 24px #130e0b1f; }
.lodge .lodge-button:hover { background:#845634; }
.lodge .lodge-hero-bottom { border-color:#ffffff60; }
.lodge-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding-block:28px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; letter-spacing:.08em; }
.lodge-values span { display:flex; gap:22px; align-items:center; }
.lodge-values strong { color:var(--pine); font-size:12px; font-weight:500; letter-spacing:0; }
.lodge .lodge-stays { padding-block:clamp(75px,7vw,120px); }
.lodge .lodge-section-heading h2 { max-width:780px; }
.lodge .lodge-kicker { color:var(--demo-accent); }
.lodge .lodge-stay-card { background:var(--demo-panel); border-radius:5px; box-shadow:0 15px 35px #3930280c; }
.lodge .lodge-card-photo { aspect-ratio:1.55; }
.lodge .lodge-card-copy { padding:30px; }
.lodge .lodge-story { max-width:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-block:clamp(80px,8vw,125px); }
.lodge .lodge-story h2 { max-width:880px; margin-inline:auto; }
.lodge .lodge-story>p:not(.lodge-kicker) { color:var(--muted); }
.lodge .lodge-text-link { color:var(--pine); border-color:var(--demo-accent); }
.lodge .lodge-experiences { background:#eae3d8; }
[data-theme=dark] .lodge .lodge-experiences { background:#282827; }
.lodge .lodge-experience-list a { border-color:var(--line); }
.lodge .lodge-footer { background:#2d2e2c; color:#f5eee5; }
[data-theme=dark] .lodge .lodge-footer { background:#141616; }
.lodge .lodge-footer .lodge-text-link,.lodge .lodge-footer nav a { color:#f5eee5; }
.lodge .lodge-footer .lodge-container>p:not(.lodge-kicker) { color:#cac4ba; }
.lodge .lodge-footer-bottom { color:#d0c9bd; }

/* CATALOG / Nord Home — product-led editorial layout. */
.nord { --paper:#f6f3ec; --ink:#292824; --line:#d8d2c7; --muted:#6c685f; --demo-panel:#fffcf6; --demo-accent:#9b6a43; }
[data-theme=dark] .nord { --paper:#1d1c1a; --ink:#f4eee5; --line:#4c4740; --muted:#beb7ab; --demo-panel:#2a2824; --demo-accent:#bd8b60; }
.nord .nord-demo { background:#332d29; color:#f4eee5; }
[data-theme=dark] .nord .nord-demo { background:#11100f; }
.nord .nord-header,.nord .nord-header::before { background:var(--paper); }
.nord .nord-brand { font-family:Georgia,serif; font-weight:400; }
.nord .nord-brand span { color:var(--demo-accent); }
.nord .nord-button { border-radius:4px; background:var(--ink); border-color:var(--ink); color:var(--paper)!important; padding:15px 25px; }
.nord .nord-button:hover { background:var(--demo-accent); border-color:var(--demo-accent); color:#fff!important; }
.nord .nord-hero { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(35px,6vw,115px); padding-block:clamp(50px,5vw,95px); min-height:calc(100svh - 140px); }
.nord .nord-hero h1 { font-size:clamp(52px,5.4vw,92px); max-width:720px; text-wrap:balance; }
.nord .nord-hero h1 em { color:var(--demo-accent); font-weight:400; }
.nord .nord-hero-copy { min-width:0; }
.nord .nord-hero-copy > p:not(.nord-kicker) { max-width:465px; margin-block:30px; color:var(--muted); font-size:16px; line-height:1.85; }
.nord-hero-edition { display:block; margin-top:clamp(40px,7vh,85px); padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.nord .nord-feature { min-width:0; position:relative; }
.nord .nord-feature > a { display:block; position:relative; border:1px solid var(--line); padding:22px; background:#e9e0d3; box-shadow:0 28px 55px #3325161b; }
[data-theme=dark] .nord .nord-feature > a { background:#39352f; }
.nord .nord-feature img { width:100%; height:clamp(410px,62vh,710px); aspect-ratio:auto; object-fit:cover; border-radius:0; box-shadow:none; }
.nord-feature-badge { position:absolute; left:42px; top:42px; z-index:1; padding:8px 12px; background:#f8f4ede8; color:#423729; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.nord .nord-feature figcaption { display:flex; justify-content:space-between; gap:15px; margin-top:0; padding-top:16px; color:var(--muted); font-size:11px; }
.nord .nord-feature figcaption strong { color:var(--ink); font-size:14px; font-weight:500; white-space:nowrap; }
.nord-category-bar { border-block:1px solid var(--line); background:#eee8dd; }
[data-theme=dark] .nord-category-bar { background:#2b2925; }
.nord-category-bar > div { display:flex; align-items:center; flex-wrap:wrap; gap:10px clamp(18px,2.3vw,38px); padding-block:19px; }
.nord-category-bar .nord-kicker { margin-right:auto; color:var(--muted); }
.nord-category-bar a { font-size:12px; white-space:nowrap; }
.nord-category-bar a span { color:var(--demo-accent); }
.nord .nord-hero + .nord-category-bar + .nord-catalog { border-top:0; }
.nord .nord-catalog { padding-block:clamp(65px,7vw,115px); }
.nord .nord-section-heading h2,.nord .nord-section-heading h1 { margin-top:12px; }
.nord .nord-filters { background:var(--demo-panel); border-radius:4px; padding:20px; }
.nord .nord-filters :is(input,select),.nord .nord-contact :is(input,textarea,select) { background:var(--paper); color:var(--ink); border-color:var(--line); }
.nord .nord-product-card { padding:0; border:0; border-radius:0; background:transparent; }
.nord .nord-product-image { border-radius:0; background:#e9e2d8; aspect-ratio:1.08; }
[data-theme=dark] .nord .nord-product-image { background:#34312d; }
.nord .nord-card-info { padding:18px 0 0; }
.nord .nord-card-info h3 { font-family:Georgia,serif; font-size:27px; }
.nord .nord-footer { background:#e7e0d5; }
[data-theme=dark] .nord .nord-footer { background:#2a2723; }
.nord .nord-contact :is(.contact-product,.preview) { background:var(--demo-panel); }

@media(max-width:900px) {
    .atelier-start .atelier-hero,.nord .nord-hero { grid-template-columns:1fr; min-height:0; gap:42px; }
    .atelier-start .atelier-hero-image img,.nord .nord-feature img { height:460px; }
    .atelier-start .atelier-hero-index,.nord-hero-edition { margin-top:35px; }
    .atelier-start .atelier-start-heading { align-items:start; }
    .dental .dental-hero { gap:30px; }
}
@media(max-width:750px) {
    .atelier-start .atelier-hero-heading h1,.nord .nord-hero h1 { font-size:clamp(48px,10vw,70px); }
    .atelier-start .atelier-hero-image { padding:12px; }
    .atelier-start .atelier-hero-image::before { display:none; }
    .atelier-start .atelier-hero-image img,.nord .nord-feature img { height:390px; }
    .atelier-start .atelier-intro-grid { grid-template-columns:1fr; }
    .atelier-start-heading { display:block; }
    .atelier-start-heading > p { max-width:550px; margin-top:20px; }
    .atelier-start-work-grid { grid-template-columns:1fr; }
    .atelier-start-work-grid figure:nth-child(2) { margin-top:0; }
    .dental .dental-hero-image { margin-inline:14px; }
    .dental .dental-hero-image figcaption { left:-16px; right:15px; }
    .lodge-values { grid-template-columns:1fr; gap:15px; }
    .lodge .lodge-story { padding-block:65px; }
    .nord-category-bar .nord-kicker { width:100%; }
}
@media(max-width:480px) {
    .atelier-start .atelier-hero,.nord .nord-hero { gap:30px; padding-block:40px 55px; }
    .atelier-start .atelier-hero-heading h1,.nord .nord-hero h1 { font-size:clamp(43px,12vw,60px); }
    .atelier-start .atelier-hero-image img,.nord .nord-feature img { height:310px; }
    .atelier-start .atelier-hero-image figcaption span:last-child { display:none; }
    .atelier-start .start-service-grid article { min-height:205px; }
    .atelier-start-work-grid figcaption { font-size:20px; }
    .dental .dental-hero-image { padding:9px 9px 30px; }
    .dental .dental-hero-image > img { height:330px; border-top-left-radius:110px; }
    .dental .dental-hero-image figcaption { left:-8px; right:0; gap:10px; padding:13px; font-size:13px; }
    .dental .dental-hero-image figcaption > span { font-size:28px; }
    .lodge .lodge-hero h1 { font-size:clamp(49px,12vw,68px); }
    .nord .nord-feature > a { padding:12px; }
    .nord-feature-badge { left:22px; top:22px; }
    .nord-category-bar > div { gap:13px 20px; }
}
@media(prefers-reduced-motion:reduce) {
    :is(.atelier,.dental,.lodge,.nord) :is(.atelier-button,.dental-button,.lodge-button,.nord-button) { transition:none; }
}
.atelier-slot-copy,.lodge-slot-copy,.dental-slot-copy { max-width:58ch; margin-top:14px; color:var(--muted); font-size:14px; line-height:1.65; }
.atelier-slot-copy,.lodge-slot-copy { margin-bottom:30px; }
.dental-footer-nav { display:flex; flex-wrap:wrap; gap:12px 26px; padding-block:26px; }
.dental-footer-nav a { color:inherit; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
