/* Atelier theme — content area of engine pages (content/pages/*), scoped to .theme-atelier.
   Design reference: _docs/design/atelier-stitch-DESIGN.md (Stitch, 2026-09-16).
   Type scale — only these sizes are used:
     --t-h2 22px  section titles (uppercase, site canon)      --t-h3 16px  titles inside prose and components
     --t-body 16px prose, intros, notes, FAQ                   --t-ui 14px  card, step, review and table text
     --t-label 12px chips, captions, field labels
   Colour: one pastel band per content type; pink only as an accent; yellow only on booking buttons. */
.theme-atelier {
    --ink: #1e2124; --ink-2: #555d65; --ink-3: #8a9097; --line: #e9ecef; --paper: #fff;
    --pink: #fd305f; --pink-tint: rgba(253, 48, 95, .08);
    --gold: #ffd300; --gold-hover: #f5c700;
    --sand: #f7f3ee; --sand-line: #eadfce; --sand-chip: #fbf8f4;
    --grey: #f3f4f6; --grey-line: #e5e7eb;
    --sky: #eef5ff; --sky-line: #d0e5ff; --blue: #1f6feb;
    --mint: #ecf8f1; --mint-line: #c6ecd6; --green: #1e8e5a;
    --navy: #14182b; --amber: #f5b301;
    --t-h2: 22px; --t-h3: 16px; --t-body: 16px; --t-ui: 14px; --t-label: 12px;
    --r: 12px; --r-lg: 16px; --gap: 16px; --band-pad: 28px; --block-gap: 48px;
    --shadow: 0 8px 24px -6px rgba(30, 33, 36, .08), 0 2px 6px -1px rgba(30, 33, 36, .03);
}

/* ---------- base ---------- */
.theme-atelier .page-content { font-size: var(--t-body); line-height: 1.65; color: var(--ink); padding-bottom: 40px; }
.theme-atelier .page-content > * { margin-left: 0; margin-right: 0; }
.theme-atelier .page-content > div, .theme-atelier .page-content > nav { margin-bottom: var(--block-gap); }
.theme-atelier .page-content .dropdown { margin-bottom: 20px; }
.theme-atelier .page-content p { margin: 0 0 12px; }
.theme-atelier .page-content p:last-child { margin-bottom: 0; }
/* inline links inside running text only; card and master titles keep the ink colour */
.theme-atelier .page-content p a, .theme-atelier .page-content li a, .theme-atelier .page-content td a, .theme-atelier .at-lead a, .theme-atelier .at-faq-body a, .theme-atelier .at-cards-note a, .theme-atelier .at-chooser-note a { color: var(--pink); font-weight: 600; text-decoration: none; }
.theme-atelier .page-content p a:hover, .theme-atelier .page-content li a:hover, .theme-atelier .at-lead a:hover, .theme-atelier .at-faq-body a:hover { text-decoration: underline; }
.theme-atelier .at-toc li a { color: var(--ink) !important; font-weight: 500 !important; }
.theme-atelier .page-content h2 { font-size: var(--t-h2); line-height: 1.3; letter-spacing: .05em; margin: 0 0 18px; text-align: left; color: var(--ink); }
.theme-atelier .page-content h3 { font-size: var(--t-h3); line-height: 1.35; letter-spacing: 0; text-transform: none; font-weight: 700; margin: 0 0 6px; color: var(--ink); }
.theme-atelier .page-content h4, .theme-atelier .page-content h5 { font-size: var(--t-body); text-transform: none; letter-spacing: 0; margin: 16px 0 6px; }
.theme-atelier .at-heading { margin: 32px 0 16px !important; }
.theme-atelier .at-intro, .theme-atelier .at-cards-intro, .theme-atelier .at-band-intro, .theme-atelier .at-prices-intro { color: var(--ink-2); margin: -6px 0 20px; }
.theme-atelier .at-note, .theme-atelier .at-cards-note, .theme-atelier .at-chooser-note { color: var(--ink-2); margin-top: 18px; }
.theme-atelier .at-cards-note strong, .theme-atelier .at-chooser-note strong { color: var(--ink); }

