/* Copied from src/styles/global.css to ensure it's available at /styles/global.css */

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial;line-height:1.5;-webkit-text-size-adjust:100%}
img,svg,video{max-width:100%;height:auto;display:block}

:root{
	--ink:#0f1a17;
	--forest:#2a3f36;
	--forest-dark:#1b2a20;
	--forest-deep:#0f1713;

	--cream:#f3efe6;
	--cream-2:#efe8db;
	--stone:#a69d8c;
	--stone-light:#cbc4b7;

	--gold:#a88a50;
	--gold-soft:#c5aa73;

	--text:#1a1d1b;
	--muted:#6b6b61;
	--muted-2:#918b80;

	--border:rgba(24,39,30,0.12);
	--shadow-soft:0 10px 26px rgba(0,0,0,0.18);

	--container:1320px;
	--ease:cubic-bezier(.4,0,.2,1);
	--radius-sm:6px;--radius-md:10px;--radius-lg:18px;

	--type-ui: 'InterVariable',system-ui,-apple-system,'Segoe UI',Roboto,Arial;
	--type-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--lead-scale:clamp(1rem,1.02vw,1.15rem);
	--copy-scale:clamp(1rem,1.1vw,1.125rem);
}

html{font-size:16px}
body{background:var(--cream);color:var(--ink);font-family:var(--type-ui);font-size:var(--copy-scale);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{font-family:var(--type-serif);color:var(--ink);margin:0 0 .6rem}
p{margin:0 0 1rem}
.prose{max-width:68ch}

.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.page-inner{padding-block:48px}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:9999;background:var(--cream);color:var(--forest-dark);padding:.5rem .75rem;border-radius:6px;transform:translateY(-160%);transition:transform .18s var(--ease)}
.skip-link:focus{transform:translateY(0)}

header.site-header{position:sticky;top:0;z-index:120;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.02));backdrop-filter:blur(4px);border-bottom:1px solid transparent;transition:background .25s var(--ease),box-shadow .25s var(--ease)}
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
.brand{display:flex;flex-direction:column}
.site-logo{font-family:var(--type-serif);font-weight:700;font-size:1.05rem;color:var(--forest-dark);text-decoration:none}
.site-sub{font-size:.72rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:6px}

.nav-row{display:flex;align-items:center;gap:24px}
.main-nav{display:flex;gap:20px;list-style:none;padding:0;margin:0}
.main-nav a{color:var(--ink);text-decoration:none;padding:8px 4px;font-weight:600;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a:focus{color:var(--forest);border-bottom-color:transparent}
.nav-cta{background:var(--forest);color:var(--cream);padding:10px 14px;border-radius:8px;font-weight:700;text-decoration:none}

.menu-toggle{display:none;background:transparent;border:1px solid var(--border);padding:8px 10px;border-radius:8px}
.mobile-menu{display:none}

.hero{min-height:72vh;display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:center;padding-block:80px}
.hero--dark{background:var(--forest-deep);color:var(--cream)}
.hero-eyebrow{font-family:var(--type-ui);text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:700;font-size:.82rem;margin-bottom:.6rem}
.hero-title{font-family:var(--type-serif);font-size:clamp(48px,8vw,96px);line-height:0.86;margin:0;color:inherit}
.hero-intro{margin-top:1rem;color:var(--muted-2);max-width:58ch}
.hero-actions{margin-top:2rem;display:flex;gap:12px}
.hero-portrait{width:100%;height:100%;align-self:stretch;display:flex;align-items:center;justify-content:center}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:8px;box-shadow:var(--shadow-soft)}

section{padding-block:72px}
.section--cream{background:var(--cream)}
.section--stone{background:linear-gradient(180deg,var(--stone-light),var(--cream))}
.section--image{padding:0}
.section-inner{padding-block:48px}

.two-col{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start}
.stack{display:block}

.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.78rem 1.05rem;border-radius:10px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.btn--primary{background:var(--forest);color:var(--cream)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(11,20,16,0.25)}
.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--ink)}

.image-panel{overflow:hidden}
.image-panel img{display:block;width:100%;height:100%;object-fit:cover}
.image-bleed{width:100%;height:420px;object-fit:cover}

.manifesto-body{max-width:760px;margin:auto;font-family:var(--type-serif);font-size:1.06rem;line-height:1.8;color:var(--ink);padding:36px 0}
.manifesto-quote{font-family:var(--type-serif);font-size:1.6rem;color:var(--forest);line-height:1.1;margin:18px 0;padding-left:18px;border-left:4px solid var(--gold)}

footer.site-footer{background:var(--forest-deep);color:var(--cream);padding-block:56px}
.footer-inner{display:grid;grid-template-columns:1fr 1fr 320px;gap:28px}
.footer-logo{font-family:var(--type-serif);font-weight:700;font-size:1.15rem}
.footer-nav{display:flex;flex-direction:column;gap:10px}
.footer-contact{color:var(--cream-2);font-size:0.95rem}
.footer-bottom{margin-top:28px;border-top:1px solid rgba(255,255,255,0.04);padding-top:18px;font-size:.92rem;color:rgba(255,255,255,0.7)}

.quote-block{font-family:var(--type-serif);font-size:1.4rem;color:var(--ink);background:transparent;padding:1.4rem 1.6rem;border-left:4px solid var(--gold)}

:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media (max-width:1100px){.hero{grid-template-columns:1fr 360px}.two-col{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}}
@media (max-width:720px){.menu-toggle{display:block}.main-nav{display:none}.hero{grid-template-columns:1fr;gap:20px;padding-block:48px}.hero-title{font-size:clamp(32px,10vw,48px)}.hero-portrait{order: -1}}

@media print{body{background:#fff;color:#000}.site-header,footer.site-footer{display:none}.manifesto-body{max-width:720px}}