@font-face{font-family:Instrument;src:url(assets/instrument-serif.ttf) format('truetype');font-display:swap}
@font-face{font-family:Instrument;src:url(assets/instrument-serif-italic.ttf) format('truetype');font-style:italic;font-display:swap}
@font-face{font-family:DM;src:url(assets/dm-sans.ttf) format('truetype');font-display:swap}
:root{--ink:#153b34;--muted:#4b645b;--green:#164b3e;--paper:#faf8f1;--mint:#eaf0de;--hair:#cbd2c6;--sun:#f6c64f;--serif:Instrument,Georgia,serif;--sans:DM,Arial,sans-serif;scroll-behavior:smooth;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:400}
button,a,summary{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,summary{cursor:pointer}
button{color:inherit}
img{display:block;width:100%;height:auto}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #c98200;outline-offset:4px}
[hidden]{display:none!important}
.skip{position:fixed;top:-100px;left:20px;background:white;color:var(--green);z-index:5;padding:8px}
.skip:focus{top:8px}
.wrap{max-width:1460px;width:100%;padding-inline:clamp(22px,6vw,96px);margin-inline:auto}
.hero{position:relative;isolation:isolate;color:#fff;display:flex;flex-direction:column;min-height:clamp(545px,41.5vw,685px);background:#254f52;overflow:hidden}
.cover,.hero::before{position:absolute;inset:0;height:100%;z-index:-2}
.cover{object-fit:cover;object-position:58% 58%}
.hero::before{content:"";z-index:-1;background:linear-gradient(90deg,rgba(9,34,33,.67),rgba(4,35,39,.38) 39%,rgba(8,35,37,.04) 72%),linear-gradient(180deg,rgba(4,20,28,.48),transparent 38%,rgba(4,37,38,.18) 80%,rgba(4,30,27,.56))}
.navigation{max-width:1460px;width:100%;margin:0 auto;display:flex;align-items:center;padding:22px clamp(22px,6vw,96px);gap:48px;position:relative}
.navigation::after{position:absolute;content:"";left:clamp(22px,6vw,96px);right:clamp(22px,6vw,96px);bottom:0;height:1px;background:#ffffff55}
.brand{display:flex;align-items:center;gap:12px;line-height:1}
.wordmark{font:bold 42px/.86 Georgia,serif;letter-spacing:-4px}
.wordmark span{color:var(--sun)}
.brand-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.45px;line-height:1.15}
.navigation nav{margin-left:auto;display:flex;gap:clamp(18px,2.7vw,46px);font-size:14px;font-weight:600}
.navigation nav a,.text-link{border-bottom:1px solid transparent}
.navigation nav a:hover,.text-link:hover{border-color:currentColor}
.nav-action,.primary,.dialog-primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;background:var(--sun);color:#19362c;border-radius:30px;font-weight:700;line-height:1.2;text-decoration:none;transition:background .18s}
.nav-action{font-size:13px;padding:12px 20px}
.primary{padding:16px 25px;font-size:15px}
.nav-action:hover,.primary:hover,.dialog-primary:hover{background:#ffdc77}
.hero-copy{margin:auto;width:100%;max-width:1460px;padding:66px clamp(22px,6vw,96px) 53px}
.location,.eyebrow,.category,.dialog-eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;line-height:1.4}
.pin{width:12px;height:12px;border:1.5px solid var(--sun);border-radius:50% 50% 50% 0;transform:rotate(-45deg);position:relative}
.pin::after{content:"";width:3px;height:3px;border:1.25px solid var(--sun);border-radius:50%;position:absolute;top:2px;left:2px}
h1{font-family:var(--serif);font-size:clamp(76px,8.8vw,144px);line-height:.98;letter-spacing:-.025em;margin:19px 0 15px}
h1 em{font-weight:400;color:#ffdd86}
.hero-lede{max-width:520px;font-size:clamp(16px,1.4vw,21px);line-height:1.5;text-wrap:pretty;color:#fff}
.hero-copy .primary{margin-top:27px}
.hero-note{max-width:1460px;width:100%;margin:0 auto;text-align:right;padding:0 clamp(22px,6vw,96px) 16px;font-size:12px;font-weight:500;letter-spacing:.4px}
.hero-note span{color:var(--sun);padding:0 7px}
.collection,.guide,.journal{padding-block:clamp(53px,5.4vw,86px)}
.eyebrow,.category,.dialog-eyebrow{color:#45624b}
.eyebrow span{width:26px;height:2px;background:#c79736}
h2{font-family:var(--serif);font-size:clamp(44px,4.65vw,76px);line-height:1.04;letter-spacing:-.02em}
h2 em{font-weight:400;color:#396f5f}
.collection-head,.journal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin:12px 0 30px}
.filters{display:flex;gap:4px;flex-wrap:wrap;padding-bottom:3px}
.filters button{border:1px solid var(--hair);background:transparent;border-radius:24px;padding:8px 14px;font-size:13px;line-height:1.2;min-height:35px}
.filters button:hover{background:#e9eddf}
.filters button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.grid,.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,36px)}
.card{min-width:0}
.tour-button{display:flex;flex-direction:column;align-items:stretch;text-align:left;width:100%;height:100%;padding:0;background:transparent;border:none}
.card-image{position:relative;width:100%;aspect-ratio:1.46;overflow:hidden;border-radius:5px}
.card-image img,.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.tour-button:hover img{transform:scale(1.035)}
.open-arrow{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;border-radius:50%;width:36px;height:36px;background:#fff8e9eb;font-size:21px;line-height:1}
.category{font-size:10px;margin-top:18px;letter-spacing:1.6px}
h3{font-family:var(--serif);font-size:clamp(30px,2.5vw,43px);line-height:1.12;margin:5px 0 7px}
.card p{color:var(--muted);font-size:15px;line-height:1.48;margin-bottom:15px}
.rate{width:100%;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--hair);margin-top:auto;padding-top:11px;gap:8px}
.rate span,.rate small{font-size:12px;color:var(--muted);font-weight:400}
.rate strong{font-size:17px}
.journal{background:#e8eedf}
.text-link{font-size:14px;font-weight:600;white-space:nowrap}
.photo-grid figure{margin:0}
.photo-grid img{aspect-ratio:1.15;border-radius:4px;object-position:50% 45%}
.photo-grid figcaption{font-size:14px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.photo-grid figcaption span{font-size:17px}
.guide{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.guide h2{margin:12px 0}
.questions details{border-top:1px solid var(--hair);padding:16px 0}
.questions details:last-child{border-bottom:1px solid var(--hair)}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-size:20px;font-weight:400}
details[open]>summary::after{content:'−'}
.questions details p,.credits p{margin-top:9px;font-size:14px;line-height:1.65;color:var(--muted)}
footer{background:#153c33;color:#fff;padding-block:30px}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-top>span,.credits summary{color:#d4e3d8;font-size:12px}
.credits{margin-top:22px;border-top:1px solid #ffffff38;padding-top:12px}
.credits summary{width:fit-content;font-weight:400}
.credits p{color:#e1e9e3;max-width:850px}
.credits a{text-decoration:underline}
dialog{color:var(--ink);width:min(510px,calc(100vw - 30px));max-height:90dvh;border:0;border-radius:12px;padding:0;background:var(--paper);box-shadow:0 24px 80px #061e1a55}
dialog::backdrop{background:#092920a8}
.tour-panel{position:relative;padding:clamp(23px,3.4vw,40px)}
.dialog-close{position:absolute;top:15px;right:15px;background:transparent;border:1px solid var(--hair);width:34px;height:34px;border-radius:50%;font-size:24px;line-height:1}
.dialog-eyebrow{padding-right:30px;font-size:10px}
.dialog-title{font-family:var(--serif);font-size:clamp(39px,4vw,53px);line-height:1.04;margin:13px 0 12px}
.dialog-title:focus{outline:0}
.dialog-copy,.dialog-stops,.dialog-summary{font-size:15px;color:var(--muted)}
.dialog-stops{padding-left:20px;margin:15px 0 20px}
.dialog-stops li{margin:4px 0}
.dialog-fields{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}
.dialog-fields label{font-weight:600;font-size:13px}
input,select{display:block;width:100%;min-width:0;padding:10px 8px;background:#fff;border:1px solid #a3b7a8;border-radius:4px;color:var(--ink);margin-top:5px}
.dialog-total,.dialog-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--hair);padding:10px 0}
.dialog-total{margin:19px 0 9px;font-size:13px}
.dialog-total strong{font-size:21px}
.dialog-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dialog-primary{padding:13px 20px;font-size:14px}
.dialog-back{border:0;background:transparent;text-decoration:underline;font-size:13px}
.dialog-summary{margin:18px 0}
.dialog-summary dd{margin:0;text-align:right;font-weight:600}
.dialog-note{font-size:12px;color:var(--muted);margin-top:12px}
@media(max-width:900px){.collection-head{align-items:flex-start;flex-direction:column;gap:16px}.navigation{gap:28px}.rate small{white-space:nowrap}}
@media(max-width:690px){.hero{min-height:560px}.navigation{padding-block:17px;gap:16px}.navigation nav a:not(:nth-child(2)){display:none}.navigation nav{font-size:12px}.nav-action{padding:10px 15px;gap:8px}.wordmark{font-size:34px}.brand{gap:8px}.brand-label{font-size:8px}.hero-copy{padding-top:80px;padding-bottom:70px}.cover{object-position:61% 50%}.hero::before{background:linear-gradient(90deg,#092b329e,#1537353b),linear-gradient(0deg,#07261f76,transparent 75%,#0e202a50)}.hero-note{text-align:left;font-size:11px}.grid,.photo-grid{grid-template-columns:1fr;gap:31px}.card-image{aspect-ratio:1.65}.hero-lede{max-width:370px}.collection-head,.journal-head{align-items:flex-start;flex-direction:column;gap:16px}.guide{grid-template-columns:1fr;gap:18px}.footer-top{align-items:flex-start;flex-direction:column}.photo-grid img{aspect-ratio:1.6}.collection,.journal,.guide{padding-block:45px}.guide h2{margin-bottom:0}.text-link{white-space:normal}.filters{row-gap:8px}.filters button{padding:8px 13px}.guide .questions{min-width:0}}
@media(max-width:360px){.navigation nav{display:none}.nav-action{margin-left:auto}.dialog-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
