:root{
  --bg:#111111;
  --bg-soft:#171717;
  --panel:#181818;
  --panel-2:#1d1d1d;
  --surface:#151515;
  --text:#f2eee6;
  --muted:#b9b0a4;
  --muted-2:#948a7c;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --accent:#c8a46b;
  --accent-strong:#e0bf8c;
  --accent-soft:rgba(200,164,107,.14);
  --accent-soft-2:rgba(224,191,140,.10);
  --shadow:0 18px 45px rgba(0,0,0,.32);
  --shadow-soft:0 10px 24px rgba(0,0,0,.18);
  --radius:20px;
  --radius-sm:14px;
  --hero-wash:
    radial-gradient(900px 450px at 8% 0%, rgba(200,164,107,.10), transparent 58%),
    radial-gradient(850px 400px at 100% 10%, rgba(255,255,255,.04), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0));
  --btn-bg:rgba(255,255,255,.03);
  --btn-bg-hover:rgba(255,255,255,.08);
  --card-bg:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  --input-bg:rgba(255,255,255,.025);
  --faq-open-bg:linear-gradient(180deg, rgba(200,164,107,.18), rgba(200,164,107,.08));
  --toggle-track:#2b2a28;
  --toggle-thumb:#f2eee6;
  --logo-bg:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015));
  --font-body:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display:"Newsreader", Georgia, serif;
}

body[data-theme="light"]{
  --bg:#f4f1eb;
  --bg-soft:#efebe4;
  --panel:#ffffff;
  --panel-2:#fbf8f2;
  --surface:#faf7f1;
  --text:#181613;
  --muted:#5f584f;
  --muted-2:#7c7266;
  --line:rgba(24,22,19,.10);
  --line-strong:rgba(24,22,19,.16);
  --accent:#8e6d41;
  --accent-strong:#6f5532;
  --accent-soft:rgba(142,109,65,.11);
  --accent-soft-2:rgba(142,109,65,.07);
  --shadow:0 20px 50px rgba(26,22,16,.08);
  --shadow-soft:0 10px 24px rgba(26,22,16,.06);
  --hero-wash:
    radial-gradient(900px 420px at 8% 0%, rgba(142,109,65,.08), transparent 56%),
    radial-gradient(850px 400px at 100% 10%, rgba(0,0,0,.025), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0));
  --btn-bg:#ffffff;
  --btn-bg-hover:#f3eee6;
  --card-bg:linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,247,241,.98));
  --input-bg:#ffffff;
  --faq-open-bg:linear-gradient(180deg, rgba(142,109,65,.13), rgba(142,109,65,.05));
  --toggle-track:#dad2c6;
  --toggle-thumb:#181613;
  --logo-bg:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,244,238,.95));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ms-theme{
  margin:0;
  min-width:320px;
  background:var(--hero-wash), var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.5;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent-strong)}
:focus-visible{outline:3px solid rgba(200,164,107,.45);outline-offset:3px;border-radius:8px}
.ms-wrap{max-width:1120px;margin:0 auto;padding-left:max(18px,3px);padding-right:max(18px,3px)}
.ms-wrap-wide{max-width:1280px;margin:0 auto;padding-left:max(18px,3px);padding-right:max(18px,3px)}
.ms-narrow{max-width:860px;margin:0 auto}

/* Header / footer controlled by theme settings and menus */
.ms-site-header{position:sticky;top:0;z-index:50;background:rgba(17,17,17,.78);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
body[data-theme="light"] .ms-site-header{background:rgba(244,241,235,.84)}
body.admin-bar .ms-site-header{top:32px}
.ms-header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px}
.ms-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-width:180px}
.ms-logo-mark{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:var(--logo-bg);box-shadow:var(--shadow-soft);display:grid;place-items:center;color:var(--accent)}
.ms-site-title{display:block;font-weight:900;letter-spacing:.02em;line-height:1.05}
.ms-site-tagline{display:block;color:var(--muted);font-size:.82rem;font-weight:700;margin-top:2px}
.ms-nav ul{list-style:none;display:flex;align-items:center;gap:6px;margin:0;padding:0}
.ms-nav a{display:inline-flex;text-decoration:none;color:var(--muted);font-weight:800;font-size:.9rem;padding:9px 10px;border-radius:999px}
.ms-nav a:hover,.ms-nav a:focus-visible,.ms-nav .current-menu-item>a{background:var(--btn-bg-hover);color:var(--text)}
.ms-header-actions{display:flex;align-items:center;gap:10px}
.ms-menu-toggle{display:none}

.ms-theme-switch{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;background:var(--btn-bg);padding:8px 10px;cursor:pointer;user-select:none;color:var(--muted);font-weight:800;font-size:.8rem}
.ms-theme-switch input{position:absolute;opacity:0;pointer-events:none}
.ms-theme-switch .track{width:44px;height:24px;border:1px solid var(--line-strong);border-radius:999px;background:var(--toggle-track);position:relative;display:inline-block;transition:background .2s ease,border-color .2s ease}
.ms-theme-switch .thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--toggle-thumb);transition:transform .2s ease;box-shadow:0 2px 6px rgba(0,0,0,.25)}
body[data-theme="light"] .ms-theme-switch .thumb{transform:translateX(20px)}
.ms-theme-switch:hover{background:var(--btn-bg-hover);color:var(--text)}

