/* Sanad Europe: gemeinsames Stylesheet fuer Arabisch (Wurzel), /en/ und /de/.
   Nur logische Eigenschaften (inline/block), damit der arabische Baum mit
   dir="rtl" das Layout spiegelt und nicht nur die Textrichtung. */

/* IBM Plex Sans Arabic, OFL 1.1, self-hosted (Lizenz: ../fonts/OFL-IBM-Plex-Sans-Arabic.txt).
   Quelle: npm @fontsource/ibm-plex-sans-arabic 5.3.0, Subsets arabic und latin. */
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/ibm-plex-sans-arabic-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/ibm-plex-sans-arabic-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-display:swap;font-weight:600;src:url(../fonts/ibm-plex-sans-arabic-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#F5F7F6;
  --wash:#E6EEEB;
  --ink:#122238;
  --ink-2:#4A5668;
  --line:#D3DBD9;
  --teal:#0B5E5A;
  --teal-2:#073F3C;
  --on-dark:#E8EEEC;
  --on-dark-2:#AEBBC5;
  --on-dark-line:rgba(232,238,236,.16);
  --open-bg:#FFF0BF;
  --open-ink:#4F3B00;

  --font:"IBM Plex Sans Arabic",system-ui,-apple-system,"Segoe UI","Noto Sans Arabic",Tahoma,sans-serif;
  --lh:1.6;
  --measure:40rem;
  --wrap:74rem;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --section:clamp(3.5rem,8vw,6.5rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-block-start:1.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:var(--lh);font-kerning:normal}
html[lang="ar"]{--lh:1.9}
html[lang="ar"] body{font-size:1.1875rem}
img{max-width:100%;height:auto;display:block}
.name-bild{display:inline-block;height:1.375em;width:auto;vertical-align:middle}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--teal-2)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-weight:600;line-height:1.15;margin:0;text-wrap:balance}
html[lang="en"] h1,html[lang="en"] h2,html[lang="de"] h1,html[lang="de"] h2{letter-spacing:-.015em}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{line-height:1.5}
p{margin:0 0 1em}
p:last-child{margin-block-end:0}
bdi,.ltr{unicode-bidi:isolate}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;inset-inline-start:1rem;inset-block-start:-4rem;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{inset-block-start:1rem}

/* Kopf */
.site-header{border-block-end:1px solid var(--line)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;column-gap:2rem;min-block-size:4.75rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:1.125rem;padding-block:.9rem}
.brand svg{inline-size:2.4rem;block-size:auto;flex:none}
.brand small{display:block;font-weight:400;font-size:.8125rem;color:var(--ink-2);line-height:1.2}
.nav{display:flex;align-items:center;gap:1.6rem;margin-inline-start:auto}
.nav a{color:var(--ink);text-decoration:none;font-size:1rem;white-space:nowrap}
.nav a:hover{color:var(--teal)}
.nav a[aria-current="page"]{color:var(--teal);font-weight:500}
.nav .lang{font-weight:500;padding-inline-start:1.6rem;border-inline-start:1px solid var(--line)}
@media (max-width:900px){
  .site-header .wrap{padding-block-end:.25rem}
  .nav{order:3;flex-basis:100%;margin-inline-start:0;overflow-x:auto;gap:1.25rem;padding-block:.5rem .75rem;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  /* Sprachwechsel mobil zuerst, sonst liegt er ausserhalb des sichtbaren Streifens */
  .nav .lang{order:-1;padding-inline:0 1.25rem;border-inline-start:0;border-inline-end:1px solid var(--line)}
}

/* Knoepfe */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.8rem 1.35rem;border-radius:999px;font-weight:500;font-size:1rem;line-height:1.2;text-decoration:none;border:1.5px solid transparent}
.btn svg{inline-size:1.15rem;block-size:1.15rem;flex:none}
.btn--primary{background:var(--teal);color:#fff}
.btn--primary:hover{background:var(--teal-2);color:#fff}
.btn--quiet{border-color:var(--ink);color:var(--ink)}
.btn--quiet:hover{background:var(--ink);color:var(--paper)}

/* offene Platzhalter: nur im Entwurf sichtbar, claimcheck blockiert den Deploy */
.offen{background:var(--open-bg);color:var(--open-ink);padding:.05em .4em;border-radius:3px;font-weight:500;font-size:.9em;white-space:nowrap}
[data-offen]:not(.offen):not(a){outline:2px dashed #D9B84A;outline-offset:6px}

/* Hero: Ueberschrift links, Einleitung und Knoepfe rechts */
.hero{padding-block:clamp(2.5rem,7vw,5.5rem) 0}
.hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:end}
.hero h1{font-size:clamp(2.5rem,5vw,4rem)}
html[lang="ar"] .hero h1{font-size:clamp(2.7rem,5.6vw,4.5rem)}
.hero .lead{margin-block:0 1.6rem}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}.hero .lead{margin-block-start:.5rem}}
.lead{font-size:clamp(1.1875rem,2vw,1.3125rem);color:var(--ink-2);max-inline-size:var(--measure);margin-block:1.5rem 2.1rem}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.note{font-size:.9375rem;color:var(--ink-2);margin-block-start:1rem}

