@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#233f43;--muted:#637475;--paper:#faf8f2;--sage:#eaf0e8;--line:#d8ded5;--rust:#98583b;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a7603f;outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-1px}h2{font-size:49px;margin-bottom:18px}h3{line-height:1.3}p{margin-bottom:20px}em{font-weight:400}small{font-size:11px}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.top{max-width:1320px;margin:auto;padding:24px 34px;display:flex;justify-content:space-between;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:12px;letter-spacing:2px;font-weight:700;line-height:1.4}.brand small{display:block;letter-spacing:2.5px;font-size:8px;font-weight:500;margin-top:4px}.brand-mark{font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:0;border:1px solid #acbdb4;border-radius:50%;width:48px;height:48px;text-align:center;line-height:48px}.top nav{display:flex;align-items:center;gap:28px;font-size:12px}.top nav a{text-decoration:none}.text-button{padding:0;border:0;background:none;color:var(--ink);font-size:12px}.hero{max-width:1280px;margin:10px auto 0;display:grid;grid-template-columns:1.45fr 1fr;background:#eeeede;border-radius:4px;overflow:hidden}.hero-copy{padding:64px 45px 38px 58px;display:flex;flex-direction:column;align-items:flex-start;background:radial-gradient(ellipse at 10% 10%,#faf6e9 0,transparent 80%)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.6;color:#536d65}.hero h1{font-size:66px;margin:26px 0 24px}.hero h1 em{color:var(--rust)}.hero-copy>p{font-size:14px;color:#586c68;line-height:1.9}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button{border-radius:4px;padding:13px 19px;display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;font-size:12px;font-weight:600;line-height:1.6;min-height:46px}.primary{background:var(--ink);border:1px solid var(--ink);color:white}.plain{padding-inline:0;background:none;border:0}.outline{border:1px solid #9cac9f;background:transparent;color:var(--ink)}.button:hover{filter:brightness(.94)}.hero-note{margin-top:48px;padding-top:22px;border-top:1px solid #cbd0bd;display:flex;flex-direction:column;width:100%;font-size:11px;color:#69786b}.small-label{font-size:8px;letter-spacing:2px;margin-bottom:6px}.hero-note strong{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink)}.portrait{margin:0;position:relative;min-height:590px}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 42%;position:absolute;inset:0}.portrait:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#17302d96)}.portrait figcaption{position:absolute;bottom:22px;left:30px;right:25px;color:white;font-size:11px;z-index:1;letter-spacing:.3px}.weekend-strip{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#f4f4e9;padding:22px 35px;gap:25px}.weekend-strip span{text-align:center;font-family:var(--serif);font-size:23px;line-height:1.3}.weekend-strip small{font-family:var(--sans);display:block;font-size:8px;letter-spacing:2px;margin-bottom:6px;color:#c9d7c8}.weekend-strip span+span{border-left:1px solid #546965}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-top:65px;padding-bottom:20px}.intro h2{font-size:37px;max-width:430px;margin-top:12px}.intro p{font-size:13px;color:var(--muted);line-height:1.9}.intro strong{font-weight:500;color:var(--ink)}.section{padding-block:55px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:26px}.section-title h2{margin-top:8px;margin-bottom:0}.days{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.days button{background:transparent;border:1px solid #c7d1c8;border-radius:5px;text-align:left;padding:16px 24px;display:flex;flex-direction:column;color:var(--ink);gap:6px}.days button span{font-size:10px}.days button>span:first-child{letter-spacing:1.5px}.days button strong{font-family:var(--serif);font-size:36px;font-weight:400;line-height:1.3}.days button small{font-family:var(--sans);font-size:11px}.days button[aria-current=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.days button:not([aria-current=true]):hover{background:var(--sage)}.day-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:26px}.day-plan{background:#fffefa;border:1px solid var(--line);border-radius:5px;padding:32px}.day-plan>h3{font-family:var(--serif);font-size:38px;font-weight:400;margin:8px 0}.local{font-size:11px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:0}.event{display:grid;grid-template-columns:114px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid #e6e9df}.event-time{font-size:11px;font-weight:600;padding-top:4px;color:#537369}.event h4{font-size:16px;line-height:1.45;margin-bottom:5px}.event p{font-size:12px;line-height:1.85;color:#5d6e6c;margin:10px 0 0}.event-links{font-size:11px;margin-top:10px;color:#37695c}.status{display:inline-block;font-size:9px;padding:3px 7px;border-radius:3px;line-height:1.5;font-weight:500}.confirmed{background:#e9f0e6;color:#3c6351}.suggested{background:#f6e9d8;color:#785533}.next-note{background:var(--sage);font-size:12px;padding:16px;margin:22px 0 0}.service-card{padding:28px;background:#e8eee7;border-radius:5px;margin-bottom:20px}.service-card h3{font-family:var(--serif);font-weight:400;font-size:35px;margin:10px 0 18px}.service-card>strong{font-family:var(--serif);font-size:30px;font-weight:400}.service-card p{font-size:12px;margin:8px 0 18px;color:#5e7569}.service-card p:first-of-type{font-size:10px;margin-top:2px}.service-card a{display:block;font-size:12px;margin-top:10px}.note-card{padding:24px;border:1px solid var(--line);border-radius:5px;margin-bottom:20px}.note-card h3,.weather-card h3{font-size:15px;margin-bottom:14px}.note-card ul{padding-left:17px;margin:0;font-size:12px;color:var(--muted)}.note-card li+li{margin-top:14px}.weather-card{display:flex;gap:18px;padding:24px;background:#f0eee2;border-radius:5px;margin-bottom:20px}.weather-symbol{font-size:30px;color:#a27b39}.weather-card h3{margin-bottom:8px}.weather-card p{font-size:12px;color:var(--muted);margin-bottom:12px}.weather-card a{font-size:11px}.weather-card small{font-size:9px;display:block;margin-top:8px;color:#6f7566}.plan-key{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:10px;color:var(--muted)}.dinner-section{background:#ecefe5;padding-block:65px}.section-lead{max-width:690px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:30px}.dinner-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.restaurant{background:#fafbf6;padding:34px;border:1px solid #d4ddd0;border-radius:5px;display:flex;flex-direction:column}.restaurant.recommended{border-top:3px solid #597763}.restaurant-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:25px;color:#778e7b}.restaurant h3{font-family:var(--serif);font-weight:400;font-size:44px;margin:20px 0 5px}.restaurant-sub{font-size:11px!important;letter-spacing:.5px;color:#8b644a!important;margin-bottom:22px}.restaurant>p{font-size:13px;line-height:1.85;color:var(--muted)}dl{margin:0 0 18px}dl>div{display:grid;grid-template-columns:105px 1fr;gap:17px;border-top:1px solid #dce3d6;padding:13px 0;font-size:11px}dt{font-weight:600}dd{margin:0;color:var(--muted);line-height:1.9}.restaurant .address{font-size:10px;margin-top:auto}.simple-link{font-size:12px}.source-link{font-size:10px;color:var(--muted);display:inline-block;margin-top:18px}.booking-note{display:grid;grid-template-columns:120px 1fr;gap:10px 25px;padding:26px 4px 0}.booking-note strong{font-size:13px}.booking-note p{font-size:12px;margin-bottom:0;color:var(--muted)}.booking-note small{grid-column:2;font-size:10px;color:var(--muted)}.stay-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px}.hotel{background:#edf0e7;padding:36px;border-radius:5px}.hotel-wordmark{display:block;font-family:Georgia,serif;letter-spacing:3px;font-size:16px;margin-bottom:30px}.hotel-wordmark small{display:block;letter-spacing:.5px;font-family:Arial;font-size:9px}.hotel h3{font-family:var(--serif);font-size:33px;font-weight:400;margin-bottom:16px}.hotel p{font-size:12px;color:var(--muted)}.hotel-details{display:flex;gap:32px;border-block:1px solid #d0d9c9;padding:20px 0;margin:22px 0;font-size:13px}.hotel-details small{font-size:8px;letter-spacing:1px;display:block;margin-bottom:7px}.places{padding-top:20px}.places h3{font-family:var(--serif);font-size:32px;font-weight:400}.place{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border-bottom:1px solid var(--line);padding:17px 4px;gap:20px}.place:hover{background:var(--sage)}.place strong{font-size:13px;font-weight:500}.place small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.muted{color:var(--muted);font-size:11px}.places>p{margin-top:20px}.family-section{padding:65px 0;background:#f0eee4}.family-section h2{margin-top:12px}.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 40px}.family-grid article{border-top:1px solid #cbd4c5;padding-top:20px}.family-grid h3{font-size:15px;margin-bottom:10px}.family-grid p{font-size:12px;color:var(--muted);margin:13px 0 0;line-height:1.9}.preparation{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.preparation h2{margin-top:12px;font-size:43px}.preparation p{font-size:13px;color:var(--muted);line-height:1.9}.check{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}.check input{accent-color:var(--ink);margin-top:4px;flex-shrink:0;width:17px;height:17px}.check:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.note-card .check{font-size:11px}.remembrance{background:var(--ink);color:#eef1e6;text-align:center;padding-block:72px}.remembrance-inner{max-width:760px}.remembrance .eyebrow{color:#b9cbb7}.remembrance h2{font-size:58px;margin:20px 0 28px}.remembrance h2 em{color:#d4c29d}.remembrance p{font-size:14px;line-height:1.95;color:#c5d1c8;margin-bottom:22px}.memorial-dates{font-size:9px;letter-spacing:2px;margin-top:38px}.remembrance .donations{font-size:11px;margin:25px 0 0;color:#b6c7ba}.donations a{display:inline-block;margin-top:10px}.source-notes{padding-block:35px;font-size:11px;color:var(--muted)}summary{cursor:pointer;font-size:12px;color:var(--ink)}details p{margin:16px 0 0;max-width:950px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:0 0 35px;font-size:9px;color:var(--muted)}footer>span:first-child{letter-spacing:1.5px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(120px);opacity:0;background:var(--ink);color:white;padding:14px 22px;border-radius:5px;font-size:12px;box-shadow:0 5px 30px #0002;transition:transform .2s,opacity .2s;z-index:20;text-align:center;max-width:90vw}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.skip{position:absolute;top:-100px;background:white;z-index:50;padding:10px}.skip:focus{top:8px}
@media(min-width:1500px){.hero{margin-top:20px}}@media(max-width:1000px){.hero{margin-inline:24px;grid-template-columns:1.2fr 1fr}.hero-copy{padding:45px 32px 30px}.hero h1{font-size:52px}.hero-note{margin-top:30px}.portrait{min-height:580px}.weekend-strip{margin-inline:24px}.top nav{gap:16px}.day-layout{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr)}.day-plan{padding:25px}.event{grid-template-columns:95px 1fr;gap:15px}.stay-grid{gap:30px}.restaurant{padding:26px}.family-grid{gap:30px}.preparation{gap:40px}.hotel{padding:27px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.top{padding:18px;align-items:center}.top nav>a{display:none}.top nav{gap:0}.text-button{font-size:10px}.brand{font-size:10px;letter-spacing:1.2px}.brand small{font-size:7px}.brand-mark{width:39px;height:39px;line-height:39px;font-size:28px}.hero{margin:6px 18px 0;grid-template-columns:1fr 0.85fr}.hero-copy{padding:35px 25px}.hero h1{font-size:42px;margin-top:18px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero-copy>p{font-size:12px}.hero-copy>p br{display:none}.hero .actions{gap:5px}.hero .button{font-size:10px;gap:8px;padding:11px}.hero .plain{padding-inline:0}.hero-note{margin-top:22px}.hero-note strong{font-size:23px}.hero-note>span:last-child{font-size:9px}.portrait{min-height:560px}.portrait figcaption{left:18px;font-size:9px}.weekend-strip{margin-inline:18px;padding:20px 10px;gap:12px}.weekend-strip span{font-size:18px}.weekend-strip small{font-size:7px;letter-spacing:1.1px}.intro{grid-template-columns:1fr;gap:8px;padding-top:40px;padding-bottom:0}.intro h2{font-size:36px;max-width:none}.intro p{font-size:12px;margin:0}.section{padding-block:40px}h2{font-size:40px}.section-title{gap:12px}.section-title>.button{font-size:10px;padding:10px 13px}.days{gap:7px}.days button{padding:14px 12px}.days button>span:first-child{font-size:8px}.days button span:last-child{font-size:9px}.days button strong{font-size:31px}.day-layout{grid-template-columns:1fr;gap:20px}.day-layout aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.day-layout aside>div{margin:0}.day-layout aside .weather-card{grid-column:1/-1}.day-plan{padding:26px}.day-plan>h3{font-size:34px}.event{grid-template-columns:90px 1fr;gap:14px}.event-time{font-size:10px}.event p{font-size:12px}.service-card{padding:23px}.service-card h3{font-size:30px}.service-card>strong{font-size:26px}.note-card{padding:22px}.dinner-section,.family-section{padding-block:42px}.section-lead{font-size:12px}.dinner-grid{grid-template-columns:1fr;gap:20px}.restaurant{padding:26px}.restaurant h3{font-size:40px}.booking-note{grid-template-columns:1fr;gap:10px}.booking-note small{grid-column:1}.stay-grid{grid-template-columns:1fr;gap:15px}.places{padding-top:12px}.family-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.family-grid h3{font-size:14px}.family-grid p{font-size:11px}.preparation{grid-template-columns:1fr;gap:10px}.preparation h2{font-size:39px}.remembrance{padding-block:45px}.remembrance h2{font-size:47px}.remembrance p{font-size:12px}footer{flex-direction:column;gap:10px;align-items:flex-start}.source-notes{padding-block:26px}}
@media(max-width:480px){.hero{grid-template-columns:1fr}.hero-copy{padding:32px 25px 26px}.hero h1{font-size:48px}.hero-copy>p{font-size:12px}.hero-copy .actions{gap:18px}.hero-note{margin-top:24px}.portrait{min-height:0;height:340px}.portrait img{object-position:50% 35%}.portrait figcaption{bottom:16px}.hero .button{font-size:11px}.weekend-strip{gap:8px;padding:17px 6px}.weekend-strip span{font-size:16px}.weekend-strip small{font-size:6px;letter-spacing:.8px}.section-title{align-items:flex-end}.section-title h2{font-size:37px}.section-title>.status{max-width:112px;text-align:center}.event{grid-template-columns:1fr;gap:8px;padding:21px 0}.event-time{font-size:11px}.event h4{font-size:15px}.day-plan{padding:23px}.day-plan>h3{font-size:31px}.day-layout aside{grid-template-columns:1fr}.family-grid{grid-template-columns:1fr}.hotel h3{font-size:29px}.hotel-details{gap:20px}.restaurant dl>div{grid-template-columns:88px 1fr;gap:12px}.restaurant .button{font-size:11px;padding:12px}.restaurant .actions{gap:16px}.remembrance h2{font-size:43px}.plan-key{font-size:9px}.days button{padding:12px 9px}.days button span:last-child{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{@page{size:letter;margin:.55in}body{background:white;color:#172e30;font:10pt Arial;line-height:1.4}.top,.hero,.weekend-strip,.intro,.days,.plan-key,.source-notes,.toast,.preparation,footer,#print{display:none!important}.wrap{width:100%;margin:0}.section{padding:0}.section-title{margin:0 0 16px}.section-title .eyebrow{display:none}h2{font:25pt Georgia;margin:0 0 10px}.day-layout{display:block;break-before:page;margin-bottom:20px}.day-layout:first-child{break-before:auto}.day-layout aside{display:none}.day-plan{border:0;padding:0}.day-plan>h3{font:22pt Georgia}.day-plan .eyebrow{font-size:9pt}.event{grid-template-columns:100px 1fr;gap:16px;padding:12px 0;break-inside:avoid}.event p{font-size:9pt;line-height:1.5}.event h4{font-size:11pt}.event-time{font-size:9pt}.status{font-size:7pt;print-color-adjust:exact}.event-links{font-size:8pt}.local{padding-bottom:12px}.next-note{font-size:9pt}.dinner-section{break-before:page;padding:0;background:white}.dinner-grid{display:block}.restaurant{padding:15px 0;border:0;border-top:1px solid #bbb;border-radius:0;break-inside:avoid}.restaurant-top{display:none}.restaurant h3{font-size:24pt;margin:8px 0}.restaurant p{font-size:9pt;margin-bottom:10px}.restaurant .actions,.source-link{display:none}dl>div{padding:8px 0;font-size:9pt}.booking-note{padding:12px 0;display:block}.booking-note p,.booking-note small{font-size:9pt}.stay-grid{display:block}.hotel{background:white;padding:20px 0}.hotel-wordmark{display:none}.places{display:none}.hotel h3{font-size:22pt}.hotel p{font-size:9pt}.hotel .actions{display:none}.family-section{background:white;padding:0;break-before:page}.family-grid{grid-template-columns:1fr 1fr;gap:18px}.family-grid article{break-inside:avoid}.family-grid h3{font-size:11pt}.family-grid p{font-size:9pt}.remembrance{padding:30px 0;background:white;color:#172e30}.remembrance h2{font:28pt Georgia}.remembrance p,.remembrance .eyebrow,.remembrance .donations{color:#172e30;font-size:10pt}.memorial-dates{font-size:9pt}a{text-decoration:none}}
