/* ============================================================
   6x6 — Master Stylesheet (mirrors mr6.com structure)
   Aesthetic: Bold Editorial / Powerful Energy / Orange Luxe
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');

:root {
    /* Palette — Orange */
    --bg:          #FAF5F0;
    --bg-white:    #FFFFFF;
    --text-primary:#1E130A;
    --text-muted:  #80695A;
    --accent:      #FF6A1A;
    --accent-glow: #FF9040;
    --accent-dark: #CC4A0A;
    --border:      #EDD9C4;
    --tag-bg:      #FFEBDC;
    --tag-text:    #CC4A0A;
    --surface:     #F5E8DA;

    /* Typography */
    --font-display: 'Space Grotesk', sans-serif;
    --font-body:    'Inter', sans-serif;
    --font-serif:   'Merriweather', Georgia, serif;

    /* Spacing */
    --max-width: 1200px;
    --max-read:  720px;
    --nav-h:     80px;
}

/* ---- RESET ---- */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body {
    font-family: var(--font-body);
    background: var(--bg);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
    position: relative;
}

/* ---- ANIMATED BACKGROUND ---- */
body::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
        radial-gradient(ellipse 90% 70% at 15% 25%, rgba(255,106,26,0.06) 0%, transparent 50%),
        radial-gradient(ellipse 70% 60% at 80% 70%, rgba(255,144,64,0.04) 0%, transparent 50%),
        radial-gradient(ellipse 120% 80% at 50% 100%, rgba(204,74,10,0.03) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
    animation: bgShift 16s ease-in-out infinite alternate;
}
@keyframes bgShift {
    0%   { opacity: 0.6; }
    50%  { opacity: 1; }
    100% { opacity: 0.7; }
}

/* Logo watermark in the background */
.bg-watermark {
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
    user-select: none;
}
.bg-watermark img {
    width: clamp(400px, 50vw, 700px);
    height: auto;
    opacity: 0.04;
}

a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
ul,ol { list-style:none; }

/* ---- UTILITY ---- */
.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding-left: 60px;
    padding-right: 60px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}
.read-width { max-width:var(--max-read); margin:0 auto; padding:0 24px; }
.accent { color:var(--accent); }
.tag {
    display:inline-block; background:var(--tag-bg); color:var(--tag-text);
    font-size:12px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    padding:4px 12px; border-radius:100px;
}

/* ---- HEADER (transparent, minimal) ---- */
.nav {
    position:relative; z-index:100;
    background: transparent;
    padding:28px 0 12px;
}
.nav__inner {
    max-width:var(--max-width);
    margin:0 auto;
    padding:0 60px;
    display:flex; align-items:center; justify-content:space-between;
    gap:24px;
}
.nav__logo { display:inline-flex; align-items:center; gap:12px; }
.nav__logo img {
    height:44px;
    width:auto;
    max-width:140px;
    object-fit:contain;
    transition:transform 0.3s;
}
.nav__logo:hover img { transform:scale(1.04); }
.nav__wordmark {
    font-family:var(--font-display);
    font-weight:700;
    font-size:15px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--text-primary);
}
.nav__links {
    display:flex; align-items:center; gap:28px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:13px;
    letter-spacing:0.08em;
    text-transform:uppercase;
}
.nav__links a { color:var(--text-muted); transition:color 0.2s; }
.nav__links a:hover { color:var(--accent); }
@media (max-width:768px) {
    .nav__inner { padding:0 28px; }
    .nav__links { display:none; }
    .nav__logo img { height:36px; }
}

/* ---- HERO ---- */
.hero {
    padding-top: 80px;
    padding-bottom:80px;
    position:relative;
    overflow:hidden;
}
.hero__tag { margin-bottom:24px; }
.hero h1 {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(44px, 6.5vw, 88px); line-height:1.05;
    letter-spacing:-0.03em; max-width:900px;
    margin-bottom:28px;
}
.hero h1 em {
    font-style:normal;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-glow) 50%, #FFC58A 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}
