:root{--ink:#173c50;--blue:#cddfe9;--deep:#0b354d;--paper:#f7fafb;--lime:#e6edaa;--muted:#526976;--line:#ccd8df}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Avenir Next',Avenir,system-ui,sans-serif}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:0;padding:13px 24px;background:var(--deep);color:white;text-decoration:none;display:inline-block;border-radius:5px;font-weight:600}button:hover,.button:hover{background:#255d77}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #537b02;outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:white;padding:8px;z-index:9}.preview{background:var(--deep);color:#fff;text-align:center;font-size:13px;padding:8px 16px}.preview a{color:var(--lime)}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:20px}.brand{font-family:Georgia,serif;font-size:27px;letter-spacing:-1px;text-decoration:none;display:flex;align-items:center;gap:9px}.brand svg{width:30px;height:30px}nav{display:flex;gap:27px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:600}.nav-toggle{display:none}.wrap{max-width:1200px;padding:0 35px;margin:auto}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.04em}h1{font-size:clamp(42px,5.7vw,74px);margin:20px 0 26px;max-width:800px}h2{font-size:36px;margin:0 0 22px}h3{font-size:25px;margin:12px 0}.hero{position:relative;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:38px;padding:55px 0 70px}.hero p{max-width:510px;color:var(--muted);font-size:18px}.hero-art{width:100%;aspect-ratio:1/1.08;border-radius:48% 48% 4px 4px;overflow:hidden;background:#bed8e1;position:relative}.hero-art svg{width:100%;height:100%}.art-note{position:absolute;bottom:17px;left:24px;font-size:11px;color:#fff;background:#173c50c9;padding:3px 8px;border-radius:3px}.searchbar{display:flex;background:white;border:1px solid var(--line);border-radius:7px;padding:7px;gap:8px;margin:30px 0 12px;max-width:620px}.searchbar input{min-width:0;flex:1;padding:9px 12px;border:0;background:transparent}.quiet{font-size:13px;color:var(--muted)}.popular{display:flex;flex-wrap:wrap;gap:12px;font-size:13px}section{padding:52px 0}.blue-section{background:var(--blue)}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category{background:white;padding:23px;border-radius:7px;text-decoration:none;border:1px solid var(--line)}.category .icon{font-size:27px}.category h3{font-size:23px}.category p{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:0}.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.dest-card{text-decoration:none;display:block}.landscape{height:215px;overflow:hidden;position:relative;border-radius:8px;background:#aac6d2}.landscape svg{width:100%;height:100%}.dest-card small{font-size:13px;color:var(--muted)}.dest-card h3{margin-bottom:7px}.journal{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding:55px;background:var(--deep);color:white;border-radius:10px;margin:50px 0}.journal p{color:#d5e5ec}.journal-list a{display:block;text-decoration:none;border-bottom:1px solid #527282;padding:18px 0;font-family:Georgia,serif;font-size:24px}.crumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:13px;padding:26px 0 0}.page-head{padding:30px 0}.page-head h1{margin-top:12px}.page-head p{max-width:760px;font-size:18px;color:var(--muted)}.notice{padding:20px 24px;background:#eaf0d3;border-radius:5px;margin:20px 0}.notice p{margin:4px 0}.filters{background:#fff;padding:20px;border:1px solid var(--line);border-radius:7px;display:flex;gap:14px;flex-wrap:wrap;align-items:end}.filters label{flex:1;min-width:150px;font-size:13px;font-weight:600}.filters input,.filters select{display:block;width:100%;padding:10px;border:1px solid #a4b7c1;border-radius:4px;margin-top:5px;background:white;color:var(--ink)}.results-info{display:flex;justify-content:space-between;margin:25px 0 15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.place-card{border:1px solid var(--line);border-radius:6px;padding:24px;background:#fff;display:flex;flex-direction:column;gap:8px}.place-card h3{font-size:25px;margin:4px 0}.place-card p{font-size:14px;color:var(--muted);margin:4px 0}.place-card a{text-decoration:none}.place-card .detail-link{margin-top:auto;font-size:14px;text-decoration:underline;padding-top:15px}.tag{font-size:12px;color:#355168;background:#e4edf2;padding:4px 9px;border-radius:3px;width:fit-content}.policy-line{font-size:12px;color:var(--muted);padding-top:8px;border-top:1px solid var(--line)}.empty{padding:45px;text-align:center;background:#fff;border:1px dashed #adc1cc;border-radius:7px}.pills{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.pills a{padding:7px 13px;background:#e5edf2;border-radius:30px;text-decoration:none;font-size:13px}.country-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.country-list a{padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-size:14px}.detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:start;margin-bottom:50px}.detail-layout aside{background:white;border:1px solid var(--line);border-radius:7px;padding:28px}dl{display:grid;grid-template-columns:1fr 1fr;gap:0}dt,dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0;font-size:14px}dt{color:var(--muted)}.prose{max-width:760px;font-size:18px;margin-bottom:55px}.prose p{margin:20px 0}.prose h2{margin-top:36px;font-size:31px}.formbox{max-width:760px;background:#fff;padding:30px;border:1px solid var(--line);border-radius:7px;margin-bottom:55px}.formbox label{display:block;font-weight:600;font-size:14px;margin-bottom:18px}.formbox input,.formbox select,.formbox textarea{display:block;width:100%;padding:12px;border:1px solid #95aeba;border-radius:4px;margin-top:5px;color:var(--ink);background:#fff}.formbox textarea{min-height:150px}.form-status{padding:16px 0;font-size:14px}.form-status:empty{display:none}footer{background:#e4edf2;padding:45px 0;margin-top:55px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}footer a{display:block;font-size:14px;margin:8px 0}.footer-bottom{margin-top:35px;border-top:1px solid #b4c9d4;padding-top:20px;font-size:12px;color:var(--muted)}.loading{padding:100px 30px;text-align:center}.error{padding:40px;background:#f8e9e7}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guide-card{background:#e5edf2;padding:30px;border-radius:7px;text-decoration:none}.guide-card p{font-size:14px}.small-button{padding:8px 13px;font-size:13px}button.secondary{background:#e4edf2;color:var(--ink)}@media(max-width:850px){header{padding:20px 5%;flex-wrap:wrap}.nav-toggle{display:block;padding:8px 12px;font-size:14px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:10px 0}.hero{gap:25px;padding-top:25px}.hero-art{aspect-ratio:1/1.25}.cards,.category-grid,.dest-grid{grid-template-columns:repeat(2,1fr)}.journal{gap:30px;padding:30px}.country-list{grid-template-columns:repeat(3,1fr)}.detail-layout{gap:25px}}@media(max-width:600px){.wrap{padding:0 22px}.preview{font-size:11px}.brand{font-size:25px}.hero{grid-template-columns:1fr;padding-bottom:35px}.hero h1{font-size:51px}.hero-art{aspect-ratio:1.8;margin-top:5px;border-radius:100px 100px 5px 5px}.hero p{font-size:16px}.searchbar button{padding:11px 15px}.section-top{display:block}.category-grid,.cards,.guide-grid{grid-template-columns:1fr}.category-grid{gap:10px}.category{padding:19px}.dest-grid{gap:15px}.landscape{height:150px}.dest-card h3{font-size:23px}.journal{grid-template-columns:1fr;margin:25px 0;padding:25px}.journal-list a{font-size:21px}section{padding:35px 0}.country-list{grid-template-columns:repeat(2,1fr)}.detail-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.filters label{min-width:100%;}.results-info{font-size:13px}.formbox{padding:20px}h2{font-size:31px}.page-head h1{font-size:43px}.prose{font-size:16px}.notice{padding:17px}.empty{padding:28px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.crumbs{display:flex!important}.hero-art svg{display:block}.detail-layout aside a{overflow-wrap:anywhere}

/* Geographic browse controls keep experience last in reading and tab order. */
.searchbar{display:grid;grid-template-columns:1fr;max-width:100%;padding:14px;gap:12px}
.searchbar label{min-width:0;font-size:13px;font-weight:600}
.searchbar select{display:block;width:100%;min-width:0;margin-top:5px;padding:10px;border:1px solid #a4b7c1;border-radius:4px;background:white;color:var(--ink)}
.searchbar button{justify-self:start}
.browse-help{color:var(--muted);max-width:760px;font-size:14px}
.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.filters label{min-width:0}
.filters #clear-filters{grid-column:1/-1;justify-self:start;padding:8px 16px}
@media(min-width:1100px){.searchbar{grid-template-columns:.85fr 1.15fr 1.2fr}.searchbar button{grid-column:1/-1}}
@media(max-width:800px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.filters{grid-template-columns:1fr}.results-info{gap:12px;flex-wrap:wrap}}

/* Self-hosted type system (no third-party font requests). */
@font-face{font-family:'Bricolage Grotesque Variable';font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/fonts/bricolage-grotesque-latin-wdth-normal.woff2) format('woff2-variations')}
@font-face{font-family:'Instrument Sans Variable';font-style:normal;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-wght-normal.woff2) format('woff2-variations')}
@font-face{font-family:'Instrument Sans Variable';font-style:italic;font-display:swap;font-weight:400 700;src:url(/fonts/instrument-sans-latin-wght-italic.woff2) format('woff2-variations')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2')}
body{font-family:'Instrument Sans Variable','Instrument Sans','Avenir Next',Avenir,system-ui,sans-serif}
h1,h2,h3,.brand,.journal-list a{font-family:'Bricolage Grotesque Variable','Bricolage Grotesque',Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:-.03em}