/* Die Kette (isnad): Sie, Sanad Europe, zugelassene Fachleute.
   Zeile 1 traegt Titel, Linien und das Wort, damit die Linien das Wort treffen. */
.chain{display:grid;grid-template-columns:minmax(0,1fr) minmax(3rem,1fr) auto minmax(3rem,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:0;row-gap:.2rem;margin-block:clamp(2.5rem,6vw,4.5rem) 0;margin-inline:0;padding-block:clamp(2rem,4vw,3rem);border-block:1px solid var(--line)}
.chain__end,.chain__core{display:contents}
.chain__end strong{grid-row:1;align-self:center;font-size:1.3125rem;font-weight:600;line-height:1.3}
.chain__end span{grid-row:2 / span 2;color:var(--ink-2);font-size:.9875rem;line-height:1.5}
.chain__end > *{grid-column:1}
.chain__end--partner > *{grid-column:5;text-align:end}
.chain__link{grid-row:1;align-self:center;block-size:2px;background:var(--ink);position:relative;margin-inline:1.5rem}
.chain__link:nth-of-type(2){grid-column:2}
.chain__link:nth-of-type(4){grid-column:4}
.chain__link::before,.chain__link::after{content:"";position:absolute;inset-block-start:50%;inline-size:.7rem;block-size:.7rem;border-radius:50%;background:var(--paper);border:2px solid var(--ink);transform:translateY(-50%)}
.chain__link::before{inset-inline-start:-.35rem}
.chain__link::after{inset-inline-end:-.35rem}
.chain__word{grid-column:3;grid-row:1;justify-self:center;font-size:clamp(4.5rem,10vw,7rem);font-weight:600;line-height:1;color:var(--teal)}
.chain__name{grid-column:3;grid-row:2;justify-self:center;font-weight:600;font-size:1.125rem}
.chain__role{grid-column:3;grid-row:3;justify-self:center;text-align:center;color:var(--ink-2);font-size:.9875rem;max-inline-size:16rem;line-height:1.5}
@media (max-width:760px){
  .chain{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-inline:0}
  .chain__end,.chain__core{display:flex;flex-direction:column;gap:.25rem}
  .chain__end--partner > *{text-align:start}
  .chain__end strong,.chain__link{align-self:flex-start}
  .chain__core{align-items:flex-start}
  .chain__word{font-size:4.5rem}
  .chain__role{text-align:start}
  .chain__link{inline-size:2px;block-size:2.75rem;margin-inline:1.1rem 0;margin-block:.9rem}
  .chain__link::before,.chain__link::after{inset-inline-start:50%;transform:translateX(-50%)}
  html[dir="rtl"] .chain__link::before,html[dir="rtl"] .chain__link::after{transform:translateX(50%)}
  .chain__link::before{inset-block-start:-.35rem}
  .chain__link::after{inset-block-start:auto;inset-block-end:-.35rem;inset-inline-end:auto}
}

.honest{padding-block:clamp(2.5rem,5vw,4rem)}
.honest__claim{font-size:clamp(1.5rem,3.3vw,2.35rem);line-height:1.3;font-weight:500;max-inline-size:32ch;margin:0}
html[lang="ar"] .honest__claim{line-height:1.75;max-inline-size:30ch}
.honest .meaning{margin-block-start:1.25rem;color:var(--ink-2);font-size:1rem}

/* Abschnitte */
.section{padding-block:var(--section)}
.section--wash{background:var(--wash)}
.section__head{max-inline-size:46rem;margin-block-end:clamp(2rem,4vw,3.25rem)}
.section__head h2{font-size:clamp(1.875rem,3.8vw,2.85rem)}
.section__head p{color:var(--ink-2);font-size:1.1875rem;margin-block-start:1rem}
html[lang="ar"] .section__head p{font-size:1.25rem}

.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:clamp(1.5rem,3vw,3rem)}
.groups h3{font-size:1.3125rem;margin-block-end:.6rem}
.groups p{color:var(--ink-2)}

