:root { --font-dm: 'DM Sans'; --font-playfair: 'Playfair Display'; }
body.lotus-wordpress { margin:0; background:var(--background); color:var(--foreground); font-family:var(--sans); font-size:var(--text-body); }
.lotus-wordpress h1,.lotus-wordpress h2,.lotus-wordpress h3,.lotus-wordpress h4 { font-family:var(--serif); font-weight:400; color:inherit; }
.lotus-wordpress .site-shell { width:100%; }
.lotus-wordpress .site-shell a { text-decoration:none; }
.lotus-wordpress .site-shell svg { display:block; flex-shrink:0; }
.lotus-wordpress [hidden] { display:none !important; }
.lotus-faq-item { border-bottom:1px solid var(--border); }
.lotus-faq-item summary { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:25px 0; cursor:pointer; font-size:var(--text-action); line-height:1.5; list-style:none; }
.lotus-faq-item summary::-webkit-details-marker { display:none; }
.lotus-faq-item summary::after { content:'+'; font-size:26px; font-weight:300; }
.lotus-faq-item[open] summary::after { content:'−'; }
.lotus-faq-item p { padding:0 36px 25px 0; font-size:var(--text-action); }
.lotus-faq-item summary:focus-visible { outline:2px solid var(--ring); outline-offset:5px; }
.lotus-mobile-dialog { position:fixed; inset:0 0 0 auto; margin:0; width:min(420px,100vw); max-width:100vw; height:100dvh; max-height:100dvh; padding:80px 32px 40px; background:var(--background); color:var(--foreground); border:0; overflow:auto; }
.lotus-mobile-dialog::backdrop { background:rgba(12,32,22,.65); }
.lotus-mobile-dialog nav { display:flex; flex-direction:column; gap:24px; margin:36px 0; }
.lotus-mobile-dialog h2 { font-size:34px; }
.lotus-menu-close { position:absolute; right:24px; top:20px; width:44px; height:44px; padding:0; border:0; background:transparent; font-size:36px; }
.lotus-native-form .e-con { --container-default-padding-top:0; --container-default-padding-right:0; --container-default-padding-bottom:0; --container-default-padding-left:0; width:100%; padding:0; margin:0; }
.lotus-native-form .elementor-widget-form { width:100%; }
.lotus-native-form .elementor-form-fields-wrapper { display:flex; flex-direction:column; gap:18px; margin:0 !important; }
.lotus-native-form .elementor-field-group { width:100% !important; padding:0 !important; margin:0 !important; display:block; }
.lotus-native-form .elementor-field-label { display:block; margin:0 0 7px; padding:0 !important; color:var(--foreground) !important; font:500 16px/1.5 var(--sans) !important; }
.lotus-native-form .elementor-field { display:block; box-sizing:border-box; width:100%; min-height:46px; border:1px solid var(--border) !important; border-radius:0 !important; padding:10px 12px !important; background:#fff !important; color:var(--foreground) !important; font:400 18px/1.5 var(--sans) !important; box-shadow:none; }
.lotus-native-form textarea.elementor-field { min-height:100px; resize:vertical; }
.lotus-native-form .elementor-button { display:flex; justify-content:center; align-items:center; width:100%; min-height:52px; border:1px solid var(--primary) !important; border-radius:0 !important; background:var(--primary) !important; color:#fff !important; padding:13px 22px !important; font:500 18px/1.4 var(--sans) !important; }
.lotus-native-form .elementor-message { font:400 18px/1.6 var(--sans); }
.lotus-native-form .elementor-message-success { color:var(--foreground); }
.lotus-native-form .elementor-message-danger { color:#a03524; }
.lotus-native-form .contact-form-hint { margin-top:18px; }
.lotus-native-form input:focus-visible,.lotus-native-form textarea:focus-visible { outline:2px solid var(--ring); outline-offset:3px; }
.lotus-wordpress .contact-image { width:100%; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Mobile summary: show only the main phrases. */
@media (max-width: 760px) {
  .home-at-a-glance > span { font-size: 0.9375rem; }
  .home-at-a-glance small { display: none; }
}
