@font-face{font-family:AvenirRoman;src:url('/fonts/Avenir-Roman.woff') format('woff');font-display:swap}
@font-face{font-family:AvenirLight;src:url('/fonts/Avenir-Light.woff') format('woff');font-display:swap}
@font-face{font-family:AvenirBlack;src:url('/fonts/Avenir-Black.woff') format('woff');font-display:swap}
:root{--primary:#0088cc;--primary-soft:#e7f6fc;--accent:#087f74;--gold:#d5a331;--ink:#323e49;--muted:#686d78;--navy:#002b56;--paper:#f7f9fb;--surface:#fff;--line:#d9e1e8;--shadow:0 18px 46px rgba(27,43,58,.14)}
*{box-sizing:border-box}
html{min-height:100%;background:var(--paper)}
body{min-height:100vh;min-height:100dvh;margin:0;background:var(--paper);color:var(--ink);font-family:AvenirRoman,Avenir,Arial,sans-serif;font-size:16px;line-height:1.62;display:flex;flex-direction:column}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:100;transform:translateY(-160%);padding:8px 10px;border-radius:6px;background:var(--navy);color:white;font-family:AvenirBlack,Avenir,Arial,sans-serif}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--gold);outline-offset:2px;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:11px clamp(16px,4vw,52px);background:rgba(255,255,255,.96);border-bottom:1px solid rgba(217,225,232,.92);box-shadow:0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{display:block;width:150px;height:auto}
.nav-toggle{display:none}
.nav-shell{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav-menu{position:relative}
.nav-menu summary{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:999px;color:var(--muted);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.88rem;line-height:1;list-style:none;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary::after{content:"";width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.nav-menu summary:hover{background:#f1f5f8;color:var(--navy)}
.nav-menu summary:focus-visible,.nav-toggle:focus-visible,.menu-links a:focus-visible,.feature-link:focus-visible,.primary-link:focus-visible,.secondary-link:focus-visible,.site-footer a:focus-visible{outline:3px solid rgba(213,163,49,.72);outline-offset:3px}
.nav-menu[open] summary{background:var(--primary-soft);border-color:#b9ddec;color:var(--navy)}
.nav-menu[open] summary::after{transform:rotate(225deg) translate(-1px,-1px)}
.nav-menu-panel{position:absolute;right:0;top:calc(100% + 12px);display:grid;grid-template-columns:1fr;gap:16px;min-width:250px;max-width:min(92vw,680px);max-height:min(72vh,560px);overflow:auto;padding:18px;background:#fff;border:1px solid rgba(217,225,232,.95);border-radius:8px;box-shadow:var(--shadow)}
.nav-menu-wide .nav-menu-panel{grid-template-columns:repeat(2,minmax(210px,1fr));width:min(680px,92vw)}
.menu-group{display:grid;align-content:start;gap:8px;min-width:0}
.menu-heading{margin:0;color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.75rem;letter-spacing:0;text-transform:uppercase}
.menu-links{display:grid;gap:2px}
.menu-links a{display:flex;align-items:center;min-height:32px;margin-left:-8px;margin-right:-8px;padding:5px 8px;border-radius:6px;color:var(--ink);font-family:AvenirRoman,Avenir,Arial,sans-serif;font-size:.95rem;line-height:1.25}
.menu-links a:hover{background:#f3f7fa;color:var(--navy);text-decoration:none}
.content{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:38px 0 62px}
.home{display:block}
.home-hero{background:var(--surface);border-bottom:1px solid var(--line)}
.home-hero-inner{width:min(1080px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(260px,.66fr);gap:clamp(34px,6vw,84px);align-items:center;padding:clamp(44px,5vw,72px) 0 clamp(38px,5vw,60px)}
.home-summary{display:grid;gap:20px;min-width:0}
.home-label{width:max-content;max-width:100%;margin:0;padding:7px 0;border-bottom:2px solid var(--gold);color:var(--accent);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.82rem;text-transform:uppercase}
.home h1{max-width:860px;margin:0;color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:clamp(3rem,6.5vw,5.7rem);line-height:1.08;text-wrap:balance}
.home h1 span{display:block}
.intro{max-width:710px;margin:0;padding-left:18px;border-left:4px solid var(--primary);font-size:1.08rem}
.intro p{margin:0}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px}
.primary-link,.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:6px;font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.95rem;line-height:1.1}
.primary-link{padding:10px 15px;background:var(--navy);color:white}
.primary-link:hover{background:#073c75;text-decoration:none}
.secondary-link{padding:9px 14px;border:1px solid var(--line);background:white;color:var(--navy)}
.secondary-link:hover{border-color:#b9ddec;background:#f5f9fb;text-decoration:none}
.home-note{display:grid;gap:18px;align-content:center;min-width:0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-note p{margin:0;color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:1.14rem;line-height:1.22}
.home-note ul{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.home-note li{display:grid;gap:2px;padding:13px 0;border-bottom:1px solid var(--line)}
.home-note span{color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.94rem}
.home-note small{color:var(--muted);font-size:.9rem;line-height:1.35}
.home-links{padding-top:30px}
.contact-form button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border-radius:6px;background:var(--primary);color:white;font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.95rem}
.contact-form button:hover{background:#0079b7;text-decoration:none}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:0}
.feature-link{position:relative;display:grid;align-content:start;gap:8px;min-height:128px;padding:18px 18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 8px 20px rgba(27,43,58,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.feature-link::before{content:"";width:42px;height:3px;margin-bottom:4px;background:var(--primary)}
.feature-link:hover{border-color:#b9ddec;box-shadow:0 14px 30px rgba(27,43,58,.11);text-decoration:none;transform:translateY(-1px)}
.feature-link span{color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:1.05rem}
.feature-link span::after{content:"\2192";margin-left:8px;color:var(--accent)}
.feature-link small{color:var(--muted);font-size:.92rem;line-height:1.35}
.policy{max-width:820px}
.policy h1,.contact h1{font-family:AvenirBlack,Avenir,Arial,sans-serif;color:var(--navy);font-size:clamp(2rem,5vw,3.2rem);line-height:1.1}
.policy h2{margin-top:34px;color:var(--navy)}
.policy p,.policy li{max-width:74ch}
.policy strong{color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif}
.contact{display:grid;grid-template-columns:minmax(0,.68fr) minmax(320px,1fr);gap:clamp(26px,5vw,58px);align-items:start}
.page-intro{display:grid;gap:10px}
.page-intro h1{margin:0}
.page-intro p{margin:0;color:var(--muted)}
.page-intro .eyebrow{width:max-content;padding-bottom:6px;border-bottom:2px solid var(--gold);color:var(--accent);font-family:AvenirBlack,Avenir,Arial,sans-serif;font-size:.78rem;text-transform:uppercase}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid var(--line);background:white;border-radius:8px;box-shadow:0 10px 28px rgba(0,43,86,.08)}
.contact-form label{display:grid;gap:5px;font-family:AvenirBlack,Avenir,Arial,sans-serif}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #b7c5d2;border-radius:6px;padding:10px 12px;font:inherit;background:white;color:var(--ink)}
.contact-form textarea{min-height:148px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(0,136,204,.22);border-color:var(--primary)}
.contact-form input[aria-invalid="true"],.contact-form textarea[aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.contact-form .full,.turnstile-wrap,.contact-form button,#contact-status{grid-column:1/-1}
.turnstile-wrap{min-height:0;display:flex;align-items:center}
.turnstile-widget,.cf-turnstile{max-width:100%}
.contact-form button{border:0;cursor:pointer;width:max-content}
.contact-form button:disabled{opacity:.65;cursor:wait}
.honeypot{position:absolute;left:-10000px}
#contact-status{margin:0;color:var(--muted)}
#contact-status[data-state="error"],#contact-status[data-state="validation"]{color:#b42318}
#contact-status[data-state="success"]{color:var(--accent)}
.site-footer{margin-top:auto;border-top:1px solid var(--line);background:#fff}
.site-footer-inner{width:min(1080px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0;color:var(--muted);font-size:.9rem}
.site-footer p{margin:0}
.footer-name{color:var(--navy);font-family:AvenirBlack,Avenir,Arial,sans-serif}
.site-footer nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.site-footer a{color:var(--muted)}
.site-footer a:hover{color:var(--navy)}
@media (max-width:820px){.site-header{display:grid;grid-template-columns:auto 40px;align-items:center;gap:8px;padding:9px 16px}.site-header.nav-open{position:static}.brand img{width:134px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy);cursor:pointer}.nav-toggle:hover{border-color:#b9ddec;background:#f5f9fb}.nav-toggle-icon{display:grid;gap:4px;width:18px}.nav-toggle-icon span{display:block;height:2px;border-radius:999px;background:currentColor;transition:transform .16s ease,opacity .16s ease}.site-header.nav-open .nav-toggle-icon span:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-header.nav-open .nav-toggle-icon span:nth-child(2){opacity:0}.site-header.nav-open .nav-toggle-icon span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-shell{grid-column:1/-1;display:none;width:100%;padding:8px 0 2px;border-top:1px solid rgba(217,225,232,.75)}.site-header.nav-open .nav-shell{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;justify-items:stretch;gap:6px}.nav-menu{position:static;width:100%}.nav-menu summary{justify-content:space-between;width:100%;min-height:40px;padding:9px 12px;border-color:transparent;border-radius:8px;background:#fff;font-size:.88rem}.nav-menu summary:hover{background:#f3f7fa}.nav-menu[open] summary{border-color:#b9ddec}.nav-menu-panel,.nav-menu-wide .nav-menu-panel{position:static;grid-template-columns:1fr;width:100%;min-width:0;max-width:none;max-height:none;overflow:visible;margin:6px 0 2px;padding:12px 14px;border-radius:8px;box-shadow:0 12px 28px rgba(27,43,58,.1)}.menu-links a{min-height:34px}.home-hero-inner{grid-template-columns:1fr;gap:24px;padding:42px 0 30px}.home h1{font-size:clamp(2.65rem,13vw,4.55rem);line-height:1.1}.intro{font-size:1.03rem}.home-note{display:none}.feature-grid,.contact,.contact-form{grid-template-columns:1fr}.feature-link{min-height:0}.contact-form{gap:12px;padding:14px}.contact-form textarea{min-height:128px}.site-footer-inner{align-items:flex-start;flex-direction:column}.site-footer nav{justify-content:flex-start}}
@media (max-width:460px){.site-header{padding:9px 14px}.content,.home-hero-inner,.site-footer-inner{width:min(100% - 28px,1080px)}.content{padding-top:28px}.home-label{font-size:.74rem}.home h1{font-size:clamp(2.45rem,12.5vw,3.45rem);line-height:1.1}.intro{padding-left:14px}.hero-actions{align-items:stretch;flex-direction:column}.primary-link,.secondary-link{width:100%}.home-note p{font-size:1.05rem}}
