:root{--ink:#243B3D;--muted:#566760;--line:#DED7C7;--paper:#FFFEF9;--ground:#FAF6ED;--accent:#006D77;--accent-dark:#00545D;--soft:#EDF3EC;--focus:#C6532E;--gold:#E4BD45;--clay:#C6532E;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--ground);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-underline-offset:3px}button,input,select,textarea,a{outline-offset:4px}:focus-visible{outline:3px solid var(--focus)}.skip{position:absolute;top:-100px;left:16px;background:#fff;padding:15px;z-index:10}.skip:focus{top:10px}.topbar{min-height:88px;padding:20px max(28px,calc((100vw - 1320px)/2));background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;letter-spacing:2px;font-size:19px;font-weight:bold}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #80909b;font-family:Georgia,serif;font-size:28px;letter-spacing:0}.brand small{font-size:11px;letter-spacing:1.7px;display:block;margin-top:6px;color:#c4d0d7;font-weight:normal}.topbar nav{display:flex;align-items:center;gap:26px;font-size:14px}.topbar nav a{text-decoration:none}.text-button{padding:10px 0;background:none;border:none;color:inherit}.shell{max-width:1320px;margin:auto;padding:38px 28px 24px}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:bold;line-height:1.6;margin:0 0 8px;color:var(--accent)}h1{font:normal 38px/1.15 Georgia,serif;margin:0;letter-spacing:-.7px}h2{margin:0;font-size:23px;line-height:1.3}.property{border-left:1px solid var(--line);padding-left:22px;color:var(--muted);font-size:14px;line-height:1.7;margin:0}.property strong{color:var(--ink)}.workspace{display:grid;grid-template-columns:265px minmax(0,1fr);gap:32px;align-items:start}.sidebar{position:sticky;top:20px}.stay-panel{padding:24px;background:var(--ink);color:#fff;border-radius:4px}.stay-panel .eyebrow{color:#ecb4b9}.stay-panel h2{font-family:Georgia,serif;font-size:28px;font-weight:normal;margin-bottom:24px}label{display:block;font-size:14px;font-weight:bold;margin-bottom:8px}input,select,textarea{width:100%;min-width:0;border:1px solid #B4BAAE;border-radius:4px;padding:12px;background:#fff;color:var(--ink);min-height:46px}input[type=date]{min-height:48px}.stay-panel input{margin-bottom:18px;border-color:#fff}.primary{border:1px solid var(--accent);background:var(--accent);color:#fff;padding:13px 18px;border-radius:4px;min-height:46px;font-weight:bold;font-size:14px}.primary:hover{background:var(--accent-dark)}.primary.full{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:2px}.note{font-size:13px;line-height:1.65;color:var(--muted);margin-bottom:0}.stay-panel .note{color:#c4d0d7}.quick-dates{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.quick-dates button{background:transparent;color:#fff;border:1px solid #617480;padding:9px 10px;border-radius:4px;font-size:13px}.quick-dates button:hover{background:#304956}.venue-panel{margin-top:24px;padding:0 3px}.search-row{display:flex;gap:12px;align-items:center}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:4px;padding-left:15px;flex:1;margin:0}.search-box span{font-size:29px;line-height:1;font-weight:normal;color:var(--muted)}.search-box input{border:0;background:transparent;font-weight:normal;min-height:48px}.quiet{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 15px;border-radius:4px;font-size:14px;min-height:46px}.quiet:hover{background:#F1EBDC}.categories{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 27px}.categories button{border:1px solid transparent;background:transparent;border-radius:22px;padding:9px 14px;color:var(--muted);font-size:14px}.categories button[aria-pressed=true]{background:var(--ink);color:#fff}.categories button:hover{border-color:#8DABA7}.results-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-bottom:20px}.results-heading .eyebrow{margin-bottom:5px}.sorted{font-size:13px;color:var(--muted);white-space:nowrap}.day-heading{font-size:14px;margin:24px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:bold}.event-card{display:grid;grid-template-columns:59px minmax(0,1fr) auto;gap:19px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:4px;margin-bottom:12px;transition:border-color .15s,box-shadow .15s}.event-card:hover{border-color:#7CA4A0;box-shadow:0 3px 14px #243B3D09}.date-stamp{border-right:1px solid var(--line);padding-right:18px;text-align:center;color:var(--muted);font-size:12px;text-transform:uppercase}.date-stamp strong{display:block;font-size:29px;font-weight:normal;color:var(--ink);line-height:1.2;margin:3px 0}.category-tag{color:var(--accent);font-size:12px;font-weight:bold;letter-spacing:.6px}.event-title{display:block;border:0;background:none;padding:0;margin:7px 0 9px;text-align:left;font-size:19px;line-height:1.35;font-weight:bold;color:var(--ink)}.event-title:hover{text-decoration:underline;text-underline-offset:4px}.event-meta{margin:0;color:var(--muted);font-size:14px;line-height:1.6}.event-meta .time{font-weight:bold;color:var(--ink)}.event-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:13px}.ticket-link{font-size:14px;font-weight:bold;color:var(--accent);text-decoration:none;white-space:nowrap}.route-links{display:flex;gap:12px;color:var(--muted);font-size:13px}.empty{padding:40px 24px;background:#fff;border:1px dashed #A5B7A9;border-radius:4px;text-align:center}.empty h3{font-family:Georgia,serif;font-size:26px;font-weight:normal;margin:0 0 12px}.empty p{color:var(--muted);line-height:1.6}.loading{padding:40px 0;color:var(--muted)}footer{margin-top:50px;padding:24px 0 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.65}footer strong{letter-spacing:2px;color:var(--ink)}footer p{margin:9px 0 0}.error{color:#ae1528;font-size:14px;line-height:1.5}.stay-panel .error{color:#ffc9cf}.error:empty{display:none}.toast{position:fixed;bottom:24px;right:24px;max-width:calc(100vw - 48px);background:var(--ink);color:#fff;padding:14px 20px;border-radius:6px;box-shadow:0 4px 20px #0003;z-index:10;font-size:14px}dialog{border:1px solid var(--line);border-radius:8px;padding:35px;max-width:620px;width:calc(100% - 32px);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#10212bcc}.close{float:right;font-size:28px;background:none;border:0;padding:0 4px;color:var(--muted)}dialog h2{font:normal 30px/1.2 Georgia,serif;margin:15px 25px 25px 0}.detail-grid{display:grid;grid-template-columns:105px 1fr;gap:12px;font-size:15px;line-height:1.6}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.detail-actions a{text-decoration:none}.detail-source{margin-top:28px;font-size:13px;color:var(--muted);line-height:1.65}
@media(max-width:900px){.shell{padding:28px 20px}.workspace{grid-template-columns:230px minmax(0,1fr);gap:22px}.stay-panel{padding:20px}.event-card{grid-template-columns:47px minmax(0,1fr);gap:14px;padding:18px}.event-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}.property{display:none}h1{font-size:34px}.search-row{flex-wrap:wrap}.search-box{flex-basis:70%}.quiet{padding:10px}.categories{gap:3px}.categories button{padding:8px 10px}}
@media(max-width:650px){.topbar{padding:16px;min-height:78px;gap:10px}.topbar nav{gap:12px;font-size:12px}.brand{font-size:16px;gap:9px}.brand small{font-size:9px;letter-spacing:.9px}.brand-mark{width:33px;height:36px;font-size:24px}.text-button{font-size:12px}.shell{padding:25px 16px}.page-intro{margin-bottom:23px}h1{font-size:31px}.page-intro .eyebrow{font-size:10px}.workspace{display:block}.sidebar{position:static}.stay-panel{padding:20px}.stay-panel h2{font-size:24px;margin-bottom:18px}.stay-panel> .eyebrow{display:none}#stay-form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}#stay-form input{margin:0 0 8px;width:100%;font-size:16px;padding:10px 0}#stay-form label{margin:0}#stay-form .primary{grid-column:1/-1;margin-top:8px;justify-content:center;gap:15px}#date-error{grid-column:1/-1;margin:0}.quick-dates{margin-top:14px}.quick-dates button{font-size:12px}.stay-panel .note{font-size:12px;margin-top:14px}.venue-panel{margin:20px 0}.venue-panel .note{display:none}.results{margin-top:24px}.categories{margin:14px 0 22px}.results-heading{padding-bottom:10px}.results-heading h2{font-size:21px}.sorted{font-size:12px}.event-title{font-size:18px}.event-card{padding:17px 14px;gap:12px}.date-stamp{padding-right:13px}.search-row .quiet{font-size:12px}.search-box input{font-size:14px}dialog{padding:24px}.detail-grid{grid-template-columns:80px 1fr}footer{margin-top:30px}}
@media print{@page{size:letter;margin:.6in}body{background:#fff;font-size:11pt}.topbar{background:white;color:#243B3D;padding:0 0 12px;border-bottom:2px solid #243B3D}.brand small{color:#243B3D}.brand-mark{display:none}.topbar nav,.sidebar,.search-row,.categories,.event-actions,.sorted,.close,dialog{display:none!important}.shell{padding:20px 0;max-width:none}.page-intro{margin-bottom:20px}h1{font-size:26pt}.page-intro .eyebrow{font-size:9pt}.workspace{display:block}.event-card{break-inside:avoid;box-shadow:none;border:0;border-bottom:1px solid #DED7C7;padding:12px 0;margin:0;grid-template-columns:50px 1fr}.event-title{font-size:13pt}.event-meta{font-size:10pt}.category-tag{font-size:9pt}.day-heading{break-after:avoid;margin-top:20px}footer{font-size:9pt}.detail-source{display:none}}
.host-shell{max-width:1200px}.local-badge{background:#E7EEE6;color:#3F655F;font-size:12px;font-weight:bold;letter-spacing:1px;padding:9px 12px;border-radius:4px}.link-builder{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:4px;padding:28px;display:grid;grid-template-columns:1fr 1.45fr;gap:40px;margin-bottom:42px}.link-builder h2{font:normal 30px/1.25 Georgia,serif}.link-builder>div>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:300px}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.date-pair input{margin-top:8px}.link-output{display:flex;gap:10px;margin-top:6px}.link-output input{font-size:13px;background:var(--ground)}.link-output button{white-space:nowrap}.link-foot{display:flex;justify-content:space-between;gap:12px;margin-top:13px;font-size:12px;color:var(--muted)}.link-foot a{font-weight:bold;color:var(--accent)}.review-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.review-counts{font-size:14px;color:var(--muted)}.review-counts strong{color:var(--accent);font-size:23px;margin-right:5px}.review-explainer{margin:10px 0 20px}.review-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.review-toolbar .categories{margin:0}.review-toolbar .search-box{max-width:310px;padding-left:0}.review-row{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#fff;border:1px solid var(--line);border-radius:4px;margin-bottom:10px;padding:21px 24px}.review-row h3{font-size:18px;line-height:1.4;margin:10px 0 6px}.review-row p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}.review-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.review-row>button{white-space:nowrap}.review-tags{display:flex;gap:7px;flex-wrap:wrap}.review-tags span{font-size:12px;font-weight:bold;color:#8c3940;background:#fbeced;padding:4px 7px;border-radius:3px}.review-warning{padding:13px;background:#fff2df;color:#774706;border-left:3px solid #c68728;font-size:14px;line-height:1.5}.review-warning p{margin:8px 0 0}#review-dialog{max-width:780px}#review-form>label{margin:18px 0 0}#review-form>label>input,#review-form>label>select,#review-form>label>textarea{margin-top:8px;font-weight:normal}.schedule-title{font-size:18px;margin:24px 0 0}.session-row{display:grid;grid-template-columns:1fr .75fr 1fr .75fr 25px;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}.session-row label{font-size:12px;margin:0}.session-row label span{font-weight:normal}.session-row input{margin-top:7px;padding:9px;font-size:14px}.remove-session{font-size:23px;background:none;border:none;color:var(--muted);padding:10px 0}.review-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}#add-session{margin-top:14px;font-size:13px}.review-note-label{margin-top:24px!important}
@media(max-width:800px){.link-builder{grid-template-columns:1fr;gap:18px;padding:23px}.link-builder>div>p{max-width:none;margin-bottom:0}.review-heading{align-items:start;flex-direction:column;gap:10px}.review-toolbar{flex-wrap:wrap;gap:14px}.review-toolbar .search-box{max-width:none;flex-basis:100%}.review-row{padding:18px;gap:15px}.review-row>button{font-size:13px}.review-counts span{white-space:nowrap}}
@media(max-width:500px){.local-badge{font-size:10px;padding:7px}.link-builder{padding:20px 16px}.date-pair{gap:10px}.date-pair input{font-size:14px;padding:9px}.link-foot{flex-wrap:wrap}.review-row{display:block}.review-row>button{margin-top:15px}.session-row{grid-template-columns:1fr 1fr 25px}.session-row label:nth-child(3){grid-column:1;grid-row:2}.session-row label:nth-child(4){grid-column:2;grid-row:2}.remove-session{grid-column:3;grid-row:1}.review-buttons>*{flex:1;white-space:nowrap}.link-output button{font-size:13px;padding:10px}}

/* Venue map and route comparison. Hidden panels must stay hidden under grid rules. */
[hidden]{display:none!important}.map-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#E9EFE5;border:1px solid var(--line);padding:17px 20px;border-radius:4px;margin:5px 0 22px}.map-entry p{margin:5px 0 0;font-size:13px;color:var(--muted)}.map-panel{background:#fff;border:1px solid var(--line);border-radius:6px;margin:0 0 28px;overflow:hidden;scroll-margin-top:15px}.map-heading{display:flex;justify-content:space-between;gap:15px;padding:22px 22px 0}.map-heading h3{font:normal 27px/1.2 Georgia,serif;margin:0}.map-heading .text-button{font-size:13px;text-decoration:underline}.map-panel>#map-status{padding:0 22px;margin:14px 0 18px;min-height:22px}#venue-map{height:380px;width:100%;background:#E9EFE5}.map-controls{padding:22px}.map-controls h4{margin:20px 0 0;font-size:20px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.mode-buttons button{background:#fff;border:1px solid var(--line);border-radius:5px;padding:15px;text-align:left;color:var(--ink)}.mode-buttons button[aria-pressed=true]{border:2px solid var(--accent);background:var(--soft);padding:14px}.mode-buttons span{font-size:13px;display:block;margin-bottom:8px}.mode-buttons strong{display:block;font-size:16px}.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:17px;font-size:13px;margin-top:18px}.map-actions .text-button{font-size:13px;color:var(--accent);font-weight:bold}.map-attribution{font-size:12px;color:var(--muted);line-height:1.6;margin:20px 0 0}.map-attribution span{font-size:13px;font-weight:400;color:#5e5e5e;white-space:nowrap}.map-event{font-size:13px;padding:0;color:var(--accent)}.policy{max-width:760px;line-height:1.75}.policy h2{margin-top:28px}.policy h1{margin-bottom:24px}
@media(max-width:650px){#venue-map{height:310px}.map-entry{padding:15px}.map-entry>div>strong{font-size:14px}.map-entry .quiet{font-size:12px}.map-heading{padding:18px 16px 0}.map-controls{padding:18px 16px}.map-panel>#map-status{padding:0 16px}.mode-buttons{gap:8px}.mode-buttons button{padding:12px}.mode-buttons button[aria-pressed=true]{padding:11px}.mode-buttons strong{font-size:14px}.event-actions{flex-wrap:wrap}.map-event{font-size:12px}}
@media print{.map-entry,.map-panel,.map-event{display:none!important}}

/* Download controls load the PDF tools only when requested. */
.download-panel,.guest-card-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 18px;padding:20px;border:1px solid var(--line);border-radius:4px;background:#fff;margin-bottom:20px}.download-panel p,.guest-card-panel p{font-size:13px;line-height:1.6;color:var(--muted);margin:6px 0 0}.download-panel [role=status],.guest-card-panel [role=status]{grid-column:1/-1}.download-panel [role=status]:empty,.guest-card-panel [role=status]:empty{display:none}.guest-card-panel{margin:28px 0;padding:24px}.guest-card-panel>div>p{max-width:680px}.guest-card-panel .eyebrow{color:var(--accent);margin:0 0 8px}.download-panel a,.guest-card-panel a{color:var(--accent);font-weight:bold}
@media(max-width:650px){.download-panel,.guest-card-panel{grid-template-columns:1fr}.download-panel button,.guest-card-panel button{justify-self:start;margin-top:8px}}
@media print{.download-panel,.guest-card-panel{display:none!important}}

/* Dining shares the guide's typography, map, and responsive layout. */
.section-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:0 0 28px;padding-bottom:12px}.section-nav a{padding:12px 22px;border-radius:4px;text-decoration:none;font-weight:bold}.section-nav [aria-current=page]{background:var(--ink);color:#fff}.dining-filters{margin:24px 0}.dining-filters>label{margin-top:20px}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:20px;min-height:20px}.dining-intro{color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 24px}.dining-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:24px;margin-bottom:16px;scroll-margin-top:20px}.dining-card-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.dining-card h3{font:normal 25px/1.25 Georgia,serif;margin:9px 0 0}.dining-card p{font-size:14px;line-height:1.7}.pick-badge{background:#F6E8B7;color:#57471B;font-size:11px;padding:7px 9px;white-space:nowrap;border-radius:4px;font-weight:bold}.host-tip{background:var(--soft);padding:12px 14px;border-left:3px solid var(--accent)}.host-tip strong{display:block;color:var(--accent);font-size:12px;margin-bottom:4px}.dining-address span,.usual-hours,.checked-note{color:var(--muted)}.usual-hours strong{display:block}.dining-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:13px}.dining-actions a{color:var(--accent)}.dining-card .checked-note{font-size:11px;border-top:1px solid var(--line);padding-top:13px;margin-bottom:0}.checked-note a{color:var(--muted)}.pdf-choice{font-size:12px;margin:0}.pdf-choice select{font-size:13px;margin-top:5px}.download-panel{grid-template-columns:minmax(0,1fr) minmax(150px,200px) auto}.host-dining{margin:38px 0}.host-dining-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.dining-host-tools{display:flex;gap:12px;margin:20px 0}.dining-host-tools input{flex:1}.dining-host-tools select{max-width:210px}.dining-form>label{margin-top:18px}.dining-form input,.dining-form select,.dining-form textarea{margin-top:6px;font-weight:normal}.dining-form .date-pair{margin-top:18px}.dining-form .check-label input{margin:0}.dining-form fieldset{border:1px solid var(--line);margin:18px 0;padding:15px}.meal-checks{display:flex;flex-wrap:wrap;gap:16px}.meal-checks label{display:flex;align-items:center;gap:7px;font-size:13px}.meal-checks input{width:18px;min-height:18px;margin:0}
@media(max-width:950px){.download-panel{grid-template-columns:1fr auto}.download-panel>div{grid-column:1/-1}}
@media(max-width:650px){.section-nav{margin-bottom:24px}.section-nav a{flex:1;text-align:center}.dining-card{padding:19px 16px}.dining-card-heading{flex-wrap:wrap}.dining-card h3{font-size:24px}.download-panel{grid-template-columns:1fr}.dining-host-tools{flex-wrap:wrap}.dining-host-tools select{max-width:none}.host-dining-head{align-items:start}.dining-form .date-pair{grid-template-columns:1fr}}
@media print{.section-nav,.dining-actions,.dining-filters{display:none!important}.dining-card{break-inside:avoid;border:0;border-bottom:1px solid var(--line);padding:14px 0}.dining-card h3{font-size:16pt}.host-tip{background:#fff}.dining-card .checked-note{font-size:8pt}}

/* iOS date controls can add horizontal padding outside width:100%.
   Keep the control unpadded horizontally and inset its displayed value instead.
   Retain type=date and a 48px target so the native date picker stays available.
   https://bugs.webkit.org/show_bug.cgi?id=301648 */
input[type="date"] {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  padding-inline: 0;
}
input[type="date"]::-webkit-date-and-time-value {
  min-width: 0;
  min-height: 1.5em;
  margin: 0 10px;
  text-align: left;
}
input[type="date"]::-webkit-datetime-edit {
  padding: 0 10px;
}
.sidebar, #stay-form, .date-pair > label { min-width: 0; }

/* East Crockett: the yellow bungalow, teal planters, and warm interior colors. */
@font-face{font-family:"Amatic SC";src:url("/fonts/AmaticSC-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
.topbar{background:var(--accent);border-bottom:4px solid var(--gold)}
.brand{gap:12px;letter-spacing:1px;min-width:0}
.brand-mark{display:block;flex:0 0 auto;width:64px;height:50px;border:0;border-radius:5px;background:var(--ground);padding:4px}
.brand-name{display:block;font-family:"Amatic SC","Arial Narrow",sans-serif;font-weight:700;font-size:34px;line-height:1;letter-spacing:1.6px}
.brand small{color:#F4EEDC;font-size:10px;letter-spacing:1.5px;margin-top:6px}
.welcome-banner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--paper);margin:0 0 28px;position:relative}
.welcome-banner:after{content:"";position:absolute;inset:auto 0 0;height:6px;background:repeating-linear-gradient(45deg,var(--accent) 0 7px,var(--ground) 7px 13px,var(--gold) 13px 20px,var(--ground) 20px 26px)}
.welcome-copy{padding:25px 28px 28px;align-self:center}
.welcome-copy .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:8px}
.welcome-copy h1{font:700 48px/1.12 "Amatic SC","Arial Narrow",sans-serif;letter-spacing:.1px;max-width:500px}
.welcome-description{font-size:14px;line-height:1.6;margin:12px 0;color:var(--muted)}
.welcome-address{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}
.welcome-address strong{color:var(--ink)}
/* Match the supplied house reference at every width, including the roof and planters. */
.welcome-photo{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1752/1026;object-fit:cover;object-position:50% 90%;display:block;align-self:center}
.stay-panel{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:8px;box-shadow:0 3px 16px #243b3d06}
.stay-panel .eyebrow{color:var(--accent)}
.stay-panel input{border-color:#B4BAAE}
.stay-panel .note{color:var(--muted)}
.stay-panel .error{color:#A82C22}
.quick-dates button{color:var(--accent);border-color:#A1B5AF;background:#fff}
.quick-dates button:hover{background:var(--soft)}
.primary{background:var(--accent);border-color:var(--accent)}
.categories button[aria-pressed=true],.section-nav [aria-current=page]{background:var(--accent)}
.section-nav{border-bottom:1px solid var(--line)}
.section-nav a{border-radius:6px}
.section-nav [aria-current=page]{box-shadow:inset 0 -3px var(--gold)}
.event-card,.dining-card,.download-panel,.guest-card-panel,.link-builder{border-radius:8px}
.download-panel>.quiet{align-self:end}
.event-card:hover,.dining-card:hover{border-color:#7CA4A0}
.category-tag{color:var(--accent)}
.date-stamp strong{color:var(--accent)}
.pick-badge{background:#F6E8B7;color:#57471B}
.host-tip{background:#FFF3E9;border-left-color:var(--clay)}
.host-tip strong{color:#A94425}
.map-entry{border-left:3px solid var(--accent);border-radius:6px}
.topbar a:hover,.topbar .text-button:hover{text-decoration:underline;text-underline-offset:5px}
footer strong{color:var(--accent);font-size:11px;letter-spacing:1.5px}
@media(max-width:900px){.welcome-copy{padding:22px}.welcome-copy h1{font-size:42px}}
@media(max-width:650px){
 .topbar{flex-wrap:wrap;gap:12px;padding:14px 16px}
 .brand-mark{width:51px;height:41px}
 .brand-name{font-size:29px}
 .brand small{font-size:9px;letter-spacing:1px}
 .topbar nav{margin-left:auto;gap:17px;flex-shrink:0;font-size:12px}
 .shell{padding-top:20px}
 .welcome-banner{grid-template-columns:1fr;margin-bottom:20px}
 .welcome-copy{padding:19px 20px 18px}
 .welcome-copy h1{font-size:40px;line-height:1.08;max-width:360px}
 .welcome-copy .eyebrow{font-size:9px;letter-spacing:1.2px}
 .welcome-description{font-size:13px;margin:9px 0}
 .welcome-address{font-size:11px}
 .stay-panel{padding:20px}
}
@media(max-width:370px){.topbar nav{width:100%;justify-content:flex-end}.welcome-copy h1{font-size:36px}}
@media print{
 .topbar{background:#fff;color:var(--ink);border-bottom:2px solid var(--accent)}
 .brand small{color:var(--muted)}
 .welcome-banner{display:block;border:0;margin-bottom:20px;background:#fff}
 .welcome-copy{padding:0 0 15px}.welcome-copy h1{font-size:34pt}
 .welcome-photo{display:none}.welcome-banner:after{height:2px;background:var(--accent)}
 .welcome-description,.welcome-address{font-size:9pt}
}

.source-panel{border:1px solid var(--line,#dedbd3);border-radius:12px;padding:24px;margin:24px 0}.source-panel p{line-height:1.6}.source-panel small{color:#62666d}