.ms-site-footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:42px;padding:34px 0;color:var(--muted)}
.ms-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.ms-footer-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ms-footer-menu a{color:var(--muted);font-weight:800;text-decoration:none}
.ms-footer-menu a:hover{color:var(--text)}
.widget-title{font-size:1rem;margin:0 0 10px;color:var(--text)}

/* Buttons */
.ms-btn,.btn,.wp-block-button__link,input[type="submit"],button.ms-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:42px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);
  background:var(--btn-bg);color:var(--text);font-weight:900;text-decoration:none;letter-spacing:.01em;
  box-shadow:none;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.ms-btn:hover,.ms-btn:focus-visible,.btn:hover,.btn:focus-visible,.wp-block-button__link:hover,.wp-block-button__link:focus-visible,input[type="submit"]:hover,input[type="submit"]:focus-visible,button.ms-btn:hover,button.ms-btn:focus-visible{
  transform:translateY(-1px);background:var(--btn-bg-hover);border-color:var(--accent);color:var(--text);box-shadow:var(--shadow-soft);
}
.ms-btn.primary,.btn.primary,.wp-block-button.is-style-fill .wp-block-button__link,input[type="submit"]{
  border-color:transparent;background:var(--accent);color:#111111;
}
body[data-theme="light"] .ms-btn.primary,body[data-theme="light"] .btn.primary,body[data-theme="light"] input[type="submit"]{color:#fff;background:var(--accent-strong)}
.ms-btn.primary:hover,.btn.primary:hover,input[type="submit"]:hover{background:var(--accent-strong)}
.ms-btn-sml,.btn-sml{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:var(--btn-bg);color:var(--muted);font-weight:900;font-size:.82rem;text-decoration:none}
.ms-btn-sml:hover,.btn-sml:hover{background:var(--btn-bg-hover);color:var(--text);border-color:var(--accent)}
.ms-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}

/* Structure */
.ms-page{min-height:60vh}
.ms-section{padding:34px 0}
.ms-section:first-child{padding-top:46px}
.ms-section-narrow .ms-wrap{max-width:860px}
.ms-hero{padding:48px 0 30px}
.ms-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:stretch}
.ms-hero-grid-reverse{grid-template-columns:.95fr 1.05fr}
.ms-panel,.ms-card,.ms-contact-card,.ms-cta-card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;overflow:hidden}
.ms-panel.flush{padding:0}
.ms-hero-card{padding:30px}
.ms-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--accent-strong);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
h1,h2,h3,h4{color:var(--text);letter-spacing:-.02em;line-height:1.08;margin:0 0 .55em}
h1{font-family:var(--font-display);font-size:clamp(2.3rem,5.2vw,4.8rem);font-weight:700;letter-spacing:-.045em}
h2{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.8rem);font-weight:700}
h3{font-size:1.12rem;font-weight:900;letter-spacing:-.01em}
p{margin:0 0 1em;color:var(--muted)}
.lead,.ms-lead{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--muted);font-weight:550}
.ms-sub{color:var(--muted);font-weight:650;margin:0}
.ms-sec-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.ms-sec-title h2{margin-bottom:0}
.ms-sec-title .ms-sub{max-width:440px}
.ms-kicker-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}
.ms-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--btn-bg);border-radius:999px;padding:8px 11px;color:var(--muted);font-weight:900;font-size:.82rem}
.ms-tag{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 10px;margin:0 0 12px;background:var(--accent-soft);color:var(--accent-strong);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.ms-grid{display:grid;gap:16px}
.ms-grid-1{grid-template-columns:1fr}.ms-grid-2{grid-template-columns:repeat(2,1fr)}.ms-grid-3{grid-template-columns:repeat(3,1fr)}.ms-grid-4{grid-template-columns:repeat(4,1fr)}
.ms-card-body ul,.ms-bullets{margin:10px 0 0;padding-left:18px;color:var(--muted)}
.ms-card-body li,.ms-bullets li{margin:7px 0}
.ms-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.ms-detail{border:1px solid var(--line);background:var(--btn-bg);border-radius:var(--radius-sm);padding:12px}
.ms-detail strong{display:block;color:var(--text);margin-bottom:4px}.ms-detail span{display:block;color:var(--muted);font-size:.93rem;font-weight:650}
.ms-note{border-left:3px solid var(--accent);padding:12px 14px;background:var(--accent-soft-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--muted);font-weight:650}
.ms-placeholder{border:1px dashed var(--line-strong);background:var(--btn-bg);border-radius:var(--radius-sm);padding:18px;color:var(--muted);font-weight:650}
.ms-path-list code{display:block;margin:8px 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--btn-bg);color:var(--muted);white-space:normal;word-break:break-word}

