@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@500;600;700;800;900&display=swap');
:root{--navy:#07344d;--blue:#0474b8;--blue2:#01618f;--gold:#ffe351;--sand:#fffdf6;--line:#c9e9ee;--ink:#112c3a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#e8f9fe;font-family:'DM Sans',Arial,sans-serif}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,select{font:inherit}button{cursor:pointer}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:5}
.shell{max-width:640px;margin:auto;min-height:100vh;background:var(--sand);box-shadow:0 0 36px #0647681c}
.approved{display:block;width:100%;height:auto}
.welcome-link{display:block;outline-offset:4px}.welcome-link:focus-visible{outline:4px solid #0061ac}
.controls{padding:18px 18px 30px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:center;background:var(--sand)}
.controls .btn,.controls button{display:inline-flex;min-height:49px;align-items:center;justify-content:center;border:0;border-radius:14px;background:var(--blue2);color:white;padding:12px 20px;font-weight:800;text-decoration:none;font-size:17px;text-align:center;flex:1}
.controls .secondary{color:var(--navy);background:#f5f9fc;border:2px solid #badce8}
.controls a:focus-visible,.controls button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f6c700;outline-offset:3px}
.panel{margin:0 14px 18px;background:white;border:1.5px solid var(--line);border-radius:17px;box-shadow:0 7px 20px #004b7111;padding:18px}
.panel h2{font-family:Outfit,Arial,sans-serif;color:var(--navy);font-weight:800;font-size:clamp(25px,6.5vw,32px);margin:0 0 8px;letter-spacing:-.5px}
.panel p{line-height:1.5;font-size:16px;color:#3a5764;margin:5px 0 14px}
.planner{padding-top:10px}.planner .tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 18px}
.tabs button{border:1px solid #9ecfdf;background:#e9f6fd;padding:13px 9px;border-radius:11px;color:var(--navy);font-size:15px;font-weight:800;min-height:50px}
.tabs button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:white}
.field{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}.field label,.field>span{font-size:16px;font-weight:800;color:#0c3b56}
.field input,.field select{width:100%;min-height:50px;background:#fff;border:2px solid #9dcbd9;border-radius:11px;color:#092d43;padding:10px 12px;font-size:18px}
.field input::placeholder{color:#657984}
.form-actions{display:flex;gap:10px;flex-wrap:wrap}.form-actions button{background:#0579a9;color:white;border:0;border-radius:12px;padding:14px 18px;min-height:48px;font-weight:800;flex:1}
.summary{margin-top:15px;background:#e9f9f6;border-left:5px solid #00a39e;border-radius:8px;padding:15px;font-weight:700;line-height:1.55}
.summary[hidden],.trip-panel[hidden]{display:none!important}
.maplinks{display:flex;flex-wrap:wrap;gap:10px}.maplinks a{font-weight:800;background:#eff8fb;padding:12px;border-radius:10px;text-decoration:none;border:1px solid #b0d9e5;flex:1;text-align:center}
.readmore{padding:10px 14px 15px}.readmore details{border-radius:15px;background:#fff;border:2px solid #c9e9ee;overflow:hidden}.readmore summary{cursor:pointer;font-size:20px;line-height:1.35;color:var(--navy);padding:18px;font-weight:900;list-style-position:inside}
.tiplist{padding:0 20px 16px 42px}.tiplist li{font-size:17px;line-height:1.45;margin:13px 0;padding-left:5px}.tiplist strong{color:#07568a}
.disclaimer{font-size:13px;color:#58727e;text-align:center;line-height:1.4;padding:0 20px 17px}
@media(min-width:800px){body{padding:25px 0}.shell{border-radius:20px;overflow:hidden}.controls{padding:24px}}