:root{--green:#194c37;--ink:#20352b;--paper:#faf9f4;--line:#dedfd4;--muted:#59665e;--orange:#b95427}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:0.9375rem;line-height:1.85}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #d77d25;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h2{font-size:2rem;line-height:1.5;letter-spacing:.025em}h3{font-size:1.312rem;line-height:1.5}section,article[id]{scroll-margin-top:100px}.wrap{width:min(1160px,calc(100% - 80px));margin:auto}.preview{padding:4px 30px;text-align:center;background:#ece9de;color:#57574e;font-size:0.875rem;letter-spacing:.08em}.preview span{margin-left:18px}.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:1.375rem;font-weight:800;line-height:1.35}.brand small{display:block;font-size:0.875rem;letter-spacing:.25em;margin-top:3px}.brand-mark{border:1px solid var(--green);border-radius:50%;width:40px;height:40px;text-align:center;line-height:38px;font-family:Georgia,serif;font-size:1.625rem}.header nav{display:flex;align-items:center;gap:28px;font-size:0.875rem;font-weight:700}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;min-height:56px;padding:15px 26px;background:var(--green);color:white;border:1px solid var(--green);border-radius:4px;font-size:0.875rem;font-weight:700;transition:background .15s}.button:hover{background:#286949}.button.compact{min-height:44px;padding:10px 22px}.button span{font-size:1.125rem}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:580px;max-width:1600px;margin:0 auto}.hero-copy{padding:62px 40px 42px max(40px,calc((100vw - 1160px)/2))}.eyebrow{font-size:0.875rem;font-weight:700;letter-spacing:.17em;margin-bottom:18px;color:var(--green)}h1{font-size:clamp(34px,3.6vw,54px);line-height:1.6;letter-spacing:.07em;font-weight:800}h1 span{white-space:nowrap;font-size:.85em}.hero-description{font-size:0.875rem;color:var(--muted);margin:24px 0}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px}.text-link{font-size:0.875rem;font-weight:700;text-decoration:underline;text-underline-offset:6px}.hero-location{font-size:0.875rem;margin-top:34px;letter-spacing:.06em}.hero-location span{border-left:1px solid var(--line);padding-left:14px;margin-left:14px}.hero-image{position:relative;min-height:580px;overflow:hidden}.hero-image>img{height:100%;position:absolute;object-position:48% center}.hero-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(13,34,23,.72))}.image-caption{position:absolute;bottom:45px;left:38px;right:20px;color:white;z-index:1}.image-caption span{display:block;font-size:0.875rem;letter-spacing:.18em;margin-bottom:8px}.image-caption strong{font-size:1.375rem}.photo-label{position:absolute;top:24px;right:24px;background:rgba(255,255,255,.9);padding:5px 12px;font-size:0.875rem;letter-spacing:.06em}.notice{display:flex;align-items:center;gap:20px;margin-top:28px;padding:18px 22px;background:#f0ede1;border-radius:4px;font-size:0.875rem}.notice-label{white-space:nowrap;font-weight:700}.notice p{flex:1}.notice a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.quicklinks{display:grid;grid-template-columns:repeat(4,1fr);margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quicklinks a{padding:22px;border-right:1px solid var(--line)}.quicklinks a:last-child{border:0}.quicklinks small{display:block;font-size:0.875rem;letter-spacing:.09em;color:var(--muted)}.quicklinks strong{display:flex;justify-content:space-between;font-size:0.875rem;margin-top:4px}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:36px}.section-heading>p{font-size:0.875rem;color:var(--muted)}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.experience-card{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.experience-card>img{height:290px}.experience-card>div{padding:28px 30px 32px}.tag{display:inline-block;background:#e7eee7;color:var(--green);font-size:0.875rem;padding:2px 12px;border-radius:2px;margin-bottom:12px}.tag.orange{background:#f6eadf;color:#8f401c}.experience-card p{margin:12px 0 18px;color:var(--muted);font-size:0.875rem}.muted{display:block;color:var(--muted);font-size:0.875rem;margin-top:12px}.ticket-section{background:#eef1e8;padding:80px 0}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ticket{background:white;border:1px solid #c4cec0;border-radius:5px;padding:30px;display:flex;flex-direction:column}.ticket.featured{border-top:5px solid var(--green);padding-top:26px}.ticket-kicker{font-size:0.875rem;color:var(--green);font-weight:700;margin-bottom:10px}.ticket h3{font-size:1.438rem}.ticket-description{color:var(--muted);font-size:0.875rem;margin:8px 0 12px}.price{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px}.price>span{font-size:0.875rem}.price strong{font-family:Georgia,serif;font-size:2.375rem;line-height:1.4}.price strong small{font-family:sans-serif;font-size:0.875rem;padding-left:5px}.ticket ul{padding-left:20px;font-size:0.875rem;margin:22px 0 28px;flex:1}.ticket li{margin:7px 0}.ticket .button{width:100%}.fineprint{font-size:0.875rem;color:var(--muted);margin:20px 0 32px}.other-tickets{border-top:1px solid #c4cec0}.other-tickets h3{font-size:1.062rem;margin:24px 0 14px}.other-tickets>a{display:flex;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid #c4cec0}.mini-label{font-size:0.875rem;border:1px solid #afbeaa;border-radius:3px;padding:4px 8px;width:166px;flex-shrink:0;text-align:center}.other-tickets a>span:nth-child(2){flex:1}.other-tickets strong{display:block;font-size:0.9375rem}.other-tickets small{display:block;font-size:0.875rem;color:var(--muted);margin-top:3px}.ticket-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:28px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info-card{border:1px solid var(--line);padding:30px;background:white;border-radius:5px}.label{display:block;font-size:0.875rem;color:var(--green);font-weight:bold;margin-bottom:12px}.info-card>p{font-size:0.875rem;color:var(--muted);margin:16px 0}.dated-info{padding:16px;background:#f5f5ee}.dated-info strong,.dated-info small{display:block;font-size:0.875rem}.dated-info>span{font-size:1.625rem;letter-spacing:.04em;font-weight:700;color:var(--green)}.dated-info small{font-size:0.875rem}.amenities{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.amenities span{background:#f1f3ed;padding:6px 12px;border:1px solid #e1e5db;font-size:0.875rem}.access-section{background:var(--green);color:white;padding:68px 0}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.access-section .eyebrow{color:#d1dfb9}.address{font-size:0.875rem;margin:20px 0 24px}.button.light{background:white;color:var(--green);border-color:white}.access-row{display:flex;gap:24px;border-bottom:1px solid #65806e;padding:24px 0}.access-row:first-child{padding-top:4px}.access-row>span{font-size:0.875rem;letter-spacing:.1em;width:48px;flex-shrink:0;padding-top:8px;color:#d1dfb9}.access-row p{font-size:0.875rem;margin-top:10px}.faq{max-width:860px}.faq h2{margin-bottom:28px}.faq details{border-bottom:1px solid var(--line);padding:0 4px}.faq summary{cursor:pointer;list-style:none;padding:22px 32px 22px 0;font-size:0.875rem;font-weight:700;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:19px;font-size:1.438rem;color:var(--green)}.faq details[open] summary:after{content:"−"}.faq details p{padding:0 16px 24px 0;font-size:0.875rem;color:var(--muted)}.faq details a{text-decoration:underline}.closing{text-align:center;padding:48px 20px 60px;border-top:1px solid var(--line);margin-bottom:50px}.closing h2{font-size:2.125rem;margin-bottom:26px}.mobile-nav{display:none}.skip{position:absolute;top:-100px;z-index:10;padding:12px;background:white}.skip:focus{top:0}@media(min-width:1600px){.hero-copy{padding-left:80px}}@media(max-width:1050px){.header{padding:0 24px}.header nav{gap:18px}.hero-copy{padding:44px 26px}.hero{min-height:530px}.hero-image{min-height:530px}.hero-actions .button{font-size:0.875rem;padding:15px 18px}.hero-location span{display:block;border:0;padding:0;margin:0}.notice{flex-wrap:wrap;gap:8px 18px}.notice p{flex-basis:70%}.quicklinks a{padding:18px 14px}.wrap{width:calc(100% - 48px)}.section-heading>p{max-width:250px}.image-caption strong{font-size:1.125rem}.ticket h3{font-size:1.25rem}}@media(max-width:700px){html{scroll-padding-top:80px}body{padding-bottom:72px}.preview{padding:5px 10px;font-size:0.875rem}.preview span{margin-left:8px}.header{height:72px;padding:0 18px}.brand{font-size:1.062rem;gap:8px}.brand-mark{width:32px;height:32px;line-height:30px;font-size:1.312rem}.brand small{font-size:0.875rem}.header nav>a:not(.button){display:none}.header .button{font-size:0.875rem;padding:10px 12px;gap:8px;min-height:40px}.header .button span{font-size:0.875rem}.wrap{width:calc(100% - 36px)}.hero{display:flex;flex-direction:column}.hero-copy{padding:32px 24px 28px}.eyebrow{font-size:0.875rem;letter-spacing:.12em;margin-bottom:13px}h1{font-size:2.375rem;line-height:1.45;letter-spacing:.04em}h1 span{font-size:.84em}.hero-description{font-size:0.875rem;margin:18px 0}.hero-actions{gap:15px}.hero-actions .button{font-size:0.875rem;width:100%;max-width:360px}.hero-location{margin-top:22px;font-size:0.875rem}.hero-location span{display:inline;border-left:1px solid var(--line);margin-left:10px;padding-left:10px}.hero-image{min-height:300px}.hero-image>img{object-position:center 43%}.image-caption{left:24px;bottom:24px}.image-caption strong{font-size:1.125rem}.photo-label{top:16px;right:18px}.notice{margin-top:18px;padding:16px;font-size:0.875rem;gap:8px}.notice p{flex-basis:100%}.notice-label{font-size:0.875rem}.quicklinks{grid-template-columns:1fr 1fr;margin-top:20px}.quicklinks a{padding:16px 10px}.quicklinks a:nth-child(2){border-right:0}.quicklinks a:nth-child(-n+2){border-bottom:1px solid var(--line)}.quicklinks strong{font-size:0.875rem}.quicklinks small{font-size:0.875rem}.section{padding-top:56px;padding-bottom:56px}h2{font-size:1.625rem}.section-heading{display:block;margin-bottom:24px}.section-heading>p{margin-top:16px;max-width:none;font-size:0.875rem}.experience-grid,.ticket-grid,.guide-grid{grid-template-columns:1fr;gap:20px}.experience-card>img{height:230px}.experience-card>div{padding:24px}.experience-card h3{font-size:1.25rem}.experience-card p{font-size:0.875rem}.ticket-section{padding:50px 0}.ticket{padding:24px}.ticket.featured{padding-top:20px}.ticket h3{font-size:1.312rem}.ticket .button{font-size:0.875rem;padding:14px 18px}.other-tickets>a{flex-wrap:wrap;gap:10px}.mini-label{width:auto;font-size:0.875rem}.other-tickets a>span:nth-child(2){flex-basis:85%;order:2}.other-tickets a>span:last-child{margin-left:auto}.ticket-bottom{flex-direction:column;gap:20px}.fineprint{font-size:0.875rem}.info-card{padding:24px}.access-section{padding:48px 0}.access-grid{grid-template-columns:1fr;gap:32px}.access-row{gap:14px}.faq summary{font-size:0.875rem}.closing{padding-top:36px;margin-bottom:24px}.closing h2{font-size:1.688rem}.mobile-nav{position:fixed;display:grid;grid-template-columns:1fr 1fr 1.7fr;bottom:0;left:0;right:0;z-index:6;background:white;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:5px;box-shadow:0 -3px 20px #153d2810}.mobile-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:0.875rem;font-weight:700}.mobile-nav a:last-child{background:var(--green);color:white;border-radius:3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(max-width:360px){h1{font-size:2.062rem}.brand{font-size:0.9375rem}.brand-mark{display:none}.hero-description{font-size:0.875rem}.hero-copy{padding-left:20px;padding-right:20px}.ticket{padding:20px}.ticket h3{font-size:1.125rem}.price strong{font-size:2.062rem}.button{gap:10px;padding:14px 16px}}
