*{box-sizing:border-box}
html,body{margin:0;padding:0}
/* Sticky footer layout: body as column flex, main grows */
html, body{height:100%}
/* Theme colors */
:root{ --cream: #fffffe }
body{min-height:100vh;display:flex;flex-direction:column}
main{flex:1 0 auto}
img{max-width:100%;display:block;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover)}


body{
background: var(--cream, #fffffe);
color: var(--charcoal, #264653);
font-family: "Palatino Linotype", Palatino, "Book Antiqua", serif;
line-height:1.65; font-size:16px;
}
/* Prevent background scroll when mobile menu is open */
body.no-scroll{overflow:hidden}

/* Hide any explicit contentReference wrapper elements if present */
[class*="contentReference"], .contentReference{ display:none !important; visibility:hidden !important; }
/* Keep watermark behind content */
body{position:relative}
body > *{position:relative}
/* Site-wide watermark */
.wm{position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); width:80vw; height:80vw; max-width:80vw; max-height:80vh; opacity:.2; pointer-events:none; z-index:0; background:url('/assets/img/watermark.png') center/contain no-repeat}
.h1,.h2,.h3,.h4,h1,h2,h3,h4{font-family:"Times New Roman", Times, serif;margin:0 0 .5rem;color:var(--charcoal)}
.h1,h1{font-size:clamp(28px,3.8vw,44px)}
.h2,h2{font-size:clamp(22px,3vw,34px)}
.h3,h3{font-size:clamp(18px,2.2vw,26px)}
.h4,h4{font-size:16px;text-transform:uppercase;letter-spacing:.02em}
.muted{color:var(--muted)}
.lead{font-size:1.125rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:12px;font-weight:700;border:2px solid transparent;transition:.2s;text-decoration:none}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--green);color:var(--charcoal)}
.btn-outline{background:transparent;color:var(--charcoal);border-color:var(--charcoal)}
.btn-outline:hover{background:var(--green)}
/* Button polish */
.btn{box-shadow:0 2px 10px rgba(38,70,83,.08)}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.notice{padding:12px 14px;border-radius:10px;margin-bottom:12px}
.notice.success{background:#e6ffed;border:1px solid #b7f5c3}
.notice.error{background:#ffefef;border:1px solid #ffc4c4}

/* simple margin utilities used in markup */
.mt-3{margin-top:12px}
.mt-4{margin-top:18px}
.center{text-align:center}
.d2d-d-cards .h3{text-align:center}
