/*
Theme Name: STEGER ONE v6.8 EDITORIAL HERO
Theme URI: https://nachlass-steger.de
Author: Nachlassbüro Steger
Description: Modernes, vollständig editierbares WordPress-Block-Theme für das Nachlassbüro Steger.
Version: 6.10.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: steger-one-v55
*/

:root {
  --sg-green: #145c36;
  --sg-green-dark: #0d3f26;
  --sg-green-soft: #eaf2ed;
  --sg-gold: #b7924f;
  --sg-ink: #252a27;
  --sg-muted: #667069;
  --sg-paper: #fbfaf7;
  --sg-white: #ffffff;
  --sg-line: #dfe3de;
  --sg-soft: #f2f4f0;
  --sg-wide: 1180px;
  --sg-text: 760px;
  --sg-radius: 14px;
  --sg-shadow: 0 20px 55px rgba(21,48,34,.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--sg-ink);
  background: var(--sg-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: var(--sg-green); text-underline-offset: .18em; }
a:hover { color: var(--sg-green-dark); }
img { max-width: 100%; height: auto; }
.wp-site-blocks { overflow: clip; }

.sg-shell { width: min(calc(100% - 44px), var(--sg-wide)); margin-inline: auto; }
.sg-prose { width: min(calc(100% - 44px), var(--sg-text)); margin-inline: auto; }

.sg-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(13,63,38,.1);
  background: rgba(251,250,247,.94);
  backdrop-filter: blur(16px);
}
.admin-bar .sg-header { top: 32px; }
.sg-header-row {
  min-height: 94px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.sg-logo {
  display: block;
  width: 222px;
  height: 82px;
  flex: 0 0 auto;
  background: url("assets/images/logo-steger.png") center/contain no-repeat;
  text-indent: -9999px;
  overflow: hidden;
}
.sg-nav ul {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sg-nav a {
  color: var(--sg-ink);
  font-size: .96rem;
  font-weight: 700;
  text-decoration: none;
}
.sg-nav a:hover { color: var(--sg-green); }
.sg-nav .sg-cta {
  padding: 11px 17px;
  border-radius: 7px;
  background: var(--sg-green);
  color: #fff;
}

.sg-eyebrow {
  margin: 0 0 18px;
  color: var(--sg-green);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.sg-display,
.sg-section-title,
.sg-page-title {
  margin: 0;
  color: var(--sg-green-dark);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.035em;
}
.sg-display { max-width: 860px; font-size: clamp(2.7rem, 5vw, 4.95rem); line-height: 1.08; text-wrap: balance; }
.sg-section-title { font-size: clamp(2rem, 3.5vw, 3.35rem); line-height: 1.14; }
.sg-page-title { font-size: clamp(2.35rem, 4.3vw, 4rem); line-height: 1.1; }

.sg-hero {
  position: relative;
  padding: clamp(88px,10vw,138px) 0 clamp(82px,9vw,112px);
  overflow: hidden;
  border-bottom: 1px solid var(--sg-line);
  background:
    radial-gradient(circle at 87% 19%, rgba(183,146,79,.18), transparent 27%),
    radial-gradient(circle at 72% 80%, rgba(20,92,54,.09), transparent 33%),
    linear-gradient(135deg,#fdfcf9 0%,#f4f5f0 100%);
}
.sg-hero::after {
  position: absolute;
  right: -80px;
  bottom: -140px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(20,92,54,.11);
  border-radius: 50%;
  content: "";
  opacity: .72;
  box-shadow: 0 0 0 65px rgba(20,92,54,.025), 0 0 0 130px rgba(183,146,79,.025);
}
.sg-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 700px;
  margin: 32px 0 0;
  color: #4f5953;
  font-size: clamp(1.05rem,1.35vw,1.22rem);
  line-height: 1.75;
}
.sg-actions { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

.sg-button,
.wp-block-button__link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  border: 1px solid var(--sg-green);
  border-radius: 7px;
  background: var(--sg-green);
  color: #fff !important;
  font-weight: 760;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.sg-button:hover,
.wp-block-button__link:hover {
  transform: translateY(-1px);
  background: var(--sg-green-dark);
  border-color: var(--sg-green-dark);
}
.sg-button--ghost {
  background: transparent;
  color: var(--sg-green) !important;
}
.sg-button--ghost:hover {
  background: var(--sg-green);
  color: #fff !important;
}

.sg-trustbar {
  margin-top: -38px;
  position: relative;
  z-index: 3;
}
.sg-trustbar-grid {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  overflow: hidden;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  background: #fff;
  box-shadow: var(--sg-shadow);
}
.sg-trustbar-item {
  padding: 24px 20px;
  color: var(--sg-green-dark);
  font-weight: 760;
  text-align: center;
}
.sg-trustbar-item + .sg-trustbar-item { border-left: 1px solid var(--sg-line); }

.sg-section { padding: clamp(82px,9vw,124px) 0; }
.sg-section--soft { background: var(--sg-soft); }
.sg-section-head { max-width: 800px; margin-bottom: 44px; }
.sg-section-head p:last-child { margin: 17px 0 0; color: var(--sg-muted); font-size: 1.08rem; line-height: 1.72; }

.sg-grid-4 {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px;
}
.sg-grid-2 {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
}
.sg-card {
  min-height: 230px;
  padding: 34px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sg-card:hover {
  transform: translateY(-3px);
  border-color: rgba(20,92,54,.24);
  box-shadow: 0 20px 48px rgba(21,48,34,.09);
}
.sg-card-index {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  border-radius: 50%;
  background: var(--sg-green-soft);
  color: var(--sg-green);
  font-weight: 850;
}
.sg-card:hover .sg-card-index { background: var(--sg-green); color: #fff; }
.sg-card h3 { margin: 0 0 10px; color: var(--sg-green-dark); font-size: 1.28rem; letter-spacing: -.01em; }
.sg-card p { margin: 0; color: var(--sg-muted); line-height: 1.72; }

.sg-timeline {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 0;
  margin-top: 46px;
  border-top: 1px solid var(--sg-line);
}
.sg-step {
  position: relative;
  padding: 34px 20px 0;
}
.sg-step::before {
  position: absolute;
  top: -7px;
  left: 20px;
  width: 13px;
  height: 13px;
  border: 3px solid var(--sg-paper);
  border-radius: 50%;
  background: var(--sg-green);
  content: "";
}
.sg-step strong { display:block; margin-bottom: 7px; color: var(--sg-green-dark); }
.sg-step span { color: var(--sg-muted); font-size: .95rem; }

.sg-profile {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: clamp(38px,7vw,90px);
  align-items: start;
}
.sg-checks { display:grid; gap:14px; margin:28px 0 0; padding:0; list-style:none; }
.sg-checks li { position:relative; padding-left:31px; }
.sg-checks li::before { position:absolute; left:0; color:var(--sg-gold); font-weight:900; content:"✓"; }

.sg-membership {
  padding: 36px;
  border: 1px solid var(--sg-line);
  border-radius: var(--sg-radius);
  background: #fff;
  box-shadow: 0 12px 32px rgba(21,48,34,.06);
}
.sg-membership h3 { margin:0 0 20px; color:var(--sg-green-dark); }
.sg-membership-logos { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; }
.sg-membership-logo {
  min-height: 106px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.sg-membership-logo--bdn { background-image:url("assets/images/logo-bdn.jpg"); }
.sg-membership-logo--dvev { background-image:url("assets/images/logo-dvev.jpg"); }

.sg-contact {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);
  gap:clamp(56px,7vw,100px);
  align-items:start;
  padding:clamp(46px,5.6vw,70px);
  border-radius:20px;
  background:var(--sg-green-dark);
  color:#fff;
  box-shadow:0 22px 60px rgba(13,63,38,.18);
}
.sg-contact .sg-section-title {
  max-width:620px;
  color:#fff;
  font-size:clamp(2rem,3.15vw,3.05rem);
  line-height:1.16;
}
.sg-contact p { color:rgba(255,255,255,.82); }
.sg-contact-details { padding-top:34px; font-size:1.04rem; }
.sg-contact-details p { margin:0 0 18px; }
.sg-contact-details a { color:#fff; }

.sg-page-hero {
  padding:76px 0 58px;
  border-bottom:1px solid var(--sg-line);
  background:radial-gradient(circle at 82% 10%,rgba(183,146,79,.13),transparent 24%),var(--sg-soft);
}
.sg-content { padding:68px 0 100px; }
.sg-content h2,.sg-content h3 { color:var(--sg-green-dark); }
.sg-content h2 { margin-top:2.15em; font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.8rem,3vw,2.6rem); }
.sg-content p,.sg-content li { font-size:1.05rem; }

.sg-footer {
  padding:66px 0 30px;
  background:#0d2f20;
  color:rgba(255,255,255,.8);
}
.sg-footer-grid {
  display:grid;
  grid-template-columns:1.25fr .65fr .75fr;
  gap:62px;
}
.sg-footer-logo {
  width:220px;
  height:86px;
  margin-bottom:22px;
  background:url("assets/images/logo-steger-white.png") center/contain no-repeat;
}
.sg-footer h3 { margin-top:0; color:#fff; font-size:1rem; }
.sg-footer-links { display:grid; gap:8px; }
.sg-footer a { color:#fff; }
.sg-footer-bottom {
  margin-top:40px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.15);
  font-size:.84rem;
}

@media (min-width:1100px) {
  .sg-hero .sg-shell { padding-left:64px; padding-right:64px; }
}
@media (max-width:1000px) {
  .sg-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sg-trustbar-grid { grid-template-columns:1fr 1fr; }
  .sg-trustbar-item + .sg-trustbar-item { border-left:0; border-top:1px solid var(--sg-line); }
  .sg-timeline { grid-template-columns:1fr; border-top:0; border-left:1px solid var(--sg-line); margin-left:8px; }
  .sg-step { padding:0 0 30px 34px; }
  .sg-step::before { top:5px; left:-7px; }
}
@media (max-width:900px) {
  .sg-header-row { min-height:82px; }
  .sg-logo { width:188px; height:70px; }
  .sg-nav ul { gap:16px; flex-wrap:wrap; justify-content:flex-end; }
  .sg-profile,.sg-contact { grid-template-columns:1fr; }
  .sg-contact { gap:30px; padding:34px; }
  .sg-contact-details { padding-top:0; }
}
@media (max-width:680px) {
  .sg-shell,.sg-prose { width:min(calc(100% - 28px),var(--sg-wide)); }
  .sg-display { font-size:clamp(2.35rem,11vw,3.65rem); line-height:1.12; }
  .sg-section-title { font-size:clamp(1.95rem,8vw,2.8rem); line-height:1.16; }
  .sg-grid-4,.sg-grid-2,.sg-membership-logos,.sg-footer-grid { grid-template-columns:1fr; }
  .sg-trustbar-grid { grid-template-columns:1fr; }
  .sg-nav { display:none; }
  .sg-membership { padding:28px; }
  .sg-footer-logo { width:190px; height:74px; }
}


/* =========================================================
   STEGER ONE v4.1
   ========================================================= */

.sg-trustbar {
  margin-top: 0;
  padding: 28px 0 0;
  background: var(--sg-paper);
}

.sg-trustbar .sg-shell {
  width: min(calc(100% - 44px), var(--sg-wide));
  margin-inline: auto;
}

.sg-trustbar-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: 100%;
}

.sg-trustbar-item {
  display: flex;
  min-height: 86px;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  line-height: 1.35;
}

/* Mitgliedschaften dezent im Footer */
.sg-footer-memberships {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.sg-footer-memberships-label {
  color: rgba(255,255,255,.7);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sg-footer-membership-logo {
  display: block;
  width: 118px;
  height: 52px;
  border-radius: 5px;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.sg-footer-membership-logo--bdn {
  background-image: url("assets/images/logo-bdn.jpg");
}

.sg-footer-membership-logo--dvev {
  background-image: url("assets/images/logo-dvev.jpg");
}

@media (max-width: 1000px) {
  .sg-trustbar-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .sg-trustbar-item + .sg-trustbar-item {
    border-left: 0;
    border-top: 1px solid var(--sg-line);
  }
}

@media (max-width: 680px) {
  .sg-trustbar {
    padding-top: 18px;
  }

  .sg-trustbar-grid {
    grid-template-columns: 1fr;
  }

  .sg-footer-memberships {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }
}


/* =========================================================
   STEGER ONE v4.2 – Footer redesign
   ========================================================= */

.sg-footer {
  padding: 76px 0 28px;
  background: #0d2f20;
  color: rgba(255,255,255,.82);
}

.sg-footer-main {
  display: grid;
  grid-template-columns: minmax(280px, 1.2fr) minmax(160px, .65fr) minmax(260px, .9fr);
  gap: 72px;
  align-items: start;
}

.sg-footer-brand {
  max-width: 390px;
}

.sg-footer-logo {
  width: 245px;
  height: 96px;
  margin-bottom: 24px;
  background: url("assets/images/logo-steger-white.png") center / contain no-repeat;
}

.sg-footer-claim {
  max-width: 360px;
  margin: 0;
  color: rgba(255,255,255,.78);
  line-height: 1.75;
}

.sg-footer h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sg-footer-links {
  display: grid;
  gap: 11px;
}

.sg-footer-links a {
  color: rgba(255,255,255,.92);
  text-decoration: none;
}

.sg-footer-links a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: .22em;
}

.sg-footer-contact {
  display: grid;
  gap: 10px;
}

.sg-footer-contact strong {
  color: #fff;
}

.sg-footer-contact a {
  color: #fff;
}

.sg-footer-memberships {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  margin-top: 44px;
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.sg-footer-memberships-label {
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sg-footer-membership-logos {
  display: flex;
  align-items: center;
  gap: 18px;
}

.sg-footer-membership-logo {
  display: block;
  width: 112px;
  height: 48px;
  border-radius: 5px;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.sg-footer-membership-logo--bdn {
  background-image: url("assets/images/logo-bdn.jpg");
}

.sg-footer-membership-logo--dvev {
  background-image: url("assets/images/logo-dvev.jpg");
}

.sg-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  padding-top: 0;
  border-top: 0;
  color: rgba(255,255,255,.68);
  font-size: .82rem;
}

.sg-footer-bottom-links {
  display: flex;
  gap: 18px;
}

.sg-footer-bottom-links a {
  color: rgba(255,255,255,.82);
  text-decoration: none;
}

.sg-footer-bottom-links a:hover {
  color: #fff;
}

@media (max-width: 900px) {
  .sg-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 42px;
  }

  .sg-footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .sg-footer {
    padding-top: 58px;
  }

  .sg-footer-main {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .sg-footer-brand {
    grid-column: auto;
  }

  .sg-footer-logo {
    width: 205px;
    height: 80px;
  }

  .sg-footer-memberships {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .sg-footer-membership-logos {
    flex-wrap: wrap;
  }

  .sg-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .sg-footer-bottom-links {
    flex-wrap: wrap;
  }
}


/* =========================================================
   STEGER ONE v4.2.1 – Header patch
   ========================================================= */

.sg-header-row {
  min-height: 82px;
}

.sg-logo {
  width: 252px;
  height: 88px;
}

.sg-nav {
  margin-left: auto;
}

.sg-nav ul {
  justify-content: flex-end;
  gap: 32px;
}

@media (min-width: 1100px) {
  .sg-header-row {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 900px) {
  .sg-header-row {
    min-height: 76px;
  }

  .sg-logo {
    width: 202px;
    height: 72px;
  }
}

@media (max-width: 680px) {
  .sg-logo {
    width: 184px;
    height: 68px;
  }
}

/* STEGER ONE v4.3 */
.sg-trustbar-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.sg-trustbar-item { min-height: 88px; }
.sg-card-index { width: 44px; height: 44px; font-size: .96rem; }
.sg-contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.sg-contact-note { margin-top:18px !important; color:rgba(255,255,255,.68) !important; font-size:.92rem; }
.sg-button--light { background:#fff; border-color:#fff; color:var(--sg-green-dark) !important; }
.sg-button--outline-light { background:transparent; border-color:rgba(255,255,255,.7); color:#fff !important; }
.sg-button--outline-light:hover { background:#fff; border-color:#fff; color:var(--sg-green-dark) !important; }
@media (max-width:1000px){ .sg-trustbar-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:680px){
  .sg-trustbar-grid{grid-template-columns:1fr;}
  .sg-contact-actions{align-items:stretch;flex-direction:column;}
  .sg-contact-actions .sg-button{width:100%;}
}


/* =========================================================
   STEGER ONE v4.4 – Unterseiten
   ========================================================= */
.sg-subhero{padding:clamp(74px,8vw,110px) 0 64px;border-bottom:1px solid var(--sg-line);background:radial-gradient(circle at 86% 12%,rgba(183,146,79,.12),transparent 25%),var(--sg-soft);}
.sg-subhero-copy{max-width:760px;margin-top:22px;color:var(--sg-muted);font-size:1.13rem;line-height:1.75;}
.sg-content-section{padding:clamp(68px,8vw,104px) 0;}
.sg-content-section--soft{background:var(--sg-soft);}
.sg-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.sg-service-detail,.sg-info-card,.sg-contact-card{padding:34px;border:1px solid var(--sg-line);border-radius:var(--sg-radius);background:#fff;}
.sg-service-detail h2,.sg-info-card h2,.sg-info-card h3,.sg-contact-card h2,.sg-contact-card h3{margin-top:0;color:var(--sg-green-dark);}
.sg-service-detail p,.sg-info-card p,.sg-contact-card p,.sg-service-detail li,.sg-info-card li{color:var(--sg-muted);line-height:1.75;}
.sg-service-detail ul,.sg-info-card ul{padding-left:1.2rem;}
.sg-profile-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,7vw,88px);align-items:start;}
.sg-profile-facts{display:grid;gap:16px;margin:0;padding:0;list-style:none;}
.sg-profile-facts li{padding:18px 20px;border-left:4px solid var(--sg-gold);background:#fff;}
.sg-contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start;}
.sg-contact-list{display:grid;gap:14px;margin:0;padding:0;list-style:none;}
.sg-contact-list strong{display:block;color:var(--sg-green-dark);}
.sg-placeholder-form{display:grid;gap:14px;}
.sg-placeholder-form label{color:var(--sg-green-dark);font-weight:700;}
.sg-placeholder-form input,.sg-placeholder-form textarea{width:100%;padding:13px 14px;border:1px solid var(--sg-line);border-radius:7px;background:#fff;font:inherit;}
.sg-placeholder-form textarea{min-height:160px;resize:vertical;}
.sg-legal-note{padding:18px 20px;border:1px solid #d6c18f;border-radius:9px;background:#fff9ec;color:#6b572b;}
@media(max-width:820px){.sg-content-grid,.sg-profile-intro,.sg-contact-layout{grid-template-columns:1fr;}}


/* =========================================================
   STEGER ONE v4.5 – funktionales Kontaktformular
   ========================================================= */

.sg-contact-form {
  display: grid;
  gap: 18px;
}

.sg-contact-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.sg-contact-form-field {
  display: grid;
  gap: 7px;
}

.sg-contact-form label {
  color: var(--sg-green-dark);
  font-weight: 750;
}

.sg-contact-form input,
.sg-contact-form textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid var(--sg-line);
  border-radius: 7px;
  background: #fff;
  color: var(--sg-ink);
  font: inherit;
}

.sg-contact-form input:focus,
.sg-contact-form textarea:focus {
  outline: 3px solid rgba(20,92,54,.13);
  border-color: var(--sg-green);
}

.sg-contact-form textarea {
  min-height: 175px;
  resize: vertical;
}

.sg-contact-form-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--sg-muted);
  font-size: .94rem;
}

.sg-contact-form-checkbox input {
  width: auto;
  margin-top: .3rem;
}

.sg-contact-form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.sg-form-message {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-radius: 8px;
}

.sg-form-message--success {
  border: 1px solid #9bc7aa;
  background: #edf8f0;
  color: #225b34;
}

.sg-form-message--error {
  border: 1px solid #d5a3a3;
  background: #fff1f1;
  color: #812d2d;
}

.sg-contact-form-note {
  margin: 0;
  color: var(--sg-muted);
  font-size: .88rem;
}

@media (max-width: 680px) {
  .sg-contact-form-row {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   STEGER ONE v4.6 – finaler Build
   ========================================================= */

/* Mikrotypografie */
body {
  letter-spacing: .002em;
}

.sg-display,
.sg-section-title,
.sg-page-title {
  text-wrap: balance;
}

.sg-display {
  letter-spacing: -.042em;
}

.sg-section-title,
.sg-page-title {
  letter-spacing: -.035em;
}

.sg-hero-copy,
.sg-subhero-copy,
.sg-service-detail p,
.sg-info-card p,
.sg-contact-card p {
  max-width: 68ch;
}

/* Dezente Bewegungen */
@media (prefers-reduced-motion: no-preference) {
  .sg-card,
  .sg-service-detail,
  .sg-info-card,
  .sg-contact-card,
  .sg-button,
  .wp-block-button__link {
    transition:
      transform .18s ease,
      box-shadow .18s ease,
      border-color .18s ease,
      background-color .18s ease,
      color .18s ease;
  }

  .sg-service-detail:hover,
  .sg-info-card:hover,
  .sg-contact-card:hover {
    transform: translateY(-3px);
    border-color: rgba(20,92,54,.22);
    box-shadow: 0 18px 46px rgba(21,48,34,.08);
  }
}

/* Kontaktseite: 35/65 und kompakter Kopf */
.sg-contact-layout {
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 32px;
}

.sg-contact-card > h2 {
  margin-bottom: 10px;
}

.sg-contact-card > h2 + p {
  margin-top: 0;
  margin-bottom: 26px;
}

/* Formular: Name + Telefon, danach volle Breite */
.sg-contact-form-row--identity {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}

.sg-contact-form-field--full {
  grid-column: 1 / -1;
}

.sg-contact-form input,
.sg-contact-form textarea {
  min-height: 52px;
}

.sg-contact-form textarea {
  min-height: 180px;
}

/* Ruhigere Pflichtfeldsterne */
.sg-required {
  color: var(--sg-gold);
  font-weight: 800;
}

/* Warum-Bereich */
.sg-reasons {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 22px;
}

.sg-reason {
  padding: 28px;
  border-top: 3px solid var(--sg-green);
  background: #fff;
}

.sg-reason strong {
  display: block;
  margin-bottom: 8px;
  color: var(--sg-green-dark);
  font-size: 1.08rem;
}

.sg-reason span {
  color: var(--sg-muted);
  line-height: 1.65;
}

/* Footer final */
.sg-footer-certifications {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 20px;
  color: rgba(255,255,255,.72);
  font-size: .88rem;
}

.sg-footer-certifications span::before {
  margin-right: 7px;
  color: #dbc48d;
  content: "✓";
}

.sg-footer {
  padding-bottom: 34px;
}

.sg-footer-membership-logo {
  filter: saturate(.9);
}

@media (max-width: 900px) {
  .sg-reasons {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 820px) {
  .sg-contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .sg-contact-form-row--identity,
  .sg-reasons {
    grid-template-columns: 1fr;
  }

  .sg-contact-form input,
  .sg-contact-form textarea {
    min-height: 54px;
  }
}


/* =========================================================
   STEGER ONE v5.0 FINAL
   ========================================================= */

/* Kontaktformular kompakter */
.sg-contact-card > h2 {
  margin-bottom: 6px;
}

.sg-contact-card > h2 + p {
  margin-top: 0;
  margin-bottom: 18px;
}

.sg-contact-form {
  gap: 14px;
}

.sg-contact-form-field {
  gap: 5px;
}

.sg-contact-form-row {
  gap: 14px;
}

/* Kontakticons */
.sg-contact-list li {
  position: relative;
  min-height: 28px;
  padding-left: 38px;
}

.sg-contact-list li::before {
  position: absolute;
  left: 0;
  top: 2px;
  width: 22px;
  height: 22px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.sg-contact-list li:nth-child(1)::before {
  background-image: url("assets/icons/user.svg");
}

.sg-contact-list li:nth-child(2)::before {
  background-image: url("assets/icons/map-pin.svg");
}

.sg-contact-list li:nth-child(3)::before {
  background-image: url("assets/icons/phone.svg");
}

.sg-contact-list li:nth-child(4)::before {
  background-image: url("assets/icons/mail.svg");
}

.sg-contact-list li:nth-child(5)::before {
  background-image: url("assets/icons/clock.svg");
}

/* Footerkontakte ebenfalls mit dezenten Icons */
.sg-footer-contact a,
.sg-footer-contact span {
  position: relative;
}

.sg-footer-contact a[href^="tel:"]::before,
.sg-footer-contact a[href^="mailto:"]::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: -3px;
  filter: brightness(0) invert(1);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
}

.sg-footer-contact a[href^="tel:"]::before {
  background-image: url("assets/icons/phone.svg");
}

.sg-footer-contact a[href^="mailto:"]::before {
  background-image: url("assets/icons/mail.svg");
}


/* =========================================================
   STEGER ONE v5.1 FINAL – 8px spacing pass
   ========================================================= */

:root {
  --sg-space-1: 8px;
  --sg-space-2: 16px;
  --sg-space-3: 24px;
  --sg-space-4: 32px;
  --sg-space-5: 40px;
  --sg-space-6: 48px;
  --sg-space-8: 64px;
  --sg-space-10: 80px;
}

/* Karten und Inhaltsbereiche kompakter */
.sg-card,
.sg-service-detail,
.sg-info-card,
.sg-contact-card {
  padding: var(--sg-space-4);
}

.sg-contact-card > h2 {
  margin-bottom: var(--sg-space-1);
}

.sg-contact-card > h2 + p {
  margin-top: 0;
  margin-bottom: var(--sg-space-3);
}

/* Formularabstände konsequent verdichtet */
.sg-contact-form {
  gap: var(--sg-space-3);
}

.sg-contact-form-row {
  gap: var(--sg-space-2);
}

.sg-contact-form-field {
  gap: var(--sg-space-1);
}

.sg-contact-form input,
.sg-contact-form textarea {
  min-height: 48px;
  padding: 12px 14px;
  border-color: #cfd6d0;
  border-radius: 6px;
}

.sg-contact-form textarea {
  min-height: 160px;
}

.sg-contact-form-checkbox {
  gap: var(--sg-space-1);
  margin-top: 0;
}

.sg-contact-form-note {
  margin-top: 0;
}

.sg-contact-card .sg-button {
  min-height: 48px;
  padding: 11px 20px;
}

/* Kontaktseite insgesamt ruhiger */
.sg-contact-layout {
  gap: var(--sg-space-4);
}

.sg-contact-list {
  gap: var(--sg-space-2);
}

.sg-contact-list li {
  padding-left: 36px;
}

/* Section-Abstände vereinheitlichen */
.sg-content-section {
  padding: var(--sg-space-10) 0;
}

.sg-section {
  padding: var(--sg-space-10) 0;
}

.sg-section-head {
  margin-bottom: var(--sg-space-5);
}

.sg-section-head p:last-child {
  margin-top: var(--sg-space-2);
}

.sg-actions {
  margin-top: var(--sg-space-4);
}

.sg-trustbar {
  padding-top: var(--sg-space-3);
}

.sg-trustbar-item {
  min-height: 80px;
  padding: var(--sg-space-3) var(--sg-space-2);
}

/* Header/Footer sauberer Rhythmus */
.sg-footer-main {
  gap: var(--sg-space-8);
}

.sg-footer-memberships {
  margin-top: var(--sg-space-5);
  padding: var(--sg-space-3) 0;
}

.sg-footer-bottom {
  margin-top: var(--sg-space-3);
}

@media (max-width: 680px) {
  .sg-card,
  .sg-service-detail,
  .sg-info-card,
  .sg-contact-card {
    padding: var(--sg-space-3);
  }

  .sg-section,
  .sg-content-section {
    padding: var(--sg-space-8) 0;
  }

  .sg-contact-form {
    gap: var(--sg-space-2);
  }
}


/* =========================================================
   STEGER ONE v5.2 FINAL – Formular-Stretch-Fix
   ========================================================= */

/*
 * Der Shortcode-/Grid-Container darf seine Zeilen nicht auf die
 * verfügbare Kartenhöhe strecken. Alle Zeilen richten sich nur
 * nach ihrem tatsächlichen Inhalt.
 */
.wp-block-shortcode:has(.sg-contact-form) {
  height: auto !important;
  min-height: 0 !important;
  margin-block: 0 !important;
  align-self: start !important;
}

.sg-contact-card:has(.sg-contact-form) {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}

.sg-contact-form {
  height: auto !important;
  min-height: 0 !important;
  align-content: start !important;
  justify-content: stretch !important;
  grid-auto-rows: max-content !important;
  grid-template-rows: none !important;
  row-gap: 16px !important;
}

.sg-contact-form-row,
.sg-contact-form-field {
  height: auto !important;
  min-height: 0 !important;
  align-content: start !important;
  align-self: start !important;
}

.sg-contact-form-row {
  row-gap: 8px !important;
}

.sg-contact-form-field {
  grid-template-rows: max-content max-content !important;
  row-gap: 6px !important;
}

.sg-contact-card > h2 + p {
  margin-bottom: 16px !important;
}

.sg-contact-form input {
  height: 48px !important;
  min-height: 48px !important;
}

.sg-contact-form textarea {
  height: 152px;
  min-height: 152px !important;
}

.sg-contact-form-checkbox,
.sg-contact-form-note,
.sg-contact-form .sg-button {
  align-self: start !important;
  margin-block: 0 !important;
}

.sg-menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:1px solid var(--sg-line);border-radius:8px;background:#fff;color:var(--sg-green-dark);cursor:pointer}
.sg-menu-toggle-lines,.sg-menu-toggle-lines::before,.sg-menu-toggle-lines::after{display:block;width:21px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
.sg-menu-toggle-lines{position:relative}.sg-menu-toggle-lines::before,.sg-menu-toggle-lines::after{position:absolute;left:0;content:""}.sg-menu-toggle-lines::before{top:-7px}.sg-menu-toggle-lines::after{top:7px}
.sg-menu-toggle[aria-expanded="true"] .sg-menu-toggle-lines{background:transparent}
.sg-menu-toggle[aria-expanded="true"] .sg-menu-toggle-lines::before{top:0;transform:rotate(45deg)}
.sg-menu-toggle[aria-expanded="true"] .sg-menu-toggle-lines::after{top:0;transform:rotate(-45deg)}
@media(max-width:680px){
.sg-header-row{position:relative;min-height:74px}.sg-logo{width:168px;height:62px}.sg-menu-toggle{display:inline-flex;flex:0 0 auto}
.sg-nav{position:absolute;top:calc(100% + 1px);left:0;right:0;display:none;margin:0;padding:14px;border:1px solid var(--sg-line);border-top:0;background:rgba(251,250,247,.98);box-shadow:0 18px 36px rgba(21,48,34,.10);backdrop-filter:blur(16px)}
.sg-nav.is-open{display:block}.sg-nav ul{display:grid;gap:4px}.sg-nav li{width:100%}.sg-nav a{display:block;width:100%;padding:12px 14px;border-radius:7px}.sg-nav .sg-cta{margin-top:4px;text-align:center}
.sg-hero{padding:68px 0 64px}.sg-display{max-width:100%;font-size:clamp(2.55rem,12vw,3.35rem);line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}.sg-hero-copy{margin-top:24px;font-size:1rem;line-height:1.65}.sg-actions{margin-top:28px}
}


/* v5.6 Portrait Safe — additive only */
.sg-hero-portrait-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);gap:clamp(44px,6vw,88px);align-items:center}.sg-hero-main{min-width:0}.sg-hero--portrait .sg-display{max-width:720px;font-size:clamp(52px,5.2vw,82px);line-height:.98}.sg-hero--portrait .sg-hero-copy{max-width:650px}.sg-hero-portrait{margin:0;display:flex;align-items:center;justify-content:center;min-height:420px;position:relative}.sg-hero-portrait:before{content:"";position:absolute;inset:8% -12% -2% -18%;background:radial-gradient(ellipse at center,rgba(221,226,217,.68) 0%,rgba(247,245,239,.18) 58%,rgba(247,245,239,0) 76%);pointer-events:none}.sg-hero-portrait img{position:relative;display:block;width:min(100%,330px);height:430px;object-fit:cover;object-position:50% 18%;border-radius:4px;box-shadow:none;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.72) 88%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 76%,rgba(0,0,0,.72) 88%,transparent 100%)}
.sg-about-portrait-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:clamp(40px,6vw,80px);align-items:center}.sg-about-portrait{margin:0}.sg-about-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:12px;box-shadow:var(--sg-shadow)}.sg-about-portrait figcaption{margin-top:12px;color:var(--sg-muted);font-size:.9rem}.sg-contact-person{display:flex;gap:16px;align-items:center;margin:18px 0 24px;padding:14px;border:1px solid var(--sg-border);border-radius:10px;background:rgba(255,255,255,.48)}.sg-contact-person img{width:78px;height:92px;object-fit:cover;object-position:50% 18%;border-radius:8px}.sg-contact-person strong,.sg-contact-person span{display:block}.sg-contact-person span{margin-top:4px;color:var(--sg-muted);font-size:.86rem;line-height:1.45}
@media(max-width:900px){.sg-hero-portrait-grid{grid-template-columns:1fr}.sg-hero-portrait{min-height:0;align-self:auto;justify-content:flex-start}.sg-hero-portrait img{width:min(68vw,300px);height:auto;aspect-ratio:3/4;border-radius:4px}.sg-about-portrait-grid{grid-template-columns:1fr}.sg-about-portrait{max-width:360px}.sg-contact-person{align-items:flex-start}}
@media(max-width:640px){.sg-hero-portrait{display:none}.sg-about-portrait{max-width:290px}.sg-contact-person img{width:68px;height:80px}}


/* =========================================================
   STEGER ONE v5.7 — Startseite nach freigegebenem Mock-up
   ========================================================= */
.sg-hero--portrait{padding:0;min-height:520px;background:linear-gradient(90deg,#fbfaf7 0%,#f8f7f2 45%,#e9e8e2 100%);border-bottom:0}
.sg-hero--portrait::after{display:none}
.sg-hero--portrait .sg-hero-portrait-grid{width:min(100%,1440px);max-width:none;min-height:520px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(560px,.98fr);gap:0;align-items:stretch;padding:0 0 0 max(44px,calc((100vw - 1260px)/2))}
.sg-hero--portrait .sg-hero-main{position:relative;z-index:3;align-self:center;padding:58px 48px 52px 0}
.sg-hero--portrait .sg-eyebrow{margin-bottom:16px;font-size:.72rem;letter-spacing:.24em}
.sg-hero--portrait .sg-display{max-width:650px;font-size:clamp(3.35rem,4.25vw,4.75rem);line-height:1.01;letter-spacing:-.047em;text-wrap:balance}
.sg-hero--portrait .sg-hero-copy{max-width:600px;margin-top:22px;font-size:1.05rem;line-height:1.62}
.sg-hero--portrait .sg-actions{margin-top:24px}
.sg-hero-portrait{position:relative;min-height:520px;margin:0;display:block;overflow:hidden;background:#e6e5df}
.sg-hero-portrait::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#f8f7f2 0%,rgba(248,247,242,.58) 8%,rgba(248,247,242,0) 25%);pointer-events:none}
.sg-hero-portrait img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:49% 17%;border-radius:0;box-shadow:none;-webkit-mask-image:none;mask-image:none;filter:saturate(.92) contrast(.98) brightness(1.035)}
.sg-hero-quote{position:absolute;z-index:4;right:clamp(24px,3vw,52px);top:112px;width:176px;padding-top:20px;color:#26312b;font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;font-style:italic;line-height:1.35}
.sg-hero-quote::before{content:"";position:absolute;top:0;left:0;width:46px;height:2px;background:var(--sg-gold)}
.sg-hero-quote span{display:block;margin-top:14px;color:#5f6862;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-style:normal}
.sg-hero-credentials{display:flex;align-items:center;gap:12px;margin-top:25px;color:#68716b;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.sg-hero-credentials::before{content:"";width:34px;height:2px;background:var(--sg-gold);flex:0 0 auto}
.sg-trustbar{padding:0;background:#fff;border-top:1px solid var(--sg-line);border-bottom:1px solid var(--sg-line)}
.sg-trustbar .sg-shell{width:min(100%,1340px);max-width:none}
.sg-trustbar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.sg-trustbar-item{min-height:112px;display:flex;align-items:center;padding:24px 34px 24px 86px;position:relative;color:var(--sg-green-dark);font-weight:760;line-height:1.3;text-align:left}
.sg-trustbar-item::before{position:absolute;left:28px;top:50%;width:40px;height:40px;display:grid;place-items:center;transform:translateY(-50%);border-radius:50%;background:#f6f2e8;color:#b37b17;font-family:Georgia,serif;font-size:1.3rem;font-weight:400}
.sg-trustbar-item:nth-child(1)::before{content:"§"}.sg-trustbar-item:nth-child(2)::before{content:"✓"}.sg-trustbar-item:nth-child(3)::before{content:"T"}.sg-trustbar-item:nth-child(4)::before{content:"P"}
.sg-trustbar-item + .sg-trustbar-item{border-left:1px solid var(--sg-line)}

@media(max-width:1100px){
 .sg-hero--portrait .sg-hero-portrait-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.8fr);padding-left:44px}
 .sg-hero--portrait .sg-display{font-size:clamp(3rem,5.4vw,4.25rem)}
 .sg-hero-quote{display:none}
 .sg-trustbar-item{padding-left:70px;padding-right:18px}.sg-trustbar-item::before{left:18px}
}
@media(max-width:820px){
 .sg-hero--portrait .sg-hero-portrait-grid{grid-template-columns:1fr;padding:0}
 .sg-hero--portrait .sg-hero-main{padding:58px 28px 42px}
 .sg-hero--portrait .sg-display{max-width:700px}
 .sg-hero-portrait{min-height:430px}.sg-hero-portrait img{object-position:50% 14%}
 .sg-trustbar-grid{grid-template-columns:1fr 1fr}.sg-trustbar-item + .sg-trustbar-item{border-left:0}.sg-trustbar-item:nth-child(even){border-left:1px solid var(--sg-line)}
}
@media(max-width:640px){
 .sg-hero--portrait .sg-hero-main{padding:48px 22px 36px}
 .sg-hero--portrait .sg-display{font-size:clamp(2.55rem,12vw,3.35rem);line-height:1.05;overflow-wrap:normal}
 .sg-hero--portrait .sg-hero-copy{font-size:1rem}
 .sg-hero-portrait{display:block;min-height:360px}.sg-hero-portrait img{object-position:50% 12%}
 .sg-hero-credentials{font-size:.59rem;letter-spacing:.16em}
 .sg-trustbar-grid{grid-template-columns:1fr}.sg-trustbar-item,.sg-trustbar-item:nth-child(even){border-left:0}.sg-trustbar-item + .sg-trustbar-item{border-top:1px solid var(--sg-line)}
}


/* v5.8 — Hero typography / portrait separation */
@media (min-width: 1181px){
  .sg-hero--portrait .sg-hero-portrait-grid{
    grid-template-columns:minmax(650px, 1.12fr) minmax(620px, .88fr);
  }
  .sg-hero--portrait .sg-hero-main{
    padding-right:64px;
  }
  .sg-hero--portrait .sg-display{
    width:100%;
    max-width:680px;
    font-size:clamp(3.25rem,3.55vw,4.05rem);
    line-height:1.02;
    letter-spacing:-.045em;
    text-wrap:wrap;
    overflow-wrap:normal;
    word-break:normal;
  }
  .sg-hero-portrait img{
    object-position:42% 17%;
  }
  .sg-hero-quote{
    right:28px;
    top:112px;
    width:158px;
    font-size:1.12rem;
    line-height:1.38;
    background:rgba(235,234,228,.58);
    padding:20px 10px 10px 14px;
    backdrop-filter:blur(1.5px);
  }
  .sg-hero-quote::before{left:14px;}
}
@media (min-width:1181px) and (max-width:1380px){
  .sg-hero--portrait .sg-hero-portrait-grid{
    grid-template-columns:minmax(610px,1.08fr) minmax(520px,.92fr);
    padding-left:44px;
  }
  .sg-hero--portrait .sg-display{
    max-width:620px;
    font-size:clamp(3rem,4.25vw,3.7rem);
  }
  .sg-hero--portrait .sg-hero-main{padding-right:44px;}
  .sg-hero-quote{right:20px;width:145px;font-size:1rem;}
}


/* v5.9 — balanced full-width hero + approachable portrait */
@media (min-width:1181px){
  .sg-hero--portrait .sg-hero-portrait-grid{
    width:min(100%,1600px);
    margin-inline:auto;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    padding-left:clamp(64px,6.3vw,110px);
    padding-right:clamp(64px,6.3vw,110px);
    gap:clamp(34px,3.5vw,64px);
  }
  .sg-hero--portrait .sg-hero-main{
    padding:58px 0 52px;
    max-width:760px;
  }
  .sg-hero--portrait .sg-display{
    max-width:760px;
    font-size:clamp(3.25rem,3.65vw,4.2rem);
    line-height:1.01;
  }
  .sg-hero-portrait{
    margin-right:calc(clamp(64px,6.3vw,110px) * -1);
    min-height:540px;
  }
  .sg-hero-portrait img{
    object-position:48% 18%;
  }
  .sg-hero-quote{
    right:clamp(38px,4.2vw,72px);
    top:122px;
    width:178px;
    padding:20px 0 0;
    background:transparent;
    backdrop-filter:none;
    font-size:1.18rem;
    line-height:1.38;
    text-shadow:0 1px 12px rgba(255,255,255,.55);
  }
  .sg-hero-quote::before{left:0;}
}
@media (min-width:1181px) and (max-width:1380px){
  .sg-hero--portrait .sg-hero-portrait-grid{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    padding-left:clamp(44px,5vw,70px);
    padding-right:clamp(44px,5vw,70px);
    gap:34px;
  }
  .sg-hero--portrait .sg-hero-main{padding-right:0;}
  .sg-hero--portrait .sg-display{max-width:680px;font-size:clamp(3rem,4vw,3.7rem);}
  .sg-hero-portrait{margin-right:calc(clamp(44px,5vw,70px) * -1);}
  .sg-hero-quote{right:34px;width:158px;font-size:1.03rem;background:transparent;padding:20px 0 0;}
}

/* v6.0 — approved editorial hero: centered composition, dedicated quote space */
@media (min-width:1181px){
  .sg-hero--portrait{
    background:
      radial-gradient(circle at 31% 25%,rgba(255,255,255,.94) 0 11%,rgba(255,255,255,0) 30%),
      linear-gradient(90deg,#fbfaf7 0%,#f8f7f2 47%,#deddd8 100%);
  }
  .sg-hero--portrait .sg-hero-portrait-grid{
    width:min(100%,1540px);
    margin-inline:auto;
    grid-template-columns:minmax(620px,1.08fr) minmax(620px,.92fr);
    gap:0;
    padding:0 clamp(48px,5vw,82px);
    min-height:560px;
  }
  .sg-hero--portrait .sg-hero-main{
    max-width:790px;
    padding:64px 44px 58px 0;
  }
  .sg-hero--portrait .sg-display{
    max-width:790px;
    font-size:clamp(3.25rem,3.75vw,4.25rem);
    line-height:1.01;
    text-wrap:balance;
  }
  .sg-hero--portrait .sg-hero-copy{max-width:650px;}
  .sg-hero-portrait{
    min-height:560px;
    margin:0;
    overflow:visible;
    background:linear-gradient(90deg,#e7e5df 0%,#d9d8d3 72%,#d3d2cd 100%);
  }
  .sg-hero-portrait::before{
    inset:0 auto 0 -1px;
    width:145px;
    z-index:3;
    background:linear-gradient(90deg,#f8f7f2 0%,rgba(248,247,242,.82) 25%,rgba(248,247,242,.32) 62%,rgba(248,247,242,0) 100%);
  }
  .sg-hero-portrait::after{
    content:"";
    position:absolute;
    z-index:1;
    right:-82px;
    bottom:0;
    width:210px;
    height:250px;
    opacity:.18;
    background:radial-gradient(ellipse at 70% 100%,#466047 0 18%,transparent 58%);
    filter:blur(12px);
    pointer-events:none;
  }
  .sg-hero-portrait img{
    z-index:2;
    inset:0 auto 0 0;
    width:72%;
    height:100%;
    object-fit:cover;
    object-position:50% 15%;
    filter:saturate(.92) contrast(.98) brightness(1.025);
  }
  .sg-hero-quote{
    z-index:5;
    top:142px;
    right:clamp(4px,1.3vw,20px);
    width:190px;
    padding:22px 0 0;
    background:transparent;
    color:#26312b;
    text-shadow:none;
    font-size:1.2rem;
    line-height:1.38;
  }
  .sg-hero-quote span{font-size:.8rem;margin-top:17px;}
  .sg-trustbar{position:relative;z-index:6;background:transparent;border:0;margin-top:-30px;padding:0 0 20px;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 96px),1480px);background:rgba(255,255,255,.96);border:1px solid var(--sg-line);border-radius:12px;box-shadow:0 18px 40px rgba(30,48,37,.08);overflow:hidden;}
  .sg-trustbar-item{min-height:116px;}
}
@media (min-width:1181px) and (max-width:1380px){
  .sg-hero--portrait .sg-hero-portrait-grid{grid-template-columns:minmax(560px,1.08fr) minmax(530px,.92fr);padding:0 44px;}
  .sg-hero--portrait .sg-hero-main{padding-right:32px;}
  .sg-hero--portrait .sg-display{font-size:clamp(3rem,3.85vw,3.7rem);}
  .sg-hero-portrait img{width:70%;}
  .sg-hero-quote{right:0;width:165px;font-size:1.05rem;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 64px),1320px);}
}


/* v6.1 — single right-hand visual composition, matching approved mockup */
@media (min-width:1181px){
  .sg-hero--portrait{
    overflow:hidden;
    background:
      radial-gradient(circle at 24% 24%,rgba(255,255,255,.92) 0 10%,rgba(255,255,255,0) 31%),
      linear-gradient(90deg,#fbfaf7 0%,#f8f7f2 43%,#e3e2dd 73%,#d9d8d3 100%);
  }
  .sg-hero--portrait .sg-hero-portrait-grid{
    width:min(calc(100% - 96px),1480px);
    margin-inline:auto;
    padding:0;
    grid-template-columns:minmax(0,52%) minmax(0,48%);
    min-height:570px;
    gap:0;
  }
  .sg-hero--portrait .sg-hero-main{
    max-width:none;
    align-self:center;
    padding:62px 42px 58px 0;
    z-index:6;
  }
  .sg-hero--portrait .sg-display{
    width:100%;
    max-width:720px;
    font-size:clamp(3.2rem,3.65vw,4.15rem);
    line-height:1.015;
    letter-spacing:-.047em;
    text-wrap:normal;
  }
  .sg-hero--portrait .sg-hero-copy{max-width:640px;}
  .sg-hero-portrait{
    min-height:570px;
    margin:0;
    overflow:visible;
    background:transparent;
  }
  .sg-hero-portrait::before{
    content:"";
    position:absolute;
    z-index:4;
    left:-88px;top:0;bottom:0;width:190px;
    background:linear-gradient(90deg,#f8f7f2 0%,rgba(248,247,242,.86) 28%,rgba(248,247,242,.38) 62%,rgba(248,247,242,0) 100%);
    pointer-events:none;
  }
  .sg-hero-portrait::after{
    content:"";
    position:absolute;
    z-index:1;
    inset:0 -90px 0 0;
    background:
      radial-gradient(ellipse at 96% 91%,rgba(52,83,56,.22) 0 10%,rgba(52,83,56,0) 31%),
      linear-gradient(90deg,rgba(218,217,212,.18),rgba(203,202,197,.5));
    pointer-events:none;
  }
  .sg-hero-portrait img{
    position:absolute;
    z-index:2;
    top:0;bottom:0;left:-18px;
    width:78%;height:100%;
    max-width:none;
    object-fit:cover;
    object-position:50% 14%;
    border-radius:0;
    filter:saturate(.93) contrast(.985) brightness(1.025);
  }
  .sg-hero-quote{
    position:absolute;
    z-index:5;
    top:142px;
    right:4px;
    width:175px;
    padding:22px 0 0;
    background:transparent !important;
    border:0;
    color:#26312b;
    text-shadow:none;
    font-size:1.16rem;
    line-height:1.4;
  }
  .sg-hero-quote::before{left:0;}
  .sg-hero-quote span{font-size:.8rem;margin-top:17px;color:#5f6862;}
  .sg-trustbar{position:relative;z-index:7;margin-top:-30px;padding-bottom:20px;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 96px),1480px);}
}
@media (min-width:1181px) and (max-width:1380px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 64px),1320px);grid-template-columns:minmax(0,54%) minmax(0,46%);}
  .sg-hero--portrait .sg-display{max-width:650px;font-size:clamp(2.95rem,3.7vw,3.55rem);}
  .sg-hero-portrait img{left:-8px;width:77%;}
  .sg-hero-quote{right:0;width:145px;font-size:1rem;}
}


/* v6.3 — approved editorial composition: distant portrait, soft room + foliage */
@media (min-width:1101px){
  .sg-hero--portrait{
    position:relative; overflow:hidden; min-height:620px;
    background:linear-gradient(90deg,#fbfaf6 0%,#fbfaf6 36%,#f2f1ec 58%,#d8d9d5 100%);
  }
  .sg-hero--portrait::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.46;
    background:linear-gradient(108deg,transparent 0 27%,rgba(255,255,255,.62) 27.3% 31%,transparent 31.4% 100%);
    filter:blur(7px);
  }
  .sg-hero--portrait::after{
    content:"";position:absolute;right:-30px;bottom:-90px;width:250px;height:360px;pointer-events:none;opacity:.22;filter:blur(12px);
    background:
      radial-gradient(ellipse at 22% 78%,#294c34 0 13%,transparent 14%),
      radial-gradient(ellipse at 42% 61%,#294c34 0 12%,transparent 13%),
      radial-gradient(ellipse at 64% 72%,#294c34 0 14%,transparent 15%),
      radial-gradient(ellipse at 78% 48%,#294c34 0 12%,transparent 13%),
      radial-gradient(ellipse at 52% 38%,#294c34 0 11%,transparent 12%),
      radial-gradient(ellipse at 27% 31%,#294c34 0 10%,transparent 11%);
    transform:rotate(-8deg);
  }
  .sg-hero--portrait .sg-hero-portrait-grid{
    position:relative;z-index:2;width:min(calc(100% - 96px),1480px);min-height:620px;margin:auto;padding:0;
    display:grid;grid-template-columns:minmax(0,49%) minmax(0,51%);align-items:stretch;
  }
  .sg-hero--portrait .sg-hero-main{padding:82px 30px 88px 0;align-self:center;position:relative;z-index:4;}
  .sg-hero--portrait .sg-display{max-width:760px;font-size:clamp(3.45rem,4.25vw,4.55rem);line-height:.98;letter-spacing:-.045em;}
  .sg-hero--portrait .sg-hero-copy{max-width:650px;font-size:1.08rem;line-height:1.55;}
  .sg-hero-portrait{position:relative;min-height:620px;margin:0;overflow:visible;background:transparent;}
  .sg-hero-portrait::before{content:"";position:absolute;left:-120px;top:0;bottom:0;width:220px;z-index:3;background:linear-gradient(90deg,#fbfaf6 5%,rgba(251,250,246,.9) 34%,rgba(251,250,246,.34) 70%,transparent 100%);}
  .sg-hero-portrait::after{display:none;}
  .sg-hero-portrait img{
    position:absolute;z-index:2;left:1%;bottom:0;width:68%;height:auto;max-height:600px;object-fit:contain;object-position:center bottom;
    filter:none;
  }
  .sg-hero-quote{
    position:absolute;z-index:5;right:3%;top:28%;width:190px;padding:30px 0 0;background:transparent;border:0;box-shadow:none;
    color:#243d33;font-family:Georgia,serif;font-style:italic;font-size:1.22rem;line-height:1.38;text-align:left;
  }
  .sg-hero-quote::before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:#b9953c;}
  .sg-hero-quote span{display:block;margin-top:20px;font-family:inherit;font-style:normal;font-size:.86rem;color:#59655f;}
  .sg-trustbar{position:relative;z-index:8;margin-top:-30px;padding:0 0 26px;background:transparent;border:0;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 96px),1480px);background:rgba(255,255,255,.97);border:1px solid var(--sg-line);border-radius:12px;box-shadow:0 18px 40px rgba(30,48,37,.08);overflow:hidden;}
  .sg-trustbar-grid{display:grid;grid-template-columns:repeat(4,1fr);}
  .sg-trustbar-item{min-height:126px;padding:24px 25px;display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:center;border-right:1px solid var(--sg-line);font-weight:400;}
  .sg-trustbar-item:last-child{border-right:0;}
  .sg-trust-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f7f3e8;color:#b58b2f;font-family:Georgia,serif;font-size:1.65rem;}
  .sg-trust-copy strong{display:block;color:#173d2c;font-size:1rem;line-height:1.25;margin-bottom:7px;}
  .sg-trust-copy span{display:block;color:#63706a;font-size:.88rem;line-height:1.35;font-weight:400;}
}
@media (min-width:1101px) and (max-width:1350px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 64px),1260px);grid-template-columns:52% 48%;}
  .sg-hero--portrait .sg-display{font-size:clamp(3rem,4vw,3.7rem);max-width:650px;}
  .sg-hero-portrait img{width:70%;left:0;}
  .sg-hero-quote{right:0;width:160px;font-size:1.05rem;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 64px),1260px);}
  .sg-trustbar-item{grid-template-columns:52px 1fr;padding:20px 18px;gap:12px;}
  .sg-trust-icon{width:48px;height:48px;font-size:1.35rem;}
}


/* v6.3 — final real-photo hero based on approved layout; no generated imagery */
@media (min-width:1101px){
  .sg-hero--portrait{
    min-height:600px;
    overflow:hidden;
    background:
      linear-gradient(90deg,#fbfaf6 0%,#faf9f5 37%,#efeee9 58%,#d8d8d4 100%);
  }
  /* soft architectural/window-light only — intentionally no plant */
  .sg-hero--portrait::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.62;z-index:0;
    background:
      linear-gradient(106deg,transparent 0 30%,rgba(255,255,255,.66) 30.4% 34%,transparent 34.5% 100%),
      linear-gradient(106deg,transparent 0 39%,rgba(255,255,255,.34) 39.3% 42%,transparent 42.4% 100%);
    filter:blur(8px);
  }
  .sg-hero--portrait::after{display:none!important;content:none!important;}
  .sg-hero--portrait .sg-hero-portrait-grid{
    position:relative;z-index:2;
    width:min(calc(100% - 112px),1480px);min-height:600px;margin-inline:auto;padding:0;
    display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);gap:0;align-items:stretch;
  }
  .sg-hero--portrait .sg-hero-main{
    align-self:center;z-index:5;max-width:none;padding:70px 34px 78px 0;
  }
  .sg-hero--portrait .sg-display{
    width:100%;max-width:730px;margin-bottom:24px;
    font-size:clamp(3.15rem,3.7vw,4.15rem);line-height:1.015;letter-spacing:-.047em;text-wrap:normal;
  }
  .sg-hero--portrait .sg-hero-copy{max-width:620px;font-size:1.05rem;line-height:1.55;}
  .sg-hero-portrait{position:relative;min-height:600px;margin:0;overflow:visible;background:transparent;}
  .sg-hero-portrait::before{
    content:"";position:absolute;z-index:4;left:-135px;top:0;bottom:0;width:245px;
    background:linear-gradient(90deg,#faf9f5 0%,rgba(250,249,245,.90) 31%,rgba(250,249,245,.35) 70%,transparent 100%);
    pointer-events:none;
  }
  .sg-hero-portrait::after{display:none!important;content:none!important;}
  .sg-hero-portrait img{
    position:absolute;z-index:2;left:4%;bottom:0;top:auto;
    width:67%;height:92%;max-width:none;
    object-fit:contain;object-position:center bottom;
    border-radius:0;box-shadow:none;filter:none;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 7%,#000 17%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 7%,#000 17%,#000 100%);
  }
  .sg-hero-quote{
    position:absolute;z-index:6;top:27%;right:1.5%;width:190px;padding:29px 0 0;
    background:transparent!important;border:0!important;box-shadow:none!important;
    color:#243d33;font-family:Georgia,serif;font-style:italic;font-size:1.22rem;line-height:1.4;text-align:left;text-shadow:none;
  }
  .sg-hero-quote::before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:#b9953c;}
  .sg-hero-quote span{display:block;margin-top:20px;font-style:normal;font-size:.86rem;color:#59655f;}
  .sg-trustbar{position:relative;z-index:8;margin-top:-31px;padding:0 0 27px;background:transparent;border:0;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 112px),1480px);background:rgba(255,255,255,.975);border:1px solid var(--sg-line);border-radius:12px;box-shadow:0 18px 40px rgba(30,48,37,.08);overflow:hidden;}
}
@media (min-width:1101px) and (max-width:1370px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 72px),1280px);grid-template-columns:52% 48%;}
  .sg-hero--portrait .sg-display{font-size:clamp(2.8rem,3.75vw,3.55rem);max-width:640px;}
  .sg-hero-portrait img{left:2%;width:68%;height:90%;}
  .sg-hero-quote{right:0;width:155px;font-size:1.04rem;}
  .sg-trustbar .sg-shell{width:min(calc(100% - 72px),1280px);}
}

/* v6.4 — warm-room hero from approved WordPress reference: real portrait, visible window light, no foliage */
@media (min-width:1101px){
  .sg-hero--portrait{
    min-height:600px;
    background:
      linear-gradient(90deg,#fbfaf6 0%,#f8f5ed 42%,#b3b1ad 67%,#92908d 100%);
  }
  .sg-hero--portrait::before{
    content:"";
    position:absolute;
    z-index:1;
    inset:0 47% 0 0;
    opacity:.78;
    filter:blur(5px);
    pointer-events:none;
    background:
      linear-gradient(106deg,transparent 0 35%,rgba(255,255,255,.72) 35.5% 40%,transparent 40.5% 100%),
      linear-gradient(106deg,transparent 0 51%,rgba(255,255,255,.52) 51.5% 56%,transparent 56.5% 100%),
      linear-gradient(106deg,transparent 0 68%,rgba(255,255,255,.36) 68.5% 72%,transparent 72.5% 100%);
  }
  .sg-hero--portrait::after{display:none!important;}
  .sg-hero--portrait .sg-hero-portrait-grid{
    position:relative;z-index:2;
    width:min(calc(100% - 96px),1480px);
    min-height:600px;
    grid-template-columns:minmax(0,50%) minmax(0,50%);
  }
  .sg-hero--portrait .sg-hero-main{padding:74px 34px 82px 0;}
  .sg-hero--portrait .sg-display{
    max-width:735px;
    font-size:clamp(3.25rem,4vw,4.35rem);
    line-height:1.01;
  }
  .sg-hero--portrait .sg-hero-copy{max-width:620px;}
  .sg-hero-portrait{min-height:600px;background:transparent;overflow:visible;}
  .sg-hero-portrait::before{
    content:"";
    position:absolute;
    z-index:3;
    left:-115px;top:0;bottom:0;width:210px;
    background:linear-gradient(90deg,#f8f5ed 0%,rgba(248,245,237,.92) 30%,rgba(248,245,237,.42) 66%,transparent 100%);
    pointer-events:none;
  }
  .sg-hero-portrait::after{display:none!important;}
  .sg-hero-portrait img{
    position:absolute;
    z-index:2;
    left:8%;
    bottom:0;
    width:59%;
    height:92%;
    max-height:none;
    object-fit:cover;
    object-position:50% 15%;
    border-radius:0;
    filter:brightness(1.16) saturate(.91) contrast(.96);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 4%,#000 10%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 4%,#000 10%,#000 100%);
  }
  .sg-hero-quote{
    top:27%;right:1.5%;width:190px;
    padding-top:30px;
    color:#243d33;
    font-size:1.22rem;
  }
  .sg-hero-quote span{color:#5d625f;}
  .sg-trustbar{margin-top:-28px;}
}
@media (min-width:1101px) and (max-width:1350px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 64px),1260px);grid-template-columns:52% 48%;}
  .sg-hero--portrait .sg-display{font-size:clamp(3rem,3.8vw,3.65rem);max-width:650px;}
  .sg-hero-portrait img{left:5%;width:62%;height:91%;}
  .sg-hero-quote{right:0;width:160px;font-size:1.05rem;}
}

/* v6.5 — unified hero: one continuous room background + transparent real portrait */
@media (min-width:1101px){
  .sg-hero--portrait{
    position:relative;
    min-height:600px;
    overflow:hidden;
    isolation:isolate;
    background:
      radial-gradient(ellipse at 83% 32%,rgba(255,255,255,.26) 0 15%,transparent 42%),
      linear-gradient(90deg,#fbfaf6 0%,#faf8f2 36%,#efede8 58%,#d7d5d1 78%,#cfcdc9 100%);
  }
  .sg-hero--portrait::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:0!important;
    inset:0!important;
    opacity:.72!important;
    filter:blur(6px)!important;
    pointer-events:none!important;
    background:
      linear-gradient(106deg,transparent 0 31%,rgba(255,255,255,.72) 31.5% 35.5%,transparent 36% 100%),
      linear-gradient(106deg,transparent 0 41%,rgba(255,255,255,.46) 41.5% 45%,transparent 45.5% 100%),
      linear-gradient(106deg,transparent 0 51%,rgba(255,255,255,.27) 51.5% 54.5%,transparent 55% 100%)!important;
  }
  .sg-hero--portrait::after{display:none!important;content:none!important;}
  .sg-hero--portrait .sg-hero-portrait-grid{
    position:relative;z-index:2;
    width:min(calc(100% - 112px),1480px);
    min-height:600px;margin-inline:auto;padding:0;
    display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);gap:0;align-items:stretch;
  }
  .sg-hero--portrait .sg-hero-main{position:relative;z-index:5;align-self:center;padding:72px 34px 82px 0;}
  .sg-hero--portrait .sg-display{max-width:735px;font-size:clamp(3.2rem,3.9vw,4.3rem);line-height:1.01;letter-spacing:-.047em;}
  .sg-hero--portrait .sg-hero-copy{max-width:620px;}
  .sg-hero-portrait{position:relative;min-height:600px;margin:0;overflow:visible;background:transparent!important;}
  .sg-hero-portrait::before,.sg-hero-portrait::after{display:none!important;content:none!important;}
  .sg-hero-portrait img{
    position:absolute;z-index:2;
    left:4%;bottom:-1px;top:auto;
    width:66%;height:94%;max-width:none;max-height:none;
    object-fit:contain;object-position:center bottom;
    border-radius:0;box-shadow:none;filter:none!important;
    -webkit-mask-image:none!important;mask-image:none!important;
  }
  .sg-hero-quote{
    position:absolute;z-index:6;top:27%;right:1.5%;width:190px;padding:30px 0 0;
    background:transparent!important;border:0!important;box-shadow:none!important;
    color:#243d33;font-family:Georgia,serif;font-style:italic;font-size:1.22rem;line-height:1.4;text-align:left;
  }
  .sg-hero-quote::before{content:"";position:absolute;left:0;top:0;width:42px;height:2px;background:#b9953c;}
  .sg-hero-quote span{display:block;margin-top:20px;font-style:normal;font-size:.86rem;color:#59655f;}
  .sg-trustbar{position:relative;z-index:8;margin-top:-28px;}
}
@media (min-width:1101px) and (max-width:1350px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 72px),1280px);grid-template-columns:52% 48%;}
  .sg-hero--portrait .sg-display{font-size:clamp(2.85rem,3.7vw,3.55rem);max-width:650px;}
  .sg-hero-portrait img{left:2%;width:68%;height:92%;}
  .sg-hero-quote{right:0;width:158px;font-size:1.05rem;}
}

/* v6.6 — intact portrait: full original photo, softly blended into unified hero */
@media (min-width:1101px){
  .sg-hero--portrait{
    min-height:620px;
    overflow:hidden;
    background:
      radial-gradient(ellipse at 58% 44%,rgba(255,255,255,.32) 0 18%,rgba(255,255,255,0) 50%),
      linear-gradient(90deg,#fbfaf6 0%,#f8f6f0 38%,#e8e5de 67%,#d7d5d0 100%)!important;
  }
  .sg-hero--portrait::before{
    display:block!important;content:""!important;position:absolute!important;inset:0!important;pointer-events:none;z-index:1;
    background:
      linear-gradient(73deg,transparent 0 31%,rgba(255,255,255,.42) 31.3% 34%,transparent 34.3% 100%),
      linear-gradient(73deg,transparent 0 40%,rgba(255,255,255,.28) 40.3% 43%,transparent 43.3% 100%);
    opacity:.72;
  }
  .sg-hero--portrait .sg-hero-portrait-grid{position:relative;z-index:2;width:min(calc(100% - 96px),1440px);grid-template-columns:minmax(0,55%) minmax(0,45%);}
  .sg-hero--portrait .sg-hero-main{padding:72px 34px 82px 0;}
  .sg-hero--portrait .sg-display{max-width:760px;font-size:clamp(3.2rem,3.9vw,4.25rem);}
  .sg-hero-portrait{min-height:620px;overflow:visible!important;}
  .sg-hero-portrait img{
    position:absolute!important;
    z-index:2!important;
    left:2%!important;
    bottom:0!important;
    width:auto!important;
    height:94%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    /* keep the full real shoulders/body; only dissolve the studio rectangle */
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 88%,transparent 100%),linear-gradient(0deg,#000 0%,#000 91%,transparent 100%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 88%,transparent 100%),linear-gradient(0deg,#000 0%,#000 91%,transparent 100%);
    mask-composite:intersect;
  }
  .sg-hero-quote{z-index:4!important;right:-1%!important;top:28%!important;width:165px!important;}
}
@media (min-width:1101px) and (max-width:1380px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 64px),1280px);grid-template-columns:53% 47%;}
  .sg-hero--portrait .sg-display{font-size:clamp(2.9rem,3.7vw,3.6rem);max-width:660px;}
  .sg-hero-portrait img{left:0!important;height:91%!important;}
  .sg-hero-quote{right:-1%!important;width:155px!important;}
}


/* v6.7 — unified editorial hero with preserved full portrait */
.sg-hero--portrait{
  position:relative;overflow:hidden;padding:0;min-height:540px;border-bottom:0;
  background:
    linear-gradient(90deg,#fbfaf6 0%,#faf8f2 43%,#eeeae2 72%,#dddcd7 100%);
}
.sg-hero--portrait::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.62;
  background:
    linear-gradient(63deg,transparent 0 34%,rgba(205,199,187,.25) 34.4% 38%,transparent 38.4% 100%),
    linear-gradient(63deg,transparent 0 47%,rgba(205,199,187,.18) 47.4% 51%,transparent 51.4% 100%),
    linear-gradient(90deg,rgba(255,255,255,.48),transparent 48%);
  filter:blur(7px);
}
.sg-hero--portrait::after{display:none!important}
.sg-hero--portrait .sg-hero-portrait-grid{
  position:relative;z-index:1;width:min(100%,1510px);max-width:none;min-height:540px;
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(610px,.88fr);gap:0;align-items:stretch;
  padding:0 0 0 max(56px,calc((100vw - 1390px)/2));
}
.sg-hero--portrait .sg-hero-main{position:relative;z-index:5;align-self:center;padding:60px 48px 58px 0}
.sg-hero--portrait .sg-display{max-width:760px;font-size:clamp(3.35rem,4.25vw,4.75rem);line-height:1.01;letter-spacing:-.047em;text-wrap:balance}
.sg-hero--portrait .sg-hero-copy{max-width:620px}
.sg-hero-portrait{position:relative;min-height:540px;margin:0;display:block;overflow:visible;background:transparent}
.sg-hero-portrait::before{display:none!important}
.sg-hero-portrait img{
  position:absolute;z-index:2;left:-6%;bottom:0;width:72%;height:auto;max-width:none;
  object-fit:contain;object-position:center bottom;border-radius:0;box-shadow:none;
  filter:saturate(.94) contrast(.985) brightness(1.025);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 7%,#000 17%,#000 88%,rgba(0,0,0,.65) 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 7%,#000 17%,#000 88%,rgba(0,0,0,.65) 96%,transparent 100%);
}
.sg-hero-quote{position:absolute;z-index:4;right:clamp(30px,3vw,58px);top:150px;width:190px;padding-top:22px;color:#26312b;font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;font-style:italic;line-height:1.35}
.sg-hero-quote::before{content:"";position:absolute;top:0;left:0;width:46px;height:2px;background:var(--sg-gold)}
.sg-hero-quote span{display:block;margin-top:15px;color:#667069;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.78rem;font-style:normal}
@media(max-width:1180px){
 .sg-hero--portrait .sg-hero-portrait-grid{grid-template-columns:minmax(0,1fr) minmax(480px,.82fr);padding-left:42px}
 .sg-hero-portrait img{left:-3%;width:78%}.sg-hero-quote{right:24px}
}
@media(max-width:900px){
 .sg-hero--portrait .sg-hero-portrait-grid{grid-template-columns:1fr;padding:0}
 .sg-hero--portrait .sg-hero-main{padding:56px 28px 40px}
 .sg-hero-portrait{min-height:440px;overflow:hidden}
 .sg-hero-portrait img{left:8%;width:min(70%,390px)}
 .sg-hero-quote{display:block;right:8%;top:110px}
}
@media(max-width:640px){.sg-hero-portrait{display:none}.sg-hero--portrait .sg-hero-main{padding:48px 22px 38px}}


/* v6.8 — approved editorial hero visual: use the approved composition as the right visual panel */
@media (min-width:901px){
  .sg-hero--portrait{
    min-height:590px!important;
    background:linear-gradient(90deg,#fbfaf6 0%,#faf8f2 47%,#e9e6df 70%,#d9d7d1 100%)!important;
  }
  .sg-hero--portrait::before{
    display:block!important;content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
    background:
      linear-gradient(66deg,transparent 0 29%,rgba(194,188,176,.16) 29.4% 33.5%,transparent 33.9% 100%),
      linear-gradient(66deg,transparent 0 39%,rgba(194,188,176,.12) 39.4% 43.5%,transparent 43.9% 100%),
      radial-gradient(ellipse at 42% 44%,rgba(255,255,255,.55),transparent 48%)!important;
    filter:blur(5px)!important;opacity:.9!important;pointer-events:none;
  }
  .sg-hero--portrait .sg-hero-portrait-grid{
    width:min(calc(100% - 64px),1480px)!important;min-height:590px!important;margin-inline:auto!important;
    padding:0!important;display:grid!important;grid-template-columns:minmax(0,52%) minmax(0,48%)!important;gap:0!important;
  }
  .sg-hero--portrait .sg-hero-main{padding:64px 38px 72px 0!important;align-self:center!important;z-index:3!important;}
  .sg-hero--portrait .sg-display{max-width:720px!important;font-size:clamp(3.05rem,3.75vw,4.15rem)!important;line-height:1.03!important;letter-spacing:-.043em!important;}
  .sg-hero--portrait .sg-hero-copy{max-width:610px!important;}
  .sg-hero-portrait{
    min-height:590px!important;overflow:visible!important;background-image:url('assets/images/hero-editorial-right-v68.jpg')!important;
    background-repeat:no-repeat!important;background-position:center center!important;background-size:cover!important;
    margin:0!important;z-index:2!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 5%,#000 14%,#000 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.42) 5%,#000 14%,#000 100%)!important;
  }
  .sg-hero-portrait img,.sg-hero-quote{display:none!important;}
  .sg-trustbar{position:relative!important;z-index:8!important;margin-top:-34px!important;}
}
@media (min-width:901px) and (max-width:1180px){
  .sg-hero--portrait .sg-hero-portrait-grid{width:min(calc(100% - 44px),1120px)!important;grid-template-columns:51% 49%!important;}
  .sg-hero--portrait .sg-display{font-size:clamp(2.65rem,4vw,3.25rem)!important;}
  .sg-hero-portrait{background-position:47% center!important;}
}
@media (max-width:900px){
  .sg-hero-portrait{display:none!important;}
  .sg-hero--portrait .sg-hero-main{padding:52px 28px 44px!important;}
}

/* v6.10 — clean editorial panel: crop excludes all duplicated hero copy */
@media (min-width:901px){
  .sg-hero-portrait{
    background-image:url('assets/images/hero-editorial-right-v69.jpg')!important;
    background-position:center center!important;
    background-size:cover!important;
  }
}

/* v6.10 — final clean editorial crop: no duplicated headline remnants */
@media (min-width:901px){
  .sg-hero-portrait{
    background-image:url('assets/images/hero-editorial-right-v610.jpg')!important;
    background-position:center center!important;
    background-size:cover!important;
  }
}