.hero__sub {
    font-family:var(--font-serif); font-size:clamp(18px,2.2vw,24px);
    color:var(--text-muted); max-width:620px; line-height:1.5;
    margin-bottom:40px;
}
.hero__actions { display:flex; gap:16px; flex-wrap:wrap; }
.btn-primary {
    display:inline-flex; align-items:center; gap:8px;
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    color:#fff; padding:16px 36px;
    border-radius:100px; font-family:var(--font-display); font-weight:700;
    font-size:16px; letter-spacing:0.01em; border:none; cursor:pointer;
    transition:all 0.3s; position:relative; overflow:hidden;
}
.btn-primary::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.2));
    transition:opacity 0.3s;
}
.btn-primary:hover {
    background: linear-gradient(135deg, var(--accent-dark), var(--accent));
    transform:translateY(-2px);
    box-shadow:0 8px 32px rgba(255,106,26,0.4);
    color:#fff;
}
.btn-secondary {
    display:inline-flex; align-items:center; gap:8px;
    background:transparent; color:var(--text-primary); padding:16px 36px;
    border-radius:100px; font-family:var(--font-display); font-weight:700;
    font-size:16px; border:2px solid var(--border); cursor:pointer;
    transition:all 0.3s;
}
.btn-secondary:hover { border-color:var(--accent); color:var(--accent); }

/* ---- STATS BAR ---- */
.stats {
    padding:48px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.stats__grid {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:32px;
    text-align:center;
}
.stats__num {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(36px,5vw,56px); letter-spacing:-0.02em;
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}
.stats__label {
    font-size:14px; color:var(--text-muted); margin-top:4px;
    font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
}

/* ---- SECTIONS ---- */
.section {
    padding:100px 0;
}
.section__label {
    font-family:var(--font-display); font-weight:700;
    font-size:12px; letter-spacing:0.15em; text-transform:uppercase;
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
    margin-bottom:16px;
}
.section__title {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(32px,4.5vw,56px); letter-spacing:-0.03em;
    line-height:1.08; max-width:700px; margin-bottom:20px;
}
.section__desc {
    font-family:var(--font-body); font-size:17px; color:var(--text-muted);
    max-width:560px; line-height:1.7; margin-bottom:48px;
}

/* Services Grid */
.services-grid {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(min(300px, 100%),1fr)); gap:24px;
}
.service-card {
    background:var(--bg-white); border:1px solid var(--border);
    border-radius:16px; padding:36px; position:relative;
    transition:all 0.35s; overflow:hidden;
}
.service-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:4px;
    background: linear-gradient(90deg, var(--accent), var(--accent-glow));
    transform:scaleX(0); transform-origin:left;
    transition:transform 0.4s;
}
.service-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(255,106,26,0.12); }
.service-card:hover::before { transform:scaleX(1); }
.service-card__icon {
    width:52px; height:52px; border-radius:14px;
    background:var(--tag-bg); display:flex; align-items:center;
    justify-content:center; font-size:24px; margin-bottom:20px;
}
.service-card h3 {
    font-family:var(--font-display); font-weight:600; font-size:20px;
    letter-spacing:-0.01em; margin-bottom:10px;
}
.service-card p { font-size:15px; color:var(--text-muted); line-height:1.6; font-family:var(--font-body); }

/* ---- MARQUEE ---- */
.marquee {
    padding:32px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
    overflow:hidden; white-space:nowrap;
}
.marquee__inner {
    display:inline-flex; gap:0; animation:marquee 30s linear infinite;
}
.marquee__item {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(24px,3vw,40px); letter-spacing:-0.02em;
    color:var(--border); flex-shrink:0;
}
.marquee__item .dot { color:var(--accent); margin:0 16px; }
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ---- CTA BAND ---- */
.cta-band {
    padding:80px 0;
    background: linear-gradient(135deg, #1E130A 0%, #2E1A0E 50%, #3D2214 100%);
    color:#fff;
    text-align:center; position:relative; overflow:hidden;
}
.cta-band::before {
    content:''; position:absolute; top:-200px; left:50%; transform:translateX(-50%);
    width:600px; height:600px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,106,26,0.22) 0%, transparent 70%);
}
.cta-band::after {
    content:''; position:absolute; bottom:-150px; right:-100px;
    width:400px; height:400px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,144,64,0.14) 0%, transparent 70%);
    pointer-events:none;
}
.cta-band h2 {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(32px,5vw,64px); letter-spacing:-0.03em;
    margin-bottom:16px; position:relative;
}
.cta-band p {
    font-family:var(--font-serif); font-size:18px;
    color:rgba(255,255,255,0.65); margin-bottom:32px; position:relative;
}
.cta-band .btn-primary { font-size:18px; padding:18px 44px; }
.cta-band .accent {
    background: linear-gradient(135deg, #FF9040, #FFC58A);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}

/* ---- NEWSLETTER ---- */
.newsletter {
    background:var(--bg-white); border:1px solid var(--border);
    border-radius:20px; padding:48px;
    text-align:center; max-width:640px; margin:0 auto;
    position:relative; overflow:hidden;
}
.newsletter::before {
    content:''; position:absolute; top:-50px; right:-50px;
    width:200px; height:200px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,106,26,0.08) 0%, transparent 70%);
    pointer-events:none;
}
.newsletter h3 {
    font-family:var(--font-display); font-weight:700;
    font-size:28px; letter-spacing:-0.02em; margin-bottom:8px;
}
.newsletter p { color:var(--text-muted); font-size:15px; margin-bottom:24px; }
.newsletter__form { display:flex; gap:10px; max-width:440px; margin:0 auto; position:relative; }
.newsletter__input {
    flex:1; padding:14px 20px; border:2px solid var(--border);
    border-radius:100px; font-size:15px; font-family:var(--font-body);
    background:#fff; outline:none; transition:border-color 0.2s;
}
.newsletter__input:focus { border-color:var(--accent); }
.newsletter__btn {
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    color:#fff; border:none;
    padding:14px 28px; border-radius:100px; font-family:var(--font-display);
    font-weight:700; font-size:15px; cursor:pointer; transition:all 0.3s;
    white-space:nowrap;
}
.newsletter__btn:hover { background: linear-gradient(135deg, var(--accent-dark), var(--accent)); }

