:root{
  --cream:#FBF3E7; --card:#FFFFFF; --line:#EDE2D0;
  --ink:#251A3D; --ink-soft:#6C6180;
  --indigo:#2A1A55; --indigo-deep:#1B1038; --indigo-mid:#33215E;
  --btn:#2E1B63; --btn-hover:#241353;
  --maroon:#96233F; --maroon-deep:#7A1B33;
  --gold:#D9A441; --gold-soft:#F4E6C4;
  --sage:#3F8C5F; --sage-bg:#E7F2EA;
  --rose-bg:#F8E6EA; --amber-bg:#FBF0DC;
  --lavender:#EFEAFB; --lavender-line:#DED2F7;
  --radius:16px; --radius-sm:10px;
  --serif:'Fraunces',Georgia,serif; --body:'Inter',-apple-system,sans-serif;
}
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700;9..144,800&family=Inter:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;} a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
svg.icon{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:14px 26px;font-family:var(--body);font-weight:700;font-size:15px;cursor:pointer;transition:.15s;}
.btn-primary{background:var(--btn);color:#fff;box-shadow:0 10px 24px -10px rgba(46,27,99,.5);}
.btn-primary:hover{background:var(--btn-hover);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-outline:hover{border-color:var(--indigo);}

/* header */
header{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;}
.nav{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:12px;}
.logo{display:flex;align-items:center;gap:9px;min-width:0;flex-shrink:0;}
.logo-full{height:42px;width:auto;display:block;}
@media(max-width:900px){ .logo-full{height:32px;max-width:160px;object-fit:contain;} }
.logo-mark{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:contain;display:block;}
.logo-text{line-height:1.1;}
.logo-text .l1{font-family:var(--serif);font-weight:700;font-size:17px;white-space:nowrap;}
.logo-text .l2{font-size:8.5px;letter-spacing:.16em;color:var(--ink-soft);font-weight:700;white-space:nowrap;}
.navlinks{display:flex;gap:24px;font-size:14px;font-weight:600;color:var(--ink-soft);}
.navlinks a:hover{color:var(--ink);}
.navlinks a.current{color:var(--maroon);}
.nav-controls{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.lang-dd{position:relative;}
.lang-dd-btn{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:100px;padding:8px 13px;font-size:13px;font-weight:700;cursor:pointer;color:var(--ink);}
.lang-dd-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 40px -20px rgba(37,26,61,.3);min-width:150px;overflow:hidden;z-index:150;}
.lang-dd-menu.show{display:block;}
.lang-backdrop{display:none;position:fixed;inset:0;z-index:140;background:transparent;}
.lang-backdrop.show{display:block;}
.lang-dd-item{padding:10px 14px;font-size:13.5px;font-weight:600;cursor:pointer;}
.lang-dd-item:hover{background:var(--lavender);}
.lang-dd-item.active{color:var(--maroon);}
.hamburger{display:none;background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer;padding:9px;width:40px;height:40px;align-items:center;justify-content:center;flex-shrink:0;}
.hamburger svg{width:20px;height:20px;}
.mobile-backdrop{display:none;position:fixed;inset:0;top:61px;background:rgba(27,16,56,.35);z-index:90;opacity:0;transition:opacity .2s ease;}
.mobile-backdrop.show{display:block;opacity:1;}
.mobile-menu{position:fixed;top:61px;left:0;right:0;z-index:95;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 24px 40px -20px rgba(37,26,61,.3);padding:18px 24px 22px;max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease, opacity .2s ease, padding .28s ease;}
.mobile-menu.show{max-height:80vh;opacity:1;overflow-y:auto;}
.mobile-navlinks{display:flex;flex-direction:column;gap:2px;}
.mobile-navlinks a{padding:13px 6px;font-size:15.5px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);}
.mobile-navlinks a:last-child{border-bottom:none;}
@media(max-width:900px){
  .wrap.nav{padding-left:18px;padding-right:18px;}
  .nav{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;column-gap:10px;}
  .hamburger{display:flex;grid-column:1;justify-self:start;}
  .logo{grid-column:2;justify-self:center;text-align:center;}
  .navlinks{display:none;}
  .nav-controls{grid-column:3;justify-self:end;}
  .nav-cta-desktop{display:none;}
  .lang-dd-btn{padding:0;width:40px;height:40px;justify-content:center;border-radius:10px;}
  .lang-dd-label,.lang-dd-caret{display:none;}
  .lang-dd-menu{right:0;}
}
@media(min-width:901px){ .mobile-menu,.mobile-backdrop{display:none !important;} }

/* page banner */
.page-banner{background:linear-gradient(160deg,var(--indigo-deep),var(--indigo-mid));color:#fff;padding:52px 0 42px;text-align:center;}
.page-banner .eyebrow-mini{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C4BADE;font-weight:700;}
.page-banner h1{color:#fff;font-size:clamp(28px,4.5vw,40px);margin:10px 0 12px;}
.page-banner p{color:#C4BADE;font-size:14.5px;max-width:56ch;margin:0 auto;}

/* content */
.page-content{max-width:760px;margin:0 auto;padding:50px 24px 76px;}
.page-content h2{font-size:21px;margin:32px 0 12px;}
.page-content h2:first-of-type{margin-top:0;}
.page-content p{font-size:15px;color:var(--ink-soft);margin-bottom:14px;}
.page-content ul{margin:0 0 16px 20px;color:var(--ink-soft);font-size:15px;}
.page-content li{margin-bottom:7px;}
.page-content strong{color:var(--ink);}
.meta-updated{display:block;font-size:12.5px;color:var(--ink-soft);margin-bottom:8px;font-weight:600;}
.email-card{background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:38px 24px;text-align:center;margin:8px 0 30px;}
.email-card .mail-icon{width:56px;height:56px;border-radius:50%;background:var(--lavender);color:var(--indigo);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.email-card a.email-link{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--maroon);display:inline-block;margin-bottom:8px;}
.email-card .note{font-size:12.5px;color:var(--ink-soft);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;}
@media(max-width:600px){.contact-grid{grid-template-columns:1fr;}}
.contact-tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;border-left:3px solid var(--maroon);}
.contact-tile h4{font-size:14px;margin-bottom:4px;}
.contact-tile p{font-size:12.5px;color:var(--ink-soft);margin:0;}

/* footer */
footer{background:var(--indigo-deep);color:#D8D2E8;padding:44px 0 20px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:30px;margin-bottom:30px;}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.footer-logo .logo-text .l1{color:#fff;}
.footer-brand p{font-size:12.5px;color:#B3A9CB;max-width:32ch;}
.footer-col h6{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#B3A9CB;margin-bottom:12px;}
.footer-col a{display:block;font-size:13px;color:#D8D2E8;margin-bottom:9px;}
.footer-col a:hover{color:#fff;}
.footer-contact{background:rgba(255,255,255,.06);border-radius:12px;padding:16px;}
.footer-contact p{font-size:12.5px;color:#B3A9CB;margin-bottom:10px;}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-logo .logo-mark{box-shadow:0 0 0 1px rgba(255,255,255,.15);}
.footer-social a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;text-align:center;font-size:12px;color:#9186A8;}