:root{--bg:#faf8f5;--fg:#282d35;--muted:#74736f;--primary:#498078;--card:#f4f1ec;--border:#e5e0da;--accent:#e4efeb;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6}body.rtl{font-family:Vazirmatn,Arial,sans-serif}.container{width:min(100% - 48px,1120px);margin:auto}.narrow{max-width:768px}.header{position:sticky;top:0;z-index:10;height:65px;background:rgba(250,248,245,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.bar{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--fg);text-decoration:none}.nav{display:flex;gap:32px;align-items:center}.nav a,.lang{background:0;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:none}.nav a:hover,.nav a.active,.lang:hover{color:var(--primary)}.nav a.active{font-weight:500}.menu{display:none;background:0;border:0;font-size:24px;color:var(--fg)}main{min-height:calc(100vh - 145px)}h1,h2,h3{letter-spacing:-.5px;line-height:1.25;margin:0;font-weight:600}h1{font-size:clamp(30px,4vw,48px)}h2{font-size:clamp(25px,3vw,32px)}h3{font-size:18px}p{margin:0}.hero{padding:126px 0}.hero h1{max-width:720px}.lead{max-width:760px;margin-top:24px;font-size:clamp(18px,2.2vw,20px);color:var(--muted)}.intro{max-width:680px;margin-top:30px;color:#45494e}.button{display:inline-flex;margin-top:40px;padding:11px 24px;border:0;border-radius:6px;background:var(--primary);color:#fff;font:500 14px Inter;text-decoration:none;cursor:pointer}.button:hover{background:#3d7169}.section{padding:80px 0;border-top:1px solid var(--border)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:48px}.card{padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.card p{margin-top:12px;font-size:14px;color:var(--muted)}.stack{display:grid;gap:32px;margin-top:48px}.more{display:inline-block;margin-top:30px;color:var(--primary);font-size:14px;text-decoration:none}.page{padding:80px 0}.page>p{margin-top:24px;color:#45494e}.service{padding:64px 0;border-bottom:1px solid var(--border)}.service:first-of-type{margin-top:22px}.service p{margin-top:16px}.service ul{padding:0;margin:16px 0;list-style:none;color:var(--muted);font-size:14px}.service li{margin:6px 0}.service li:before{content:'';display:inline-block;width:6px;height:6px;margin:0 9px 2px 0;border-radius:50%;background:#75a39d}.about{display:flex;gap:64px;align-items:flex-start}.about img{display:block;width:min(100%,420px);aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.about .copy{flex:1}.about .copy p{margin-top:24px;color:#45494e}.price{margin-top:48px;display:grid;gap:24px}.price .card p:last-child{font-size:18px;color:var(--fg);font-weight:600;margin-top:4px}.form{margin-top:48px;display:grid;gap:24px}.form label{display:grid;gap:8px;font-size:14px;font-weight:500}.form input,.form textarea{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg);padding:11px 14px;font:14px inherit;color:var(--fg)}.form input:focus,.form textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.notice{margin-top:48px;padding:24px;background:var(--accent);border:1px solid var(--border);border-radius:var(--radius);color:#3e6c65;font-size:14px}.footer{border-top:1px solid var(--border);background:#f5f1eb;padding:30px 0;color:var(--muted);font-size:14px}.foot{display:flex;justify-content:space-between;gap:20px}.footer a{color:inherit;text-decoration:none}@media(max-width:720px){.nav{display:none}.nav.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px;background:var(--bg);border-bottom:1px solid var(--border)}.nav.open a{padding:10px 0}.menu{display:block}.cards{grid-template-columns:1fr;gap:20px}.hero{padding:88px 0}.section,.page{padding:56px 0}.about{flex-direction:column;gap:36px}.about img{width:100%}.foot{flex-direction:column;text-align:center;gap:10px}}

/* Startseite: Maße und Farben nach der gelieferten Vorlage. */
:root { --bg:#faf9f7; --fg:#282c34; --muted:#7b8497; --primary:#497d6c; --card:#f6f4f1; --border:#e5e2dd; }
body { -webkit-font-smoothing:antialiased; }
.container { width:min(100% - 48px,1136px); }
.header { height:64px; background:rgba(250,249,247,.95); }
.brand { font-size:18px; }
.nav { gap:32px; }
.lang { padding:0; }
.home h1 { font-size:48px; line-height:1; font-weight:700; letter-spacing:-1.2px; }
.home h2 { font-size:30px; line-height:36px; letter-spacing:-.75px; }
.home h3 { font-size:18px; line-height:28px; font-weight:500; letter-spacing:-.45px; }
.home .hero { max-width:704px; padding:128px 0; }
.home .lead { margin-top:24px; font-size:20px; line-height:28px; }
.home .intro { max-width:none; color:#5c5f67; line-height:26px; }
.home .hero .intro { margin-top:32px; }
.button { padding:12px 24px; line-height:20px; font-family:inherit; }
.home .button { margin-top:40px; }
.hero-quote { margin:64px 0 0; color:#70747a; font-size:20px; font-style:italic; line-height:28px; text-align:center; }
.home .section { padding:96px 0; }
.home .section .container { max-width:832px; }
.home .section .narrow { max-width:704px; }
.home .cards,.home .stack { margin-top:48px; gap:32px; }
.home .card { padding:24px; }
.home .card p { margin-top:12px; font-size:14px; line-height:23px; }
.home .more { margin-top:32px; line-height:24px; }
.home .narrow .intro { margin-top:24px; }
.footer { padding:32px 0; background:#f4f2ef; line-height:20px; }
.footer-links { display:flex; gap:24px; }
a:focus-visible,button:focus-visible { outline:2px solid var(--primary); outline-offset:5px; }
@media(max-width:900px) {
  .nav { gap:18px; }
  .brand { font-size:16px; }
}
@media(max-width:720px) {
  .bar { gap:16px; }
  .brand { margin-inline-end:auto; }
  .home .hero { padding:72px 0; }
  .home h1 { font-size:clamp(30px,7vw,42px); line-height:1.12; letter-spacing:-.75px; }
  .home h2 { font-size:26px; line-height:34px; }
  .home .lead { font-size:18px; line-height:28px; }
  .hero-quote { margin-top:48px; font-size:18px; }
  .home .section { padding:56px 0; }
  .home .cards,.home .stack { margin-top:32px; gap:24px; }
  .footer-links { justify-content:center; }
  .nav.open { top:63px; gap:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Angebote: Inhaltsbreite, Typografie und Rhythmus der Screenshot-Vorlage. */
.services-page { max-width:704px; padding:80px 0 64px; }
.services-page h1 { font-size:36px; line-height:40px; font-weight:700; letter-spacing:-.9px; }
.services-page .service { margin:0; padding:80px 0; }
.services-page .service:first-of-type { margin-top:80px; padding-top:0; }
.services-page .service:last-child { border-bottom:0; }
.services-page h2 { font-size:30px; line-height:36px; font-weight:600; letter-spacing:-.75px; }
.services-page .service p { margin:0; }
.services-page h2 + p { margin-top:16px; color:#5c5f67; font-size:16px; line-height:26px; }
.services-page .service p:nth-of-type(2) { margin-top:32px; font-size:14px; line-height:20px; }
.services-page strong { font-weight:500; }
.services-page .service ul { display:grid; gap:8px; margin:12px 0 24px; font-size:14px; line-height:20px; }
.services-page .service li { position:relative; margin:0; padding-inline-start:14px; }
.services-page .service li::before { position:absolute; inset-inline-start:0; top:7px; width:6px; height:6px; margin:0; background:#91afa3; }
.services-page .service p:last-child { color:var(--muted); font-size:14px; line-height:23px; }
@media(max-width:720px) {
  .services-page { padding:56px 0 32px; }
  .services-page h1 { font-size:32px; line-height:38px; }
  .services-page h2 { font-size:26px; line-height:34px; }
  .services-page .service { padding:48px 0; }
  .services-page .service:first-of-type { margin-top:48px; }
}

/* Über mich: Porträt und Textspalte nach der Screenshot-Vorlage. */
.about-page { padding:96px 0; }
.about-page .about { display:flex; align-items:flex-start; gap:64px; }
.about-page .about img { flex:0 0 40%; width:40%; height:auto; aspect-ratio:4 / 3; object-fit:cover; object-position:center; border-radius:8px; }
.about-page .copy { flex:1; min-width:0; }
.about-page h1 { font-size:36px; line-height:40px; font-weight:700; letter-spacing:-.9px; }
.about-page .copy p { margin-top:24px; color:#5c5f67; font-size:16px; line-height:26px; }
.about-page .copy h1 + p { margin-top:32px; }
@media(max-width:900px) and (min-width:721px) {
  .about-page .about { gap:40px; }
}
@media(max-width:720px) {
  .about-page { padding:56px 0; }
  .about-page .about { flex-direction:column; gap:36px; }
  .about-page .about img { flex:none; width:100%; }
  .about-page h1 { font-size:32px; line-height:38px; }
  .about-page .copy h1 + p { margin-top:24px; }
}

/* Modalitäten: Infokarten und Abstände nach der Screenshot-Vorlage. */
.modal-page { max-width:704px; padding:96px 0; }
.modal-page h1 { font-size:36px; line-height:40px; font-weight:700; letter-spacing:-.9px; }
.modal-page > h1 + p { margin-top:32px; color:#5c5f67; font-size:16px; line-height:26px; }
.modal-page .price { margin-top:48px; gap:24px; }
.modal-page .card { padding:24px; }
.modal-page .card h3 { font-size:14px; line-height:20px; font-weight:500; letter-spacing:0; }
.modal-page .price .card p { margin-top:4px; font-size:18px; line-height:28px; font-weight:600; }
.modal-page .price .card:last-child p { font-size:16px; line-height:24px; font-weight:400; }
.modal-page > p:last-child { margin-top:40px; color:var(--muted); font-size:14px; line-height:24px; }
@media(max-width:720px) {
  .modal-page { padding:56px 0; }
  .modal-page h1 { font-size:32px; line-height:38px; }
  .modal-page > h1 + p { margin-top:24px; }
  .modal-page .price { margin-top:32px; }
}

/* Kontakt: schmale Formularspalte nach der Screenshot-Vorlage. */
.contact-page { max-width:608px; padding:96px 0; }
.contact-page h1 { font-size:36px; line-height:40px; font-weight:700; letter-spacing:-.9px; }
.contact-page .contact-intro { margin-top:24px; font-size:16px; line-height:26px; color:var(--muted); }
.contact-page .contact-email { margin-top:24px; font-size:14px; line-height:24px; color:var(--muted); }
.contact-page a { color:var(--primary); text-decoration:none; }
.contact-email a { display:inline-block; overflow-wrap:anywhere; }
.contact-page a:hover { text-decoration:underline; }
.contact-guidance { margin-top:40px; padding:20px; border:1px solid var(--border); border-radius:8px; background:#eaf0ed; color:#446e60; font-size:14px; line-height:23px; }
.contact-page .form { margin-top:32px; gap:24px; }
.contact-page .form label { font-size:14px; line-height:20px; gap:8px; }
.contact-page .form input,.contact-page .form textarea { font-family:inherit; font-size:14px; line-height:20px; padding:10px 12px; }
.contact-page .form input { height:42px; }
.contact-page .form textarea { height:122px; min-height:122px; resize:vertical; }
.contact-page .form .button { justify-self:start; margin:6px 0 0; }
.contact-page .contact-privacy { margin-top:24px; font-size:12px; line-height:16px; color:var(--muted); }
.contact-page .contact-status { margin-top:24px; color:#446e60; font-size:14px; line-height:23px; }
@media(max-width:720px) {
  .contact-page { padding:56px 0; }
  .contact-page h1 { font-size:32px; line-height:38px; }
  .contact-guidance { margin-top:32px; }
}

/* Farsi-Angebote: verbundene Schriftzeichen und rechtsbündiger Satz. */
html[lang="fa"] .services-page { text-align:right; }
html[lang="fa"] .services-page h1,
html[lang="fa"] .services-page h2 { letter-spacing:normal; }

/* Impressum: deutsche und persische Screenshot-Vorlage. */
.imprint-page { max-width:704px; padding:96px 0; }
.imprint-page h1 { font-size:36px; line-height:40px; font-weight:700; letter-spacing:-.9px; }
.imprint-page .legal-section { margin-top:40px; }
.imprint-page .legal-section:first-of-type { margin-top:48px; }
.imprint-page h2 { font-size:18px; line-height:28px; font-weight:500; letter-spacing:-.45px; }
.imprint-page p { margin-top:16px; color:#5c5f67; font-size:16px; line-height:26px; }
.imprint-page .legal-address { margin-top:28px; }
.imprint-page .legal-qualifications { line-height:30px; }
.imprint-page a { color:var(--primary); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.imprint-page a[dir="ltr"] { display:inline-block; }
.imprint-page .legal-note { margin-top:40px; border-inline-start:2px solid var(--border); padding-inline-start:16px; color:var(--muted); font-size:14px; line-height:23px; }
html[lang="fa"] .imprint-page { text-align:right; }
html[lang="fa"] .imprint-page h1,
html[lang="fa"] .imprint-page h2 { letter-spacing:normal; }
@media(max-width:720px) {
  .imprint-page { padding:56px 0; }
  .imprint-page h1 { font-size:32px; line-height:38px; }
  .imprint-page .legal-section:first-of-type { margin-top:40px; }
}

/* Datenschutz: Text und Absatzstruktur aus der deutschen Vorlage. */
.privacy-page { max-width:704px; padding:96px 0; }
.privacy-page h1 { font-size:36px; line-height:40px; font-weight:700; letter-spacing:-.9px; }
.privacy-page .privacy-section { margin-top:40px; }
.privacy-page .privacy-section:first-of-type { margin-top:48px; }
.privacy-page h2 { font-size:18px; line-height:28px; font-weight:500; letter-spacing:-.45px; }
.privacy-page p { margin-top:16px; font-size:16px; line-height:26px; color:#5c5f67; overflow-wrap:anywhere; }
html[lang="fa"] .privacy-page h1 { letter-spacing:normal; }
@media(max-width:720px) {
  .privacy-page { padding:56px 0; }
  .privacy-page h1 { font-size:32px; line-height:38px; }
  .privacy-page .privacy-section:first-of-type { margin-top:40px; }
}

/* Datenschutz auf Farsi: Ausrichtung entsprechend der Vorlage. */
.privacy-page[dir="rtl"] { text-align:right; }
.privacy-page[lang="fa"] h2 { letter-spacing:normal; }
