:root{--color-primary: #1a1a1a;--color-primary-soft: #2b2b2b;--color-accent: #c65f3e;--color-accent-dark: #a54a2d;--color-bg: #fafaf7;--color-bg-alt: #f2f0ea;--color-surface: #ffffff;--color-text: #2b2b2b;--color-text-muted: #6b6b6b;--color-text-faint: #999999;--color-border: #e4e1d9;--color-border-strong: #d2cec3;--font-heading: Georgia, "Times New Roman", "Noto Serif", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-base: 1.0625rem;--fs-md: 1.1875rem;--fs-lg: 1.4375rem;--fs-xl: 1.75rem;--fs-2xl: 2.25rem;--fs-3xl: 3rem;--fs-4xl: 3.75rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--sp-9: 6rem;--content-width: 1240px;--article-width: 720px;--radius-sm: 3px;--radius: 6px;--radius-lg: 10px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 4px 14px rgba(0, 0, 0, .06);--shadow-lg: 0 14px 36px rgba(0, 0, 0, .1);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--fs-base);line-height:1.6;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,svg,video{display:block;max-width:100%;height:auto}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-accent)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}input,textarea,select{font:inherit;color:inherit}ul,ol{padding-left:1.25em}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-primary);margin:0 0 var(--sp-4);letter-spacing:-.01em}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}p{margin:0 0 var(--sp-4)}.container{width:100%;max-width:var(--content-width);margin:0 auto;padding:0 var(--sp-5)}.container-narrow{width:100%;max-width:var(--article-width);margin:0 auto;padding:0 var(--sp-5)}.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}.skip-link{position:absolute;top:-40px;left:var(--sp-4);background:var(--color-primary);color:var(--color-bg);padding:var(--sp-2) var(--sp-4);z-index:1000;border-radius:var(--radius)}.skip-link:focus{top:var(--sp-4);color:var(--color-bg)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50;transition:box-shadow var(--transition)}.site-header.scrolled{box-shadow:var(--shadow)}.header-tagline{background:var(--color-primary);color:var(--color-bg);text-align:center;font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;padding:var(--sp-2) var(--sp-4)}.header-brand{display:flex;align-items:center;justify-content:center;padding:var(--sp-5) var(--sp-4)}.brand-wordmark{font-family:var(--font-heading);font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;color:var(--color-primary)}.brand-wordmark .accent{color:var(--color-accent)}.brand-logo{display:inline-block;line-height:0}.brand-logo img{display:block;height:56px;width:auto}.footer-logo img{height:48px}@media(max-width:768px){.brand-logo img{height:42px}.footer-logo img{height:40px}}.header-nav-wrap{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.primary-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-6);list-style:none;padding:var(--sp-3) var(--sp-4);margin:0;font-size:var(--fs-sm)}.primary-nav a{text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--color-primary);padding:var(--sp-2) 0;display:inline-block;border-bottom:2px solid transparent;transition:border-color var(--transition)}.primary-nav a:hover,.primary-nav a.active{border-bottom-color:var(--color-accent);color:var(--color-primary)}.menu-toggle{display:none;position:absolute;right:var(--sp-4);top:50%;transform:translateY(-50%);width:40px;height:40px;align-items:center;justify-content:center}.menu-toggle span{display:block;width:22px;height:2px;background:var(--color-primary);position:relative}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--color-primary)}.menu-toggle span:before{top:-7px}.menu-toggle span:after{top:7px}@media(max-width:768px){.header-brand{padding:var(--sp-4);position:relative}.brand-wordmark{font-size:var(--fs-xl)}.menu-toggle{display:flex}.primary-nav{display:none;flex-direction:column;align-items:flex-start;gap:0;padding:0}.primary-nav.open{display:flex}.primary-nav li{width:100%;border-top:1px solid var(--color-border)}.primary-nav a{display:block;padding:var(--sp-4);width:100%}}.hero{display:grid;grid-template-columns:1fr;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin:var(--sp-7) 0 var(--sp-7)}.hero-media{aspect-ratio:16 / 9;overflow:hidden;background:var(--color-bg-alt)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-body{padding:var(--sp-6)}.hero-title{font-size:var(--fs-2xl);margin:var(--sp-3) 0 var(--sp-4)}.hero-excerpt{font-size:var(--fs-md);color:var(--color-text-muted);line-height:1.55;margin-bottom:var(--sp-4)}.hero-meta{font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase}@media(min-width:900px){.hero{grid-template-columns:1.2fr 1fr}.hero-media{aspect-ratio:auto;height:100%;min-height:420px}.hero-body{padding:var(--sp-8);align-self:center}.hero-title{font-size:var(--fs-3xl)}}.section{padding:var(--sp-7) 0;border-top:1px solid var(--color-border)}.section:first-of-type{border-top:0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-6)}.section-head h2{font-size:var(--fs-xl);letter-spacing:-.01em;margin:0;position:relative}.section-head h2:after{content:"";display:block;width:44px;height:3px;background:var(--color-accent);margin-top:var(--sp-2)}.section-link{font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);white-space:nowrap}.section-link:hover{color:var(--color-accent-dark)}.grid{display:grid;gap:var(--sp-5);grid-template-columns:1fr}@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition),box-shadow var(--transition)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.card-media{aspect-ratio:16 / 10;overflow:hidden;background:var(--color-bg-alt)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card:hover .card-media img{transform:scale(1.03)}.card-body{padding:var(--sp-4) var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);flex:1}.card-title{font-size:var(--fs-md);line-height:1.3;margin:0}.card-title a{color:var(--color-primary)}.card-title a:hover{color:var(--color-accent)}.card-excerpt{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0;line-height:1.55}.card-meta{font-size:var(--fs-xs);color:var(--color-text-faint);letter-spacing:.05em;text-transform:uppercase;margin-top:auto}.badge{display:inline-block;font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--color-accent);padding:0}.badge a{color:inherit}.badge a:hover{color:var(--color-accent-dark)}.cat-tiles{display:grid;gap:var(--sp-4);grid-template-columns:1fr}@media(min-width:640px){.cat-tiles{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.cat-tiles{grid-template-columns:repeat(5,1fr)}}.cat-tile{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--sp-5);transition:border-color var(--transition),transform var(--transition)}.cat-tile:hover{border-color:var(--color-accent);transform:translateY(-2px)}.cat-tile-name{font-family:var(--font-heading);font-size:var(--fs-md);color:var(--color-primary);font-weight:700;margin-bottom:var(--sp-2);line-height:1.25}.cat-tile-desc{font-size:var(--fs-sm);color:var(--color-text-muted);line-height:1.5;margin:0}.breadcrumbs{font-size:var(--fs-xs);color:var(--color-text-muted);padding:var(--sp-5) 0 var(--sp-2);letter-spacing:.06em;text-transform:uppercase}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.breadcrumbs li{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0}.breadcrumbs a{color:var(--color-text-muted);font-weight:600}.breadcrumbs a:hover{color:var(--color-accent)}.breadcrumbs .sep{color:var(--color-text-faint)}.breadcrumbs [aria-current=page]{color:var(--color-primary);font-weight:600;text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42ch}.article-hero{margin-top:var(--sp-5);margin-bottom:var(--sp-6)}.article-hero-media{width:100%;aspect-ratio:16 / 9;max-height:460px;overflow:hidden;background:var(--color-bg-alt);border-radius:var(--radius-lg)}.article-hero-media img{width:100%;height:100%;object-fit:cover}@media(max-width:700px){.article-hero-media{max-height:320px}}.article-header{margin:var(--sp-6) auto var(--sp-5);text-align:center}.article-header .badge{margin-bottom:var(--sp-3)}.article-title{font-size:var(--fs-2xl);line-height:1.15;margin:0 0 var(--sp-4);letter-spacing:-.015em}@media(min-width:700px){.article-title{font-size:var(--fs-3xl)}}.article-lead{font-size:var(--fs-md);color:var(--color-text-muted);max-width:620px;margin:0 auto var(--sp-5);line-height:1.55}.article-meta{font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.prose{max-width:var(--article-width);margin:0 auto;font-size:var(--fs-md);line-height:1.7;color:var(--color-text)}.prose h2{font-size:var(--fs-xl);margin-top:var(--sp-7);margin-bottom:var(--sp-4)}.prose h3{font-size:var(--fs-lg);margin-top:var(--sp-6);margin-bottom:var(--sp-3)}.prose p{margin:0 0 var(--sp-5)}.prose a{color:var(--color-accent);border-bottom:1px solid rgba(198,95,62,.3)}.prose a:hover{border-bottom-color:var(--color-accent);color:var(--color-accent-dark)}.prose img{margin:var(--sp-6) 0;border-radius:var(--radius)}.prose figure{margin:var(--sp-6) 0}.prose figure img{margin:0}.prose figcaption{text-align:center;font-size:var(--fs-xs);color:var(--color-text-muted);margin-top:var(--sp-2)}.prose blockquote{margin:var(--sp-6) 0;padding:var(--sp-2) var(--sp-5);border-left:3px solid var(--color-accent);font-style:italic;color:var(--color-text-muted)}.prose ul,.prose ol{margin:0 0 var(--sp-5) 1.25em}.prose li{margin-bottom:var(--sp-2)}.prose code{font-family:var(--font-mono);font-size:.92em;background:var(--color-bg-alt);padding:.12em .35em;border-radius:var(--radius-sm)}.prose pre{background:var(--color-bg-alt);padding:var(--sp-4);border-radius:var(--radius);overflow-x:auto;font-size:var(--fs-sm);line-height:1.55}.prose pre code{background:none;padding:0}.prose hr{border:0;border-top:1px solid var(--color-border);margin:var(--sp-7) 0}.article-footer{max-width:var(--article-width);margin:var(--sp-8) auto;padding-top:var(--sp-5);border-top:1px solid var(--color-border);text-align:center}.author-header{display:grid;grid-template-columns:1fr;gap:var(--sp-5);align-items:center;padding:var(--sp-6) 0 var(--sp-7);border-bottom:1px solid var(--color-border);margin-bottom:var(--sp-6)}@media(min-width:700px){.author-header{grid-template-columns:160px 1fr;gap:var(--sp-7)}}.author-avatar{width:160px;height:160px;border-radius:50%;overflow:hidden;background:var(--color-bg-alt);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.author-avatar img{width:100%;height:100%;object-fit:cover}.author-initials{font-family:var(--font-heading);font-size:3rem;font-weight:700;color:var(--color-accent);letter-spacing:-.02em}.author-role{font-size:var(--fs-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent);font-weight:700;margin:0 0 var(--sp-2)}.author-name{font-size:var(--fs-3xl);margin:0 0 var(--sp-4);line-height:1.1}.author-bio{color:var(--color-text-muted);font-size:var(--fs-md);line-height:1.6;max-width:62ch;margin:0}.section-meta{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);font-weight:600}.byline-link{color:inherit;font-weight:600;border-bottom:1px solid transparent;transition:border-color var(--transition),color var(--transition)}.byline-link:hover{color:var(--color-accent);border-bottom-color:var(--color-accent)}.ad-slot{margin:var(--sp-7) auto;padding:var(--sp-4) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:center;min-height:280px}.ad-slot:before{content:"Advertisement";display:block;font-size:var(--fs-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--sp-3)}.ad-slot ins.adsbygoogle{display:block;margin:0 auto;max-width:100%}@media(max-width:480px){.ad-slot{min-height:260px}}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-7) 0;list-style:none;margin:0;font-size:var(--fs-sm)}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--sp-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-primary);font-weight:600}.pagination a:hover{border-color:var(--color-accent);color:var(--color-accent)}.pagination .current{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}.pagination .disabled{opacity:.4;pointer-events:none}.site-footer{background:var(--color-primary);color:var(--color-bg);padding:var(--sp-8) 0 var(--sp-6);margin-top:var(--sp-9)}.site-footer a{color:var(--color-bg)}.site-footer a:hover{color:var(--color-accent)}.footer-top{display:grid;gap:var(--sp-6);grid-template-columns:1fr;padding-bottom:var(--sp-6);border-bottom:1px solid rgba(255,255,255,.12)}@media(min-width:700px){.footer-top{grid-template-columns:2fr 1fr 1fr}}.footer-brand .brand-wordmark{color:var(--color-bg)}.footer-brand .brand-wordmark .accent{color:var(--color-accent)}.footer-brand p{font-size:var(--fs-sm);color:#fafaf7b3;max-width:420px;margin-top:var(--sp-3);line-height:1.6}.footer-nav h3{font-size:var(--fs-xs);letter-spacing:.15em;text-transform:uppercase;color:#fafaf78c;margin-bottom:var(--sp-3)}.footer-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-2)}.footer-nav a{font-size:var(--fs-sm)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3);padding-top:var(--sp-5);font-size:var(--fs-xs);color:#fafaf780}.form{display:flex;flex-direction:column;gap:var(--sp-4);max-width:560px}.form label{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:600;color:var(--color-primary)}.form input,.form textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-base);font-weight:400;color:var(--color-text);transition:border-color var(--transition)}.form input:focus,.form textarea:focus{outline:none;border-color:var(--color-accent)}.form textarea{min-height:160px;resize:vertical}.form .honey{position:absolute;left:-10000px;opacity:0;height:0;width:0}.button{display:inline-block;background:var(--color-primary);color:var(--color-bg);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);border:0;cursor:pointer;transition:background var(--transition);align-self:flex-start}.button:hover{background:var(--color-accent)}.notice{padding:var(--sp-4) var(--sp-5);border-radius:var(--radius);font-size:var(--fs-sm);margin-bottom:var(--sp-5)}.notice.success{background:#e8f3ea;color:#1e5a2d}.notice.error{background:#f8e6e1;color:#7a2a14}.error-page{text-align:center;padding:var(--sp-9) var(--sp-5)}.error-page h1{font-size:var(--fs-4xl);color:var(--color-accent);margin-bottom:var(--sp-3)}.error-page p{color:var(--color-text-muted)}