/* ---------- bands ---------- */
.theme-atelier .at-band, .theme-atelier .at-cards:not(.at-tone--white) { border-radius: var(--r-lg); padding: var(--band-pad); border: 1px solid var(--line); }
.theme-atelier .at-band--sand, .theme-atelier .at-tone--sand { background: var(--sand); border-color: var(--sand-line) !important; }
.theme-atelier .at-band--grey, .theme-atelier .at-tone--grey { background: var(--grey); border-color: var(--grey-line) !important; }
.theme-atelier .at-band--sky, .theme-atelier .at-tone--sky { background: var(--sky); border-color: var(--sky-line) !important; }
.theme-atelier .at-band--mint, .theme-atelier .at-tone--mint { background: var(--mint); border-color: var(--mint-line) !important; }

/* ---------- button ---------- */
.theme-atelier .at-btn { display: inline-block; background: var(--gold); color: var(--ink); font-weight: 700; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; padding: 14px 34px; border-radius: 999px; box-shadow: var(--shadow); transition: background .15s; }
.theme-atelier .at-btn:hover { background: var(--gold-hover); color: var(--ink); text-decoration: none; }
.theme-atelier .at-center { text-align: center; }

/* ---------- lead ---------- */
.theme-atelier .at-lead { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px 28px; box-shadow: var(--shadow); }
.theme-atelier .at-eyebrow { display: inline-block; font-size: var(--t-label); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pink); background: var(--pink-tint); border-radius: 999px; padding: 4px 12px; margin: 0 0 14px; }
.theme-atelier .at-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); background: var(--sand); border: 1px solid var(--sand-line); border-radius: var(--r); padding: 12px 4px; margin-top: 20px; }
.theme-atelier .at-fact { padding: 2px 14px; border-right: 1px solid var(--sand-line); }
.theme-atelier .at-fact:last-child { border-right: 0; }
.theme-atelier .at-fact-label { display: block; font-size: var(--t-label); color: var(--ink-3); margin-bottom: 2px; }
.theme-atelier .at-fact-value { font-size: 15px; font-weight: 700; line-height: 1.35; }
.theme-atelier .at-fact--price .at-fact-value { color: var(--pink); }

/* ---------- contents ---------- */
.theme-atelier .at-toc { border: 1px solid var(--line); border-radius: var(--r); padding: 16px 20px; }
.theme-atelier .at-toc-title { font-size: var(--t-label); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 8px !important; }
.theme-atelier .at-toc ol { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 28px; counter-reset: toc; }
.theme-atelier .at-toc li { counter-increment: toc; break-inside: avoid; font-size: var(--t-ui); line-height: 1.4; padding: 4px 0 4px 26px; position: relative; }
.theme-atelier .at-toc li::before { content: counter(toc, decimal-leading-zero); position: absolute; left: 0; top: 5px; font-size: var(--t-label); font-weight: 700; color: var(--pink); }
.theme-atelier .page-content .at-toc a { color: var(--ink); font-weight: 500; }

/* ---------- prose sections (leaves) ---------- */
.theme-atelier .at-sec h3 { margin-top: 22px; }
.theme-atelier .at-sec ul, .theme-atelier .at-sec ol { padding-left: 22px; margin: 0 0 12px; }
.theme-atelier .at-sec li { margin: 0 0 8px; }
.theme-atelier .at-sec ul li::marker { color: var(--pink); }
.theme-atelier .at-sec--steps, .theme-atelier .at-sec--checks { border-radius: var(--r-lg); padding: var(--band-pad); }
.theme-atelier .at-sec--steps { background: var(--sky); border: 1px solid var(--sky-line); }
.theme-atelier .at-sec--checks { background: var(--mint); border: 1px solid var(--mint-line); }
.theme-atelier .at-sec--steps ul, .theme-atelier .at-sec--steps ol { list-style: none; padding: 0; counter-reset: step; }
.theme-atelier .at-sec--steps li { counter-increment: step; background: var(--paper); border: 1px solid var(--sky-line); border-radius: var(--r); padding: 12px 16px 12px 56px; position: relative; margin: 0 0 8px; font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); }
.theme-atelier .at-sec--steps li::before { content: counter(step); position: absolute; left: 16px; top: 12px; width: 26px; height: 26px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.theme-atelier .at-sec--steps li > strong:first-child { display: block; color: var(--ink); font-size: 15px; }
.theme-atelier .at-sec--checks ul { list-style: none; padding: 0; }
.theme-atelier .at-sec--checks li { padding-left: 30px; position: relative; }
.theme-atelier .at-sec--checks li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--paper); color: var(--green); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }

