:root{--ink:#10233f;--green:#187454;--green2:#43a477;--sky:#eaf7ff;--sand:#f5efe3;--line:#dce8e5;--white:#fff;--muted:#6e7f91;--shadow:0 20px 60px rgba(16,35,63,.11);--r:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fbfdfc;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1200px;margin:auto;padding:0 24px}
.nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,35,63,.08)}.navin{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.logo{width:47px;height:47px;border-radius:16px;background:var(--ink);display:grid;place-items:center;color:#fff;font-size:25px}.links{display:flex;gap:25px;font-size:14px;font-weight:700}.btn{border:0;border-radius:999px;padding:14px 22px;background:var(--green);color:white;font-weight:800;cursor:pointer;display:inline-flex;gap:9px;align-items:center}.btn.ghost{background:white;color:var(--ink);box-shadow:0 0 0 1px var(--line)}
.hero{min-height:720px;display:flex;align-items:flex-end;padding:70px 0 54px;position:relative;overflow:hidden;background:linear-gradient(180deg,#ccecff 0,#f7fcff 52%,#d6ecda 100%)}.hero:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 850"%3E%3Cpath d="M0 570 Q380 470 760 570 T1600 520 V850 H0Z" fill="%239bc49c"/%3E%3Cpath d="M0 640 Q400 510 820 620 T1600 580 V850 H0Z" fill="%236ca577"/%3E%3Cpath d="M650 850 C780 650 970 620 1600 565 V850Z" fill="%23d8d2c1"/%3E%3Cpath d="M790 850 C900 690 1070 665 1600 610" fill="none" stroke="white" stroke-width="18" stroke-dasharray="38 35"/%3E%3Cg fill="white" stroke="%2310233f" stroke-width="7"%3E%3Crect x="950" y="510" rx="30" width="235" height="135"/%3E%3Crect x="1000" y="470" rx="24" width="145" height="75"/%3E%3Ccircle cx="1000" cy="650" r="31" fill="%2310233f"/%3E%3Ccircle cx="1140" cy="650" r="31" fill="%2310233f"/%3E%3Crect x="1240" y="550" rx="25" width="180" height="104"/%3E%3Ccircle cx="1280" cy="657" r="26" fill="%2310233f"/%3E%3Ccircle cx="1380" cy="657" r="26" fill="%2310233f"/%3E%3C/g%3E%3C/svg%3E') center/cover no-repeat;opacity:.94}.heroContent{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:30px}.eyebrow{display:inline-flex;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.75);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hero h1{font-size:clamp(60px,8vw,112px);line-height:.87;margin:22px 0 20px;letter-spacing:-.07em}.script{font-family:Georgia,serif;font-style:italic;font-weight:400;display:block;font-size:.68em;letter-spacing:-.04em}.lead{max-width:580px;font-size:20px}.heroActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.dateCard{justify-self:end;align-self:start;background:rgba(16,35,63,.86);color:#fff;border-radius:24px;padding:20px 24px;box-shadow:var(--shadow);font-weight:800}.dateCard small{display:block;opacity:.7;margin-bottom:5px}
.stats{margin-top:-22px;position:relative;z-index:4}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:white;border-radius:24px;padding:24px;box-shadow:var(--shadow)}.stat b{font-size:32px;display:block}.stat span{color:var(--muted);font-size:14px}
section{padding:88px 0}.sectionHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:20px}.sectionHead h2{font-size:clamp(38px,5vw,64px);line-height:1;margin:0;letter-spacing:-.05em}.sectionHead p{color:var(--muted);max-width:520px;margin:8px 0 0}.routegrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.panel{background:white;border-radius:var(--r);padding:28px;box-shadow:var(--shadow)}.timeline{max-height:590px;overflow:auto;padding-right:8px}.routeItem{display:grid;grid-template-columns:70px 20px 1fr;gap:10px;padding:10px 0}.routeItem .dot{position:relative}.routeItem .dot:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--green);position:absolute;top:7px;left:5px}.routeItem .dot:after{content:"";position:absolute;top:18px;bottom:-18px;width:2px;left:9px;background:#cfe2dc}.routeItem:last-child .dot:after{display:none}.routeItem time{font-weight:800;color:var(--green)}.routeItem b{display:block}.routeItem small{color:var(--muted)}
.map{min-height:590px;position:relative;overflow:hidden;background:linear-gradient(145deg,#dff4f3,#d9ecc5)}.map svg{width:100%;height:100%;position:absolute;inset:0}.mapLabel{position:absolute;background:white;border-radius:999px;padding:7px 11px;font-weight:800;font-size:12px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.today{background:var(--ink);color:white}.todaygrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.today h2{font-size:56px;line-height:1;margin:0 0 15px}.today .muted{color:#b7c3d1}.schedule{display:grid;gap:10px}.event{display:grid;grid-template-columns:75px 1fr;gap:15px;background:rgba(255,255,255,.08);border-radius:18px;padding:15px}.event time{color:#7dd6aa;font-weight:800}
.cards{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.featured,.daycard{background:white;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}.photo{height:320px;background:linear-gradient(135deg,#9fceb7,#dcefc5);position:relative;overflow:hidden}.photo:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 500"%3E%3Crect width="900" height="500" fill="%23bee0ee"/%3E%3Cpath d="M0 350 Q250 230 480 350 T900 290 V500H0Z" fill="%235f9b72"/%3E%3Cpath d="M0 410 Q280 300 550 410 T900 350 V500H0Z" fill="%233d7357"/%3E%3Cpath d="M300 500 Q430 320 900 330V500Z" fill="%23d7d0bd"/%3E%3Crect x="480" y="285" width="230" height="120" rx="25" fill="white" stroke="%2310233f" stroke-width="6"/%3E%3Ccircle cx="530" cy="410" r="27" fill="%2310233f"/%3E%3Ccircle cx="660" cy="410" r="27" fill="%2310233f"/%3E%3C/svg%3E') center/cover}.content{padding:26px}.tag{display:inline-block;border-radius:999px;padding:7px 11px;background:#e5f5ec;color:var(--green);font-weight:800;font-size:12px}.content h3{font-size:30px;margin:14px 0 6px}.content p{color:var(--muted)}.stack{display:grid;gap:15px}.daycard{display:grid;grid-template-columns:130px 1fr;min-height:145px}.thumb{background:linear-gradient(135deg,#b8dfeb,#d7e6b9)}.daycard .content{padding:18px}.daycard h3{font-size:18px;margin:7px 0 4px}.daycard p{font-size:14px;margin:0}
.teamgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.person{border-radius:24px;background:white;padding:19px;box-shadow:var(--shadow)}.avatar{height:210px;border-radius:18px;background:linear-gradient(135deg,#d7e8dd,#a8c8b6);display:grid;place-items:center;font-size:56px}.person h3{margin:16px 0 3px}.person p{margin:0;color:var(--muted);font-size:14px}
.editorBar{position:fixed;right:18px;bottom:18px;z-index:50;background:white;border-radius:20px;padding:12px;box-shadow:0 12px 45px rgba(16,35,63,.25);display:flex;gap:8px}.editOn [data-edit]{outline:2px dashed #f3a43b;outline-offset:5px;border-radius:6px}.saveNote{font-size:12px;color:var(--muted);align-self:center;padding:0 8px}.cta{background:linear-gradient(120deg,#dff8e9,#bcefd6);border-radius:34px;padding:46px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cta h2{font-size:44px;margin:0}.footer{background:var(--ink);color:white;padding:45px 0}.footerin{display:flex;justify-content:space-between;gap:20px;align-items:center}.mobileOnly{display:none}
@media(max-width:850px){.links{display:none}.hero{min-height:700px}.heroContent,.routegrid,.todaygrid,.cards{grid-template-columns:1fr}.dateCard{justify-self:start;order:-1}.statgrid{grid-template-columns:repeat(2,1fr)}.map{min-height:430px}.teamgrid{grid-template-columns:repeat(2,1fr)}.sectionHead{align-items:start;flex-direction:column}.daycard{grid-template-columns:100px 1fr}.cta{align-items:start;flex-direction:column}.editorBar{left:12px;right:12px;justify-content:center}.mobileOnly{display:block}}
@media(max-width:520px){.wrap{padding:0 16px}.hero h1{font-size:58px}.hero{padding-top:45px}.statgrid{grid-template-columns:1fr 1fr}.stat{padding:18px}.stat b{font-size:25px}section{padding:64px 0}.panel{padding:20px}.teamgrid{grid-template-columns:1fr}.avatar{height:250px}.today h2{font-size:42px}.cta h2{font-size:35px}.footerin{align-items:start;flex-direction:column}}
