:root{--ink:#142633;--night:#10212e;--gold:#d6b778;--muted:#5d686c;--paper:#faf8f3;--line:#dcded6;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(46px,6vw,84px)}h2{font-size:clamp(34px,4vw,54px)}h3{font-size:29px;letter-spacing:-.025em}p{color:var(--muted)}em{font-weight:400}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{padding-block:96px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.eyebrow{display:block;font-size:11px;letter-spacing:.19em;font-weight:700;line-height:1.65;margin-bottom:20px;color:#80602a}.site-header{min-height:98px;display:flex;align-items:center;justify-content:space-between;padding:18px 40px;background:var(--paper);border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;font-family:var(--serif);font-size:21px;letter-spacing:.035em;line-height:1.15;white-space:nowrap}.brand small{font-family:Arial,sans-serif;display:block;font-size:8px;letter-spacing:.3em;margin-top:8px}.brand-star{font-size:44px;color:#a28242;line-height:1}nav{display:flex;align-items:center;gap:26px}nav>a{font-size:13px;text-decoration:none;white-space:nowrap}nav>a:hover,nav>a[aria-current]{color:#8e6b30}a:hover{text-decoration-thickness:2px}.button{border:1px solid var(--gold);background:var(--gold);color:#172733;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:49px;padding:13px 22px;text-decoration:none;font-size:13px;font-weight:700;line-height:1.5;border-radius:2px;transition:background .18s}.button:hover{background:#e4c992;border-color:#e4c992}.button.small{font-size:12px;padding:11px 16px;min-height:42px}.button.outline{background:transparent;border-color:#b5a47f}.button.outline:hover{background:#ede6d7}.button span{font-size:20px}.text-link{color:white;text-decoration:none;font-size:14px;font-weight:600;padding:12px 0;border-bottom:1px solid #ffffff50}.text-link.dark{color:var(--ink);border-color:#17273345}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.menu-toggle{display:none}.hero{position:relative;min-height:660px;background:var(--night);color:white;isolation:isolate;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,37,.85),rgba(10,26,37,.25) 52%,transparent 75%);z-index:-2}.hero-content{padding-block:95px 115px}.hero-content h1{max-width:620px;font-size:clamp(50px,5.7vw,80px);line-height:1.04}.hero-content p{max-width:455px;font-size:16px;color:#e1e3e2}.hero .eyebrow{color:var(--gold)}.hero-note{display:block;margin-top:42px;font-family:var(--serif);font-style:italic;color:#ded6c5;font-size:20px}.hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;color:#ddd}.hero-bottom a{text-decoration:none}.tour-ribbon{background:#e8e3d7;display:flex;gap:30px;align-items:center;padding:23px max(48px,calc((100vw - 1180px)/2));text-decoration:none;font-family:var(--serif);font-size:24px;line-height:1.25}.tour-ribbon small{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.11em;margin-left:18px}.pill{font-family:Arial,sans-serif;border:1px solid #b9a579;border-radius:30px;font-size:10px;padding:8px 12px;letter-spacing:.12em;white-space:nowrap}.ribbon-end{margin-left:auto;font:12px Arial,sans-serif}.ribbon-end b{margin-left:25px;font-size:23px}.intro-art{background:#f3efdf;border:1px solid #e7dfc9;padding:24px;aspect-ratio:1.2;display:flex;align-items:center;justify-content:center;position:relative}.intro-art:after{content:'';inset:15px;border:1px solid #c6b98e;position:absolute;pointer-events:none}.intro-art img{width:100%;mix-blend-mode:multiply}.soft{background:#f0f0e9}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:38px}.section-heading h2{margin:0}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.experience{border-top:1px solid #aab0a6;padding-top:28px;display:flex;flex-direction:column}.number{font-family:var(--serif);color:#96783e;font-size:19px;display:block;margin-bottom:28px}.experience h3{font-size:30px}.experience p{font-size:15px}.experience a{display:flex;justify-content:space-between;text-decoration:none;font-size:13px;font-weight:700;margin-top:auto;padding-top:16px}.christmas-feature{background:radial-gradient(ellipse at 90% 15%,#415c51,transparent 60%),#18362f;color:#fff;position:relative}.christmas-feature .eyebrow{color:#e0c991}.christmas-feature p{color:#e3e9e4}.christmas-feature em{color:#e7ce9b}.newsletter{border-top:1px solid var(--line);background:#eae7dc}.newsletter p{max-width:490px}.newsletter h2{max-width:390px}.two-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}label{display:block;font-size:13px;font-weight:600}label span{font-weight:400}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #b9beb6;background:#fffefb;color:var(--ink);padding:12px;border-radius:2px;margin-top:7px;min-height:46px}textarea{min-height:140px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.7;margin:18px 0}.check input{margin-top:4px;min-width:17px;width:17px;height:17px;accent-color:#96783e}.fine{font-size:12px;line-height:1.65;margin-top:14px}.trap{position:absolute;left:-10000px}.notice{padding:30px;background:#eeeee7;border-left:3px solid #ac8b4e}.notice p:last-child{margin-bottom:0}footer{background:var(--night);color:#f2eee5;padding:64px 0 20px}footer p{font-size:14px;color:#b8c4c9;margin-top:24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}footer .eyebrow{color:var(--gold)}footer a:not(.brand){display:block;text-decoration:none;font-size:13px;margin:8px 0;color:#d9e1e2;overflow-wrap:anywhere}.footer-bottom{margin-top:54px;padding-top:20px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:15px;color:#a3b0b8;font-size:11px}.page-intro{padding-top:82px;padding-bottom:42px}.page-intro h1{max-width:870px}.page-intro p{max-width:660px;font-size:18px}.about-layout{align-items:start;padding-top:10px}.portrait{display:block;width:100%;border-radius:2px}figure{margin:0}figcaption{font-size:11px;letter-spacing:.08em;margin-top:16px;color:var(--muted)}.prose p{font-size:16px;line-height:1.9}.service-list{padding-bottom:20px}.service{display:grid;grid-template-columns:45px 1fr 240px;gap:34px;border-top:1px solid var(--line);padding:43px 0;scroll-margin-top:20px}.service .number{margin:0}.service h2{font-size:35px;margin-bottom:16px}.service p{max-width:580px;margin:0;font-size:15px}.service .eyebrow{margin-bottom:12px}.service-action{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px}.service-action strong{font-family:var(--serif);font-weight:400;font-size:27px}.service-action .button{font-size:12px;width:100%}.tour-hero{background:radial-gradient(ellipse at 85% 75%,#3b4d5e,transparent 45%),#122632;color:white;position:relative;overflow:hidden;padding:86px 0}.tour-hero .wrap{position:relative}.tour-hero h1{font-size:clamp(80px,10vw,142px);line-height:.88;letter-spacing:-.06em;margin-bottom:26px;position:relative;z-index:1}.tour-hero em{color:#e1c690}.tour-hero .eyebrow{color:var(--gold)}.tour-year{letter-spacing:.4em;font-size:16px;margin:30px 0}.tour-hero p{color:#dce3e6;font-size:17px;position:relative;z-index:1}.orbit{position:absolute;right:20px;top:25px;width:420px;height:420px;border:1px solid #b6a26c66;border-radius:50%;font-size:230px;color:#d8be8255;display:grid;place-items:center;transform:rotate(-15deg)}.orbit:after{content:'';inset:25px;border:1px solid #b6a26c44;border-radius:50%;position:absolute}.event-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:45px}.event-heading h2{font-size:clamp(38px,4vw,58px)}.lead{font-family:var(--serif);font-size:24px!important;line-height:1.5!important;color:#3b4f55}.date-tile{border:1px solid #b39b6b;text-align:center;min-width:112px;padding:13px 24px;line-height:1.4}.date-tile span{display:block;font-size:12px;letter-spacing:.18em}.date-tile strong{font:54px var(--serif)}.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:80px;align-items:start}.event-chapter{padding-top:24px;border-top:1px solid var(--line);margin-top:30px}.event-chapter h3{font-size:28px}.ticket-panel{position:sticky;top:24px;background:#eae5d8;padding:30px;border-top:3px solid #a6894c}.ticket-panel h3{font-size:30px}.ticket-panel dl{margin:24px 0}.ticket-panel dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#776647;margin-top:18px}.ticket-panel dd{margin:4px 0;font-size:15px;line-height:1.5}.ticket-panel small{display:block;color:#586260;font-size:13px;margin-top:5px}.ticket-panel .button{width:100%}.ticket-price{font-family:var(--serif);font-size:25px!important}.ticket-source{display:block;max-width:180px;margin:20px auto 10px}.ticket-panel .text-link{font-size:12px}.event-notice{background:#f0eee6;padding:23px;margin-top:35px}.event-notice p{font-size:12px}.expectations{padding-top:24px}.expectations article{border-top:1px solid var(--line);padding-top:28px}.expectations p{font-size:15px}.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;align-items:start}.faq-list details{border-bottom:1px solid #c7ccc4}.faq-list details:first-child{border-top:1px solid #c7ccc4}.faq-list summary{font-size:16px;font-weight:600;list-style:none;cursor:pointer;padding:23px 0;display:flex;gap:30px;justify-content:space-between;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;color:#9a7d42}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:15px;padding-right:30px}.contact-layout{padding-top:20px;padding-bottom:100px}.contact-links>a{display:block;font:clamp(20px,2.3vw,30px) var(--serif);margin-bottom:38px;overflow-wrap:anywhere}.contact-links .eyebrow{margin-bottom:12px}.narrow{max-width:800px;padding-top:0}.skip{position:absolute;top:-100px;background:white;color:black;padding:15px;z-index:30}.skip:focus{top:0}:focus-visible{outline:3px solid #956618;outline-offset:4px}dialog{border:1px solid #bca472;background:var(--paper);color:var(--ink);width:min(540px,calc(100% - 36px));padding:40px}dialog::backdrop{background:#07141fc9}.dialog-close{float:right;border:0;background:transparent;font-size:30px}.status-page{min-height:45vh;max-width:800px;margin:auto;padding:90px 30px}.admin-body{background:#f1f2ec}.admin-shell{max-width:1180px;margin:auto;padding:35px 30px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid #c7cec4;padding-bottom:22px}.admin-top h1{font-size:35px;margin-bottom:0}.admin-nav{display:flex;gap:20px;flex-wrap:wrap;margin:25px 0}.admin-nav a{font-size:14px}.admin-card{background:white;border:1px solid #d3d9d1;padding:30px;margin:24px 0}.admin-card h2{font-size:30px}.admin-card label{margin:18px 0}.admin-card textarea{min-height:180px}.admin-card .check{margin:20px 0}.admin-card .button{margin-top:12px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-stats{display:flex;gap:40px;flex-wrap:wrap}.admin-stats strong{display:block;font:36px var(--serif)}.message{background:#e5ecdf;border-left:4px solid #657e4d;padding:18px;margin:20px 0}.error{background:#f9e6df;border-left-color:#9b4d38}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #d5dbd2;text-align:left;padding:12px 8px;vertical-align:top}td form{display:inline}td button{font-size:12px}.inline{display:inline}.login-card{max-width:560px;margin:60px auto;padding:32px;background:white;border:1px solid #ccc}.login-card h1{font-size:40px}.login-card label{margin:18px 0}.code{font-family:monospace;font-size:13px;word-break:break-all;padding:16px;background:#eceee7}.help{font-size:13px;color:#58635b}.danger{background:#923d2f;color:white;border-color:#923d2f}.admin-card details{border-bottom:1px solid #ddd;padding:12px 0}.admin-card summary{cursor:pointer;font-weight:600}.admin-card fieldset{border:1px solid #ccc;margin:22px 0;padding:20px}.admin-card legend{font-weight:700;padding:0 10px}
@media(min-width:1500px){.hero{min-height:750px}.hero-content{padding-top:135px}}@media(max-width:1100px){.site-header{padding-inline:25px}nav{gap:17px}.brand{font-size:18px}.split{gap:45px}.wrap{width:calc(100% - 64px)}.event-layout{gap:40px;grid-template-columns:1fr 310px}.service{grid-template-columns:30px 1fr 220px;gap:20px}.hero-content h1{max-width:540px}.hero{min-height:610px}.three-grid{gap:26px}}@media(max-width:900px){.menu-toggle{display:block;border:1px solid #b9bdaa;background:transparent;padding:8px 13px;font-size:13px}.site-header{position:relative;min-height:84px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px;z-index:10;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch}nav>a{padding:8px}.hero>img{object-position:65% center}.hero-content h1{max-width:440px}.hero-content p{max-width:365px}.hero-shade{background:linear-gradient(90deg,#0c202eed,#10232e66 70%,#10232e11)}.ribbon-end{display:none}.three-grid{grid-template-columns:1fr}.experience{padding:26px 0}.experience .number{margin-bottom:12px}.experience h3{margin-bottom:15px}.split{gap:35px}.section{padding-block:65px}.faq-layout{grid-template-columns:1fr;gap:30px}.service{grid-template-columns:25px 1fr}.service-action{grid-column:2;align-items:flex-start;max-width:300px}.event-layout{grid-template-columns:1fr}.ticket-panel{position:static;max-width:none}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.two-fields{grid-template-columns:1fr}.orbit{right:-120px;opacity:.5}.admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{padding-inline:20px}.hero{min-height:790px;display:flex;align-items:end}.hero>img{height:470px;object-position:73% top;object-fit:cover}.hero-shade{background:linear-gradient(0deg,#10212e 34%,#10212e00 80%)}.hero-content{padding-top:355px;padding-bottom:80px}.hero-content h1{font-size:49px;max-width:400px}.hero-content p{font-size:15px}.hero-content .eyebrow{font-size:10px}.hero-note{display:none}.hero-bottom span{max-width:220px;font-size:8px}.hero-bottom{bottom:18px;align-items:end}.actions{gap:20px}.tour-ribbon{padding:20px;gap:15px;font-size:21px}.tour-ribbon small{display:block;margin:5px 0 0;font-size:10px}.split{grid-template-columns:1fr;gap:35px}.intro-art{max-width:380px;margin:auto;width:100%;aspect-ratio:1.4}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:15px}.section{padding-block:52px}.newsletter h2{max-width:100%}.two-fields{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;margin-top:35px}.page-intro{padding-top:50px;padding-bottom:25px}.page-intro h1{font-size:46px}.page-intro p{font-size:16px}.about-layout{padding-top:0}.service{gap:15px;padding:30px 0}.service h2{font-size:30px}.service .eyebrow{font-size:9px}.service-action{gap:15px}.tour-hero{padding:60px 0}.tour-hero h1{font-size:87px}.tour-year{font-size:12px}.tour-hero p{font-size:15px}.orbit{width:280px;height:280px;font-size:140px;right:-135px;top:55px}.event-heading{gap:15px;align-items:start}.event-heading h2{font-size:36px}.date-tile{min-width:72px;padding:10px}.date-tile strong{font-size:38px}.date-tile span{font-size:10px}.lead{font-size:21px!important}.event-heading .eyebrow{font-size:9px}.event-layout{gap:30px}.ticket-panel{padding:25px}.faq-list summary{font-size:15px}.contact-layout{padding-top:0}.notice{padding:24px}.contact-links>a{font-size:24px}.admin-shell{padding:20px 15px}.admin-card{padding:20px}.admin-stats{gap:22px}.login-card{margin:30px 15px;padding:24px}.admin-top h1{font-size:30px}.admin-nav{gap:15px}dialog{padding:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
dialog.calendar-open{width:min(1000px,calc(100% - 30px));max-height:95vh;padding:20px}.calendar-open>h2,.calendar-open>p:not(#booking-status),.calendar-open>.eyebrow{display:none}.booking-frame{display:block;width:100%;height:72vh;border:0;margin-top:16px;background:white}[hidden]{display:none!important}
.tour-hero h1{max-width:750px}.admin-nav{display:flex!important;position:static!important;background:transparent!important;padding:0!important;flex-direction:row!important;align-items:center!important;border:0!important}.ticket-source{font-size:12px;text-align:center}
/* 1.1 photo management: separate portrait composition from wide banners. */
.hero-portrait{background:radial-gradient(ellipse at 85% 30%,#4b464e,transparent 55%),var(--night)}
.hero-portrait>img{inset:22px 2% auto auto;width:49%;height:calc(100% - 22px);object-fit:contain;object-position:right bottom}
.hero-portrait .hero-shade{background:linear-gradient(90deg,#10212e 0%,#10212eaa 38%,transparent 62%)}
.updated-portrait{width:100%;height:auto;max-height:680px;object-fit:contain;object-position:center bottom;background:linear-gradient(140deg,#e9e2dd,#f3ede7);padding:18px 12px 0}
.photo-preview{position:relative;height:330px;overflow:hidden;border:1px solid #bfc5c2;background:radial-gradient(ellipse at 85% 30%,#4b464e,transparent 55%),#10212e;isolation:isolate}
.photo-preview img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}
.preview-hero[data-layout=portrait] img{width:50%;margin-left:auto;object-position:right bottom}
.preview-hero[data-layout=banner] img{object-fit:cover;object-position:65% center}
.preview-text{position:absolute;top:25%;left:5%;font:clamp(22px,3vw,40px)/1.1 Georgia,serif;color:white;text-shadow:0 2px 5px #10212e}
.preview-about{background:#eee7e2;height:360px}.photo-upload-form input[type=file]{padding:14px}.photo-card .actions{gap:18px}.photo-card button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px) and (min-width:601px){.hero-portrait>img{width:48%;right:0}.hero-portrait .hero-content h1{max-width:48%;font-size:52px}.hero-portrait .hero-content p{max-width:46%}}
@media(max-width:600px){.hero-portrait>img{inset:12px 0 auto;width:100%;height:435px;object-fit:contain;object-position:center top}.hero-portrait .hero-shade{background:linear-gradient(0deg,#10212e 36%,#10212e00 68%)}.hero-portrait .hero-content{padding-top:375px}.updated-portrait{max-height:600px}.photo-preview{height:240px}.preview-about{height:320px}.preview-text{font-size:25px}}
