/* Version 2: Novalure-inspired design, isolated from legal/download pages. */

  .modern-site { --gs-paper:#faf9f7; --gs-white:#fff; --gs-ink:#33302b; --gs-muted:#716d67; --gs-line:#e6e3dd; --gs-blue:#2d68f0; --gs-tint:#edf2ff; --gs-radius:16px; font-family:'Figtree',Arial,sans-serif; color:var(--gs-ink); background:var(--gs-paper); color-scheme:light; text-align:left; }
  .modern-site * { box-sizing:border-box; }
  .modern-site h1,.modern-site h2,.modern-site h3,.modern-site p,.modern-site figure { margin:0; font-family:inherit; color:inherit; }
  .modern-site a { color:inherit; text-decoration:none; }
  .modern-site button,.modern-site input,.modern-site select,.modern-site textarea { font-family:inherit; }
  .modern-site button,.modern-site a { -webkit-tap-highlight-color:transparent; }
  .modern-site button { cursor:pointer; }
  .modern-site .gs-wrap { padding-inline:clamp(22px,4.7vw,52px); }
  .modern-site .gs-header { display:flex; align-items:center; gap:25px; min-height:82px; border-bottom:1px solid var(--gs-line); background:var(--gs-paper); }
  .modern-site .gs-logo { display:flex; flex-direction:column; gap:4px; margin-right:auto; }
  .modern-site .gs-logo-name { font-size:20px; line-height:1; letter-spacing:-.65px; font-weight:800; }
  .modern-site .gs-logo-name b { color:var(--gs-blue); font-weight:800; }
  .modern-site .gs-logo-sub { font-size:0.875rem; line-height:1.4; letter-spacing:1.1px; text-transform:uppercase; font-weight:600; color:var(--gs-muted); }
  .modern-site .gs-nav { display:flex; gap:24px; align-items:center; font-size:0.9375rem; font-weight:600; }
  .modern-site .gs-nav a { padding-block:14px; }
  .modern-site .gs-action { display:inline-flex; gap:10px; align-items:center; justify-content:center; padding:15px 20px; min-height:48px; border:1px solid transparent; border-radius:10px; background:var(--gs-blue); color:#fff; font-size:1rem; line-height:1.2; font-weight:600; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease; }
  .modern-site .gs-action:hover { transform:translateY(-2px); box-shadow:0 6px 20px #2d68f01a; }
  .modern-site .gs-action.gs-secondary { background:var(--gs-white); border-color:var(--gs-line); color:var(--gs-ink); }
  .modern-site .gs-header .gs-action { font-size:0.875rem; padding:12px 15px; min-height:42px; }
  .modern-site .gs-menu-button { display:none; width:44px; height:44px; border:1px solid var(--gs-line); border-radius:10px; background:var(--gs-white); color:var(--gs-ink); align-items:center; justify-content:center; }
  .modern-site .gs-mobile-nav { padding-block:12px; border-bottom:1px solid var(--gs-line); }
  .modern-site .gs-mobile-nav a { display:block; padding:12px 0; font-size:1.0625rem; }
  .modern-site [hidden] { display:none!important; }
  .modern-site .gs-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:42px; align-items:center; padding-block:64px 58px; }
  .modern-site .gs-eyebrow { color:var(--gs-blue); text-transform:uppercase; letter-spacing:1.3px; font-size:0.875rem; font-weight:700; line-height:1.5; }
  .modern-site .gs-location { display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; padding:7px 10px; background:var(--gs-tint); border-radius:6px; }
  .modern-site h1 { font-size:clamp(35px,5.4vw,58px); font-weight:800; line-height:1.025; letter-spacing:-2px; }
  .modern-site h1 span { display:block; color:var(--gs-blue); }
  .modern-site .gs-hero-copy>p { margin-top:23px; max-width:405px; color:var(--gs-muted); font-size:1.125rem; line-height:1.65; }
  .modern-site .gs-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
  .modern-site .gs-hero-note { display:flex; gap:7px; align-items:center; margin-top:17px; color:var(--gs-muted); font-size:0.875rem; line-height:1.4; }
  .modern-site .gs-photo { position:relative; min-width:0; background:var(--gs-white); border-radius:var(--gs-radius); box-shadow:0 16px 50px #29251d0c; }
  .modern-site .gs-photo img { display:block; width:100%; height:362px; object-fit:cover; object-position:center top; border-radius:var(--gs-radius) var(--gs-radius) 0 0; }
  .modern-site .gs-photo figcaption { padding:20px 22px; display:flex; align-items:center; gap:14px; }
  .modern-site .gs-photo-name { display:block; font-size:19px; font-weight:700; letter-spacing:-.3px; }
  .modern-site .gs-photo-role { display:block; margin-top:5px; color:var(--gs-muted); font-size:0.875rem; line-height:1.5; }
  .modern-site .gs-photo-check { width:38px; height:38px; flex-shrink:0; display:grid; place-items:center; color:var(--gs-blue); border-radius:50%; background:var(--gs-tint); margin-left:auto; }
  .modern-site .gs-proofbar { display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; border-top:1px solid var(--gs-line); border-bottom:1px solid var(--gs-line); padding-block:25px; }
  .modern-site .gs-proof { display:flex; align-items:flex-start; gap:11px; }
  .modern-site .gs-proof>i,.modern-site .gs-proof>svg { color:var(--gs-blue); margin-top:3px; flex-shrink:0; }
  .modern-site .gs-proof strong { display:block; font-size:0.875rem; line-height:1.5; font-weight:600; }
  .modern-site .gs-proof small { display:block; margin-top:3px; font-size:0.875rem; line-height:1.4; color:var(--gs-muted); }
  .modern-site .gs-section { padding-block:58px; }
  .modern-site h2 { font-size:clamp(28px,3.5vw,38px); font-weight:700; letter-spacing:-1.1px; line-height:1.1; }
  .modern-site .gs-section-head { display:flex; gap:30px; align-items:flex-end; justify-content:space-between; margin-bottom:28px; }
  .modern-site .gs-section-head h2 { margin-top:11px; }
  .modern-site .gs-section-head>p { max-width:230px; font-size:0.9375rem; line-height:1.6; color:var(--gs-muted); }
  .modern-site .gs-occasions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .modern-site .gs-occasion { min-height:126px; text-align:left; padding:20px; background:var(--gs-white); border:1px solid var(--gs-line); border-radius:var(--gs-radius); color:var(--gs-ink); display:flex; flex-direction:column; align-items:flex-start; gap:18px; transition:border-color .15s ease,transform .15s ease; }
  .modern-site .gs-occasion:hover { transform:translateY(-2px); border-color:var(--gs-blue); }
  .modern-site .gs-occasion>i,.modern-site .gs-occasion>svg { color:var(--gs-blue); }
  .modern-site .gs-occasion-label { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; font-size:1rem; font-weight:600; line-height:1.3; }
  .modern-site .gs-arrow { color:var(--gs-muted); font-size:19px; font-weight:400; }
  .modern-site .gs-unsure { display:flex; align-items:center; gap:8px; margin-top:20px; font-size:0.875rem; color:var(--gs-muted); }
  .modern-site .gs-text-button { background:none; border:0; padding:6px 0; text-align:left; color:var(--gs-blue); font-size:inherit; font-weight:600; }
  .modern-site .gs-expertise { display:grid; grid-template-columns:1fr 1.05fr; gap:52px; background:var(--gs-white); border-block:1px solid var(--gs-line); }
  .modern-site .gs-expertise h2 { margin-top:12px; }
  .modern-site .gs-expertise-copy>p { margin-top:20px; color:var(--gs-muted); line-height:1.7; font-size:1rem; }
  .modern-site .gs-register { display:inline-flex; gap:7px; margin-top:24px; align-items:center; font-size:0.875rem; font-weight:600; color:var(--gs-blue); }
  .modern-site .gs-service { padding:0 0 23px; margin-bottom:23px; border-bottom:1px solid var(--gs-line); }
  .modern-site .gs-service:last-child { padding:0; margin:0; border:0; }
  .modern-site .gs-service-label { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
  .modern-site .gs-service-label small { font-size:0.875rem; color:var(--gs-blue); }
  .modern-site h3 { font-weight:600; font-size:1.25rem; letter-spacing:-.35px; line-height:1.25; }
  .modern-site .gs-service p { color:var(--gs-muted); line-height:1.65; font-size:0.9375rem; }
  .modern-site .gs-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; margin-top:30px; }
  .modern-site .gs-step-number { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--gs-tint); color:var(--gs-blue); font-size:0.875rem; font-weight:700; margin-bottom:17px; }
  .modern-site .gs-step h3 { font-size:1.0625rem; }
  .modern-site .gs-step p { margin-top:10px; font-size:0.9375rem; line-height:1.65; color:var(--gs-muted); }
  .modern-site .gs-contact { background:#eef2f9; padding-block:48px; display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:46px; }
  .modern-site .gs-contact h2 { margin-top:14px; font-size:clamp(29px,3.5vw,38px); }
  .modern-site .gs-contact-copy>p { color:var(--gs-muted); font-size:1rem; line-height:1.7; margin-top:18px; }
  .modern-site .gs-contact-address { margin-top:28px; font-size:0.9375rem; line-height:1.8; }
  .modern-site .gs-contact-address a { display:block; }
  .modern-site .gs-contact-address strong { font-weight:600; }
  .modern-site .gs-contact-address .gs-telephone { color:var(--gs-blue); font-size:19px; letter-spacing:-.2px; font-weight:600; margin:10px 0 3px; }
  .modern-site .gs-form { padding:26px; background:var(--gs-white); border:1px solid #e0e6ef; border-radius:var(--gs-radius); }
  .modern-site .gs-form-title { font-size:1.25rem; margin-bottom:18px; font-weight:600; letter-spacing:-.4px; }
  .modern-site .gs-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
  .modern-site .gs-field { display:flex; flex-direction:column; gap:7px; font-size:0.875rem; line-height:1.5; font-weight:500; min-width:0; }
  .modern-site .gs-wide { grid-column:1/-1; }
  .modern-site .gs-field input,.modern-site .gs-field select,.modern-site .gs-field textarea { width:100%; min-width:0; padding:11px 12px; border:1px solid #dcdedc; border-radius:7px; color:var(--gs-ink); background:#fff; font-size:1rem; line-height:1.35; min-height:44px; }
  .modern-site .gs-field textarea { resize:vertical; }
  .modern-site .gs-field input::placeholder,.modern-site .gs-field textarea::placeholder { color:#8c8882; }
  .modern-site .gs-consent { display:flex; gap:8px; align-items:flex-start; color:var(--gs-muted); font-size:0.875rem; line-height:1.5; font-weight:400; }
  .modern-site .gs-consent input { width:15px; height:15px; margin:1px 0 0; accent-color:var(--gs-blue); flex-shrink:0; }
  .modern-site .gs-consent a { text-decoration:underline; }
  .modern-site .gs-form .gs-action { width:100%; }
  .modern-site .gs-form-note { margin-top:12px; font-size:0.875rem; line-height:1.5; color:var(--gs-muted); }
  .modern-site .gs-status { margin-top:12px; padding:12px; border-radius:8px; background:var(--gs-tint); font-size:0.875rem; line-height:1.5; color:var(--gs-ink); }
  .modern-site .gs-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:26px; font-size:0.875rem; color:var(--gs-muted); }
  .modern-site .gs-footer-links { display:flex; flex-wrap:wrap; gap:16px; }
  @media (max-width:800px) {
    .modern-site .gs-nav { gap:16px; }
    .modern-site .gs-nav a:nth-child(2) { display:none; }
    .modern-site .gs-header { gap:16px; }
    .modern-site .gs-hero { gap:26px; padding-block:42px; }
    .modern-site h1 { font-size:42px; letter-spacing:-1.6px; }
    .modern-site .gs-photo img { height:324px; }
    .modern-site .gs-hero-copy>p { font-size:1rem; }
    .modern-site .gs-hero-actions { gap:8px; }
    .modern-site .gs-hero-actions .gs-action { padding:13px 14px; font-size:0.875rem; }
    .modern-site .gs-expertise,.modern-site .gs-contact { gap:30px; }
    .modern-site .gs-form { padding:20px; }
  }
  @media (max-width:600px) {
    .modern-site .gs-nav { display:none; }
    .modern-site .gs-menu-button { display:inline-flex; }
    .modern-site .gs-header { min-height:75px; gap:10px; }
    .modern-site .gs-header .gs-action { display:none; }
    .modern-site .gs-hero { grid-template-columns:1fr; gap:32px; padding-block:34px; }
    .modern-site h1 { font-size:46px; }
    .modern-site .gs-hero-copy>p { max-width:100%; font-size:1.0625rem; margin-top:20px; }
    .modern-site .gs-hero-actions .gs-action { padding:14px 18px; font-size:0.9375rem; flex:1; }
    .modern-site .gs-photo img { height:340px; object-position:center top; }
    .modern-site .gs-photo figcaption { padding:18px 20px; }
    .modern-site .gs-proofbar { grid-template-columns:1fr; gap:16px; padding-block:23px; }
    .modern-site .gs-proof strong { font-size:0.9375rem; }
    .modern-site .gs-proof small { font-size:0.875rem; }
    .modern-site .gs-section { padding-block:40px; }
    .modern-site .gs-section-head { display:block; }
    .modern-site .gs-section-head>p { max-width:none; margin-top:16px; font-size:1rem; }
    .modern-site .gs-occasions { grid-template-columns:1fr 1fr; gap:10px; }
    .modern-site .gs-occasion { padding:16px; min-height:128px; gap:16px; }
    .modern-site .gs-occasion-label { font-size:0.9375rem; }
    .modern-site .gs-unsure { flex-wrap:wrap; gap:0 6px; }
    .modern-site .gs-expertise,.modern-site .gs-contact { grid-template-columns:1fr; gap:30px; }
    .modern-site .gs-expertise-copy>p { font-size:1rem; }
    .modern-site .gs-steps { grid-template-columns:1fr; gap:24px; }
    .modern-site .gs-step { display:grid; grid-template-columns:34px 1fr; gap:15px; }
    .modern-site .gs-step-number { margin:0; }
    .modern-site .gs-step p { margin-top:7px; }
    .modern-site .gs-contact { padding-block:36px; }
    .modern-site .gs-form-grid { grid-template-columns:1fr; }
    .modern-site .gs-field input,.modern-site .gs-field select,.modern-site .gs-field textarea { font-size:1.125rem; }
    .modern-site .gs-footer { align-items:flex-start; flex-direction:column; gap:15px; }
  }
  @media (max-width:360px) {
    .modern-site h1 { font-size:39px; }
    .modern-site .gs-hero-actions { flex-direction:column; }
    .modern-site .gs-occasion { padding:14px 12px; }
  }
  @media(prefers-reduced-motion:reduce) { .modern-site .gs-action,.modern-site .gs-occasion { transition:none; } }

/* The original stylesheet remains unchanged for legal and download pages. */
body.modern-site {
  --font-body:'Figtree',Arial,sans-serif; --font-display:'Figtree',Arial,sans-serif;
  --text-primary:#33302b; --text-secondary:#716d67; --text-tertiary:#716d67;
  --brand:#33302b; --surface-base:#faf9f7; --surface-subtle:#eef2f9;
  --border-default:#e6e3dd; --border-subtle:#e6e3dd;
  --cta-default:#2d68f0; --cta-hover:#2153c7; --cta-active:#1b46aa;
  --text-link:#2d68f0; --text-link-hover:#2153c7; --royal-50:#edf2ff;
  padding-top:82px; font-size:1.125rem; line-height:1.6; background:#faf9f7;
}
.modern-site .gs-wrap { width:min(1200px,100%); margin-inline:auto; padding-inline:40px; }
.modern-site .container { width:min(1120px,calc(100% - 80px)); }
.modern-site .gs-icon { flex-shrink:0; vertical-align:middle; }
.modern-site h1 { letter-spacing:-2px!important; }
.modern-site h2 { letter-spacing:-1.1px!important; }
.modern-site h3 { letter-spacing:-.35px!important; }
.modern-site .gs-eyebrow { letter-spacing:1.3px!important; }
.modern-site .site-header { top:0; left:0; right:0; position:fixed; min-height:82px; height:82px; padding:0 max(40px,calc((100vw - 1120px)/2)); display:flex; gap:28px; background:rgba(250,249,247,.97); border-bottom:1px solid #e6e3dd; box-shadow:none; z-index:100; }
.modern-site .site-header .brand { min-width:0; margin-right:auto; flex-shrink:0; }
.modern-site .brand-wordmark { gap:5px; }
.modern-site .brand-wordmark strong { font-size:24px; font-weight:800; line-height:1; letter-spacing:-.7px!important; color:#33302b; }
.modern-site .brand-wordmark>span { max-width:none; font-size:.6875rem; text-transform:uppercase; letter-spacing:1.1px!important; font-weight:600; color:#716d67; }
.modern-site .brand-wordmark .brand-dot { display:inline; font:inherit; line-height:inherit; color:#2d68f0; }
.modern-site .desktop-nav { display:flex; gap:26px; margin:0; }
.modern-site .desktop-nav a { font-size:1rem; font-weight:600; color:#33302b; }
.modern-site .desktop-nav a::after { display:none; }
.modern-site .header-actions { display:flex; margin:0; }
.modern-site .button { min-height:48px; padding:14px 20px; border-radius:10px; font-size:1rem; font-weight:600; line-height:1.4; text-decoration:none; }
.modern-site .button-primary { background:#2d68f0; color:#fff; border:1px solid #2d68f0; box-shadow:none; }
.modern-site .button-primary:hover { background:#2153c7; border-color:#2153c7; }
.modern-site .button-outline { color:#33302b; border:1px solid #e6e3dd; background:#fff; }
.modern-site .header-actions .button { font-size:0.9375rem; min-height:44px; padding:12px 17px; }
.modern-site .mobile-menu { display:none; width:44px; height:44px; padding:12px; border:1px solid #e6e3dd; border-radius:10px; background:#fff; flex-direction:column; justify-content:center; align-items:center; gap:4px; }
.modern-site .mobile-menu span { width:20px; height:2px; flex:none; margin:0; background:#33302b; }
.modern-site .language-switcher { display:none!important; }
.modern-site .mobile-nav { top:82px; background:#faf9f7; border-bottom:1px solid #e6e3dd; z-index:99; }
.modern-site .mobile-nav a { color:#33302b; font-size:1.125rem; }
.modern-site .mobile-nav a:last-of-type { color:#2d68f0; }
.modern-site .gs-hero { padding-block:64px 58px; grid-template-columns:1.15fr 1fr; gap:64px; }
.modern-site .gs-hero h1 { font-size:clamp(46px,4.6vw,64px); max-width:600px; line-height:1.025; hyphens:none; text-wrap:initial; }
.modern-site .gs-hero-copy>p { max-width:450px; font-size:1.1875rem; }
.modern-site .gs-photo img { height:430px; width:100%; object-position:center top; }
.modern-site .gs-photo figcaption { min-height:105px; }
.modern-site .gs-photo-role { font-size:0.9375rem; }
.modern-site .gs-hero-note { font-size:0.875rem; }
.modern-site .gs-proof strong { font-size:1rem; }
.modern-site .gs-proof small { font-size:0.875rem; }
.modern-site .gs-section { padding-block:72px; }
.modern-site .gs-section-head>p { font-size:1.0625rem; max-width:260px; }
.modern-site .gs-occasion { min-height:142px; padding:23px; gap:24px; }
.modern-site .gs-occasion-label { font-size:1.125rem; }
.modern-site .gs-unsure { font-size:1rem; }
.modern-site .gs-expertise-section { background:#fff; border-block:1px solid #e6e3dd; }
.modern-site .gs-expertise { border:0; gap:72px; }
.modern-site .gs-expertise-copy>p { font-size:1.125rem; }
.modern-site .gs-expertise-copy>.gs-eyebrow,.modern-site .gs-contact-copy>.gs-eyebrow { color:#2d68f0; font-size:0.875rem; margin-top:0; }
.modern-site .mobile-nav a::after { content:none; }
.modern-site .gs-register { font-size:1rem; }
.modern-site .gs-service p { font-size:1.0625rem; }
.modern-site .gs-service h3 { font-size:21px; }
.modern-site .gs-service h3 a { display:inline-flex; gap:8px; align-items:center; }
.modern-site .gs-service h3 a:hover { color:#2d68f0; }
.modern-site .gs-spaced-title { margin-top:12px; }
.modern-site .gs-steps { gap:40px; }
.modern-site .gs-step h3 { font-size:1.25rem; }
.modern-site .gs-step p { font-size:1.0625rem; }
.modern-site .gs-contact-section { background:#eef2f9; }
.modern-site .gs-contact { padding-block:64px; gap:64px; }
.modern-site .gs-contact-copy>p { font-size:1.125rem; }
.modern-site .gs-contact-copy>.gs-eyebrow { color:#2d68f0; font-size:0.875rem; margin-top:0; }
.modern-site .gs-contact-address { font-size:1.0625rem; }
.modern-site .gs-contact-address strong { font-size:19px; }
.modern-site .gs-contact-address .gs-telephone { font-size:23px; }
.modern-site .gs-directions { font-size:0.9375rem; text-decoration:underline; text-underline-offset:3px; margin-top:12px; }
.modern-site .gs-location-map { margin:22px 0 0; overflow:hidden; border:1px solid #d9dfea; border-radius:12px; background:#fff; }
.modern-site .gs-location-map iframe { display:block; width:100%; height:260px; border:0; }
.modern-site .gs-location-map figcaption { padding:10px 12px; color:#716d67; font-size:0.875rem; line-height:1.5; }
.modern-site .gs-location-map figcaption a { text-decoration:underline; text-underline-offset:2px; }
.modern-site .gs-callback-note { margin-top:32px; padding-top:24px; border-top:1px solid #d9dfea; font-size:1rem; }
.modern-site .gs-callback-note p { margin:6px 0 16px; color:#716d67; }
.modern-site .contact-form { padding:28px; border:1px solid #e0e6ef; border-radius:16px; box-shadow:none; gap:16px; background:#fff; }
.modern-site .contact-form .form-head { display:grid; gap:4px; margin:0; padding:0 0 2px; border:0; }
.modern-site .form-head strong { color:#33302b; font-size:21px; font-weight:600; }
.modern-site .form-head span { color:#716d67; font-size:0.9375rem; }
.modern-site .contact-form label { font-size:0.9375rem; font-weight:500; gap:6px; }
.modern-site .contact-form input,.modern-site .contact-form select,.modern-site .contact-form textarea { border-radius:7px; padding:11px 12px; border:1px solid #dcdedc; min-height:44px; font-size:1.0625rem; }
.modern-site .contact-form .check { font-size:0.875rem; font-weight:400; }
.modern-site .contact-form .check input { padding:0; min-height:18px; width:18px; flex-shrink:0; margin:2px 0 0; accent-color:#2d68f0; }
.modern-site .contact-form .check a { text-decoration:underline; }
.modern-site .form-note { font-size:0.875rem; color:#716d67; margin:0; line-height:1.5; }
.modern-site #contact-method-help { margin-top:-8px; }
.modern-site .microcopy { font-size:0.875rem; line-height:1.55; }
.modern-site .microcopy.is-success { color:#176536; }
.modern-site .microcopy.is-error { color:#9d2626; }
.modern-site .section { padding-block:64px; }
.modern-site .section-heading { margin-bottom:28px; }
.modern-site .section-heading h2 { margin-top:12px; }
.modern-site .section-heading p:not(.eyebrow) { margin-top:18px; }
.modern-site .eyebrow { color:#2d68f0; font-size:0.875rem; font-weight:700; letter-spacing:1.3px!important; }
.modern-site .pricing-section { background:#faf9f7; border:0; }
.modern-site .pricing-section .container { width:min(1120px,calc(100% - 80px)); }
.modern-site .pricing-heading h2 { max-width:none; }
.modern-site .honorary-copy { padding-top:0; }
.modern-site .honorary-list { margin:0; }
.modern-site .honorary-list li>span { color:#2d68f0; }
.modern-site .faq-section { border-top:1px solid #e6e3dd; background:#fff; }
.modern-site .faq-list { gap:10px; }
.modern-site .faq-list details { background:#faf9f7; border:1px solid #e6e3dd; border-radius:10px; box-shadow:none; }
.modern-site .faq-list summary { color:#33302b; font-weight:600; font-size:1.125rem; }
.modern-site .faq-list details p { margin-top:12px; color:#716d67; }

/* FAQ: keep questions, controls and opened answers safely inside each card. */
.modern-site .faq-container { width:min(960px,calc(100% - 48px)); max-width:960px; }
.modern-site .faq-list { display:grid; gap:12px; border-top:0; }
.modern-site .faq-list details {
  padding:0;
  overflow:hidden;
  transition:border-color .2s ease,background-color .2s ease;
}
.modern-site .faq-list details:hover,
.modern-site .faq-list details[open] { border-color:#bfc9d9; background:#fff; }
.modern-site .faq-list summary {
  min-height:82px;
  box-sizing:border-box;
  gap:24px;
  padding:22px 26px 22px 30px;
  line-height:1.35;
}
.modern-site .faq-list summary::after {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  margin-left:auto;
  border:1px solid #cfdaeb;
  border-radius:50%;
  background:#fff;
  color:#2d68f0;
  font-size:1.45rem;
  font-weight:500;
  line-height:1;
}
.modern-site .faq-list details[open] summary::after { content:"−"; }
.modern-site .faq-list details p {
  max-width:none;
  margin:0;
  padding:0 84px 26px 30px;
  color:#5f5b55;
  line-height:1.65;
}
.modern-site .faq-list details[open] summary { padding-bottom:14px; }

@media (max-width:600px) {
  .modern-site .faq-container { width:calc(100% - 32px); }
  .modern-site .faq-list { gap:9px; }
  .modern-site .faq-list summary {
    min-height:72px;
    gap:14px;
    padding:17px 16px 17px 19px;
    font-size:1rem;
  }
  .modern-site .faq-list summary::after {
    width:30px;
    height:30px;
    flex-basis:30px;
    font-size:1.25rem;
  }
  .modern-site .faq-list details p { padding:0 50px 21px 19px; font-size:.9375rem; }
}
.modern-site .lead-guide h2,.modern-site .lead-guide p,.modern-site .lead-guide strong { color:inherit; }
.modern-site .lead-guide .pdf-mockup strong { color:#33302b; }
.modern-site .lead-guide .eyebrow { color:#b8d3ff; }
.modern-site .lead-guide p { margin-block:18px; }
.modern-site .site-footer { background:#faf9f7; color:#716d67; padding-top:50px; border-top:1px solid #e6e3dd; }
.modern-site .footer-grid { grid-template-columns:1.3fr 1fr 1fr; gap:36px 48px; }
.modern-site .site-footer h3 { font-size:1rem; font-weight:600; color:#33302b; margin-bottom:14px; }
.modern-site .site-footer a { color:#716d67; font-size:0.9375rem; }
.modern-site .site-footer a:hover { color:#2d68f0; }
.modern-site .site-footer p { margin-top:18px; font-size:0.9375rem; }
.modern-site .footer-brand .brand-wordmark strong { font-size:22px; }
.modern-site .footer-social a { border-color:#e6e3dd; background:#fff; color:#33302b; }
.modern-site .footer-bottom { border-top:1px solid #e6e3dd; color:#716d67; font-size:0.875rem; }
.modern-site .callback-card { border-radius:16px; background:#fff; color:#33302b; }
.modern-site .callback-card h2 { margin-top:12px; font-size:32px; }
.modern-site .callback-card h3 { margin-bottom:10px; }
.modern-site .callback-intro { margin-top:14px; }
.modern-site .callback-step>p { margin-bottom:16px; }
.modern-site .callback-steps { margin-top:24px; }
.modern-site .callback-form label { font-weight:500; }
.modern-site .callback-form input { border-radius:7px; }
.modern-site .callback-options button { border-radius:10px; }
.modern-site .callback-summary { margin-block:14px; }
.modern-site :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #2d68f0; outline-offset:4px; }
.modern-site [id] { scroll-margin-top:104px; }
.modern-site .mobile-sticky-cta { background:#faf9f7; border-top:1px solid #e6e3dd; box-shadow:0 -3px 15px #33302b0a; }
.modern-site .mobile-sticky-cta a { background:#2d68f0; color:#fff; border-radius:8px; font-weight:600; }
.modern-site .mobile-sticky-cta a:last-child { background:#fff; color:#33302b; border:1px solid #e6e3dd; }
/* Service pages share the same visual language and existing content. */
.modern-subpage .trust-bar { display:none; }
.modern-subpage .seo-hero { background:#faf9f7; padding-block:52px 60px; color:#33302b; border-bottom:1px solid #e6e3dd; }
.modern-subpage .seo-hero h1 { color:#33302b; font-size:clamp(36px,4.6vw,56px); line-height:1.08; max-width:900px; margin-block:18px; }
.modern-subpage .seo-hero .eyebrow { color:#2d68f0; }
.modern-subpage .seo-hero .lead,.modern-subpage .seo-proof { color:#716d67; }
.modern-subpage .seo-hero .lead { font-size:1.25rem; line-height:1.7; max-width:800px; }
.modern-subpage .seo-proof { margin-top:24px; font-size:1rem; }
.modern-subpage .seo-proof a { color:#2d68f0; text-decoration:underline; }
.modern-subpage .breadcrumb,.modern-subpage .breadcrumb a { color:#716d67; }
.modern-subpage .seo-hero .button-outline { color:#33302b; background:#fff; border-color:#e6e3dd; }
.modern-subpage .content-card,.modern-subpage .side-card { border:1px solid #e6e3dd; border-radius:16px; background:#fff; box-shadow:none; }
.modern-subpage .content-card h2 { font-size:30px; margin-bottom:20px; }
.modern-subpage .content-card h3 { margin-block:20px 10px; }
.modern-subpage .content-card p,.modern-subpage .side-card p { margin-block:14px; color:#716d67; }
.modern-subpage .content-card a:not(.button),.modern-subpage .side-card a:not(.button) { color:#2d68f0; text-decoration:underline; }
.modern-subpage .side-stack { top:106px; }
.modern-subpage .cta-panel { background:#eef2f9; color:#33302b; border:1px solid #e0e6ef; border-radius:16px; }
.modern-subpage .cta-panel h2,.modern-subpage .cta-panel p { color:#33302b; }
.modern-subpage .cta-panel p { margin-block:18px; }
.modern-subpage .topic-nav { display:flex; flex-wrap:wrap; gap:8px; }
.modern-subpage .topic-nav a { padding:9px 13px; border:1px solid #d9dfea; border-radius:8px; color:#2153c7; background:#edf2ff; font-size:0.9375rem; font-weight:600; text-decoration:none; }
.modern-subpage .topic-nav a:hover { background:#dfe8ff; }
.modern-subpage .topic-note { padding:18px 20px; border-left:3px solid #2d68f0; border-radius:0 8px 8px 0; background:#edf2ff; }
.modern-subpage .topic-steps { padding-left:22px; }
.modern-subpage .topic-steps li { padding-left:5px; margin-block:12px; color:#716d67; }
.modern-subpage .topic-sources h2 { font-size:23px; }
.modern-subpage .topic-sources p,.modern-subpage .topic-sources li { font-size:0.9375rem; line-height:1.65; }
.modern-subpage .topic-sources ul { padding-left:20px; margin-bottom:0; }
.modern-subpage .topic-sources li { margin-block:8px; overflow-wrap:anywhere; }
.modern-subpage .content-card :is(ul,ol) li { line-height:1.7; }
.modern-subpage .content-main a:not(.button) { text-underline-offset:3px; }
.modern-subpage .mobile-sticky-cta a { flex:1; width:auto; }
.modern-site .reppe-linked-copy a { color:inherit; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.modern-site .reppe-linked-copy a:hover { color:#2d68f0; }

/* REPPE-inspired occasion pages: broad alternating image/text bands. */
.occasion-page main { background:#fff; }
.occasion-page .occasion-breadcrumb { width:min(1140px,calc(100% - 80px)); margin:0 auto; padding:24px 0; color:#716d67; font-size:.9375rem; }
.occasion-page .occasion-breadcrumb a { color:inherit; text-decoration:none; }
.occasion-page .occasion-row { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.occasion-page .occasion-row-copy { display:flex; flex-direction:column; justify-content:center; padding:72px max(56px,calc((100vw - 1140px)/2)); }
.occasion-page .occasion-row-media { min-height:520px; overflow:hidden; background:#eef2f9; }
.occasion-page .occasion-row-media img { width:100%; height:100%; min-height:520px; object-fit:cover; display:block; }
.occasion-page .occasion-row-media.is-portrait img { object-position:center 24%; }
.occasion-page .occasion-row-dark { background:#0c2858; color:#fff; }
.occasion-page .occasion-row-dark .occasion-row-copy { background:#0c2858; }
.occasion-page .occasion-row-dark :is(h1,h2,p,.occasion-kicker) { color:#fff; }
.occasion-page .occasion-row-reverse .occasion-row-media { order:2; }
.occasion-page .occasion-row-reverse .occasion-row-copy { order:1; }
.occasion-page .occasion-kicker { margin:0 0 14px; color:#2d68f0; font-size:.875rem; font-weight:700; letter-spacing:1.35px; text-transform:uppercase; }
.occasion-page .occasion-row h1,.occasion-page .occasion-row h2 { margin:0 0 22px; font-size:clamp(34px,4.2vw,56px); line-height:1.08; letter-spacing:-.035em; }
.occasion-page .occasion-row h2 { font-size:clamp(30px,3vw,44px); }
.occasion-page .occasion-row p { margin:0; max-width:620px; color:#625f59; font-size:1.125rem; line-height:1.75; }
.occasion-page .occasion-row p+p { margin-top:18px; }
.occasion-page .occasion-row .occasion-source { margin-top:20px; font-size:.9375rem; line-height:1.55; }
.occasion-page .occasion-row a:not(.button) { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.occasion-page .occasion-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.occasion-page .occasion-actions .button-outline { background:#fff; color:#33302b; border-color:#e6e3dd; }
.occasion-page .occasion-facts { padding:76px 40px; background:#faf9f7; }
.occasion-page .occasion-facts-inner { width:min(1140px,100%); margin:auto; }
.occasion-page .occasion-facts h2 { max-width:850px; margin:0 0 34px; font-size:clamp(30px,3.3vw,44px); }
.occasion-page .occasion-fact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.occasion-page .occasion-fact { padding:28px; background:#fff; border:1px solid #e6e3dd; border-radius:12px; }
.occasion-page .occasion-fact span { color:#2d68f0; font-size:.875rem; font-weight:700; }
.occasion-page .occasion-fact h3 { margin:14px 0 10px; font-size:1.25rem; }
.occasion-page .occasion-fact p { margin:0; color:#716d67; line-height:1.65; }
.occasion-page .occasion-note { padding:70px 40px; text-align:center; background:#eef2f9; }
.occasion-page .occasion-note>div { width:min(820px,100%); margin:auto; }
.occasion-page .occasion-note h2 { margin:0 0 18px; font-size:clamp(30px,3.5vw,46px); }
.occasion-page .occasion-note p { margin:0 auto 28px; color:#625f59; font-size:1.125rem; line-height:1.7; }
@media (max-width:800px) {
  .occasion-page .occasion-breadcrumb { width:calc(100% - 40px); padding:18px 0; }
  .occasion-page .occasion-row { grid-template-columns:1fr; min-height:0; }
  .occasion-page .occasion-row-media,.occasion-page .occasion-row-media img { min-height:0; height:360px; }
  .occasion-page .occasion-row-copy { padding:48px 22px; }
  .occasion-page .occasion-row-reverse .occasion-row-media { order:0; }
  .occasion-page .occasion-row-reverse .occasion-row-copy { order:1; }
  .occasion-page .occasion-row h1 { font-size:38px; overflow-wrap:anywhere; }
  .occasion-page .occasion-row h2 { font-size:32px; }
  .occasion-page .occasion-row p { font-size:1.0625rem; }
  .occasion-page .occasion-facts { padding:52px 20px; }
  .occasion-page .occasion-fact-grid { grid-template-columns:1fr; }
  .occasion-page .occasion-note { padding:52px 22px 86px; }
}
@media (max-width:1080px) {
  .modern-site .site-header { padding-inline:30px; }
  .modern-site .desktop-nav { display:none; }
  .modern-site .mobile-menu { display:flex; }
  .modern-site .gs-hero { gap:34px; }
  .modern-site .gs-photo img { height:370px; }
}
@media (max-width:800px) {
  .modern-site .gs-wrap { padding-inline:28px; }
  .modern-site .container,.modern-site .pricing-section .container { width:calc(100% - 56px); }
  .modern-site .gs-hero { padding-block:42px; gap:28px; }
  .modern-site .gs-hero h1 { font-size:46px; }
  .modern-site .gs-hero-copy>p { font-size:1.125rem; }
  .modern-site .gs-photo img { height:330px; }
  .modern-site .gs-photo figcaption { padding:16px; }
  .modern-site .gs-photo-role { font-size:0.875rem; }
  .modern-site .gs-proofbar { gap:16px; }
  .modern-site .gs-proof strong { font-size:0.875rem; }
  .modern-site .gs-proof small { font-size:0.875rem; }
  .modern-site .gs-expertise,.modern-site .gs-contact { gap:30px; }
  .modern-site .contact-form { padding:22px; }
  .modern-site .footer-grid { grid-template-columns:1fr 1fr; gap:30px; }
}
@media (max-width:600px) {
  body.modern-site { padding-top:75px; padding-bottom:76px; }
  .modern-site .site-header { height:75px; min-height:75px; padding-inline:22px; gap:10px; }
  .modern-site .site-header .header-actions { display:none; }
  .modern-site .brand-wordmark strong { font-size:23px; }
  .modern-site .brand-wordmark>span { font-size:.625rem; }
  .modern-site .mobile-nav { top:75px; }
  .modern-site .gs-wrap { padding-inline:22px; }
  .modern-site .container,.modern-site .pricing-section .container { width:calc(100% - 44px); }
  .modern-site .gs-hero { grid-template-columns:1fr; gap:32px; padding-block:34px; }
  .modern-site .gs-hero h1 { font-size:40px; max-width:430px; letter-spacing:-1.6px!important; }
  .modern-site .gs-hero-copy>p { font-size:1.125rem; }
  .modern-site .gs-hero-actions { flex-direction:row; }
  .modern-site .gs-hero-actions .gs-action { padding:14px 12px; font-size:0.9375rem; white-space:nowrap; gap:6px; }
  .modern-site .gs-hero-actions .gs-icon { width:16px; height:16px; }
  .modern-site .gs-hero-note { font-size:0.875rem; }
  .modern-site .gs-photo img { height:auto; max-height:420px; aspect-ratio:1/1; object-fit:cover; object-position:center top; }
  .modern-site .gs-photo figcaption { padding:18px 20px; min-height:100px; }
  .modern-site .gs-photo-role { font-size:0.875rem; }
  .modern-site .gs-proofbar { grid-template-columns:1fr; gap:20px; }
  .modern-site .gs-proof strong { font-size:1rem; }
  .modern-site .gs-proof small { font-size:0.875rem; }
  .modern-site .gs-section,.modern-site .section { padding-block:44px; }
  .modern-site .gs-section-head>p { font-size:1rem; max-width:none; }
  .modern-site .gs-occasion { padding:18px 15px; min-height:135px; gap:20px; }
  .modern-site .gs-occasion-label { font-size:1rem; }
  .modern-site .gs-expertise,.modern-site .gs-contact { grid-template-columns:1fr; gap:32px; }
  .modern-site .gs-service h3 { font-size:20px; }
  .modern-site .gs-steps { grid-template-columns:1fr; gap:26px; }
  .modern-site .gs-contact { padding-block:44px; }
  .modern-site .gs-contact-address { font-size:1.0625rem; }
  .modern-site .contact-form { grid-template-columns:1fr; padding:22px 18px; }
  .modern-site .contact-form input,.modern-site .contact-form select,.modern-site .contact-form textarea { font-size:1.125rem; }
  .modern-site .pricing-layout { grid-template-columns:1fr; gap:28px; }
  .modern-site .faq-list summary { font-size:1.0625rem; }
  .modern-site .footer-grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
  .modern-site .footer-grid>div:first-child { grid-column:1/-1; }
  .modern-site .site-footer { padding-top:36px; }
  .modern-site .site-footer a { font-size:0.875rem; }
  .modern-site .site-footer h3 { font-size:0.9375rem; }
  .modern-site .footer-brand .brand-wordmark strong { font-size:23px; }
  .modern-site .callback-card h2 { font-size:29px; }
  .modern-subpage .seo-hero h1 { font-size:38px; }
  .modern-subpage .seo-hero .lead { font-size:1.125rem; }
  .modern-subpage .seo-hero .button-outline { display:inline-flex; }
  .modern-subpage .content-card h2 { font-size:27px; }
}
@media (max-width:360px) {
  .modern-site .gs-hero h1 { font-size:36px; }
  .modern-site .gs-hero-actions { flex-direction:column; }
  .modern-site .gs-occasion { padding:15px 12px; }
  .modern-site .gs-occasion-label { font-size:0.9375rem; }
}
@media (prefers-reduced-motion:reduce) { html:has(.modern-site) { scroll-behavior:auto; } }

/* Readability: larger text without scaling the display headings. */
.modern-site p,
.modern-site li { font-size:1.125rem; line-height:1.7; }
.modern-site .gs-hero-note,
.modern-site .gs-proof small,
.modern-site .gs-photo-role { line-height:1.6; }
.modern-site .mobile-sticky-cta a { font-size:1rem; }
.modern-site .callback-intro,
.modern-site .callback-step>p { font-size:1.0625rem; line-height:1.65; }
.modern-site .callback-form label,
.modern-site .callback-options button,
.modern-site .callback-options button span,
.modern-site .callback-steps button { font-size:1rem; line-height:1.5; }
.modern-site .callback-form input { font-size:1.0625rem; }
.modern-site .callback-form .callback-check,
.modern-site .callback-privacy { font-size:.875rem; line-height:1.6; }
.modern-site .callback-options button::after,
.modern-site .pdf-mockup span { font-size:.875rem; }
.modern-site .breadcrumb,
.modern-site .breadcrumb a { font-size:.9375rem; }
.modern-site .site-footer a,
.modern-site .gs-contact-address a,
.modern-subpage .side-card a { overflow-wrap:anywhere; }
.modern-site .site-footer .footer-brand { overflow-wrap:normal; }
.modern-site .gs-occasion-label { overflow-wrap:anywhere; }
@media (max-width:600px) {
  .modern-site .gs-hero-actions { flex-direction:column; }
  .modern-site .gs-hero-actions .gs-action { font-size:1rem; white-space:normal; }
}
@media (max-width:380px) {
  .modern-site .gs-occasions,
  .modern-site .footer-grid { grid-template-columns:1fr; }
}

/* REPPE-inspired detail pages: full-width split hero and alternating editorial bands. */
.reppe-detail-page .seo-hero.section {
  padding:0;
  background:#0c2858;
  color:#fff;
}
.reppe-detail-page .seo-hero>.container {
  width:100%;
  max-width:none;
  min-height:560px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  padding:0;
}
.reppe-detail-page .reppe-detail-hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-width:0;
  padding:72px clamp(32px,7vw,132px);
}
.reppe-detail-page .reppe-detail-hero-copy .breadcrumb { margin:0 0 40px; color:#dce5f4; }
.reppe-detail-page .reppe-detail-hero-copy .breadcrumb a { color:#fff; }
.reppe-detail-page .reppe-detail-hero-copy .eyebrow { color:#9cb6de; }
.reppe-detail-page .reppe-detail-hero-copy h1 {
  max-width:760px;
  margin-bottom:24px;
  color:#fff;
  font-size:clamp(42px,4.1vw,72px);
  line-height:.98;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.reppe-detail-page .reppe-detail-hero-copy .lead { max-width:720px; color:#f5f7fb; font-size:1.2rem; }
.reppe-detail-page .reppe-detail-hero-copy .seo-actions { margin-top:30px; }
.reppe-detail-page .reppe-detail-hero-copy .button-primary { background:#fff; border-color:#fff; color:#0c2858; }
.reppe-detail-page .reppe-detail-hero-copy .button-outline { border-color:#fff; background:transparent; color:#fff; }
.reppe-detail-page .reppe-detail-hero-copy .seo-proof { max-width:720px; color:#dce5f4; }
.reppe-detail-page .reppe-detail-hero-copy .seo-proof a { color:#fff; }
.reppe-detail-page .reppe-detail-hero-media,
.reppe-detail-page .reppe-detail-media { margin:0; overflow:hidden; background:#d9e0eb; }
.reppe-detail-page .reppe-detail-hero-media img,
.reppe-detail-page .reppe-detail-media img { width:100%; height:100%; display:block; object-fit:cover; }
.reppe-detail-page .reppe-detail-hero-media img { filter:saturate(.92) contrast(1.03); }

.reppe-detail-page main>.section:not(.seo-hero) { padding:0; }
.reppe-detail-page .content-grid {
  width:100%;
  max-width:none;
  display:block;
  padding:0;
}
.reppe-detail-page .content-main { display:block; }
.reppe-detail-page .topic-nav {
  width:min(1120px,calc(100% - 48px));
  margin:34px auto;
  border:0;
  box-shadow:none;
  background:#fff;
}
.reppe-detail-page .reppe-detail-band {
  min-height:480px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#fff;
}
.reppe-detail-page .reppe-detail-band.is-reverse { background:#edf1f7; }
.reppe-detail-page .reppe-detail-band.is-reverse .reppe-detail-media { order:2; }
.reppe-detail-page .reppe-detail-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  min-width:0;
  padding:64px clamp(34px,7vw,132px);
}
.reppe-detail-page .reppe-detail-copy h2 {
  max-width:760px;
  margin:0 0 24px;
  color:#0c2858;
  font-size:clamp(32px,3.1vw,54px);
  line-height:1.03;
  letter-spacing:-.035em;
}
.reppe-detail-page .reppe-detail-copy h3 { color:#0c2858; }
.reppe-detail-page .reppe-detail-copy p,
.reppe-detail-page .reppe-detail-copy li { max-width:760px; color:#202a3b; }
.reppe-detail-page .reppe-detail-copy a { color:#0c2858; text-decoration-thickness:1px; text-underline-offset:3px; }
.reppe-detail-page .reppe-detail-media { min-height:480px; }
.reppe-detail-page .topic-note { width:100%; padding:22px 24px; border-left:4px solid #0c2858; background:#f4f6fa; }
.reppe-detail-page .faq-list,
.reppe-detail-page .topic-sources {
  width:min(1120px,calc(100% - 48px));
  margin:64px auto;
}
.reppe-detail-page .topic-sources {
  padding:36px;
  border:1px solid #cfd7e5;
  border-radius:0;
  box-shadow:none;
  background:#f5f7fa;
}
.reppe-detail-page .cta-panel {
  width:100%;
  max-width:none;
  margin:0;
  padding:76px max(32px,calc((100vw - 1120px)/2));
  border:0;
  border-radius:0;
  background:#0c2858;
  color:#fff;
}
.reppe-detail-page .cta-panel h2 { max-width:820px; color:#fff; font-size:clamp(34px,3.5vw,58px); }
.reppe-detail-page .cta-panel p { max-width:780px; color:#eef3fa; }
.reppe-detail-page .cta-panel .button-primary { background:#fff; border-color:#fff; color:#0c2858; }
.reppe-detail-page .cta-panel .button-outline { border-color:#fff; background:transparent; color:#fff; }
.reppe-detail-page .side-stack {
  position:static;
  width:min(1120px,calc(100% - 48px));
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:56px auto;
}
.reppe-detail-page .side-card { min-height:100%; padding:30px; border-radius:0; border-color:#d3dae6; box-shadow:none; }

@media (max-width:900px) {
  .reppe-detail-page .seo-hero>.container,
  .reppe-detail-page .reppe-detail-band { grid-template-columns:1fr; }
  .reppe-detail-page .reppe-detail-hero-copy { padding:54px 28px; }
  .reppe-detail-page .reppe-detail-hero-copy .breadcrumb { margin-bottom:30px; }
  .reppe-detail-page .reppe-detail-hero-media { min-height:460px; }
  .reppe-detail-page .reppe-detail-band .reppe-detail-media,
  .reppe-detail-page .reppe-detail-band.is-reverse .reppe-detail-media { order:0; min-height:380px; }
  .reppe-detail-page .reppe-detail-copy { order:1; padding:52px 28px; }
  .reppe-detail-page .side-stack { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  html:has(.reppe-detail-page),
  body.reppe-detail-page { overflow-x:hidden; }
  .reppe-detail-page .reppe-detail-hero-copy { padding:42px 22px 48px; }
  .reppe-detail-page .reppe-detail-hero-copy h1 { font-size:38px; }
  .reppe-detail-page .reppe-detail-hero-copy .seo-actions { width:100%; display:grid; }
  .reppe-detail-page .reppe-detail-hero-copy .seo-actions .button { width:100%; justify-content:center; }
  .reppe-detail-page .reppe-detail-hero-media { min-height:360px; }
  .reppe-detail-page .reppe-detail-media { min-height:300px; }
  .reppe-detail-page .reppe-detail-copy { padding:42px 22px; }
  .reppe-detail-page .reppe-detail-copy h2 { font-size:31px; }
  .reppe-detail-page .faq-list,
  .reppe-detail-page .topic-sources,
  .reppe-detail-page .side-stack,
  .reppe-detail-page .topic-nav { width:calc(100% - 36px); margin-block:38px; }
  .reppe-detail-page .topic-sources { padding:24px 20px; }
  .reppe-detail-page .cta-panel { padding:54px 22px; }
}

/* Exact REPPE subpage rhythm: compact navy opener, white editorial rows, blue calls to action. */
.modern-subpage { padding-top:112px; background:#fff; }
.modern-subpage .site-header {
  height:112px;
  min-height:112px;
  padding-inline:max(60px,calc((100vw - 1120px)/2));
  background:#fff;
  border:0;
}
.modern-subpage .site-header .brand-wordmark strong { color:#183369; font-size:31px; letter-spacing:.02em!important; }
.modern-subpage .site-header .brand-wordmark>span { color:#333; font-size:.75rem; }
.modern-subpage .desktop-nav { gap:34px; }
.modern-subpage .desktop-nav a { color:#191919; font-size:.9375rem; text-transform:uppercase; }
.modern-subpage .header-actions { display:none; }

.reppe-detail-page .seo-hero.section { min-height:544px; }
.reppe-detail-page .seo-hero>.container {
  width:min(1130px,calc(100% - 120px));
  min-height:544px;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:0;
  margin:auto;
  padding:58px 0;
}
.reppe-detail-page .reppe-detail-hero-copy { padding:0 70px; }
.reppe-detail-page .reppe-detail-hero-copy :is(.breadcrumb,.eyebrow,.seo-actions,.seo-proof) { display:none; }
.reppe-detail-page .reppe-detail-hero-copy h1 {
  margin:0 0 18px;
  font-size:26px;
  line-height:1.08;
  letter-spacing:0!important;
  overflow-wrap:normal;
  hyphens:auto;
}
.reppe-detail-page .reppe-detail-hero-copy .lead {
  margin:0;
  max-width:445px;
  color:#fff;
  font-size:1rem;
  line-height:1.6;
}
.reppe-detail-page .reppe-detail-hero-media { height:426px; min-height:0; background:transparent; }
.reppe-detail-page .reppe-detail-hero-media img { object-fit:cover; }
.reppe-detail-page .topic-nav { display:none; }
.reppe-detail-page .reppe-detail-band {
  width:100%;
  min-height:560px;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:0;
  margin:auto;
  padding:72px max(60px,calc((100vw - 1130px)/2));
  background:#fff;
}
.reppe-detail-page .reppe-detail-band.is-reverse { background:#fff; }
.reppe-detail-page .reppe-detail-media { height:424px; min-height:0; background:transparent; }
.reppe-detail-page .reppe-detail-copy { padding:0 70px; }
.reppe-detail-page .reppe-detail-copy h2 {
  margin-bottom:18px;
  color:#101010;
  font-size:26px;
  line-height:1.08;
  letter-spacing:0!important;
}
.reppe-detail-page .reppe-detail-copy h3 { color:#101010; }
.reppe-detail-page .reppe-detail-copy p,
.reppe-detail-page .reppe-detail-copy li { color:#111; font-size:1rem; line-height:1.6; }
.reppe-detail-page .reppe-detail-callout {
  width:100%;
  min-height:300px;
  display:block;
  padding:66px max(60px,calc((100vw - 900px)/2));
  background:#91b4dc;
  color:#fff;
  text-align:center;
}
.reppe-detail-page .reppe-detail-callout .reppe-detail-media { display:none; }
.reppe-detail-page .reppe-detail-callout .reppe-detail-copy { align-items:center; }
.reppe-detail-page .reppe-detail-callout .reppe-detail-copy h2 {
  color:#fff;
  text-transform:uppercase;
}
.reppe-detail-page .reppe-detail-callout .reppe-detail-copy :is(p,li,a) { color:#fff; }
.reppe-detail-page .reppe-detail-extra,
.reppe-detail-page .faq-list,
.reppe-detail-page .topic-sources { display:none; }
.reppe-detail-page .cta-panel {
  min-height:300px;
  padding:66px max(60px,calc((100vw - 900px)/2));
  grid-template-columns:minmax(0,1fr);
  background:#91b4dc;
  text-align:center;
}
.reppe-detail-page .cta-panel :is(h2,p) { margin-inline:auto; color:#fff; }
.reppe-detail-page .cta-panel h2 { font-size:30px; letter-spacing:0!important; text-transform:uppercase; }
.reppe-detail-page .cta-panel .hero-actions { justify-content:center; }
.reppe-detail-page .cta-panel .button-primary { background:#082153; border-color:#082153; color:#fff; }
.reppe-detail-page .cta-panel .button-outline { background:transparent; border-color:#082153; color:#082153; }
.reppe-detail-page .side-stack { display:none; }

.occasion-page .occasion-breadcrumb { display:none; }
.occasion-page .occasion-row {
  min-height:560px;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:0;
  padding:72px max(60px,calc((100vw - 1130px)/2));
  background:#fff;
}
.occasion-page .occasion-row-dark {
  min-height:544px;
  grid-template-columns:1fr 1fr;
  padding:58px max(60px,calc((100vw - 1130px)/2));
  background:#082153;
}
.occasion-page .occasion-row-copy { padding:0 70px; }
.occasion-page .occasion-row-media,
.occasion-page .occasion-row-media img { height:424px; min-height:0; background:transparent; }
.occasion-page .occasion-row-dark .occasion-row-media,
.occasion-page .occasion-row-dark .occasion-row-media img { height:426px; }
.occasion-page .occasion-row-dark .occasion-row-copy { background:transparent; }
.occasion-page .occasion-kicker,
.occasion-page .occasion-row-dark .occasion-actions { display:none; }
.occasion-page .occasion-row h1,
.occasion-page .occasion-row h2 {
  margin-bottom:18px;
  color:#101010;
  font-size:26px;
  line-height:1.08;
  letter-spacing:0!important;
}
.occasion-page .occasion-row-dark :is(h1,h2,p) { color:#fff; }
.occasion-page .occasion-row p { max-width:470px; color:#111; font-size:1rem; line-height:1.6; }
.occasion-page .occasion-row-reverse .occasion-row-media { order:0; }
.occasion-page .occasion-row-reverse .occasion-row-copy { order:1; }
.occasion-page main>.occasion-row:nth-of-type(3) {
  min-height:300px;
  display:block;
  padding:66px max(60px,calc((100vw - 900px)/2));
  background:#91b4dc;
  color:#fff;
  text-align:center;
}
.occasion-page main>.occasion-row:nth-of-type(3) .occasion-row-media { display:none; }
.occasion-page main>.occasion-row:nth-of-type(3) .occasion-row-copy { align-items:center; }
.occasion-page main>.occasion-row:nth-of-type(3) :is(h2,p) { max-width:850px; margin-inline:auto; color:#fff; }
.occasion-page main>.occasion-row:nth-of-type(3) h2 { text-transform:uppercase; }
.occasion-page main>.occasion-row:nth-of-type(3) .occasion-actions { justify-content:center; }
.occasion-page main>.occasion-row:nth-of-type(3) .button { background:#082153; border-color:#082153; color:#fff; }
.occasion-page .occasion-facts { min-height:560px; padding:72px max(60px,calc((100vw - 1130px)/2)); background:#fff; }
.occasion-page .occasion-facts-inner {
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:0;
}
.occasion-page .occasion-facts-copy { min-width:0; padding:0 70px; }
.occasion-page .occasion-facts h2 { margin-bottom:18px; color:#101010; font-size:26px; line-height:1.08; letter-spacing:0!important; }
.occasion-page .occasion-facts p,
.occasion-page .occasion-facts li { color:#111; font-size:1rem; line-height:1.6; }
.occasion-page .occasion-facts-media { height:424px; margin:0; overflow:hidden; background:transparent; }
.occasion-page .occasion-facts-media img { width:100%; height:100%; display:block; object-fit:cover; }
.occasion-page .occasion-fact-grid { display:block; border-block:1px solid #d9d9d9; }
.occasion-page .occasion-fact { padding:16px 0; border:0; border-bottom:1px solid #d9d9d9; border-radius:0; box-shadow:none; }
.occasion-page .occasion-fact:last-child { border-bottom:0; }
.occasion-page .occasion-note { min-height:300px; padding:66px 40px; background:#91b4dc; color:#fff; }
.occasion-page .occasion-note h2 { color:#fff; font-size:30px; letter-spacing:0!important; text-transform:uppercase; }
.occasion-page .occasion-note p { color:#fff; }
.occasion-page .occasion-note .button { background:#082153; border-color:#082153; color:#fff; }

.modern-subpage .site-footer { padding:60px 0 30px; border:0; background:#082153; color:#fff; }
.modern-subpage .site-footer :is(h3,a,p),
.modern-subpage .site-footer .brand-wordmark strong,
.modern-subpage .site-footer .brand-wordmark>span { color:#fff; }
.modern-subpage .site-footer a:hover { color:#c5d8f0; }

@media (min-width:1081px) {
  .modern-subpage .mobile-sticky-cta {
    position:fixed;
    right:22px;
    bottom:14px;
    left:auto;
    width:auto;
    min-height:0;
    display:block;
    padding:0;
    border:0;
    border-radius:28px;
    background:#082153;
    box-shadow:0 5px 18px rgba(0,0,0,.22);
    overflow:hidden;
    z-index:120;
  }
  .modern-subpage .mobile-sticky-cta a:first-child { display:none; }
  .modern-subpage .mobile-sticky-cta a:last-child {
    display:block;
    min-height:0;
    padding:13px 24px;
    border:0;
    border-radius:28px;
    background:#082153;
    color:#fff;
    font-size:0;
  }
  .modern-subpage .mobile-sticky-cta a:last-child::before { content:"☎  Jetzt beraten lassen"; font-size:1.0625rem; }
}

@media (max-width:1080px) {
  .modern-subpage { padding-top:94px; }
  .modern-subpage .site-header { height:94px; min-height:94px; padding-inline:30px; }
  .modern-subpage .site-header .brand-wordmark strong { font-size:26px; }
  .modern-subpage .mobile-nav { top:94px; }
}
@media (max-width:800px) {
  .reppe-detail-page .seo-hero>.container,
  .occasion-page .occasion-row,
  .occasion-page .occasion-row-dark {
    width:100%;
    grid-template-columns:1fr;
    gap:28px;
    padding:38px 30px 44px;
  }
  .reppe-detail-page .reppe-detail-hero-copy,
  .occasion-page .occasion-row-dark .occasion-row-copy { order:2; padding:0; }
  .reppe-detail-page .reppe-detail-hero-media,
  .occasion-page .occasion-row-dark .occasion-row-media { order:1; height:390px; }
  .reppe-detail-page .reppe-detail-hero-media img,
  .occasion-page .occasion-row-dark .occasion-row-media img { height:390px; }
  .reppe-detail-page .reppe-detail-band,
  .occasion-page .occasion-row {
    width:100%;
    min-height:0;
    grid-template-columns:1fr;
    gap:28px;
    padding:42px 30px 50px;
  }
  .reppe-detail-page .reppe-detail-media,
  .occasion-page .occasion-row-media,
  .occasion-page .occasion-row-media img { order:0!important; height:360px; }
  .reppe-detail-page .reppe-detail-copy,
  .occasion-page .occasion-row-copy { order:1!important; padding:0; }
  .reppe-detail-page .reppe-detail-callout,
  .occasion-page main>.occasion-row:nth-of-type(3) { padding:52px 28px; }
  .occasion-page .occasion-fact-grid { grid-template-columns:1fr; }
  .occasion-page .occasion-facts { min-height:0; padding:42px 30px 50px; }
  .occasion-page .occasion-facts-inner { grid-template-columns:1fr; gap:28px; }
  .occasion-page .occasion-facts-media { order:0; height:360px; }
  .occasion-page .occasion-facts-copy { order:1; padding:0; }
}
@media (max-width:600px) {
  .modern-subpage { padding-top:82px; }
  .modern-subpage .site-header { height:82px; min-height:82px; padding-inline:18px; }
  .modern-subpage .site-header .brand-wordmark strong { font-size:24px; }
  .modern-subpage .mobile-nav { top:82px; }
  .reppe-detail-page .seo-hero>.container,
  .occasion-page .occasion-row,
  .occasion-page .occasion-row-dark { padding:28px 20px 38px; }
  .reppe-detail-page .reppe-detail-hero-media,
  .reppe-detail-page .reppe-detail-hero-media img,
  .occasion-page .occasion-row-dark .occasion-row-media,
  .occasion-page .occasion-row-dark .occasion-row-media img { height:330px; }
  .reppe-detail-page .reppe-detail-hero-copy h1,
  .occasion-page .occasion-row h1,
  .occasion-page .occasion-row h2 { font-size:27px; }
  .reppe-detail-page .reppe-detail-band,
  .occasion-page .occasion-row { padding:36px 20px 44px; }
  .reppe-detail-page .reppe-detail-media,
  .occasion-page .occasion-row-media,
  .occasion-page .occasion-row-media img { height:300px; }
  .reppe-detail-page .reppe-detail-copy h2,
  .occasion-page .occasion-facts h2,
  .occasion-page .occasion-note h2,
  .reppe-detail-page .cta-panel h2 { font-size:27px; }
  .reppe-detail-page .reppe-detail-callout,
  .reppe-detail-page .cta-panel,
  .occasion-page main>.occasion-row:nth-of-type(3),
  .occasion-page .occasion-note { padding:48px 20px 86px; }
  .reppe-detail-page .cta-panel { display:block; }
  .reppe-detail-page .cta-panel > * { min-width:0; max-width:100%; }
  .reppe-detail-page .cta-panel h2 { overflow-wrap:anywhere; hyphens:auto; }
  .reppe-detail-page .cta-panel .hero-actions { width:100%; display:grid; grid-template-columns:minmax(0,1fr); }
  .reppe-detail-page .cta-panel .hero-actions .button { width:100%; min-width:0; }
  .occasion-page .occasion-facts { padding:36px 20px 44px; }
  .occasion-page .occasion-facts-media { height:300px; }
}

/* REPPE page templates: exact desktop block dimensions, ordering and card rhythm. */
@media (min-width:801px) {
  body.modern-subpage { padding-top:114px; }
  .modern-subpage .site-header {
    height:114px;
    min-height:114px;
    padding-inline:60px;
  }

  .occasion-page .occasion-row,
  .occasion-page .occasion-row-dark {
    width:100%;
    height:549px;
    min-height:0;
    box-sizing:border-box;
    grid-template-columns:1fr 1fr;
    padding:60px;
  }
  .occasion-page .occasion-row-copy { padding:0 72px; }
  .occasion-page .occasion-row-media,
  .occasion-page .occasion-row-media img,
  .occasion-page .occasion-row-dark .occasion-row-media,
  .occasion-page .occasion-row-dark .occasion-row-media img { height:429px; }

  .occasion-template-sale main>.occasion-row:nth-of-type(3) {
    height:317px;
    min-height:0;
    box-sizing:border-box;
    padding:48px max(60px,calc((100vw - 920px)/2));
  }
  .occasion-template-sale main>.occasion-row:nth-of-type(3) .occasion-row-copy { padding:0; }
  .occasion-template-sale main>.occasion-row:nth-of-type(3) p { line-height:1.45; }
  .occasion-template-sale main>.occasion-row:nth-of-type(3) p+p { margin-top:8px; }
  .occasion-template-sale main>.occasion-row:nth-of-type(3) .occasion-actions { margin-top:18px; }
  .occasion-template-sale .occasion-facts {
    height:549px;
    min-height:0;
    box-sizing:border-box;
    padding:47px 39px 47px 60px;
  }
  .occasion-template-sale .occasion-facts-inner { grid-template-columns:minmax(0,559px) minmax(0,607px); }
  .occasion-template-sale .occasion-facts-copy { padding:0 72px; }
  .occasion-template-sale .occasion-facts-media { height:455px; }
  .occasion-template-sale .occasion-facts-copy>.occasion-kicker { display:none; }
  .occasion-template-sale .occasion-facts-copy h2 { margin-bottom:14px; }
  .occasion-template-sale .occasion-fact-grid { display:grid; gap:4px; border:0; }
  .occasion-template-sale .occasion-fact { padding:7px 0; }
  .occasion-template-sale .occasion-fact h3 { display:inline; margin:0 0 0 8px; font-size:16px; }
  .occasion-template-sale .occasion-fact p { margin-top:3px; font-size:14px; line-height:1.35; }

  .occasion-template-divorce .occasion-row:nth-of-type(2) { height:519px; padding-block:45px; }
  .occasion-template-inheritance .occasion-row:nth-of-type(2) { height:489px; padding-block:30px; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) {
    height:549px;
    min-height:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    box-sizing:border-box;
    padding:47px 39px 47px 60px;
    background:#fff;
    color:#111;
    text-align:left;
  }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) .occasion-row-media {
    display:block;
    order:2;
    height:455px;
  }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) .occasion-row-media img { height:455px; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) .occasion-row-copy { order:1; align-items:flex-start; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) :is(h2,p) { margin-inline:0; color:#111; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) h2 { text-transform:none; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) .button { background:#082153; border-color:#082153; color:#fff; }
  .occasion-template-editorial .occasion-facts { display:none; }

  .occasion-template-gift main>.occasion-row:nth-of-type(3),
  .occasion-template-gift .occasion-facts { display:none; }

  .occasion-template-rest main>.occasion-row:nth-of-type(3) { display:none; }
  .occasion-template-rest .occasion-facts {
    height:601px;
    min-height:0;
    box-sizing:border-box;
    padding:70px 60px 54px;
  }
  .occasion-template-rest .occasion-facts-inner { display:block; }
  .occasion-template-rest .occasion-facts :is(.occasion-kicker,h2) { text-align:center; }
  .occasion-template-rest .occasion-fact-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:54px;
    margin-top:36px;
    border:0;
  }
  .occasion-template-rest .occasion-fact { padding:0; border:0; text-align:center; }
  .occasion-template-rest .occasion-fact>span { display:none; }
  .occasion-template-rest .occasion-fact-media { width:135px; height:135px; margin:0 auto 22px; overflow:hidden; border-radius:50%; }
  .occasion-template-rest .occasion-fact-media img { width:100%; height:100%; display:block; object-fit:cover; }
  .occasion-template-rest .occasion-fact h3 { margin-bottom:10px; font-size:20px; }
  .occasion-template-rest .occasion-fact p { margin:0; font-size:15px; line-height:1.5; }

  .occasion-template-inheritance .occasion-note,
  .occasion-template-rest .occasion-note { height:291px; min-height:0; box-sizing:border-box; }
  .occasion-template-sale .occasion-note,
  .occasion-template-divorce .occasion-note,
  .occasion-template-gift .occasion-note,
  .occasion-template-rent .occasion-note { height:324px; min-height:0; box-sizing:border-box; }

  .reppe-detail-page .seo-hero.section { min-height:549px; }
  .reppe-detail-page .seo-hero>.container {
    width:100%;
    height:549px;
    min-height:0;
    box-sizing:border-box;
    padding:60px;
  }
  .reppe-detail-page .reppe-detail-hero-media { height:429px; }
  .reppe-detail-page .reppe-detail-band {
    min-height:549px;
    box-sizing:border-box;
    padding:60px;
  }
  .reppe-detail-page .reppe-detail-media { height:429px; }
  .reppe-detail-page .reppe-detail-extra { display:grid; }
  .reppe-detail-page .faq-list,
  .reppe-detail-page .topic-sources {
    display:block;
    width:min(1145px,calc(100% - 120px));
    margin:60px auto;
  }
  .reppe-detail-page .side-stack {
    width:min(1145px,calc(100% - 120px));
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
    margin:60px auto;
  }
}

@media (max-width:800px) {
  body.modern-subpage { padding-top:94px; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) {
    display:grid;
    grid-template-columns:1fr;
    background:#fff;
    color:#111;
    text-align:left;
  }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) .occasion-row-media { display:block; }
  .occasion-template-editorial main>.occasion-row:nth-of-type(3) :is(h2,p) { color:#111; }
  .occasion-template-editorial .occasion-facts,
  .occasion-template-gift main>.occasion-row:nth-of-type(3),
  .occasion-template-gift .occasion-facts,
  .occasion-template-rest main>.occasion-row:nth-of-type(3) { display:none; }
  .occasion-template-rest .occasion-facts-inner { display:block; }
  .occasion-template-rest .occasion-fact-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px 20px; border:0; }
  .occasion-template-rest .occasion-fact { padding:0; border:0; text-align:center; }
  .occasion-template-rest .occasion-fact>span { display:none; }
  .occasion-template-rest .occasion-fact-media { width:118px; height:118px; margin:0 auto 18px; overflow:hidden; border-radius:50%; }
  .occasion-template-rest .occasion-fact-media img { width:100%; height:100%; display:block; object-fit:cover; }
}

@media (max-width:600px) {
  body.modern-subpage { padding-top:82px; }
  .occasion-template-rest .occasion-fact-grid { grid-template-columns:1fr; }
}

/* Consistent square controls across the homepage and every subpage. */
body.modern-site :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  .button,
  .gs-action,
  .reppe-button,
  .bewertung-button,
  .mobile-sticky-cta a,
  .topic-nav a,
  .cta-panel a
) {
  border-radius:0 !important;
}

body.modern-site .faq-list summary::after {
  border-radius:0 !important;
}
