:root{--ink:#17314e;--ink-soft:#536579;--paper:#f7f4ed;--paper-bright:#fffdf8;--line:#d8d8d0;--red:#ad3a3d;--blue:#43718a;--gold:#b8863c;--green:#64846f;--purple:#776380;--shadow:0 18px 50px #1d304317}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{color:var(--ink);background:var(--paper);margin:0;font-family:Avenir,Segoe UI,system-ui,sans-serif;overflow-x:clip}img{max-width:100%}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:is(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #43718a59}main{background-image:radial-gradient(#17314e09 .7px,#0000 .7px);background-size:7px 7px;min-height:100vh;overflow-x:clip}.global-affiliation-banner{color:#f8f1e5;background:var(--ink);text-align:center;border-bottom:1px solid #edc47e7a;justify-content:center;align-items:center;gap:10px 18px;margin:0;padding:9px clamp(16px,4vw,48px);display:flex}.global-affiliation-banner strong{color:#edc47e;letter-spacing:.12em;text-transform:uppercase;flex:none;font-size:9px}.global-affiliation-banner span{color:#dce5ea;max-width:980px;font-size:10px;line-height:1.5}.topbar{border-bottom:1px solid var(--line);background:#fffdf8eb;align-items:center;gap:14px;min-height:94px;padding:16px clamp(20px,5vw,72px);display:flex}.brand-mark{width:46px;height:46px;color:var(--gold);background:#fffaf0;border:1px solid #c9ad7e;border-radius:50%;place-items:center;display:grid}.brand-mark svg{width:26px}.brand-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.brand-copy span{color:var(--red);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:700}.brand-copy strong{font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(18px,2vw,24px);font-weight:400}.date-pill{color:var(--ink);border-left:1px solid var(--line);grid-template-columns:auto auto;align-items:baseline;gap:0 7px;margin-left:auto;padding:8px 16px;display:grid}.date-pill span{color:var(--red);grid-row:1/3;font:20px Libre Caslon Display,serif}.date-pill strong{font-size:19px;line-height:1}.date-pill small{color:var(--ink-soft);letter-spacing:.12em;font-size:10px}.tabs{z-index:20;overscroll-behavior-x:contain;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-overflow-scrolling:touch;background:#f7f4ede6;justify-content:center;display:flex;position:sticky;top:0;overflow-x:visible}.tabs>button,.tabs>a{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;flex:none;padding:18px clamp(10px,2.1vw,30px);font-size:13px;font-weight:600;text-decoration:none;position:relative}.tabs>button span,.tabs>a span{letter-spacing:.12em;color:#9d968b;margin-right:9px;font-size:10px}.tabs>button:after,.tabs>a:after{content:"";background:0 0;height:3px;position:absolute;bottom:-1px;left:12%;right:12%}.tabs>button.active{color:var(--ink)}.tabs>button.active:after{background:var(--red)}.portal-menu{color:#fff;background:var(--ink);flex:none;position:relative}.portal-menu summary{cursor:pointer;align-items:center;min-height:100%;padding:18px clamp(14px,2.1vw,30px);font-size:13px;font-weight:700;list-style:none;display:flex;position:relative}.portal-menu summary::-webkit-details-marker{display:none}.portal-menu summary span{color:#edc47e;letter-spacing:.12em;margin-right:9px;font-size:10px}.portal-menu summary:after{content:"⌄";color:#edc47e;margin-left:9px;font-size:15px;transition:transform .2s}.portal-menu[open] summary:after{transform:rotate(180deg)}.portal-menu-items{z-index:30;background:var(--ink);border-top:1px solid #edc47e73;width:286px;padding:7px;position:absolute;top:100%;right:0;box-shadow:0 18px 36px #12273e40}.portal-menu-items a{color:#fff;gap:3px;padding:13px 14px;text-decoration:none;display:grid}.portal-menu-items a+a{border-top:1px solid #ffffff21}:is(.portal-menu-items a:hover,.portal-menu-items a:focus-visible){background:#ffffff14}.portal-menu-items b{color:#fff;font:17px Libre Caslon Display,Georgia,serif}.portal-menu-items small{color:#c9d5dc;font-size:9px;line-height:1.4}.section{isolation:isolate;max-width:1240px;margin:auto;padding:clamp(44px,7vw,90px) clamp(20px,5vw,72px) 84px;animation:.45s both fade;position:relative}@keyframes fade{0%{opacity:0;transform:translateY(8px)}}.eyebrow{color:var(--red);letter-spacing:.17em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Libre Caslon Display,Georgia,serif;font-weight:400;line-height:1.04}h1{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(46px,7vw,82px)}h2{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(32px,4vw,48px)}h1 em,h2 em{color:var(--red);font-weight:400}p{color:var(--ink-soft);line-height:1.7}.hero-grid{grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(34px,6vw,86px);min-height:520px;display:grid}.hero-copy>p{max-width:620px;font-size:17px}.hero-invitation{max-width:660px}.hero-invitation>p{color:var(--ink-soft);margin-bottom:11px;font-size:14px;line-height:1.65}.hero-invitation>p:first-child{color:var(--ink);font:18px/1.55 Libre Caslon Display,Georgia,serif}.hero-invitation strong{color:var(--ink)}.hero-invitation blockquote{border-left:3px solid var(--gold);background:#b8863c1a;gap:5px;margin:20px 0 17px;padding:15px 18px 15px 22px;display:grid;position:relative}.hero-invitation blockquote span{color:var(--red);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.hero-invitation blockquote q{color:var(--ink);font:18px/1.4 Libre Caslon Display,Georgia,serif}.hero-invitation blockquote cite{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-style:normal;font-weight:700}.hero-invitation .trip-contact{color:var(--ink);margin:0;font-size:12px}.trip-contact a{color:var(--red);text-underline-offset:3px;font-weight:800;text-decoration-color:#ad3a3d66}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin:30px 0 32px;display:flex}.primary,.outline,.text-button{cursor:pointer;border:0;font-weight:700}.primary{color:#fff;background:var(--red);justify-content:center;align-items:center;padding:15px 22px;text-decoration:none;display:inline-flex;box-shadow:0 9px 22px #ad3a3d38}.primary:hover{background:#932f32}.outline{color:var(--ink);background:0 0;border:1px solid #a8b2ba;padding:12px 17px}.text-button{color:var(--ink);background:0 0;border-bottom:1px solid #97a2ac;padding:10px 0}.quick-facts{flex-wrap:wrap;gap:12px 22px;display:flex}.quick-facts span{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.quick-facts b{color:var(--ink)}.quick-facts svg{width:24px;height:24px;color:var(--gold)}.hero-art{isolation:isolate;height:590px;box-shadow:var(--shadow);background:#e8e5da;position:relative;overflow:hidden}.hero-art:after{content:"";z-index:-1;opacity:.35;mix-blend-mode:multiply;background-image:radial-gradient(#243c55 .6px,#0000 .7px);background-size:6px 6px;position:absolute;inset:0}.watercolor-cover{background-image:linear-gradient(#f7f4ed5c,#f7f4ed5c),url(/images/discover-america-watercolor.webp);background-position:50%;background-size:cover}.watercolor-cover:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#f7f4ed47,#0000 18% 82%,#f7f4ed47);position:absolute;inset:0}.watercolor-cover img{z-index:1;object-fit:contain;filter:drop-shadow(0 10px 22px #17314e2e);width:100%;height:100%;display:block;position:relative}.wash{opacity:.72;filter:blur(2px);border-radius:50% 44% 51% 45%;position:absolute}.wash-blue{background:radial-gradient(#8fb6c5 0 44%,#8fb6c566 62%,#0000 73%);width:340px;height:330px;top:24px;left:-30px;transform:rotate(-9deg)}.wash-red{background:radial-gradient(#c97b79 0 37%,#c97b7973 60%,#0000 73%);width:260px;height:290px;bottom:-15px;right:-40px;transform:rotate(18deg)}.sun-disc{background:#d9b061b8;border-radius:50%;width:110px;height:110px;position:absolute;top:76px;right:64px}.capitol-illustration{color:var(--ink);position:absolute;bottom:58px;left:35px;right:74px}.capitol-illustration svg{filter:drop-shadow(0 5px 3px #1e304114);width:100%}.monument{clip-path:polygon(41% 0,59% 0,78% 12%,100% 100%,0 100%,22% 12%);background:#f6f0e4;width:12px;height:215px;position:absolute;bottom:59px;right:56px;box-shadow:0 8px 15px #0000001f}.script-note{color:#17314eb8;font:italic 18px Georgia,serif;position:absolute;top:45px;left:38px;transform:rotate(-5deg)}.paper-label{z-index:2;color:var(--ink);background:#fffcf2eb;border:1px solid #17314e21;padding:12px 15px;font-size:12px;line-height:1.5;position:absolute;bottom:22px;right:20px;transform:rotate(2deg);box-shadow:0 7px 20px #17314e21}.notice{border-left:4px solid var(--gold);background:#eee7d7;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin:42px 0 80px;padding:17px 20px;display:grid}.notice b{color:#7a5526;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.notice span{color:#5e5b53;font-size:13px;line-height:1.55}.watercolor-ribbon{color:#fff9ec;min-height:118px;box-shadow:var(--shadow);background-image:linear-gradient(#102b48b8,#102b48b8),url(/images/discover-america-watercolor.webp);background-position:50% 70%;background-size:cover;border:1px solid #b8863c70;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 18px;margin:-40px 0 68px;padding:26px;display:flex;position:relative;overflow:hidden}.watercolor-ribbon:after{content:"";pointer-events:none;border:1px solid #fff8e57a;position:absolute;inset:8px}.watercolor-ribbon span,.watercolor-ribbon i{z-index:1;position:relative}.watercolor-ribbon span{letter-spacing:.02em;font:24px Libre Caslon Display,Georgia,serif}.watercolor-ribbon i{color:#e6bb70;font-style:normal}.ribbon-faith{background-position:50% 88%;margin:-34px 0 48px}.ribbon-coast{background-position:50% 38%;margin:-32px 0 48px}.section-heading{justify-content:space-between;align-items:end;gap:25px;margin:0 0 26px;display:flex}.section-heading h2{margin:0}.itinerary-change-notice{color:#6e4b22;border-left:4px solid var(--gold);background:#b8863c1f;align-items:center;gap:7px;margin:-10px 0 20px;padding:11px 14px;font-size:13px;line-height:1.45;display:flex}.itinerary-change-notice strong{color:var(--red);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.timeline{gap:12px;display:grid}.day-card{background:var(--paper-bright);border:1px solid var(--line);transition:box-shadow .2s,transform .2s}.day-card.open{box-shadow:var(--shadow)}.day-summary{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;grid-template-columns:78px 1fr 30px;align-items:center;gap:20px;padding:20px;display:grid}.day-badge{color:#fff;letter-spacing:.06em;place-items:center;height:48px;font-size:12px;font-weight:700;display:grid}.day-badge.blue{background:var(--blue)}.day-badge.red{background:var(--red)}.day-badge.gold{background:var(--gold)}.day-badge.green{background:var(--green)}.day-badge.purple{background:var(--purple)}.day-title{grid-template-columns:130px minmax(220px,1fr) minmax(220px,.9fr);align-items:center;gap:18px;display:grid}.day-title small{color:var(--red);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:700}.day-title b{font:21px Libre Caslon Display,serif}.day-title em{color:var(--ink-soft);font-size:12px;font-style:normal}.expand{color:#8d969f;font:28px Georgia,serif}.day-details{grid-template-columns:1.3fr .7fr;gap:34px;padding:0 28px 26px 126px;display:grid}.event-list>div{border-top:1px solid #e5e4dd;grid-template-columns:130px 1fr;gap:16px;padding:11px 0;display:grid}.event-list span{color:var(--red);text-transform:uppercase;font-size:11px;font-weight:700}.event-list p{color:var(--ink);margin:0;font-size:13px;line-height:1.5}.day-details aside{background:#edf1f1;align-self:start;padding:18px}.day-details aside b{letter-spacing:.1em;text-transform:uppercase;font-size:11px}.day-details aside p{margin:7px 0 0;font-size:12px;line-height:1.6}.family-photo-story{color:#fff;background:var(--ink);box-shadow:var(--shadow);border:1px solid #b8863c9e;margin:76px 0 0;padding:clamp(24px,4vw,44px);position:relative;overflow:hidden}.family-photo-story:before{content:"";opacity:.09;pointer-events:none;background:url(/images/discover-america-watercolor.webp) 50% 58%/cover;position:absolute;inset:0}.family-photo-story>*{z-index:1;position:relative}.family-photo-heading{grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);align-items:end;gap:36px;margin-bottom:24px;display:grid}.family-photo-heading .eyebrow{color:#edc47e}.family-photo-heading h2{color:#fff;max-width:650px;margin:5px 0 0}.family-photo-heading p{color:#d8e3e9;margin:0 0 6px;font-size:14px;line-height:1.65}.family-photo-grid{grid-template-rows:repeat(2,240px);grid-template-columns:minmax(0,1.5fr) minmax(280px,.76fr);gap:14px;display:grid}.family-photo-grid figure{background:#dfe7e9;min-width:0;margin:0;position:relative;overflow:hidden}.family-photo-grid figure:after{content:"";pointer-events:none;border:1px solid #fffaefad;position:absolute;inset:9px}.family-photo-grid .family-photo-featured{grid-row:1/3}.family-photo-grid img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.family-photo-grid figure:hover img{transform:scale(1.025)}.family-photo-grid figcaption{color:#fff;background:linear-gradient(#0000,#0d2237db);gap:3px;padding:38px 22px 18px;display:grid;position:absolute;inset:auto 0 0}.family-photo-grid figcaption span{color:#f0ca84;letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:800}.family-photo-grid figcaption strong{font:18px Libre Caslon Display,Georgia,serif}.city-guides-title{margin-top:88px}.city-guides-title>p,.passport-title>p{max-width:430px;margin:0 0 4px;font-size:13px}.city-guide-stack{gap:28px;display:grid}.extension-banner{color:#fff;box-shadow:var(--shadow);background:linear-gradient(125deg,#102f4bfa,#23485bf0);border:1px solid #b8863c99;margin:34px 0 2px;padding:clamp(26px,4vw,42px);position:relative;overflow:hidden}.extension-banner:after{content:"NORTH";color:#ffffff0e;letter-spacing:.08em;pointer-events:none;font:94px Libre Caslon Display,Georgia,serif;position:absolute;bottom:-22px;right:24px}.extension-banner>*{z-index:1;max-width:760px;position:relative}.extension-banner .eyebrow{color:#edc47e}.extension-banner h2{color:#fff;margin:6px 0 10px}.extension-banner p{color:#dce7ec;margin:0;line-height:1.7}.extension-city{border-color:#a33a3d57}.city-guide-card{background:var(--paper-bright);box-shadow:var(--shadow);border:1px solid #b8863c57;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);display:grid;overflow:hidden}.city-guide-card:nth-child(2n){grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr)}.city-guide-card:nth-child(2n) .city-guide-visual{order:2}.city-guide-visual{background:#e8e4d8;min-height:510px;position:relative;overflow:hidden}.city-guide-visual-link{color:inherit;cursor:pointer;text-decoration:none;display:block}.city-guide-visual-link img{transition:transform .45s,filter .3s}.city-guide-visual-link:hover img{filter:saturate()contrast();transform:scale(1.025)}.city-guide-visual-link:focus-visible{z-index:4;outline:4px solid var(--gold);outline-offset:-4px}:is(.city-guide-visual-link:focus-visible small,.city-guide-visual-link:hover small){color:#fff;background:var(--red)}.city-guide-visual:after{content:"";z-index:2;pointer-events:none;border:1px solid #fffaefc7;position:absolute;inset:12px}.city-guide-visual img{object-fit:cover;filter:saturate(.92)contrast(.98);width:100%;height:100%;display:block}.city-guide-visual>small{z-index:3;color:var(--ink);letter-spacing:.09em;text-transform:uppercase;background:#fffaefe6;padding:7px 9px;font-size:9px;position:absolute;bottom:18px;left:22px;box-shadow:0 6px 18px #17314e1f}.map-pin-layer{z-index:3;position:absolute;inset:0}.city-map-pin{color:#fff;background:var(--red);border:2px solid #fff7e7;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #17314e4d}.city-guide-copy{flex-direction:column;justify-content:center;padding:clamp(30px,4vw,48px);display:flex;position:relative}.city-guide-copy:before{content:"";opacity:.055;pointer-events:none;background:url(/images/discover-america-watercolor.webp) 50%/cover;position:absolute;inset:0}.city-guide-copy>*{position:relative}.city-guide-copy h2{font-size:clamp(36px,4vw,52px)}.city-theme{color:var(--gold);margin:0 0 22px;font:italic 16px Georgia,serif}.fact-list{gap:11px;margin:0 0 24px;padding:0;list-style:none;display:grid}.fact-list li{color:var(--ink-soft);padding-left:19px;font-size:12px;line-height:1.55;position:relative}.fact-list li:before{content:"✦";color:var(--gold);position:absolute;top:1px;left:0}.map-legend{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:7px 12px;margin-bottom:28px;padding-top:18px;display:grid}.map-legend a{color:var(--ink);align-items:center;gap:7px;font-size:10px;line-height:1.35;text-decoration:none;display:flex}.map-legend a:hover{color:var(--red)}.map-legend span{color:#fff;background:var(--red);border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:8px;font-weight:800;display:grid}.download-link{align-self:flex-start;font-size:11px}.city-guide-actions{flex-wrap:wrap;gap:10px;display:flex}.city-guide-actions .primary,.city-guide-actions .optional-city-outline{min-height:46px;padding:12px 16px;font-size:11px}.attractions-title{margin-top:86px}.attractions-title>p{margin:0 0 4px;font-size:13px}.filter-row{scrollbar-width:none;gap:7px;padding-bottom:14px;display:flex;overflow-x:auto}.filter-row button{color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:#ffffff80;flex:none;padding:8px 12px;font-size:11px}.filter-row button.active{color:#fff;border-color:var(--ink);background:var(--ink)}.attraction-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.attraction-card{min-width:0;color:var(--ink);background:var(--paper-bright);border:1px solid var(--line);flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.attraction-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.attraction-photo{isolation:isolate;aspect-ratio:16/10;background:#dfe5e3;margin:0;position:relative;overflow:hidden}.attraction-photo:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 52%,#122d4852);position:absolute;inset:0}.attraction-photo img{object-fit:cover;filter:saturate(.82)contrast(.94)sepia(.07);width:100%;height:100%;transition:transform .45s,filter .3s;display:block}.attraction-card:hover .attraction-photo img{filter:saturate(.96)contrast(.98);transform:scale(1.035)}.attraction-photo figcaption{z-index:2;color:#ffffffdb;letter-spacing:.04em;text-overflow:ellipsis;text-shadow:0 1px 3px #000000b3;white-space:nowrap;max-width:calc(100% - 18px);font-size:7px;position:absolute;bottom:7px;left:9px;overflow:hidden}.attraction-card-body{flex-direction:column;flex:1;justify-content:space-between;min-height:182px;padding:18px;display:flex}.attraction-card h3{margin:10px 0 4px;font:21px/1.08 Libre Caslon Display,serif}.attraction-card p{margin:0;font-size:11px}.mini-tag{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.cost-tag{color:var(--ink-soft);justify-content:space-between;font-size:11px;display:flex}.cost-tag span{color:var(--red)}.stay-hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;margin-bottom:58px;display:grid;position:relative}.stay-hero:before{content:"";z-index:-1;opacity:.075;filter:saturate(.85);background:url(/images/discover-america-watercolor.webp) 50% 42%/cover;position:absolute;inset:-24px -36px}.stay-hero h1{font-size:clamp(48px,7vw,78px)}.stay-hero p{max-width:650px;font-size:16px}.stay-compass{color:#f7eee0;background:var(--ink);width:270px;height:270px;box-shadow:var(--shadow);border:10px double #ffffff40;border-radius:50%;flex-direction:column;justify-content:center;justify-self:center;align-items:center;display:flex;position:relative}.stay-compass:before{content:"";border:1px solid #ffffff4d;border-radius:50%;position:absolute;inset:10px}.stay-compass svg{color:#e3bd75;width:92px;margin-bottom:8px}.stay-compass span,.stay-compass small,.stay-compass strong{position:relative}.stay-compass span{letter-spacing:.16em;text-transform:uppercase;font-size:9px}.stay-compass strong{font:48px Libre Caslon Display,Georgia,serif}.stay-compass small{color:#c8d4db;letter-spacing:.08em;font-size:8px}.preferred-hotel-banner{color:#fff;border-left:6px solid var(--gold);box-shadow:var(--shadow);background:linear-gradient(125deg,#17314e,#2f5a73);grid-template-columns:auto minmax(0,1fr) minmax(190px,.5fr);align-items:center;gap:24px;margin-bottom:0;padding:clamp(24px,4vw,38px);display:grid}.preferred-hotel-banner>span{color:#6e4b12;letter-spacing:.12em;text-transform:uppercase;background:#edc47e;padding:9px 11px;font-size:9px;font-weight:900}.preferred-hotel-banner h2{color:#fff;margin:0 0 7px;font-size:35px}.preferred-hotel-banner p{color:#d5e0e6;margin:0;font-size:11px;line-height:1.6}.group-rate-button{min-height:48px;color:var(--ink);text-align:center;background:#edc47e;border:1px solid #ffffff47;justify-content:center;align-items:center;padding:12px 17px;font-size:11px;font-weight:900;line-height:1.4;text-decoration:none;display:inline-flex}:is(.group-rate-button:hover,.group-rate-button:focus-visible){background:#f4d99d}.hotel-priorities{border:1px solid var(--line);border-top:0;grid-template-columns:repeat(4,1fr);margin-bottom:76px;display:grid}.hotel-priorities>div{background:var(--paper-bright);min-width:0;padding:22px}.hotel-priorities>div+div{border-left:1px solid var(--line)}.hotel-priorities span{color:var(--red);font-size:9px;font-weight:800}.hotel-priorities b{margin:9px 0 6px;font:17px Libre Caslon Display,Georgia,serif;display:block}.hotel-priorities p{margin:0;font-size:9px;line-height:1.55}.hotels-title>p{max-width:390px;margin-bottom:3px;font-size:12px}.hotel-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.hotel-destination-nav{z-index:12;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;background:#f7f4edf0;gap:8px;margin:0 0 56px;padding:12px;display:flex;position:sticky;top:0;overflow-x:auto;box-shadow:0 8px 28px #17314e14}.hotel-destination-nav::-webkit-scrollbar{display:none}.hotel-destination-nav a{min-width:150px;color:var(--ink);background:var(--paper-bright);border:1px solid var(--line);text-align:center;flex:1 0 auto;padding:13px 18px;font-size:11px;font-weight:800;text-decoration:none}:is(.hotel-destination-nav a:hover,.hotel-destination-nav a:focus-visible){color:#fff;background:var(--ink);border-color:var(--ink);outline:none}.hotel-destination-stack{gap:84px;display:grid}.hotel-destination-section{scroll-margin-top:90px}.hotel-destination-section+.hotel-destination-section{border-top:1px solid var(--line);padding-top:72px}.hotel-destination-section .hotels-title{margin-top:0}.hotel-card{background:var(--paper-bright);border:1px solid var(--line);border-top:4px solid var(--blue);flex-direction:column;min-width:0;padding:24px;transition:transform .22s,box-shadow .22s;display:flex;overflow:hidden;box-shadow:0 10px 30px #17314e0f}.hotel-card.preferred{border-color:#c79335;border-top-color:var(--gold);box-shadow:0 14px 38px #97691d29}.hotel-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.hotel-card.hotel-2{border-top-color:var(--red)}.hotel-card.hotel-3{border-top-color:var(--gold)}.hotel-card.hotel-4{border-top-color:var(--green)}.hotel-photo{isolation:isolate;aspect-ratio:16/9;background:#d9e2e2;margin:-24px -24px 20px;position:relative;overflow:hidden}.hotel-photo:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 45%,#112a4280);position:absolute;inset:0}.hotel-photo img{object-fit:cover;filter:saturate(.78)contrast(.94)sepia(.08);width:100%;height:100%;transition:transform .5s,filter .3s;display:block}.hotel-card:hover .hotel-photo img{filter:saturate(.94)contrast(.98);transform:scale(1.035)}.hotel-photo figcaption{z-index:2;color:#ffffffe0;letter-spacing:.04em;text-overflow:ellipsis;text-shadow:0 1px 3px #000000bf;white-space:nowrap;max-width:calc(100% - 20px);font-size:7px;position:absolute;bottom:8px;left:10px;overflow:hidden}.hotel-photo figcaption a{color:inherit;text-decoration-color:#ffffff8c}.hotel-card-top{justify-content:space-between;align-items:center;gap:14px;display:flex}.hotel-card-top span{color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.hotel-card-top b{color:#bbb4a8;font:18px Libre Caslon Display,Georgia,serif}.hotel-card h3{min-height:56px;margin:18px 0 5px;font:25px/1.08 Libre Caslon Display,Georgia,serif}.hotel-area{color:var(--ink-soft);margin-bottom:20px;font-size:9px;font-weight:700}.hotel-best{background:#f2eadc;gap:5px;margin-bottom:15px;padding:13px;display:grid}.hotel-best small,.hotel-transit span{color:var(--red);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:800}.hotel-best strong{font-size:11px;line-height:1.45}.hotel-card>p:not(.hotel-area){flex:1;font-size:10px;line-height:1.65}.hotel-transit{border-top:1px solid var(--line);gap:4px;margin:8px 0 18px;padding-top:13px;display:grid}.hotel-transit b{font-size:10px}.hotel-card>a{color:var(--ink);border-bottom:1px solid var(--ink);align-self:flex-start;font-size:9px;font-weight:800;text-decoration:none}.hotel-card>a:hover{color:var(--red);border-color:var(--red)}.hotel-booking-note{border-top:4px solid var(--green);background:#e4ece8;grid-template-columns:.75fr 1.25fr;gap:50px;margin-top:66px;padding:clamp(28px,4vw,44px);display:grid}.hotel-booking-note h2{font-size:37px}.hotel-booking-note ul{margin:0;padding:0;list-style:none}.hotel-booking-note li{color:var(--ink-soft);border-bottom:1px solid #17314e1c;padding:11px 0 11px 20px;font-size:11px;line-height:1.55;position:relative}.hotel-booking-note li:before{content:"•";color:var(--red);font-weight:900;position:absolute;left:0}.budget-hero,.prepare-hero{grid-template-columns:1.2fr .8fr;align-items:end;gap:70px;margin-bottom:64px;display:grid;position:relative}.budget-hero:before,.prepare-hero:before{content:"";z-index:-1;opacity:.075;filter:saturate(.85);background:url(/images/discover-america-watercolor.webp) 50% 42%/cover;position:absolute;inset:-24px -36px}.budget-hero h1,.prepare-hero h1{font-size:clamp(48px,7vw,78px)}.budget-hero p,.prepare-hero p{max-width:650px}.estimate-stamps{border:1px solid var(--line);background:var(--paper-bright);box-shadow:var(--shadow);grid-template-columns:1fr 1fr;display:grid}.estimate-stamps>div{padding:24px}.estimate-stamps>div+div{border-left:1px solid var(--line)}.estimate-stamps span,.estimate-stamps small{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-size:10px;display:block}.estimate-stamps strong{margin:6px 0;font:34px Libre Caslon Display,serif;display:block}.calculator-grid{grid-template-columns:1.1fr .9fr;gap:22px;display:grid}.calculator-card,.cost-breakdown{background:var(--paper-bright);border:1px solid var(--line);padding:clamp(24px,4vw,40px)}.calculator-card{box-shadow:var(--shadow)}.card-heading{justify-content:space-between;display:flex}.card-heading svg{width:42px;color:var(--gold)}.counter-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;display:grid}.counter-grid label{text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:700}.counter{border:1px solid var(--line);grid-template-columns:35px 1fr 35px;align-items:center;height:46px;margin-top:8px;display:grid}.counter button{height:100%;color:var(--red);cursor:pointer;background:#f3eee6;border:0}.counter b{text-align:center;font-size:18px}.total-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;padding:20px 0;display:grid}.total-panel span{color:var(--ink-soft);font-size:12px}.total-panel strong{grid-area:1/2/3;font:46px Libre Caslon Display,serif}.total-panel small{color:var(--red)}.fine-print{margin:20px 0 0;font-size:11px;line-height:1.6}.cost-breakdown h2{font-size:34px}.cost-row{border-bottom:1px solid #e3e2da;justify-content:space-between;gap:18px;padding:13px 0;font-size:13px;display:flex}.cost-row span{gap:3px;display:grid}.cost-row small{color:var(--ink-soft);font-size:10px}.cost-row b{text-align:right}.excluded{color:var(--ink-soft);background:#eee9dd;margin-top:18px;padding:15px;font-size:11px;line-height:1.5}.fundraising-grid{background:#dfe8e7;grid-template-columns:1fr 1fr;gap:22px;margin-top:70px;padding:clamp(28px,5vw,56px);display:grid}.fundraising-copy h2{max-width:520px}.fund-controls{grid-template-columns:1fr 1fr;gap:12px;margin-top:26px;display:grid}.fund-controls label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;position:relative}.fund-controls label span{color:var(--green);font-size:16px;position:absolute;bottom:12px;left:12px}.fund-controls input{width:100%;color:var(--ink);background:#ffffffbf;border:1px solid #17314e2e;margin-top:7px;padding:12px 10px 12px 27px}.fund-meter{justify-content:center;align-items:center;gap:30px;display:flex}.meter-art{background:#ffffff73;border:2px solid #17314e33;border-radius:70px 70px 12px 12px;place-items:center;width:128px;height:245px;display:grid;position:relative;overflow:hidden}.meter-fill{background:var(--green);transition:height .4s;position:absolute;bottom:0;left:0;right:0}.meter-label{z-index:2;color:var(--ink);text-align:center;text-shadow:0 1px #ffffff80;display:grid;position:relative}.meter-label strong{font:34px Libre Caslon Display,serif}.meter-label span{text-transform:uppercase;letter-spacing:.1em;font-size:10px}.meter-copy{display:grid}.meter-copy span{color:var(--ink-soft);text-transform:uppercase;font-size:11px}.meter-copy strong{margin:5px 0;font:38px Libre Caslon Display,serif}.meter-copy small{max-width:170px;color:var(--ink-soft);line-height:1.5}.idea-strip{border:1px solid var(--line);border-top:0;grid-template-columns:repeat(4,1fr);display:grid}.idea-strip>div{background:var(--paper-bright);padding:22px}.idea-strip>div+div{border-left:1px solid var(--line)}.idea-strip span{color:var(--red);font-size:10px;font-weight:700}.idea-strip b{margin:9px 0 5px;font:18px Libre Caslon Display,serif;display:block}.idea-strip p{margin:0;font-size:10px;line-height:1.5}.fundraiser-leaderboard{color:#fff;border-top:4px solid var(--gold);box-shadow:var(--shadow);background:linear-gradient(135deg,#17314e,#234966);margin-top:72px;padding:clamp(28px,5vw,54px)}.leaderboard-heading{grid-template-columns:1fr .8fr;align-items:end;gap:30px;margin-bottom:28px;display:grid}.leaderboard-heading .eyebrow{color:#edc47e}.leaderboard-heading h2{color:#fff;margin:0}.leaderboard-heading p{color:#cad7df;margin:0;font-size:12px}.leaderboard-list{gap:7px;display:grid}.leaderboard-row{min-width:0;color:var(--ink);background:#fffdf8f5;border-left:4px solid #9aa7b2;grid-template-columns:50px minmax(0,1fr) auto 72px;align-items:center;gap:16px;padding:14px 16px;text-decoration:none;transition:transform .2s,background .2s;display:grid}.leaderboard-row:hover{background:#fff;transform:translate(4px)}.leaderboard-row.rank-1{border-left-color:#c29235}.leaderboard-row.rank-2{border-left-color:#8c9ba6}.leaderboard-row.rank-3{border-left-color:#a66b42}.leaderboard-rank{color:#fff;background:var(--red);border-radius:50%;place-items:center;width:34px;height:34px;font:14px Libre Caslon Display,Georgia,serif;display:grid}.rank-1 .leaderboard-rank{color:#6c4a10;background:#e1ba63}.rank-2 .leaderboard-rank{color:#344653;background:#cad4da}.rank-3 .leaderboard-rank{color:#fff;background:#b47750}.leaderboard-student{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;min-width:0;display:grid}.leaderboard-student b{text-overflow:ellipsis;white-space:nowrap;font:18px Libre Caslon Display,Georgia,serif;overflow:hidden}.leaderboard-student>span{background:#dce3e3;border-radius:4px;grid-column:1/-1;height:5px;overflow:hidden}.leaderboard-student i{background:var(--green);height:100%;display:block}.leaderboard-student small{color:var(--ink-soft);font-size:8px}.leaderboard-row>strong{min-width:86px;color:var(--red);text-align:right;font:26px Libre Caslon Display,Georgia,serif}.leaderboard-row>em{color:var(--ink-soft);text-align:right;font-size:9px;font-style:normal;font-weight:800}.leaderboard-empty{color:#cbd7de;text-align:center;border:1px dashed #ffffff4d;gap:5px;padding:28px;font-size:11px;display:grid}.leaderboard-empty b{color:#fff;font:22px Libre Caslon Display,Georgia,serif}.leaderboard-note{color:#aebfc9;margin:17px 0 0;font-size:9px;line-height:1.6}.fundraiser-builder{border-top:5px solid var(--red);box-shadow:var(--shadow);background:#eee7d7;grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(30px,6vw,72px);margin-top:76px;padding:clamp(28px,5vw,58px);display:grid}.fundraiser-builder-intro{position:sticky;top:78px}.fundraiser-builder-intro>p{font-size:14px}.fundraiser-builder-intro ol{counter-reset:fundraiser-step;gap:0;margin:26px 0;padding:0;list-style:none;display:grid}.fundraiser-builder-intro li{color:var(--ink-soft);counter-increment:fundraiser-step;border-bottom:1px solid #17314e1f;padding:13px 0 13px 38px;font-size:12px;line-height:1.45;position:relative}.fundraiser-builder-intro li:before{content:counter(fundraiser-step);color:#fff;background:var(--red);border-radius:50%;place-items:center;width:25px;height:25px;font-size:9px;font-weight:800;display:grid;position:absolute;top:9px;left:0}.paypal-setup-link{color:var(--ink);border-bottom:1px solid var(--ink);margin-top:20px;font-size:11px;font-weight:800;text-decoration:none;display:inline-block}.family-portal-callout{color:#fff;background:var(--ink);border-left:4px solid var(--gold);gap:4px;margin-top:18px;padding:15px;text-decoration:none;display:grid}.family-portal-callout b{color:#edc47e;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.family-portal-callout span{color:#d7e1e6;font-size:10px;line-height:1.5}.fundraiser-builder-card{background:var(--paper-bright);border:1px solid #b8863c57;min-width:0;padding:clamp(24px,4vw,42px)}.input-prefix{z-index:1;color:var(--red);margin:37px 0 0 12px;font-size:14px;position:absolute}.input-prefix+input{padding-left:28px}.website-field{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.paypal-disclosure{color:#e8eff2;background:var(--ink);border-left:4px solid var(--gold);gap:5px;margin:6px 0 18px;padding:15px;display:grid}.paypal-disclosure b{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.paypal-disclosure span{color:#cbd7de;font-size:10px;line-height:1.55}.leaderboard-consent{border-left:3px solid var(--gold);background:#f2eadc;margin-top:-4px;padding:14px}.fundraiser-created{flex-direction:column;justify-content:center;min-height:670px;display:flex}.fundraiser-created .success-icon{flex:none}.fundraiser-created h2{font-size:40px}.fundraiser-link-box{border:1px solid var(--line);gap:8px;margin:12px 0;padding:18px;display:grid;overflow:hidden}.fundraiser-link-box>span{color:var(--red);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:800}.fundraiser-link-box a{overflow-wrap:anywhere;color:var(--ink);font-size:11px;font-weight:700}.fundraiser-link-box p{margin:0;font-size:10px;line-height:1.5}.fundraiser-link-box button{color:#fff;background:var(--ink);cursor:pointer;border:0;justify-self:start;padding:8px 11px;font-size:10px;font-weight:800}.manager-link{background:#f4ead7;border-color:#b8863c57}.portal-created-link{color:var(--ink);border-bottom:1px solid var(--ink);align-self:flex-start;margin:12px 0 18px;font-size:11px;font-weight:800;text-decoration:none}.payment-fieldset{background:#f4eddf;border:1px solid #b8863c6b;min-width:0;margin:8px 0 18px;padding:18px}.payment-fieldset legend{color:var(--red);padding:0 8px;font:19px Libre Caslon Display,Georgia,serif}.payment-fieldset>p{margin:0 0 15px;font-size:10px;line-height:1.55}.payment-fieldset .payment-consent{border-left:3px solid var(--gold);background:#fffdf8b8;margin:0;padding:13px}.copy-message{color:#315b43;background:#e4ece8;padding:10px 12px;font-size:11px}.payment-plan{border-top:1px solid var(--line);grid-template-columns:1.4fr repeat(4,.65fr);align-items:end;gap:12px;margin-top:65px;padding-top:34px;display:grid}.payment-plan h2{font-size:34px}.payment-plan>div:not(:first-child){border-left:2px solid var(--red);gap:5px;padding-left:12px;display:grid}.payment-plan strong{font-size:15px}.payment-plan span{color:var(--ink-soft);font-size:10px}.prepare-hero{align-items:center}.passport-art{color:#f7eee0;width:245px;height:320px;box-shadow:var(--shadow);background-image:linear-gradient(#0d3052c7,#0d3052e0),url(/images/discover-america-watercolor.webp);background-position:50%;background-size:cover;border:10px double #ffffff47;flex-direction:column;justify-content:center;justify-self:center;align-items:center;display:flex;position:relative;overflow:hidden;transform:rotate(3deg)}.passport-art:before{content:"";border:1px solid #ffffff52;position:absolute;inset:10px}.passport-art svg{width:110px;margin-bottom:18px}.passport-art span{letter-spacing:.2em;text-transform:uppercase;font-size:10px}.passport-art strong{font:50px Libre Caslon Display,serif}.passport-art small{font:italic 13px Georgia,serif}.passport-title{margin-top:8px}.passport-download-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:56px;display:grid}.passport-download-card{color:#fff;background:var(--ink);min-height:375px;box-shadow:var(--shadow);border:1px solid #b8863c61;align-items:flex-end;display:flex;position:relative;overflow:hidden}.passport-download-card:after{content:"";background:linear-gradient(0deg,#0c2741f5 0,#0c2741ad 44%,#0c274114 76%);position:absolute;inset:0}.passport-download-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.passport-download-card>div{z-index:2;width:100%;padding:24px;position:relative}.passport-download-card span{color:#edc47e;letter-spacing:.15em;text-transform:uppercase;font-size:9px;font-weight:800}.passport-download-card h3{margin:8px 0 6px;font:29px Libre Caslon Display,Georgia,serif}.passport-download-card p{color:#e5ebee;margin-bottom:17px;font:italic 12px Georgia,serif}.passport-download-card a{color:#fff;border-bottom:1px solid #ffffff94;padding-bottom:4px;font-size:11px;font-weight:800;text-decoration:none;display:inline-block}.passport-download-card a:hover{color:#edc47e}.passport-download-card .passport-city-guide-link{color:#edc47e;border-color:#edc47ea6;margin-right:14px}.resource-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:78px;display:grid}.resource-card{isolation:isolate;text-align:left;min-height:240px;color:var(--ink);border:1px solid var(--line);cursor:pointer;padding:24px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.resource-card:after{content:"";z-index:-1;opacity:.1;background:url(/images/discover-america-watercolor.webp) 50% 55%/cover;position:absolute;inset:0}.resource-card:nth-child(2):after{background-position:50% 12%}.resource-card:nth-child(3):after{background-position:50% 84%}.resource-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.resource-card span{color:var(--red);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:700}.resource-card h3{margin:48px 0 8px;font:27px Libre Caslon Display,serif}.resource-card p,.resource-card b{font-size:11px}.resource-1{background:#e7ecec}.resource-2{background:#f3ead9}.resource-3{background:#eee5e3}.rsvp-community-section{background:#e4ece8;border:1px solid #64846f47;margin:8px 0 70px;padding:clamp(26px,4vw,42px)}.rsvp-community-heading{grid-template-columns:1fr 1fr;align-items:end;gap:4px 36px;margin-bottom:26px;display:grid}.rsvp-community-heading .eyebrow{grid-column:1/-1}.rsvp-community-heading h2,.rsvp-community-heading p{margin-bottom:0}.rsvp-community-heading p{font-size:12px}.rsvp-family-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.rsvp-family-grid article{background:#fffdf8d6;border:1px solid #17314e1a;gap:10px;min-width:0;padding:14px;transition:transform .2s,box-shadow .2s;display:grid}.rsvp-family-grid article:hover{transform:translateY(-2px);box-shadow:0 9px 24px #17314e14}.rsvp-family-link{min-width:0;color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.rsvp-avatar{color:#fff;background:linear-gradient(145deg,var(--red),#c36c67);border:3px double #ffffffb3;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;font:17px Libre Caslon Display,Georgia,serif;display:grid}.rsvp-avatar.has-photo{background:#dfe6e3;padding:0;overflow:hidden}.rsvp-avatar img{object-fit:cover;width:100%;height:100%}.rsvp-family-link>div:last-child{gap:3px;min-width:0;display:grid}.rsvp-family-grid b{text-overflow:ellipsis;white-space:nowrap;font:17px Libre Caslon Display,Georgia,serif;overflow:hidden}.rsvp-family-grid span{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:9px}.rsvp-city-badges,.family-city-badges{flex-wrap:wrap;gap:6px;display:flex}.rsvp-city-badges span,.family-city-badges span{min-height:25px;color:var(--ink);letter-spacing:.04em;text-transform:none;background:#e8edef;border:1px solid #c9d4da;border-radius:999px;align-items:center;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.rsvp-student-links{border-top:1px solid #17314e1a;flex-wrap:wrap;gap:6px;padding-top:9px;display:flex}.rsvp-student-links a{min-width:0;color:var(--ink);background:#eef1ed;border:1px solid #64846f33;border-radius:30px;align-items:center;gap:6px;padding:5px 8px 5px 5px;text-decoration:none;display:inline-flex}:is(.rsvp-student-links a:hover,.rsvp-student-links a:focus-visible){outline-color:var(--red);background:#e2e9e4}.rsvp-student-links b{max-width:110px;font-size:11px}.rsvp-student-avatar{background:var(--ink);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid;overflow:hidden;color:#fff!important;letter-spacing:0!important;font:9px sans-serif!important}.rsvp-student-avatar img{object-fit:cover;width:100%;height:100%}.rsvp-empty{color:var(--ink-soft);text-align:center;background:#fffdf8b8;border:1px dashed #17314e38;gap:5px;padding:24px;font-size:11px;display:grid}.rsvp-empty b{color:var(--ink);font:20px Libre Caslon Display,Georgia,serif}.registration-wrap{border-top:1px solid var(--line);grid-template-columns:.78fr 1.22fr;align-items:start;gap:clamp(28px,6vw,72px);padding-top:68px;display:grid}.registration-intro{background-image:linear-gradient(#f7f4ede6,#f7f4edf0),url(/images/discover-america-watercolor.webp);background-position:50% 80%;background-size:cover;border:1px solid #b8863c47;padding:26px}.registration-intro>p{font-size:14px}.registration-intro ul{margin:26px 0;padding:0;list-style:none}.registration-intro li{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:11px 0 11px 24px;font-size:12px}.registration-intro li:before{content:"✓";float:left;color:var(--green);margin-left:-23px;font-weight:700}.privacy-note{background:#e4ece8;gap:6px;padding:16px;display:grid}.privacy-note b{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.privacy-note span{color:var(--ink-soft);font-size:10px;line-height:1.55}.registration-card{background:var(--paper-bright);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(24px,4vw,40px)}.directory-opt-in{border-left:4px solid var(--gold);background:#f2eadc;margin:22px 0 8px;padding:18px}.directory-opt-in .eyebrow{margin-bottom:15px}.photo-privacy-copy{color:var(--ink-soft);margin:-4px 0 8px;font-size:9px;line-height:1.55}.registration-photo-notice{color:#315b43;background:#e4ece8;margin:14px 0 0;padding:11px 13px;font-size:10px;line-height:1.55}.form-heading{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:24px;padding-bottom:14px;display:flex}.form-heading span{color:var(--red);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.form-heading b{font:22px Libre Caslon Display,serif}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}form label{color:var(--ink);gap:7px;margin-bottom:14px;font-size:11px;font-weight:700;display:grid}form label small{color:var(--ink-soft);font-size:9px;font-weight:400;display:inline}input,textarea,select{width:100%;min-width:0;color:var(--ink);background:#faf8f1;border:1px solid #d4d4cd;border-radius:0}input,select{height:45px;padding:0 12px}textarea{resize:vertical;padding:12px}.checkbox{color:var(--ink-soft);grid-template-columns:17px 1fr;align-items:start;gap:10px;padding:13px 0;font-weight:400;line-height:1.5}.checkbox input{width:17px;height:17px;margin:1px 0 0}.submit-button{width:100%;margin-top:8px}.submit-button:disabled{opacity:.65;cursor:wait}.form-error{color:#8d2327;background:#f8e6e5;padding:11px;font-size:12px}.success-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:510px;display:flex}.success-icon{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:22px;font-size:26px;display:grid}.success-panel p{margin-bottom:8px}.success-panel>strong{color:var(--red);border:1px solid var(--red);letter-spacing:.08em;margin-bottom:14px;padding:12px 22px;font:28px Libre Caslon Display,serif}.success-panel small{max-width:360px;color:var(--ink-soft);margin-bottom:24px;line-height:1.6}.shirt-section{max-width:1320px}.shirt-hero{grid-template-columns:minmax(620px,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(36px,5vw,70px);margin-bottom:84px;display:grid}.shirt-product-gallery{padding-bottom:18px;position:relative}.shirt-showcase{min-width:0;min-height:520px;box-shadow:var(--shadow);background:#fffdf8;border:1px solid #b8863c59;place-items:center;margin:0;padding:22px 16px 48px;display:grid;position:relative;overflow:hidden}.shirt-showcase:before{content:"";pointer-events:none;border:1px solid #ad3a3d24;position:absolute;inset:12px}.shirt-showcase img{object-fit:contain;width:100%;height:100%;max-height:470px;display:block}.shirt-showcase figcaption{z-index:2;color:var(--ink-soft);text-align:center;font:italic 12px Georgia,serif;position:absolute;bottom:20px;left:18px;right:18px}.shirt-combined-showcase{aspect-ratio:3/2;min-height:0;padding:12px}.shirt-combined-showcase img{max-height:none}.shirt-corner-note{z-index:2;color:var(--ink);border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;background:#fffdf8eb;padding:8px 11px;font-size:9px;font-weight:700;position:absolute;top:24px;left:24px}.shirt-color-note{z-index:3;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;background:#fffdf8f7;grid-template-columns:16px auto;align-items:center;gap:1px 8px;padding:10px 12px;font-size:10px;font-weight:800;display:grid;position:absolute;bottom:0;right:50%;transform:translate(50%);box-shadow:0 8px 24px #17314e1f}.shirt-color-note i{background:#eee4d1;border:1px solid #cabca5;border-radius:50%;grid-row:1/3;width:16px;height:16px}.shirt-color-note small{color:var(--ink-soft);letter-spacing:.04em;text-transform:none;font-size:8px;font-weight:500}.shirt-copy h1{font-size:clamp(52px,7vw,82px)}.shirt-copy>p{max-width:600px;font-size:16px}.shirt-price-lockup{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:18px;margin:32px 0 26px;padding:20px 0;display:flex}.shirt-price-lockup>strong{color:var(--red);font:58px/1 Libre Caslon Display,Georgia,serif}.shirt-price-lockup>span{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800;display:grid}.shirt-price-lockup small{color:var(--ink-soft);letter-spacing:.02em;text-transform:none;margin-top:5px;font-size:10px;font-weight:500}.shirt-details{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.shirt-details li{color:var(--ink);background:#eee7d7;padding:8px 11px;font-size:10px;font-weight:700}.shirt-order-wrap{border-top:1px solid var(--line);grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(30px,6vw,72px);padding-top:70px;display:grid}.shirt-order-intro{position:sticky;top:78px}.shirt-order-intro>p{font-size:14px}.shirt-order-summary{color:#fff;background:var(--ink);border-left:5px solid var(--red);grid-template-columns:1fr auto;gap:10px 20px;margin-top:28px;padding:22px;display:grid}.shirt-order-summary span{color:#c9d4dc;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.shirt-order-summary strong{text-align:right;font:25px Libre Caslon Display,Georgia,serif}.shirt-order-card{background:var(--paper-bright);box-shadow:var(--shadow);border:1px solid #b8863c57;padding:clamp(24px,4vw,42px)}.shirt-size-group{border:0;margin:0 0 28px;padding:0}.shirt-size-group legend{width:100%;color:var(--red);border-bottom:1px solid var(--line);margin-bottom:13px;padding-bottom:8px;font:21px Libre Caslon Display,Georgia,serif}.shirt-size-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}form label.shirt-size{background:#f3eee6;border:1px solid #0000;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;margin:0;padding:13px;display:grid}form label.shirt-size:focus-within{border-color:var(--blue)}.shirt-size span{color:var(--ink);font:20px Libre Caslon Display,Georgia,serif}.shirt-size small{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:700}.shirt-size input{text-align:center;background:#fffdf8;grid-area:1/2/3;width:58px;height:42px;padding:0 7px}.order-total-bar{color:#fff;background:var(--red);justify-content:space-between;align-items:center;margin:4px 0 32px;padding:18px 20px;display:flex}.order-total-bar span{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.order-total-bar strong{font:32px Libre Caslon Display,Georgia,serif}.customer-heading{margin-top:8px}.shirt-success{min-height:660px}.shirt-success small{font-size:12px}.fundraiser-public-page{background:var(--paper);min-height:100vh}.fundraiser-public-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:1240px;min-height:82px;margin:auto;padding:14px clamp(20px,5vw,60px);display:flex}.fundraiser-home-link{color:var(--ink);grid-template-columns:42px 1fr;gap:1px 12px;text-decoration:none;display:grid}.fundraiser-home-link>span{width:42px;height:42px;color:var(--gold);border:1px solid var(--gold);border-radius:50%;grid-row:1/3;place-items:center;font:17px Libre Caslon Display,Georgia,serif;display:grid}.fundraiser-home-link b{font:20px Libre Caslon Display,Georgia,serif}.fundraiser-home-link small{color:var(--red);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:800}.fundraiser-public-header>button{color:var(--ink);border:0;border-bottom:1px solid var(--ink);cursor:pointer;background:0 0;padding:10px 0;font-size:11px;font-weight:800}.fundraiser-story-shell{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(36px,7vw,84px);max-width:1120px;margin:auto;padding:clamp(42px,7vw,92px) clamp(20px,5vw,60px);display:grid}.fundraiser-story-art{min-height:620px;box-shadow:var(--shadow);background:#e5e0d3;border:1px solid #b8863c66;position:relative;overflow:hidden}.fundraiser-story-art:after{content:"";pointer-events:none;border:1px solid #fffdf8c2;position:absolute;inset:12px}.fundraiser-story-art img{object-fit:cover;filter:saturate(.88)contrast(.96);width:100%;height:100%;position:absolute;inset:0}.student-monogram{z-index:2;color:#fff;background:#ad3a3deb;border:8px double #fffdf8e6;border-radius:50%;place-items:center;width:148px;height:148px;font:50px Libre Caslon Display,Georgia,serif;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 35px #17314e47}.student-profile-photo{z-index:2;background:#e4ece8;border:10px double #fffdf8f0;border-radius:50%;width:210px;height:210px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 40px #17314e52}.fundraiser-story-art .student-profile-photo img{object-fit:cover;filter:none;width:100%;height:100%;position:static}.unlisted-label{z-index:3;color:var(--ink);letter-spacing:.11em;text-transform:uppercase;background:#fffdf8e6;padding:8px 10px;font-size:8px;font-weight:800;position:absolute;bottom:22px;left:24px}.fundraiser-story-copy h1{font-size:clamp(52px,7vw,80px)}.fundraiser-story-copy h1 em{font-size:.5em}.fundraiser-lede{font:17px/1.75 Georgia,serif}.paused-banner{color:#754d16;border-left:4px solid var(--gold);background:#f4ead7;margin-bottom:20px;padding:11px;font-size:11px;font-weight:700}.fundraiser-progress-card{background:#e4ece8;margin:28px 0 20px;padding:22px}.fundraiser-progress-head,.fundraiser-progress-values{justify-content:space-between;align-items:center;gap:20px;display:flex}.fundraiser-progress-head span{color:var(--ink-soft);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.fundraiser-progress-head strong{color:var(--red);font:28px Libre Caslon Display,Georgia,serif}.fundraiser-progress-track{background:#17314e1f;border-radius:8px;height:12px;margin:11px 0;overflow:hidden}.fundraiser-progress-track i{background:linear-gradient(90deg,var(--red),#c76564);border-radius:inherit;height:100%;transition:width .4s;display:block}.fundraiser-progress-values{font-size:11px}.fundraiser-progress-values span{color:var(--ink-soft);text-align:right}.support-payment-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.support-payment-heading{color:var(--ink);margin:24px 0 10px;font-size:25px}.support-payment-card{color:#fff;background:var(--ink);text-align:left;cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:100px;padding:14px;text-decoration:none;display:flex;box-shadow:0 8px 20px #17314e24}.support-payment-card span{color:#c8d5dc;letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.support-payment-card strong{margin:3px 0;font:24px Libre Caslon Display,Georgia,serif}.support-payment-card small{overflow-wrap:anywhere;color:#eef3f5;max-width:100%;font-size:8px;line-height:1.4}.support-payment-card.paypal{border-top:4px solid var(--gold)}.support-payment-card.venmo{background:#315f7e;border-top:4px solid #8eb6c9}.support-payment-card.zelle{background:#66527a;border-top:4px solid #c7b3da}.support-payment-card:hover{filter:brightness(1.08)}.support-payment-card:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.zelle-payment-instructions{background:#f3eef6;border:1px solid #66527a57;border-top:4px solid #66527a;gap:14px;margin-top:12px;padding:20px;display:grid;box-shadow:0 8px 22px #17314e1a}.zelle-payment-instructions h3{color:var(--ink);margin:3px 0 0;font:26px Libre Caslon Display,Georgia,serif}.zelle-payment-instructions ol{color:var(--ink);gap:8px;margin:0;padding-left:22px;font-size:15px;line-height:1.55;display:grid}.zelle-payment-instructions strong{overflow-wrap:anywhere}.zelle-payment-actions{flex-wrap:wrap;gap:9px;display:flex}.zelle-payment-actions button,.zelle-payment-actions a{color:#fff;cursor:pointer;background:#66527a;border:1px solid #66527a;justify-content:center;align-items:center;min-height:44px;padding:10px 14px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.zelle-payment-actions a{color:#66527a;background:#fff}.zelle-payment-actions button:hover,.zelle-payment-actions a:hover{filter:brightness(1.06)}:is(.zelle-payment-actions button:focus-visible,.zelle-payment-actions a:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.zelle-payment-status{color:#24384c;border-left:3px solid var(--gold);background:#fff;margin:0;padding:11px 13px;font-size:14px;line-height:1.5}.zelle-payment-instructions>small{color:var(--ink-soft);font-size:12px;line-height:1.4}.paypal-note{margin:10px 0 0;font-size:9px;line-height:1.55}.share-message,.manager-message{color:#315b43;background:#e4ece8;padding:10px 12px;font-size:11px}.fundraiser-details{grid-template-columns:1fr 1fr;max-width:1120px;margin:0 auto 70px;padding:0 clamp(20px,5vw,60px);display:grid}.fundraiser-details article{background:var(--paper-bright);border:1px solid var(--line);min-height:310px;padding:clamp(28px,4vw,46px)}.fundraiser-details article+article{background:#eee7d7;border-left:0}.fundraiser-details article>span{color:var(--red);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:800}.fundraiser-details h2{margin-top:16px;font-size:37px}.fundraiser-details p{font:14px/1.8 Georgia,serif}.trip-gallery-section{border-top:4px solid var(--green);background:#e4ece8;max-width:1120px;margin:0 auto 74px;padding:clamp(30px,5vw,54px) clamp(20px,5vw,60px)}.trip-gallery-heading{grid-template-columns:1fr .8fr;align-items:end;gap:4px 30px;margin-bottom:26px;display:grid}.trip-gallery-heading .eyebrow{grid-column:1/-1}.trip-gallery-heading h2,.trip-gallery-heading p{margin:0}.trip-gallery-heading p{font-size:11px}.trip-gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.trip-gallery-grid figure{background:var(--paper-bright);border:1px solid #17314e1f;min-width:0;margin:0;position:relative;overflow:hidden}.trip-gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.trip-gallery-grid figcaption{color:var(--ink);padding:13px;font:italic 11px/1.5 Georgia,serif}.trip-gallery-grid button{color:#fff;cursor:pointer;background:#8d2327e6;border:0;padding:7px 9px;font-size:8px;font-weight:800;position:absolute;top:8px;right:8px}.fundraiser-trust-note{color:#dce6eb;background:var(--ink);border-top:3px solid var(--gold);grid-template-columns:auto 1fr;align-items:start;gap:24px;max-width:1000px;margin:0 auto 72px;padding:24px;display:grid}.fundraiser-trust-note b{color:#edc47e;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.fundraiser-trust-note p{color:#c9d5dc;margin:0;font-size:10px;line-height:1.7}.fundraiser-manager{background:#f2eadc;border:1px solid #b8863c57;grid-template-columns:.7fr 1.3fr;gap:50px;max-width:1000px;margin:0 auto 86px;padding:48px;display:grid}.fundraiser-manager-intro p{font-size:12px}.manager-portal-link{color:var(--ink);border-bottom:1px solid var(--ink);font-size:10px;font-weight:800;text-decoration:none;display:inline-block}.fundraiser-manager form{background:var(--paper-bright);padding:28px}.fundraiser-profile-manager{border-top:4px solid var(--gold);background:#eee7d7;grid-column:1/-1;grid-template-columns:128px minmax(0,.8fr) minmax(260px,1.2fr);align-items:center;gap:24px;padding:28px;display:grid}.profile-manager-preview{color:#fff;background:var(--red);border:7px double #ffffffd1;border-radius:50%;place-items:center;width:112px;height:112px;font:38px Libre Caslon Display,Georgia,serif;display:grid;overflow:hidden}.profile-manager-preview img{object-fit:cover;width:100%;height:100%}.fundraiser-profile-manager h2{margin-bottom:6px;font-size:30px}.fundraiser-profile-manager p{margin:0;font-size:10px}.fundraiser-profile-manager form{padding:18px}.fundraiser-profile-manager .manager-message{grid-column:2/-1;margin:0}.profile-photo-actions{align-items:center;gap:12px;display:flex}.photo-remove-button{color:#873033;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #873033;min-height:42px;padding:10px 0;font-size:9px;font-weight:800}.fundraiser-photo-manager{border-top:4px solid var(--green);background:#e4ece8;grid-column:1/-1;grid-template-columns:.75fr 1.25fr;gap:6px 36px;margin-top:10px;padding:30px;display:grid}.fundraiser-photo-manager>.eyebrow,.fundraiser-photo-manager>h2,.fundraiser-photo-manager>p,.fundraiser-photo-manager>.photo-safety-note,.fundraiser-photo-manager>.manager-message,.fundraiser-photo-manager>small{grid-column:1}.fundraiser-photo-manager>h2{margin-bottom:5px}.fundraiser-photo-manager>p{font-size:11px}.fundraiser-photo-manager>form{background:var(--paper-bright);grid-area:1/2/span 7;padding:24px}.photo-safety-note{color:#fff;background:var(--ink);gap:4px;padding:13px;display:grid}.photo-safety-note b{color:#edc47e;letter-spacing:.12em;text-transform:uppercase;font-size:9px}.photo-safety-note span{color:#cbd7de;font-size:9px;line-height:1.55}.fundraiser-photo-manager>small{color:var(--ink-soft);font-size:9px}.fundraiser-public-footer{grid-template-columns:none;justify-content:space-between;max-width:none;padding:28px clamp(20px,5vw,60px);font-size:10px;display:flex}.fundraiser-public-footer span{color:#dce6eb;display:block}.fundraiser-public-footer a{color:#fff}.fundraiser-public-state{background:var(--paper);place-items:center;min-height:100vh;padding:30px;display:grid}.fundraiser-loading,.fundraiser-not-found{text-align:center;background:var(--paper-bright);border:1px solid var(--line);max-width:620px;box-shadow:var(--shadow);padding:50px}.fundraiser-not-found>span{color:var(--red);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:800}.fundraiser-not-found h1{margin-top:18px;font-size:52px}.fundraiser-not-found a{color:var(--ink);font-weight:800}.portal-page{background-color:var(--paper);min-height:100vh}.portal-topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;max-width:1240px;min-height:84px;margin:auto;padding:14px clamp(20px,5vw,62px);display:flex}.portal-topbar>a:not(.portal-brand),.portal-account a{color:var(--ink);border-bottom:1px solid var(--ink);font-size:10px;font-weight:800;text-decoration:none}.portal-brand{color:var(--ink);grid-template-columns:42px 1fr;gap:1px 12px;text-decoration:none;display:grid}.portal-brand>span{width:42px;height:42px;color:var(--gold);border:1px solid var(--gold);border-radius:50%;grid-row:1/3;place-items:center;font:17px Libre Caslon Display,Georgia,serif;display:grid}.portal-brand b{font:20px Libre Caslon Display,Georgia,serif}.portal-brand small{color:var(--red);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:800}.portal-account{color:var(--ink-soft);align-items:center;gap:18px;font-size:10px;display:flex}.portal-account b{color:var(--ink)}.portal-signed-out{grid-template-rows:auto 1fr;display:grid}.portal-login-card{background:var(--paper-bright);width:min(680px,100% - 40px);box-shadow:var(--shadow);border:1px solid #b8863c66;place-self:center;margin:54px auto;padding:clamp(34px,7vw,70px);position:relative;overflow:hidden}.portal-login-card:after{content:"";pointer-events:none;border:1px solid #b8863c40;position:absolute;inset:12px}.portal-login-card>*{z-index:1;position:relative}.portal-login-card h1{margin:12px 0 20px;font-size:clamp(48px,7vw,76px)}.portal-login-card>p{max-width:540px;font-size:15px}.portal-login-button{margin:10px 0 25px}.portal-login-note{border-left:4px solid var(--green);background:#e4ece8;gap:5px;padding:15px;display:grid}.portal-login-note b{letter-spacing:.1em;text-transform:uppercase;font-size:10px}.portal-login-note span{color:var(--ink-soft);font-size:10px;line-height:1.55}.portal-seal{float:right;color:#fff;background:var(--red);border:7px double #fffc;border-radius:50%;align-content:center;place-items:center;width:92px;height:92px;font:27px/1 Libre Caslon Display,Georgia,serif;display:grid;transform:rotate(4deg)}.portal-seal small{font-size:13px}.portal-hero{grid-template-columns:1fr 1fr;align-items:end;gap:clamp(34px,7vw,80px);max-width:1120px;margin:auto;padding:clamp(48px,7vw,88px) clamp(20px,5vw,60px) 46px;display:grid}.portal-hero h1{margin-bottom:16px;font-size:clamp(50px,7vw,78px)}.portal-hero p{max-width:520px;font-size:15px}.portal-deposit-notice{color:#fff;background:var(--red);border-left:5px solid var(--gold);max-width:1000px;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:24px;margin:0 auto 28px;padding:18px clamp(20px,5vw,30px);display:flex}.portal-deposit-notice div{gap:4px;display:grid}.portal-deposit-notice span{color:#f0d59e;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.portal-deposit-notice strong{color:#fff;font:24px Libre Caslon Display,Georgia,serif}.portal-deposit-notice p{color:#fff;text-align:right;margin:0;font-size:13px}.portal-stat-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.portal-stat-grid article{background:var(--paper-bright);flex-direction:column;justify-content:center;min-width:0;min-height:125px;padding:18px;display:flex}.portal-stat-grid article+article{border-left:1px solid var(--line)}.portal-stat-grid span{color:var(--red);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:800}.portal-stat-grid strong{overflow-wrap:anywhere;margin:7px 0 2px;font:23px Libre Caslon Display,Georgia,serif}.portal-stat-grid small{color:var(--ink-soft);font-size:8px}.portal-flash{z-index:10;max-width:1000px;box-shadow:var(--shadow);margin:0 auto 24px;padding:13px 18px;font-size:11px;position:sticky;top:10px}.portal-flash.success{color:#315b43;border-left:4px solid var(--green);background:#e4ece8}.portal-flash.error{color:#7e2a2e;border-left:4px solid var(--red);background:#f4dddd}.portal-section{max-width:1000px;margin:0 auto 68px;padding:0 clamp(20px,5vw,60px)}.portal-section-heading{grid-template-columns:48px 1fr;align-items:start;gap:18px;margin-bottom:20px;display:grid}.portal-section-heading>span{color:#fff;background:var(--red);place-items:center;width:46px;height:46px;font:18px Libre Caslon Display,Georgia,serif;display:grid}.portal-section:nth-of-type(4) .portal-section-heading>span{background:var(--blue)}.portal-section:nth-of-type(5) .portal-section-heading>span{background:var(--gold)}.portal-section-heading h2{margin:0;font-size:39px}.portal-section-heading p{margin:5px 0 0;font-size:11px}.portal-card{background:var(--paper-bright);border:1px solid var(--line);margin-bottom:16px;padding:clamp(22px,4vw,36px);box-shadow:0 10px 32px #17314e0d}.portal-card button.primary{margin-top:4px}.portal-card input:disabled{color:var(--ink-soft);background:#eceae3}.portal-card-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin:-5px 0 25px;padding-bottom:18px;display:flex}.portal-card-title>div>span{color:var(--red);letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:800}.portal-card-title h3{margin:5px 0 0;font:26px Libre Caslon Display,Georgia,serif}.portal-card-title>a{color:var(--ink);border-bottom:1px solid var(--ink);font-size:9px;font-weight:800;text-decoration:none}.rsvp-status{border-left:3px solid var(--green);background:#e4ece8;min-width:165px;margin:0;padding:10px}.rsvp-status.maybe{border-color:var(--gold);background:#f4ead7}.rsvp-status.not-going{border-color:var(--red);background:#f3e1e1}.rsvp-status>span{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:8px}.rsvp-status select{background:0 0;border:0;height:36px;padding:0;font-weight:800}.portal-count-row{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.portal-claim{border-left:4px solid var(--gold);background:#eee7d7;grid-template-columns:minmax(210px,1fr) minmax(170px,.7fr) auto;align-items:center;gap:12px;margin-top:18px;padding:18px;display:grid}.portal-claim>div{gap:3px;display:grid}.portal-claim b{font:18px Libre Caslon Display,Georgia,serif}.portal-claim span{color:var(--ink-soft);font-size:9px;line-height:1.45}.portal-claim input{margin:0}.portal-claim button{color:#fff;background:var(--ink);cursor:pointer;border:0;align-self:stretch;padding:0 15px;font-size:10px;font-weight:800}.portal-claim-wide{grid-template-columns:minmax(210px,.8fr) minmax(260px,1.2fr) auto}.portal-empty{text-align:center;border-style:dashed}.portal-empty h3{font:27px Libre Caslon Display,Georgia,serif}.portal-empty p{font-size:11px}.portal-empty a{color:var(--ink);font-size:10px;font-weight:800}.portal-progress{background:#e4ece8;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:-8px 0 22px;padding:14px;display:grid}.portal-progress>div{background:#17314e1f;height:8px;overflow:hidden}.portal-progress i{background:var(--red);height:100%;display:block}.portal-progress b{font-size:11px}.portal-progress span{color:var(--ink-soft);font-size:9px}.portal-form-actions{align-items:center;gap:18px;display:flex}.portal-form-actions a{color:var(--ink);border-bottom:1px solid var(--ink);font-size:10px;font-weight:800;text-decoration:none}.portal-photo-control{border-left:4px solid var(--gold);background:#eee7d7;grid-template-columns:92px 1fr;align-items:center;gap:18px;margin:8px 0 18px;padding:18px;display:grid}.portal-photo-preview{color:#fff;background:var(--red);border:6px double #ffffffd1;border-radius:50%;place-items:center;width:82px;height:82px;font:30px Libre Caslon Display,Georgia,serif;display:grid;overflow:hidden}.portal-photo-preview img{object-fit:cover;width:100%;height:100%}.portal-photo-control b{font:20px Libre Caslon Display,Georgia,serif}.portal-photo-control p{margin:4px 0 10px;font-size:9px;line-height:1.5}.portal-city-choices{border:1px solid var(--line);background:#f0eee7;margin:8px 0 22px;padding:18px}.portal-city-choices legend{color:var(--ink);padding:0 8px;font:22px Libre Caslon Display,Georgia,serif}.portal-city-choices>p{color:var(--ink-soft);margin:0 0 14px;font-size:10px}.portal-city-choices>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portal-city-choices label{background:var(--paper-bright);cursor:pointer;border:1px solid #17314e1f;align-items:center;gap:9px;margin:0;padding:10px 12px;display:flex}.portal-city-choices input{width:18px;height:18px;accent-color:var(--red);flex:none;margin:0}.portal-city-choices span{color:var(--ink);font-size:10px;font-weight:800}.portal-city-choices>small{color:var(--ink-soft);margin-top:12px;font-size:8px;display:block}.portal-attendance-planner{border:1px solid var(--line);background:#f0eee7;margin:12px 0 24px;padding:clamp(18px,3vw,28px)}.portal-attendance-planner>legend{color:var(--ink);padding:0 9px;font:27px Libre Caslon Display,Georgia,serif}.portal-attendance-planner>p{max-width:680px;color:var(--ink-soft);margin:0 0 18px;font-size:14px;line-height:1.6}.portal-attendance-planner>small{color:var(--ink-soft);margin-top:14px;font-size:12px;line-height:1.5;display:block}.portal-attendance-groups{gap:9px;display:grid}.portal-attendance-groups details{background:var(--paper-bright);border:1px solid #17314e26;overflow:hidden}.portal-attendance-groups summary{min-height:52px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:12px 15px;display:flex}.portal-attendance-groups summary span{font:20px Libre Caslon Display,Georgia,serif}.portal-attendance-groups summary small{color:var(--ink-soft);font-size:12px}.portal-attendance-city{border-top:1px solid #17314e1a;padding:0 15px 16px}.portal-city-check,.portal-site-checks label{cursor:pointer;align-items:center;gap:10px;margin:0;display:flex}.portal-city-check{color:var(--red);padding:14px 0;font-size:14px;font-weight:900}.portal-city-check input,.portal-site-checks input{width:19px;height:19px;accent-color:var(--red);flex:none;margin:0}.portal-site-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.portal-site-checks label{background:#f3f0e8;border:1px solid #17314e17;min-height:44px;padding:9px 11px}.portal-site-checks span{color:var(--ink);font-size:13px;font-weight:700;line-height:1.35}.file-action{color:#fff;background:var(--ink);cursor:pointer;width:auto;margin:0 13px 0 0;padding:10px 13px;display:inline-flex}.file-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.portal-safety{color:#fff;background:var(--ink);border-top:4px solid var(--gold);grid-template-columns:auto 1fr;gap:24px;max-width:880px;margin:0 auto 70px;padding:24px;display:grid}.portal-safety b{color:#edc47e;letter-spacing:.1em;text-transform:uppercase;font-size:10px}.portal-safety p{color:#cbd7de;margin:0;font-size:10px;line-height:1.65}.portal-footer{grid-template-columns:none;justify-content:space-between;display:flex}.portal-footer a{color:#fff}.portal-loading{min-height:65vh;color:var(--ink-soft);place-items:center;padding:40px;display:grid}.portal-error{text-align:center;align-content:center}.portal-error h1{font-size:50px}.portal-error a{color:var(--ink);font-weight:800}.organizer-page{background-color:var(--paper)}.organizer-shell{min-height:calc(100vh - 84px)}.organizer-hero{justify-content:space-between;align-items:end;gap:36px;max-width:1180px;margin:auto;padding:clamp(46px,7vw,82px) clamp(20px,5vw,60px) 34px;display:flex}.organizer-hero h1{margin:0 0 12px;font-size:clamp(48px,7vw,74px)}.organizer-hero p{max-width:650px;margin:0;font-size:16px}.organizer-export{background:var(--paper-bright);flex:none;min-height:48px}.organizer-summary-grid{border:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));max-width:1060px;margin:0 auto 24px;display:grid;box-shadow:0 14px 38px #17314e0f}.organizer-summary-grid article{background:var(--paper-bright);flex-direction:column;justify-content:center;min-width:0;min-height:130px;padding:20px;display:flex}.organizer-summary-grid article+article{border-left:1px solid var(--line)}.organizer-summary-grid span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.organizer-summary-grid strong{margin:7px 0 3px;font:31px Libre Caslon Display,Georgia,serif}.organizer-summary-grid small{color:var(--ink-soft);font-size:12px;line-height:1.45}.organizer-summary-grid .needs-attention{background:#f5e4e2}.organizer-summary-grid .complete{background:#e4ece8}.organizer-deadline{color:#fff;background:var(--ink);border-left:5px solid var(--gold);max-width:1060px;box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:24px;margin:0 auto 38px;padding:20px 26px;display:flex}.organizer-deadline div{gap:4px;display:grid}.organizer-deadline span{color:#edc47e;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:900}.organizer-deadline strong{color:#fff;font:25px Libre Caslon Display,Georgia,serif}.organizer-deadline p{color:#fff;text-align:right;margin:0;font-size:14px}.organizer-roster{max-width:1180px;margin:auto;padding:10px clamp(20px,5vw,60px) 80px}.organizer-roster-heading{grid-template-columns:minmax(0,1fr) minmax(390px,.8fr);align-items:end;gap:34px;margin-bottom:24px;display:grid}.organizer-roster-heading h2{margin-bottom:8px}.organizer-roster-heading p{margin:0;font-size:14px}.organizer-filters{gap:10px;display:grid}.organizer-filters label{margin:0}.organizer-filters label>span{color:var(--ink);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.organizer-filters input{background:var(--paper-bright);height:44px;margin:0}.organizer-filters>div{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.organizer-filters button{min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #a8b2ba;font-size:13px;font-weight:800}.organizer-filters button.active{color:#fff;background:var(--ink);border-color:var(--ink)}.organizer-registration-list{gap:18px;display:grid}.organizer-registration-card{background:var(--paper-bright);border:1px solid var(--line);overflow:hidden;box-shadow:0 12px 34px #17314e0f}.organizer-registration-card.not-going{opacity:.72}.organizer-registration-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:24px 28px 19px;display:flex}.organizer-registration-card>header>div>span{color:var(--red);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:800}.organizer-registration-card h3{margin:5px 0 2px;font:31px Libre Caslon Display,Georgia,serif}.organizer-registration-card>header small{color:var(--ink-soft);font-size:12px}.organizer-rsvp-status{border-left:4px solid var(--green);background:#e4ece8;min-width:180px;margin:0;padding:9px 12px}.organizer-rsvp-status.maybe{border-color:var(--gold);background:#f4ead7}.organizer-rsvp-status.not-going{border-color:var(--red);background:#f3e1e1}.organizer-rsvp-status span{color:var(--ink-soft);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.organizer-rsvp-status select{background:0 0;border:0;height:34px;margin:0;padding:0;font-size:14px;font-weight:800}.organizer-details-grid{grid-template-columns:1.15fr .9fr 1fr;display:grid}.organizer-details-grid section{align-content:start;gap:5px;min-width:0;padding:22px 28px;display:grid}.organizer-details-grid section+section{border-left:1px solid var(--line)}.organizer-details-grid span,.organizer-family-notes span,.organizer-payment-panel span{color:var(--red);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:800}.organizer-details-grid a,.organizer-details-grid b{color:var(--ink);overflow-wrap:anywhere;font-size:14px}.organizer-details-grid small{color:var(--ink-soft);font-size:12px;line-height:1.45}.organizer-family-notes{border-top:1px solid var(--line);background:#f0eee7;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:20px 28px;display:grid}.organizer-family-notes p{color:var(--ink);white-space:pre-wrap;margin:5px 0 0;font-size:14px}.organizer-payment-panel{background:#e8edef;border-top:1px solid #cfd8dd;grid-template-columns:.8fr 1fr 1.2fr .9fr;align-items:center;gap:16px;padding:22px 28px;display:grid}.organizer-payment-status,.organizer-reminder-history{gap:4px;display:grid}.organizer-payment-status strong{text-transform:capitalize;font:22px Libre Caslon Display,Georgia,serif}.organizer-payment-status strong.paid{color:#315b43}.organizer-payment-status strong.unpaid{color:var(--red)}.organizer-payment-panel small{color:var(--ink-soft);font-size:12px;line-height:1.4}.organizer-payment-panel label{color:var(--ink);text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.organizer-payment-panel select{background:var(--paper-bright);text-transform:none;height:42px;margin-top:6px;font-size:14px}.organizer-payment-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.organizer-payment-actions button{min-height:42px;color:var(--ink);background:var(--paper-bright);cursor:pointer;border:1px solid #9eacb5;padding:8px 10px;font-size:13px;font-weight:800}.organizer-payment-actions button.mark-paid{color:#fff;background:var(--green);border-color:var(--green)}.organizer-payment-actions button:disabled{opacity:.45;cursor:not-allowed}.organizer-reminder-history b{font-size:14px}.organizer-notes-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:21px 28px 27px;display:grid}.organizer-notes-row label{margin:0;font-size:13px}.organizer-notes-row textarea{background:#fff;min-height:66px;margin-top:7px;font-size:14px}.organizer-notes-row button{white-space:nowrap;min-height:48px}.organizer-denied-card{border-color:#ad3a3d73}.family-profile-page{background:var(--paper);min-height:100vh}.family-profile-nav{gap:18px;display:flex}.family-profile-nav a{color:var(--ink);border-bottom:1px solid var(--ink);font-size:10px;font-weight:800;text-decoration:none}.family-profile-hero{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,70px);max-width:980px;margin:auto;padding:clamp(55px,9vw,105px) clamp(20px,5vw,60px) 58px;display:grid}.family-profile-avatar{color:#fff;background:linear-gradient(145deg,var(--red),#c36c67);width:180px;height:180px;box-shadow:var(--shadow);border:10px double #ffffffc7;border-radius:50%;place-items:center;font:57px Libre Caslon Display,Georgia,serif;display:grid;overflow:hidden}.family-profile-avatar img,.family-student-avatar img{object-fit:cover;width:100%;height:100%}.family-profile-hero h1{margin-bottom:12px}.family-profile-hero p{font-size:14px}.family-profile-hero p b{color:#3e6c50}.family-city-section{background:#f0e9dc;border:1px solid #b8863c47;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);align-items:center;gap:36px;max-width:980px;margin:0 auto 24px;padding:30px clamp(20px,5vw,60px);display:grid}.family-city-section h2{margin:4px 0 7px;font-size:33px}.family-city-section p{color:var(--ink-soft);margin:0;font-size:10px}.family-city-badges span{min-height:34px;color:var(--ink);background:var(--paper-bright);border-color:#b8863c59;padding:8px 12px;font-size:9px}.family-city-empty{background:#ffffff80;padding:16px}.family-attendance-plan{gap:10px;display:grid}.family-attendance-plan article{background:var(--paper-bright);border-left:4px solid var(--gold);padding:14px 16px}.family-attendance-plan h3{color:var(--ink);margin:0 0 8px;font:22px Libre Caslon Display,Georgia,serif}.family-attendance-plan article>div{flex-wrap:wrap;gap:6px;display:flex}.family-attendance-plan article span{color:var(--ink);background:#e8edef;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700}.family-attendance-plan article small{color:var(--ink-soft);font-size:12px}.organizer-attendance-board{max-width:1180px;margin:0 auto 52px;padding:0 clamp(20px,5vw,60px)}.organizer-attendance-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:end;gap:30px;margin-bottom:20px;display:grid}.organizer-attendance-heading h2{margin:5px 0 0}.organizer-attendance-heading p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.55}.organizer-attendance-cities{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.organizer-attendance-cities>article{background:var(--paper-bright);border:1px solid var(--line);overflow:hidden;box-shadow:0 10px 28px #17314e0d}.organizer-attendance-cities>article>header{color:#fff;background:var(--ink);border-left:5px solid var(--gold);justify-content:space-between;align-items:baseline;gap:14px;padding:17px 19px;display:flex}.organizer-attendance-cities h3{color:#fff;margin:0;font:24px Libre Caslon Display,Georgia,serif}.organizer-attendance-cities header span{color:#dce6eb;font-size:12px}.organizer-attendance-cities article>div>section{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 18px;display:grid}.organizer-attendance-cities article>div>section.has-attendance{background:#edf3ef}.organizer-attendance-cities h4{color:var(--ink);margin:0 0 4px;font-size:14px;line-height:1.35}.organizer-attendance-cities section small{color:var(--ink-soft);font-size:12px;line-height:1.45;display:block}.organizer-site-count{text-align:right;min-width:126px}.organizer-site-count strong{color:var(--red);margin-right:4px;font:28px Libre Caslon Display,Georgia,serif;display:inline-block}.organizer-site-count>span{color:var(--ink);font-size:12px;font-weight:800}.organizer-family-attendance{border-top:1px solid var(--line);background:#f4f0e7;gap:9px;padding:18px 28px;display:grid}.organizer-family-attendance>span{color:var(--red);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:800}.organizer-family-attendance>div{flex-wrap:wrap;gap:6px;display:flex}.organizer-family-attendance b{color:var(--ink);background:#fff;border:1px solid #17314e1f;padding:6px 9px;font-size:12px}.organizer-family-attendance>small{color:var(--ink-soft);font-size:13px}.family-student-section{background:#e4ece8;border:1px solid #64846f47;max-width:980px;margin:0 auto 90px;padding:42px clamp(20px,5vw,60px)}.family-student-heading{max-width:650px;margin-bottom:27px}.family-student-heading p{font-size:12px}.family-student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.family-student-grid>a{min-width:0;color:var(--ink);background:var(--paper-bright);border:1px solid var(--line);text-align:center;justify-items:center;padding:24px 18px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid}.family-student-grid>a:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.family-student-avatar{color:#fff;background:var(--ink);border:6px double #fffc;border-radius:50%;place-items:center;width:82px;height:82px;margin-bottom:14px;font:25px Libre Caslon Display,Georgia,serif;display:grid;overflow:hidden}.family-student-grid span{color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:800}.family-student-grid h3{margin:5px 0 2px;font:24px Libre Caslon Display,Georgia,serif}.family-student-grid p{margin:0 0 10px;font-size:10px}.family-student-grid>a>b{letter-spacing:.06em;text-transform:uppercase;font-size:9px}.community-page{background:var(--paper);min-height:100vh}.community-shell{max-width:980px;margin:auto;padding:clamp(42px,7vw,75px) clamp(16px,5vw,58px) 80px}.community-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:24px;display:grid}.community-heading h1{margin-bottom:10px}.community-heading p{max-width:620px;margin-bottom:0;font-size:14px}.community-heading-actions{gap:9px;display:flex}.community-heading-actions a,.community-heading-actions button{min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #9aa7b0;padding:10px 13px;font-size:10px;font-weight:800;text-decoration:none}.community-safety{color:#f7f1e6;background:var(--ink);border-left:4px solid var(--gold);grid-template-columns:auto 1fr;gap:16px;margin-bottom:14px;padding:14px 18px;display:grid}.community-safety b{color:#edc47e;letter-spacing:.1em;text-transform:uppercase;font-size:9px}.community-safety span{color:#d4dde3;font-size:10px;line-height:1.55}.community-chat-card{background:var(--paper-bright);border:1px solid var(--line);min-height:520px;box-shadow:var(--shadow);grid-template-rows:minmax(260px,1fr) auto;display:grid}.community-message-list{min-height:380px;max-height:58vh;padding:24px;overflow-y:auto}.community-message{grid-template-columns:42px minmax(0,1fr);gap:10px 12px;margin-bottom:18px;display:grid}.community-message.is-own{margin-left:clamp(20px,8vw,95px)}.community-message-avatar{color:#fff;background:var(--red);border:4px double #ffffffbf;border-radius:50%;grid-row:1/3;place-items:center;width:42px;height:42px;font:14px Libre Caslon Display,Georgia,serif;display:grid;overflow:hidden}.community-message-avatar img{object-fit:cover;width:100%;height:100%}.community-message-meta{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.community-message-meta b{font:16px Libre Caslon Display,Georgia,serif}.community-message-meta time{color:var(--ink-soft);font-size:8px}.community-message p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;background:#eef1ed;border-radius:0 12px 12px;margin:0;padding:12px 14px;font-size:12px;line-height:1.6}.community-message.is-own p{background:#f2eadc}.community-empty,.community-loading{min-height:330px;color:var(--ink-soft);text-align:center;align-content:center;place-items:center;gap:5px;display:grid}.community-empty b{color:var(--ink);font:24px Libre Caslon Display,Georgia,serif}.community-composer{border-top:1px solid var(--line);background:#eee7d7;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:18px;display:grid}.community-composer label{margin:0}.community-composer label span{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.community-composer textarea{resize:vertical;min-height:82px;margin:0}.community-composer button{min-height:48px}.community-composer small{color:var(--ink-soft);text-align:right;grid-column:1/-1;font-size:8px}.community-error{color:#7e2a2e;border-left:4px solid var(--red);background:#f4dddd;margin:0 0 12px;padding:13px 16px;font-size:10px}.community-access-card{background:var(--paper-bright);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;padding:clamp(28px,6vw,58px)}.community-access-card h2{margin-top:8px}.community-access-card p{max-width:600px;margin-inline:auto;font-size:12px}.community-access-card a{margin-top:10px}.community-messages{background:var(--paper-bright);border:1px solid var(--line);min-height:380px;max-height:58vh;box-shadow:var(--shadow);padding:24px;overflow-y:auto}.community-message.mine{margin-left:clamp(20px,8vw,95px)}.community-avatar{color:#fff;background:var(--red);border:4px double #ffffffbf;border-radius:50%;grid-row:1/3;place-items:center;width:42px;height:42px;font:14px Libre Caslon Display,Georgia,serif;display:grid;overflow:hidden}.community-avatar>*{grid-area:1/1}.community-avatar img{object-fit:cover;background:var(--red);width:100%;height:100%}.community-bubble header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.community-bubble header b{font:16px Libre Caslon Display,Georgia,serif}.community-bubble header time{color:var(--ink-soft);font-size:8px}.community-bubble p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;background:#eef1ed;border-radius:0 12px 12px;margin:5px 0 0;padding:12px 14px;font-size:12px;line-height:1.6}.community-message.mine .community-bubble p{background:#f2eadc}.community-state{min-height:330px;color:var(--ink-soft);background:var(--paper-bright);border:1px solid var(--line);text-align:center;align-content:center;place-items:center;gap:5px;padding:28px;display:grid}.community-state h2{color:var(--ink);margin:0;font-size:32px}.community-state p{max-width:590px;margin:0;font-size:11px}.community-access a{margin-top:12px}.community-composer>label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:9px;font-weight:800}.community-composer>div{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.community-composer>div span{color:var(--ink-soft);font-size:8px}footer{color:#dde5ea;background:var(--ink);grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;padding:28px clamp(20px,5vw,72px);display:grid}footer>div{align-items:center;gap:10px;display:flex}footer svg{color:#d8ba80;width:30px}footer span{display:grid}footer b{font:17px Libre Caslon Display,serif}footer small{color:#9eb0bf;font-size:9px}footer p{color:#9eb0bf;margin:0;font-size:9px;line-height:1.5}footer button{color:#fff;cursor:pointer;background:0 0;border:0;font-size:10px}@media (max-width:900px){.hero-grid,.stay-hero,.budget-hero,.prepare-hero,.calculator-grid,.registration-wrap,.shirt-hero,.shirt-order-wrap,.fundraiser-builder,.fundraiser-story-shell,.fundraiser-manager,.preferred-hotel-banner,.hotel-booking-note,.portal-hero{grid-template-columns:1fr}.hero-art{height:410px}.day-title{grid-template-columns:105px 1fr}.day-title em{grid-column:2}.day-details{padding-left:28px}.family-photo-heading{grid-template-columns:1fr;gap:8px}.family-photo-grid{grid-template-rows:repeat(2,205px);grid-template-columns:1.15fr .85fr}.city-guide-card,.city-guide-card:nth-child(2n){grid-template-columns:1fr}.city-guide-card:nth-child(2n) .city-guide-visual{order:0}.city-guide-visual{min-height:430px}.city-guide-copy{padding:34px}.attraction-grid{grid-template-columns:repeat(2,1fr)}.stay-hero{gap:30px}.group-rate-button{justify-self:start}.hotel-priorities{grid-template-columns:repeat(2,1fr)}.hotel-priorities>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.hotel-priorities>div:nth-child(4){border-top:1px solid var(--line)}.hotel-grid{grid-template-columns:repeat(2,1fr)}.budget-hero,.prepare-hero{gap:28px}.fundraising-grid,.leaderboard-heading,.trip-gallery-heading,.fundraiser-photo-manager,.fundraiser-profile-manager{grid-template-columns:1fr}.fundraiser-profile-manager .manager-message{grid-column:1}.fundraiser-photo-manager>.eyebrow,.fundraiser-photo-manager>h2,.fundraiser-photo-manager>p,.fundraiser-photo-manager>.photo-safety-note,.fundraiser-photo-manager>.manager-message,.fundraiser-photo-manager>small,.fundraiser-photo-manager>form{grid-area:auto/1}.trip-gallery-grid{grid-template-columns:repeat(2,1fr)}.fundraiser-builder-intro,.shirt-order-intro{position:static}.rsvp-family-grid{grid-template-columns:repeat(2,1fr)}.fundraiser-story-art{min-height:520px}.idea-strip{grid-template-columns:repeat(2,1fr)}.idea-strip>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.idea-strip>div:nth-child(4){border-top:1px solid var(--line)}.payment-plan{grid-template-columns:repeat(4,1fr)}.payment-plan>div:first-child{grid-column:1/-1}.shirt-hero{grid-template-columns:1fr}.shirt-showcase{min-height:500px}.shirt-combined-showcase{min-height:0}.shirt-order-intro{position:static}.portal-section{max-width:760px}.organizer-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-inline:20px}.organizer-summary-grid article+article{border-left:0}.organizer-summary-grid article:nth-child(2n){border-left:1px solid var(--line)}.organizer-summary-grid article:nth-child(n+3){border-top:1px solid var(--line)}.organizer-summary-grid article:last-child{grid-column:1/-1}.organizer-deadline{margin-inline:20px}.organizer-roster-heading{grid-template-columns:1fr}.organizer-payment-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-claim,.portal-claim-wide{grid-template-columns:1fr}.portal-claim button{min-height:44px}footer{grid-template-columns:1fr auto}footer p{grid-area:2/1/auto/-1}}@media (max-width:620px){.global-affiliation-banner{text-align:left;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 14px 10px}.topbar{min-height:78px;padding:12px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));grid-template-columns:auto minmax(0,1fr) auto;gap:10px;display:grid}.brand-mark{width:38px;height:38px}.brand-copy span,.brand-copy strong{overflow-wrap:anywhere}.brand-copy span{letter-spacing:.09em;font-size:8px;line-height:1.35}.brand-copy strong{font-size:16px;line-height:1.1}.date-pill{padding:6px 0 6px 10px}.date-pill span,.date-pill strong{font-size:15px}.date-pill small{font-size:8px}.tabs{scroll-snap-type:x proximity;scrollbar-width:thin;justify-content:flex-start;overflow-x:auto}.tabs>button,.tabs>a{white-space:nowrap;scroll-snap-align:start;flex:none;min-width:max-content;min-height:46px;padding:14px 13px;font-size:10px}.tabs>button span,.tabs>a span{display:none}.portal-menu summary{white-space:nowrap;scroll-snap-align:start;min-height:46px;padding:14px 13px;font-size:10px}.portal-menu summary span{display:none}.portal-menu[open]{display:flex}.portal-menu-items{width:auto;box-shadow:none;border-top:0;border-left:1px solid #edc47e73;padding:0;display:flex;position:static}.portal-menu-items a{justify-content:center;min-width:max-content;padding:8px 13px}.portal-menu-items a+a{border-top:0;border-left:1px solid #ffffff21}.portal-menu-items b{font:600 10px Avenir,Segoe UI,system-ui,sans-serif}.portal-menu-items small{display:none}.section{padding:42px max(16px,env(safe-area-inset-right)) 62px max(16px,env(safe-area-inset-left))}h1{overflow-wrap:anywhere;font-size:clamp(39px,12.5vw,48px)}h2{overflow-wrap:anywhere;font-size:clamp(30px,9vw,39px)}.primary,.outline,.text-button,form button{min-height:44px}input,textarea,select{font-size:16px}.hero-grid{min-height:0}.hero-invitation>p{font-size:15px}.hero-art{height:min(340px,92vw)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .primary{width:100%}.hero-actions .text-button{align-self:flex-start}.quick-facts{gap:12px;display:grid}.quick-facts span{align-items:flex-start}.notice{grid-template-columns:1fr;gap:8px;margin:34px 0 58px}.family-photo-story{margin-top:54px;padding:18px}.family-photo-heading{margin-bottom:18px}.family-photo-heading p{font-size:15px}.family-photo-grid{grid-template-rows:none;grid-template-columns:1fr;gap:12px}.family-photo-grid .family-photo-featured{grid-row:auto}.family-photo-grid figure{aspect-ratio:3/2}.family-photo-grid figcaption{padding:34px 16px 14px}.watercolor-ribbon{text-align:center;min-height:104px;margin-inline:0;padding:24px 18px}.watercolor-ribbon span{font-size:21px}.section-heading{flex-direction:column;align-items:start}.day-summary{grid-template-columns:62px 1fr 20px;gap:12px;padding:14px}.day-title{grid-template-columns:1fr;gap:4px}.day-title em{grid-column:auto}.day-details{grid-template-columns:1fr;gap:14px;padding:0 14px 16px}.event-list>div{grid-template-columns:95px 1fr}.city-guides-title{margin-top:60px}.city-guide-visual{min-height:min(320px,86vw)}.city-guide-copy{padding:28px 22px}.map-legend{grid-template-columns:1fr}.map-legend a{min-height:38px}.city-map-pin{width:24px;height:24px;font-size:9px}.download-link{width:100%}.attraction-grid,.passport-download-grid,.resource-grid{grid-template-columns:1fr}.filter-row{scroll-snap-type:x proximity;margin-inline:-16px;padding-inline:16px}.filter-row button{scroll-snap-align:start;min-height:42px}.stay-compass{width:225px;height:225px}.hotel-priorities,.hotel-grid{grid-template-columns:1fr}.hotel-priorities>div+div{border-left:0;border-top:1px solid var(--line)}.hotel-card h3{min-height:0}.attractions-title{margin-top:60px}.estimate-stamps{max-width:100%}.estimate-stamps>div{padding:16px}.estimate-stamps strong{font-size:27px}.counter-grid{grid-template-columns:1fr}.total-panel{grid-template-columns:1fr;gap:5px}.total-panel strong{grid-area:auto;font-size:36px}.cost-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.fund-controls{grid-template-columns:1fr}.fundraising-grid{padding:24px 18px}.fundraiser-leaderboard{margin-top:50px;padding:26px 16px}.leaderboard-row{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:12px 10px}.leaderboard-rank{width:30px;height:30px}.leaderboard-row>strong{min-width:68px;font-size:21px}.leaderboard-row>em{display:none}.fundraiser-builder{margin-top:50px;padding:24px 16px}.fundraiser-builder-card{padding:22px 16px}.fund-meter{gap:18px}.meter-art{width:105px;height:210px}.idea-strip{grid-template-columns:1fr}.idea-strip>div+div{border-left:0;border-top:1px solid var(--line)}.payment-plan{grid-template-columns:1fr 1fr}.payment-plan>div:first-child{grid-column:1/-1}.passport-art{width:205px;height:270px}.resource-card{min-height:200px}.resource-card h3{margin-top:30px}.field-row{grid-template-columns:1fr;gap:0}.form-heading{flex-direction:column;align-items:flex-start;gap:5px}.rsvp-community-heading,.rsvp-family-grid,.fundraiser-details,.trip-gallery-heading,.trip-gallery-grid{grid-template-columns:1fr}.rsvp-community-heading .eyebrow{grid-column:auto}.rsvp-family-grid article{padding:12px}.fundraiser-public-header{align-items:center;gap:12px;padding:12px 16px}.fundraiser-public-header>button{flex:none;max-width:90px;min-height:44px;font-size:9px}.fundraiser-home-link{grid-template-columns:36px minmax(0,1fr);gap:1px 9px;min-width:0}.fundraiser-home-link>span{width:36px;height:36px}.fundraiser-home-link b,.fundraiser-home-link small{overflow-wrap:anywhere}.fundraiser-home-link b{font-size:17px}.fundraiser-home-link small{max-width:170px;font-size:7px}.fundraiser-story-shell{padding-top:28px}.fundraiser-story-art{min-height:390px}.student-monogram{width:112px;height:112px;font-size:39px}.student-profile-photo{border-width:8px;width:164px;height:164px}.fundraiser-story-copy h1{font-size:50px}.fundraiser-progress-values{flex-direction:column;align-items:flex-start;gap:4px}.fundraiser-progress-values span{text-align:left}.fundraiser-details article{min-height:0}.fundraiser-details article+article{border-left:1px solid var(--line);border-top:0}.fundraiser-trust-note{grid-template-columns:1fr;margin-inline:16px}.fundraiser-manager{margin-inline:16px;padding:24px 16px}.fundraiser-manager form{padding:20px 14px}.fundraiser-photo-manager,.fundraiser-profile-manager{padding:22px 14px}.profile-photo-actions{flex-direction:column;align-items:stretch}.portal-photo-control{grid-template-columns:1fr}.portal-photo-preview{width:96px;height:96px}.fundraiser-public-footer{flex-direction:column;align-items:flex-start;gap:12px}.support-payment-options,.portal-stat-grid,.portal-count-row{grid-template-columns:1fr}.zelle-payment-instructions{padding:17px 15px}.zelle-payment-actions{grid-template-columns:1fr;display:grid}.portal-stat-grid article+article{border-left:0;border-top:1px solid var(--line)}.portal-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-inline:16px;display:grid}.portal-account{text-align:right;flex-direction:column;align-items:flex-end}.portal-account span{display:none}.portal-brand{grid-template-columns:36px minmax(0,1fr);gap:1px 9px;min-width:0}.portal-brand>span{width:36px;height:36px}.portal-brand b,.portal-brand small{overflow-wrap:anywhere}.portal-brand b{font-size:17px}.portal-brand small{max-width:170px;font-size:7px}.portal-login-card{width:calc(100% - 24px);margin-block:28px;padding:32px 24px}.organizer-hero{flex-direction:column;align-items:stretch;padding-inline:16px}.organizer-export{width:100%}.organizer-summary-grid{grid-template-columns:1fr;margin-inline:16px}.organizer-summary-grid article:nth-child(2n),.organizer-summary-grid article+article{border-left:0;border-top:1px solid var(--line)}.organizer-summary-grid article:last-child{grid-column:auto}.organizer-deadline{flex-direction:column;align-items:flex-start;margin-inline:16px;padding:18px}.organizer-deadline p{text-align:left}.organizer-roster{padding-inline:16px}.organizer-roster-heading{gap:22px}.organizer-registration-card>header{flex-direction:column;align-items:flex-start;padding:20px 16px}.organizer-rsvp-status{width:100%}.organizer-details-grid,.organizer-family-notes,.organizer-payment-panel,.organizer-notes-row{grid-template-columns:1fr}.organizer-details-grid section{padding:18px 16px}.organizer-details-grid section+section{border-top:1px solid var(--line);border-left:0}.organizer-family-notes,.organizer-payment-panel,.organizer-notes-row{padding:18px 16px}.organizer-payment-actions{grid-template-columns:1fr}.organizer-notes-row button{width:100%}.portal-section{margin-bottom:48px;padding-inline:16px}.portal-deposit-notice{flex-direction:column;align-items:flex-start;width:calc(100% - 32px);margin-bottom:24px}.portal-deposit-notice p{text-align:left}.portal-card{padding:22px 16px;overflow:hidden}.portal-card-title,.portal-form-actions{flex-direction:column;align-items:flex-start}.portal-safety{grid-template-columns:1fr}.rsvp-status{width:100%}.portal-progress{grid-template-columns:1fr auto}.portal-progress>div{grid-column:1/-1}.portal-city-choices>div,.portal-site-checks{grid-template-columns:1fr}.portal-section-heading h2{font-size:32px}.family-profile-nav{display:none}.family-profile-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.family-profile-avatar{width:140px;height:140px;font-size:44px}.family-city-section{grid-template-columns:1fr;gap:18px;margin-inline:12px;padding-inline:16px}.organizer-attendance-board{padding-inline:16px}.organizer-attendance-heading,.organizer-attendance-cities,.organizer-attendance-cities article>div>section{grid-template-columns:1fr}.organizer-site-count{text-align:left}.family-student-section{margin-inline:12px;padding-inline:16px}.family-student-grid,.community-heading{grid-template-columns:1fr}.community-heading-actions{align-items:stretch}.community-heading-actions a,.community-heading-actions button{text-align:center;flex:1}.community-shell{padding-inline:14px}.community-safety{grid-template-columns:1fr;gap:5px}.community-messages{min-height:320px;max-height:54vh;padding:16px 12px}.community-message,.community-message.mine{grid-template-columns:36px minmax(0,1fr);margin-left:0}.community-avatar{width:36px;height:36px}.community-composer{grid-template-columns:1fr}.community-composer>label{grid-column:auto}.community-composer>div{align-items:stretch}.shirt-hero{margin-bottom:58px}.shirt-product-gallery{padding-bottom:22px}.shirt-showcase{min-height:430px;padding:14px 8px 42px}.shirt-combined-showcase{min-height:0;padding:6px}.shirt-showcase img{max-height:390px}.shirt-showcase figcaption{font-size:10px;bottom:16px;left:8px;right:8px}.shirt-corner-note{top:16px;left:16px}.shirt-copy h1{font-size:48px}.shirt-price-lockup{gap:12px}.shirt-price-lockup>strong{font-size:48px}.shirt-size-grid{grid-template-columns:1fr 1fr}.shirt-order-card{padding:22px 16px}footer{grid-template-columns:1fr}footer p,footer button{grid-area:auto}footer button{text-align:left;padding:0}}@media (max-width:390px){.topbar{gap:8px;padding-inline:11px}.brand-mark{width:34px;height:34px}.brand-copy span{letter-spacing:.07em;font-size:7px}.brand-copy strong{font-size:14px}.date-pill{gap:0 4px;padding-left:7px}.date-pill span,.date-pill strong{font-size:13px}.date-pill small{font-size:7px}.day-summary{grid-template-columns:56px minmax(0,1fr) 17px;gap:9px;padding:12px 10px}.event-list>div{grid-template-columns:1fr;gap:4px}.estimate-stamps{grid-template-columns:1fr}.estimate-stamps>div+div{border-left:0;border-top:1px solid var(--line)}.leaderboard-row{grid-template-columns:32px minmax(0,1fr)}.leaderboard-row>strong{text-align:left;grid-column:2;min-width:0}.payment-plan,.shirt-size-grid{grid-template-columns:1fr}.fundraiser-public-header>button{max-width:74px}.portal-section-heading{grid-template-columns:40px minmax(0,1fr);gap:12px}.portal-section-heading>span{width:40px;height:40px}.portal-section-heading h2{font-size:29px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.topbar,.tabs,footer,.resource-grid,.registration-intro,.registration-card form,.shirt-showcase,.shirt-order-intro,.shirt-order-card form,.fundraiser-builder,.fundraiser-public-header,.fundraiser-manager,.fundraiser-leaderboard,.portal-topbar,.portal-claim{display:none!important}body,main{background:#fff}.section{max-width:none;padding:20px}.success-panel{border:2px solid var(--ink);min-height:500px;display:flex!important}}.optional-city-page{min-height:100vh;color:var(--ink);background:var(--paper)}.optional-city-topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:12px clamp(20px,5vw,70px);display:flex;position:sticky;top:0}.optional-city-brand{min-width:0;color:var(--ink);grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);gap:0 11px;text-decoration:none;display:grid}.optional-city-brand>span{color:#fff9ea;background:var(--ink);border:2px solid var(--gold);border-radius:50%;grid-row:1/3;place-items:center;width:42px;height:42px;font:15px Georgia,serif;display:grid}.optional-city-brand small{color:var(--red);letter-spacing:.11em;text-transform:uppercase;font-size:8px;font-weight:800}.optional-city-brand strong{font:400 20px Libre Caslon Display,Georgia,serif}.optional-city-topbar nav{align-items:center;gap:5px;display:flex}.optional-city-topbar nav a{color:var(--ink-soft);padding:11px 13px;font-size:12px;font-weight:700;text-decoration:none}.optional-city-topbar nav a:hover{color:var(--red)}.optional-city-hero{grid-template-columns:minmax(380px,.83fr) minmax(0,1.17fr);align-items:stretch;gap:0;max-width:1320px;min-height:650px;margin:0 auto;padding:clamp(34px,6vw,78px) clamp(20px,5vw,68px) 68px;display:grid}.optional-city-hero-copy{background:var(--paper-bright);border:1px solid var(--line);border-right:0;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,54px);display:flex}.optional-city-back{color:var(--ink-soft);align-self:flex-start;margin-bottom:40px;font-size:12px;font-weight:800;text-decoration:none}.optional-city-back:hover{color:var(--red)}.optional-city-hero h1{max-width:590px;margin-bottom:10px;font-size:clamp(48px,6vw,78px)}.optional-city-theme{color:var(--gold);margin-bottom:24px;font:italic 19px/1.45 Georgia,serif}.optional-city-hero-copy>p:last-of-type{max-width:590px;font-size:16px}.optional-city-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.optional-city-outline{min-height:49px;color:var(--ink);border:1px solid #9aa7b0;justify-content:center;align-items:center;padding:12px 20px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.optional-city-map{min-height:540px;box-shadow:var(--shadow);background:#e2e5df;margin:0;position:relative;overflow:hidden}.optional-city-map:after{content:"";pointer-events:none;border:1px solid #fffcf2cc;position:absolute;inset:14px}.optional-city-map img{object-fit:cover;width:100%;height:100%;display:block}.optional-city-map figcaption{color:var(--ink);letter-spacing:.09em;text-transform:uppercase;background:#fffcf2ed;padding:8px 11px;font-size:9px;font-weight:800;position:absolute;bottom:23px;left:25px}.optional-city-section,.optional-city-gallery,.optional-city-more{max-width:1180px;margin:0 auto;padding:82px clamp(20px,5vw,56px);scroll-margin-top:72px}.optional-city-section-heading{grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);align-items:end;gap:46px;margin-bottom:30px;display:grid}.optional-city-section-heading h2{margin:0}.optional-city-section-heading>p{margin:0 0 4px;font-size:14px}.optional-city-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.optional-city-day{background:var(--paper-bright);border:1px solid var(--line);min-width:0;overflow:hidden;box-shadow:0 12px 35px #17314e12}.optional-city-day>header{color:#fff;background:var(--ink);grid-template-columns:82px 1fr;align-items:center;gap:24px;min-height:148px;padding:24px;display:grid}.optional-city-day>header>span{color:#f1cd8d;text-transform:uppercase;border:1px solid #d7b36f;place-items:center;width:64px;height:64px;font-size:12px;font-weight:900;display:grid}.optional-city-day>header h3{margin:0 0 7px;font:28px/1.08 Libre Caslon Display,Georgia,serif}.optional-city-day>header p{color:#d5e0e6;margin:0;font-size:11px;line-height:1.55}.optional-city-stops{display:grid}.optional-city-stops>a{min-width:0;color:var(--ink);border-top:1px solid var(--line);grid-template-columns:72px minmax(0,1fr);gap:4px 16px;padding:20px 22px;text-decoration:none;transition:background .2s;display:grid}.optional-city-stops>a:hover{background:#faf6ec}.optional-city-stops time{color:var(--red);letter-spacing:.06em;text-transform:uppercase;grid-row:1/3;font-size:10px;font-weight:900}.optional-city-stops h4{margin:0 0 5px;font:21px/1.15 Libre Caslon Display,Georgia,serif}.optional-city-stops p{margin:0;font-size:12px;line-height:1.55}.optional-city-stops>a>span{color:#6e4d1b;letter-spacing:.05em;text-transform:uppercase;background:#efe1c4;grid-column:2;justify-self:start;margin-top:8px;padding:5px 8px;font-size:9px;font-weight:900}.optional-city-stops>a>span.free{color:#315943;background:#dfece3}.optional-city-savings{border-left:5px solid var(--gold);background:#eee6d5;grid-template-columns:auto 1fr;align-items:center;gap:22px;margin-top:18px;padding:22px 24px;display:grid}.optional-city-savings strong{color:#755020;letter-spacing:.08em;text-transform:uppercase;font-size:12px}.optional-city-savings p{margin:0;font-size:13px}.optional-city-transport{color:#f8f3e8;background:var(--ink);border-left:5px solid var(--red);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:22px;padding:24px;display:grid}.optional-city-transport strong{color:#edc47e;font:24px Libre Caslon Display,Georgia,serif}.optional-city-transport p{color:#d7e0e6;max-width:700px;margin:7px 0 0;font-size:14px;line-height:1.6}.optional-city-transport>div:last-child{gap:9px;display:grid}.optional-city-transport a{color:#fff;text-align:center;border:1px solid #ffffff73;min-width:205px;padding:12px 14px;font-size:12px;font-weight:800;text-decoration:none}.optional-city-transport a:hover{color:var(--ink);background:#f5e8c8}.optional-city-passport{color:#fff;background:linear-gradient(125deg,#17314e,#2f5a73);border:1px solid #b8863cb3;grid-template-columns:minmax(0,1fr) 310px;align-items:center;gap:clamp(40px,8vw,110px);max-width:1180px;margin:18px auto;padding:clamp(46px,7vw,82px) clamp(28px,7vw,82px);scroll-margin-top:90px;display:grid}.optional-city-passport h2{color:#fff}.optional-city-passport p{color:#d9e4e9;max-width:660px;font-size:15px}.optional-city-passport .eyebrow{color:#edc47e}.optional-city-passport-card{aspect-ratio:5/7;color:#f8e9c7;text-align:center;background:#102b47;border:8px double #c99843;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;transform:rotate(2deg);box-shadow:0 18px 35px #00000038}.optional-city-passport-card:before{content:"✦";color:#e6bc70;margin-bottom:24px;font-size:34px}.optional-city-passport-card span{letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:900}.optional-city-passport-card strong{color:#fff;margin:20px 0;font:34px/1.05 Libre Caslon Display,Georgia,serif}.optional-city-passport-card small{letter-spacing:.1em;text-transform:uppercase;font-size:8px}.optional-city-hotels{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.city-group-rate-banner{color:#fff;border-left:5px solid var(--gold);background:linear-gradient(125deg,#17314e,#2f5a73);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-bottom:22px;padding:22px 24px;display:grid}.city-group-rate-banner>div{gap:5px;display:grid}.city-group-rate-banner span{color:#edc47e;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.city-group-rate-banner strong{color:#fff;font:25px Libre Caslon Display,Georgia,serif}.city-group-rate-banner p{color:#d8e3e9;margin:0;font-size:13px;line-height:1.55}.city-group-rate-banner a{min-height:46px;color:var(--ink);white-space:nowrap;background:#edc47e;align-items:center;padding:12px 16px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}.optional-city-hotels article{background:var(--paper-bright);border:1px solid var(--line);min-width:0;overflow:hidden;box-shadow:0 12px 32px #17314e12}.optional-city-hotels article.preferred{border-color:#c79335;box-shadow:0 14px 38px #97691d29}.optional-city-hotels figure{aspect-ratio:16/10;background:#dce3e2;margin:0;position:relative;overflow:hidden}.optional-city-hotels figure:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#0c2236ad);position:absolute;inset:0}.optional-city-hotels img{object-fit:cover;filter:saturate(.82)sepia(.06);width:100%;height:100%;transition:transform .4s;display:block}.optional-city-hotels article:hover img{transform:scale(1.035)}.optional-city-hotels figcaption{z-index:1;color:#fff;font-size:8px;position:absolute;bottom:9px;left:12px}.optional-city-hotels article>div{flex-direction:column;padding:24px;display:flex}.preferred-hotel-label{color:#fff;background:var(--red);letter-spacing:.1em;text-transform:uppercase;align-self:flex-start;margin-bottom:10px;padding:7px 9px;font-size:8px}.optional-city-hotels article>div>span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.optional-city-hotels h3{min-height:54px;margin:15px 0 18px;font:25px/1.08 Libre Caslon Display,Georgia,serif}.optional-city-hotels small{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:8px;font-weight:900}.optional-city-hotels strong{min-height:42px;margin:5px 0 14px;font-size:13px;line-height:1.45}.optional-city-hotels p{flex:1;font-size:12px}.optional-city-hotels article a{color:var(--ink);border-bottom:1px solid #aab2b8;align-self:flex-start;margin-top:8px;font-size:11px;font-weight:900;text-decoration:none}.optional-city-gallery{max-width:1280px}.optional-city-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:250px;gap:12px;display:grid}.optional-city-gallery-grid figure{background:#d9e1e0;min-width:0;margin:0;position:relative;overflow:hidden}.optional-city-gallery-grid figure.featured{grid-area:span 2/span 2}.optional-city-gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.optional-city-gallery-grid figure:hover img{transform:scale(1.035)}.optional-city-gallery-grid figcaption{color:#fff;background:linear-gradient(#0000,#0c2236e0);gap:3px;padding:48px 18px 16px;display:grid;position:absolute;inset:auto 0 0}.optional-city-gallery-grid figcaption strong{font:20px Libre Caslon Display,Georgia,serif}.optional-city-gallery-grid figcaption a{color:#e8c987;letter-spacing:.05em;font-size:8px;text-decoration:none}.optional-city-more{padding-top:30px;padding-bottom:90px}.optional-city-more h2{margin-bottom:24px}.optional-city-more>div{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.optional-city-more>div a{color:var(--ink);background:var(--paper-bright);gap:5px;padding:22px;text-decoration:none;display:grid}.optional-city-more>div a+a{border-left:1px solid var(--line)}.optional-city-more>div a:hover{color:#fff;background:var(--ink)}.optional-city-more>div span{font:20px Libre Caslon Display,Georgia,serif}.optional-city-more>div small{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.optional-city-more>div a:hover small{color:#edc47e}.optional-city-footer{color:#dce5ea;background:var(--ink);justify-content:space-between;gap:20px;padding:28px clamp(20px,5vw,70px);font-size:11px;display:flex}.optional-city-footer a{color:#efcf91}@media (max-width:900px){.optional-city-topbar{flex-direction:column;align-items:flex-start;gap:8px}.optional-city-topbar nav{width:calc(100% + 16px);margin-left:-8px;padding:2px 8px;overflow-x:auto}.optional-city-topbar nav a{white-space:nowrap;flex:none}.optional-city-hero{grid-template-columns:1fr;min-height:0}.optional-city-hero-copy{border-right:1px solid var(--line);border-bottom:0}.optional-city-map{min-height:460px}.optional-city-days{grid-template-columns:1fr}.optional-city-hotels{grid-template-columns:1fr 1fr}.optional-city-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.optional-city-more>div{grid-template-columns:repeat(2,1fr)}.optional-city-more>div a+a{border-left:0;border-top:1px solid var(--line)}.optional-city-more>div a:nth-child(2n){border-left:1px solid var(--line)}}@media (max-width:620px){.optional-city-topbar{padding:12px 14px 8px;position:relative}.optional-city-brand small{font-size:7px}.optional-city-hero{padding:18px 14px 48px}.optional-city-hero-copy{padding:28px 20px}.optional-city-back{margin-bottom:28px}.optional-city-hero h1{font-size:clamp(43px,13vw,57px)}.optional-city-actions{flex-direction:column;align-items:stretch}.optional-city-map{min-height:300px}.optional-city-section,.optional-city-gallery,.optional-city-more{padding:60px 14px}.optional-city-section-heading{grid-template-columns:1fr;gap:14px}.optional-city-day>header{grid-template-columns:58px 1fr;gap:15px;padding:19px 16px}.optional-city-day>header>span{width:52px;height:52px}.optional-city-day>header h3{font-size:24px}.optional-city-stops>a{grid-template-columns:1fr;gap:6px;padding:18px 16px}.optional-city-stops time,.optional-city-stops>a>span{grid-area:auto}.optional-city-savings{grid-template-columns:1fr;gap:7px}.optional-city-transport{grid-template-columns:1fr}.optional-city-transport a{min-width:0}.optional-city-passport{grid-template-columns:1fr;margin-inline:14px;padding:40px 22px}.optional-city-passport-card{justify-self:center;width:min(250px,85%)}.optional-city-hotels{grid-template-columns:1fr}.city-group-rate-banner{grid-template-columns:1fr;padding:20px}.city-group-rate-banner a{white-space:normal;justify-content:center}.optional-city-hotels h3,.optional-city-hotels strong{min-height:0}.optional-city-gallery-grid{grid-template-columns:1fr;grid-auto-rows:230px}.optional-city-gallery-grid figure.featured{grid-area:auto}.optional-city-more>div{grid-template-columns:1fr}.optional-city-more>div a:nth-child(2n),.optional-city-more>div a+a{border-left:0}.optional-city-footer{flex-direction:column;align-items:flex-start}}.trip-extensions{border:1px solid var(--line);background:#fffdf8;margin-top:28px;padding:20px 24px}.trip-extensions>summary{cursor:pointer;color:var(--ink);line-height:1.5}.trip-extensions>summary>span{font-size:1.125rem;font-weight:700}.trip-extensions>summary>small{color:var(--ink-soft);margin:4px 0 0 20px;font-size:.875rem;display:block}.trip-extensions>summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}.trip-extensions>p{margin:20px 0;font-size:1rem;line-height:1.6}.extension-guide-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.extension-guide-links a{color:var(--ink);border:1px solid var(--line);padding:16px;font-weight:700;text-decoration:none}.extension-guide-links a span{margin-top:6px;font-size:.875rem;font-weight:400;display:block}.extension-hotel .hotel-destination-section{margin-top:28px}.hotel-destination-stack{gap:16px}.hotel-destination-stack>.hotel-destination-section{margin-bottom:28px}.hotel-destination-stack>.trip-extensions{margin-top:0}.optional-city-more.trip-extensions{width:min(1180px,100% - 40px);margin:28px auto}.optional-city-more.trip-extensions>div{margin-top:20px}.portal-dc-feature{border:1px solid var(--line);border-top:4px solid var(--gold);background:#fffdf8;grid-template-columns:minmax(200px,1fr) minmax(0,1.5fr);align-items:center;gap:30px;padding:28px;display:grid}.portal-dc-feature>img{width:100%;height:auto;display:block}.portal-dc-feature h3{margin:12px 0;font:clamp(30px,4vw,44px)/1.1 Libre Caslon Display,Georgia,serif}.portal-dc-feature p{font-size:1rem;line-height:1.6}.portal-dc-feature>div>div{flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px;display:flex}.portal-dc-feature a{font-size:.9375rem}.portal-dc-feature a:not(.primary){color:var(--ink)}@media (max-width:700px){.portal-dc-feature{grid-template-columns:1fr;gap:18px;padding:20px}.portal-dc-feature>img{object-fit:contain;max-height:220px}.extension-guide-links{grid-template-columns:1fr}.trip-extensions{padding:18px}}.trip-learning-note{border:1px solid var(--line);border-left:4px solid var(--gold);break-inside:avoid;background:#fffdf8;margin:24px 0;padding:clamp(20px,3vw,30px)}.trip-learning-note h3{margin:8px 0 12px;font:clamp(25px,3vw,34px)/1.15 Libre Caslon Display,Georgia,serif}.trip-learning-note p{margin:8px 0;font-size:1rem;line-height:1.6}.trip-learning-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;display:grid}.trip-learning-columns strong{color:var(--red);font-size:.9375rem}.trip-learning-note details{border-top:1px solid var(--line);padding-top:16px}.trip-learning-note summary{cursor:pointer;font-size:1rem;font-weight:700;line-height:1.5}.trip-learning-note summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}.portal-tour-guidance,.organizer-tour-guidance{color:var(--ink);background:#f5efe2;padding:16px;line-height:1.6;font-size:.9375rem!important}@media (max-width:620px){.trip-learning-columns{grid-template-columns:1fr;gap:12px}}.public-trip-overview{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf8;margin-top:58px;padding:clamp(30px,5vw,54px)}.public-trip-overview>div:first-child{max-width:760px}.public-trip-overview>div:first-child p{font-size:16px}.public-overview-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}.public-overview-cards article{border-top:4px solid var(--gold);background:#f0ece1;padding:24px}.public-overview-cards article>span{color:var(--red);letter-spacing:.14em;font-size:10px;font-weight:900}.public-overview-cards h3{margin:14px 0 8px;font:24px/1.15 Libre Caslon Display,Georgia,serif}.public-overview-cards p{margin:0;font-size:13px;line-height:1.6}.private-library-cta,.registered-library-banner{color:#fff;background:var(--ink);border-left:5px solid var(--red);align-items:center;gap:18px;margin-top:26px;padding:22px 24px;display:flex}.private-library-cta>div,.registered-library-banner>div{flex:1;gap:5px;display:grid}.private-library-cta b{font:23px Libre Caslon Display,Georgia,serif}.private-library-cta span{color:#d7e1e7;font-size:12px}.private-library-cta .outline{color:#fff;border-color:#ffffff8c}.registered-library-banner{margin:54px 0 0;padding:clamp(28px,5vw,46px)}.registered-library-banner h2{color:#fff;font-size:clamp(30px,4vw,46px)}.registered-library-banner p{color:#d7e1e7;margin:0}.registered-library-banner .eyebrow{color:#edc47e}.guide-lock-page{background:var(--paper);min-height:100vh}.guide-lock-card{text-align:center;border:1px solid var(--line);width:min(760px,100% - 36px);box-shadow:var(--shadow);background:#fffdf8;justify-items:center;margin:clamp(46px,10vh,100px) auto;padding:clamp(38px,7vw,72px);display:grid}.guide-lock-seal{color:#f8e7c4;background:var(--ink);border:7px double var(--gold);border-radius:50%;place-items:center;width:92px;height:92px;margin-bottom:24px;font:28px/1 Libre Caslon Display,Georgia,serif;display:grid}.guide-lock-seal small{letter-spacing:.12em;font:10px Avenir,Segoe UI,sans-serif}.guide-lock-card h1{margin-bottom:18px;font-size:clamp(42px,7vw,68px)}.guide-lock-card p{max-width:580px;font-size:16px}.guide-lock-card>small{max-width:540px;color:var(--ink-soft);font-size:12px;line-height:1.55}.guide-lock-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:14px 0 22px;display:flex}.guide-lock-actions .optional-city-outline{align-items:center;padding:14px 18px;display:inline-flex}.portal-trip-library{max-width:1180px;margin:34px auto 0;padding:0 clamp(18px,4vw,44px)}.portal-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.portal-guide-grid article{border:1px solid var(--line);background:#fffdf8;flex-direction:column;min-width:0;padding:22px;display:flex}.portal-guide-grid article>span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.portal-guide-grid h3{margin:12px 0 7px;font:25px/1.1 Libre Caslon Display,Georgia,serif}.portal-guide-grid p{flex:1;font-size:12px;line-height:1.55}.portal-guide-grid article>div{flex-wrap:wrap;gap:9px 14px;margin-top:12px;display:flex}.portal-guide-grid a{color:var(--ink);border-bottom:1px solid #aab2b8;font-size:11px;font-weight:800;text-decoration:none}.portal-library-locked{border-left:5px solid var(--gold);background:#fff8e9;padding:25px}.portal-library-locked b{font:23px Libre Caslon Display,Georgia,serif}.portal-library-locked p{margin:7px 0 0}@media (max-width:800px){.public-overview-cards,.portal-guide-grid{grid-template-columns:1fr}.private-library-cta,.registered-library-banner{flex-direction:column;align-items:stretch}.private-library-cta .primary,.private-library-cta .outline,.registered-library-banner .primary{text-align:center;justify-content:center}}@media (max-width:620px){.public-trip-overview{margin-top:34px;padding:24px 18px}.public-overview-cards article,.private-library-cta{padding:20px}.guide-lock-card{width:calc(100% - 28px);margin:28px auto;padding:34px 20px}.guide-lock-actions{flex-direction:column;width:100%}.guide-lock-actions a{justify-content:center}.portal-trip-library{margin-top:24px;padding-inline:14px}}.passport-stamp-showcase{color:#19334d;background:#f7f3e9;border:1px solid #dfd8c8;border-radius:8px;min-width:0;margin:42px 0;padding:clamp(18px,4vw,40px)}.passport-stamp-intro{max-width:740px;margin-bottom:24px}.passport-stamp-intro h2{margin:10px 0;font-size:clamp(28px,4vw,42px)}.passport-stamp-intro p,.passport-stamp-feature p{line-height:1.7}.passport-stamp-mockup{margin:0}.passport-stamp-mockup img{border-radius:5px;width:100%;height:auto;display:block}.passport-stamp-mockup figcaption,.passport-stamp-caption{color:#526477;margin-top:10px;font-size:13px;line-height:1.6}.passport-stamp-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;display:grid}.passport-stamp-grid figure{text-align:center;min-width:0;margin:0}.passport-stamp-grid img{background:#fff;border-radius:50%;width:100%;max-width:260px;height:auto;margin:auto;display:block}.passport-stamp-grid figcaption{margin-top:10px;font-size:14px;font-weight:700}.passport-stamp-grid a:focus-visible{outline-offset:5px;border-radius:8px;outline:3px solid #b48737;display:block}.passport-stamp-feature{grid-template-columns:210px 1fr;align-items:center;gap:30px;margin:30px 0;display:grid}.passport-stamp-feature h3{margin:0;font-size:26px}.passport-stamp-feature a{color:#19334d;text-underline-offset:4px;font-weight:700}.passport-stamp-showcase .trip-extensions{background:#fffdf8}.passport-stamp-showcase .trip-extensions>.passport-stamp-grid{padding:24px 0}.optional-city-passport .passport-stamp-grid{max-width:540px;margin:auto}@media (max-width:600px){.passport-stamp-feature{grid-template-columns:1fr;gap:18px}.passport-stamp-feature .passport-stamp-grid{max-width:200px;margin:auto}.passport-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.passport-stamp-feature .passport-stamp-grid{grid-template-columns:1fr}.passport-stamp-showcase{margin:28px 0}.passport-stamp-mockup img{border-radius:3px}}.registration-open-note{border-left:3px solid var(--gold);color:var(--ink);background:#f7f3e9;padding:12px 16px;line-height:1.6}.registration-open-note strong{display:block}
