/* Treasure Design System 0.1.1 — tokens, buttons, sitewide header and footer. Scoped to .tvr-ds / #tvr-ds-* */
:root{--tvr-navy:#0f2a3f;--tvr-ink:#15212b;--tvr-muted:#5b6b78;--tvr-sand:#f6efe4;--tvr-sand-2:#efe4d2;--tvr-sea:#2b8fb3;--tvr-sea-2:#bfe6f2;--tvr-sea-ink:#1c7091;--tvr-coral:#e2483d;--tvr-coral-d:#c63a30;--tvr-line:rgba(15,42,63,.12);--tvr-display:Georgia,"Times New Roman",serif;--tvr-body:Montserrat,system-ui,sans-serif;--tvr-shadow:0 24px 60px -24px rgba(15,42,63,.45)}
.tvr-ds,.tvr-ds *,.tvr-ds *::before,.tvr-ds *::after{box-sizing:border-box}
.tvr-ds{font:15px/1.5 var(--tvr-body);color:var(--tvr-ink)}
#tvr-ds-top{display:contents} /* lets the sticky header stick to the page, not to this wrapper */
#tvr-ds-top>*{font:15px/1.5 var(--tvr-body);color:var(--tvr-ink)}
.tvr-ds a{color:inherit;text-decoration:none}
.tvr-ds ul{list-style:none;margin:0;padding:0}
.tvr-ds p{margin:0}
.tvr-ds-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.tvr-ds-eyebrow{display:block;font:700 11px/1.3 var(--tvr-body)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--tvr-sea-ink)}
.tvr-ds :focus-visible{outline:3px solid var(--tvr-sea);outline-offset:2px;border-radius:6px}