/* ---------- component items (cards block, steps block) ---------- */
.theme-atelier .at-cards-grid { display: grid; gap: 12px; }
.theme-atelier .at-cards--grid2 .at-cards-grid { grid-template-columns: repeat(2, 1fr); }
.theme-atelier .at-cards--grid3 .at-cards-grid { grid-template-columns: repeat(3, 1fr); }
.theme-atelier .at-cards--grid2 .at-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.theme-atelier .at-item { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 16px 18px; display: flex; gap: 14px; align-items: flex-start; }
.theme-atelier .at-cards--grid2 .at-item, .theme-atelier .at-cards--grid3 .at-item { flex-direction: column; gap: 10px; }
.theme-atelier .at-item-body { flex: 1; min-width: 0; }
.theme-atelier .at-item-body h3 { font-size: 15px; }
.theme-atelier .at-item-body p { font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); margin: 0; }
.theme-atelier .at-item-mark { flex: none; width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid var(--grey-line); color: var(--ink-3); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; background: var(--paper); }
.theme-atelier .at-item-mark--check { background: var(--pink-tint); border-color: transparent; color: var(--pink); width: 26px; height: 26px; font-size: 12px; }
.theme-atelier .at-tone--mint .at-item-mark--check { background: var(--mint); color: var(--green); }
.theme-atelier .at-item-tag { flex: none; align-self: center; font-size: var(--t-label); font-weight: 600; color: var(--ink-2); background: var(--sand-chip); border: 1px solid var(--sand-line); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.theme-atelier .at-tone--mint .at-item { border-color: var(--mint-line); }
.theme-atelier .at-tone--sand .at-item { border-color: var(--sand-line); }

.theme-atelier .at-steps-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.theme-atelier .at-steps-list li { display: flex; gap: 14px; background: var(--paper); border: 1px solid var(--sky-line); border-radius: var(--r); padding: 14px 18px; margin: 0; }
.theme-atelier .at-step-n { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--blue); color: #fff; font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.theme-atelier .at-steps-list h3 { font-size: 15px; margin: 3px 0 4px; }
.theme-atelier .at-steps-list p { font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); margin: 0; }

