/* Expanded IT service offering, September 2026. */
.brand-name em { font-size: 11px; letter-spacing: .12em; }
.hero h1 { font-size: clamp(40px, 4.6vw, 66px); line-height: 1.08; }
.it-overview { padding: 34px; border-radius: 28px; color: #fffdf9; background: #10243e; box-shadow: 0 24px 70px #10243e24; }
.it-overview-kicker { color: #b7c9e1; font-size: 12px; letter-spacing: .06em; margin: 0 0 18px; }
.it-overview h2 { font-size: clamp(27px, 3vw, 36px); line-height: 1.2; margin: 0 0 26px; }
.it-overview > a { display: grid; grid-template-columns: 32px minmax(0,1fr) 18px; align-items: center; gap: 12px; padding: 19px 0; border-top: 1px solid #ffffff25; text-decoration: none; }
.it-overview > a:hover { color: #b8d3ff; }
.it-overview strong, .it-overview small { display: block; }
.it-overview strong { font-size: 16px; line-height: 1.4; }
.it-overview small { color: #c1cede; font-size: 13px; margin-top: 4px; }
.it-number { color: #a2c1ff; font-size: 12px; }
.it-overview-footer { font-size: 11px; color: #b7c9e1; margin: 16px 0 0; }
.it-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.it-service-grid .service-card { display: flex; flex-direction: column; scroll-margin-top: 110px; }
.it-service-grid .service-card h3 { font-size: 27px; line-height: 1.2; }
.it-service-grid .text-link { margin-top: auto; padding-top: 24px; }
.it-service-grid .service-card-dark .text-link { color: #fffdf9; }
.personal-photo { width: 180px; height: 180px; object-fit: cover; object-position: center; border-radius: 18px; }
.personal-card { padding: 28px; align-self: start; }
.office-future { padding: 20px 24px; border-left: 3px solid var(--blue); background: #eaf1ff; border-radius: 0 12px 12px 0; margin-top: 24px; }
.office-future p { margin: 6px 0 0; }
@media(max-width: 760px) {
  .it-service-grid { grid-template-columns: 1fr; }
  .it-overview { padding: 25px; }
  .hero h1 { font-size: clamp(36px, 8vw, 52px); }
  .brand-name em { font-size: 9px; letter-spacing: .06em; }
  .personal-photo { width: 160px; height: 160px; }
}
@media(max-width: 360px) {
  .it-overview { padding: 20px; }
  .it-overview > a { grid-template-columns: 22px minmax(0,1fr) 12px; gap: 8px; }
  .it-overview strong { font-size: 14px; }
}

/* Statutory declaration links remain visible and keyboard accessible. */
.site-footer a[href="widerruf.html"], .site-footer a[href="kuendigung.html"] { display: inline-block; padding: 7px 10px; border: 1px solid currentColor; border-radius: 6px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media print { .site-header,.whatsapp-float,.site-footer,.legal-action-panel { display:none!important; } .legal-main{padding-top:0;} .legal-shell{width:100%;max-width:none;} }

.portrait-origin { display:block; margin-top:14px; font-size:12px; line-height:1.5; color:var(--ink-soft); }
.legal-shell a { overflow-wrap:anywhere; }

/* Personal, typographic opening. */
.hero { padding: 150px 0 82px; min-height: 740px; }
.hero::before { display:none; }
.hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:80px; }
.hero h1 { font-size:clamp(48px,5.1vw,74px); line-height:1.04; letter-spacing:-.055em; margin-bottom:24px; }
.hero-lead { max-width:480px; font-size:21px; line-height:1.45; font-weight:600; margin-bottom:16px; }
.hero-text { max-width:510px; font-size:16px; margin-bottom:28px; }
.hero-trust { gap:10px 16px; font-size:12px; }
.studio-note { position:relative; padding:34px 32px 28px; border:1px solid #d9d5cb; border-top:3px solid var(--blue); border-radius:3px; color:var(--ink); background:#fffdf9; box-shadow:8px 8px 0 #e9e4da; }
.studio-note .it-overview-kicker { font-size:10px; color:var(--ink-soft); letter-spacing:.16em; margin-bottom:26px; }
.studio-note h2 { font-size:34px; font-weight:600; line-height:1.12; margin-bottom:24px; }
.studio-note > a { padding:17px 0; border-color:#deded8; gap:10px; grid-template-columns:26px minmax(0,1fr) 18px; }
.studio-note > a:hover { color:var(--blue-dark); }
.studio-note strong { font-size:15px; }
.studio-note small { color:var(--ink-soft); font-size:12px; }
.studio-note .it-number { color:var(--blue-dark); font-variant-numeric:tabular-nums; }
.studio-note .it-overview-footer { color:var(--ink-soft); border-top:1px solid #deded8; padding-top:20px; margin-top:0; font-size:12px; line-height:1.8; }
.it-overview-footer a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; font-weight:700; }
@media(max-width:1000px) { .hero-grid { gap:36px; } .hero h1 { font-size:58px; } .studio-note { padding:28px 24px 20px; } }
@media(max-width:900px) { .hero-grid { grid-template-columns:1fr; } .hero { padding:130px 0 64px; } .studio-note { width:100%; max-width:620px; justify-self:start; } }
@media(max-width:600px) { .hero { padding:112px 0 52px; } .hero h1 { font-size:clamp(44px,11vw,60px); } .hero-lead { font-size:19px; } .hero-grid { gap:38px; } .studio-note { padding:26px 22px 18px; width:calc(100% - 8px); } .studio-note h2 { font-size:30px; } .hero-trust { display:flex; flex-direction:column; gap:8px; } }

/* Editorial service presentation and an accessible process illustration. */
.hero h1 { max-width:680px; font-size:clamp(46px,4.65vw,67px); line-height:1.06; }
.hero-lead { font-size:20px; }
.studio-note { background:#fcfaf5; box-shadow:10px 10px 0 #e7e1d5; }
.studio-note h2 { font-size:32px; }
.services-editorial .section-heading { text-align:left; margin-left:0; max-width:760px; }
.services-editorial .section-heading .eyebrow { justify-content:flex-start; }
.services-editorial .service-card { border-radius:8px; box-shadow:none; padding:34px; border:1px solid #dcdedc; }
.services-editorial .service-card-dark { border-color:#10243e; }
.service-index { display:inline-block; margin-right:8px; font-variant-numeric:tabular-nums; opacity:.75; }
.services-editorial .service-card h3 { max-width:370px; font-size:30px; margin-bottom:18px; }
.services-editorial .service-card p:not(.card-kicker) { line-height:1.75; }
.workflow-example { align-self:stretch; padding:38px; color:#fffdf9; background:#10243e; border-radius:8px; }
.workflow-label { color:#b7caf0; font-size:11px; font-weight:700; letter-spacing:.06em; margin-bottom:26px; }
.workflow-example h3 { font-size:clamp(28px,2.8vw,38px); line-height:1.12; letter-spacing:-.035em; margin-bottom:14px; }
.workflow-context { font-size:13px; color:#bac9de; margin-bottom:30px; }
.workflow-steps { margin:0; padding:0; list-style:none; }
.workflow-steps li { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr); gap:17px; padding-bottom:26px; }
.workflow-steps li:not(:last-child)::after { content:''; position:absolute; width:1px; background:#527298; top:35px; bottom:0; left:16px; }
.workflow-step-number { display:grid; place-items:center; width:34px; height:34px; border:1px solid #6b8fbe; border-radius:50%; font-size:11px; color:#cadbff; }
.workflow-steps strong { font-size:16px; font-weight:650; }
.workflow-steps p { margin:6px 0 0; font-size:13px; line-height:1.6; color:#bac9de; }
.workflow-footnote { padding-top:20px; border-top:1px solid #ffffff30; font-size:11px; line-height:1.6; color:#b7c9df; margin-bottom:0; }
.audience-panel { border-radius:8px; }
.personal-card { border-radius:8px; }
.about-facts { gap:16px; }
@media(max-width:760px) { .hero h1 { font-size:clamp(43px,8.5vw,60px); } .workflow-example { padding:28px; } .services-editorial .service-card { padding:27px; } .services-editorial .service-card h3 { font-size:27px; } }
@media(max-width:360px) { .hero h1 { font-size:40px; } .workflow-example { padding:23px; } }