/* FAQ / accordions */
.ms-faq-list,.accordionList{display:grid;gap:10px}
.ms-faq-item{scroll-margin-top:96px}
.ms-faq-button,.faq .q,.accordionTrigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:var(--btn-bg);color:var(--text);border-radius:var(--radius-sm);padding:15px 16px;font-weight:950;text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.ms-faq-button:hover,.ms-faq-button:focus-visible,.faq .q:hover,.faq .q:focus-visible,.accordionTrigger:hover,.accordionTrigger:focus-visible{background:var(--btn-bg-hover);border-color:var(--accent);box-shadow:var(--shadow-soft)}
.ms-faq-button[aria-expanded="true"],.faq .q[aria-expanded="true"],.accordionTrigger[aria-expanded="true"]{background:var(--faq-open-bg);border-color:rgba(224,191,140,.34);box-shadow:inset 0 0 0 1px rgba(224,191,140,.16),var(--shadow-soft)}
.ms-faq-button[aria-expanded="true"] i,.faq .q[aria-expanded="true"] span:last-child,.accordionTrigger[aria-expanded="true"] .icon{transform:rotate(45deg);color:var(--accent-strong)}
.ms-faq-answer,.faq .a,.accordionPanel{padding:13px 16px 4px;color:var(--muted);font-weight:650}
.ms-faq-answer[hidden],.accordionPanel[hidden]{display:none}

/* Contact Form 7 */
.ms-contact-card{scroll-margin-top:96px}
.wpcf7 form{display:grid;gap:12px;margin-top:16px}.wpcf7 label{display:grid;gap:7px;color:var(--muted);font-weight:900;font-size:.88rem}.wpcf7 input:not([type="submit"]),.wpcf7 select,.wpcf7 textarea,input:not([type="submit"]),select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text);padding:12px 13px;font:inherit;min-height:44px}.wpcf7 textarea,textarea{min-height:104px;resize:vertical}.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid rgba(200,164,107,.22)}.wpcf7-list-item{margin:0 12px 8px 0}.wpcf7-radio .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:10px 12px;background:var(--btn-bg);cursor:pointer}.wpcf7-radio input{accent-color:var(--accent)}.wpcf7-not-valid-tip{color:#ffb4a9;font-weight:800;font-size:.84rem}.wpcf7 form .wpcf7-response-output{margin:14px 0 0;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;color:var(--muted)}.ms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ms-form-grid .full{grid-column:1/-1}.ms-form-note{font-size:.82rem;color:var(--muted-2);line-height:1.4;margin-top:8px}

/* Gutenberg/plugin support */
.wp-block-group{padding-left:max(0px,3px);padding-right:max(0px,3px)}
.wp-block-image img{border-radius:var(--radius-sm)}
.wp-block-quote{border-left:3px solid var(--accent);padding-left:16px;color:var(--muted)}
.wp-block-carousel-slider,.carousel-slider,.carousel-slider-block,.wp-block-cb-carousel-slider{border:1px solid var(--line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow-soft);overflow:hidden;padding:8px}
.ms-breadcrumbs{margin:18px auto 0;max-width:1120px;padding:0 18px;color:var(--muted);font-size:.86rem;font-weight:800}.ms-breadcrumbs a{text-decoration:none;color:var(--muted)}.ms-breadcrumbs a:hover{color:var(--text)}

/* Utility */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.skip-link:focus{clip:auto!important;clip-path:none;height:auto;width:auto;z-index:100000;left:10px;top:10px;background:var(--panel);color:var(--text);padding:10px;border-radius:10px}.alignwide{max-width:1120px}.alignfull{max-width:none}.has-small-font-size{font-size:.88rem}.has-large-font-size{font-size:1.25rem}

@media (max-width: 980px){
  .ms-hero-grid,.ms-hero-grid-reverse{grid-template-columns:1fr}.ms-grid-4{grid-template-columns:repeat(2,1fr)}.ms-grid-3{grid-template-columns:repeat(2,1fr)}.ms-detail-grid{grid-template-columns:1fr 1fr}.ms-sec-title{align-items:start;flex-direction:column}.ms-nav{display:none}.ms-menu-toggle{display:inline-flex}.ms-header-actions{gap:8px}.ms-form-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .ms-wrap,.ms-wrap-wide{padding-left:max(14px,3px);padding-right:max(14px,3px)}.ms-section{padding:24px 0}.ms-hero-card,.ms-panel,.ms-card,.ms-contact-card,.ms-cta-card{padding:18px}.ms-grid-2,.ms-grid-3,.ms-grid-4,.ms-detail-grid,.ms-footer-grid{grid-template-columns:1fr}.ms-header-inner{min-height:66px}.ms-site-tagline{display:none}.ms-theme-switch .label{display:none}.ms-btn,.btn{width:100%}.ms-cta-row .ms-btn{width:auto;flex:1 1 auto}
}