/* ---------- service chooser ---------- */
/* one service per row: picture on the left, the name first on the right */
.theme-atelier .at-chooser { container-type: inline-size; }
.theme-atelier .at-chooser-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.theme-atelier .at-card { position: relative; background: var(--paper); border: 1px solid var(--sand-line); border-radius: var(--r); overflow: hidden; display: grid; grid-template-columns: 212px 1fr; grid-template-rows: auto 1fr auto; grid-template-areas: "photo title" "photo body" "photo foot"; transition: box-shadow .15s, transform .15s; }
.theme-atelier .at-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
/* the picture keeps one fixed size and is cropped; it never stretches with the card */
.theme-atelier .at-card-photo { grid-area: photo; align-self: start; height: 150px; margin: 12px 0 12px 12px; border-radius: 8px; background: var(--sand); overflow: hidden; }
.theme-atelier .at-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .8; transition: transform .35s, opacity .2s; }
.theme-atelier .at-card:hover .at-card-photo img { opacity: 1; }
.theme-atelier .at-card:hover .at-card-photo img { transform: scale(1.04); }
.theme-atelier .at-card-body { grid-area: body; padding: 10px 20px 10px; }
.theme-atelier .page-content .at-card-title { grid-area: title; font-size: 17px; display: flex; justify-content: space-between; gap: 8px; margin: 0 20px; padding: 16px 0 9px; border-bottom: 1px solid var(--grey); }
.theme-atelier .page-content .at-card-link { color: var(--ink); font-weight: 700; }
.theme-atelier .page-content .at-card-link:hover { text-decoration: none; }
.theme-atelier .at-card-link::after { content: ""; position: absolute; inset: 0; }
.theme-atelier .at-card:hover .at-card-link { color: var(--pink); }
.theme-atelier .at-card-arrow { color: var(--ink-3); font-weight: 400; transition: transform .15s, color .15s; }
.theme-atelier .at-card:hover .at-card-arrow { color: var(--pink); transform: translateX(3px); }
.theme-atelier .at-card-text { font-size: var(--t-ui); line-height: 1.5; color: var(--ink-2); margin: 0 0 10px !important; }
/* stat pills: one colour per kind of fact */
.theme-atelier .at-stats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.theme-atelier .at-stat { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; line-height: 1.2; letter-spacing: .01em; border-radius: 999px; padding: 3px 9px 3px 7px; margin: 0; }
.theme-atelier .at-stat svg { width: 12px; height: 12px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.theme-atelier .at-stat--time { background: #f3f7fe; color: #2f62b8; }
.theme-atelier .at-stat--lasts { background: #f1faf5; color: #2a7a53; }
.theme-atelier .at-stat--repeat { background: #fef8ec; color: #8f6420; }
.theme-atelier .at-stat--method { background: #f7f5fc; color: #62539e; }
.theme-atelier .at-card-foot { grid-area: foot; display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--grey); margin: 0 20px; padding: 10px 0 12px; }
.theme-atelier .at-card-price-label { font-size: var(--t-label); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); }
.theme-atelier .at-card-price { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- prices ---------- */
.theme-atelier .at-prices-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--gap); margin-bottom: 24px; }
.theme-atelier .at-price-card { background: var(--paper); border: 1px solid var(--grey-line); border-radius: var(--r); padding: 16px 20px; }
.theme-atelier .at-price-head { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid var(--grey); font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .06em; }
.theme-atelier .at-price-head img { width: 30px; height: 30px; object-fit: contain; }
.theme-atelier .at-price-row { display: flex; align-items: baseline; padding: 9px 0; font-size: var(--t-ui); line-height: 1.4; }
.theme-atelier .at-price-row + .at-price-row { border-top: 1px solid var(--grey); }
.theme-atelier .at-price-name::first-letter { text-transform: uppercase; }
.theme-atelier .at-leader { flex: 1; border-bottom: 1px dotted #cbd5e1; margin: 0 8px 4px; min-width: 20px; }
.theme-atelier .at-price-value { font-size: 15px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.theme-atelier .at-price { padding: 20px; }

/* ---------- trust ---------- */
.theme-atelier .at-masters { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--gap); }
.theme-atelier .at-master { display: flex; gap: 16px; align-items: flex-start; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 18px; }
.theme-atelier .at-master-ava { flex: none; width: 64px; }
.theme-atelier .at-master-ava img { max-width: none; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 2px solid var(--sand-line); }
.theme-atelier .at-master h3 { margin: 2px 0 6px; text-transform: capitalize; }
.theme-atelier .page-content .at-master h3 a { color: var(--ink); }
.theme-atelier .at-master-text { font-size: var(--t-ui); line-height: 1.55; font-style: italic; color: var(--ink-2); margin: 0; }
.theme-atelier .at-works { height: auto; margin: 0; }
.theme-atelier .at-works .img { margin: 0 12px 0 0; width: 280px; }
.theme-atelier .at-works img { width: 280px; height: 210px; object-fit: cover; margin: 0; border-radius: var(--r); }
.theme-atelier .at-works .slick-dots { position: static; margin-top: 12px; }
.theme-atelier .at-reviews-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); }
.theme-atelier .at-review { background: #fafafa; border: 1px solid var(--line); border-radius: var(--r); padding: 18px; display: flex; flex-direction: column; }
.theme-atelier .at-review p { font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); flex: 1; margin-bottom: 12px !important; }
.theme-atelier .at-review-foot { display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line); padding-top: 10px; font-size: var(--t-ui); }
.theme-atelier .at-review-author { font-weight: 700; }
.theme-atelier .at-review-date { color: var(--ink-3); font-size: var(--t-label); }
.theme-atelier .at-stars { margin-left: auto; color: var(--amber); letter-spacing: .1em; }
.theme-atelier .at-video-frame { position: relative; padding-top: 56.25%; border-radius: var(--r); overflow: hidden; background: #000; }
.theme-atelier .at-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.theme-atelier .at-video--portrait .at-video-frame { padding-top: 0; aspect-ratio: 9 / 16; max-width: 340px; }

/* ---------- tables (leaves) ---------- */
.theme-atelier .at-tbl { margin-top: -24px; }
.theme-atelier .at-tbl h3 { margin-bottom: 10px; }
.theme-atelier .at-tbl .table-responsive { border: 1px solid var(--grey-line); border-radius: var(--r); overflow: auto; }
.theme-atelier .at-tbl table { margin: 0; width: 100%; font-size: var(--t-ui); line-height: 1.5; border-collapse: collapse; }
.theme-atelier .at-tbl thead th { background: var(--grey); color: var(--ink-3); font-size: var(--t-label); letter-spacing: .08em; text-transform: uppercase; padding: 10px 14px; border: 0; border-bottom: 1px solid var(--grey-line); text-align: left; }
.theme-atelier .at-tbl tbody th, .theme-atelier .at-tbl tbody td { padding: 11px 14px; border: 0; border-top: 1px solid var(--grey); vertical-align: top; }
.theme-atelier .at-tbl tbody tr:first-child th, .theme-atelier .at-tbl tbody tr:first-child td { border-top: 0; }
.theme-atelier .at-tbl tbody th { font-weight: 700; white-space: nowrap; }
.theme-atelier .at-note { font-size: var(--t-ui); }

/* ---------- FAQ ---------- */
.theme-atelier .at-faq-item { border: 1px solid var(--line); border-radius: var(--r); padding: 0 18px; margin-bottom: 8px; background: var(--paper); }
.theme-atelier .at-faq-item[open] { border-color: rgba(253, 48, 95, .3); }
.theme-atelier .at-faq-item summary { list-style: none; cursor: pointer; padding: 14px 32px 14px 0; font-weight: 700; font-size: 15px; line-height: 1.45; position: relative; }
.theme-atelier .at-faq-item summary::-webkit-details-marker { display: none; }
.theme-atelier .at-faq-item summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid var(--pink); border-bottom: 2px solid var(--pink); transform: rotate(45deg); transition: transform .2s; }
.theme-atelier .at-faq-item[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.theme-atelier .at-faq-item[open] summary { color: var(--pink); }
.theme-atelier .at-faq-body { border-top: 1px solid var(--grey); padding: 12px 0 16px; font-size: var(--t-ui); line-height: 1.6; color: var(--ink-2); }

/* ---------- closing card ---------- */
.theme-atelier .at-cta { display: flex; gap: 24px; align-items: center; justify-content: space-between; background: var(--sand); border: 1px solid var(--sand-line); border-radius: var(--r-lg); padding: 28px; }
.theme-atelier .at-cta h2 { margin-bottom: 8px; }
.theme-atelier .at-cta-address { color: var(--ink-2); font-size: var(--t-ui); }
.theme-atelier .at-cta-action { flex: none; text-align: center; }
.theme-atelier .at-cta-note { font-size: var(--t-label); margin: 10px 0 0 !important; color: var(--ink-2); }
.theme-atelier .at-cta--dark { background: var(--navy); border-color: var(--navy); }
.theme-atelier .at-cta--dark h2, .theme-atelier .at-cta--dark p { color: #fff !important; }
.theme-atelier .at-cta--dark .at-cta-address { color: rgba(255, 255, 255, .7) !important; }
.theme-atelier .at-cta--dark .at-cta-note { color: var(--gold) !important; }

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
    .theme-atelier .at-card { grid-template-columns: 172px 1fr; }
    .theme-atelier .at-cards--grid3 .at-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .theme-atelier .at-cards--grid3 .at-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
    .theme-atelier { --t-h2: 19px; --band-pad: 18px; --block-gap: 36px; }
    .theme-atelier .at-lead { padding: 20px 18px; }
    .theme-atelier .at-cards--grid2 .at-cards-grid, .theme-atelier .at-cards--grid3 .at-cards-grid, .theme-atelier .at-reviews-grid { grid-template-columns: 1fr; }
    .theme-atelier .at-card { grid-template-columns: 76px 1fr; grid-template-rows: auto auto auto; grid-template-areas: "photo title" "body body" "foot foot"; }
    .theme-atelier .at-card-photo { height: auto; aspect-ratio: 1 / 1; margin: 14px 0 0 14px; border-radius: 10px; }
    .theme-atelier .at-card-body { margin: 12px 14px 0; padding: 10px 0 8px; border-top: 1px solid var(--grey); }
    .theme-atelier .page-content .at-card-title { font-size: 16px; margin: 0; padding: 14px 14px 0 12px; border-bottom: 0; align-self: center; }
    .theme-atelier .at-card-foot { margin: 0 14px; }
    .theme-atelier .at-item { flex-wrap: wrap; }
    .theme-atelier .at-toc ol { columns: 1; }
    .theme-atelier .at-facts { grid-template-columns: 1fr 1fr; }
    .theme-atelier .at-fact { border-right: 0; padding: 6px 12px; }
    .theme-atelier .at-cta { flex-direction: column; align-items: stretch; text-align: center; }
    .theme-atelier .at-works .img, .theme-atelier .at-works img { width: 250px; }
    .theme-atelier .at-works img { height: 188px; }
}

/* marks on the title line (numbers, checks) */
.theme-atelier .at-mark { display: inline-flex; align-items: center; justify-content: center; vertical-align: -3px; width: 20px; height: 20px; border-radius: 50%; margin-right: 8px; font-size: 11px; font-weight: 700; flex: none; }
.theme-atelier .at-mark--num { background: var(--green); color: #fff; }
.theme-atelier .at-mark--check { background: var(--pink-tint); }
.theme-atelier .at-mark--check svg { width: 12px; height: 12px; fill: none; stroke: var(--pink); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.theme-atelier .at-tone--mint .at-mark--check, .theme-atelier .at-panel .at-mark--check { background: #d8f1e3; }
.theme-atelier .at-tone--mint .at-mark--check svg, .theme-atelier .at-panel .at-mark--check svg { stroke: var(--green); }
.theme-atelier .at-cards--grid2 .at-item, .theme-atelier .at-cards--grid3 .at-item { gap: 0; }

/* face-shape drawings */
.theme-atelier .at-figure { flex: none; width: 52px; height: 62px; display: flex; align-items: center; justify-content: center; background: var(--sand-chip); border: 1px solid var(--sand-line); border-radius: 10px; }
.theme-atelier .at-figure svg { width: 42px; height: 50px; }
.theme-atelier .at-part-media { position: sticky; top: 90px; }
.theme-atelier .at-figure svg * { stroke: var(--ink); }
.theme-atelier .at-item--figure { align-items: center; }

/* accent titles */
.theme-atelier .at-accent--pink .at-item-body h3 { color: var(--pink); }
.theme-atelier .at-accent--blue .at-item-body h3 { color: var(--blue); }
.theme-atelier .at-accent--green .at-item-body h3 { color: var(--green); }

/* combined panel */
.theme-atelier .at-panel { border-radius: var(--r-lg); padding: var(--band-pad); border: 1px solid var(--line); }
.theme-atelier .at-part + .at-part { border-top: 1px solid var(--mint-line); margin-top: 28px; padding-top: 26px; }
.theme-atelier .at-part h2 { font-size: 19px; margin-bottom: 14px; }
.theme-atelier .at-part-grid { display: grid; gap: 20px; align-items: start; }
.theme-atelier .at-part--media .at-part-grid { grid-template-columns: 1.15fr .85fr; }
.theme-atelier .at-part--media-left .at-part-media { order: -1; }
.theme-atelier .at-part--media-left .at-part-grid { grid-template-columns: .85fr 1.15fr; }
.theme-atelier .at-part-card { background: var(--paper); border: 1px solid var(--mint-line); border-radius: var(--r); padding: 18px 20px; }
.theme-atelier .at-part-intro { font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); margin: 0 0 12px !important; }
.theme-atelier .at-part-list { list-style: none; margin: 0; padding: 0; }
.theme-atelier .at-part-list li { padding: 10px 0; margin: 0; border-top: 1px solid var(--grey); }
.theme-atelier .at-part-list li:first-child { border-top: 0; padding-top: 2px; }
.theme-atelier .at-part-list h3 { font-size: 15px; margin: 0 0 3px; }
.theme-atelier .at-part-list p { font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); margin: 0; }
.theme-atelier .at-part-note { font-size: var(--t-ui); line-height: 1.55; color: var(--ink-2); border-top: 1px solid var(--grey); padding-top: 10px; margin-top: 4px; }
.theme-atelier .at-part-note strong { color: var(--ink); }
.theme-atelier .at-part-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); border: 1px solid var(--mint-line); display: block; }

