/* Dedicated presentation layer for Germany service sites. */
:root {
  --svc-ink: #13221d;
  --svc-muted: #58645f;
  --svc-paper: #fbfcfa;
  --svc-tint: #edf5ef;
  --svc-line: rgba(19, 34, 29, .14);
  --svc-brand: #1E40AF;
  --svc-accent: #22C55E;
  --svc-display: inherit;
}
.service-site { background: var(--svc-paper); color: var(--svc-ink); font-family: var(--font-sans); }
.service-site * { box-sizing: border-box; }
.service-shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.service-kicker { margin: 0; color: var(--svc-accent); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.service-title { max-width: 13ch; margin: 18px 0 0; font-family: var(--svc-display); font-size: clamp(2.7rem, 6vw, 5.8rem); font-weight: 700; letter-spacing: 0; line-height: .96; }
.service-lead { max-width: 54ch; margin: 26px 0 0; color: var(--svc-muted); font-size: clamp(1rem, 1.7vw, 1.18rem); line-height: 1.7; }
.service-action { display: inline-flex; align-items: center; gap: .65rem; margin-top: 32px; padding: 15px 21px; background: var(--svc-brand); color: #fff; font-size: .95rem; font-weight: 750; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.service-action:hover { background: var(--svc-accent); color: #fff; transform: translateY(-2px); }
.service-link { display: inline-flex; align-items: center; gap: .45rem; margin-top: 28px; color: var(--svc-brand); font-weight: 750; text-decoration: none; }
.service-link:hover { color: var(--svc-accent); }
.service-header { background: var(--svc-paper); border-bottom: 1px solid var(--svc-line); }
.service-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.service-brand { color: var(--svc-ink); font-size: 1.05rem; font-weight: 850; letter-spacing: .02em; text-decoration: none; }
.service-brand small { display:block; margin-top: 3px; color:var(--svc-muted); font-size:.68rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.service-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 21px; }
.service-nav a { color: var(--svc-muted); font-size: .82rem; font-weight: 700; text-decoration: none; }
.service-nav a:hover { color: var(--svc-brand); }
.service-header-cta { color: var(--svc-brand); font-size: .84rem; font-weight: 800; text-decoration: none; }
.service-hero { overflow: hidden; padding: clamp(56px, 8vw, 118px) 0 clamp(64px, 9vw, 132px); }
.service-hero-grid { display: grid; grid-template-columns: 1fr minmax(360px, .93fr); align-items: center; gap: clamp(40px, 7vw, 105px); }
.service-visual { margin: 0; }
.service-visual img { display: block; width: 100%; height: auto; max-height: 660px; object-fit: contain; background: transparent; }
.service-visual figcaption { margin-top: 12px; color: var(--svc-muted); font-size: .76rem; }
.service-proof { display: flex; flex-wrap: wrap; gap: 15px 28px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--svc-line); color: var(--svc-muted); font-size: .83rem; }
.service-proof span::before { content: '•'; margin-right: 8px; color: var(--svc-accent); }
.service-section { padding: clamp(68px, 9vw, 128px) 0; }
.service-section--tint { background: var(--svc-tint); }
.service-section--ink { background: var(--svc-ink); color: #f5f7f5; }
.service-heading { max-width: 700px; }
.service-heading h2 { margin: 14px 0 0; font-family: var(--svc-display); font-size: clamp(2rem, 4vw, 3.65rem); line-height: 1.05; }
.service-heading p { max-width: 58ch; margin: 20px 0 0; color: var(--svc-muted); font-size: 1.02rem; line-height: 1.7; }
.service-section--ink .service-heading p { color: rgba(255,255,255,.7); }
.service-split { display:grid; grid-template-columns: minmax(260px,.8fr) minmax(390px,1.2fr); gap: clamp(42px,7vw,100px); align-items:center; }
.service-split-copy { font-size: 1.03rem; line-height: 1.8; color: var(--svc-muted); }
.service-split-copy h2 { margin:14px 0 18px; color:var(--svc-ink); font-family:var(--svc-display); font-size:clamp(2rem,3.6vw,3.4rem); line-height:1.04; }
.service-section--ink .service-split-copy h2 { color:#fff; }
.service-split-copy p { margin: 0; }
.service-image-large img { display:block; width:100%; height:auto; object-fit:contain; }
.service-steps { margin-top: 50px; display:grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.service-step { padding: 28px 25px 25px 0; border-top: 2px solid var(--svc-brand); }
.service-step + .service-step { margin-left: 20px; }
.service-step-number { color: var(--svc-accent); font-size: .78rem; font-weight: 850; letter-spacing:.1em; }
.service-step h3 { margin: 14px 0 0; font-size: 1.13rem; line-height:1.25; }
.service-step p { margin: 10px 0 0; color:var(--svc-muted); font-size:.9rem; line-height:1.55; }
.service-module-list { margin-top: 55px; }
.service-module { display:grid; grid-template-columns: 110px 1fr; gap: 28px; padding: 28px 0; border-top:1px solid var(--svc-line); }
.service-module:last-child { border-bottom:1px solid var(--svc-line); }
.service-module-index { color:var(--svc-accent); font-size:.76rem; font-weight:850; letter-spacing:.1em; }
.service-module h3 { margin:0; font-size:1.38rem; line-height:1.2; }
.service-module p { margin:10px 0 0; color:var(--svc-muted); line-height:1.65; }
.service-module-items { display:flex; flex-wrap:wrap; gap:10px 18px; margin:18px 0 0; padding:0; list-style:none; color:var(--svc-ink); font-size:.88rem; font-weight:700; }
.service-module-items li::before { content:'+'; margin-right:7px; color:var(--svc-accent); }
.service-contact { background:var(--svc-brand); color:#fff; padding:clamp(62px,8vw,108px) 0; }
.service-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(36px,7vw,100px); align-items:start; }
.service-contact h2 { margin:15px 0 0; font-family:var(--svc-display); font-size:clamp(2.1rem,4.2vw,4rem); line-height:1.02; }
.service-contact-copy { color:rgba(255,255,255,.78); line-height:1.7; }
.service-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.service-form .wide { grid-column:1 / -1; }
.service-form label { display:grid; gap:7px; color:rgba(255,255,255,.82); font-size:.78rem; font-weight:750; }
.service-form input,.service-form select,.service-form textarea { width:100%; border:0; border-radius:0; background:rgba(255,255,255,.12); color:#fff; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.58); outline:none; box-shadow:none; }
.service-form input::placeholder,.service-form textarea::placeholder { color:rgba(255,255,255,.58); }
.service-form option { color:var(--svc-ink); }
.service-form .consent { grid-column:1/-1; display:flex; gap:10px; align-items:flex-start; color:rgba(255,255,255,.8); font-size:.77rem; line-height:1.55; }
.service-form .consent input { width:auto; margin-top:4px; }
.service-form .consent a { color:#fff; text-decoration:underline; }
.service-form button { grid-column:1/-1; justify-self:start; padding:15px 24px; border:0; background:#fff; color:var(--svc-brand); font-weight:850; cursor:pointer; }
.service-form button:hover { background:var(--svc-accent); color:#fff; }
.service-action--light { background:#fff; color:var(--svc-brand); }
.service-action--light:hover { background:var(--svc-accent); color:#fff; }
.service-footer { background:#0d1612; color:rgba(255,255,255,.65); padding:58px 0 28px; }
.service-footer-grid { display:grid; grid-template-columns:1.35fr .7fr .85fr; gap:55px; }
.service-footer h3 { margin:0; color:#fff; font-size:1rem; }
.service-footer p { margin:15px 0 0; max-width:42ch; font-size:.86rem; line-height:1.65; }
.service-footer nav { display:grid; gap:10px; margin-top:15px; }
.service-footer a { color:rgba(255,255,255,.65); font-size:.85rem; text-decoration:none; }
.service-footer a:hover { color:#fff; }
.service-footer-bottom { margin-top:52px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); font-size:.72rem; }
.service-page-hero { padding:clamp(60px,9vw,130px) 0 70px; background:var(--svc-tint); }
.service-page-hero h1 { max-width:14ch; margin:14px 0 0; font-family:var(--svc-display); font-size:clamp(2.8rem,6vw,5.5rem); line-height:.96; }
.service-page-hero p { max-width:58ch; margin:24px 0 0; color:var(--svc-muted); font-size:1.08rem; line-height:1.7; }
.service-article { width:min(840px,calc(100% - 40px)); margin:0 auto; padding:clamp(65px,9vw,120px) 0; }
.service-article h2 { margin:54px 0 0; font-family:var(--svc-display); font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.12; }
.service-article p { margin:18px 0 0; color:var(--svc-muted); font-size:1.03rem; line-height:1.8; }
.service-faq { margin-top:52px; }
.service-faq details { padding:25px 0; border-top:1px solid var(--svc-line); }
.service-faq details:last-child { border-bottom:1px solid var(--svc-line); }
.service-faq summary { cursor:pointer; color:var(--svc-ink); font-size:1.15rem; font-weight:760; list-style:none; }
.service-faq summary::after { content:'+'; float:right; color:var(--svc-accent); font-size:1.4rem; }
.service-faq details[open] summary::after { content:'−'; }
.service-faq p { max-width:68ch; margin:15px 0 0; color:var(--svc-muted); line-height:1.72; }
.service-mosaic { margin-top:55px; display:grid; grid-template-columns:1.1fr .9fr; gap:25px; align-items:start; }
.service-mosaic img { display:block; width:100%; height:auto; object-fit:contain; }
.service-note { padding:26px 0; border-top:1px solid var(--svc-line); }
.service-note:last-child { border-bottom:1px solid var(--svc-line); }
.service-note strong { display:block; font-size:1rem; }
.service-note span { display:block; margin-top:8px; color:var(--svc-muted); line-height:1.65; }
.service-detail-notes { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(42px,8vw,125px); align-items:start; }
.service-contact-details { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.service-contact-details > div { padding:0 0 24px; border-bottom:2px solid var(--svc-brand); }
.service-contact-details > div > a { display:block; margin-top:14px; overflow-wrap:anywhere; color:var(--svc-ink); font-family:var(--svc-display); font-size:clamp(1.25rem,2.3vw,2rem); font-weight:750; line-height:1.18; text-decoration:none; }
.service-contact-details > div > p:not(.service-kicker) { margin:14px 0 0; color:var(--svc-muted); line-height:1.65; }
.service-steps--large { grid-template-columns:repeat(5,1fr); }
.service-thank-you { min-height:65vh; display:flex; align-items:center; }
/* Header and footer families alter composition, not just a colour token. */
.service-header--contact_strip .service-header-inner,.service-header--phone_focus .service-header-inner { min-height:94px; }
.service-header--dark_compact,.service-header--service_band { background:var(--svc-ink); border-bottom:0; }
.service-header--dark_compact .service-brand,.service-header--dark_compact .service-nav a,.service-header--dark_compact .service-header-cta,.service-header--service_band .service-brand,.service-header--service_band .service-nav a,.service-header--service_band .service-header-cta { color:#fff; }
.service-header--dark_compact .service-brand small,.service-header--service_band .service-brand small { color:rgba(255,255,255,.58); }
.service-header--centered_identity .service-header-inner { justify-content:center; position:relative; }
.service-header--centered_identity .service-nav { position:absolute; right:0; }
.service-header--centered_identity .service-header-cta { display:none; }
.service-header--two_row_info .service-header-inner { min-height:104px; align-items:flex-end; padding-bottom:18px; }
.service-header--outline_nav .service-nav a { padding:8px 11px; border:1px solid var(--svc-line); }
.service-header--compact_label .service-brand small { display:none; }
.service-footer--light_columns { background:var(--svc-tint); color:var(--svc-muted); }
.service-footer--light_columns h3,.service-footer--light_columns a { color:var(--svc-ink); }
.service-footer--light_columns .service-footer-bottom { border-top-color:var(--svc-line); }
.service-footer--contact_bar { border-top:8px solid var(--svc-accent); }
.service-footer--plain_legal { padding-top:38px; }
.service-footer--plain_legal .service-footer-grid { grid-template-columns:1.5fr 1fr; }
.service-footer--plain_legal .service-footer-grid > :nth-child(2) { display:none; }
.service-footer--minimal_links .service-footer-grid { grid-template-columns:1.6fr 1fr; }
.service-footer--minimal_links .service-footer-grid > :nth-child(2) { display:none; }
.service-footer--three_band { border-top:1px solid rgba(255,255,255,.22); }
.service-theme-studio { --svc-ink:#1d2432; --svc-muted:#5f697a; --svc-paper:#f8f9fc; --svc-tint:#edf0f7; --svc-brand:#293b66; --svc-accent:#c76738; }
.service-theme-landscape { --svc-ink:#253122; --svc-muted:#60705b; --svc-paper:#fafaf6; --svc-tint:#edf0e4; --svc-brand:#385b38; --svc-accent:#a66a2c; }
.service-theme-workshop { --svc-ink:#19201f; --svc-muted:#64706c; --svc-paper:#f7f7f5; --svc-tint:#e9eeeb; --svc-brand:#223b39; --svc-accent:#d87536; }
.service-theme-journal { --svc-ink:#231f20; --svc-muted:#716869; --svc-paper:#fdfbf9; --svc-tint:#f4ece8; --svc-brand:#5c3736; --svc-accent:#aa7347; --svc-display:Georgia,serif; }
.service-theme-gallery { --svc-ink:#182225; --svc-muted:#647176; --svc-paper:#f8fbfb; --svc-tint:#e6f0ef; --svc-brand:#1e5554; --svc-accent:#c3734c; }
.service-theme-editorial .service-hero { background:linear-gradient(125deg,#f4efe7 0%,#fbfcfa 58%); }
.service-theme-studio .service-hero { background:linear-gradient(120deg,#eef2fb 0%,#f8f9fc 62%); }
.service-theme-landscape .service-hero { background:linear-gradient(120deg,#edf1e5 0%,#fafaf6 62%); }
.service-theme-workshop .service-hero { background:#e9eeeb; }
.service-theme-journal .service-hero { background:#f4ece8; }
.service-theme-gallery .service-hero { background:#e6f0ef; }
.service-theme-editorial .service-hero-grid,.service-theme-journal .service-hero-grid { grid-template-columns:.85fr 1.15fr; }
.service-theme-workshop .service-header,.service-theme-workshop .service-page-hero { background:var(--svc-ink); color:#fff; }
.service-theme-workshop .service-brand,.service-theme-workshop .service-nav a,.service-theme-workshop .service-header-cta { color:#fff; }
.service-theme-workshop .service-brand small { color:rgba(255,255,255,.56); }
.service-theme-workshop .service-page-hero p { color:rgba(255,255,255,.7); }
.service-theme-gallery .service-steps { grid-template-columns:repeat(2,1fr); gap:22px; }
.service-theme-gallery .service-step { padding:26px 0; }
.service-theme-editorial .service-visual { padding:18px 0 0 18px; border-left:1px solid var(--svc-accent); }
.service-theme-studio .service-visual { padding:18px; background:#fff; box-shadow:18px 18px 0 var(--svc-brand); }
.service-theme-landscape .service-visual { border-radius:0 0 100px 0; overflow:hidden; }
.service-theme-workshop .service-hero { color:#fff; }
.service-theme-workshop .service-lead,.service-theme-workshop .service-proof { color:rgba(255,255,255,.72); }
.service-theme-workshop .service-visual { padding:12px; background:var(--svc-accent); }
.service-theme-journal .service-visual { transform:rotate(1.2deg); box-shadow:0 18px 42px rgba(53,35,34,.18); }
.service-theme-gallery .service-hero-grid { grid-template-columns:1.15fr .85fr; }
.service-theme-gallery .service-visual { order:-1; }
/* Twenty header families: five markup structures with distinct visual systems. */
.service-utility { background:var(--svc-ink); color:rgba(255,255,255,.72); font-size:.72rem; }
.service-utility > div { min-height:30px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.service-utility a { color:#fff; text-decoration:none; }
.service-header-center { min-height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; }
.service-header-center .service-nav:last-child { justify-content:flex-end; }
.service-brand--center { text-align:center; }
.service-header-top { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:.77rem; color:var(--svc-muted); }
.service-header-top > a:last-child { color:var(--svc-brand); font-weight:800; text-decoration:none; }
.service-header-bottom { min-height:46px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--svc-line); }
.service-header-side { min-height:88px; display:grid; grid-template-columns:.65fr 1.6fr auto; align-items:center; gap:30px; }
.service-header-side-copy > span { display:block; margin-bottom:9px; color:var(--svc-muted); font-size:.68rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.service-header-side-copy .service-nav { justify-content:flex-start; }
.service-header--h02_split,.service-header--h06_contact,.service-header--h10_notice,.service-header--h14_signal,.service-header--h18_minimal { border-bottom:3px solid var(--svc-accent); }
.service-header--h03_center,.service-header--h07_wordmark,.service-header--h11_compact,.service-header--h15_directory,.service-header--h19_servicebar { background:var(--svc-tint); }
.service-header--h04_twoline,.service-header--h08_utility,.service-header--h12_stacked,.service-header--h16_border,.service-header--h20_side { border-bottom:0; box-shadow:0 10px 24px rgba(19,34,29,.06); }
.service-header--h05_dark,.service-header--h09_anchor,.service-header--h13_editorial,.service-header--h17_focus { background:var(--svc-ink); border-bottom:0; }
.service-header--h05_dark .service-brand,.service-header--h05_dark .service-nav a,.service-header--h05_dark .service-header-cta,.service-header--h09_anchor .service-brand,.service-header--h09_anchor .service-nav a,.service-header--h09_anchor .service-header-cta,.service-header--h13_editorial .service-brand,.service-header--h13_editorial .service-nav a,.service-header--h13_editorial .service-header-cta,.service-header--h17_focus .service-brand,.service-header--h17_focus .service-nav a,.service-header--h17_focus .service-header-cta { color:#fff; }
.service-header--h05_dark .service-brand small,.service-header--h09_anchor .service-brand small,.service-header--h13_editorial .service-brand small,.service-header--h17_focus .service-brand small { color:rgba(255,255,255,.58); }
.service-header--h01_nav .service-header-cta,.service-header--h07_wordmark .service-header-cta,.service-header--h13_editorial .service-header-cta { padding:9px 13px; background:var(--svc-accent); color:#fff; }
.service-header--h03_center .service-brand,.service-header--h11_compact .service-brand { font-family:var(--svc-display); font-size:1.28rem; }
.service-header--h16_border .service-header-inner { border-inline:1px solid var(--svc-line); padding-inline:20px; }
/* Footer structures cover columns, masthead, centred and contact-led endings. */
.service-footer-mast { display:grid; grid-template-columns:.7fr 1.25fr auto; align-items:end; gap:42px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.18); }
.service-footer-mast h3 { margin-top:8px; font-size:1.45rem; }
.service-footer-mast p { margin:0; }
.service-footer-contact { display:inline-flex; color:#fff; font-weight:800; text-decoration:none; }
.service-footer-links { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding-top:28px; }
.service-footer-links nav,.service-footer-center nav { display:flex; flex-wrap:wrap; gap:12px 22px; }
.service-footer-center { max-width:720px; margin:auto; text-align:center; }
.service-footer-center h3 { font-family:var(--svc-display); font-size:1.65rem; }
.service-footer-center p { margin-inline:auto; }
.service-footer-center nav { justify-content:center; margin-top:25px; }
.service-footer-split { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; }
.service-footer address { color:rgba(255,255,255,.68); font-style:normal; font-size:.86rem; line-height:1.75; }
.service-footer--f02_light,.service-footer--f07_address,.service-footer--f12_grid,.service-footer--f17_summary { background:var(--svc-tint); color:var(--svc-muted); }
.service-footer--f02_light h3,.service-footer--f02_light a,.service-footer--f07_address h3,.service-footer--f07_address a,.service-footer--f12_grid h3,.service-footer--f12_grid a,.service-footer--f17_summary h3,.service-footer--f17_summary a { color:var(--svc-ink); }
.service-footer--f02_light .service-footer-bottom,.service-footer--f07_address .service-footer-bottom,.service-footer--f12_grid .service-footer-bottom,.service-footer--f17_summary .service-footer-bottom { border-top-color:var(--svc-line); }
.service-footer--f03_contact,.service-footer--f08_plain,.service-footer--f13_compact,.service-footer--f18_inset { border-top:8px solid var(--svc-accent); }
.service-footer--f05_minimal,.service-footer--f10_band,.service-footer--f15_masthead,.service-footer--f20_signature { background:var(--svc-brand); }
.service-footer--f05_minimal .service-footer-grid,.service-footer--f13_compact .service-footer-grid { grid-template-columns:1.7fr 1fr; }
.service-footer--f05_minimal .service-footer-grid > :nth-child(2),.service-footer--f13_compact .service-footer-grid > :nth-child(2) { display:none; }
.service-footer--f11_center,.service-footer--f16_split { padding-block:72px 32px; }
/* Twenty forms are real field combinations and also use different surface layouts. */
.service-contact--form_01,.service-contact--form_06,.service-contact--form_11,.service-contact--form_16 { background:var(--svc-brand); }
.service-contact--form_02,.service-contact--form_07,.service-contact--form_12,.service-contact--form_17 { background:var(--svc-ink); }
.service-contact--form_03,.service-contact--form_08,.service-contact--form_13,.service-contact--form_18 { background:var(--svc-accent); }
.service-contact--form_04,.service-contact--form_09,.service-contact--form_14,.service-contact--form_19 { background:var(--svc-tint); color:var(--svc-ink); }
.service-contact--form_05,.service-contact--form_10,.service-contact--form_15,.service-contact--form_20 { background:var(--svc-paper); color:var(--svc-ink); border-top:1px solid var(--svc-line); }
.service-contact--form_21,.service-contact--form_26 { background:var(--svc-brand); }
.service-contact--form_22,.service-contact--form_27 { background:var(--svc-tint); color:var(--svc-ink); }
.service-contact--form_23,.service-contact--form_28 { background:var(--svc-ink); }
.service-contact--form_24,.service-contact--form_29 { background:var(--svc-paper); color:var(--svc-ink); border-top:2px solid var(--svc-accent); }
.service-contact--form_25,.service-contact--form_30 { background:var(--svc-accent); }
.service-contact--form_04 .service-contact-copy,.service-contact--form_09 .service-contact-copy,.service-contact--form_14 .service-contact-copy,.service-contact--form_19 .service-contact-copy,.service-contact--form_05 .service-contact-copy,.service-contact--form_10 .service-contact-copy,.service-contact--form_15 .service-contact-copy,.service-contact--form_20 .service-contact-copy { color:var(--svc-muted); }
.service-contact--form_04 .service-form label,.service-contact--form_09 .service-form label,.service-contact--form_14 .service-form label,.service-contact--form_19 .service-form label,.service-contact--form_05 .service-form label,.service-contact--form_10 .service-form label,.service-contact--form_15 .service-form label,.service-contact--form_20 .service-form label { color:var(--svc-ink); }
.service-contact--form_04 .service-form input,.service-contact--form_04 .service-form select,.service-contact--form_04 .service-form textarea,.service-contact--form_09 .service-form input,.service-contact--form_09 .service-form select,.service-contact--form_09 .service-form textarea,.service-contact--form_14 .service-form input,.service-contact--form_14 .service-form select,.service-contact--form_14 .service-form textarea,.service-contact--form_19 .service-form input,.service-contact--form_19 .service-form select,.service-contact--form_19 .service-form textarea,.service-contact--form_05 .service-form input,.service-contact--form_05 .service-form select,.service-contact--form_05 .service-form textarea,.service-contact--form_10 .service-form input,.service-contact--form_10 .service-form select,.service-contact--form_10 .service-form textarea,.service-contact--form_15 .service-form input,.service-contact--form_15 .service-form select,.service-contact--form_15 .service-form textarea,.service-contact--form_20 .service-form input,.service-contact--form_20 .service-form select,.service-contact--form_20 .service-form textarea { background:transparent; color:var(--svc-ink); border-bottom-color:var(--svc-line); }
.service-contact--form_04 .service-form button,.service-contact--form_09 .service-form button,.service-contact--form_14 .service-form button,.service-contact--form_19 .service-form button,.service-contact--form_05 .service-form button,.service-contact--form_10 .service-form button,.service-contact--form_15 .service-form button,.service-contact--form_20 .service-form button { background:var(--svc-brand); color:#fff; }
.service-form--form_03,.service-form--form_08,.service-form--form_13,.service-form--form_18 { grid-template-columns:1fr; max-width:580px; }
.service-form--form_05,.service-form--form_10,.service-form--form_15,.service-form--form_20 { padding:28px; border:1px solid var(--svc-line); }
.service-form--form_21,.service-form--form_26 { grid-template-columns:1fr; max-width:620px; }
.service-form--form_22,.service-form--form_27 { padding:32px; border:1px solid var(--svc-line); }
.service-form--form_23,.service-form--form_28 { gap:28px 42px; }
.service-form--form_24,.service-form--form_29 { grid-template-columns:1fr; padding:26px; border-left:3px solid var(--svc-accent); }
.service-form--form_25,.service-form--form_30 { padding:28px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.35); }
.service-contact--form_22 .service-contact-copy,.service-contact--form_24 .service-contact-copy,.service-contact--form_27 .service-contact-copy,.service-contact--form_29 .service-contact-copy { color:var(--svc-muted); }
.service-contact--form_22 .service-form label,.service-contact--form_24 .service-form label,.service-contact--form_27 .service-form label,.service-contact--form_29 .service-form label { color:var(--svc-ink); }
.service-contact--form_22 .service-form input,.service-contact--form_22 .service-form select,.service-contact--form_22 .service-form textarea,.service-contact--form_24 .service-form input,.service-contact--form_24 .service-form select,.service-contact--form_24 .service-form textarea,.service-contact--form_27 .service-form input,.service-contact--form_27 .service-form select,.service-contact--form_27 .service-form textarea,.service-contact--form_29 .service-form input,.service-contact--form_29 .service-form select,.service-contact--form_29 .service-form textarea { background:transparent; color:var(--svc-ink); border-bottom-color:var(--svc-line); }
.service-contact--form_22 .service-form button,.service-contact--form_24 .service-form button,.service-contact--form_27 .service-form button,.service-contact--form_29 .service-form button { background:var(--svc-brand); color:#fff; }
.service-form--form_02,.service-form--form_07,.service-form--form_12,.service-form--form_17 { gap:24px 30px; }
.service-module-list--module_01 .service-module,.service-module-list--module_06 .service-module,.service-module-list--module_11 .service-module,.service-module-list--module_16 .service-module { grid-template-columns:110px 1fr; }
.service-module-list--module_02 .service-module,.service-module-list--module_07 .service-module,.service-module-list--module_12 .service-module,.service-module-list--module_17 .service-module { grid-template-columns:1fr; gap:10px; }
.service-module-list--module_03 .service-module,.service-module-list--module_08 .service-module,.service-module-list--module_13 .service-module,.service-module-list--module_18 .service-module { padding-left:28px; border-left:2px solid var(--svc-accent); border-top:0; }
.service-module-list--module_04 .service-module,.service-module-list--module_09 .service-module,.service-module-list--module_14 .service-module,.service-module-list--module_19 .service-module { background:var(--svc-tint); padding:30px; margin-top:16px; border:0; }
.service-module-list--module_05 .service-module,.service-module-list--module_10 .service-module,.service-module-list--module_15 .service-module,.service-module-list--module_20 .service-module { grid-template-columns:70px 1fr; border-top:2px solid var(--svc-brand); }
.service-module-list--module_21 .service-module,.service-module-list--module_26 .service-module { grid-template-columns:90px 1fr; background:var(--svc-tint); border:0; padding:30px; }
.service-module-list--module_22 .service-module,.service-module-list--module_27 .service-module { grid-template-columns:1fr; border-left:3px solid var(--svc-brand); border-top:0; padding-left:28px; }
.service-module-list--module_23 .service-module,.service-module-list--module_28 .service-module { grid-template-columns:1fr; gap:12px; border-top:2px solid var(--svc-accent); }
.service-module-list--module_24 .service-module,.service-module-list--module_29 .service-module { grid-template-columns:70px 1fr; background:var(--svc-paper); border:1px solid var(--svc-line); }
.service-module-list--module_25 .service-module,.service-module-list--module_30 .service-module { grid-template-columns:120px 1fr; border-bottom:2px solid var(--svc-brand); }
/* Additional visual directions: each changes palette and composition without cropped media. */
.service-theme-atelier { --svc-ink:#352d28; --svc-muted:#74695e; --svc-paper:#fcfaf6; --svc-tint:#f1ece2; --svc-brand:#795548; --svc-accent:#ab6b36; --svc-display:Georgia,serif; }
.service-theme-civic { --svc-ink:#173042; --svc-muted:#597080; --svc-paper:#f9fbfc; --svc-tint:#eaf1f4; --svc-brand:#20576f; --svc-accent:#bd6b43; }
.service-theme-nordic { --svc-ink:#263337; --svc-muted:#68797e; --svc-paper:#fbfcfc; --svc-tint:#e9f0f0; --svc-brand:#315f68; --svc-accent:#bc7655; }
.service-theme-harbor { --svc-ink:#162e43; --svc-muted:#5f7381; --svc-paper:#fbfcfd; --svc-tint:#e6eef3; --svc-brand:#1f5974; --svc-accent:#c17840; }
.service-theme-fieldnotes { --svc-ink:#313525; --svc-muted:#73765f; --svc-paper:#fcfcf7; --svc-tint:#f0f1e3; --svc-brand:#56623b; --svc-accent:#b97735; }
.service-theme-metro { --svc-ink:#29272a; --svc-muted:#6f6a70; --svc-paper:#fdfcfd; --svc-tint:#f0edef; --svc-brand:#473f48; --svc-accent:#b35e50; }
.service-theme-paper { --svc-ink:#2c2925; --svc-muted:#746d64; --svc-paper:#fffdf9; --svc-tint:#f4f0e8; --svc-brand:#6b5543; --svc-accent:#ad7448; --svc-display:Georgia,serif; }
.service-theme-signal { --svc-ink:#1f2933; --svc-muted:#617180; --svc-paper:#fbfcfd; --svc-tint:#e8eff4; --svc-brand:#274c77; --svc-accent:#d0613b; }
.service-theme-heritage { --svc-ink:#332522; --svc-muted:#76635e; --svc-paper:#fdfaf7; --svc-tint:#f1e8e1; --svc-brand:#6e3f38; --svc-accent:#b87b43; --svc-display:Georgia,serif; }
.service-theme-slate { --svc-ink:#27313a; --svc-muted:#677580; --svc-paper:#fafbfc; --svc-tint:#e8edf0; --svc-brand:#405566; --svc-accent:#bd7045; }
.service-theme-linen { --svc-ink:#3a3730; --svc-muted:#777167; --svc-paper:#fdfcf9; --svc-tint:#f3f0e7; --svc-brand:#665d48; --svc-accent:#aa7140; --svc-display:Georgia,serif; }
.service-theme-terrace { --svc-ink:#26322d; --svc-muted:#66736a; --svc-paper:#fbfcf9; --svc-tint:#eaf0e8; --svc-brand:#3e6b55; --svc-accent:#b56f3a; }
.service-theme-craft { --svc-ink:#342c27; --svc-muted:#756960; --svc-paper:#fcfaf8; --svc-tint:#f0eae3; --svc-brand:#725144; --svc-accent:#c26d3e; }
.service-theme-archive { --svc-ink:#242a2d; --svc-muted:#697176; --svc-paper:#fcfcfb; --svc-tint:#ecefed; --svc-brand:#3d5251; --svc-accent:#ad6549; }
.service-theme-atelier .service-hero,.service-theme-paper .service-hero,.service-theme-linen .service-hero { background:var(--svc-tint); }
.service-theme-civic .service-hero-grid,.service-theme-signal .service-hero-grid,.service-theme-harbor .service-hero-grid { grid-template-columns:1.1fr .9fr; }
.service-theme-nordic .service-visual,.service-theme-archive .service-visual { border-top:3px solid var(--svc-brand); padding-top:16px; }
.service-theme-fieldnotes .service-hero,.service-theme-terrace .service-hero { border-bottom:1px solid var(--svc-line); }
.service-theme-metro .service-steps { gap:18px; }.service-theme-metro .service-step { padding:26px; background:var(--svc-tint); border-top:0; }
.service-theme-heritage .service-visual,.service-theme-craft .service-visual { padding:14px; border:1px solid var(--svc-line); }
.service-theme-slate .service-hero-grid { grid-template-columns:.85fr 1.15fr; }
.service-theme-quarry { --svc-ink:#283339; --svc-muted:#6b7479; --svc-paper:#fbfcfc; --svc-tint:#e8edef; --svc-brand:#3e5b61; --svc-accent:#bd7046; }
.service-theme-meadow { --svc-ink:#29342c; --svc-muted:#6c766d; --svc-paper:#fcfdfb; --svc-tint:#ebf0e9; --svc-brand:#4e7156; --svc-accent:#b2743f; }
.service-theme-studio_line { --svc-ink:#252529; --svc-muted:#727176; --svc-paper:#fdfdfd; --svc-tint:#f0f0f2; --svc-brand:#3f4857; --svc-accent:#b85f45; }
.service-theme-river { --svc-ink:#20333c; --svc-muted:#617681; --svc-paper:#fbfcfd; --svc-tint:#e7f0f4; --svc-brand:#2b6174; --svc-accent:#be7545; }
.service-theme-folio { --svc-ink:#332d28; --svc-muted:#756c63; --svc-paper:#fdfbf8; --svc-tint:#f3eee7; --svc-brand:#6a5142; --svc-accent:#ae7142; --svc-display:Georgia,serif; }
.service-theme-courtyard { --svc-ink:#29322d; --svc-muted:#68756d; --svc-paper:#fbfcfa; --svc-tint:#e9efe9; --svc-brand:#426553; --svc-accent:#bd7441; }
.service-theme-workbench { --svc-ink:#302b27; --svc-muted:#776e64; --svc-paper:#fdfbf8; --svc-tint:#efe9e2; --svc-brand:#76533d; --svc-accent:#bd6d3c; }
.service-theme-ledger { --svc-ink:#263039; --svc-muted:#697580; --svc-paper:#fbfcfd; --svc-tint:#e9edf1; --svc-brand:#3d566c; --svc-accent:#bb6548; }
.service-theme-coastline { --svc-ink:#23333b; --svc-muted:#63767d; --svc-paper:#fbfcfc; --svc-tint:#e7f1f2; --svc-brand:#356773; --svc-accent:#c17b43; }
.service-theme-survey { --svc-ink:#32312c; --svc-muted:#74736b; --svc-paper:#fdfdf9; --svc-tint:#f0f0e8; --svc-brand:#64664c; --svc-accent:#b8753d; }
.service-header--h21_outline,.service-header--h26_signal { border-bottom:2px solid var(--svc-brand); }
.service-header--h22_banner,.service-header--h27_slim { background:var(--svc-tint); }
.service-header--h23_courtyard,.service-header--h28_archive { border-top:5px solid var(--svc-accent); }
.service-header--h24_register,.service-header--h29_service_note { box-shadow:inset 0 -1px 0 var(--svc-line); }
.service-header--h25_landmark,.service-header--h30_profile { background:var(--svc-ink); }
.service-header--h25_landmark .service-brand,.service-header--h25_landmark .service-nav a,.service-header--h25_landmark .service-header-cta,.service-header--h30_profile .service-brand,.service-header--h30_profile .service-nav a,.service-header--h30_profile .service-header-cta { color:#fff; }
.service-footer--f21_outline,.service-footer--f26_signal { border-top:2px solid var(--svc-accent); }
.service-footer--f22_banner,.service-footer--f27_slim { background:var(--svc-tint); color:var(--svc-ink); }
.service-footer--f22_banner a,.service-footer--f27_slim a { color:var(--svc-ink); }
.service-footer--f23_courtyard,.service-footer--f28_archive { background:var(--svc-brand); }
.service-footer--f24_register,.service-footer--f29_service_note { border-top:8px solid var(--svc-brand); }
.service-footer--f25_landmark,.service-footer--f30_profile { background:var(--svc-ink); }
@media (max-width: 860px) { .service-contact-details,.service-detail-notes{grid-template-columns:1fr;gap:28px}.service-steps--large{grid-template-columns:1fr 1fr}.service-header--centered_identity .service-nav{position:static}.service-header--two_row_info .service-header-inner{min-height:70px;padding-bottom:0}.service-footer--plain_legal .service-footer-grid,.service-footer--minimal_links .service-footer-grid{grid-template-columns:1fr} }
@media (max-width: 860px) { .service-shell{width:min(100% - 32px,1160px)} .service-header-inner{min-height:70px}.service-nav{display:none}.service-hero-grid,.service-split,.service-contact-grid,.service-footer-grid{grid-template-columns:1fr}.service-hero{padding-top:58px}.service-title{max-width:12ch}.service-visual{order:-1}.service-steps{grid-template-columns:1fr 1fr;gap:18px}.service-step+.service-step{margin-left:0}.service-module{grid-template-columns:70px 1fr}.service-form{grid-template-columns:1fr}.service-mosaic{grid-template-columns:1fr}.service-footer-grid{gap:32px} }
@media (max-width: 520px) { .service-steps{grid-template-columns:1fr}.service-step{padding-right:0}.service-form button{width:100%}.service-title,.service-page-hero h1{font-size:2.8rem}.service-section{padding:62px 0}.service-module{grid-template-columns:1fr;gap:12px}.service-module-index{font-size:.68rem} }