/* buttons (theme hardening: Hello's reset.css restyles every button) */
.tvr-ds .tvr-ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:11px 18px;font:700 14px var(--tvr-body);cursor:pointer;white-space:nowrap;text-transform:none;letter-spacing:normal;transition:background .2s,transform .2s}
.tvr-ds .tvr-ds-btn-coral{background:var(--tvr-coral);color:#fff}
.tvr-ds .tvr-ds-btn-coral:hover{background:var(--tvr-coral-d);color:#fff;transform:translateY(-1px)}
.tvr-ds .tvr-ds-btn-ghost{background:transparent;color:var(--tvr-navy);box-shadow:inset 0 0 0 1.5px var(--tvr-line)}

/* promo */
#tvr-ds-top .tvr-ds-promo{background:var(--tvr-navy);color:#fff;text-align:center;font:600 13px/1.4 var(--tvr-body);padding:8px 16px}
#tvr-ds-top .tvr-ds-promo a{color:var(--tvr-sea-2)!important;text-decoration:underline!important;text-underline-offset:3px}

/* header */
.tvr-ds-header{position:sticky;top:0;z-index:9000;background:rgba(255,253,249,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--tvr-line);transition:box-shadow .3s}
.admin-bar .tvr-ds-header{top:32px}
.tvr-ds-header.is-scrolled{box-shadow:0 10px 30px -18px rgba(15,42,63,.35)}
.tvr-ds-bar{max-width:1320px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:28px;min-height:76px;transition:min-height .3s}
.tvr-ds-header.is-scrolled .tvr-ds-bar{min-height:64px}
.tvr-ds-logo{flex:none;display:block}
.tvr-ds-logo img{display:block;height:54px;width:auto;transition:height .3s}
.tvr-ds-header.is-scrolled .tvr-ds-logo img{height:44px}
.tvr-ds-nav{flex:1;display:flex;justify-content:center}
.tvr-ds-menu{display:flex;gap:4px;align-items:center}
.tvr-ds-menu-item{position:relative}
.tvr-ds .tvr-ds-top-link{display:inline-flex;align-items:center;gap:4px;background:none;border:0;border-radius:999px;padding:10px 14px;font:600 15px var(--tvr-body);color:var(--tvr-navy);cursor:pointer;text-transform:none;letter-spacing:normal}
.tvr-ds .tvr-ds-top-link:hover,.tvr-ds .tvr-ds-top-link[aria-expanded="true"]{background:var(--tvr-sand);color:var(--tvr-navy)}
.tvr-ds-top-link svg{width:16px;height:16px;transition:transform .2s}
.tvr-ds-top-link[aria-expanded="true"] svg{transform:rotate(180deg)}
.tvr-ds-sub{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,6px);opacity:0;visibility:hidden;background:#fff;border-radius:18px;box-shadow:var(--tvr-shadow);border:1px solid var(--tvr-line);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:10}
.tvr-ds-sub.is-open{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .2s,transform .2s,visibility 0s}
.tvr-ds-drop{padding:10px;min-width:240px}
.tvr-ds-drop a,.tvr-ds-mega .tvr-ds-col a{display:block;padding:9px 12px;border-radius:10px;font-weight:600;color:var(--tvr-ink)}
.tvr-ds-drop a:hover,.tvr-ds-mega .tvr-ds-col a:hover{background:var(--tvr-sand);color:var(--tvr-navy)}
.tvr-ds-mega{display:grid;grid-template-columns:200px 220px 260px;gap:18px;padding:20px;width:max-content;left:-16px;transform:translateY(6px)}
.tvr-ds-mega.is-open{transform:translateY(0)}
.tvr-ds-mega .tvr-ds-eyebrow{padding:0 12px 6px}
.tvr-ds-feature{display:block;border-radius:14px;overflow:hidden;background:var(--tvr-navy);color:#fff!important}
.tvr-ds-feature img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.tvr-ds-feature .tvr-ds-eyebrow{padding:12px 14px 0;color:var(--tvr-sea-2)}
.tvr-ds-feature-t{display:block;padding:4px 14px 14px;font:600 17px/1.25 var(--tvr-display)}
.tvr-ds-all{grid-column:1/-1;border-top:1px solid var(--tvr-line);padding-top:12px}
.tvr-ds-all a{font-weight:700;color:var(--tvr-navy)}
.tvr-ds-actions{flex:none;display:flex;align-items:center;gap:12px}
.tvr-ds-phone{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--tvr-navy)!important}
.tvr-ds-phone svg{width:18px;height:18px}
.tvr-ds .tvr-ds-burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--tvr-line);background:#fff;color:var(--tvr-navy);align-items:center;justify-content:center;padding:0;cursor:pointer}

.tvr-pill-shown .tvr-ds-header .tvr-ds-search-btn{display:none}

/* mobile drawer */
.tvr-ds-drawer{position:fixed;inset:0;z-index:10001;background:#fff;overflow-y:auto;padding:14px 20px 28px;display:flex;flex-direction:column}
.tvr-ds-drawer[hidden]{display:none}
.tvr-ds-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.tvr-ds-drawer-head .tvr-ds-logo img{height:44px}
.tvr-ds .tvr-ds-drawer-close{width:44px;height:44px;border-radius:12px;border:1px solid var(--tvr-line);background:#fff;color:var(--tvr-navy);display:grid;place-items:center;padding:0}
.tvr-ds-drawer nav>ul>li{border-bottom:1px solid var(--tvr-line)}
.tvr-ds-drawer-top{display:flex;justify-content:space-between;align-items:center;padding:16px 4px;font:600 20px var(--tvr-display);color:var(--tvr-navy);cursor:pointer;list-style:none}
.tvr-ds-drawer summary::-webkit-details-marker{display:none}
.tvr-ds-drawer details[open] summary svg{transform:rotate(180deg)}
.tvr-ds-drawer details ul{padding:0 4px 14px}
.tvr-ds-drawer details a{display:block;padding:9px 0;font-weight:600;color:var(--tvr-ink)}
.tvr-ds-drawer-foot{margin-top:auto;padding-top:20px;display:grid;gap:10px}

/* footer */
.tvr-ds-footer{background:#0b1e2c;color:#b9cad6;padding:64px 0 28px;font-size:14px}
.tvr-ds-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:32px}
.tvr-ds-footer-brand .tvr-ds-logo img{height:64px;filter:brightness(0) invert(1);opacity:.95}
.tvr-ds-footer-brand p{margin:16px 0;color:#cfdce5;max-width:34ch}
.tvr-ds-contact li{display:flex;gap:10px;align-items:flex-start;margin:8px 0}
.tvr-ds-contact svg{flex:none;width:18px;height:18px;color:var(--tvr-sea-2);margin-top:1px}
.tvr-ds-contact a:hover{color:#fff}
.tvr-ds-social{display:flex;gap:10px;margin-top:18px}
.tvr-ds-social a{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 12px;font-weight:600;color:#e3edf3}
.tvr-ds-social a:hover{background:rgba(255,255,255,.1)}
.tvr-ds-footer-title{font:700 12px var(--tvr-body);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:12px!important}
.tvr-ds-footer-col a{display:block;padding:5px 0;color:#b9cad6}
.tvr-ds-footer-col a:hover{color:#fff}
.tvr-ds-footer-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#8fa6b5}
.tvr-ds-footer-base a:hover{color:#fff}

@media (max-width:1100px){
  .tvr-ds-nav,.tvr-ds-phone span{display:none}
  .tvr-ds .tvr-ds-burger{display:inline-flex}
  .tvr-ds-footer-grid{grid-template-columns:1fr 1fr 1fr}
  .tvr-ds-footer-brand{grid-column:1/-1}
}
@media (max-width:600px){
  .tvr-ds-bar{padding:8px 16px;gap:10px;min-height:64px}
  .tvr-ds-logo img{height:42px}
  .tvr-ds-search-btn span{display:none}
  .tvr-ds .tvr-ds-search-btn{padding:11px}
  .tvr-ds-phone{width:44px;height:44px;justify-content:center;border-radius:12px;border:1px solid var(--tvr-line)}
  .tvr-ds-footer-grid{grid-template-columns:1fr 1fr}
  .tvr-ds-promo{font-size:12px}
}
@media (max-width:782px){.admin-bar .tvr-ds-header{top:46px}}
@media (prefers-reduced-motion:reduce){.tvr-ds *{transition:none!important}}

/* takeover: the new header carries the promo, so hide the WPFront bar and its spacer */
.tvr-ds-takeover .wpfront-notification-bar,.tvr-ds-takeover .wpfront-notification-bar-spacer{display:none!important}
.tvr-ds-takeover{padding-top:0!important}
/* 0.3.12: newsletter band (Contact Form 7 form 69, same as the old footer) */
.tvr-ds-news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:center;padding-bottom:40px;margin-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12)}
.tvr-ds-news-title{font:600 26px/1.2 var(--tvr-display);color:#fff;margin:0 0 6px!important}
.tvr-ds-news-copy p:not(.tvr-ds-news-title){margin:0;color:#cfdce5;max-width:46ch}
.tvr-ds-news-form form{margin:0}
.tvr-ds-news-form form>p,.tvr-ds-news-form .wpcf7-form>div:not(.wpcf7-response-output){margin:0}
.tvr-ds-news-form .wpcf7-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.tvr-ds-news-form .wpcf7-form-control-wrap{flex:1 1 220px;display:block}
.tvr-ds-news-form input[type=email]{width:100%;box-sizing:border-box;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff;padding:0 20px;font:15px var(--tvr-body)}
.tvr-ds-news-form input[type=email]::placeholder{color:#a9bccb;opacity:1}
.tvr-ds-news-form input[type=email]:focus{outline:3px solid var(--tvr-sea);outline-offset:2px;border-color:transparent}
.tvr-ds-news-form input[type=submit],.tvr-ds-news-form button[type=submit]{height:48px;border:0;border-radius:999px;background:var(--tvr-coral);color:#fff;font:700 15px var(--tvr-body);padding:0 24px;cursor:pointer}
.tvr-ds-news-form input[type=submit]:hover,.tvr-ds-news-form button[type=submit]:hover{background:var(--tvr-coral-d)}
.tvr-ds-news-form .wpcf7-spinner{margin:14px 0 0 6px}
.tvr-ds-news-form .wpcf7-response-output{flex-basis:100%;margin:6px 0 0!important;border-radius:12px;color:#fff;font-size:14px}
.tvr-ds-news-form .wpcf7-not-valid-tip{color:#ffb4ad;font-size:13px;margin-top:6px}
@media (max-width:860px){.tvr-ds-news{grid-template-columns:1fr;gap:16px}}

/* Keyboard pass (2026-09-28): skip link first and visible; footer newsletter and OneTap button get a focus ring. */
.tvr-ds-takeover a.skip-link:not(.tvr-ds-skip){display:none!important}
.tvr-ds-skip:focus{position:fixed!important;top:10px;left:10px;z-index:100001;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;overflow:visible!important;margin:0!important;background:#fff;color:var(--tvr-navy)!important;padding:12px 20px!important;border-radius:999px;font:700 15px var(--tvr-body);text-decoration:none;box-shadow:0 12px 30px -10px rgba(15,42,63,.5);outline:3px solid var(--tvr-sea);outline-offset:2px}
.tvr-ds-takeover .tvr-ds-news-form input:focus-visible,.tvr-ds-takeover .tvr-ds-footer .wpcf7 input:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
.onetap-toggle:focus-visible{outline:3px solid var(--tvr-navy)!important;outline-offset:3px!important}
/* 0.3.56 (Isaac, 2026-09-28: logo "as big as they can … and still look great"). Header buttons sit at the right edge
   on every width, which frees room for the logo on phones. Tiny phones keep the old size so nothing collides. */
.tvr-ds-header .tvr-ds-actions{margin-left:auto}
.tvr-ds-header .tvr-ds-logo img{height:68px}
.tvr-ds-header.is-scrolled .tvr-ds-logo img{height:54px}
.tvr-ds-drawer-head .tvr-ds-logo img{height:52px}
@media (max-width:1023.98px){.tvr-ds-header .tvr-ds-logo img{height:60px}.tvr-ds-header.is-scrolled .tvr-ds-logo img{height:50px}}
@media (max-width:600px){.tvr-ds-header .tvr-ds-logo img{height:54px}.tvr-ds-header.is-scrolled .tvr-ds-logo img{height:48px}}
@media (max-width:359.98px){.tvr-ds-header .tvr-ds-logo img,.tvr-ds-header.is-scrolled .tvr-ds-logo img{height:42px}}
