:root {
    --gf-bg: #071015;
    --gf-bg-deep: #03080b;
    --gf-panel: #09141a;
    --gf-panel-soft: #0d1a20;
    --gf-ink: #f1eee7;
    --gf-muted: #b8b1a6;
    --gf-gold: #c28b38;
    --gf-gold-soft: #a97935;
    --gf-line: rgba(194, 139, 56, 0.43);
    --gf-paper: #e8e0d2;
    --gf-paper-ink: #201d18;
    --gf-serif: Georgia, 'Times New Roman', serif;
    --gf-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --gf-max: 1440px;
    --gf-shadow: 0 28px 80px rgba(0,0,0,.34);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background:
        radial-gradient(circle at 72% 8%, rgba(59, 76, 78, .18), transparent 28rem),
        linear-gradient(180deg, var(--gf-bg-deep), var(--gf-bg));
    color: var(--gf-ink);
    font-family: var(--gf-sans);
    font-size: 16px;
    line-height: 1.65;
}
body.gf-menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.screen-reader-text, .gf-skip-link:not(:focus) { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.gf-skip-link:focus { position:fixed; z-index:10000; top:1rem; left:1rem; background:#fff; color:#000; padding:.75rem 1rem; }

.gf-site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(194,139,56,.2);
    background: rgba(3,8,11,.88);
    backdrop-filter: blur(16px);
    transition: box-shadow .25s ease, background .25s ease;
}
.gf-site-header.is-scrolled { box-shadow: 0 12px 36px rgba(0,0,0,.36); background: rgba(3,8,11,.96); }
.gf-header-inner { max-width: var(--gf-max); margin: 0 auto; min-height: 82px; padding: 0 2rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.gf-brand { display:inline-flex; flex-direction:column; gap:.1rem; flex-shrink:0; }
.gf-brand-name { font-family:var(--gf-serif); text-transform:uppercase; letter-spacing:.18em; font-size:1.35rem; line-height:1.2; }
.gf-brand-tag { color:var(--gf-gold); text-transform:uppercase; letter-spacing:.18em; font-size:.58rem; font-weight:700; }
.custom-logo { max-height:58px; width:auto; }
.gf-menu { list-style:none; display:flex; align-items:center; gap:1.8rem; margin:0; padding:0; }
.gf-menu a { position:relative; text-transform:uppercase; letter-spacing:.08em; font-size:.73rem; color:#d6d1c8; }
.gf-menu a::after { content:''; position:absolute; left:0; right:100%; bottom:-.75rem; height:1px; background:var(--gf-gold); transition:right .25s ease; }
.gf-menu a:hover::after, .gf-menu .current-menu-item a::after { right:0; }
.gf-menu a:hover { color:#fff; }
.gf-menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--gf-line); background:transparent; padding:10px; }
.gf-menu-toggle span:not(.screen-reader-text) { display:block; height:1px; background:var(--gf-ink); margin:5px 0; }

.gf-hero {
    position:relative;
    isolation:isolate;
    max-width: var(--gf-max);
    min-height: 650px;
    margin: 0 auto;
    display:grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, .75fr) 220px;
    overflow:hidden;
    border-bottom:1px solid var(--gf-line);
}
.gf-hero::before { content:''; position:absolute; inset:0; z-index:-3; background:linear-gradient(90deg, rgba(3,8,11,.98) 0%, rgba(3,8,11,.9) 40%, rgba(3,8,11,.1) 74%, rgba(3,8,11,.72) 100%); }
.gf-hero::after { content:''; position:absolute; inset:0; z-index:-4; opacity:.18; background-image:linear-gradient(rgba(194,139,56,.12) 1px, transparent 1px),linear-gradient(90deg,rgba(194,139,56,.12) 1px, transparent 1px); background-size:48px 48px; mask-image:linear-gradient(90deg,#000,transparent 72%); }
.gf-hero-copy { position:relative; z-index:3; align-self:center; padding:6rem 2.25rem 5rem 3rem; }
.gf-eyebrow, .gf-panel-label, .gf-kicker { margin:0 0 1rem; color:var(--gf-gold); text-transform:uppercase; letter-spacing:.2em; font-size:.74rem; font-weight:700; }
.gf-hero h1 { margin:0; font-family:var(--gf-serif); font-weight:400; text-transform:uppercase; letter-spacing:.04em; font-size:clamp(3.7rem, 7vw, 7.25rem); line-height:.92; }
.gf-roles { max-width:720px; margin:1.4rem 0 0; font-family:var(--gf-serif); font-size:clamp(1.2rem, 2vw, 1.65rem); font-style:italic; line-height:1.45; color:#e6e0d5; }
.gf-gold-rule { width:96px; height:2px; margin:1.65rem 0 1.4rem; background:var(--gf-gold); }
.gf-hero-intro { max-width:660px; color:#d0cbc2; font-family:var(--gf-serif); font-size:1.05rem; }
.gf-hero-intro p { margin:.5rem 0; }
.gf-button-row { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.gf-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; border:1px solid var(--gf-line); padding:.8rem 1.35rem; text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:700; transition:background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease; }
.gf-button:hover { transform:translateY(-2px); border-color:var(--gf-gold); background:rgba(194,139,56,.12); }
.gf-button-gold { color:#111; background:linear-gradient(135deg,#d5a14f,#a9742d); border-color:#d2a050; }
.gf-button-gold:hover { background:#e0b160; }
.gf-hero-portrait { position:relative; z-index:1; min-height:650px; background-image:linear-gradient(180deg,transparent 70%,var(--gf-bg-deep)), var(--gf-portrait); background-position:center top; background-size:cover; filter:saturate(.78) contrast(1.05); }
.gf-hero-portrait::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--gf-bg-deep),transparent 32%); }
.gf-hero-collage { display:grid; grid-template-rows:repeat(3,1fr); gap:1px; background:var(--gf-line); }
.gf-mini-panel { background-position:center; background-size:cover; filter:saturate(.6) brightness(.55); }
.gf-panel-one { background-image:url('../images/think.jpg'); }
.gf-panel-two { background-image:url('../images/archive.jpg'); }
.gf-panel-three { background-image:url('../images/practice.jpg'); }

.gf-section { max-width:var(--gf-max); margin:0 auto; padding:2.5rem 2rem; }
.gf-section-heading { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.5rem; margin-bottom:1.5rem; }
.gf-section-heading span { height:1px; background:linear-gradient(90deg,transparent,var(--gf-line)); }
.gf-section-heading span:last-child { background:linear-gradient(90deg,var(--gf-line),transparent); }
.gf-section-heading h2 { margin:0; color:var(--gf-gold); text-transform:uppercase; letter-spacing:.24em; font-size:.88rem; font-weight:600; }
.gf-pathway-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.75rem; }
.gf-pathway-card { position:relative; min-height:320px; border:1px solid var(--gf-line); background:var(--gf-panel); overflow:hidden; padding:10.5rem 1.2rem 1.5rem; text-align:center; transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.gf-pathway-card:hover { transform:translateY(-7px); border-color:var(--gf-gold); box-shadow:var(--gf-shadow); }
.gf-pathway-image { position:absolute; inset:0 0 auto; height:180px; background-position:center; background-size:cover; filter:saturate(.55) brightness(.55); transition:filter .3s ease,transform .6s ease; }
.gf-pathway-card:hover .gf-pathway-image { filter:saturate(.8) brightness(.72); transform:scale(1.04); }
.gf-pathway-card::after { content:''; position:absolute; inset:95px 0 auto; height:110px; background:linear-gradient(transparent,var(--gf-panel)); }
.gf-pathway-icon { position:relative; z-index:2; display:grid; place-items:center; width:38px; height:38px; margin:0 auto .35rem; border:1px solid var(--gf-gold); border-radius:50%; color:var(--gf-gold); font-family:var(--gf-serif); }
.gf-pathway-card h3 { position:relative; z-index:2; margin:.4rem 0; color:var(--gf-gold); font-family:var(--gf-serif); text-transform:uppercase; letter-spacing:.08em; font-weight:400; font-size:1.25rem; }
.gf-pathway-card p { position:relative; z-index:2; margin:.6rem 0 0; color:#c6c0b7; font-family:var(--gf-serif); font-size:.86rem; line-height:1.5; }

.gf-dashboard { display:grid; grid-template-columns:.95fr 1.2fr .85fr; gap:.8rem; padding-top:0; }
.gf-panel { border:1px solid var(--gf-line); background:linear-gradient(145deg,rgba(12,25,31,.94),rgba(5,13,17,.98)); padding:1.35rem; }
.gf-panel-label { margin-bottom:1.2rem; }
.gf-project-list { display:grid; gap:.85rem; }
.gf-project-item { display:grid; grid-template-columns:58px 1fr auto; gap:.8rem; align-items:center; padding-bottom:.85rem; border-bottom:1px solid rgba(194,139,56,.14); }
.gf-project-thumb { width:58px; aspect-ratio:1; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(194,139,56,.25); color:var(--gf-gold); font-family:var(--gf-serif); background:#101b1f; }
.gf-project-thumb img { width:100%; height:100%; object-fit:cover; }
.gf-project-item h3 { margin:0; font-family:var(--gf-serif); font-size:.95rem; font-weight:400; }
.gf-project-item p { margin:.12rem 0 0; color:var(--gf-muted); font-size:.72rem; line-height:1.45; }
.gf-status { color:var(--gf-gold); text-transform:uppercase; letter-spacing:.08em; font-size:.55rem; white-space:nowrap; }
.gf-text-link { display:inline-block; margin-top:1.15rem; color:var(--gf-gold); text-transform:uppercase; letter-spacing:.1em; font-size:.65rem; font-weight:700; }
.gf-text-link:hover { color:#e4b56e; }
.gf-timeline { position:relative; overflow:hidden; }
.gf-timeline::after { content:''; position:absolute; inset:0; opacity:.07; background:url('../images/world-map.jpg') center/cover; pointer-events:none; }
.gf-timeline ol { position:relative; z-index:1; list-style:none; margin:.5rem 0; padding:0 0 0 1.65rem; }
.gf-timeline ol::before { content:''; position:absolute; left:.45rem; top:.45rem; bottom:.45rem; width:1px; background:var(--gf-gold); }
.gf-timeline li { position:relative; display:grid; grid-template-columns:100px 1fr; gap:.75rem; margin:0 0 1.05rem; }
.gf-timeline li::before { content:''; position:absolute; left:-1.42rem; top:.45rem; width:10px; height:10px; border-radius:50%; background:var(--gf-gold); box-shadow:0 0 0 3px rgba(194,139,56,.12); }
.gf-timeline span { color:var(--gf-gold); font-family:var(--gf-serif); font-size:.84rem; }
.gf-timeline strong { font-family:var(--gf-serif); font-size:.88rem; font-weight:400; color:#d9d3c9; }
.gf-philosophy blockquote { margin:1.2rem .5rem 0; font-family:var(--gf-serif); color:#e1dbd1; font-size:1.02rem; line-height:1.62; }
.gf-philosophy blockquote::before { content:'“'; display:block; color:var(--gf-gold); font-size:3.2rem; line-height:.5; }
.gf-philosophy blockquote p { margin:.65rem 0; }
.gf-signature { margin:1.2rem 0 0; color:#d9a756; font-family:'Brush Script MT',cursive; font-size:2rem; transform:rotate(-4deg); text-align:right; }

.gf-lower-grid { display:grid; grid-template-columns:.84fr 1.35fr .72fr; gap:.8rem; padding-top:0; }
.gf-media-image { position:relative; min-height:190px; background:linear-gradient(rgba(3,8,11,.12),rgba(3,8,11,.32)),url('../images/featured-media.jpg') center/cover; display:grid; place-items:center; border:1px solid rgba(194,139,56,.2); }
.gf-play { width:58px; height:58px; display:grid; place-items:center; border:2px solid #fff; border-radius:50%; background:rgba(3,8,11,.38); padding-left:4px; }
.gf-media-card h3 { margin:1rem 0 .1rem; font-family:var(--gf-serif); font-style:italic; font-weight:400; }
.gf-media-card > p:last-child { margin:.15rem 0 0; color:var(--gf-muted); font-size:.8rem; }
.gf-living-record { display:grid; grid-template-columns:1fr 1fr; min-height:330px; background:var(--gf-paper); color:var(--gf-paper-ink); }
.gf-paper-copy { align-self:center; padding:2.3rem; }
.gf-paper-copy .gf-kicker { color:#3c3326; }
.gf-paper-copy p { font-family:var(--gf-serif); font-size:.9rem; }
.gf-paper-copy .gf-text-link { color:#7d5421; }
.gf-record-image { background:url('../images/living-record.jpg') center/cover; }
.gf-connect-card { position:relative; overflow:hidden; }
.gf-connect-card p { color:#cbc4b8; font-family:var(--gf-serif); font-size:.9rem; }
.gf-map-mark { position:absolute; right:1rem; bottom:-2.4rem; color:rgba(194,139,56,.18); font-size:9rem; line-height:1; }
.gf-vault-strip { max-width:calc(var(--gf-max) - 4rem); margin:0 auto 2.5rem; padding:1.7rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; border:1px solid var(--gf-line); background:linear-gradient(90deg,#071015,#111c20); }
.gf-vault-strip h2 { margin:0; font-family:var(--gf-serif); font-weight:400; text-transform:uppercase; letter-spacing:.08em; }
.gf-vault-strip p { margin:.3rem 0 0; max-width:780px; color:var(--gf-muted); }

.gf-site-footer { border-top:1px solid var(--gf-line); background:#040a0d; }
.gf-footer-inner { max-width:var(--gf-max); margin:0 auto; min-height:150px; padding:2rem; display:grid; grid-template-columns:auto 1.2fr 1fr auto; gap:1.6rem; align-items:center; }
.gf-footer-mark { width:52px; height:52px; display:grid; place-items:center; border:1px solid var(--gf-gold); border-radius:50%; color:var(--gf-gold); font-family:var(--gf-serif); font-size:1.2rem; }
.gf-footer-quote { margin:0; color:var(--gf-muted); font-family:var(--gf-serif); font-style:italic; font-size:.8rem; }
.gf-footer-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1rem; }
.gf-footer-menu a { color:var(--gf-muted); text-transform:uppercase; letter-spacing:.08em; font-size:.62rem; }
.gf-copyright { margin:0; color:#777; font-size:.65rem; white-space:nowrap; }

.gf-content-shell { width:min(var(--gf-max),calc(100% - 4rem)); min-height:60vh; margin:0 auto; padding:5rem 0; }
.gf-reading-shell { width:min(880px,calc(100% - 3rem)); }
.gf-page-header { margin-bottom:2.5rem; }
.gf-page-header h1 { margin:0; font-family:var(--gf-serif); font-weight:400; font-size:clamp(2.6rem,7vw,5.5rem); line-height:1; }
.gf-page-featured { margin:0 0 2.5rem; }
.gf-entry-content { color:#d4cec4; }
.gf-entry-content h2,.gf-entry-content h3,.gf-entry-content h4 { color:#fff; font-family:var(--gf-serif); font-weight:400; }
.gf-entry-content a { color:var(--gf-gold); text-decoration:underline; }
.gf-entry-content blockquote { border-left:2px solid var(--gf-gold); margin:2rem 0; padding-left:1.5rem; font-family:var(--gf-serif); font-size:1.25rem; }
.gf-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.gf-post-card { border:1px solid var(--gf-line); padding:1.25rem; background:var(--gf-panel); }
.gf-post-card h2 { font-family:var(--gf-serif); font-weight:400; }
.gf-post-card img { aspect-ratio:16/10; object-fit:cover; }
.gf-builder-canvas { min-height:60vh; }
.gf-builder-blank { margin:0; }
.gf-404 { text-align:center; }
.gf-404 .gf-button { margin-top:1rem; }

.gf-reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.gf-reveal.is-visible { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
    .gf-reveal { opacity:1; transform:none; }
}

@media (max-width: 1180px) {
    .gf-menu { gap:1rem; }
    .gf-menu a { font-size:.65rem; }
    .gf-hero { grid-template-columns:1.15fr .85fr; }
    .gf-hero-collage { display:none; }
    .gf-pathway-grid { grid-template-columns:repeat(3,1fr); }
    .gf-dashboard { grid-template-columns:1fr 1fr; }
    .gf-philosophy { grid-column:1/-1; }
    .gf-lower-grid { grid-template-columns:1fr 1fr; }
    .gf-connect-card { grid-column:1/-1; }
}

@media (max-width: 900px) {
    .gf-header-inner { min-height:72px; padding:0 1.2rem; }
    .gf-menu-toggle { display:block; }
    .gf-primary-nav { display:none; position:fixed; inset:72px 0 0; background:rgba(3,8,11,.98); padding:2rem; overflow:auto; }
    .gf-primary-nav.is-open { display:block; }
    .gf-menu { flex-direction:column; align-items:flex-start; gap:0; }
    .gf-menu li { width:100%; border-bottom:1px solid rgba(194,139,56,.18); }
    .gf-menu a { display:block; padding:1.1rem 0; font-family:var(--gf-serif); font-size:1.25rem; }
    .gf-menu a::after { display:none; }
    .gf-hero { min-height:auto; grid-template-columns:1fr; }
    .gf-hero-copy { padding:4rem 1.5rem 2rem; }
    .gf-hero-portrait { min-height:520px; background-position:center 15%; }
    .gf-pathway-grid { grid-template-columns:repeat(2,1fr); }
    .gf-dashboard,.gf-lower-grid { grid-template-columns:1fr; }
    .gf-philosophy,.gf-connect-card { grid-column:auto; }
    .gf-living-record { min-height:360px; }
    .gf-footer-inner { grid-template-columns:auto 1fr; }
    .gf-copyright { grid-column:1/-1; white-space:normal; }
    .gf-post-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
    .gf-brand-name { font-size:1rem; }
    .gf-brand-tag { font-size:.48rem; }
    .gf-hero h1 { font-size:clamp(3.2rem,17vw,5rem); }
    .gf-roles { font-size:1.08rem; }
    .gf-button-row { flex-direction:column; }
    .gf-button { width:100%; }
    .gf-section { padding:2rem 1rem; }
    .gf-pathway-grid { grid-template-columns:1fr; }
    .gf-pathway-card { min-height:290px; }
    .gf-dashboard { padding-top:0; }
    .gf-project-item { grid-template-columns:50px 1fr; }
    .gf-status { grid-column:2; }
    .gf-timeline li { grid-template-columns:1fr; gap:.15rem; }
    .gf-living-record { grid-template-columns:1fr; }
    .gf-record-image { min-height:220px; }
    .gf-vault-strip { max-width:calc(100% - 2rem); flex-direction:column; align-items:flex-start; }
    .gf-footer-inner { grid-template-columns:1fr; }
    .gf-footer-mark { margin:auto; }
    .gf-footer-quote,.gf-copyright { text-align:center; }
    .gf-post-grid { grid-template-columns:1fr; }
    .gf-content-shell { width:calc(100% - 2rem); }
}

/* ==========================================================
   Personal Institution 2.0 — approved compact homepage layout
   ========================================================== */
:root {
    --gf-max: 1460px;
    --gf-gold: #bd7f2f;
    --gf-line: rgba(189, 127, 47, .38);
}

.gf-header-inner {
    min-height: 76px;
    padding-inline: 2.75rem;
}
.gf-brand-name { font-size: 1.22rem; }
.gf-brand-tag { font-size: .52rem; }
.gf-menu { gap: 2.65rem; }
.gf-menu a { font-size: .66rem; }

.gf-hero {
    min-height: 385px;
    grid-template-columns: minmax(0, 1.12fr) minmax(440px, .76fr) 190px;
}
.gf-hero::before {
    background: linear-gradient(90deg, rgba(3,8,11,.99) 0%, rgba(3,8,11,.93) 43%, rgba(3,8,11,.12) 71%, rgba(3,8,11,.74) 100%);
}
.gf-hero-copy {
    padding: 2.25rem 2.25rem 2.1rem 4.3rem;
}
.gf-eyebrow,
.gf-panel-label,
.gf-kicker {
    margin-bottom: .7rem;
    font-size: .67rem;
}
.gf-hero h1 {
    font-size: clamp(3.55rem, 5.15vw, 5.35rem);
    letter-spacing: .035em;
}
.gf-roles {
    max-width: 680px;
    margin-top: .85rem;
    font-size: clamp(1rem, 1.35vw, 1.25rem);
    line-height: 1.35;
}
.gf-gold-rule {
    width: 78px;
    margin: 1.05rem 0 .95rem;
}
.gf-hero-intro {
    max-width: 590px;
    font-size: .88rem;
    line-height: 1.48;
}
.gf-button-row {
    gap: .85rem;
    margin-top: 1.25rem;
}
.gf-button {
    min-height: 42px;
    padding: .64rem 1.3rem;
    font-size: .61rem;
}
.gf-hero-portrait {
    min-height: 385px;
    background-position: center top;
    background-size: cover;
    filter: saturate(.88) contrast(1.03);
}
.gf-hero-portrait::before {
    background: linear-gradient(90deg, var(--gf-bg-deep), transparent 18%);
}

.gf-section {
    padding: 1.1rem 4.25rem;
}
.gf-section-heading {
    gap: 1rem;
    margin-bottom: .72rem;
}
.gf-section-heading h2 {
    font-size: .72rem;
}
.gf-pathway-grid { gap: .55rem; }
.gf-pathway-card {
    min-height: 174px;
    padding: 6.35rem .82rem .8rem;
}
.gf-pathway-image { height: 108px; }
.gf-pathway-card::after {
    inset: 55px 0 auto;
    height: 86px;
}
.gf-pathway-icon {
    width: 31px;
    height: 31px;
    margin-bottom: .15rem;
    font-size: .78rem;
}
.gf-pathway-card h3 {
    margin: .15rem 0;
    font-size: .92rem;
}
.gf-pathway-card p {
    margin-top: .2rem;
    font-size: .66rem;
    line-height: 1.35;
}

.gf-dashboard {
    display: grid;
    grid-template-columns: 1.25fr 1.25fr .8fr .8fr;
    grid-template-areas:
        "current timeline philosophy connect"
        "media living philosophy connect";
    gap: .62rem;
    align-items: stretch;
    padding-top: 0;
    padding-bottom: 1rem;
}
.gf-current-work { grid-area: current; }
.gf-timeline { grid-area: timeline; }
.gf-media-card { grid-area: media; }
.gf-living-record { grid-area: living; }
.gf-philosophy { grid-area: philosophy; }
.gf-connect-card { grid-area: connect; }
.gf-panel { padding: .88rem 1rem; }
.gf-panel-label { margin-bottom: .65rem; }
.gf-project-list { gap: .45rem; }
.gf-project-item {
    grid-template-columns: 42px 1fr auto;
    gap: .55rem;
    padding-bottom: .42rem;
}
.gf-project-thumb { width: 42px; }
.gf-project-item h3 { font-size: .72rem; line-height: 1.2; }
.gf-project-item p { font-size: .56rem; line-height: 1.25; }
.gf-status { font-size: .45rem; }
.gf-text-link {
    margin-top: .55rem;
    font-size: .52rem;
}
.gf-timeline ol {
    margin: .15rem 0;
    padding-left: 1.35rem;
}
.gf-timeline ol::before { left: .35rem; }
.gf-timeline li {
    grid-template-columns: 54px 1fr;
    gap: .45rem;
    margin-bottom: .45rem;
}
.gf-timeline li::before {
    left: -1.13rem;
    top: .28rem;
    width: 7px;
    height: 7px;
}
.gf-timeline span { font-size: .64rem; }
.gf-timeline strong { font-size: .62rem; line-height: 1.25; }
.gf-philosophy blockquote {
    margin: .85rem .05rem 0;
    font-size: .79rem;
    line-height: 1.52;
}
.gf-philosophy blockquote::before { font-size: 2.55rem; }
.gf-signature { font-size: 1.55rem; }
.gf-connect-card p {
    font-size: .72rem;
    line-height: 1.55;
}
.gf-map-mark {
    right: .7rem;
    bottom: -1.2rem;
    font-size: 6.5rem;
}
.gf-media-card {
    display: grid;
    grid-template-columns: 48% 1fr;
    grid-template-rows: auto 1fr;
    column-gap: .75rem;
}
.gf-media-card .gf-panel-label { grid-column: 1 / -1; }
.gf-media-image {
    min-height: 98px;
}
.gf-play {
    width: 35px;
    height: 35px;
    font-size: .68rem;
}
.gf-media-copy { align-self: center; }
.gf-media-card h3 {
    margin: 0 0 .12rem;
    font-size: .72rem;
    line-height: 1.35;
}
.gf-media-card > p:last-child,
.gf-media-copy p {
    margin: 0;
    color: var(--gf-muted);
    font-size: .58rem;
}
.gf-living-record {
    min-height: 132px;
    grid-template-columns: 1.1fr .9fr;
}
.gf-paper-copy { padding: 1rem 1.25rem; }
.gf-paper-copy .gf-kicker { margin-bottom: .35rem; }
.gf-paper-copy p {
    margin: .25rem 0;
    font-size: .62rem;
    line-height: 1.35;
}
.gf-record-image { min-height: 132px; }

.gf-site-footer { margin-top: 0; }
.gf-footer-inner {
    min-height: 94px;
    padding: 1.15rem 4.25rem;
    grid-template-columns: auto 1.3fr 1fr auto;
}
.gf-footer-mark {
    width: 43px;
    height: 43px;
    font-size: 1rem;
}
.gf-footer-quote { font-size: .62rem; }
.gf-footer-menu a { font-size: .52rem; }
.gf-copyright { font-size: .55rem; }

@media (max-width: 1280px) {
    .gf-menu { gap: 1.25rem; }
    .gf-hero { grid-template-columns: 1.08fr .76fr 165px; }
    .gf-hero-copy { padding-left: 2.6rem; }
    .gf-section { padding-inline: 2.5rem; }
    .gf-footer-inner { padding-inline: 2.5rem; }
}

@media (max-width: 1080px) {
    .gf-hero {
        grid-template-columns: 1.08fr .92fr;
        min-height: 440px;
    }
    .gf-hero-portrait { min-height: 440px; }
    .gf-hero-collage { display: none; }
    .gf-pathway-grid { grid-template-columns: repeat(3, 1fr); }
    .gf-dashboard {
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "current timeline"
            "media living"
            "philosophy connect";
    }
}

@media (max-width: 900px) {
    .gf-header-inner { min-height: 72px; padding-inline: 1.2rem; }
    .gf-hero { grid-template-columns: 1fr; }
    .gf-hero-copy { padding: 3.5rem 1.5rem 2rem; }
    .gf-hero-portrait {
        min-height: 500px;
        background-position: center top;
    }
    .gf-section { padding: 1.5rem; }
    .gf-pathway-card { min-height: 225px; padding-top: 8.4rem; }
    .gf-pathway-image { height: 150px; }
    .gf-dashboard {
        grid-template-columns: 1fr;
        grid-template-areas:
            "current"
            "timeline"
            "media"
            "living"
            "philosophy"
            "connect";
    }
    .gf-media-card { grid-template-columns: 42% 1fr; }
    .gf-footer-inner { padding-inline: 1.5rem; }
}

@media (max-width: 620px) {
    .gf-hero h1 { font-size: clamp(3rem, 16vw, 4.7rem); }
    .gf-hero-portrait { min-height: 390px; }
    .gf-pathway-grid { grid-template-columns: 1fr; }
    .gf-pathway-card { min-height: 255px; padding-top: 10rem; }
    .gf-pathway-image { height: 180px; }
    .gf-project-item { grid-template-columns: 42px 1fr; }
    .gf-status { grid-column: 2; }
    .gf-media-card { grid-template-columns: 1fr; }
    .gf-media-image { min-height: 180px; }
    .gf-media-copy { padding-top: .65rem; }
    .gf-living-record { grid-template-columns: 1fr; }
    .gf-record-image { min-height: 190px; }
}
