:root {
  --ink:#263d4a;
  --paper:#f8f6ef;
  --orange:#c65a2d;
  --muted:#6b757a;
  --line:#263d4a36;
  --focus:#ab451d;
  --body-size:1rem;
  --body-leading:1.75
}

/* Contact form: shared typography, quiet borders and a single primary action. */
.contact-form { min-width:0; border-top:1px solid var(--line); padding-top:26px; scroll-margin-top:24px; }
.contact-form h3 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,2.4vw,34px); font-weight:400; letter-spacing:-.04em; margin-bottom:30px; }
.form-field { display:grid; gap:9px; margin-bottom:23px; }
.form-field label { font-size:var(--body-size); }
.form-field label span { color:var(--muted); }
.form-field input, .form-field textarea { width:100%; min-width:0; border:1px solid var(--line); border-radius:0; background:#fff8; color:var(--ink); font:inherit; font-size:var(--body-size); line-height:1.6; padding:12px 14px; transition:border-color .2s; }
.form-field textarea { min-height:155px; resize:vertical; }
.form-field input:hover, .form-field textarea:hover { border-color:var(--ink); }
.form-field input:focus-visible, .form-field textarea:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.form-field input:read-only, .form-field textarea:read-only { opacity:.7; }
.form-honeypot { display:none; }
.contact .contact-bottom .form-privacy { max-width:none; margin:2px 0 24px; font-size:var(--body-size); line-height:1.6; }
.form-privacy a { text-decoration:underline; text-underline-offset:4px; }
.form-privacy a:hover { color:var(--focus); }
.form-security-note { margin:0 0 18px; color:var(--muted); }
.form-security-note a { text-decoration:underline; text-underline-offset:3px; }
.form-verification { margin:0 0 20px; }
.form-verification[hidden] { display:none; }
.form-submit { background:var(--ink); color:var(--paper); border:1px solid var(--ink); min-height:54px; padding:14px 25px; font-size:var(--body-size); transition:background .2s; }
.form-submit:hover:not(:disabled) { background:var(--focus); border-color:var(--focus); }
.form-submit:disabled { opacity:.65; cursor:wait; }
.contact .contact-bottom .form-status { max-width:none; margin-top:16px; min-height:1.75em; font-size:var(--body-size); line-height:1.6; }
.contact .contact-bottom .form-status[data-state="success"] { color:var(--ink); border-left:2px solid var(--ink); padding-left:14px; }
.contact .contact-bottom .form-status[data-state="error"] { color:var(--focus); border-left:2px solid var(--focus); padding-left:14px; }
@media(max-width:720px) { .form-submit { width:100%; } }

h1,h2 {
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.065em
}

.site-header {
  height:104px;
  border-bottom:0
}

.site-header .brand img {
  width:177px
}

.main-nav .nav-contact {
  border:0;
  border-bottom:1px solid var(--ink);
  padding-inline:0
}

.main-nav a { white-space:nowrap; }
@media(min-width:721px) and (max-width:820px) {
  .site-header { gap:20px; }
  .main-nav { gap:12px; font-size:12px; }
}

.hero {
  padding:55px 0 0
}

.hero-top {
  display:flex;
  justify-content:space-between;
  align-items:center
}

.hero-top>span {
  font-family:Georgia,serif;
  font-style:italic;
  color:var(--muted);
  font-size:var(--body-size)
}

.hero-title {
  font-size:clamp(80px,9.4vw,148px);
  line-height:1.04;
  padding:39px 0 30px
}

.hero-title .first-line {
  display:block
}

.hero-title .second-line {
  display:flex;
  align-items:center;
  gap:32px;
  padding-left:17%
}

.hero-title em {
  font-weight:400;
  color:var(--orange)
}

/* A fixed SVG coordinate system preserves the relationship between both rings. */
.editorial-link {
  --ring-size:112px;
  width:var(--ring-size);
  flex:0 0 var(--ring-size);
  height:auto;
  aspect-ratio:120 / 76;
  display:block;
  stroke:var(--orange);
  stroke-width:2;
  overflow:visible;
}

.hero-bottom {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  padding:33px 0 48px;
  align-items:start
}

.hero-bottom p {
  font-size:var(--body-size);
  max-width:580px
}

.du-wir {
  display:grid;
  grid-template-columns:1fr 1fr;
  position:relative;
  margin-top:28px
}

.du-wir article {
  padding:44px 47px 37px;
  background:#e8e7df;
  min-height:290px;
  display:flex;
  flex-direction:column;
  justify-content:space-between
}

.du-wir article:last-of-type {
  background:var(--ink);
  color:var(--paper)
}

.du-wir h2 {
  font-size:91px
}

.du-wir p {
  font-size:var(--body-size);
  max-width:335px;
  margin-top:27px
}

.du-wir .join {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:63px;
  height:63px;
  border-radius:50%;
  background:var(--orange);
  color:var(--paper);
  font-family:Georgia,serif;
  font-style:italic;
  font-size:45px;
  display:grid;
  place-items:center;
  padding-bottom:5px
}

.intro {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:100px;
  padding:103px 0
}

.intro h2 {
  font-size:clamp(40px,4.2vw,63px);
  line-height:1.13
}

.intro p {
  font-size:var(--body-size);
  line-height:var(--body-leading);
  margin-top:25px;
  color:var(--muted)
}

.services {
  border-top:1px solid var(--line);
  padding:40px 0 82px
}

.services-head {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:100px;
  padding-bottom:47px
}

.services-head h2 {
  font-size:clamp(40px,4.2vw,63px)
}

.editorial-service {
  display:grid;
  grid-template-columns:45px 1.12fr 1fr;
  gap:35px;
  padding:36px 0;
  border-top:1px solid var(--line);
  align-items:start
}

.editorial-service>.num {
  font-family:Georgia,serif;
  font-style:italic;
  color:var(--orange);
  font-size:18px
}

.editorial-service h3 {
  font-family:Georgia,serif;
  font-weight:400;
  font-size:34px;
  line-height:1.13;
  letter-spacing:-.045em;
  max-width:380px
}

.editorial-service p {
  font-size:var(--body-size);
  color:var(--muted);
  max-width:460px
}

.editorial-service .service-note {
  display:block;
  font-size:11px;
  letter-spacing:.015em;
  color:var(--ink);
  margin-top:15px
}

.principle {
  background:#e8e7df;
  padding:76px 0
}

.principle-grid {
  display:grid;
  grid-template-columns:.6fr 1.5fr;
  gap:70px
}

.principle blockquote {
  margin:0;
  font-family:Georgia,serif;
  font-size:clamp(44px,4.7vw,71px);
  letter-spacing:-.055em;
  line-height:1.12
}

.principle blockquote em {
  color:var(--orange)
}

.principle-notes {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:38px;
  margin-top:44px
}

.principle-notes h3 {
  font-size:18px;
  margin-bottom:14px
}

.principle-notes p {
  font-size:var(--body-size);
  color:#5b686e
}

.care {
  padding:35px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:100px
}

.care h3 {
  font-family:Georgia,serif;
  font-size:29px;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.2
}

.care p {
  font-size:var(--body-size);
  color:var(--muted)
}

.contact {
  padding:93px 0 85px
}

.contact-top {
  display:flex;
  justify-content:space-between;
  gap:45px;
  align-items:start
}

.contact h2 {
  font-size:clamp(60px,7.3vw,112px);
  max-width:850px;
  margin-top:32px
}

.contact h2 em {
  font-weight:400;
  color:var(--orange)
}

.contact-mark {
  font-family:Georgia,serif;
  font-size:140px;
  color:var(--orange);
  line-height:1;
  margin-top:45px
}

.contact-bottom {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-top:40px;
  align-items:end
}

.contact-bottom p {
  font-size:var(--body-size);
  max-width:370px;
  color:var(--muted)
}

.contact-email {
  font-size:25px;
  border-bottom:1px solid var(--ink);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:14px;
  min-height:50px
}

.contact-email:hover {
  color:var(--orange)
}

.site-footer {
  border-top:1px solid var(--line)
}

@media(max-width:1100px) {
  .hero-title {
    font-size:10vw
  }
  .hero-title .second-line {
    padding-left:11%;
    gap:24px
  }
  .hero .editorial-link { --ring-size:90px; }
  .intro,.services-head,.care {
    gap:50px
  }
  .editorial-service {
    gap:24px;
    grid-template-columns:30px 1fr 1fr
  }
  .editorial-service h3 {
    font-size:29px
  }
  .contact-mark {
    font-size:100px
  }
}

@media(max-width:720px) {
  :root { --body-size:1.0625rem; }
  body { font-size:var(--body-size); }
  .site-header {
    height:83px
  }
  .site-header .brand img {
    width:150px
  }
  .hero {
    padding-top:29px;
    container-type:inline-size;
  }
  .hero-top>span {
    display:none
  }
  .hero-title {
    font-size:min(18cqw,96px);
    line-height:1.08;
    padding:31px 0
  }
  .hero-title .first-line { display:inline; }
  .hero-title .first-line:first-child::after { content:' '; }
  .hero-title .second-line {
    padding-left:0;
    gap:2cqw;
    margin-top:28px;
    white-space:nowrap;
  }
  .hero-title .second-line em { font-size:min(18.4cqw,98px); }
  .hero .editorial-link { --ring-size:min(11cqw,56px); }
  .hero-bottom {
    grid-template-columns:1fr;
    gap:21px;
    padding:25px 0 35px
  }
  .hero-bottom p {
    font-size:var(--body-size)
  }
  .du-wir {
    margin-top:8px;
    grid-template-columns:1fr
  }
  .du-wir article {
    padding:29px;
    min-height:235px;
    grid-column:1;
  }
  .du-wir article:first-of-type {
    grid-row:1;
    padding-bottom:56px;
  }
  .du-wir article:last-of-type {
    grid-row:2;
    padding-top:56px;
  }
  .du-wir h2 {
    font-size:78px
  }
  .du-wir p {
    font-size:var(--body-size);
    margin-top:20px;
    max-width:310px
  }
  .du-wir .join {
    position:relative;
    grid-column:1;
    grid-row:2;
    align-self:start;
    justify-self:center;
    left:auto;
    top:auto;
    transform:translateY(-50%);
    z-index:1;
    width:53px;
    height:53px;
    font-size:38px
  }
  .intro {
    grid-template-columns:1fr;
    gap:28px;
    padding:64px 0
  }
  .intro h2 {
    font-size:41px
  }
  .intro p {
    font-size:var(--body-size)
  }
  .services {
    padding:32px 0 39px
  }
  .services-head {
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:30px
  }
  .services-head h2 {
    font-size:43px
  }
  .editorial-service {
    grid-template-columns:24px 1fr;
    gap:17px;
    padding:28px 0
  }
  .editorial-service h3 {
    font-size:31px
  }
  .editorial-service>div {
    grid-column:2
  }
  .editorial-service p {
    font-size:var(--body-size)
  }
  .principle {
    padding:53px 0
  }
  .principle-grid {
    grid-template-columns:1fr;
    gap:28px
  }
  .principle blockquote {
    font-size:44px
  }
  .principle-notes {
    grid-template-columns:1fr;
    gap:29px;
    margin-top:30px
  }
  .care {
    grid-template-columns:1fr;
    gap:20px;
    padding:31px 0
  }
  .care h3 {
    font-size:29px
  }
  .contact {
    padding:61px 0
  }
  .contact h2 {
    font-size:58px;
    line-height:1.02;
    margin-top:26px
  }
  .contact-top {
    gap:10px
  }
  .contact-mark {
    display:none
  }
  .contact-bottom {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:29px
  }
  .contact-email {
    font-size:24px
  }
}

/* Narrow screens keep the editorial statement in deliberate lines. */
@media(max-width:420px) {
  .contact h2 {
    font-size:clamp(43px,12vw,50px)
  }
}

/* Contrast refinement for body copy on both paper tones and orange numerals. */
:root {
  --muted:#5d696f;
  --orange:#b64f28
}

/* Phase 2: richer content, editorial illustrations and direct contact paths. */
.email-cta {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  min-height:54px;
  padding:15px 20px;
  background:var(--ink);
  border:1px solid var(--ink);
  color:var(--paper);
  font-size:var(--body-size);
  line-height:1.45;
  transition:background .2s, border-color .2s;
}
.email-cta:hover { background:#3b5260; border-color:#3b5260; }
.email-cta span { font-size:23px; flex-shrink:0; }
.intro-aside { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start; }
.intro-link { --ring-size:124px; flex:none; stroke-width:1.2; margin:45px 0 18px 12px; }
.section-intro { font-size:var(--body-size); line-height:var(--body-leading); margin-top:27px; color:var(--muted); max-width:640px; }
.editorial-service { grid-template-columns:35px .9fr 1.35fr; gap:36px; padding:46px 0; }
.editorial-service .service-copy p { max-width:610px; line-height:var(--body-leading); font-size:var(--body-size); }
.service-purpose { display:block; margin-top:24px; max-width:260px; font-family:Georgia,serif; font-style:italic; font-size:var(--body-size); color:var(--orange); line-height:1.5; }
.service-examples { list-style:none; padding:0; margin:23px 0; max-width:610px; }
.service-examples li { padding:11px 0 11px 21px; position:relative; border-top:1px solid var(--line); font-size:var(--body-size); line-height:var(--body-leading); }
.service-examples li::before { content:''; position:absolute; top:21px; left:0; width:6px; height:6px; border:1px solid var(--orange); }
.editorial-service .service-copy .service-context { font-size:var(--body-size); }
.promise { display:grid; grid-template-columns:1fr 1.2fr; align-items:start; gap:100px; padding:95px 0; }
.promise h2 { font-size:clamp(45px,4.5vw,68px); line-height:1.13; margin-top:27px; }
.promise h2 em { color:var(--orange); }
.promise-note { display:block; margin-top:29px; font:italic var(--body-size)/1.5 Georgia,serif; color:var(--orange); }
.promise-copy p { color:var(--muted); margin-bottom:22px; }
.promise-copy strong { color:var(--ink); font-weight:600; }
.promise .email-cta { margin-top:8px; }
.principle-statement { font-size:clamp(44px,4.7vw,71px); letter-spacing:-.055em; line-height:1.12; }
.principle-statement em { color:var(--orange); }
.principle-notes { gap:35px 38px; }
.principle-notes article { border-top:1px solid var(--line); padding-top:18px; }
.method-index { color:var(--muted); text-transform:uppercase; font-size:10px; letter-spacing:.07em; display:block; margin-bottom:17px; }
.principle-notes h3 { line-height:1.3; }
.principle-notes p { font-size:var(--body-size); line-height:var(--body-leading); }
.care { padding-block:40px; }
.care p { line-height:var(--body-leading); }
.care-followup { margin-top:16px; }
.questions { display:grid; grid-template-columns:1fr 1.5fr; gap:100px; padding:80px 0 25px; }
.questions h2 { font-size:clamp(37px,3.6vw,53px); line-height:1.15; margin-top:29px; }
.question-list details { border-top:1px solid var(--line); }
.question-list details:last-child { border-bottom:1px solid var(--line); }
.question-list summary { display:flex; align-items:center; justify-content:space-between; gap:22px; list-style:none; cursor:pointer; font-size:var(--body-size); line-height:1.55; padding:23px 0; }
.question-list summary::-webkit-details-marker { display:none; }
.question-list summary span { font-size:25px; font-weight:300; flex-shrink:0; }
.question-list details[open] summary span { transform:rotate(45deg); color:var(--orange); }
.question-list details>p { color:var(--muted); font-size:var(--body-size); line-height:var(--body-leading); padding:0 35px 25px 0; }
.contact-bottom { align-items:start; }
.contact-prompt { margin-top:19px; }
.contact .contact-bottom p { max-width:460px; line-height:var(--body-leading); }
.copy-contact { margin-top:12px; }
.copy-email { padding:8px 0; min-height:44px; background:transparent; border:0; border-bottom:1px solid var(--line); font-size:12px; }
.copy-email[hidden] { display:none; }
.copy-status { display:block; font-size:12px; color:var(--muted); margin-top:8px; min-height:19px; }
.site-footer { padding-bottom:35px; }
.legal-page { max-width:880px; min-height:60vh; padding-block:70px 100px; }
.legal-page h1 { font-size:clamp(50px,6vw,90px); margin:30px 0; }
.legal-intro { margin-bottom:36px; }
.legal-intro p { font-size:var(--body-size); line-height:var(--body-leading); }
.legal-intro .legal-date { color:var(--muted); margin-top:8px; }
.legal-terms { border-top:1px solid var(--line); margin-bottom:35px; }
.legal-terms section { padding:32px 0; border-bottom:1px solid var(--line); }
.legal-terms h2 { font-size:clamp(26px,3vw,34px); line-height:1.2; letter-spacing:-.035em; margin-bottom:22px; overflow-wrap:break-word; }
.legal-terms p { max-width:none; font-size:var(--body-size); line-height:var(--body-leading); overflow-wrap:break-word; }
.legal-terms p+p { margin-top:18px; }
.legal-terms a { text-decoration:underline; text-underline-offset:4px; }
.legal-terms a:hover { color:var(--focus); }
.legal-details { margin:0 0 35px; border-top:1px solid var(--line); }
.legal-detail-row { display:grid; grid-template-columns:190px minmax(0,1fr); gap:30px; padding:28px 0; border-bottom:1px solid var(--line); }
.legal-detail-row dt { font-family:Georgia,'Times New Roman',serif; font-size:24px; line-height:1.3; }
.legal-detail-row dd { margin:0; font-size:var(--body-size); line-height:var(--body-leading); overflow-wrap:anywhere; }
.legal-detail-row a { text-decoration:underline; text-underline-offset:4px; }
.legal-detail-row a:hover { color:var(--focus); }
@media(max-width:600px) { .legal-detail-row { grid-template-columns:1fr; gap:14px; padding-block:24px; } }
.legal-placeholder { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px 0; margin-bottom:35px; }
.legal-placeholder p { font-size:var(--body-size); color:var(--muted); line-height:var(--body-leading); }
.legal-placeholder p+p { margin-top:16px; }
@media(max-width:1100px) {
  .editorial-service { grid-template-columns:25px .8fr 1.4fr; gap:24px; }
  .editorial-service h3 { font-size:27px; overflow-wrap:anywhere; }
  .promise { gap:45px; }
  .questions { gap:50px; }
}
@media(max-width:720px) {
  .email-cta { width:100%; gap:18px; padding:15px 17px; font-size:13px; }
  .intro-aside { display:block; }
  .intro-link { --ring-size:108px; margin:28px auto 8px; }
  .section-intro { font-size:var(--body-size); margin-top:21px; }
  .editorial-service { grid-template-columns:24px minmax(0,1fr); gap:17px; padding:34px 0; }
  .editorial-service .service-title { grid-column:2; }
  .editorial-service h3 { font-size:31px; }
  .service-purpose { margin-top:12px; font-size:var(--body-size); }
  .editorial-service .service-copy p { font-size:var(--body-size); }
  .service-examples { margin-block:19px; }
  .promise { grid-template-columns:1fr; gap:28px; padding:60px 0; }
  .promise h2 { font-size:46px; }
  .principle-statement { font-size:44px; }
  .principle-notes { gap:28px; }
  .questions { grid-template-columns:1fr; gap:30px; padding:55px 0 0; }
  .questions h2 { font-size:41px; margin-top:23px; }
  .question-list summary { font-size:var(--body-size); padding:20px 0; }
  .question-list details>p { padding-right:0; }
  .site-footer { padding-bottom:25px; }
  .legal-page { padding-block:45px 65px; }
}
@media(max-width:360px) {
  .editorial-service h3 { font-size:28px; }
  .promise h2 { font-size:40px; }
  .services-head h2 { font-size:36px; }
}

/* One reading size and rhythm throughout C, also on narrow screens.
   Navigation, section labels and decorative numerals retain their hierarchy. */
main p, .service-examples li, .service-purpose, .promise-note {
  font-size:var(--body-size);
  line-height:var(--body-leading);
}


/* Annotation refinements: clear labels, a single contact action and recurring offers. */
.main-nav .nav-contact { transition:border-color .2s; }
.main-nav .nav-contact:hover, .main-nav .nav-contact:focus-visible {
  text-decoration:none;
  border-bottom-color:var(--orange);
}
.section-label { font-size:15px; line-height:1.5; letter-spacing:.025em; gap:18px; }
.section-label span:first-child { flex-shrink:0; }
.contact-invitation { display:block; font-size:var(--body-size); margin-bottom:18px; }
.contact-actions .contact-email { font-size:clamp(25px,2.5vw,37px); min-height:62px; padding-bottom:18px; border-color:var(--line); transition:color .2s,border-color .2s; }
.contact-actions .contact-email:hover { border-color:var(--orange); }
.copy-email { font-size:14px; }
.copy-status { font-size:14px; min-height:22px; }
@media(max-width:720px) {
  .contact-actions .contact-email { font-size:clamp(24px,6vw,32px); }
}

/* Column edges follow the layout; paragraphs do not add a second, narrower measure. */
#inhalt p, #inhalt .service-examples { max-width:none; }

/* The digital offer is a separate full-width feature, with symmetric outer spacing. */
.recurring-feature {
  --orange:#edb28f;
  --muted:#d8e0e2;
  --line:#f8f6ef40;
  color:var(--paper);
  background:var(--ink);
}
.recurring { display:grid; grid-template-columns:1fr 1.5fr; gap:48px 100px; padding:76px 0; }
.recurring h2 { font-size:clamp(38px,3.7vw,56px); line-height:1.16; margin-top:27px; }
.recurring .eyebrow { color:var(--orange); }
.recurring-copy p { color:var(--muted); }
.recurring-copy p+p { margin-top:22px; }
.digital-example { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:35px; }
.digital-example-intro { display:grid; grid-template-columns:1fr 1.5fr; gap:23px 100px; }
.digital-example-intro .eyebrow { grid-column:1 / -1; }
.digital-example h3 { font:400 clamp(30px,2.8vw,42px)/1.2 Georgia,serif; letter-spacing:-.045em; }
.digital-example p { color:var(--muted); }
.recurring-foot { grid-column:1 / -1; display:grid; grid-template-columns:1.5fr 1fr; gap:60px; border-top:1px solid var(--line); padding-top:25px; align-items:start; }
.recurring-foot p { color:var(--muted); }
.recurring-foot .text-link { justify-self:end; color:var(--paper); }
.recurring-foot .text-link:hover { color:var(--orange); }


@media(max-width:1100px) {
  .recurring, .digital-example-intro { column-gap:50px; }
  .recurring-foot { gap:30px; }
}
@media(max-width:720px) {
  .recurring { grid-template-columns:1fr; gap:28px; padding:48px 0; }
  .recurring h2 { font-size:39px; }
  .recurring h2 br, .digital-example h3 br { display:none; }
  .digital-example-intro { grid-template-columns:1fr; gap:20px; }
  .recurring-foot { grid-template-columns:1fr; gap:20px; }
  .recurring-foot .text-link { justify-self:start; }
}

/* A connected five-step course journey replaces the text-heavy example columns. */
.course-process { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; list-style:none; padding:0; margin:38px 0 0; }
.course-process li { position:relative; }
.process-number { position:relative; z-index:1; display:grid; place-items:center; width:60px; height:60px; border:1px solid var(--orange); border-radius:50%; background:var(--ink); color:var(--orange); font:400 30px/1 Georgia,serif; }
.course-process li:not(:last-child)::after { content:''; position:absolute; top:29px; left:60px; width:calc(100% - 37px); height:1px; background:var(--orange); opacity:.7; }
.course-process li:not(:last-child)::before { content:''; position:absolute; top:26px; right:-18px; width:7px; height:7px; border-top:1px solid var(--orange); border-right:1px solid var(--orange); transform:rotate(45deg); }
.course-process li:last-child .process-number { background:var(--orange); color:var(--ink); }
.course-process h4 { font-size:18px; line-height:1.3; font-weight:500; margin:22px 0 12px; }
.process-cycle { display:flex; align-items:center; gap:20px; margin-top:30px; padding:20px 24px; background:#f8f6ef09; border:1px solid var(--line); }
.process-cycle>span { font-size:45px; line-height:1; color:var(--orange); }
.process-cycle strong { color:var(--paper); font-weight:500; }
@media(max-width:1100px) {
  .course-process { grid-template-columns:1fr; gap:0; }
  .course-process li { display:grid; grid-template-columns:60px 1fr; gap:25px; padding-bottom:26px; }
  .course-process li:last-child { padding-bottom:0; }
  .course-process li>div { display:grid; grid-template-columns:1fr 1.5fr; gap:25px; align-items:start; }
  .course-process h4 { margin:15px 0 0; }
  .course-process p { padding-top:11px; }
  .course-process li:not(:last-child)::after { top:60px; bottom:0; left:29px; width:1px; height:auto; }
  .course-process li:not(:last-child)::before { top:auto; bottom:6px; left:26px; right:auto; transform:rotate(135deg); }
}
@media(max-width:720px) {
  .course-process { margin-top:30px; }
  .course-process li { grid-template-columns:48px minmax(0,1fr); gap:20px; }
  .course-process li>div { display:block; }
  .process-number { width:48px; height:48px; font-size:26px; }
  .course-process h4 { margin:9px 0 10px; }
  .course-process p { padding-top:0; }
  .course-process li:not(:last-child)::after { top:48px; left:23px; }
  .course-process li:not(:last-child)::before { left:20px; }
  .process-cycle { align-items:start; padding:18px; gap:15px; }
  .process-cycle>span { font-size:35px; }
}
