/* Service pages: same paper, ink and type as the home page. No scroll engine here; plain, fast pages. */
@font-face { font-family: "Vollkorn"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(fonts2/vollkorn-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Vollkorn"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(fonts2/vollkorn-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
@font-face { font-family: "Ysabeau"; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts2/ysabeau-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Ysabeau"; font-style: normal; font-weight: 300 700; font-display: swap; src: url(fonts2/ysabeau-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD; }
:root { --canvas: #F4ECDF; --surface: #EAE0D0; --ink: #2A211B; --ink-soft: #6B5E54; --accent: #B9502F; --accent-ink: #FFF4E8; --accent-text: #8E3A1F; --hairline: rgba(42,33,27,0.14); --hairline-strong: rgba(42,33,27,0.3);
  --t-sm: clamp(0.875rem, 0.84rem + 0.18vw, 0.95rem); --t-base: clamp(1rem, 0.96rem + 0.22vw, 1.125rem); --t-lg: clamp(1.2rem, 1.1rem + 0.5vw, 1.5rem); --t-xl: clamp(1.5rem, 1.2rem + 1vw, 2rem); --gutter: clamp(1.25rem, 5vw, 5.5rem); --r: 14px; }
* { box-sizing: border-box; }
html { background: var(--canvas); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: "Ysabeau", "Segoe UI", system-ui, sans-serif; font-size: var(--t-base); line-height: 1.55; }
h1, h2, h3 { font-family: "Vollkorn", Georgia, serif; font-weight: 600; letter-spacing: -0.015em; text-wrap: balance; }
h1 { font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.2rem); line-height: 1.0; margin: 0 0 1rem; }
h2 { font-size: var(--t-xl); line-height: 1.12; margin: 0 0 0.8rem; }
h3 { font-size: var(--t-lg); margin: 0 0 0.3rem; }
p { margin: 0 0 1rem; max-width: 62ch; }
a { color: var(--ink); text-decoration-color: var(--accent); text-underline-offset: 3px; }
a:hover { color: var(--accent-text); }
.brand { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem var(--gutter); }
.brand__mark { font-family: "Vollkorn", Georgia, serif; font-weight: 700; font-size: 1.2rem; letter-spacing: -0.01em; text-decoration: none; }
.brand__acts { display: flex; align-items: center; gap: 1rem; }
.brand__tel { font-weight: 700; font-size: var(--t-base); text-decoration: none; border: 1.5px solid var(--hairline-strong); border-radius: 999px; padding: 0.5rem 1.1rem; font-variant-numeric: lining-nums tabular-nums; }
.btn { display: inline-flex; align-items: center; background: var(--accent); color: var(--accent-ink); font-weight: 600; font-size: var(--t-base); padding: 0.9rem 1.5rem; border-radius: 999px; text-decoration: none; line-height: 1; white-space: nowrap; transition: background-color 180ms ease-out; }
.btn:hover { background: #A2431F; color: var(--accent-ink); }
.brand .btn { padding: 0.7rem 1.15rem; font-size: var(--t-sm); }
@media (max-width: 600px) { .brand__tel { display: none; } }
main { max-width: 72rem; margin: 0 auto; padding: clamp(1.5rem, 4vh, 3rem) var(--gutter) clamp(3rem, 8vh, 5rem); }
.crumbs { font-size: var(--t-sm); color: var(--ink-soft); margin: 0 0 1.6rem; }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.crumbs li + li::before { content: "\203A"; margin-right: 0.4rem; }
.lead { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: end; margin-bottom: clamp(2.5rem, 6vh, 4rem); }
.lead .lede { font-size: var(--t-lg); color: var(--ink-soft); max-width: 36rem; margin: 0; }
.hero-p { margin: 0 0 clamp(2.5rem, 6vh, 4rem); }
.hero-p img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; border-radius: var(--r); background: var(--surface); }
.hero-p figcaption { font-size: var(--t-sm); color: var(--ink-soft); padding: 0.6rem 0 0; }
.two { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(1.8rem, 4vh, 2.6rem) 0; border-top: 1px solid var(--hairline); }
.incl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem 2rem; }
.incl li { padding-left: 1.1rem; position: relative; }
.incl li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--accent); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.steps li { display: grid; grid-template-columns: 2.4rem 1fr; column-gap: 0.8rem; align-items: baseline; }
.steps i { font-style: normal; font-family: "Vollkorn", Georgia, serif; font-weight: 700; font-size: var(--t-lg); color: var(--accent-text); }
.steps p { margin: 0; color: var(--ink-soft); }
.others { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.others a { display: block; padding: 1rem 1.1rem; border: 1px solid var(--hairline); border-radius: var(--r); text-decoration: none; background: var(--surface); }
.others a:hover { border-color: var(--hairline-strong); }
.others b { display: block; font-family: "Vollkorn", Georgia, serif; font-weight: 600; font-size: var(--t-lg); margin-bottom: 0.2rem; }
.others span { font-size: var(--t-sm); color: var(--ink-soft); }
.cta { margin-top: clamp(2.5rem, 6vh, 4rem); background: #241C17; color: #F4ECDF; border-radius: var(--r); padding: clamp(1.8rem, 4vw, 3rem); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 1.5rem 3rem; align-items: center; }
.cta h2 { font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem); margin: 0 0 0.6rem; }
.cta p { color: #C9B9A8; margin: 0; }
.cta .acts { display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; align-items: center; justify-self: end; }
.cta .tel { color: #F4ECDF; font-family: "Vollkorn", Georgia, serif; font-weight: 700; font-size: var(--t-xl); text-decoration: none; white-space: nowrap; }
.cta .tel small { display: block; font-family: "Ysabeau", system-ui, sans-serif; font-weight: 400; font-size: var(--t-sm); color: #C9B9A8; }
.colophon { margin-top: clamp(3rem, 8vh, 5rem); padding-top: 1.2rem; border-top: 1px solid var(--hairline); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem 2rem; font-size: var(--t-sm); color: var(--ink-soft); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 760px) {
  .lead, .two, .cta { grid-template-columns: 1fr; }
  .hero-p img { aspect-ratio: 4 / 3; }
  .incl { grid-template-columns: 1fr; }
  .others { grid-template-columns: 1fr; }
  .cta .acts { justify-self: start; }
}

.hero-p--set { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
.hero-p--set img { aspect-ratio: 3 / 4; }
.hero-p--set figcaption { grid-column: 1 / -1; }
