@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 600;font-display:swap;src:url(/static/fonts/fraunces-normal-400-600.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url(/static/fonts/fraunces-italic-400.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;src:url(/static/fonts/manrope-normal-400-700.woff2) format('woff2')}
@font-face{font-family:'Literata';font-style:normal;font-weight:400 500;font-display:swap;src:url(/static/fonts/literata-normal-400-500.woff2) format('woff2')}
@font-face{font-family:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url(/static/fonts/literata-italic-400.woff2) format('woff2')}

/* travelincostarica.net: a calm field-guide planner. Tokens first; dark mode follows the system. */
:root{--bg:#F7F3EA;--paper:#FFFDF8;--ink:#1C1B16;--soft:#38352D;--muted:#5C564B;--line:#E2D9C8;--mist:#EFE8DA;
--clay:#A23E1C;--clay2:#7F2E12;--forest:#16301F;--forest2:#21402B;--fern:#C9D9C2;--cream:#F4EFE4;
--disp:'Fraunces',Georgia,serif;--ui:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;--read:'Literata',Charter,Georgia,serif;
--r:18px;--gut:40px}
@media (prefers-color-scheme:dark){:root{--bg:#11120F;--paper:#191A16;--ink:#F1EDE4;--soft:#D5CEC0;--muted:#A9A293;--line:#34332C;--mist:#1C1D18;
--clay:#F2A27F;--clay2:#F7C0A6;--forest:#0D1A11;--forest2:#17291C}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--ink);font:16.5px/1.6 var(--ui);overflow-x:hidden}
a{color:var(--clay);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--clay2)}
img{max-width:100%;height:auto;display:block}
picture{display:contents}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.04;letter-spacing:-.01em;color:var(--ink);margin:0}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:4px}
.tc-lane{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
@media (max-width:700px){:root{--gut:16px}}
.tc-jump{position:absolute;left:-999px;top:8px;z-index:60;background:var(--paper);color:var(--ink);padding:10px 14px;border-radius:10px}
.tc-jump:focus{left:8px}
.tc-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:700 12px/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.tc-eyebrow:before{content:'';width:22px;height:1.5px;background:currentColor}
.tc-more{display:inline-flex;align-items:center;gap:8px;font:600 15px/1.3 var(--ui);color:var(--ink);text-decoration:none;margin-top:22px}
.tc-more svg{transition:transform .25s ease}
.tc-more:hover{color:var(--clay)}.tc-more:hover svg{transform:translateX(4px)}

/* Top line: logo, section links, search pill; a drawer on smaller screens */
.tc-topline{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.tc-toplinein{display:flex;align-items:center;gap:20px;height:70px}
.tc-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;white-space:nowrap}
.tc-brand:hover{color:var(--ink)}
.tc-brandmark{color:var(--clay);display:flex}
.tc-brandword{font:400 22px/1 var(--disp)}
.tc-brandword em{font-style:italic}
.tc-routes{margin-left:auto}
.tc-routes ul,.tc-drawer ul,.tc-base ul{list-style:none;margin:0;padding:0}
.tc-routes ul{display:flex;gap:2px}
.tc-routes a{display:block;padding:8px 12px;border-radius:999px;color:var(--soft);text-decoration:none;font:500 14.5px/1.2 var(--ui)}
.tc-routes a:hover{background:var(--mist);color:var(--ink)}
.tc-routes a[aria-current]{color:var(--ink);background:var(--mist);box-shadow:inset 0 0 0 1px var(--line)}
.tc-seek{flex:none;display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 13px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font:500 14px/1 var(--ui);background:var(--paper)}
.tc-seek:hover{border-color:var(--ink);color:var(--ink)}
.tc-drawer{display:none;flex:none}
.tc-drawer summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 14px/1 var(--ui)}
.tc-drawer summary::-webkit-details-marker{display:none}
.tc-drawer summary i{width:16px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.tc-drawer[open] summary i{height:2px;border-bottom:0}
.tc-drawer nav{position:absolute;left:0;right:0;top:70px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 30px 40px -30px rgba(0,0,0,.35);padding:12px var(--gut) 22px}
.tc-drawer nav ul{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.tc-drawer nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font:400 20px/1.2 var(--disp)}
.tc-drawer .tc-drawermore{margin-top:14px}
.tc-drawer .tc-drawermore a{font:500 14.5px/1.2 var(--ui);color:var(--soft);border:0;padding:8px 0}
@media (max-width:1140px){.tc-routes{display:none}.tc-seek{margin-left:auto}.tc-drawer{display:block}}
@media (max-width:520px){.tc-seek span{display:none}.tc-seek{padding:0;width:44px;height:44px;justify-content:center}.tc-brandword{font-size:19px}.tc-brandmark svg{width:28px;height:28px}.tc-toplinein{gap:10px}.tc-drawer nav ul{grid-template-columns:1fr}.tc-brand{min-width:0}.tc-brandword{overflow:hidden;text-overflow:ellipsis}}
@media (max-width:400px){.tc-drawer summary{width:44px;padding:0;justify-content:center}.tc-drawer summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* Homepage opener: statement and day picker beside one photo */
.tc-opener{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);min-height:min(760px,calc(100vh - 70px))}
.tc-openertx{padding:72px 56px 64px max(var(--gut),calc((100vw - 1280px)/2 + var(--gut)));display:flex;flex-direction:column;justify-content:center}
.tc-opener h1{text-wrap:balance;font-size:clamp(46px,5.4vw,86px);line-height:.97;letter-spacing:-.02em;max-width:640px}
.tc-opener h1 em{display:block;color:var(--clay);font-style:italic}
.tc-standfirst{font:19px/1.6 var(--read);color:var(--soft);max-width:520px;margin:24px 0 36px}
.tc-daypick h2{font:600 13px/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.tc-days{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:620px}
.tc-days a{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;height:100%;padding:16px 18px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);color:var(--ink);text-decoration:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.tc-days b{font:400 60px/1 var(--disp);letter-spacing:-.03em}
.tc-unit{font:600 14px/1 var(--ui)}
.tc-via{grid-column:1/-1;margin-top:10px;font:13px/1.45 var(--ui);color:var(--muted)}
.tc-days a:hover{background:var(--forest);border-color:var(--forest);color:var(--cream);transform:translateY(-2px)}
.tc-days a:hover .tc-via{color:var(--fern)}
.tc-aside{margin:16px 0 0;font-size:15px;color:var(--muted)}
.tc-openerphoto{position:relative;margin:0;overflow:hidden;border-bottom-left-radius:40px;background:var(--forest)}
.tc-openerphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tc-openerphoto figcaption,.tc-planphoto figcaption{position:absolute;right:14px;bottom:12px;left:auto;max-width:min(420px,80%);padding:6px 10px;border-radius:8px;background:rgba(10,20,13,.62);color:#EDEAE2;font:11.5px/1.4 var(--ui)}
.tc-openerphoto figcaption a,.tc-planphoto figcaption a{color:#fff}
@media (max-width:900px){.tc-opener{grid-template-columns:1fr;min-height:0}.tc-openerphoto{order:-1;height:min(52vh,380px);border-radius:0 0 28px 28px}.tc-openertx{padding:36px var(--gut) 24px}}
@media (max-width:520px){.tc-days{grid-template-columns:1fr}.tc-days a{grid-template-columns:auto auto 1fr;padding:12px 16px}.tc-days b{font-size:44px}.tc-via{grid-column:auto;margin:0 0 0 8px;align-self:center}}

/* Regions: numbered list beside a sticky intro */
.tc-regions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:64px;padding-top:110px;padding-bottom:40px}
.tc-regionshead{position:sticky;top:110px;align-self:start}
.tc-regionshead h2,.tc-parkshead h2,.tc-staysnote h2,.tc-prep h2,.tc-method h2,.tc-recs h2{font-size:clamp(34px,3.6vw,50px)}
.tc-regionshead p:not(.tc-eyebrow){color:var(--soft);font:17px/1.6 var(--read);margin:18px 0 0}
.tc-regionlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.tc-region{display:grid;grid-template-columns:44px 88px minmax(0,1fr) 130px 22px;gap:22px;align-items:center;padding:18px 12px 18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .2s,padding .2s}
.tc-region:hover{background:var(--mist);color:var(--ink);padding-left:12px}
.tc-regionno{font:500 14px/1 var(--ui);color:var(--muted);font-variant-numeric:tabular-nums}
.tc-regionimg{display:block;width:88px;height:88px;border-radius:50%;overflow:hidden;background:var(--mist)}
.tc-regionimg img{width:100%;height:100%;object-fit:cover}
.tc-regiontx h3{font-size:29px;margin-bottom:5px}
.tc-regiontx>span{font-size:15px;line-height:1.5;color:var(--soft)}
.tc-regionmeta{font:500 13px/1.45 var(--ui);color:var(--muted)}
.tc-hasguide{display:block;font-style:normal}
.tc-region>svg{color:var(--clay);transition:transform .2s}
.tc-region:hover>svg{transform:translateX(4px)}
@media (max-width:980px){.tc-regions{grid-template-columns:1fr;gap:28px;padding-top:72px}.tc-regionshead{position:static}}
@media (max-width:640px){.tc-region{grid-template-columns:62px minmax(0,1fr);gap:4px 14px;padding:16px 0}.tc-regionno,.tc-region>svg{display:none}.tc-regionimg{width:62px;height:62px;grid-row:span 2}.tc-regiontx h3{font-size:24px}.tc-hasguide{display:inline;margin-left:6px}.tc-region:hover{padding-left:0}}

/* Cards: whole card is one link */
.tc-stubs{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:40px 24px}
@media (min-width:1100px){.tc-stubs4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:900px){.tc-stubs3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:560px){.tc-stubs2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tc-stub{display:flex;flex-direction:column;gap:14px;height:100%;color:var(--ink);text-decoration:none}
.tc-stub:hover{color:var(--ink)}
.tc-plate{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--mist)}
.tc-plate img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tc-stub:hover .tc-plate img{transform:scale(1.04)}
.tc-cited{position:absolute;left:10px;top:10px;padding:6px 10px;border-radius:999px;background:rgba(255,253,248,.95);color:#1C1B16;font:600 12px/1.2 var(--ui)}
.tc-stubtx{display:flex;flex-direction:column;gap:6px}
.tc-locale{font:600 12px/1.4 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.tc-stubtx h3{font-size:25px;line-height:1.08}
.tc-stub:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.tc-bestfor,.tc-gist{font-size:15px;line-height:1.5;color:var(--soft)}
.tc-bestfor b{display:block;font:700 11px/1.4 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--clay);margin-bottom:2px}
#results.tc-stubs{grid-template-columns:minmax(0,1fr);gap:0;max-width:820px;margin-top:12px}
.tc-stubtext{padding:18px 0;border-bottom:1px solid var(--line)}
.tc-stubtext h3{font-size:23px}
.tc-nohits{grid-column:1/-1;color:var(--muted)}
.tc-ph{width:100%;height:100%;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(140deg,var(--forest),var(--forest2))}
.tc-ph span{font:400 44px/1 var(--disp);color:rgba(255,255,255,.7)}

/* National parks band */
.tc-parks{margin-top:100px;padding:96px 0 104px;background:var(--forest);color:var(--cream)}
.tc-parkshead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 48px;flex-wrap:wrap}
.tc-parkshead h2{color:var(--cream);max-width:620px}
.tc-parkshead p:not(.tc-eyebrow){max-width:400px;margin:0;color:var(--fern);font-size:15.5px}
.tc-parks .tc-eyebrow{color:#F2B48F}
.tc-parks a{color:var(--cream)}
.tc-parks .tc-stubs{margin-top:44px}
.tc-parks .tc-stub h3{color:var(--cream)}
.tc-parks .tc-locale{color:#B9C9B4}
.tc-parks .tc-bestfor{color:#DCE5D7}
.tc-parks .tc-bestfor b{color:#F2B48F}
.tc-parks .tc-plate{background:var(--forest2)}
.tc-parks :focus-visible{outline-color:var(--cream)}

/* Where to stay */
.tc-stays{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:64px;padding-top:110px}
.tc-bases{margin:28px 0 0;border-top:1px solid var(--ink)}
.tc-bases div{padding:14px 0;border-bottom:1px solid var(--line)}
.tc-bases dt{font:400 21px/1.2 var(--disp)}
.tc-bases dd{margin:4px 0 0;font-size:15px;color:var(--soft)}
.tc-stayspicks .tc-stubs{margin-top:0}
@media (max-width:980px){.tc-stays{grid-template-columns:1fr;gap:36px;padding-top:80px}}

/* Planning checklist and interests */
.tc-prep{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;padding-top:110px}
.tc-checklist{list-style:none;margin:26px 0 0;padding:0}
.tc-checklist a{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line);color:var(--ink);text-decoration:none}
.tc-checklist li:first-child a{border-top:1px dashed var(--line)}
.tc-box{flex:none;width:26px;height:26px;margin-top:2px;border:1.5px solid var(--clay);border-radius:8px;display:flex;align-items:center;justify-content:center;color:transparent;transition:background .2s,color .2s}
.tc-checklist a:hover .tc-box{background:var(--clay);color:var(--paper)}
.tc-checklist b{display:block;font:600 17px/1.35 var(--ui)}
.tc-checklist a:hover b{color:var(--clay)}
.tc-checklist b+span{display:block;margin-top:3px;font-size:14.5px;line-height:1.5;color:var(--muted)}
.tc-nooks{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tc-nooks li:first-child:nth-last-child(odd){grid-column:1/-1}
.tc-nook{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;color:#fff;text-decoration:none;background:var(--forest)}
.tc-nooks li:first-child:nth-last-child(odd) .tc-nook{aspect-ratio:16/8}
.tc-nook img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tc-nook:hover img{transform:scale(1.04)}
.tc-nook:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,13,0) 35%,rgba(10,20,13,.82))}
.tc-nook span{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;display:flex;flex-direction:column;gap:2px}
.tc-nook b{font:400 22px/1.1 var(--disp)}
.tc-nook small{font-size:12.5px;line-height:1.4;opacity:.92;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tc-nook:hover{color:#fff}
@media (max-width:980px){.tc-prep{grid-template-columns:1fr;gap:56px;padding-top:80px}}
@media (max-width:420px){.tc-nook b{font-size:19px}.tc-nook small{display:none}}

/* Method note and press picks */
.tc-recs{padding-top:100px}.tc-recs>p{color:var(--muted)}
.tc-method{margin-top:110px;margin-bottom:100px;padding-top:44px;padding-bottom:44px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:20px 48px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.tc-method h2{font-size:clamp(30px,3vw,40px)}
.tc-method ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.tc-method li{font-size:15px;line-height:1.55;color:var(--soft)}
.tc-method li b{display:block;font:400 21px/1.2 var(--disp);color:var(--ink);margin-bottom:6px}
.tc-method .tc-more{grid-column:2;margin-top:0}
@media (max-width:900px){.tc-method{grid-template-columns:1fr;margin-top:80px}.tc-method ul{grid-template-columns:1fr;gap:18px}.tc-method .tc-more{grid-column:1}}

/* Footer */
.tc-base{background:var(--forest);color:#C3CEC0;padding:64px 0 28px;font-size:15px}
.tc-basegrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:36px 48px}
.tc-base .tc-brand,.tc-base .tc-brand:hover{color:var(--cream)}
.tc-base .tc-brandmark{color:#F2B48F}
.tc-baseabout p{max-width:400px;margin:16px 0 0;line-height:1.6}
.tc-base h2{font:700 12px/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#F2B48F;margin:6px 0 14px}
.tc-base li{margin:0 0 8px}
.tc-base a{color:#DCE4D8;text-decoration:none}
.tc-base a:hover{color:#fff;text-decoration:underline}
.tc-base a[aria-current]{color:#fff}
.tc-small{display:flex;flex-wrap:wrap;gap:6px 28px;margin:48px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:#A9B7A6}
.tc-base :focus-visible{outline-color:var(--cream)}
@media (max-width:760px){.tc-basegrid{grid-template-columns:1fr 1fr}.tc-baseabout{grid-column:1/-1}}

/* Breadcrumbs */
.tc-trailbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 22px;font:500 13.5px/1.4 var(--ui);color:var(--muted)}
.tc-trailbar a{color:var(--muted);text-decoration:none}
.tc-trailbar a:hover{color:var(--clay);text-decoration:underline}
.tc-trailbar svg{opacity:.6}
.tc-trailbar span{color:var(--ink)}

/* Hub pages */
.tc-cover{background:var(--mist);border-bottom:1px solid var(--line);padding:44px 0 48px}
.tc-cover h1{font-size:clamp(42px,5.4vw,76px);letter-spacing:-.02em;max-width:900px}
.tc-intro{font:19px/1.6 var(--read);color:var(--soft);max-width:740px;margin:18px 0 0}
.tc-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.tc-jumps a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);text-decoration:none;font:500 14px/1.2 var(--ui)}
.tc-jumps a:hover{border-color:var(--ink)}
.tc-part{padding-top:56px}
.tc-part>h2{font-size:clamp(30px,3vw,40px);padding-bottom:14px;border-bottom:1px solid var(--ink)}
.tc-ledger{list-style:none;margin:20px 0 0;padding:0}
.tc-line{display:grid;grid-template-columns:120px minmax(0,1fr) 22px;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.tc-line:hover{color:var(--ink)}
.tc-line:hover h3{color:var(--clay)}
.tc-line>svg{color:var(--clay);transition:transform .2s}.tc-line:hover>svg{transform:translateX(4px)}
.tc-thumb{display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:var(--mist)}
.tc-thumb img{width:100%;height:100%;object-fit:cover}
.tc-linetx{display:flex;flex-direction:column;gap:5px}
.tc-linetx h3{font-size:25px;line-height:1.12}
.tc-tag{font:700 11px/1.3 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}
@media (max-width:640px){.tc-line{grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:start}.tc-line>svg{display:none}.tc-linetx h3{font-size:20px}.tc-line .tc-gist{display:none}}
.tc-index{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 32px}
.tc-index a{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font:400 25px/1.2 var(--disp)}
.tc-index a:hover{color:var(--clay)}
.tc-index span{font:500 13px var(--ui);color:var(--muted);white-space:nowrap}
.tc-citations{padding-left:20px}.tc-citations li{margin:.5em 0}.tc-citations small{color:var(--muted)}

/* Plain pages: search, 404, author */
.tc-plain{padding-top:48px;padding-bottom:20px}
.tc-plain>h1,.tc-person h1{font-size:clamp(40px,5vw,64px);margin:0 0 12px}
.tc-lookup{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px 0 8px;max-width:760px}
.tc-lookup label{flex-basis:100%;font-size:15px;color:var(--muted)}
.tc-lookup input{flex:1;min-width:0;font:18px var(--ui);padding:14px 18px;border:1.5px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink)}
.tc-lookup input:focus{border-color:var(--clay);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--clay) 25%,transparent)}
.tc-lookup button{font:600 16px var(--ui);padding:15px 24px;border:0;border-radius:999px;background:var(--ink);color:var(--bg);cursor:pointer}
.tc-person{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.tc-portrait{border-radius:50%}
.tc-plain>h2{font-size:36px;margin-top:48px}

/* Article: planner header, key facts strip, reading column with a margin */
.tc-planhead{padding:32px 0 40px}
.tc-planheadin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:56px;align-items:center}
.tc-textonly .tc-planheadin{grid-template-columns:minmax(0,860px)}
.tc-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.tc-tags span{padding:6px 12px;border-radius:999px;background:var(--mist);color:var(--soft);font:600 12.5px/1.2 var(--ui)}
.tc-tags .tc-sponsor{background:var(--ink);color:var(--bg)}
.tc-planhead h1{text-wrap:balance;font-size:clamp(40px,4.6vw,70px);line-height:1;letter-spacing:-.02em}
.tc-subtitle{margin:14px 0 0;font:italic 22px/1.4 var(--read);color:var(--soft)}
.tc-summary{margin:22px 0 0;font:18.5px/1.65 var(--read);color:var(--soft);max-width:620px}
.tc-signed{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:24px 0 0;font-size:14px;color:var(--muted)}
.tc-signed img{border-radius:50%}
.tc-signed a{color:var(--ink);font-weight:600;text-decoration:none}
.tc-signed a:hover{text-decoration:underline}
.tc-official{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:13px 20px;border-radius:999px;background:var(--ink);color:var(--bg);font:600 15px/1 var(--ui);text-decoration:none}
.tc-official:hover{background:var(--clay);color:var(--paper)}
.tc-planphoto{position:relative;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:5/4;background:var(--forest)}
.tc-planphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.tc-planheadin{grid-template-columns:1fr;gap:28px}.tc-planphoto{order:-1;aspect-ratio:3/2;border-radius:18px}.tc-planhead{padding-top:16px}}
.tc-keyfacts{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tc-keyfacts dl{margin:0;display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tc-keyfacts dl>div{padding:20px 22px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:-1px}
.tc-keyfacts dt{font:700 11px/1.3 var(--ui);letter-spacing:.13em;text-transform:uppercase;color:var(--clay);margin-bottom:6px}
.tc-keyfacts dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.tc-keyfacts .tc-routeline{grid-template-columns:1fr}
.tc-route ol{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;row-gap:12px}
.tc-route li{position:relative;padding:20px 26px 0 0;font:400 18px/1.25 var(--disp)}
.tc-route li:before{content:'';position:absolute;left:0;top:2px;width:11px;height:11px;border-radius:50%;background:var(--clay)}
.tc-route li:after{content:'';position:absolute;left:17px;right:6px;top:7px;border-top:2px dotted color-mix(in srgb,var(--clay) 45%,transparent)}
.tc-route li:last-child:after{display:none}
@media (max-width:640px){.tc-route ol{flex-direction:column;row-gap:0}.tc-route li{padding:2px 0 14px 26px}.tc-route li:before{top:7px}.tc-route li:after{left:4px;right:auto;top:22px;bottom:0;border-top:0;border-left:2px dotted color-mix(in srgb,var(--clay) 45%,transparent)}}
@media (max-width:700px){.tc-keyfacts .tc-lane{padding:0}.tc-keyfacts dl>div{border-left:0;padding:16px var(--gut)}}
.tc-readgrid{display:grid;grid-template-columns:250px minmax(0,720px);gap:72px;padding-top:56px;padding-bottom:40px}
.tc-readgrid.tc-single{grid-template-columns:minmax(0,760px)}
.tc-marginalia{position:sticky;top:100px;align-self:start;display:flex;flex-direction:column;gap:28px;font-size:14.5px}
.tc-onpage h2,.tc-press h2{font:700 11.5px/1.3 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.tc-onpage ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.tc-onpage li a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--soft);text-decoration:none;line-height:1.4}
.tc-onpage li a:hover{color:var(--clay);border-color:var(--clay)}
.tc-press ul{list-style:none;margin:0;padding:0}
.tc-press li{padding:10px 0;border-bottom:1px solid var(--line)}
.tc-press a{color:var(--ink);text-decoration:none}.tc-press a b{display:block;font:400 19px/1.2 var(--disp)}
.tc-press small{color:var(--muted)}.tc-press p{margin:6px 0 0;color:var(--muted)}
@media (max-width:980px){.tc-readgrid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:36px}.tc-marginalia{position:static}}
.tc-copy{counter-reset:part;font:19px/1.72 var(--read);color:var(--soft);min-width:0}
.tc-copy>h2{counter-increment:part;font-size:clamp(30px,3vw,38px);line-height:1.1;margin:1.6em 0 .55em}
.tc-copy>h2:before{content:counter(part,decimal-leading-zero);display:block;margin-bottom:10px;font:700 12px/1 var(--ui);letter-spacing:.14em;color:var(--clay)}
.tc-copy>h2:first-child{margin-top:0}
.tc-copy h3{font:700 18px/1.35 var(--ui);color:var(--ink);margin:1.5em 0 .4em}
.tc-copy p{margin:0 0 1.1em}
.tc-copy ul,.tc-copy ol{padding-left:1.2em}
.tc-copy li{margin:.4em 0}
.tc-copy li::marker{color:var(--clay)}
.tc-copy strong{color:var(--ink)}
.tc-copy img{border-radius:14px;margin:1em 0}
.tc-copy blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:3px solid var(--clay);font:italic 22px/1.5 var(--read);color:var(--ink)}
.tc-copy hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.tbl{overflow-x:auto;margin:1.2em 0;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.tc-copy table{border-collapse:collapse;width:100%;font:15px/1.5 var(--ui)}
.tc-copy th{background:var(--mist);color:var(--ink);font-weight:700}
.tc-copy th,.tc-copy td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tc-copy tr:last-child td{border-bottom:0}
@media (max-width:700px){.tc-copy{font-size:18px}}
.tc-asked,.tc-inthis,.tc-refs{margin-top:56px}
.tc-asked h2,.tc-inthis h2,.tc-refs h2{font-size:clamp(28px,2.8vw,34px);margin:0 0 14px}
.tc-asked details{border-top:1px solid var(--line)}
.tc-asked details:last-child{border-bottom:1px solid var(--line)}
.tc-asked summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;padding:18px 0;font:600 17px/1.4 var(--ui);color:var(--ink)}
.tc-asked summary::-webkit-details-marker{display:none}
.tc-asked summary:after{content:'';flex:none;width:9px;height:9px;margin:6px 4px 0 0;border-right:2px solid var(--clay);border-bottom:2px solid var(--clay);transform:rotate(45deg);transition:transform .2s}
.tc-asked details[open] summary:after{transform:rotate(-135deg);margin-top:10px}
.tc-asked details>div{padding:0 0 18px;font-size:17.5px;line-height:1.65}
.tc-asked details p{margin:0}
.tc-inthis .tc-stubs{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:32px 20px}
.tc-inthis .tc-stubtx h3{font-size:21px}
.tc-refs{font:15px/1.6 var(--ui)}
.tc-refs ul{padding-left:1.1em}.tc-refs li{margin:.35em 0}
.tc-nextup{margin-top:60px;padding:72px 0 88px;background:var(--mist);border-top:1px solid var(--line)}
.tc-nextup h2{font-size:clamp(30px,3.2vw,44px)}
.tc-nextup+.tc-base,.tc-parks+.tc-base{margin-top:0}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.tc-stub:hover .tc-plate img,.tc-nook:hover img{transform:none}}
