/* ==========================================================================
   Back in Pack — Trail Journal Theme
   Brand: Forest Slate #4D6968 | Trail Stone #F5F2EE | Charcoal #5B5B5B
   Type: Bebas Neue (display) | Poppins (body)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Poppins:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&display=swap');

:root {
  --color-bg: #F5F2EE;
  --color-text: #5B5B5B;
  --color-accent: #4D6968;
  --color-accent-dark: #3a5150;
  --color-accent-light: #6a8b8a;
  --color-rule: rgba(91, 91, 91, 0.15);
  --color-card-bg: #FDFAF6;
  --color-overlay: rgba(245, 242, 238, 0.95);
  --font-display: 'Bebas Neue', 'Impact', sans-serif;
  --font-body: 'Poppins', 'Helvetica Neue', sans-serif;
  --gh-font-heading: var(--font-display);
  --gh-font-body: var(--font-body);
  --size-base: 1rem; --size-xs: 0.75rem; --size-sm: 0.875rem; --size-lg: 1.125rem;
  --size-xl: 1.5rem; --size-2xl: 2rem; --size-3xl: 3rem; --size-4xl: 4.5rem;
  --size-5xl: 6rem; --size-6xl: 8rem;
  --radius-sm: 2px; --radius-md: 4px;
  --shadow-card: 0 1px 3px rgba(77,105,104,.08),0 4px 12px rgba(77,105,104,.06);
  --shadow-hover: 0 4px 16px rgba(77,105,104,.14),0 8px 32px rgba(77,105,104,.08);
  --transition-base: 200ms cubic-bezier(.4,0,.2,1);
  --transition-slow: 400ms cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{font-family:var(--font-body);font-weight:400;font-size:var(--size-base);line-height:1.75;color:var(--color-text);background-color:var(--color-bg);position:relative;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;pointer-events:none;z-index:1000;opacity:.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.05;letter-spacing:.02em;color:var(--color-text);text-transform:uppercase}
h1{font-size:clamp(3rem,8vw,var(--size-6xl))}
h2{font-size:clamp(2rem,5vw,var(--size-5xl))}
h3{font-size:clamp(1.5rem,3.5vw,var(--size-3xl))}
h4{font-size:clamp(1.25rem,2.5vw,var(--size-2xl))}
p{font-size:var(--size-base);line-height:1.8;margin-bottom:1.5rem}
p:last-child{margin-bottom:0}
.container{width:100%;max-width:1320px;margin:0 auto;padding:0 2rem}
.container--narrow{max-width:760px}
.container--wide{max-width:1600px}
.site-header{position:sticky;top:0;z-index:100;background:var(--color-overlay);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-rule)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 2rem;max-width:1320px;margin:0 auto}
.site-logo{display:flex;align-items:center;gap:.75rem;flex-shrink:0;text-decoration:none}
.site-logo__icon{width:56px;height:56px;flex-shrink:0}
.site-logo__text{display:flex;flex-direction:column;gap:.2rem}
.site-logo__name{font-family:var(--font-display);font-size:1.75rem;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);white-space:nowrap}
.site-logo__tagline{font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);white-space:nowrap}
.site-nav{display:flex;align-items:center;gap:.25rem}
.site-nav__link{font-family:var(--font-body);font-size:var(--size-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);padding:.5rem .875rem;border-radius:var(--radius-md);transition:color var(--transition-base),background var(--transition-base)}
.site-nav__link:hover{color:var(--color-accent);background:rgba(77,105,104,.08)}
.site-nav__link--cta{background:var(--color-accent);color:var(--color-bg);padding:.5rem 1.25rem}
.site-nav__link--cta:hover{background:var(--color-accent-dark);color:var(--color-bg)}
.site-nav ul{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.site-nav ul li{display:flex}
.site-nav ul li a{font-family:var(--font-body);font-size:var(--size-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);padding:.5rem .875rem;border-radius:var(--radius-md);transition:color var(--transition-base),background var(--transition-base)}
.site-nav ul li a:hover,.site-nav ul li.nav-current a{color:var(--color-accent);background:rgba(77,105,104,.08)}
.site-header__toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-text)}
.hero{position:relative;min-height:85vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-bottom:1px solid var(--color-rule)}
.hero__content{display:flex;flex-direction:column;justify-content:flex-end;padding:4rem 3rem 4rem 2rem;max-width:760px;margin-left:auto;position:relative;z-index:2}
.hero__eyebrow{font-family:var(--font-body);font-size:var(--size-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}
.hero__eyebrow::before{content:'';display:block;width:2rem;height:1px;background:var(--color-accent)}
.hero__title{font-size:clamp(3.5rem,7vw,7rem);line-height:.95;margin-bottom:1.5rem;color:var(--color-text)}
.hero__excerpt{font-size:var(--size-lg);line-height:1.65;color:var(--color-text);opacity:.8;max-width:520px;margin-bottom:2rem}
.hero__meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hero__read-link{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--size-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid currentColor;padding-bottom:2px;transition:gap var(--transition-base)}
.hero__read-link:hover{gap:.875rem}
.hero__read-link svg{width:16px;height:16px;flex-shrink:0}
.hero__author-date{font-size:var(--size-xs);color:var(--color-text);opacity:.6;letter-spacing:.05em}
.hero__image{position:relative;overflow:hidden}
.hero__image img{width:100%;height:100%;object-fit:cover;transition:transform 8s ease}
.hero:hover .hero__image img{transform:scale(1.04)}
.hero__image-overlay{position:absolute;inset:0;background:linear-gradient(135deg,var(--color-bg) 0%,transparent 50%);z-index:1}
.hero__image--placeholder{background:var(--color-accent);display:flex;align-items:center;justify-content:center}
.hero__image--placeholder svg{width:120px;height:120px;opacity:.2;color:var(--color-bg)}
.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--color-rule)}
.section-header__title{font-size:clamp(2rem,4vw,3.5rem);color:var(--color-text)}
.section-header__link{font-size:var(--size-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);white-space:nowrap;border-bottom:1px solid currentColor;transition:opacity var(--transition-base)}
.section-header__link:hover{opacity:.7}
.post-feed{padding:5rem 0}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.post-grid--featured{grid-template-columns:2fr 1fr;gap:2rem;margin-bottom:2rem}
.post-card{background:var(--color-card-bg);border:1px solid var(--color-rule);border-radius:var(--radius-sm);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--transition-slow),transform var(--transition-slow);position:relative}
.post-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.post-card__image{aspect-ratio:16/9;overflow:hidden;background:var(--color-accent-light);position:relative}
.post-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}
.post-card:hover .post-card__image img{transform:scale(1.05)}
.post-card__image--placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dark) 100%)}
.post-card__image--placeholder svg{width:48px;height:48px;color:rgba(245,242,238,.3)}
.post-card__body{padding:1.75rem;display:flex;flex-direction:column;flex:1}
.post-card__tag{font-size:var(--size-xs);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.75rem}
.post-card__title{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.1;margin-bottom:.875rem;color:var(--color-text);transition:color var(--transition-base)}
.post-card:hover .post-card__title{color:var(--color-accent)}
.post-card__excerpt{font-size:var(--size-sm);line-height:1.7;color:var(--color-text);opacity:.75;margin-bottom:1.25rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--color-rule);margin-top:auto}
.post-card__byline{font-size:var(--size-xs);color:var(--color-text);opacity:.6;letter-spacing:.05em}
.post-card__read-time{font-size:var(--size-xs);font-weight:600;letter-spacing:.08em;color:var(--color-accent);text-transform:uppercase}
.post-card--large .post-card__image{aspect-ratio:4/3}
.post-card--large .post-card__title{font-size:clamp(2rem,3.5vw,3rem)}
.post-card--large .post-card__excerpt{-webkit-line-clamp:4}
.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem;padding:3rem 0;border-top:1px solid var(--color-rule);margin-top:4rem}
.tag-chip{font-size:var(--size-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);padding:.4rem .875rem;border-radius:100px;transition:background var(--transition-base),color var(--transition-base)}
.tag-chip:hover{background:var(--color-accent);color:var(--color-bg)}
.subscribe-section{background:var(--color-accent);padding:7rem 2rem;position:relative;overflow:hidden}
.subscribe-section::before{content:'SUBSCRIBE';position:absolute;bottom:-2rem;right:-1rem;font-family:var(--font-display);font-size:18vw;line-height:1;color:rgba(245,242,238,.05);pointer-events:none;white-space:nowrap;letter-spacing:-.02em}
.subscribe-section__inner{max-width:640px;margin:0 auto;text-align:center;position:relative;z-index:2}
.subscribe-section__eyebrow{font-family:var(--font-body);font-size:var(--size-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,238,.65);margin-bottom:1.5rem}
.subscribe-section__title{font-size:clamp(3rem,6vw,5rem);color:var(--color-bg);margin-bottom:1.25rem;line-height:1}
.subscribe-section__tagline{font-size:var(--size-base);font-style:italic;font-weight:300;color:rgba(245,242,238,.75);margin-bottom:1rem;letter-spacing:.03em}
.subscribe-section__description{font-size:var(--size-sm);color:rgba(245,242,238,.7);line-height:1.7;margin-bottom:2.5rem}
.subscribe-form{display:flex;gap:0;max-width:480px;margin:0 auto 1.25rem;border:1px solid rgba(245,242,238,.3);border-radius:var(--radius-md);overflow:hidden}
.subscribe-form__input{flex:1;background:rgba(245,242,238,.1);border:none;outline:none;padding:1rem 1.25rem;font-family:var(--font-body);font-size:var(--size-sm);color:var(--color-bg);min-width:0}
.subscribe-form__input::placeholder{color:rgba(245,242,238,.45)}
.subscribe-form__button{flex-shrink:0;background:var(--color-bg);border:none;padding:1rem 1.75rem;font-family:var(--font-display);font-size:1rem;letter-spacing:.08em;color:var(--color-accent);cursor:pointer;transition:background var(--transition-base),color var(--transition-base);white-space:nowrap}
.subscribe-form__button:hover{background:var(--color-accent-dark);color:var(--color-bg)}
.subscribe-section__note{font-size:var(--size-xs);color:rgba(245,242,238,.45);letter-spacing:.05em}
.subscribe-section .gh-portal-trigger{display:inline-block;background:var(--color-bg);color:var(--color-accent);font-family:var(--font-display);font-size:1.25rem;letter-spacing:.08em;padding:1rem 2.5rem;border-radius:var(--radius-md);cursor:pointer;border:none;transition:background var(--transition-base);margin-bottom:1.25rem}
.post-hero{padding:5rem 2rem 0;max-width:70%;margin:0 auto}
.post-hero__tag{font-size:var(--size-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.post-hero__tag::before{content:'';display:inline-block;width:2rem;height:1px;background:var(--color-accent)}
.post-hero__title{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;margin-bottom:2rem}
.post-hero__meta{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-rule)}
.post-hero__author{display:flex;align-items:center;gap:.75rem}
.post-hero__author-image{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover;background:var(--color-accent-light)}
.post-hero__author-name{font-size:var(--size-sm);font-weight:600;color:var(--color-text)}
.post-hero__date{font-size:var(--size-sm);color:var(--color-text);opacity:.6}
.post-hero__read-time{font-size:var(--size-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}
.post-hero__image{margin-bottom:4rem;border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:21/9}
.post-hero__image img{width:100%;height:100%;object-fit:cover}
.post-content{max-width:70%;margin:0 auto;padding:0 2rem 6rem}
.post-content h2{font-size:clamp(1.5rem,3vw,2.25rem);margin:3rem 0 1rem}
.post-content h3{font-size:clamp(1.25rem,2.5vw,1.75rem);margin:2.5rem 0 .875rem}
.post-content p,.post-content ul,.post-content ol{font-size:var(--size-lg);line-height:1.85;margin-bottom:1.5rem;color:var(--color-text)}
.post-content ul,.post-content ol{padding-left:1.5rem}
.post-content li{margin-bottom:.5rem}
.post-content a{color:var(--color-accent);border-bottom:1px solid currentColor;transition:opacity var(--transition-base)}
.post-content a:hover{opacity:.7}
.post-content blockquote{border-left:3px solid var(--color-accent);padding:1rem 2rem;margin:2.5rem 0;background:rgba(77,105,104,.06);border-radius:0 var(--radius-md) var(--radius-md) 0}
.post-content blockquote p{font-style:italic;font-size:var(--size-xl);line-height:1.55;margin-bottom:0}
.post-content figure{margin:3rem -2rem}
.post-content figure img{width:100%;border-radius:var(--radius-sm)}
.post-content figcaption{text-align:center;font-size:var(--size-xs);color:var(--color-text);opacity:.5;margin-top:.75rem;letter-spacing:.05em}
.post-content code{font-family:'Courier New',monospace;font-size:.875em;background:rgba(77,105,104,.1);padding:.125em .35em;border-radius:2px;color:var(--color-accent-dark)}
.post-content pre{background:var(--color-text);color:var(--color-bg);padding:1.5rem;border-radius:var(--radius-md);overflow-x:auto;margin:2rem 0}
.post-content pre code{background:none;padding:0;color:inherit;font-size:var(--size-sm)}
.post-content hr{border:none;border-top:1px solid var(--color-rule);margin:3rem 0}
.post-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid var(--color-rule)}
.author-box{background:var(--color-card-bg);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:2rem;display:flex;gap:1.5rem;align-items:flex-start;margin:4rem 0}
.author-box__image{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--color-accent-light)}
.author-box__name{font-size:var(--size-2xl);margin-bottom:.375rem}
.author-box__bio{font-size:var(--size-sm);color:var(--color-text);opacity:.75;line-height:1.65}
.related-posts{padding:5rem 2rem;border-top:1px solid var(--color-rule);max-width:1320px;margin:0 auto}
.related-posts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:4rem 0;border-top:1px solid var(--color-rule)}
.pagination__link{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--size-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);border:1px solid var(--color-accent);padding:.625rem 1.25rem;border-radius:var(--radius-md);transition:background var(--transition-base),color var(--transition-base)}
.pagination__link:hover{background:var(--color-accent);color:var(--color-bg)}
.pagination__info{font-size:var(--size-xs);color:var(--color-text);opacity:.5;letter-spacing:.05em}
.site-footer{background:var(--color-text);color:var(--color-bg);padding:5rem 2rem 3rem}
.site-footer__inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(245,242,238,.1);margin-bottom:2.5rem}
.site-footer__brand .site-logo__name{color:var(--color-bg);font-size:2.5rem;display:block;margin-bottom:1rem}
.site-footer__tagline{font-size:var(--size-sm);font-style:italic;color:rgba(245,242,238,.55);line-height:1.6;letter-spacing:.03em}
.site-footer__heading{font-size:1.25rem;color:rgba(245,242,238,.9);margin-bottom:1.25rem}
.site-footer__nav{list-style:none;display:flex;flex-direction:column;gap:.625rem}
.site-footer__nav a{font-size:var(--size-sm);color:rgba(245,242,238,.55);transition:color var(--transition-base)}
.site-footer__nav a:hover{color:var(--color-bg)}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;max-width:1320px;margin:0 auto}
.site-footer__copyright{font-size:var(--size-xs);color:rgba(245,242,238,.35);letter-spacing:.05em}
.site-footer__ghost-credit{font-size:var(--size-xs);color:rgba(245,242,238,.35)}
.site-footer__ghost-credit a{color:rgba(245,242,238,.55);border-bottom:1px solid currentColor;transition:color var(--transition-base)}
.site-footer__ghost-credit a:hover{color:var(--color-bg)}
.page-hero{padding:6rem 2rem 4rem;max-width:760px;margin:0 auto;text-align:center;border-bottom:1px solid var(--color-rule);margin-bottom:4rem}
.page-content{max-width:700px;margin:0 auto;padding:0 2rem 6rem}
.archive-hero{padding:5rem 2rem 4rem;border-bottom:1px solid var(--color-rule);margin-bottom:0}
.archive-hero__inner{max-width:1320px;margin:0 auto}
.archive-hero__label{font-size:var(--size-xs);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:.875rem;display:flex;align-items:center;gap:.75rem}
.archive-hero__label::before{content:'';display:block;width:2rem;height:1px;background:var(--color-accent)}
.archive-hero__title{font-size:clamp(3rem,7vw,6rem)}
.archive-hero__description{font-size:var(--size-lg);color:var(--color-text);opacity:.7;max-width:600px;margin-top:1.25rem;line-height:1.65}
.error-page{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}
.error-page__code{font-size:clamp(8rem,20vw,18rem);line-height:.85;color:var(--color-accent);opacity:.15;display:block;margin-bottom:-2rem;position:relative;z-index:0}
.error-page__title{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem;position:relative;z-index:1}
.error-page__text{font-size:var(--size-lg);color:var(--color-text);opacity:.65;max-width:480px;margin:0 auto 2rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.125rem;letter-spacing:.08em;background:var(--color-accent);color:var(--color-bg);padding:.875rem 2rem;border-radius:var(--radius-md);border:none;cursor:pointer;transition:background var(--transition-base),transform var(--transition-base)}
.btn:hover{background:var(--color-accent-dark);transform:translateY(-1px)}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.animate-fade-up{animation:fadeUp .65s cubic-bezier(.22,1,.36,1) both}
.animate-fade-in{animation:fadeIn .5s ease both}
.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.35s}.delay-4{animation-delay:.5s}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1024px){.post-grid{grid-template-columns:repeat(2,1fr)}.post-grid--featured{grid-template-columns:1fr}.site-footer__inner{grid-template-columns:1fr 1fr;gap:2.5rem}.hero{grid-template-columns:1fr;min-height:auto}.hero__image{min-height:50vw}.hero__content{padding:3rem 2rem;margin-left:0}.related-posts__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.post-grid{grid-template-columns:1fr}.site-header__inner{padding:.875rem 1.5rem}.site-nav{display:none}.site-nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--color-overlay);backdrop-filter:blur(12px);padding:1.25rem 1.5rem 1.5rem;border-bottom:1px solid var(--color-rule);z-index:99}.site-header__toggle{display:flex}.site-footer__inner{grid-template-columns:1fr;gap:2rem}.related-posts__grid{grid-template-columns:1fr}.section-header{flex-direction:column;gap:.75rem}.subscribe-form{flex-direction:column;border-radius:var(--radius-md)}.subscribe-form__input,.subscribe-form__button{border-radius:var(--radius-md)}.hero{min-height:auto}.hero__image{aspect-ratio:4/3;min-height:auto}.post-hero__title{font-size:clamp(2.5rem,10vw,4rem)}.hero__title{font-size:clamp(3rem,12vw,5rem)}}
@media(max-width:480px){.container{padding:0 1.25rem}.post-card__body{padding:1.25rem}.post-feed{padding:3rem 0}}
.gh-portal-triggerbtn{font-family:var(--font-display)!important}
.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--color-accent);z-index:200;transition:width 50ms linear;width:0%}
.kg-width-wide{margin-left:-8vw;margin-right:-8vw}
.kg-width-full{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw}
.kg-image{max-width:100%}
.kg-image-card{margin:2rem 0}
.kg-image-card img{border-radius:var(--radius-sm)}
.kg-gallery-card{margin:2rem 0}
.kg-gallery-container{display:flex;flex-wrap:wrap;gap:.5rem}
.kg-gallery-row{display:flex;gap:.5rem;width:100%}
.kg-gallery-image{flex:1;min-width:0}
.kg-gallery-image img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm)}
.kg-video-card{margin:2rem 0}
.kg-video-card video{width:100%;border-radius:var(--radius-sm)}
.kg-embed-card{margin:2rem 0;display:flex;justify-content:center}
.kg-embed-card iframe{max-width:100%}
.kg-audio-card{margin:2rem 0;background:var(--color-card-bg);border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:1.5rem}
.kg-callout-card{margin:2rem 0;display:flex;gap:1rem;background:rgba(77,105,104,.08);border-left:3px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1.25rem 1.5rem}
.kg-callout-card-yellow{border-color:#f5a623;background:rgba(245,166,35,.08)}
.kg-callout-card-red{border-color:#e74c3c;background:rgba(231,76,60,.08)}
.kg-callout-card-blue{border-color:#3498db;background:rgba(52,152,219,.08)}
.kg-callout-emoji{font-size:1.5rem;flex-shrink:0}
.kg-callout-text{font-size:var(--size-base);line-height:1.7}
.kg-toggle-card{margin:2rem 0;border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden}
.kg-toggle-heading{padding:1rem 1.25rem;font-weight:600;cursor:pointer}
.kg-toggle-content{padding:1rem 1.25rem;border-top:1px solid var(--color-rule)}
.kg-button-card{margin:2rem 0;display:flex;justify-content:center}
.kg-btn{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:1.125rem;letter-spacing:.06em;background:var(--color-accent);color:var(--color-bg);padding:.75rem 1.75rem;border-radius:var(--radius-md);transition:background var(--transition-base)}
.kg-btn:hover{background:var(--color-accent-dark)}
.kg-divider{border:none;border-top:1px solid var(--color-rule);margin:3rem 0}
.kg-bookmark-card{margin:2rem 0;border:1px solid var(--color-rule);border-radius:var(--radius-md);overflow:hidden;display:flex}
.kg-bookmark-content{padding:1.25rem;flex:1}
.kg-bookmark-title{font-weight:600;margin-bottom:.375rem}
.kg-bookmark-description{font-size:var(--size-sm);opacity:.65}
.kg-bookmark-thumbnail{width:160px;flex-shrink:0}
.kg-bookmark-thumbnail img{width:100%;height:100%;object-fit:cover}
.kg-header-card{margin:2rem 0;padding:4rem 2rem;text-align:center;background:var(--color-accent);border-radius:var(--radius-sm);color:var(--color-bg)}
.kg-product-card{margin:2rem 0;border:1px solid var(--color-rule);border-radius:var(--radius-md);padding:1.5rem}
.kg-nft-card{margin:2rem 0}
@media(max-width:600px){.kg-width-wide{margin-left:-1.25rem;margin-right:-1.25rem}.kg-bookmark-card{flex-direction:column}.kg-bookmark-thumbnail{width:100%;height:160px}}
