/* Edit these colors to make the site your own. */
.legal-page { max-width:800px; margin:0 auto; padding:65px 0 80px; }
.legal-page h1 { font-size:clamp(42px,6vw,68px); letter-spacing:-2px; overflow-wrap:anywhere; }
.legal-page h2 { font-size:28px; letter-spacing:-.5px; margin-top:36px; }
.legal-page p { color:var(--muted); font-size:16px; line-height:1.85; }
.legal-page a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-links { flex-wrap:wrap; gap:16px; font-size:12px; }
:root { --orange:#ffd5ae; --cream:#fbf7f2; --muted:#566b85; --line:#dce6f0; --navy: #002a73; --blue: #78ccfa; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; background:var(--cream); color:var(--navy); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
a:focus-visible, button:focus-visible { outline:3px solid var(--blue); outline-offset:6px; }
.wrap { width:min(1180px,calc(100% - 64px)); margin:auto; }
header { display:flex; align-items:center; justify-content:space-between; padding:30px 0; border-bottom:1px solid var(--line); }
.brand { font-size:23px; font-weight:750; letter-spacing:-1px; display:flex; gap:10px; align-items:center; }
.brand svg { width:30px; height:30px; }
nav { display:flex; gap:32px; align-items:center; font-size:14px; }
nav a:hover, footer a:hover { color:var(--blue); }
.nav-contact { border:1px solid #a6bbd4; padding:12px 20px; border-radius:30px; }
.hero { display:grid; grid-template-columns:1.1fr 1fr; gap:65px; align-items:center; padding:88px 0 92px; }
.eyebrow { text-transform:uppercase; letter-spacing:2px; font-size:11px; font-weight:700; display:flex; align-items:center; gap:10px; }
.eyebrow::before { content:""; width:7px; height:7px; background:var(--blue); border-radius:50%; }
h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(52px,6.4vw,84px); font-weight:400; letter-spacing:-4px; line-height:1.04; margin:25px 0; }
h1 em { color:var(--blue); font-weight:400; }
.intro { font-size:17px; line-height:1.8; color:var(--muted); max-width:390px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; background:var(--navy); color:white; padding:18px 24px; border-radius:5px; font-size:14px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-3px); background:var(--blue); }
.hero .button { margin-top:20px; }
.note { font-size:12px; color:var(--muted); margin-top:21px; }
.art { position:relative; height:460px; background:#dff1fc; border-radius:180px 180px 24px 24px; overflow:hidden; display:grid; place-items:center; }
.art::before { content:""; position:absolute; width:330px; height:330px; background:var(--orange); border-radius:50%; right:-90px; bottom:-110px; }
.art::after { content:""; position:absolute; width:150px; height:150px; border:1px solid #afcde3; border-radius:50%; left:-75px; top:70px; }
.compass { width:310px; height:310px; filter:drop-shadow(0 18px 22px #002a731c); transform:rotate(-13deg); }
.art-label { position:absolute; left:25px; bottom:25px; background:var(--cream); padding:12px 17px; border-radius:25px; font-size:12px; z-index:1; }
.spark { position:absolute; right:32px; top:65px; font-size:48px; color:var(--blue); }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:35px; }
h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(34px,4vw,47px); font-weight:400; letter-spacing:-1.5px; margin:14px 0 0; }
.section-head p { font-size:14px; color:var(--muted); max-width:290px; line-height:1.7; margin:0; }
.explore { border-top:1px solid var(--line); padding:60px 0 75px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card { padding:30px; border:1px solid var(--line); border-radius:16px; min-height:230px; }
.card:nth-child(2) { background:#e3f2fc; border-color:#e3f2fc; }
.card:nth-child(3) { background:#ffe5ce; border-color:#ffe5ce; }
.number { font-size:12px; color:var(--blue); border-bottom:1px solid #a3bdd6; padding-bottom:16px; display:block; }
h3 { font-size:22px; font-weight:500; letter-spacing:-.5px; margin:28px 0 13px; }
.card p { font-size:14px; color:var(--muted); line-height:1.8; margin:0; }
.scout { display:grid; grid-template-columns:1fr 1.1fr; gap:60px; align-items:center; padding:45px; margin-bottom:75px; background:#edf2e5; color:#234b36; border:1px solid #c8d5b6; border-radius:24px; }
.scout-art { margin:0; overflow:hidden; background:#234b36; border:1px solid #b99a4b; border-radius:20px; }
.scout-art img { display:block; width:100%; height:auto; }
.scout-art figcaption { padding:14px 18px; color:#eedba4; font-size:12px; line-height:1.6; text-align:center; }
.scout-details { margin:0 0 28px; padding:0; list-style:none; }
.scout-details li { padding:14px 0; border-top:1px solid #c8d5b6; color:#52634d; font-size:14px; line-height:1.7; }
.scout-details strong { display:block; color:#234b36; font-size:16px; }
.scout .eyebrow { color:#716022; }
.scout .eyebrow::before { background:#a17b1c; }
.scout .button { background:#e5c36b; color:#234b36; }
.scout .button:hover { background:#eedba4; }
.scout .button:focus-visible { outline-color:#234b36; }
.scout-copy h2 { font-size:clamp(42px,5vw,64px); }
.scout-copy p { color:#52634d; font-size:16px; line-height:1.8; max-width:390px; margin:20px 0 25px; }
@media(max-width:800px) { .scout { gap:30px; padding:30px; } }
@media(max-width:600px) { .scout { grid-template-columns:1fr; padding:25px; margin-bottom:55px; } .scout-art { min-height:250px; } header { flex-wrap:wrap; gap:20px; } }
.seo { padding:55px 0 75px; border-top:1px solid var(--line); }
.seo .section-head p { max-width:360px; }
.seo .card { background:transparent; }
.seo .button { margin-top:28px; }
.seo-preview { margin:30px 0; padding:28px; background:white; border:1px solid var(--line); border-radius:16px; max-width:720px; }
.seo-preview small { display:block; color:var(--muted); font-size:12px; margin-bottom:16px; }
.seo-preview h3 { color:var(--blue); margin:10px 0; font-size:23px; }
.seo-preview p { color:var(--muted); font-size:14px; line-height:1.7; margin:0; }
.about { background:var(--navy); color:var(--cream); border-radius:20px; padding:48px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:75px; }
.about .eyebrow { color:var(--orange); }
.about .eyebrow::before { background:var(--orange); }
.about p { color:#d1e1f2; font-size:16px; line-height:1.9; }
.contact { text-align:center; padding:0 0 75px; }
.contact p { color:var(--muted); line-height:1.7; }
.contact .button { margin-top:12px; background:var(--orange); color:var(--navy); }
footer { background:var(--navy); color:var(--cream); border-radius:24px 24px 0 0; padding:65px 48px 28px; font-size:14px; }
.footer-main { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:40px; padding-bottom:60px; }
.footer-brand { font-size:26px; font-weight:700; letter-spacing:-1px; }
.footer-intro p { max-width:240px; color:#d1e1f2; line-height:1.8; margin:18px 0 0; }
.footer-section h3 { color:var(--orange); font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin:5px 0 23px; }
.footer-section a { display:block; width:fit-content; padding:7px 0; color:#d1e1f2; line-height:1.5; }
footer a:hover { color:var(--orange); }
footer a:focus-visible { outline-color:var(--orange); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #ffffff26; padding-top:25px; color:#d1e1f2; font-size:12px; }
@media(max-width:800px) { .footer-main { grid-template-columns:repeat(3,1fr); gap:30px; } .footer-intro { grid-column:1 / -1; } }
@media(max-width:600px) { footer { padding:40px 25px 25px; } .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); padding-bottom:35px; } .footer-bottom { flex-direction:column; gap:15px; line-height:1.6; } }
@media(max-width:800px) { .hero { gap:30px; padding:55px 0; } h1 { font-size:58px; } .art { height:370px; } .compass { width:250px; } .cards { gap:12px; } .card { padding:22px; } }
@media(max-width:600px) { .wrap { width:calc(100% - 36px); } header { padding:23px 0; } .brand { font-size:20px; } nav { gap:15px; font-size:12px; } nav .nav-contact { display:none; } .hero { grid-template-columns:1fr; padding:45px 0; } h1 { font-size:64px; } .art { height:360px; border-radius:140px 140px 20px 20px; } .section-head { display:block; } .section-head p { margin-top:20px; } .cards { grid-template-columns:1fr; } .card { min-height:200px; } .about { grid-template-columns:1fr; gap:15px; padding:30px; margin-bottom:55px; } footer { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }

.brand img { width:200px; }

.services { padding:55px 0 75px; border-top:1px solid var(--line); }
.service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.service-card { display:flex; flex-direction:column; min-width:0; padding:28px; border-radius:20px; background:var(--blue); color:var(--navy); }
.service-card:nth-child(even) { background:var(--navy); color:var(--cream); }
.service-number { display:block; padding-bottom:18px; border-bottom:1px solid currentColor; font-size:11px; font-weight:700; letter-spacing:1px; }
.service-card h3 { font-size:25px; line-height:1.2; margin:26px 0 16px; }
.service-card p { font-size:14px; line-height:1.8; margin:0 0 28px; }
.service-card a { display:flex; justify-content:space-between; gap:12px; margin-top:auto; padding:12px 0 4px; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.service-card a:hover { text-decoration-thickness:2px; }
.service-card:nth-child(odd) a:focus-visible { outline-color:var(--navy); }
@media(max-width:1000px) { .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .services { padding:40px 0 55px; } .service-grid { grid-template-columns:1fr; gap:16px; } .service-card { padding:26px; } }