/* video: centred */
.theme-atelier .at-video h2 { text-align: center; }
.theme-atelier .at-video-frame { margin: 0 auto; max-width: 640px; }
.theme-atelier .at-video--portrait .at-video-frame { max-width: 340px; }

@media (max-width: 767px) {
    .theme-atelier .at-part--media .at-part-grid, .theme-atelier .at-part--media-left .at-part-grid { grid-template-columns: 1fr; }
    .theme-atelier .at-part--media-left .at-part-media { order: 0; }
    .theme-atelier .at-part-card { padding: 16px; }
    .theme-atelier .at-item--figure { flex-wrap: nowrap; }
    .theme-atelier .at-item--figure .at-item-tag { display: none; }
}

/* wide column: two services per row, an odd last one takes the whole row */
@container (min-width: 700px) {
    .theme-atelier .at-chooser-grid { grid-template-columns: repeat(2, 1fr); }
    .theme-atelier .at-chooser-grid .at-card { grid-template-columns: 140px 1fr; }
    .theme-atelier .at-chooser-grid .at-card .at-card-title { font-size: 16px; margin: 0 16px; padding: 14px 0 8px; }
    .theme-atelier .at-chooser-grid .at-card .at-card-body { padding: 10px 16px 10px; }
    .theme-atelier .at-chooser-grid .at-card .at-card-foot { margin: 0 16px; }
    .theme-atelier .at-chooser-grid .at-card:last-child:nth-child(odd) { grid-column: 1 / -1; grid-template-columns: 212px 1fr; }
    .theme-atelier .at-chooser-grid .at-card:last-child:nth-child(odd) .at-card-title { font-size: 17px; margin: 0 20px; padding: 16px 0 9px; }
    .theme-atelier .at-chooser-grid .at-card:last-child:nth-child(odd) .at-card-body { padding: 10px 20px 10px; }
    .theme-atelier .at-chooser-grid .at-card:last-child:nth-child(odd) .at-card-foot { margin: 0 20px; }
}