/* Saeulen: links Titel, Mitte eigene Leistung, rechts Partner */
.pillar{display:grid;grid-template-columns:minmax(0,4.5fr) minmax(0,6fr) minmax(0,4.5fr);gap:clamp(1.5rem,3vw,3rem);padding-block:clamp(2.25rem,4vw,3.25rem);border-block-start:1px solid var(--line)}
.pillar h3{font-size:clamp(1.5rem,2.6vw,1.875rem)}
.pillar__intro{color:var(--ink-2);margin-block-start:.75rem}
.col-label{font-size:.9375rem;font-weight:600;color:var(--ink-2);margin-block-end:.5rem}
.list{list-style:none;margin:0;padding:0}
.list li{padding-block:.55rem;border-block-end:1px solid var(--line);line-height:1.5}
html[lang="ar"] .list li{line-height:1.75}
.list li:last-child{border-block-end:0}
.partners{background:var(--wash);padding:1.1rem 1.4rem 1.2rem;border-radius:6px;align-self:start}
.partners .list li{border-color:#C9D8D3}
.pillar__note{grid-column:2 / -1;color:var(--ink-2);font-size:1rem;margin:0}
@media (max-width:880px){
  .pillar{grid-template-columns:1fr}
  .pillar__note{grid-column:auto}
}

/* Ablauf: echte Reihenfolge, daher Zaehler */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);counter-reset:step}
.steps li{counter-increment:step;border-block-start:2px solid var(--ink);padding-block-start:1.25rem}
.steps li::before{content:counter(step);display:block;font-size:2.5rem;font-weight:500;line-height:1;color:var(--teal);margin-block-end:.9rem}
.steps h3{font-size:1.3125rem;margin-block-end:.5rem}
.steps p{color:var(--ink-2)}
@media (max-width:760px){.steps{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.split .section__head{margin-block-end:0}
.statements{display:grid;gap:2rem}
.statements h3{font-size:1.3125rem;margin-block-end:.4rem}
.statements p{color:var(--ink-2)}
@media (max-width:880px){.split{grid-template-columns:1fr}}

/* Was wir nicht tun */
.band-dark{background:var(--ink);color:var(--on-dark)}
.band-dark h2{color:#fff}
.band-dark .section__head p{color:var(--on-dark-2)}
.nots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,4rem)}
.nots li{position:relative;padding-block:1rem;padding-inline-start:2.1rem;border-block-start:1px solid var(--on-dark-line);line-height:1.5}
html[lang="ar"] .nots li{line-height:1.75}
.nots li::before{content:"";position:absolute;inset-inline-start:0;inset-block-start:1.3rem;inline-size:1rem;block-size:1rem;border:1.5px solid #8FC4BE;border-radius:50%}
.nots li::after{content:"";position:absolute;inset-inline-start:.46rem;inset-block-start:1.22rem;inline-size:1.5px;block-size:1.15rem;background:#8FC4BE;transform:rotate(45deg)}
@media (max-width:760px){.nots{grid-template-columns:1fr}}

/* Gruender */
.founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.founder--ohne-foto{grid-template-columns:minmax(0,1fr)}
.founder__photo{aspect-ratio:4 / 5;background:var(--wash);border-radius:6px;display:grid;place-items:center;color:var(--ink-2);font-size:.9375rem;padding:1rem;text-align:center}
.founder h3{font-size:1.5rem;margin-block-end:.9rem}
.founder p,.founder p:last-child{max-inline-size:var(--measure);margin-block-end:1em}
@media (max-width:760px){.founder{grid-template-columns:1fr}.founder__photo{max-inline-size:18rem}}

.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem)}
.two h2{font-size:clamp(1.625rem,3vw,2.25rem);margin-block-end:1rem}
.two p,.two li{color:var(--ink-2)}
.two .list li{color:var(--ink)}
@media (max-width:880px){.two{grid-template-columns:1fr}}

/* FAQ */
.faq{max-inline-size:50rem}
.faq details{border-block-start:1px solid var(--line)}
.faq details:last-child{border-block-end:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding-block:1.15rem;font-weight:500;font-size:1.1875rem;line-height:1.45}
html[lang="ar"] .faq summary{font-size:1.25rem;line-height:1.7}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.6rem;font-weight:400;line-height:1;color:var(--teal);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq .answer{color:var(--ink-2);padding-block-end:1.4rem;max-inline-size:var(--measure)}

/* Kontakt */
.contact-cta{background:var(--wash);border-radius:8px;padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2rem,4vw,3.5rem);align-items:start}
.contact-cta h2{font-size:clamp(1.75rem,3.4vw,2.5rem);margin-block-end:1rem}
.channels{list-style:none;margin:0;padding:0}
.channels li{display:flex;justify-content:space-between;gap:1rem;padding-block:.8rem;border-block-end:1px solid #C9D8D3}
.channels li:last-child{border-block-end:0}
.channels span:first-child{color:var(--ink-2)}
@media (max-width:880px){.contact-cta{grid-template-columns:1fr}}

/* Unterseiten */
.page-head{padding-block:clamp(3rem,7vw,5rem) clamp(1.5rem,3vw,2.5rem)}
.page-head h1{font-size:clamp(2.25rem,5vw,3.5rem)}
.page-head .lead{margin-block-end:0}
.prose{max-inline-size:46rem;padding-block-end:var(--section)}
.prose h2{font-size:1.375rem;margin-block:2.5rem .75rem}
.prose h2:first-child{margin-block-start:0}
.prose p,.prose li{color:var(--ink)}
.prose ul{padding-inline-start:1.25rem}
.prose dl{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.6rem 1.5rem;margin:0}
.prose dt{color:var(--ink-2)}
.prose dd{margin:0}
@media (max-width:640px){.prose dl{grid-template-columns:1fr}.prose dd{margin-block-end:.75rem}}
.draft-note{background:var(--open-bg);color:var(--open-ink);border-radius:6px;padding:1rem 1.25rem;margin-block-end:2rem;font-size:.9875rem}

/* Preise: Stufen sind eine Reihenfolge, daher Zaehler */
.levels{list-style:none;margin:0;padding:0;counter-reset:lvl}
.level{counter-increment:lvl;display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;gap:.5rem 1.75rem;padding-block:2rem;border-block-start:1px solid var(--line);align-items:baseline}
.level::before{content:counter(lvl);font-size:2.25rem;font-weight:500;line-height:1;color:var(--teal)}
.level > div:last-child{grid-column:2 / -1}
.level h2{font-size:1.5rem;margin-block-end:.5rem}
.level p{color:var(--ink-2);max-inline-size:var(--measure)}
.level__price{font-weight:600;font-size:1.25rem;text-align:end;white-space:nowrap}
.packages{inline-size:100%;border-collapse:collapse;margin-block-start:1.25rem}
.packages th,.packages td{padding-block:.8rem;border-block-end:1px solid var(--line);text-align:start;vertical-align:baseline;font-weight:400}
.packages th{padding-inline-end:1.5rem}
.packages th small{display:block;color:var(--ink-2);font-size:.9375rem}
.packages td{text-align:end;white-space:nowrap;font-weight:600}
@media (max-width:640px){
  .level{grid-template-columns:2.5rem minmax(0,1fr)}
  .level__price{grid-column:2;text-align:start}
}
.principles{padding-block:var(--section)}

/* Fuss */
.site-footer{background:var(--ink);color:var(--on-dark-2);padding-block:3rem;font-size:.9375rem}
.site-footer .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem}
.site-footer a{color:var(--on-dark)}
.site-footer p{max-inline-size:38rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:flex-end}
@media (max-width:760px){.site-footer .wrap{grid-template-columns:1fr}.site-footer ul{justify-content:flex-start}}

/* 404-Seite */
.chooser{min-block-size:100vh;display:grid;place-items:center;padding:var(--gutter)}
.chooser__inner{inline-size:min(100%,52rem)}
.chooser__title{font-size:clamp(2rem,5vw,3rem)}
.chooser__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--line);margin-block-start:2.5rem}
.chooser__grid a{display:flex;flex-direction:column;gap:.5rem;padding:2rem 1.5rem;text-decoration:none;color:var(--ink)}
.chooser__grid a + a{border-inline-start:1px solid var(--line)}
.chooser__grid a:hover{background:var(--wash)}
.chooser__grid strong{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.3}
.chooser__grid span{color:var(--ink-2)}
@media (max-width:640px){.chooser__grid{grid-template-columns:1fr}.chooser__grid a + a{border-inline-start:0;border-block-start:1px solid var(--line)}}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.section--flush{padding-block-start:1rem}
.prose .muster-formular{list-style:none;padding-inline-start:0;margin-block:1rem;border-block-start:1px solid var(--line)}
.prose .muster-formular li{padding-block:.85rem 1.6rem;border-block-end:1px solid var(--line)}