/* ---- FOOTER ---- */
.footer {
    padding:60px 0 32px; border-top:1px solid var(--border);
    position:relative; z-index:1;
}
.footer__top { display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; margin-bottom:40px; }
.footer__brand { max-width:320px; }
.footer__logo {
    display:flex; align-items:center; gap:10px;
    margin-bottom:12px;
}
.footer__logo img {
    height: 32px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
    opacity: 0.7;
    transition: opacity 0.3s;
}
.footer__logo:hover img { opacity: 1; }
.footer__desc { font-size:14px; color:var(--text-muted); line-height:1.6; }
.footer__col h4 {
    font-family:var(--font-display); font-weight:700; font-size:14px;
    text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px;
}
.footer__col a { display:block; font-size:14px; color:var(--text-muted); padding:4px 0; transition:color 0.2s; }
.footer__col a:hover { color:var(--accent); }
.footer__bottom {
    border-top:1px solid var(--border); padding-top:24px;
    display:flex; justify-content:space-between; align-items:center;
    font-size:13px; color:var(--text-muted); flex-wrap:wrap; gap:16px;
}
.link-disabled {
    display:block; font-size:14px; color:var(--text-muted);
    padding:4px 0; opacity:0.45; cursor:default;
}

/* ---- RESPONSIVE ---- */
@media (max-width:1024px) {
    .container { padding-left:40px; padding-right:40px; }
    .services-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:768px) {
    .container { padding-left:28px; padding-right:28px; }
    .nav { padding:28px 28px 24px; }
    .nav__handwriting { font-size:20px; }
    .nav__greeting .nav__logo img { height:32px; max-width:100px; }
    .footer__logo img { height:28px; }
    .hero { padding-top:32px; padding-bottom:48px; }
    .section { padding:64px 0; }
    .services-grid { grid-template-columns:1fr; }
    .newsletter { padding:32px 24px; }
    .newsletter__form { flex-direction:column; }
    .footer__top { flex-direction:column; }
    .hero__actions { flex-direction:column; }
    .btn-primary, .btn-secondary { justify-content:center; }
    .hero__sub { font-size:16px; }
    .service-card p { font-size:14px; }
}