.theme-atelier .at-price-checked { font-size: var(--t-label); color: var(--ink-3); text-align: right; margin: 10px 2px 0 !important; }
.theme-atelier .at-prices .at-price-checked { text-align: center; margin: -10px 0 18px !important; }

/* lead: links are part of the answer — ink, bold, dashed underline (no brand red) */
.theme-atelier .page-content .at-lead a { color: var(--ink); font-weight: 700; text-decoration: none; border-bottom: 1px dashed var(--ink-3); }
.theme-atelier .page-content .at-lead a:hover { text-decoration: none; border-bottom-color: var(--pink); color: var(--pink); }

/* prose lists: real markers, breathing room, label-first items */
.theme-atelier .at-sec ul, .theme-atelier .at-lead ul, .theme-atelier .at-faq-body ul { list-style: none; padding-left: 0; margin: 4px 0 14px; }
.theme-atelier .at-sec ul > li, .theme-atelier .at-lead ul > li, .theme-atelier .at-faq-body ul > li { position: relative; padding: 0 0 0 22px; margin: 0 0 8px; line-height: 1.6; }
.theme-atelier .at-sec ul > li::before, .theme-atelier .at-lead ul > li::before, .theme-atelier .at-faq-body ul > li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 7px; height: 7px; border-radius: 50%; background: var(--pink); opacity: .75; }
.theme-atelier .at-sec ol { list-style: none; counter-reset: ol; padding-left: 0; margin: 4px 0 14px; }
.theme-atelier .at-sec ol > li { counter-increment: ol; position: relative; padding-left: 30px; margin: 0 0 8px; }
.theme-atelier .at-sec ol > li::before { content: counter(ol); position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%; background: var(--pink-tint); color: var(--pink); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
/* a list that closes a plain section sits in a soft card so it reads as a unit */
.theme-atelier .at-sec:not(.at-sec--steps):not(.at-sec--checks) > ul { background: #fafafa; border: 1px solid var(--line); border-radius: var(--r); padding: 14px 18px 8px; }
.theme-atelier .at-sec li > strong:first-child { color: var(--ink); }
/* keep the special lists' own markers */
.theme-atelier .at-sec--steps ul > li::before, .theme-atelier .at-sec--steps ol > li::before { content: counter(step); left: 16px; top: 12px; width: 26px; height: 26px; background: var(--blue); opacity: 1; color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.theme-atelier .at-sec--steps ul > li, .theme-atelier .at-sec--steps ol > li { padding: 12px 16px 12px 56px; }
.theme-atelier .at-sec--checks ul > li::before { content: "✓"; left: 0; top: 1px; width: 20px; height: 20px; background: var(--paper); opacity: 1; color: var(--green); font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.theme-atelier .at-sec--checks ul > li { padding-left: 30px; }
/* inline photos inside prose */
.theme-atelier .at-sec img.img-thumbnail { border: 0; padding: 0; border-radius: var(--r); max-width: 100%; }
.theme-atelier .at-sec h3 + p, .theme-atelier .at-sec h2 + p { margin-top: 0; }

/* cards with a thumbnail: picture left, text right — in grids too */
.theme-atelier .at-cards .at-item.at-item--thumb { flex-direction: row; gap: 14px; align-items: flex-start; }
.theme-atelier .at-thumb { flex: none; width: 96px; border-radius: 10px; overflow: hidden; border: 1px solid var(--sand-line); background: var(--sand); }
.theme-atelier .at-thumb img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) { .theme-atelier .at-thumb { width: 84px; } .theme-atelier .at-item--thumb { flex-wrap: nowrap; } }

/* breadcrumbs stay visible on phones: one wrapping line above the H1 */
@media (max-width: 767px) {
    .at-bread { flex-wrap: wrap; justify-content: center; row-gap: 2px; padding: 0 12px; margin: 0 0 10px; font-size: 12px; line-height: 1.4; }
    .at-bread .bread-item.active { max-width: 100%; }
}
@media (max-width: 767px) { .at-bread .bread-item.active { display: none; } }  /* the H1 right below already names the page */

/* inner pages: more colour and rhythm */
.theme-atelier .at-item-dot { flex: none; width: 26px; height: 26px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(30,33,36,.12), 0 2px 6px rgba(30,33,36,.10); }
.theme-atelier .at-cards h3:first-child { font-size: 17px; margin: 0 0 12px; }
/* big-value cards: when the title is the figure (time, hold time) */
.theme-atelier .at-accent--blue .at-item { border-color: var(--sky-line); }
.theme-atelier .at-accent--blue .at-item-body h3 { font-size: 20px; letter-spacing: .01em; }
.theme-atelier .at-accent--green .at-item { border-color: var(--mint-line); }
/* tinted prose sections */
.theme-atelier .at-sec.at-band { padding: 24px var(--band-pad); }
.theme-atelier .at-sec.at-band > :last-child { margin-bottom: 0; }
/* section titles on inner pages get a short brand bar */
.theme-atelier .at-sec > h2::after, .theme-atelier .at-cards > h2::after, .theme-atelier .at-tbl > h3::after { content: ""; display: block; width: 36px; height: 3px; border-radius: 2px; background: var(--pink); margin-top: 10px; }
.theme-atelier .at-sec--steps > h2::after { background: var(--blue); }
.theme-atelier .at-sec--checks > h2::after, .theme-atelier .at-tone--mint > h2::after { background: var(--green); }
.theme-atelier .at-tone--sky > h2::after, .theme-atelier .at-tone--sky > h3::after { background: var(--blue); }

/* pictures on inner pages */
.theme-atelier .at-figures-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.theme-atelier .at-figures--2 .at-figures-row { max-width: 560px; }
.theme-atelier .at-figures figure { margin: 0; }
.theme-atelier .at-figures img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--r); border: 1px solid var(--sand-line); }
.theme-atelier .at-figures figcaption { font-size: var(--t-label); font-weight: 600; color: var(--ink-2); text-align: center; padding-top: 6px; }
.theme-atelier .at-figures-note { font-size: var(--t-label); color: var(--ink-3); margin-top: 8px !important; }
.theme-atelier .page-content > .at-figures { margin-top: -24px; }
/* a picture inside a prose section: floats right on wide screens */
.theme-atelier .at-sec .at-inline-img { float: right; width: 240px; max-width: 45%; margin: 4px 0 12px 20px; border-radius: var(--r); border: 1px solid var(--sand-line); }
.theme-atelier .at-sec::after { content: ""; display: block; clear: both; }
/* cards with a picture: a larger thumb in three-column grids sits on top */
.theme-atelier .at-cards--grid3 .at-item.at-item--thumb { flex-direction: column; }
.theme-atelier .at-cards--grid3 .at-thumb { width: 100%; }
.theme-atelier .at-cards--grid3 .at-thumb img { aspect-ratio: 3 / 2; object-fit: cover; }
.theme-atelier .at-cards--grid2 .at-thumb { width: 110px; }
@media (max-width: 767px) { .theme-atelier .at-sec .at-inline-img { float: none; width: 100%; max-width: 100%; margin: 0 0 12px; } .theme-atelier .at-cards--grid3 .at-thumb img { aspect-ratio: 2 / 1; } }
