/* V12: a little play in the headline; more context around the real screens. */
.creative-word{display:inline-block;white-space:nowrap}
.creative-letter{display:inline-block;transform-origin:50% 80%;pointer-events:none}
.creative-heading{position:relative;isolation:isolate}
.creative-trigger{display:block;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
.creative-trigger:focus-visible{outline:2px solid #a28e6d;outline-offset:8px;border-radius:3px}
.tlc-brand h2 .tlc-brand-accent{color:#c3b399}

/* Trim the faint baked-in rim without changing the portrait or its flight path. */
.profile-photo-frame{border:3px solid #a99a7bbf;border-radius:50%;box-shadow:0 24px 80px #0004}
.profile-photo-crop{position:absolute;inset:0;display:block;overflow:hidden;border-radius:50%}
#profile-portrait{object-fit:cover;transform:scale(1.04);box-shadow:none}
/* Safari can restore :focus-visible after a touch-dismissed dialog. */
.profile-photo-trigger.portrait-pointer-focus{outline:none;box-shadow:none}

/* A small, user-triggered phrase reel. Every phrase shares the same space. */
.intro .intro-intent{max-width:none}
.phrase-switch{display:flex;align-items:center;width:100%;padding:0;border:0;background:none;text-align:left;font-weight:400;cursor:pointer;border-radius:3px}
.phrase-window{display:grid;min-width:0;overflow:hidden;text-wrap:pretty}
.phrase-line{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none}
.phrase-line.is-current{visibility:visible;opacity:1}
.phrase-switch:focus-visible{outline-offset:7px}
@media(min-width:801px){.intro .intro-intent{font-size:clamp(20px,2.3vw,31px)}.phrase-line{white-space:nowrap}}
/* Include the Selected work label's inset when balancing the desktop hero. */
@media(min-width:801px){
 .intro{padding-block:56px 32px}
 .intro>div:first-child{align-self:center}
}
@media(max-width:800px){.phrase-switch{width:100%;max-width:580px}.phrase-window{flex:1}}
@media(max-width:600px){.intro .phrase-switch{max-width:360px}}

/* The capture already contains the status bar and Dynamic Island. */
.app-stage{background:transparent;border:0;padding:12px 7px 20px;overflow:visible}
.app-stage>.phone-shell{width:100%;max-width:330px;height:auto}
.app-stage>.phone-shell,.order-phone.phone-shell,.assistant-shot.phone-shell{padding:6px;background:#262728;border:1px solid #787b7d;border-radius:39px;box-shadow:0 0 0 1px #242526,0 0 0 3px #d6d7d8,0 16px 28px -15px #17191c40;overflow:hidden}
.app-stage>.phone-shell img,.order-phone.phone-shell img,.assistant-shot.phone-shell img{width:100%;height:auto;border-radius:31px;transform:none}
.assistant-shot.phone-shell{padding:4px;border-radius:27px}.assistant-shot.phone-shell img{border-radius:21px}
.youin .yi-mobile .phone-shell{padding:5px;background:#262728;border:1px solid #787b7d;border-radius:29px;box-shadow:0 0 0 1px #242526,0 0 0 3px #d6d7d8,0 16px 28px -15px #17191c40;overflow:hidden}
.youin .yi-mobile .phone-shell img{border-radius:23px}
.app-stage .zoom-cue{right:17px;bottom:17px}
@media(hover:hover) and (pointer:fine){.app-stage:hover>.phone-shell{transform:translateY(-4px);box-shadow:0 0 0 1px #242526,0 0 0 3px #c8cbce,0 20px 32px -15px #17191c50}}

html.image-viewer-open body{padding-right:var(--viewer-scrollbar-width,0px)}
#viewer{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;background:transparent;color:var(--ink);border:0;overflow:hidden;box-shadow:none}
#viewer[open]{display:grid;place-items:center}
#viewer::backdrop{background:rgb(15 17 18 / .66);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:viewer-scrim-in 400ms var(--ease) both}
#viewer.is-closing::backdrop{animation:viewer-scrim-out 300ms ease both}
.viewer-card{position:relative;width:min(1060px,100%);height:min(820px,calc(100dvh - 48px));min-height:0;border-radius:22px;background:#fff;box-shadow:0 30px 100px #0003;isolation:isolate}
.viewer-card:before{content:'';position:absolute;inset:0;border:1px solid #ffffff88;border-radius:inherit;pointer-events:none}
.viewer-content{height:100%;overflow:auto;overscroll-behavior:contain;border-radius:inherit;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);scrollbar-width:thin}
.viewer-visual{position:relative;min-width:0;margin:0;min-height:0;background:#f4f5f6;border-radius:22px 0 0 22px}
#viewer-stage{position:absolute;inset:20px 10px 64px;width:auto;height:auto;border:0;overflow:hidden;background:transparent;border-radius:0;touch-action:pan-y;overscroll-behavior:contain;cursor:zoom-in}
#viewer-media{position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform;border-radius:4px;background:#fff;box-shadow:0 8px 30px #14191d1a;user-select:none;touch-action:none}
#viewer-media.is-phone{padding:6px;border:1px solid #737779;border-radius:38px;background:#262728;box-shadow:0 0 0 1px #242526,0 0 0 3px #d6d7d8,0 14px 30px -12px #17191c50;overflow:hidden}
#viewer #viewer-image{position:static;display:block;width:100%;height:100%;max-width:100%!important;max-height:100%!important;object-fit:contain;border:0;border-radius:3px;transform:none!important;box-shadow:none;will-change:auto;user-select:none;-webkit-user-drag:none}
#viewer #viewer-media.is-phone img{border-radius:30px}
.viewer-flight{position:fixed;z-index:10;transform-origin:top left;pointer-events:none;background:white;border-radius:4px;box-shadow:0 8px 30px #14191d1a;will-change:transform;overflow:hidden}
.viewer-flight img{width:100%;height:100%;max-width:none;object-fit:contain;border-radius:3px}
.viewer-flight.is-phone{padding:6px;border:1px solid #737779;border-radius:38px;background:#262728;box-shadow:0 0 0 1px #242526,0 0 0 3px #d6d7d8,0 14px 30px -12px #17191c50}
.viewer-flight.is-phone img{border-radius:30px}
#viewer-stage.is-zoomed{cursor:grab}#viewer-stage.is-dragging{cursor:grabbing}
#viewer-error{top:auto;bottom:4px;left:16px;right:16px;max-width:none;transform:none;font-size:12px;line-height:1.5;color:#6d5c47;background:#ffffffe8;padding:8px;border-radius:6px;z-index:2}
#close-viewer{position:absolute;top:16px;right:16px;z-index:5;display:grid;place-items:center;width:40px;height:40px;padding:0;background:#ffffffeb;border:1px solid #d7dade;color:#303438;box-shadow:0 2px 8px #00000006;backdrop-filter:blur(8px)}
#close-viewer svg{width:18px;height:18px;pointer-events:none}
#close-viewer:hover{background:#f0f1f2}
.viewer-tools{position:absolute;inset:auto 24px 18px;display:flex;align-items:center;justify-content:center;gap:18px;line-height:1.4}
.viewer-hint{font-size:12px;color:#64696d}
#viewer .viewer-zoom{position:static;display:flex;flex:none;align-items:center;background:#fff;border:1px solid #d0d4d6;border-radius:22px;overflow:hidden;backdrop-filter:none}
#viewer .viewer-zoom button{width:38px;height:38px;padding:0;color:#303438;font:400 21px/1 Manrope,sans-serif}
#viewer .viewer-zoom button+button{border-left:1px solid #e0e2e4}
#viewer .viewer-zoom #zoom-reset{width:54px;font-size:11px}
#viewer .viewer-zoom button:disabled{color:#7c8084;opacity:.4}
#viewer .viewer-zoom button:hover:not(:disabled){background:#f0f2f3}
#viewer :focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}
.viewer-info{min-width:0;align-self:center;padding:44px 44px 24px}
.viewer-app-heading{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.viewer-app-heading img{width:58px;height:58px;flex:none;border-radius:14px;box-shadow:0 2px 8px #0002}
.viewer-info .eyebrow{font-size:11px;letter-spacing:.12em;color:#76694f;margin-bottom:6px}
.viewer-info h2{font-size:36px;letter-spacing:-.04em}
.viewer-lede{font-size:19px;line-height:1.6;color:#303438;max-width:390px}
.viewer-features{list-style:none;margin:25px 0;padding:0;display:grid;gap:17px}
.viewer-features li{padding-left:16px;border-left:2px solid #c1b59d}
.viewer-features strong{font-size:15px;font-weight:700;display:block;line-height:1.5}
.viewer-features p{font-size:14px;line-height:1.65;margin-top:3px;color:#62676c}
.viewer-connection{padding-top:19px;border-top:1px solid #e0e2e4}
.viewer-connection ol{list-style:none;display:flex;align-items:center;gap:9px;margin:9px 0 0;padding:0;font-size:12px;color:#6a7075}
.viewer-connection li+li:before{content:'→';display:inline-block;margin-right:9px;color:#a59a85}
.viewer-connection [aria-current=true]{font-weight:750;color:#333637}
.viewer-connection p{font-size:13px;line-height:1.7;margin-top:11px}
.viewer-app-links{display:flex;flex-wrap:wrap;gap:8px 23px;margin-top:19px;font-size:13px;font-weight:650}
.viewer-app-links a{display:inline-flex;min-height:40px;align-items:center;border-bottom:1px solid #b4b6b6}
.viewer-app-links a:hover{border-color:var(--gold-dark)}
.viewer-provenance{font-size:11px;line-height:1.6;color:#7a7e81;margin-top:19px}
#viewer.is-youin .viewer-info .eyebrow{color:#65696e}
#viewer.is-youin .viewer-app-heading img{box-shadow:none;border-radius:0;width:46px;height:46px}
#viewer.is-youin .viewer-info h2{font-family:YouIn,Manrope,sans-serif;letter-spacing:-.025em}
#viewer.is-youin .viewer-features li{border-color:#c7cace}
#viewer.is-youin .viewer-connection li+li:before{color:#92989e}
#viewer.is-youin :focus-visible{outline-color:#555e66}
#viewer.has-desktop-capture .viewer-card{width:min(1320px,100%)}
#viewer.has-desktop-capture .viewer-content{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr)}
#viewer.has-desktop-capture .viewer-info{padding-inline:32px}
#viewer.has-desktop-capture .viewer-info h2{font-size:32px}
@media(min-width:701px){.viewer-content{grid-template-rows:minmax(0,1fr)}.viewer-info{max-height:100%;min-height:0;overflow:auto;scrollbar-width:thin}}
#viewer-about{display:none;border:0;padding:0;background:none;color:#555d63;font-size:12px;min-height:40px;text-underline-offset:4px}
#viewer:not(.has-app-info) .viewer-card{width:min(1180px,100%)}
#viewer:not(.has-app-info) .viewer-content{display:block}
#viewer:not(.has-app-info) .viewer-visual{height:100%;border-radius:22px}
#viewer:not(.has-app-info) #viewer-stage{inset:52px 20px 66px}
#viewer.is-opening .viewer-info{animation:viewer-copy-in 340ms 120ms both}
#viewer.is-opening .viewer-card{animation:viewer-card-in 180ms both}
#viewer.is-closing .viewer-info,#viewer.is-closing .viewer-tools,#viewer.is-closing #close-viewer{opacity:0;transition:opacity 100ms}
#viewer.is-closing .viewer-card{background:transparent;box-shadow:none}
#viewer.is-closing .viewer-card:before{opacity:0}
#viewer.is-closing .viewer-visual{background:transparent}
@keyframes viewer-scrim-in{from{background:rgb(15 17 18 / 0);backdrop-filter:blur(0)}to{background:rgb(15 17 18 / .66);backdrop-filter:blur(12px)}}
@keyframes viewer-scrim-out{from{background:rgb(15 17 18 / .66);backdrop-filter:blur(12px)}to{background:rgb(15 17 18 / 0);backdrop-filter:blur(0)}}
@keyframes viewer-copy-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes viewer-card-in{from{background:transparent;box-shadow:none}to{background:#fff;box-shadow:0 30px 100px #0003}}
@media(max-width:1000px) and (min-width:701px){.viewer-info{padding:58px 28px 28px}.viewer-info h2{font-size:31px}.viewer-lede{font-size:17px}.viewer-features{gap:13px;margin-block:21px}.viewer-features p{font-size:13px}}
@media(max-width:1000px){
 #viewer.has-desktop-capture .viewer-content{display:block}
 #viewer.has-desktop-capture .viewer-visual{height:clamp(280px,58dvh,580px);border-radius:18px 18px 0 0}
 #viewer.has-desktop-capture .viewer-info{max-height:none;overflow:visible;padding:28px 25px 30px;border-top:1px solid #e1e3e5}
 #viewer.has-desktop-capture #viewer-about{display:block}
 #viewer.has-desktop-capture .viewer-hint{display:none}
}
@media(max-width:700px){
 #viewer{padding:12px}
 .viewer-card{height:calc(100dvh - 24px);max-width:480px;border-radius:18px}
 .viewer-content{display:block}
 .viewer-visual{height:clamp(400px,72dvh,650px);border-radius:18px 18px 0 0}
 #viewer-stage{inset:26px 16px 62px}
 #viewer-media.is-phone{border-radius:32px;padding:5px}
 #viewer #viewer-media.is-phone img{border-radius:25px}
 .viewer-flight.is-phone{border-radius:32px;padding:5px}.viewer-flight.is-phone img{border-radius:25px}
 .viewer-tools{bottom:14px}
 #viewer.has-app-info #viewer-about{display:block}#viewer.has-app-info .viewer-hint{display:none}
 #close-viewer{top:12px;right:12px;width:40px;height:40px}
 .viewer-info{padding:28px 25px 30px;border-top:1px solid #e1e3e5}
 .viewer-app-heading{margin-bottom:20px}.viewer-info h2{font-size:32px}
 .viewer-lede{font-size:18px}.viewer-features p{font-size:14px}
 .viewer-provenance{font-size:11px}
 #viewer:not(.has-app-info) .viewer-card{max-width:none}
 .app-stage{padding:8px 5px 20px}
 .app-stage>.phone-shell{max-width:340px}
}
@media(prefers-reduced-motion:reduce){
 .creative-letter{transform:none!important}
 #viewer::backdrop,#viewer.is-closing::backdrop,#viewer.is-opening .viewer-info,#viewer.is-opening .viewer-card{animation:none}
 .app-stage:hover>.phone-shell{transform:none}
}

/* Five chapters, one shared reading surface. The native disclosures remain the fallback. */
.project-disclosure:has(.project-section-deck){overflow:clip}
.project-disclosure.is-animating{overflow:hidden}
.project-section-deck{--chapter-accent:#b9a789;position:relative;isolation:isolate;overflow-anchor:none}
.chapter-browse-hint{display:none}
.project-section-rail{position:sticky;top:12px;z-index:4;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:6px;border:1px solid #dce0e2;border-radius:12px;background:#f2f3f4f5;box-shadow:0 6px 18px -12px #1b232836;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.project-section-button{position:relative;display:grid;grid-template-columns:1fr 18px;grid-template-rows:auto 1fr auto;align-items:start;min-width:0;padding:14px 15px 15px;border:1px solid transparent;border-radius:7px;background:transparent;text-align:left;color:#3e4448;transition:background 200ms,color 200ms,border-color 200ms,box-shadow 200ms}
.chapter-number{font-size:11px;line-height:18px;letter-spacing:.08em;color:#817765;font-weight:650;font-variant-numeric:tabular-nums}
.chapter-label{grid-column:1/-1;display:block;font-size:16px;font-weight:650;letter-spacing:-.02em;line-height:1.4;margin-top:9px}
.chapter-hint{grid-column:1/-1;display:block;font-size:12px;font-weight:400;line-height:1.55;margin-top:5px;color:#6a7176}
.chapter-chevron{grid-column:2;grid-row:1;width:18px;height:18px;color:#899095;transition:transform 280ms var(--ease),color 180ms}
.project-section-button[aria-expanded=true]{background:#303335;border-color:#303335;color:#fff;box-shadow:0 3px 9px #14191d14}
.project-section-button[aria-expanded=true] .chapter-number{color:#d2c1a3}
.project-section-button[aria-expanded=true] .chapter-hint{color:#d0d4d5}
.project-section-button[aria-expanded=true] .chapter-chevron{transform:rotate(180deg);color:#e7ddcd}
.project-section-button:focus-visible{outline:2px solid #80715a;outline-offset:-3px}
.youin .project-section-button[aria-expanded=true]{background:#191c1f;border-color:#191c1f}
.youin .chapter-number{color:#737b81}
.youin .project-section-button[aria-expanded=true] .chapter-number,.youin .project-section-button[aria-expanded=true] .chapter-chevron{color:#d3d9dd}
.youin .project-section-button:focus-visible{outline-color:#929ba3}
.project-section-stage{position:relative;overflow:visible}
.project-section-stage.is-switching{overflow:hidden;will-change:height}
.project-section-panels{display:flow-root}
.project-section-panels>.section-disclosure{border:0;scroll-margin-top:var(--section-nav-clearance,150px)}
.project-section-panels>.section-disclosure>.disclosure-body>.disclosure-inner{padding-bottom:30px}
.project-panel-heading{padding:30px 0 25px}
.project-panel-heading h3{font-size:27px;line-height:1.25;letter-spacing:-.025em;font-weight:600}
.project-panel-heading .section-preview{font-size:14px;line-height:1.65;margin-top:8px;max-width:650px}
.youin .project-panel-heading h3{font-family:YouIn,Manrope,sans-serif}
.project-section-deck [id],.project-section-deck [data-tabs]{scroll-margin-top:var(--section-nav-clearance,150px)}
.has-section-deck>.yi-chapters{display:none}
.has-section-deck>.project-recap{margin-top:16px}
@media(hover:hover){.project-section-button:hover:not([aria-expanded=true]){background:#fff;border-color:#dce0e2;box-shadow:0 2px 6px #1b232807}}
@media(max-width:1100px) and (min-width:901px){.project-section-button{padding:12px 10px}.chapter-label{font-size:15px}.chapter-hint{font-size:11px}}
@media(max-width:900px){
 .chapter-browse-hint{display:block;font-size:12px;line-height:1.5;color:#6a7176;margin:0 0 9px}
 .project-section-rail{display:flex;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#b7bec4 transparent;scroll-padding-inline:8px;padding:5px;top:8px;border-radius:10px}
 .project-section-button{flex:none;display:flex;align-items:center;gap:9px;min-height:52px;padding:11px 13px;white-space:nowrap;border-radius:6px}
 .chapter-label{margin:0;font-size:14px;line-height:1.5}
 .chapter-number{font-size:10px}
 .chapter-hint{display:none}
 .chapter-chevron{width:15px;height:15px;margin-left:4px}
 .project-panel-heading{padding-top:25px;padding-bottom:23px}
}
@media(max-width:600px){
 .project-section-rail{margin-inline:-5px}
 .project-section-button{min-height:48px;padding:10px 12px;gap:8px}
 .chapter-label{font-size:14px}
 .project-panel-heading h3{font-size:24px}
 .project-panel-heading .section-preview{font-size:13px;line-height:1.65}
 .project-section-panels>.section-disclosure>.disclosure-body>.disclosure-inner{padding-bottom:25px}
}
@media(prefers-reduced-motion:reduce){.project-section-button,.chapter-chevron{transition:none}}

/* Phone-sized covers and a vertical chapter list, with the story revealed inside. */
.project-mobile-overview,.project-mobile-meta{display:none}
@media(max-width:900px){
 .project-summary .tlc-banner,.youin .youin-header{padding:20px 22px 0}
 .project-summary .project-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;line-height:1.5;letter-spacing:.06em}
 .project-summary .project-meta>span+span{margin:0}
 .project-summary .project-desktop-meta{display:none}
 .project-mobile-meta{display:block}
 .project-summary .tlc-brand-row{display:block;padding:25px 0 24px}
 .project-summary .tlc-brand{gap:clamp(10px,3vw,14px);justify-content:center}
 .project-summary .tlc-brand>img{width:clamp(42px,13vw,58px);height:auto}
 .project-summary .tlc-brand h2 span:first-child{font-size:clamp(22px,6.5vw,32px);letter-spacing:.1em}
 .project-summary .tlc-brand h2 span:last-child{font-size:clamp(15.4px,4.55vw,22.4px);letter-spacing:.18em;margin-top:5px}
 .project-summary .tlc-promise,.project-summary .project-scope,.project-summary .youin-intro h3,.project-summary .youin-intro>div+div{display:none}
 .youin .youin-intro{display:block;padding:21px 0 23px}
 .project-summary .youin-brand{font-size:clamp(44px,13.34vw,56px);font-weight:900;line-height:.95;letter-spacing:.0034em;gap:.16em;align-items:baseline;justify-content:center}
 .project-summary .youin-brand img{width:1em;height:1em;flex:none}
 .project-summary-footer{padding:11px 0 13px;gap:0}
 .project-summary .project-action{width:100%;justify-content:space-between;font-size:13px;min-height:36px}
 .project-summary .disclosure-chevron{width:30px;height:30px}
 .project-content{padding:24px 20px 0}
 .project-mobile-overview{display:block;margin-bottom:21px}
 .project-mobile-overview h3{font-size:26px;font-weight:550;line-height:1.22;letter-spacing:-.03em;color:var(--ink)}
 .project-mobile-overview p{font-size:15px;line-height:1.75;color:var(--muted);margin-top:12px;max-width:540px}
 .youin .project-mobile-overview h3{font-family:YouIn,Manrope,sans-serif;font-weight:650}
 .project-content>.contribution,.youin .project-content>.youin-role{display:block;padding:0 0 24px;gap:0}
 .project-content>.contribution>span,.youin .project-content>.youin-role>span{font-size:10px;letter-spacing:.1em}
 .project-content>.contribution p,.youin .project-content>.youin-role p{font-size:12px;line-height:1.8;margin-top:6px;max-width:560px}
 .chapter-browse-hint{font-size:10px;font-weight:650;letter-spacing:.12em;color:#747b80;margin:0 0 10px}
 .project-section-rail{display:none}
 .project-section-panels>.section-disclosure{border-top:1px solid #dce0e3;overflow:visible;scroll-margin-top:12px}
 .project-section-panels>.section-disclosure:last-child{border-bottom:1px solid #dce0e3}
 .project-section-panels>.section-disclosure.is-animating{overflow:clip}
 .mobile-chapter-summary{position:relative;display:grid;grid-template-columns:25px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:18px 2px;min-height:83px;background:#fff;transition:background 200ms;z-index:3}
 .section-disclosure[open]>.mobile-chapter-summary{position:sticky;top:0;background:#f3f4f5;box-shadow:0 1px 0 #dce0e3;border-radius:8px 8px 0 0;margin-inline:-9px;padding-inline:11px}
 .mobile-chapter-number{width:25px;height:25px;display:grid;place-items:center;border:1px solid #d6d8d9;border-radius:50%;font-size:10px;color:#81745d;font-variant-numeric:tabular-nums}
 .section-disclosure[open] .mobile-chapter-number{background:#343739;border-color:#343739;color:#e0d0b3}
 .youin .mobile-chapter-number{color:#697279}
 .youin .section-disclosure[open] .mobile-chapter-number{background:#1d2023;color:#fff;border-color:#1d2023}
 .mobile-chapter-copy{min-width:0}
 .mobile-chapter-label{display:block;font-size:17px;font-weight:650;line-height:1.4;letter-spacing:-.02em;color:#303438}
 .mobile-chapter-hint{display:block;font-size:12px;line-height:1.5;color:#6c747b;margin-top:4px}
 .mobile-chapter-toggle{display:grid;place-items:center;width:28px;height:28px;color:#798188}
 .mobile-chapter-toggle svg{width:18px;height:18px}
 .toggle-vertical{transform-origin:center;transition:transform 220ms,opacity 180ms}
 .section-disclosure[open] .toggle-vertical{transform:rotate(90deg);opacity:0}
 .mobile-chapter-summary:focus-visible{outline-offset:-2px;border-radius:6px}
 .project-panel-heading{display:none}
 .project-section-panels>.section-disclosure>.disclosure-body>.disclosure-inner{padding:23px 0 0}
 .has-section-deck>.project-recap{border-top:0;margin-top:8px;padding-bottom:15px}
 .has-section-deck>.youin-bottom{border-top:0}
}
@media(max-width:600px){
 .intro{padding-block:30px 30px;gap:24px;text-align:left}
 .intro>div:first-child{min-width:0}
 .intro>div:first-child::after{content:'';display:block;width:48px;height:2px;margin:20px auto 0;background:#b5a383;border-radius:1px}
 .intro h1{--creative-size:clamp(56px,16.4vw,70px);font-size:calc(var(--creative-size)*.80);font-weight:500;line-height:1.08;max-width:none;margin:0;text-align:center;letter-spacing:-.05em}
 .intro h1 .creative-word:first-child{display:block;font-size:var(--creative-size);font-weight:600;letter-spacing:-.035em;line-height:1.02;margin-bottom:4px}
 .intro .phrase-switch{display:grid;grid-template-columns:minmax(0,1fr);font-size:clamp(16px,5.05vw,24px);line-height:1.4;max-width:none;width:100%;min-height:44px;margin:16px 0 0;padding:0;border:0;align-content:center;text-align:center;border-radius:0;color:#454c51}
 .intro .phrase-window{text-wrap:initial}
 .intro .phrase-line{white-space:nowrap}
 .intro-copy{display:block;margin:0;max-width:400px}
 .intro-copy>p{font-size:15px;line-height:1.8;text-align:left}
 .intro-copy strong{white-space:nowrap}
 .intro-copy .inline-link{margin:14px 0 0;min-height:44px;font-size:14px}
 .work-heading{gap:18px;margin-top:0;padding-bottom:20px;align-items:center}
 .work-heading .eyebrow{padding-top:0;margin:0}
 .work-heading>div{display:none}
 .work-heading:after{content:'';height:1px;background:#d6dbde;flex:1}
 .project-summary .tlc-banner,.youin .youin-header{padding-inline:20px}
 .project-content{padding-inline:18px}
}
@media(max-width:360px){
 .project-summary .tlc-banner,.youin .youin-header{padding-inline:16px}
 .project-summary .project-meta{font-size:9px;letter-spacing:.03em}
 .project-content{padding-inline:15px}
 .mobile-chapter-summary{grid-template-columns:23px minmax(0,1fr) 22px;gap:9px}
 .mobile-chapter-label{font-size:16px}
 .mobile-chapter-hint{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.mobile-chapter-summary,.toggle-vertical{transition:none}}

/* Mobile reading pass: the product comes first, with quieter secondary controls. */
.tlc-app-switch img{display:block;width:32px;height:32px;border-radius:7px;object-fit:cover;margin:0 auto 8px}
.email-switch[hidden],.email-example[hidden]{display:none}
.email-switch{display:flex;gap:6px;margin:0 0 20px}
.email-switch button{flex:1;min-height:46px;padding:10px 8px;border:1px solid #cbd1d6;border-radius:7px;background:#fff;color:#51585f;font:inherit;font-size:14px;cursor:pointer}
.email-switch button[aria-selected=true]{background:#303233;border-color:#303233;color:#fff}
.email-switch button:focus-visible{outline:2px solid #867356;outline-offset:3px}
@media(max-width:900px){
 .project-summary .project-meta{font-size:11px;letter-spacing:.04em}
 .project-summary .project-action{font-size:14px}
 .project-mobile-overview{margin-bottom:17px}
 .project-mobile-overview h3{display:none}
 .project-mobile-overview p{margin-top:0;font-size:16px;line-height:1.6}
 .project-content>.contribution,.youin .project-content>.youin-role{padding-bottom:20px}
 .project-content>.contribution>span,.youin .project-content>.youin-role>span{font-size:11px}
 .project-content>.contribution p,.youin .project-content>.youin-role p{font-size:14px;line-height:1.6;margin-top:5px}
 .chapter-browse-hint{display:none}
 .mobile-chapter-summary{min-height:72px;padding-block:14px}
 .section-disclosure[open]>.mobile-chapter-summary{min-height:56px;padding-block:13px;border-radius:6px 6px 0 0}
 .section-disclosure[open]>.mobile-chapter-summary .mobile-chapter-hint{display:none}
 .mobile-chapter-hint{font-size:13px;margin-top:2px}
 .project-section-panels>.section-disclosure>.disclosure-body>.disclosure-inner{padding-top:18px}
}
@media(max-width:800px){
 .tlc-app-switch{margin-bottom:15px;gap:6px}
 .tlc-app-switch button{font-size:14px;line-height:1.4;padding:12px 5px;min-height:78px}
 .app-card .app-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .app-card>p{margin-top:0;font-size:16px;line-height:1.6;min-height:0}
 .app-stage{margin-top:12px}
 .youin .yi-device-switch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 14px;width:100%;max-width:none;margin:12px 0 0;padding:0;border:0;border-radius:0;background:transparent}
 .youin .yi-device-switch[hidden]{display:none}
 .youin .yi-device-switch button,.youin .yi-device-switch a{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:0;padding:4px 0;border:0;border-radius:0;background:none;color:#50575c;font-family:inherit;font-size:13px;line-height:1.5;text-align:left;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#c6cace}
 .youin .yi-device-switch:not(.yi-feature-switch) button:hover{background:none!important;color:#15181b}
 .yi-story-intro{margin-bottom:18px}
 .yi-story-intro>p{font-size:16px;line-height:1.6}
 .yi-feature-gallery>.yi-tabs{padding-bottom:0;margin-bottom:18px;border:0;gap:6px}
 .yi-tabs button{font-size:13px;min-height:46px;line-height:1.4}
 .yi-device-pair figcaption{font-size:12px;line-height:1.5}
 .email-pair{grid-template-columns:1fr}
 .email-window{height:auto;overflow:visible;overscroll-behavior:auto}
 .email-window img{display:block}
 .email-example h4{font-size:22px}
 .email-example .eyebrow{font-size:11px}
 .email-read-hint,.email-provenance{font-size:12px;line-height:1.6}
 .email-build-note summary{font-size:14px}
 .capture-context,.capture-note,.order-story-note{font-size:12px;line-height:1.6}
 .capture-context>span+span{display:none}
 #tlc-apps .capture-context{border:0;margin:0;padding:4px 0 26px}
 .system-explorer{border:0}
 .system-menu{padding:6px;gap:4px;border:1px solid #dce0e3;border-radius:8px}
 .system-tab{min-height:46px;padding:9px 7px}
 .system-tab strong,.youin-build .system-tab strong{font-size:13px;line-height:1.4}
 .system-panels{padding:23px 0 0}
 .panel-copy>.eyebrow{font-size:11px}
 .panel-copy>p{font-size:16px;line-height:1.65}
 .node>span,.node small{font-size:13px}
 .build-note summary{font-size:13px}
 .build-note p{font-size:14px;line-height:1.7}
 .diagram-caption{font-size:12px;line-height:1.6}
 .stack-line>p{font-size:12px;line-height:1.7}
}
@media(min-width:360px) and (max-width:800px){
 #inside-tlc .system-menu{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
 #viewer.has-app-info:not(.has-desktop-capture) #viewer-stage{inset:62px 8px 18px}
 .viewer-visual>#viewer-about{position:absolute;top:12px;left:18px;z-index:3;font-size:13px;min-height:44px}
 .viewer-info{padding:25px 22px 28px}
 #viewer .viewer-zoom button{width:44px;height:44px}
 #viewer .viewer-zoom #zoom-reset{width:60px;font-size:12px}
 .viewer-tools{bottom:12px}
}
@media(max-width:600px){
 .order-screen-switch{max-width:none;padding:0;gap:6px;border:0;border-radius:0;background:transparent;margin-bottom:17px}
 .order-screen-switch button{min-height:46px;padding:10px 8px;border:1px solid #cbd1d6;border-radius:7px;background:#fff;color:#51585f;font-size:14px}
 .order-screen-switch button[aria-pressed=true]{background:#303233;color:#fff;border-color:#303233;box-shadow:none}
 .order-story-note{margin-bottom:15px}
 .about .about-intro>p{font-size:17px;line-height:1.65}
}
@media(max-width:360px){
 .project-summary .project-meta{font-size:10px}
 .mobile-chapter-hint{font-size:12px}
 .tlc-app-switch button{font-size:13px}
}

@media(max-width:700px){
 #viewer.has-app-info:not(.has-desktop-capture) .viewer-tools{inset:12px 62px auto auto;gap:0}
 #viewer.has-app-info:not(.has-desktop-capture) .viewer-zoom #zoom-reset{width:48px;font-size:11px}
}

/* The app selector is a complete mobile story, with context immediately below the screen. */
.mobile-app-overview{display:none}
@media(max-width:800px){
 .app-family .app-card{border:0;border-radius:0;background:transparent;overflow:visible}
 .app-card>p,.app-card>.app-links{display:none}
 .app-card .app-stage{margin:0;padding:20px 18px;background:transparent;border:0;border-radius:0;box-shadow:none}
 .app-card .app-stage>.phone-shell{--phone-width:clamp(160px,23svh,210px);width:var(--phone-width);max-width:100%;margin-inline:auto;padding:calc(var(--phone-width) * .01818);border-radius:calc(var(--phone-width) * .11818);box-shadow:0 0 0 .5px #242526,0 0 0 1.5px #d6d7d8,0 12px 22px -13px #17191c40}
 .app-card .app-stage>.phone-shell img{border-radius:calc(var(--phone-width) * .09394)}
 .mobile-app-overview.viewer-info{display:block;padding:22px 0 12px;border:0;max-height:none;overflow:visible}
 .mobile-app-overview .viewer-app-heading{gap:13px;margin-bottom:18px}
 .mobile-app-overview .viewer-app-heading img{width:46px;height:46px;border-radius:11px}
 .mobile-app-overview .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.1em;margin-bottom:4px}
 .mobile-app-overview h4{font-size:29px;line-height:1.2;letter-spacing:-.035em}
 .mobile-app-overview .viewer-lede{font-size:18px;line-height:1.6}
 .mobile-app-overview .viewer-features{gap:18px;margin:24px 0}
 .mobile-app-overview .viewer-features strong{font-size:15px}
 .mobile-app-overview .viewer-features p{font-size:14px;line-height:1.65}
 .mobile-app-overview .viewer-provenance{font-size:12px;line-height:1.6}
 .mobile-app-overview .viewer-app-links{font-size:14px}
 .mobile-app-overview .viewer-app-links a{min-height:44px}
}

/* A single, balanced app selector; the same mask keeps native artwork consistent. */
@media(max-width:800px){
 .tlc-app-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;margin:0 0 14px;border:0;border-radius:0;background:transparent}
 .tlc-app-switch button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:88px;padding:9px 3px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:#62686c;font-family:inherit;font-size:14px;font-weight:500;line-height:1.3;letter-spacing:-.015em;cursor:pointer;transition:background 180ms,color 180ms,border-color 180ms,box-shadow 180ms}
 .tlc-app-switch button>span{display:block;white-space:nowrap}
 .tlc-app-switch button>img{display:block;flex:none;width:40px;height:40px;margin:0;border-radius:24%;clip-path:inset(0 round 24%);object-fit:cover;box-shadow:0 2px 5px #1a202415}
 .tlc-app-switch button[aria-selected=true]{color:#25292b;background:#f3f4f5;border-color:transparent;box-shadow:none}
 .tlc-app-switch button:after{content:'';position:absolute;bottom:5px;left:calc(50% - 9px);width:18px;height:2px;border-radius:2px;background:#9d8b6e;opacity:0;transform:scaleX(.5);transition:opacity 180ms,transform 180ms}
 .tlc-app-switch button[aria-selected=true]:after{opacity:1;transform:scaleX(1)}
 .tlc-app-switch button:focus-visible{outline:2px solid #867356;outline-offset:2px}
 .mobile-app-overview .viewer-app-heading img{border-radius:24%;clip-path:inset(0 round 24%)}
}
@media(max-width:360px){.tlc-app-switch button{font-size:13px;gap:7px}.tlc-app-switch button>img{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.tlc-app-switch button,.tlc-app-switch button:after{transition:none}}

.app-card .app-heading[hidden]{display:none}

/* On mobile the page owns the story; the popup is only for inspecting the image. */
#viewer.image-only{padding:8px}
#viewer.image-only .viewer-card{width:100%;height:100%;max-width:none;border-radius:0;background:transparent;box-shadow:none;animation:none}
#viewer.image-only .viewer-card:before{display:none}
#viewer.image-only .viewer-content{display:block;height:100%;overflow:hidden;border-radius:0}
#viewer.image-only .viewer-visual{height:100%;background:transparent;border-radius:0}
#viewer.image-only.has-app-info #viewer-stage,#viewer.image-only #viewer-stage{inset:54px 8px 66px;touch-action:none;overscroll-behavior:none}
#viewer.image-only .viewer-info,#viewer.image-only #viewer-about,#viewer.image-only .viewer-hint{display:none}
#viewer.image-only.has-app-info .viewer-tools,#viewer.image-only .viewer-tools{inset:auto 0 8px;justify-content:center}
#viewer.image-only #close-viewer{top:max(6px,env(safe-area-inset-top));right:6px}
#viewer.image-only #viewer-media{touch-action:none}

.mobile-app-overview .viewer-connection ol{gap:4px;flex-wrap:wrap}
.mobile-app-overview .viewer-connection li{display:flex;align-items:center}
.mobile-app-overview .viewer-connection li+li:before{margin-right:4px}
.mobile-app-overview .viewer-connection button{min-height:44px;padding:4px 3px;border:0;background:transparent;border-radius:4px;color:#646b70;font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;text-decoration:underline;text-decoration-color:#c6c9ca;text-underline-offset:5px}
.mobile-app-overview .viewer-connection button[aria-pressed=true]{color:#333637;font-weight:750;text-decoration-color:#9d8b6e}
.mobile-app-overview .viewer-connection button:hover{color:#25292b;text-decoration-color:#9d8b6e}
.mobile-app-overview .viewer-connection button:focus-visible{outline:2px solid #867356;outline-offset:2px}

/* You In uses the same uncluttered mobile story, in its own monochrome palette. */
@media(max-width:800px){
 .youin .yi-feature-gallery>.yi-tabs,.youin .yi-feature-switch{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;width:100%;padding:0;margin:0 0 14px;border:0;border-radius:0;background:transparent}
 .youin .yi-feature-gallery>.yi-tabs button,.youin .yi-feature-switch button{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:54px;padding:11px 7px 16px;border:1px solid transparent;border-radius:10px;background:transparent;color:#62686c;font-family:inherit;font-size:14px;font-weight:500;line-height:1.35;letter-spacing:-.015em;text-align:center;text-decoration:none;cursor:pointer;transition:background 180ms,color 180ms}
 .youin .yi-feature-gallery>.yi-tabs button[aria-selected=true],.youin .yi-feature-switch button[aria-selected=true]{background:#f3f4f5;color:#202427;border-color:transparent;box-shadow:none}
 .youin .yi-feature-gallery>.yi-tabs button:after,.youin .yi-feature-switch button:after{content:'';position:absolute;bottom:6px;left:calc(50% - 9px);width:18px;height:2px;border-radius:2px;background:#5f686e;opacity:0;transform:scaleX(.5);transition:opacity 180ms,transform 180ms}
 .youin .yi-feature-gallery>.yi-tabs button[aria-selected=true]:after,.youin .yi-feature-switch button[aria-selected=true]:after{opacity:1;transform:scaleX(1)}
 .youin .yi-feature-gallery>.yi-tabs button:focus-visible,.youin .yi-feature-switch button:focus-visible{outline:2px solid #656e74;outline-offset:2px}
 .youin .has-mobile-feature-content>.yi-story-intro,.youin .has-mobile-feature-content>.yi-feature-points,.youin .has-mobile-feature-content>.capture-note,.youin .has-mobile-feature-story figcaption{display:none}
 .youin .yi-people-story.has-mobile-feature-story{display:block;margin:0;max-width:none}
 .youin .yi-people-story.has-mobile-feature-story>div:not(.mobile-feature-overview){display:none}
 .youin .has-mobile-feature-story .yi-mobile{width:100%;max-width:none;margin:0;padding:20px 18px;background:transparent;border:0;box-shadow:none}
 .youin .has-mobile-feature-story .yi-mobile[hidden]{display:none}
 .youin .has-mobile-feature-story .yi-mobile .phone-shell{--phone-width:clamp(160px,23svh,210px);display:block;width:var(--phone-width);max-width:100%;margin-inline:auto;padding:calc(var(--phone-width) * .01818);border-radius:calc(var(--phone-width) * .11818);box-shadow:0 0 0 .5px #242526,0 0 0 1.5px #d6d7d8,0 12px 22px -13px #17191c40}
 .youin .has-mobile-feature-story .yi-mobile .phone-shell img{border-radius:calc(var(--phone-width) * .09394)}
 .youin .has-mobile-feature-story .yi-desktop{margin:0;padding:20px 0;background:transparent}
 .youin .has-mobile-feature-story .yi-desktop .image-button{border:1px solid #d8dcdf;border-radius:7px;background:transparent;box-shadow:0 8px 20px -14px #17191c40}
 .youin .has-mobile-feature-story>.yi-device-switch:not(.yi-feature-switch){justify-content:center;margin:0}
 .youin .has-mobile-feature-story:has(>.yi-device-switch:not(.yi-feature-switch)) .yi-mobile{padding-bottom:6px}
 .youin .has-mobile-feature-story>.yi-device-switch:not(.yi-feature-switch) button{font-size:12px;min-height:44px}
 .youin .mobile-feature-overview.viewer-info{padding:20px 0 27px}
 .youin .mobile-feature-overview .viewer-app-heading{gap:11px;margin-bottom:17px}
 .youin .mobile-feature-overview .viewer-app-heading img{width:39px;height:39px;border-radius:0;clip-path:none;box-shadow:none;object-fit:contain}
 .youin .mobile-feature-overview .eyebrow{color:#65696e;font-size:10px;letter-spacing:.08em}
 .youin .mobile-feature-overview h4{font-family:YouIn,Manrope,sans-serif;font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.025em;margin:0}
 .youin .mobile-feature-overview .viewer-lede{font-size:18px;line-height:1.6;margin:0;color:#303438}
 .youin .mobile-feature-overview .viewer-features li{border-color:#c7cace}
 .youin .mobile-feature-overview .viewer-connection li+li:before{color:#92989e}
 .youin .mobile-feature-overview .viewer-connection ol{gap:7px;flex-wrap:wrap;margin-top:12px}
 .youin .mobile-feature-overview .viewer-connection li+li:before{margin-right:7px}
 .youin .mobile-feature-overview .viewer-connection p{font-size:13px;line-height:1.7;color:#62676c}
 .youin .mobile-feature-overview .viewer-provenance{font-size:12px;line-height:1.6;color:#7a7e81;margin-top:18px}
}
@media(max-width:360px){
 .youin .yi-feature-gallery>.yi-tabs button,.youin .yi-feature-switch button{font-size:12px;padding-inline:5px}
 .youin .mobile-feature-overview h4{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
 .youin .yi-feature-gallery>.yi-tabs button,.youin .yi-feature-switch button,.youin .yi-feature-gallery>.yi-tabs button:after,.youin .yi-feature-switch button:after{transition:none}
}

/* Suppress the native tap flash while retaining focus-visible keyboard outlines. */
@media(max-width:900px),(hover:none) and (pointer:coarse){
 :root{-webkit-tap-highlight-color:transparent}
}

/* A complete first screen, measured against Safari's stable small viewport. */
.profile-photo-trigger{border:2.5px solid #a99a7bbf;box-shadow:none}
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
@media(max-width:600px){
 .site-header{row-gap:24px}
 .site-identity{--portrait-size:clamp(74px,23vw,110px);justify-content:center;gap:clamp(12px,3.6vw,18px)}
 .profile-photo-trigger{width:var(--portrait-size);height:var(--portrait-size)}
 .site-identity-copy{height:var(--portrait-size);padding-block:clamp(3px,1vw,5px);display:flex;flex-direction:column;justify-content:space-between}
 .site-identity .wordmark{font-size:clamp(26px,8.8vw,42px);line-height:1;text-box-trim:trim-both;text-box-edge:cap alphabetic}
 .site-tagline{display:contents;font-size:clamp(10.5px,3.3vw,15.5px);line-height:1.5}
 .site-tagline>span{text-box-trim:trim-both;text-box-edge:cap alphabetic}
 .site-header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding-inline:12px}
 .site-header nav a{justify-content:center}
 .intro{min-height:calc(100svh - var(--site-header-height,164px));align-content:space-between;padding-block:42px 22px}
 .intro-copy{display:contents}
 .intro-copy>p{max-width:400px}
 .intro-copy .inline-link{margin:0;justify-self:start}
}
@media(max-width:600px) and (max-height:700px){
 .intro{padding-block:18px;gap:16px}
 .intro h1{--creative-size:clamp(50px,min(16.4vw,9svh),70px)}
 .intro>div:first-child::after{margin-top:14px}
 .intro .phrase-switch{margin-top:10px}
 .intro-copy>p{font-size:14px;line-height:1.7}
}

/* Personal geography: a quiet map, with readable location keys on small screens. */
.places-map{grid-column:1/-1;min-width:0;margin:6px 0 0;padding:30px 32px 22px;border:1px solid #dcdfdd;border-radius:14px;background:#fff}
.places-map figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px}
.places-map h3{font-size:25px;font-weight:600;letter-spacing:-.035em;margin:9px 0 0;line-height:1.3}
.places-now{display:inline-flex;align-items:center;gap:8px;color:#77684e;font-size:12px;white-space:nowrap}
.places-now i{width:7px;height:7px;border-radius:50%;background:#998565;box-shadow:0 0 0 4px #a99a7b20}
.places-canvas{display:block;width:100%;max-width:850px;height:auto;margin:12px auto 0;overflow:visible}
.places-land{fill:#f4f5f2;stroke:#e1e5de;stroke-width:1.2;stroke-linejoin:round}
.places-routes{fill:none;stroke:#a99a7b;stroke-width:1.8;stroke-dasharray:5 7;stroke-linecap:round}
.place-halo{fill:#fff;fill-opacity:.9}.place-dot{fill:#827052}.place-current .place-halo{stroke:#a99a7b;stroke-width:1;fill:#f5eee2}
.place-name{font-family:Manrope,sans-serif;font-size:17px;font-weight:650;fill:#303335;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.place-state{font-size:13px;font-weight:500;fill:#676b69}
.place-number{display:none}.places-key{display:none}.places-caption{text-align:center;font-size:12px;line-height:1.6;color:#73776f;margin:0}
.viewer-app-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 0 0;color:inherit}
.viewer-app-nav[hidden]{display:none}
.viewer-app-nav button{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #b9b3a6;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.viewer-app-nav button:hover{background:#a99a7b25}.viewer-app-nav button:focus-visible{outline:2px solid #a99a7b;outline-offset:3px}
.viewer-app-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.viewer-app-status{min-width:112px;text-align:center;font-size:12px;line-height:1.5}
@media(max-width:600px){
 .places-map{padding:22px 16px 20px;margin:0}
 .places-map figcaption{display:block}.places-map h3{font-size:22px}.places-map .eyebrow{font-size:10px}
 .places-now{font-size:11px;margin-top:13px}
 .places-canvas{margin:14px 0 6px}
 .place-name{display:none}.place-halo{r:19;fill:#fff;stroke:#a99a7b;stroke-width:1.5}.place-dot{display:none}
 .place-number{display:block;fill:#5a4c36;font:600 17px Manrope,sans-serif}.place-current .place-halo{fill:#a99a7b}.place-current .place-number{fill:white}
 .places-routes{stroke-width:2.5;stroke-dasharray:6 9}
 .places-key{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;list-style:none;padding:16px 0;margin:0;border-top:1px solid #dcdfdd}
 .places-key li{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:600;line-height:1.4}.places-key li>span{font-size:10px;color:#8c7b5e;padding-top:2px}.places-key small{display:block;color:#767b74;font-size:10px;font-weight:400;margin-top:2px}.places-caption{font-size:10px;text-align:left}
 .viewer-app-nav{padding-top:4px;gap:16px;color:#fff}.viewer-app-nav button{border-color:#ffffff60;background:#ffffff0c}
}
.viewer-app-nav{position:absolute;left:16px;right:16px;bottom:56px;z-index:2;padding:0}
#viewer:has(.viewer-app-nav:not([hidden])) #viewer-stage{bottom:116px}
#viewer.image-only .viewer-app-nav{bottom:54px;color:#fff}
#viewer.image-only:has(.viewer-app-nav:not([hidden])) #viewer-stage{bottom:112px}
#viewer.is-closing .viewer-app-nav{opacity:0}

/* Six cities, seven chapters. A shared story card works with hover, focus or tap. */
.places-map{position:relative;isolation:isolate}
.places-map-stage{position:relative;max-width:850px;margin:12px auto 0}
.places-map-stage .places-canvas{width:100%;max-width:none;margin:0}
.places-markers{position:absolute;inset:0;pointer-events:none}
.place-marker{position:absolute;width:44px;height:44px;padding:0;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;cursor:pointer;pointer-events:auto}
.place-marker:focus-visible{outline:2px solid #827052;outline-offset:1px;background:#a99a7b15}
.place-point .place-halo,.place-point .place-dot,.places-routes path{transition:fill 180ms,stroke 180ms,opacity 180ms}
.place-point.is-active .place-halo{fill:#e4d8c1;stroke:#a99a7b;stroke-width:1.3}
.place-point.is-active .place-dot{fill:#5b4c34}
.places-routes.has-active path{opacity:.3}.places-routes.has-active path.is-active{opacity:1;stroke:#8c7754;stroke-width:2.2}
.places-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px}
.places-instruction{color:#71624a}
.place-story{position:absolute;z-index:5;width:300px;max-width:calc(100% - 24px);padding:21px 22px 20px;border:1px solid #d8cdb9;border-top:3px solid #a99a7b;border-radius:12px;background:#fff;box-shadow:0 10px 32px #3033351c;color:#303335;animation:place-story-in 160ms ease-out}
.place-story[hidden]{display:none}
.place-story:after{content:'';position:absolute;left:var(--tip-left,50%);bottom:-6px;width:10px;height:10px;transform:translateX(-50%) rotate(45deg);background:#fff;border-right:1px solid #d8cdb9;border-bottom:1px solid #d8cdb9}
.place-story[data-side=below]:after{top:-7px;bottom:auto;border:0;border-left:1px solid #a99a7b;border-top:1px solid #a99a7b}
.place-story .place-story-eyebrow{display:block;padding-right:17px;color:#827052;font-size:10px;line-height:1.6;letter-spacing:.055em;text-transform:uppercase;font-weight:600}
.place-story h4{font-size:21px;font-weight:650;line-height:1.35;letter-spacing:-.025em;margin:8px 0 10px}.place-story h4>span{font-size:15px;font-weight:400;color:#74776f}
.place-story p{font-size:13px;line-height:1.7;color:#595f5b;margin:0}.place-story h5{font-size:11px;line-height:1.5;font-weight:650;margin:12px 0 4px;color:#78694f}.place-chapter+.place-chapter{border-top:1px solid #e4e5df;margin-top:13px;padding-top:2px}
.place-story-close{position:absolute;right:5px;top:5px;width:32px;height:32px;display:grid;place-items:center;padding:0;background:transparent;color:#74776f;border:0;border-radius:50%;cursor:pointer}.place-story-close:hover{background:#eeeee8}.place-story-close:focus-visible{outline:2px solid #827052;outline-offset:1px}.place-story-close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
@keyframes place-story-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
 .places-map-stage{margin:14px 0 6px}
 .place-marker{width:28px;height:28px}
 .places-key{gap:6px 10px}
 .places-key li{display:block;min-width:0}
 .places-key button{display:flex;align-items:flex-start;gap:7px;text-align:left;font:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:7px;padding:8px 4px;width:100%;min-height:48px;cursor:pointer}
 .places-key button[aria-expanded=true]{background:#e9e4d8;border-color:#cfc3ac}
 .places-key button:focus-visible{outline:2px solid #827052;outline-offset:1px}
 .places-key .place-step{color:#78694f;font-size:9px;min-width:16px;padding-top:2px;white-space:nowrap}
 .places-key small{font-size:10px;line-height:1.5}
 .places-caption{display:block;font-size:10px;padding-top:0}.places-caption span{display:block}.places-instruction{margin-bottom:5px;font-size:11px}
 .place-story{width:280px;padding:17px 18px}.place-story h4{font-size:20px}.place-story p{font-size:12px}.place-story .place-story-eyebrow{font-size:9px}
 .place-story-close{width:40px;height:40px;right:0;top:0}
}
@media(prefers-reduced-motion:reduce){.place-story{animation:none}.place-point .place-halo,.place-point .place-dot,.places-routes path{transition:none}}

/* Optional travel chapters keep the home route quiet until invited in. */
.places-disclosure{border:0;background:none;padding:0;overflow:visible}
.places-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;padding:0}
.places-summary::-webkit-details-marker{display:none}
.places-summary .disclosure-chevron{flex:none}
.places-summary:focus-visible{outline:2px solid #827052;outline-offset:8px;border-radius:4px}
.places-disclosure[data-expanded=true]>.places-summary .disclosure-chevron{transform:rotate(180deg)}
.places-disclosure>.disclosure-body>.disclosure-inner{padding:0}
.places-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px}
.sidequests-toggle{display:flex;align-items:center;gap:8px;border:1px solid #c8baa0;border-radius:24px;padding:9px 12px;min-height:44px;background:transparent;color:#76654b;font:600 12px Manrope,sans-serif;cursor:pointer}
.sidequests-toggle>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}
.sidequests-toggle:focus-visible{outline:2px solid #827052;outline-offset:3px}
.sidequests-toggle[aria-pressed=true]{background:#eae4d8;color:#594b36}
.quest-switch{width:24px;height:14px;border-radius:8px;background:#d5d6cf;padding:2px;transition:background 180ms}
.quest-switch:after{content:'';display:block;width:10px;height:10px;border-radius:50%;background:white;transition:transform 180ms}
[aria-pressed=true]>.quest-switch{background:#a99a7b}[aria-pressed=true]>.quest-switch:after{transform:translateX(10px)}
.sidequest-only{display:none}.has-sidequests .sidequest-only{display:block}
.place-marker{top:var(--top-home)}.has-sidequests .place-marker{top:var(--top-quests)}
.places-routes .quest-route{stroke:#c1c7c5;stroke-width:1.5;stroke-dasharray:3 7}
.places-routes.has-active .quest-route.is-active{stroke:#a7afac;stroke-width:1.8}
.quest-ocean{fill:#fff}.quest-land{fill:#f2f4ef;stroke:#dfe5dd;stroke-width:.9;stroke-linejoin:round}
.quest-rim{fill:none;stroke:#a99a7b;stroke-width:1.6}.quest-dots{fill:#8d7b5c;stroke:#fffefa;stroke-width:1.1}
.quest-inset.is-active .quest-rim{stroke:#796849;stroke-width:2.8}
.quest-map-label{fill:#78694f;font:600 13px Manrope,sans-serif;letter-spacing:.01em}
.quest-marker{position:absolute;width:20.57%;aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;pointer-events:auto;cursor:pointer}
.quest-marker:focus-visible{outline:2px solid #827052;outline-offset:3px}
.has-sidequests .quest-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 18px}
.quest-keys button{min-width:0;border:1px solid #dedbd3;border-radius:10px;background:transparent;color:#574e3f;text-align:left;padding:12px;font:600 12px Manrope,sans-serif;cursor:pointer;min-height:60px}
.quest-keys button small{display:block;font-size:10px;font-weight:400;line-height:1.5;margin-top:4px;color:#787d77}
.quest-keys button:hover,.quest-keys button[aria-expanded=true]{background:#eee9df;border-color:#bdad90}
.quest-keys button:focus-visible{outline:2px solid #827052;outline-offset:2px}
.has-sidequests .quest-inset{animation:place-story-in 220ms ease-out}
@media(max-width:600px){
 .places-summary{gap:12px}.places-summary h3{font-size:20px}.places-summary .disclosure-chevron{width:32px;height:32px}
 .places-toolbar{align-items:flex-start;gap:12px;flex-direction:column;padding-top:18px}.places-toolbar .places-now{margin:0}
 .sidequests-toggle{font-size:11px;padding:8px 12px;align-self:flex-end;margin-top:-5px}
 .has-sidequests .quest-keys{grid-template-columns:1fr;gap:7px;margin-top:4px}
 .quest-keys button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;font-size:11px}
 .quest-keys button small{max-width:45%;margin:0;text-align:right;font-size:10px}
 .quest-map-label{font-size:17px}.places-routes .quest-route{stroke-width:2.5;stroke-dasharray:4 8}.quest-rim{stroke-width:2.5}.quest-dots{stroke-width:1.5}
}
@media(prefers-reduced-motion:reduce){.has-sidequests .quest-inset{animation:none}.quest-switch,.quest-switch:after{transition:none}}

/* A compact place-name reel shares the hero's upward scrolling treatment. */
.places-summary{display:grid;grid-template-columns:max-content minmax(0,1fr) 34px;gap:20px}
.places-summary>.disclosure-chevron{justify-self:end}
.places-reel{width:100%;text-align:center;align-self:center;color:#8c7b5e;font:500 24px/1.6 Manrope,sans-serif;letter-spacing:-.025em;min-height:1.6em;white-space:nowrap;text-wrap:nowrap}
.places-reel .phrase-line{white-space:nowrap}
.places-disclosure[data-expanded=true]>.places-summary{grid-template-columns:minmax(0,1fr) 34px}
.places-disclosure[data-expanded=true]>.places-summary>.places-reel{display:none}
@media(max-width:600px){
 .places-summary,.places-disclosure[data-expanded=true]>.places-summary{position:relative;grid-template-columns:minmax(0,1fr);gap:14px}
 .places-summary h3,.places-disclosure[data-expanded=true]>.places-summary h3{font-size:clamp(15px,4.5vw,20px);line-height:1.4;white-space:nowrap}
 .places-summary .eyebrow{font-size:10px;letter-spacing:.08em;padding-right:42px;min-height:24px;display:flex;align-items:center}
 .places-summary>.disclosure-chevron{position:absolute;right:18px;top:18px}
 .places-reel{font-size:clamp(18px,5.2vw,22px);letter-spacing:-.03em;text-align:left}
}
