:root{
  --burgundy:#7F2E34;
  --burgundy-dark:#751E24;
  --gray:#58595B;
  --text:#333333;
  --off:#F7F4F4;
  --footer-gray:#F1F1F1;
  --border:rgba(127,46,52,.16);
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:var(--burgundy);text-underline-offset:3px}
.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:20px;top:20px;background:#fff;z-index:9999;padding:10px}
.container{max-width:var(--max);margin:0 auto;padding:0 32px}

.site-header{background:#fff}
.header-inner{max-width:var(--max);margin:0 auto;padding:24px 32px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.site-logo-img,.custom-logo{width:245px;max-height:80px;object-fit:contain;display:block}
.main-navigation{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:700}
.main-navigation ul{list-style:none;display:flex;flex-wrap:wrap;gap:30px;margin:0;padding:0;align-items:center;justify-content:center}
.main-navigation a{color:var(--text);text-decoration:none}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--burgundy)}
.mobile-menu-toggle{display:none}
.button,.header-cta{display:inline-block;border-radius:999px;background:var(--burgundy);color:#fff;padding:13px 20px;font-family:Arial,Helvetica,sans-serif;font-weight:800;text-decoration:none;border:0}
.button:hover,.header-cta:hover{background:var(--burgundy-dark);color:#fff}
.button-outline{background:#fff;color:var(--burgundy);border:1px solid rgba(127,46,52,.35)}

.hero{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--off);padding:64px 0}
.kicker{font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--burgundy);margin:0 0 18px}
.hero h1{max-width:1000px;margin:0;color:var(--text);font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.03;letter-spacing:-.045em}
.hero p{max-width:820px;margin:24px 0 0;color:var(--gray);font-size:1.2rem;line-height:1.75}

.home-image-hero{
  position:relative;
  min-height:640px;
  padding:82px 0;
  background-color:var(--off);
  background-size:cover;
  background-position:center;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  overflow:hidden;
}
.home-image-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(127,46,52,.28) 0%, rgba(51,51,51,.08) 42%, rgba(51,51,51,.00) 100%);
}
.home-image-hero .container{position:relative;z-index:1}
.home-hero-grid{display:grid;grid-template-columns:minmax(320px,560px);gap:0;align-items:start}
.hero-panel,.hero-alert{
  border-radius:22px;
  border:1px solid rgba(127,46,52,.18);
  background:rgba(247,244,244,.62);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 14px 36px rgba(51,51,51,.14);
}
.hero-panel{padding:34px;max-width:560px}
.hero-alert{padding:24px;margin-top:20px;max-width:520px}
.hero-panel h1{max-width:760px;margin:0;color:var(--text);font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.03;letter-spacing:-.045em}
.hero-panel p,.hero-alert p{color:var(--text);text-shadow:0 1px 0 rgba(255,255,255,.22)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

.section{padding:78px 0;border-bottom:1px solid var(--border)}
.section h2{margin:0;color:var(--text);font-size:clamp(2rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.035em}
.section p{color:var(--gray)}
.section-heading-center{text-align:center;max-width:760px;margin:0 auto 42px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 40px}
.rule-card{border-top:1px solid var(--burgundy);padding-top:20px}
.rule-card h2,.rule-card h3{margin:0;color:var(--text);font-size:1.45rem;line-height:1.18}
.rule-card p{margin:12px 0 0;color:var(--gray)}
.text-link{display:inline-block;margin-top:16px;font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:800;text-decoration:none;color:var(--burgundy)}
.two-col{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px}
.two-col-rule{border-left:1px solid rgba(127,46,52,.2);padding-left:48px}
.consult-band{background:var(--off);padding:56px 0;border-bottom:1px solid var(--border)}
.consult-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:center}

.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px}
.callout{border-left:4px solid var(--burgundy);background:var(--off);padding:28px;margin-bottom:48px}
.content-main h2{margin:48px 0 16px;font-size:2.4rem;line-height:1.1}
.content-main p{color:var(--gray)}
.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 34px}
.list-grid div{border-top:1px solid rgba(127,46,52,.4);padding-top:14px;font-family:Arial,Helvetica,sans-serif;font-weight:800;color:var(--text)}
.sidebar-box{border-top:4px solid var(--burgundy);background:var(--off);padding:28px;position:sticky;top:24px}
.sidebar-box h2{font-size:1.75rem;margin:0}
.sidebar-box p{color:var(--gray)}

