/* Website: Figure / Image Frame, Text Link, Top Navigation, Footer. DS 1.2.4. */
@font-face{font-family:Geist;src:url('fonts/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('fonts/GeistMono-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
body{margin:0;background:var(--semantic-colors-bg-page);color:var(--semantic-colors-text-heading);font:var(--text-base)/var(--typography-line-heights-relaxed) var(--font-sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.page-shell{width:100%;max-width:calc(var(--containers-content) + var(--layout-gutter-desktop) * 2);min-height:100svh;margin-inline:auto;padding-inline:var(--layout-gutter-desktop);display:flex;flex-direction:column}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-6)}
.wordmark{font-size:var(--text-xl);font-weight:var(--typography-font-weights-semibold);letter-spacing:var(--typography-letter-spacing-tight)}
.site-label{color:var(--semantic-colors-text-body);font:var(--text-xs)/var(--typography-line-heights-normal) var(--font-mono)}
.header-utilities{display:flex;align-items:center;gap:var(--space-6)}
.language-switcher{flex-shrink:0}
.language-switcher a{font:var(--text-xs)/var(--typography-line-heights-normal) var(--font-mono);padding-block:var(--space-1)}
.language-switcher a[aria-current="page"]{border-bottom-color:currentColor;font-weight:var(--typography-font-weights-semibold)}
.hub{flex:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto auto auto;align-content:center;column-gap:var(--space-20);row-gap:var(--space-6);padding-block:var(--space-8)}
.hub:focus{outline:none}
.portrait{grid-column:1;grid-row:1 / 4;margin:0;min-height:0;align-self:stretch;position:relative;overflow:hidden;border-radius:var(--radii-media);background:var(--semantic-colors-bg-subtle)}
.portrait img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;border-radius:var(--radii-media)}
.identity{grid-column:2;margin:var(--space-6) 0 0}
.greeting{margin:0 0 var(--space-2);font-size:var(--text-2xl);color:var(--semantic-colors-text-body);letter-spacing:var(--typography-letter-spacing-tight)}
h1{margin:0;color:var(--semantic-colors-text-strong);font-size:var(--text-7xl);font-weight:var(--typography-font-weights-semibold);line-height:var(--typography-line-heights-tight);letter-spacing:var(--typography-letter-spacing-tighter)}
.heading-stop{color:var(--semantic-colors-text-muted)}
.introduction{grid-column:2}
.personal-note{max-width:var(--containers-prose);margin:0;font-size:var(--text-2xl);line-height:var(--typography-line-heights-snug);letter-spacing:var(--typography-letter-spacing-tight)}
.intro{margin:var(--space-4) 0 0;color:var(--semantic-colors-text-body);font-size:var(--text-base)}
.destinations{grid-column:2;display:block;margin-block:var(--space-4) var(--space-6)}
.destination-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);list-style:none;margin:0;padding:0}
.destination-list li{border-top:var(--borders-hairline) solid var(--semantic-colors-border-default)}
.destinations .destination{display:block;padding-top:var(--space-4);border:0;font-weight:var(--typography-font-weights-regular)}
.destination-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}
.destination-name{font:var(--typography-font-weights-medium) var(--text-lg)/var(--typography-line-heights-tight) var(--font-sans);letter-spacing:var(--typography-letter-spacing-tight)}
.direction{width:var(--sizing-icon-default);height:var(--sizing-icon-default);flex-shrink:0}
.destination-description{display:block;margin-top:var(--space-2);color:var(--semantic-colors-text-body);font-size:var(--text-sm);line-height:var(--typography-line-heights-normal)}
.destination-status{color:var(--semantic-colors-text-muted);font:var(--text-10)/var(--typography-line-heights-normal) var(--font-mono);white-space:nowrap}
.destination--pending .destination-name{color:var(--semantic-colors-text-body)}
a.destination:hover .destination-name{text-decoration:underline;text-underline-offset:var(--space-1)}
a.destination:hover .direction{color:var(--semantic-colors-link-hover)}
.site-footer{padding-block:var(--space-4)}
.site-footer > span,.site-footer > a{font-size:var(--text-xs)}
.site-footer > a{color:var(--semantic-colors-text-body)}
.skip-link{position:fixed;top:var(--space-4);left:var(--space-4);z-index:var(--z-index-skip-link);padding:var(--space-3) var(--space-4);background:var(--semantic-colors-bg-page);transform:translateY(calc(-100% - var(--space-8)))}
.skip-link:focus{transform:none}
/* Canonical desktop breakpoint: 980px. */
@media(max-width:979px){
.hub{column-gap:var(--space-10)}
h1{font-size:var(--text-5xl)}
.personal-note{font-size:var(--text-xl)}
.destination-list{gap:var(--space-4)}
}
/* Canonical tablet breakpoint: 720px. */
@media(max-width:719px){
.page-shell{padding-inline:var(--layout-gutter-mobile)}
.site-header{padding-block:var(--space-3)}
.wordmark{font-size:var(--text-base)}
.site-label{display:none}
.hub{grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--space-6);row-gap:var(--space-3);padding-block:var(--space-2) var(--space-3)}
.portrait{grid-row:1;aspect-ratio:4 / 5;align-self:center}
.portrait img{object-position:center 25%}
.identity{align-self:center;margin:0}
.greeting{font-size:var(--text-base);margin-bottom:var(--space-1)}
h1{font-size:var(--text-4xl)}
.introduction{grid-column:1 / -1}
.personal-note{font-size:var(--text-lg)}
.intro{margin-top:var(--space-2);font-size:var(--text-sm)}
.destinations{grid-column:1 / -1;margin:0}
.destination-list{display:block}
.destinations .destination{padding-block:var(--space-3)}
.destination-list li:last-child{border-bottom:var(--borders-hairline) solid var(--semantic-colors-border-default)}
.destination-top{flex-wrap:nowrap}
.destination-description{margin-top:var(--space-1);font-size:var(--text-xs)}
.destination-status{font-size:var(--text-xs)}
.site-footer{padding-block:var(--space-3)}
}
