@import url('https://fonts.bunny.net/css2?family=Bricolage+Grotesque:wght@400;500;600;700&family=Young+Serif&display=swap');
/* === desouzaforbes.com Layout-Feinschliff (Fonts selbst-gehostet, kein Google-@import) === */
:root{
  --dsf-font-display:"Young Serif", Georgia, "Times New Roman", serif;
  --dsf-font-sans:"Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --dsf-ink:#181511; --dsf-cream:#fffaf2; --dsf-cream-2:#f4eadb;
  --dsf-teal:#1f6f68; --dsf-teal-deep:#155852; --dsf-amber:#d9912b; --dsf-amber-deep:#b9761a;
  --dsf-line:rgba(24,21,17,.12);
  --dsf-shadow-sm:0 1px 2px rgba(24,21,17,.06), 0 6px 18px rgba(24,21,17,.06);
  --dsf-shadow-lg:0 2px 4px rgba(24,21,17,.05), 0 22px 50px rgba(24,21,17,.13);
  --dsf-ease:cubic-bezier(.22,1,.36,1);
}
body{ font-family:var(--dsf-font-sans); letter-spacing:-0.003em; }
h1.wp-block-heading, h2.wp-block-heading, .dsf-hero h1{
  font-family:var(--dsf-font-display); font-weight:400; letter-spacing:-0.01em; line-height:1.06; text-wrap:balance;
}
h3.wp-block-heading, h4.wp-block-heading{ font-family:var(--dsf-font-sans); font-weight:700; letter-spacing:-0.01em; text-wrap:balance; }
p, li{ text-wrap:pretty; }
.dsf-hero h1, h1.wp-block-heading.has-x-large-font-size{ font-size:clamp(2.5rem, 1.55rem + 3.7vw, 4.15rem) !important; }
h2.wp-block-heading{ font-size:clamp(1.85rem, 1.4rem + 1.6vw, 2.55rem) !important; }
.dsf-hero p.has-large-font-size{ font-size:clamp(1.08rem, 1rem + .5vw, 1.32rem) !important; color:rgba(24,21,17,.76); max-width:58ch; margin-inline:auto; }
.dsf-kicker{ font-family:var(--dsf-font-sans); font-weight:600; color:var(--dsf-teal-deep); display:inline-flex; align-items:center; gap:.55rem; }
.dsf-hero .dsf-kicker{ justify-content:center; }
.dsf-kicker::before{ content:""; width:1.6rem; height:2px; border-radius:2px; flex:none; background:linear-gradient(90deg,var(--dsf-amber),var(--dsf-teal)); }
.dsf-hero::before{
  background:
    radial-gradient(60% 55% at 15% 12%, rgba(217,145,43,.20), transparent 60%),
    radial-gradient(55% 55% at 88% 10%, rgba(31,111,104,.18), transparent 60%),
    radial-gradient(90% 80% at 50% 122%, rgba(31,111,104,.05), transparent 70%),
    linear-gradient(160deg,#fffaf2 0%, #f7efe1 55%, #f2e6d3 100%) !important;
}
.dsf-hero{ padding-top:clamp(3.5rem,2rem+7vw,6rem) !important; padding-bottom:clamp(3.5rem,2rem+7vw,6rem) !important; }
.dsf-card{
  background:#fff; border:1px solid var(--dsf-line); border-radius:16px; box-shadow:var(--dsf-shadow-sm);
  padding:clamp(1.5rem,1rem+2vw,2.15rem);
  transition:transform .5s var(--dsf-ease), box-shadow .5s var(--dsf-ease), border-color .5s var(--dsf-ease);
}
.dsf-card:hover{ transform:translateY(-4px); box-shadow:var(--dsf-shadow-lg); border-color:rgba(217,145,43,.45); }
.wp-block-button__link.wp-element-button{
  font-family:var(--dsf-font-sans); font-weight:700; border-radius:999px; padding:.85rem 1.6rem; letter-spacing:-0.01em;
  transition:transform .35s var(--dsf-ease), box-shadow .35s var(--dsf-ease), background-color .35s var(--dsf-ease), border-color .35s var(--dsf-ease);
}
.wp-block-button:not(.is-style-outline) > .wp-block-button__link{ background:var(--dsf-amber); color:var(--dsf-ink); box-shadow:0 8px 20px rgba(217,145,43,.26); }
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover{ background:var(--dsf-amber-deep); transform:translateY(-2px); box-shadow:0 12px 26px rgba(217,145,43,.32); }
.is-style-outline .wp-block-button__link{ border:1.5px solid rgba(24,21,17,.28); color:var(--dsf-ink); background:transparent; }
.is-style-outline .wp-block-button__link:hover{ border-color:var(--dsf-ink); background:rgba(24,21,17,.04); transform:translateY(-2px); }
.dsf-band{ background: radial-gradient(70% 120% at 12% -10%, rgba(217,145,43,.14), transparent 55%), radial-gradient(70% 120% at 100% 0%, rgba(31,111,104,.20), transparent 55%), #181511 !important; }
.dsf-band h1,.dsf-band h2,.dsf-band h3{ color:var(--dsf-cream); }
.dsf-band .is-style-outline .wp-block-button__link{ border-color:rgba(255,250,242,.4); color:var(--dsf-cream); }
.dsf-band .is-style-outline .wp-block-button__link:hover{ border-color:var(--dsf-cream); background:rgba(255,250,242,.08); }
main a:not(.wp-block-button__link):not(.wp-block-navigation-item__content){ text-underline-offset:3px; text-decoration-thickness:1.5px; text-decoration-color:rgba(217,145,43,.55); transition:text-decoration-color .3s var(--dsf-ease), color .3s var(--dsf-ease); }
main a:not(.wp-block-button__link):hover{ text-decoration-color:var(--dsf-amber); }
.wp-block-navigation .wp-block-navigation-item__content{ font-family:var(--dsf-font-sans); font-weight:600; }
.has-cream-background-color{ background-color:var(--dsf-cream-2) !important; }
@media (prefers-reduced-motion: reduce){ .dsf-card, .wp-block-button__link{ transition:none !important; } .dsf-card:hover, .wp-block-button__link:hover{ transform:none !important; } }

/* ===== HERO mit Foto (Schloss Stuttgart) ===== */
.dsf-hero{
  background-image:
    linear-gradient(90deg, rgba(20,17,13,.04) 0%, rgba(20,17,13,.22) 33%, rgba(20,17,13,.58) 60%, rgba(20,17,13,.84) 100%),
    linear-gradient(0deg, rgba(20,17,13,.32), transparent 48%),
    url('https://desouzaforbes.com/wp-content/uploads/2026/07/6-1-2048x1365.jpeg') !important;
  background-size:cover !important; background-position:30% 60% !important; background-repeat:no-repeat !important;
  min-height:600px !important;
  display:flex !important; flex-direction:column; justify-content:center; align-items:flex-end; text-align:right;
  padding:clamp(2.5rem,4.5vw,3.75rem) clamp(1.4rem,4vw,3.5rem) !important;
}
.dsf-hero::before{ display:none !important; }
.dsf-hero > *{ position:relative; z-index:1; max-width:680px !important; width:auto !important; margin-right:0 !important; margin-left:auto !important; }
.dsf-hero h1, .dsf-hero h1.has-x-large-font-size{ font-size:clamp(2rem,1.3rem+2vw,2.9rem) !important; color:#fffaf2 !important; line-height:1.08 !important; text-shadow:0 2px 24px rgba(0,0,0,.5); margin-bottom:.75rem !important; }
.dsf-hero .has-text-align-center{ text-align:right !important; }
.dsf-hero .dsf-kicker{ justify-content:flex-end; color:#f2c879 !important; margin-bottom:.6rem !important; }
.dsf-hero p{ color:rgba(255,250,242,.94) !important; text-shadow:0 1px 14px rgba(0,0,0,.6); font-size:1.04rem !important; max-width:44ch !important; margin-left:auto !important; }
.dsf-hero li{ color:rgba(255,250,242,.94) !important; }
.dsf-hero ul{ text-align:right; list-style:none; padding:0; margin-left:auto; }
.dsf-hero .wp-block-buttons{ justify-content:flex-end !important; margin-top:.4rem; }
.dsf-hero .is-style-outline .wp-block-button__link{ border-color:rgba(255,250,242,.6) !important; color:#fffaf2 !important; }
@media (max-width:781px){
  .dsf-hero{ background-position:34% 26% !important; align-items:stretch; text-align:center; min-height:auto !important; padding-top:clamp(13rem,44vh,19rem) !important; }
  .dsf-hero::after{ content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg, rgba(20,17,13,.12) 0%, rgba(20,17,13,.5) 45%, rgba(20,17,13,.9) 100%); }
  .dsf-hero > *{ max-width:none !important; margin:0 auto !important; }
  .dsf-hero .has-text-align-center{ text-align:center !important; }
  .dsf-hero .dsf-kicker,.dsf-hero .wp-block-buttons{ justify-content:center !important; }
  .dsf-hero p,.dsf-hero ul{ margin-inline:auto !important; }
}

/* ===== HERO Mobile-Feinschliff ===== */
@media (max-width:781px){
  .dsf-hero{ padding-top:clamp(7rem,27vh,10.5rem) !important; padding-bottom:2.75rem !important; }
  .dsf-hero h1{ line-height:1.12 !important; margin-bottom:.55rem !important; }
  .dsf-hero p{ font-size:1rem !important; line-height:1.5 !important; margin-bottom:.6rem !important; }
  .dsf-hero ul{ display:none !important; }
  .dsf-hero .dsf-kicker{ margin-bottom:.4rem !important; }
  .dsf-hero .wp-block-buttons{ margin-top:.6rem !important; }
}