@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Lora:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
/* Shared reading layer, loaded after each collection's styles. */
:root{--serif:'Lora',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--muted:#4d5d53}
body{font-family:var(--sans);font-size:17px;line-height:1.75}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.22;letter-spacing:-.025em}
h1 em,h2 em{font-family:inherit;font-weight:600;font-style:normal;letter-spacing:inherit;font-size:1em}
.hero h1{font-size:clamp(48px,5.6vw,76px);line-height:1.12;letter-spacing:-.035em}
.together-hero{grid-template-columns:1.05fr 1fr;gap:42px}
.together-hero h1{font-size:clamp(38px,4.1vw,58px);line-height:1.16;letter-spacing:-.025em}
.together-hero>div>p:not(.eyebrow){font-size:18px;line-height:1.75}
.together-portrait{margin:0;min-width:0;background:#e7ecdf;border:1px solid #c6cdbb;border-radius:8px;overflow:hidden}
.together-portrait img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover}
.together-portrait figcaption{padding:24px}
.together-portrait strong{font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.4;display:block}
.together-portrait span{display:block;font-size:15px;line-height:1.7;margin-top:12px}
.together-portrait small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}
.brand{font-weight:600}.brand small{font-family:var(--sans);font-weight:600;letter-spacing:2px}
.button,.chip,.saved-nav,.text-button,.read-guide{font-size:15px;font-weight:600;line-height:1.5}
.header{height:auto;min-height:108px;gap:22px;flex-wrap:wrap;padding-block:22px}
.header>nav.editorial-nav,.header>nav.desktop-nav{gap:18px;flex-wrap:wrap;font-size:14px;line-height:1.5}
.header>nav.editorial-nav a,.header>nav.desktop-nav a{font-size:14px;min-height:44px;padding-block:12px}
.card-title,.guide-card h3,.experience-card h3{font-size:28px;line-height:1.3;font-weight:600;letter-spacing:-.02em}
.card-description,.guide-card-body>p:not(.eyebrow),.experience-card>p:not(.experience-category){font-size:16px;line-height:1.75}
.card-title{min-height:0}.card-description{min-height:56px}
.card-meta,.card-meta b,.results-meta,.directory-count{font-size:14px;line-height:1.6}
.eyebrow,.card-topline,.guide-card-body .eyebrow{font-size:12px;letter-spacing:1.2px;line-height:1.7}
.section-intro,.hero-description,.editorial-copy p:not(.eyebrow){font-size:17px;line-height:1.8}
.article-copy>p,.article-copy section>p,.article-copy li,.article-copy details p{font-size:18px;line-height:1.85;color:var(--ink)}
.article-copy{max-width:68ch;min-width:0}.article-copy .article-lead{font-family:var(--sans);font-size:20px;line-height:1.8}
.article-copy h2{font-size:30px;line-height:1.35;font-weight:600;letter-spacing:-.02em}
.article-dek{font-size:19px;line-height:1.8}.article-title h1,.article-header h1{font-size:clamp(36px,4.7vw,62px);line-height:1.2;letter-spacing:-.03em}
.article-toc a{font-size:14px;line-height:1.7}.article-hero figcaption,.article-sources p{font-size:14px;line-height:1.7}
.together-tool label,.check-in-invitation label,.finder label>span{font-size:14px;line-height:1.6}
.together-tool select,.check-in-invitation select,.finder select,select,input[type=search],input[type=email]{font-size:16px;line-height:1.5}
.check-in-card>p:not(.eyebrow),.check-in-invitation>p:not(.eyebrow),.tool-result p{font-size:17px;line-height:1.8}
.check-in-card li{font-size:18px;line-height:1.75}.check-in-card h3,.tool-result h3{font-weight:600;line-height:1.35}
.together-tool blockquote{font-family:var(--serif);font-weight:500;font-size:25px;line-height:1.55}
.tool-note{font-size:14px!important;line-height:1.8!important}.topic-links a{font-size:14px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center}
.guide-type-cover strong{font-weight:600;font-size:27px;line-height:1.25}.guide-type-cover small{font-size:12px}
.faith-intro{font-size:18px;line-height:1.8;max-width:760px;margin:16px 0 24px}
.event-info>p,.experience-route li p:not(.eyebrow),.experience-details dd{font-size:17px;line-height:1.8}
.event-info h3,.experience-route h3{font-weight:600;line-height:1.3}.event-info .event-meta{font-size:13px}
.footer{font-size:14px;line-height:1.8}
@media(max-width:1100px){.header>nav.editorial-nav,.header>nav.desktop-nav{order:3;flex-basis:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-block:0}.header>nav.editorial-nav a,.header>nav.desktop-nav a{flex:none;display:block}.header{justify-content:space-between;gap:10px 18px}}
@media(max-width:800px){.together-hero{grid-template-columns:1fr}.together-hero h1{font-size:clamp(36px,6vw,48px)}.together-portrait img{aspect-ratio:1.5}.together-portrait figcaption{padding:22px}.together-callout h2{font-size:32px;line-height:1.3}.together-tools{grid-template-columns:1fr}.check-in-panel{padding:24px}.article-title h1,.article-header h1{font-size:38px}.article-copy h2{font-size:28px}}
@media(max-width:480px){.together-hero h1{font-size:36px}.together-hero{gap:26px;padding-top:30px}.hero h1{font-size:49px}.guide-card h3,.card-title{font-size:26px}.together-callout{padding:24px}.together-callout h2{font-size:28px}.check-in-panel{padding:20px}.check-in-card{padding:20px}.check-in-card h3{font-size:25px}.check-in-card li{font-size:17px}.article-copy>p,.article-copy section>p,.article-copy li,.article-copy details p{font-size:17px}.article-title h1,.article-header h1{font-size:34px}.article-copy h2{font-size:26px}.article-dek{font-size:18px}.together-tool h2{font-size:28px}.together-closing h2{font-size:29px}.brand{font-size:26px}.button{gap:14px;padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{body{font-size:12pt}.article-copy>p,.article-copy section>p,.article-copy li{font-size:12pt;line-height:1.6}.together-portrait{max-width:420px}}

/* Explicit height overrides the HTML intrinsic height for responsive cards. */
.guide-photo img{height:auto;aspect-ratio:1.5;object-fit:cover}.location-strip{height:auto;min-height:34px;padding:6px 16px;text-align:center;line-height:1.6;gap:8px}