.post-card{border-top:1px solid var(--burgundy);padding-top:20px}
.post-card-date{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;color:var(--gray)}
.post-card h2{margin:12px 0 0;font-size:1.5rem;line-height:1.18}
.post-card h2 a{color:var(--text);text-decoration:none}
.post-card h2 a:hover{color:var(--burgundy)}
.article{max-width:860px;margin:0 auto;padding:78px 32px}
.article h2{font-size:2.4rem;line-height:1.1;margin:48px 0 16px}
.article p{color:var(--gray)}
.article-meta{font-family:Arial,Helvetica,sans-serif;color:var(--gray);margin-top:28px;display:flex;gap:14px;flex-wrap:wrap}

.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:64px}
.form-shell{border-top:4px solid var(--burgundy);background:var(--off);padding:28px}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.map-placeholder,.map-embed iframe{width:100%;height:288px;border:1px solid rgba(127,46,52,.2);background:var(--off);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--burgundy);font-family:Arial,Helvetica,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.map-embed iframe{border-radius:0}

.site-footer{background:var(--footer-gray);padding:48px 0 28px}
.footer-grid{max-width:var(--max);margin:0 auto;padding:30px 32px 28px;border-top:1px solid var(--border);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:28px;align-items:start}
.footer-title{color:var(--burgundy);font-weight:800;font-size:1.35rem;margin:0}
.footer-heading{font-family:Arial,Helvetica,sans-serif;font-weight:800;color:var(--text)}
.footer-grid p{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;color:var(--gray);margin:10px 0 0}
.footer-bottom{max-width:var(--max);margin:0 auto;padding:22px 32px 0;border-top:1px solid var(--border);font-family:Arial,Helvetica,sans-serif;font-size:.86rem;color:var(--gray)}

@media(max-width:980px){
  .header-inner{grid-template-columns:1fr auto}
  .mobile-menu-toggle{display:inline-block;border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 12px;color:var(--burgundy);font-family:Arial,Helvetica,sans-serif;font-weight:800}
  .main-navigation{display:none;grid-column:1/-1}
  .main-navigation.is-open{display:block}
  .main-navigation ul{display:block}
  .main-navigation li{margin:12px 0}
  .header-actions{display:none}
  .home-hero-grid,.two-col,.content-layout,.contact-grid,.footer-grid,.consult-grid{grid-template-columns:1fr}
  .grid-3,.list-grid,.map-grid{grid-template-columns:1fr}
  .sidebar-box{position:static}
  .two-col-rule{border-left:0;padding-left:0}
  .hero-alert{margin-bottom:0}
}
@media(max-width:560px){
  body{font-size:17px}
  .container,.header-inner,.footer-grid,.footer-bottom,.article{padding-left:22px;padding-right:22px}
  .hero{padding:48px 0}
  .home-image-hero{padding:56px 0;min-height:0}
  .hero-panel{padding:28px}
  .section{padding:56px 0}
}

.sim-contact-form{margin-top:22px;font-family:Arial,Helvetica,sans-serif}
.sim-contact-form label{display:block;font-weight:800;color:var(--text);font-size:.92rem;margin:0 0 7px}
.sim-contact-form input,.sim-contact-form select,.sim-contact-form textarea{width:100%;border:1px solid rgba(127,46,52,.24);border-radius:12px;background:#fff;padding:12px 14px;font-size:1rem;margin-bottom:16px}
.sim-contact-form textarea{min-height:130px}
.sim-contact-form .sim-honeypot{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}
.sim-form-message{border-left:4px solid var(--burgundy);background:#fff;padding:14px 16px;margin-bottom:18px;font-family:Arial,Helvetica,sans-serif;color:var(--text)}
