@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root{--blue:#084bc3;--navy:#0e315e;--ink:#172b48;--muted:#576780;--cream:#fcf9f4;--cream-dark:#f2eee7;--line:#dadfe7;--paper:#fff;--lightblue:#edf3fc;--font-sans:'DM Sans',Arial,sans-serif;--font-serif:'Libre Baskerville',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
button,a{ -webkit-tap-highlight-color:transparent }
.container{width:min(1140px,calc(100% - 64px));margin:0 auto}
.site-header{position:relative;z-index:5;background:rgba(252,249,244,.96);border-bottom:1px solid rgba(16,49,94,.1)}
.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.brand img{width:201px;height:auto}
.main-nav{display:flex;gap:27px;align-items:center}
.main-nav a{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--navy)}
.main-nav a:hover,.main-nav a[aria-current='page']{color:var(--blue)}
.nav-contact{border:1px solid #a6bde2;border-radius:30px;padding:10px 21px}
.eyebrow{margin:0 0 20px;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
h1,h2,h3{font-family:var(--font-serif);font-weight:400;line-height:1.2;letter-spacing:-.04em;color:var(--navy)}
h1{font-size:clamp(42px,5.15vw,72px);margin:0 0 26px}
h2{font-size:clamp(34px,3.9vw,56px);margin:0 0 20px}
h3{font-size:24px;margin:0 0 12px}
p{margin:0 0 20px}
.lead{font-size:clamp(17px,1.8vw,21px);line-height:1.63;max-width:510px;color:var(--muted)}
.hero{overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1fr 1.05fr;min-height:680px;align-items:center;gap:7%;padding:72px 0 89px}
.hero-copy{padding-bottom:20px;position:relative;z-index:2}
.hero-copy h1 span{display:block}
.hero-note{margin-top:44px;display:flex;gap:13px;align-items:center;color:#59718e;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.hero-note:before{content:'';display:block;width:40px;height:1px;background:#8aa4c4}
.hero-picture{position:relative;min-width:0;height:562px}
.hero-picture:before{content:'';position:absolute;inset:23px -25px -18px 32px;border:2px solid #dce5f4;border-radius:200px 200px 8px 8px;transform:rotate(4deg)}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 37%;border-radius:230px 230px 8px 8px;position:relative;z-index:1}
.hero-stamp{position:absolute;z-index:2;right:-26px;bottom:40px;background:#fff;box-shadow:0 14px 40px #0d315c1c;transform:rotate(6deg);padding:20px 24px;border-radius:3px;color:var(--blue);font:italic 24px/1.2 Georgia,serif}
.blue-band{background:var(--blue);color:#fff;padding:32px 0}
.band-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.band-inner p{margin:0;font-size:18px;max-width:740px}
.band-inner strong{font-weight:700;color:#fff}
.band-inner .mini-mark{font:42px/1 var(--font-serif);letter-spacing:-.05em;white-space:nowrap;color:#dbe7ff}
.section{padding:112px 0}
.section-heading{max-width:680px}
.how-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;margin-top:60px;align-items:start}
.tilt-photo{position:relative;padding:18px 19px 35px;background:#fff;box-shadow:0 18px 46px #243b5b1d;transform:rotate(-3.2deg);margin:10px 25px 0 10px}
.tilt-photo img{height:435px;width:100%;object-fit:cover;object-position:center 37%}
.photo-caption{margin:19px 8px 0;color:var(--blue);font-family:var(--font-serif);font-style:italic;font-size:19px}
.numbered-item{border-top:1px solid #d7dce4;padding:22px 0 21px}
.numbered-item:last-child{border-bottom:1px solid #d7dce4}
.item-no{display:block;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:8px}
.numbered-item h3{font-size:25px}
.numbered-item p{color:var(--muted);margin-bottom:0;font-size:15px}
.community{background:var(--lightblue);overflow:hidden}
.community-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center;min-height:560px}
.community-copy{padding:76px 0}
.community-picture{position:relative;height:530px;align-self:end}
.community-picture img{width:100%;height:100%;object-fit:cover;object-position:center 40%;border-radius:200px 200px 0 0}
.community-picture .float-tag{position:absolute;left:-44px;bottom:55px;max-width:260px;padding:22px 26px;background:var(--cream);box-shadow:0 14px 25px #132b4a29;border-radius:5px;transform:rotate(-5deg);font:italic 23px/1.25 Georgia,serif;color:var(--navy)}
.closing{padding:110px 0;text-align:center}
.closing h2{max-width:740px;margin:0 auto 22px}
.closing p{max-width:570px;margin:0 auto 28px;color:var(--muted)}
.button{display:inline-block;background:var(--blue);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;border-radius:40px;padding:14px 28px;transition:background .2s,transform .2s}
.button:hover{text-decoration:none;background:#003a9c;transform:translateY(-1px)}
.button-outline{background:transparent;border:1px solid #9db5db;color:var(--blue)}
.button-outline:hover{color:#fff}
.site-footer{background:var(--navy);color:#e6edf7;padding:55px 0 35px}
.footer-inner{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}
.footer-title{font:30px/1 var(--font-serif);color:#fff;margin:0 0 11px;letter-spacing:-.05em}
.footer-tagline{color:#c3d2ea;font-size:13px;margin:0}
.footer-nav{display:flex;flex-wrap:wrap;gap:17px 29px;justify-content:flex-end}
.footer-nav a{font-size:13px;color:#f4f7fc}
.copyright{margin-top:45px;padding-top:20px;border-top:1px solid #ffffff27;color:#aabfdc;font-size:12px}
.legal-hero{padding:85px 0 58px;border-bottom:1px solid var(--line);background:#fff}
.legal-hero h1{font-size:clamp(40px,5vw,64px);margin-bottom:20px}
.legal-hero p{max-width:720px;color:var(--muted);margin:0}
.legal-container{max-width:850px;padding:68px 0 100px}
.legal-container h2{font-size:27px;letter-spacing:-.025em;margin:36px 0 13px}
.legal-container h2:first-child{margin-top:0}
.legal-container p,.legal-container li{color:#374b67;font-size:15px;line-height:1.82}
.legal-container ul{margin:0 0 25px;padding-left:22px}
.legal-container li{margin:8px 0}
.legal-callout{background:#ebf2fc;border-left:4px solid var(--blue);padding:22px 26px;margin:35px 0;border-radius:0 5px 5px 0}
.legal-callout p:last-child{margin-bottom:0}
.contact-panel{padding:34px 38px;border:1px solid #d4dfef;background:#fff;margin:35px 0;border-radius:10px}
.contact-panel h2{margin-top:0}
.contact-panel a{font-weight:700;word-break:break-word}
.muted-small{font-size:13px;color:var(--muted)}
:focus-visible{outline:3px solid #e1a548;outline-offset:4px}
@media(max-width:850px){.hero-inner{min-height:auto;gap:5%;padding:64px 0}.hero-picture{height:490px}.hero-stamp{right:-9px}.how-grid{gap:8%}.community-grid{gap:6%}.community-picture .float-tag{left:-20px}.main-nav{gap:15px}}
@media(max-width:680px){.container{width:min(100% - 38px,500px)}.header-inner{height:74px;align-items:center}.brand img{width:147px}.main-nav{gap:16px}.main-nav a{font-size:12px}.main-nav a:nth-child(1){display:none}.nav-contact{padding:8px 13px}.hero-inner{display:flex;flex-direction:column-reverse;gap:38px;padding:24px 0 62px}.hero-picture{width:100%;height:440px}.hero-picture:before{inset:17px -7px -13px 15px}.hero-picture img{object-position:center 33%}.hero-stamp{right:-4px;bottom:27px;font-size:19px;padding:15px 18px}.hero-copy{padding-bottom:0;width:100%}.hero-copy h1{font-size:44px}.hero-note{margin-top:28px}.lead{font-size:17px}.blue-band{padding:24px 0}.band-inner p{font-size:14px}.band-inner .mini-mark{font-size:30px}.section{padding:78px 0}.how-grid{grid-template-columns:1fr;gap:42px;margin-top:36px}.tilt-photo{margin:0 19px 10px 8px}.tilt-photo img{height:360px}.community-grid{display:flex;flex-direction:column;gap:0}.community-copy{padding:70px 0 40px}.community-picture{height:360px;width:100%;align-self:auto}.community-picture .float-tag{left:0;bottom:28px;font-size:18px}.closing{padding:85px 0}.footer-inner{display:block}.footer-nav{justify-content:flex-start;margin-top:30px}.legal-hero{padding:60px 0 45px}.legal-container{padding:42px 0 80px}.legal-container h2{font-size:23px}.contact-panel{padding:26px 23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