/* ---- ANIMATIONS ---- */
.fade-up {
    opacity:0; transform:translateY(30px);
    transition:all 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ---- GRADIENT TEXT UTILITY ---- */
.gradient-text {
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-glow) 50%, #FFC58A 100%);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}

.alert {
    padding:14px 20px; border-radius:10px; margin-bottom:20px;
    font-size:14px; font-weight:600;
}
.alert-ok  { background:#E8F9EE; color:#1A7D3A; }
.alert-err { background:#FEECEC; color:#C62828; }

/* ============================================================
   NEW LAYOUT — distinct from mr6.com
   ============================================================ */

/* ---- Split hero (text left, form card right) ---- */
.hero--split {
    padding-top:40px;
    padding-bottom:80px;
    display:grid;
    grid-template-columns: 1.1fr 1fr;
    gap:72px;
    align-items:center;
}
.hero--split .hero__sub { margin-bottom:28px; }
.hero--inline-stats {
    display:flex; flex-wrap:wrap; gap:40px;
    padding-top:28px; margin-top:8px;
    border-top:1px solid var(--border);
}
.hero--inline-stats > div { min-width:120px; }
.hero--inline-stats .stats__num { font-size:clamp(28px,3.6vw,40px); }
.hero--inline-stats .stats__label { font-size:12px; }
@media (max-width:960px) {
    .hero--split { grid-template-columns:1fr; gap:48px; padding-top:20px; padding-bottom:48px; }
}

/* ---- Form card (the application form on the hero) ---- */
.form-card {
    background:var(--bg-white);
    border:1px solid var(--border);
    border-radius:20px;
    padding:40px;
    box-shadow:0 24px 60px -30px rgba(30,19,10,0.25);
    position:relative;
    overflow:hidden;
}
.form-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:4px;
    background: linear-gradient(90deg, var(--accent), var(--accent-glow));
}
.form-card__label {
    font-family:var(--font-display); font-weight:700;
    font-size:12px; letter-spacing:0.15em; text-transform:uppercase;
    color:var(--accent); margin-bottom:10px;
}
.form-card h2 {
    font-family:var(--font-display); font-weight:700;
    font-size:28px; letter-spacing:-0.02em; line-height:1.15;
    margin-bottom:8px;
}
.form-card__intro {
    font-family:var(--font-body); font-size:15px;
    color:var(--text-muted); line-height:1.6; margin-bottom:24px;
}
.form-row { margin-bottom:16px; }
.form-row label {
    display:block; font-family:var(--font-display); font-weight:600;
    font-size:12px; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--text-muted); margin-bottom:6px;
}
.form-row input,
.form-row textarea,
.form-row select {
    width:100%;
    padding:12px 16px;
    border:1.5px solid var(--border);
    border-radius:12px;
    font-size:15px;
    font-family:var(--font-body);
    background:#fff;
    color:var(--text-primary);
    outline:none;
    transition:border-color 0.2s, box-shadow 0.2s;
}
.form-row input:focus,
.form-row textarea:focus,
.form-row select:focus {
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(255,106,26,0.12);
}
.form-row textarea { min-height:90px; resize:vertical; }
.form-card__submit {
    width:100%;
    margin-top:6px;
    justify-content:center;
}
.form-card__note {
    font-size:12px; color:var(--text-muted);
    margin-top:12px; text-align:center;
}
.form-card__legal {
    font-size:11px; color:var(--text-muted);
    margin-top:8px; text-align:center; line-height:1.5;
    opacity:0.75;
}
.form-card__legal a {
    color:var(--text-muted);
    text-decoration:underline;
    text-underline-offset:2px;
}
.form-card__legal a:hover { color:var(--accent); }

/* Hide Google reCAPTCHA v3 badge — legal text shown in form footer instead.
   Use visibility (not display) so the iframe still loads and scores. */
.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.form-card__success {
    text-align:center; padding:24px 0 10px;
}
.form-card__success .tick {
    width:56px; height:56px; border-radius:50%;
    background:linear-gradient(135deg, var(--accent), var(--accent-glow));
    color:#fff; display:inline-flex; align-items:center; justify-content:center;
    font-size:28px; font-weight:700; margin-bottom:14px;
}
@media (max-width:768px) { .form-card { padding:28px; } }

/* ---- Approach: numbered vertical rail ---- */
.approach {
    padding-top:80px;
    padding-bottom:80px;
    display:grid;
    grid-template-columns: 320px 1fr;
    gap:72px;
    align-items:flex-start;
}
.approach__aside { position:sticky; top:40px; }
.approach__aside .section__label { margin-bottom:14px; }
.approach__aside .section__title { font-size:clamp(32px,4vw,48px); margin-bottom:16px; }
.approach__aside p {
    font-family:var(--font-body); font-size:16px;
    color:var(--text-muted); line-height:1.7;
}
.approach__list { display:flex; flex-direction:column; gap:0; }
.approach__item {
    display:grid;
    grid-template-columns:90px 1fr;
    gap:24px;
    padding:28px 0;
    border-top:1px solid var(--border);
    transition:background 0.25s;
}
.approach__item:last-child { border-bottom:1px solid var(--border); }
.approach__item:hover { background:rgba(255,106,26,0.025); }
.approach__num {
    font-family:var(--font-display); font-weight:700;
    font-size:40px; letter-spacing:-0.03em;
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
    line-height:1;
}
.approach__item h3 {
    font-family:var(--font-display); font-weight:600;
    font-size:20px; letter-spacing:-0.01em;
    margin-bottom:6px;
}
.approach__item p {
    font-family:var(--font-body);
    font-size:15px; color:var(--text-muted); line-height:1.6;
    max-width:560px;
}
@media (max-width:960px) {
    .approach { grid-template-columns:1fr; gap:32px; padding-top:56px; padding-bottom:56px; }
    .approach__aside { position:static; }
    .approach__item { grid-template-columns:60px 1fr; gap:18px; padding:22px 0; }
    .approach__num { font-size:32px; }
}

/* ---- Mission pull-quote (centered serif) ---- */
.mission {
    padding-top:100px;
    padding-bottom:100px;
    text-align:center;
    max-width:900px;
    margin:0 auto;
}
.mission__kicker {
    font-family:var(--font-display); font-weight:700;
    font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--accent); margin-bottom:20px;
}
.mission__quote {
    font-family:var(--font-serif);
    font-style:italic; font-weight:300;
    font-size:clamp(24px,3.4vw,40px);
    line-height:1.35;
    color:var(--text-primary);
    letter-spacing:-0.005em;
}
.mission__quote em {
    font-style:italic; font-weight:400;
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}
.mission__attr {
    margin-top:32px;
    font-family:var(--font-display); font-weight:700;
    font-size:13px; letter-spacing:0.1em; text-transform:uppercase;
    color:var(--text-muted);
}
@media (max-width:768px) { .mission { padding-top:56px; padding-bottom:56px; } }

/* ---- Thesis: long-form "Our Bet" section ---- */
.thesis {
    padding-top:80px;
    padding-bottom:80px;
}
.thesis__head {
    max-width:820px;
    margin-bottom:48px;
}
.thesis__head .section__label { margin-bottom:14px; }
.thesis__head .section__title {
    font-size:clamp(34px,4.2vw,54px);
    margin-bottom:0;
    line-height:1.05;
}
.thesis__body {
    display:grid;
    grid-template-columns: 1.45fr 1fr;
    gap:64px;
    align-items:start;
}
.thesis__prose p {
    font-family:var(--font-serif);
    font-weight:300;
    font-size:clamp(17px,1.45vw,20px);
    line-height:1.72;
    color:var(--text-primary);
    margin:0 0 22px;
}
.thesis__prose p:last-child { margin-bottom:0; }
.thesis__prose strong {
    font-weight:700;
    color:var(--text-primary);
}
.thesis__prose em {
    font-style:italic;
    font-weight:400;
    background: linear-gradient(135deg, var(--accent), var(--accent-glow));
    -webkit-background-clip:text; -webkit-text-fill-color:transparent;
    background-clip:text;
}
.thesis__pillars {
    display:flex;
    flex-direction:column;
    gap:16px;
    position:sticky;
    top:40px;
}
.thesis__pillar {
    padding:22px 24px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 2px 14px rgba(255,106,26,0.04);
}
.thesis__pillar-mark {
    font-size:18px;
    color:var(--accent);
    line-height:1;
    margin-bottom:10px;
}
.thesis__pillar h3 {
    font-family:var(--font-display);
    font-weight:700;
    font-size:16px;
    margin:0 0 6px;
    color:var(--text-primary);
    letter-spacing:-0.005em;
}
.thesis__pillar p {
    font-family:var(--font-body);
    font-size:14px;
    line-height:1.55;
    color:var(--text-muted);
    margin:0;
}
@media (max-width:900px) {
    .thesis { padding-top:56px; padding-bottom:56px; }
    .thesis__body { grid-template-columns:1fr; gap:36px; }
    .thesis__pillars { position:static; }
}

/* ---- Minimal footer (single row) ---- */
.footer--mini {
    padding-top:36px;
    padding-bottom:40px;
    border-top:1px solid var(--border);
    margin-top:20px;
}
.footer--mini .footer__row {
    display:flex; flex-wrap:wrap;
    justify-content:space-between; align-items:center;
    gap:20px;
    font-size:13px; color:var(--text-muted);
}
.footer--mini .footer__logo img { height:26px; opacity:0.8; }
.footer--mini a { color:var(--text-muted); transition:color 0.2s; }
.footer--mini a:hover { color:var(--accent); }
