*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f4ef;color:#17252a;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.topline{height:31px;background:#13282d;color:#b7c3be;display:flex;justify-content:space-between;align-items:center;padding:0 6.2%;font-size:9px;letter-spacing:1.5px}.site-header{height:88px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;background:#f6f4ef;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px;font-size:18px;letter-spacing:1.4px;font-weight:500}.brand-mark{width:39px;height:39px;border:1px solid #c09a58;border-radius:50%;display:grid;place-items:center;font-family:'Playfair Display';font-size:25px;color:#b38a49;position:relative}.brand-mark span{font-family:Arial;font-size:10px;position:absolute;right:1px;top:1px}.brand b{font-weight:700;color:#b48b4c}.brand small{display:block;font-size:7px;letter-spacing:2px;color:#667477;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:38px;font-size:12px;color:#536367}.site-header nav a:hover{color:#b38a49}.nav-cta{border:1px solid #c5a46e;padding:13px 18px;color:#1b3034!important}.nav-cta span{margin-left:12px;color:#b38a49}.hero{background:#142b30;color:#f7f4ed;min-height:690px;padding:86px 8.2% 0;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:600px;height:600px;border:1px solid #355056;border-radius:50%;left:-380px;top:120px;box-shadow:0 0 0 70px #1a3439,0 0 0 71px #355056}.hero-copy{position:relative;z-index:2;padding:10px 0 80px}.eyebrow,.section-kicker{font-size:9px;letter-spacing:2px;color:#b8965e;font-weight:700}.eyebrow i{display:inline-block;width:22px;height:1px;background:#b8965e;vertical-align:middle;margin-right:10px}.hero h1,.manifesto h2,.audience h2,.process h2,.contribute h2,.approval-wrap h1,.login-card h1{font:600 clamp(48px,5.4vw,76px)/1.08 'Playfair Display',serif;letter-spacing:-2px;margin:28px 0}.hero h1 em,.manifesto h2 em,.audience h2 em,.process h2 em,.contribute h2 em,.approval-wrap h1 em,.login-card h1 em{color:#c5a16b;font-weight:500}.hero-intro{font-size:15px;line-height:1.9;color:#c1ceca;max-width:460px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{border:0;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:30px;padding:17px 23px;font:600 11px 'DM Sans';letter-spacing:.3px;transition:.2s}.button:hover{transform:translateY(-2px)}.button-gold{background:#c5a16b;color:#142b30}.button-gold span{font-size:17px}.text-link{font-size:11px;color:#e5e4db}.text-link span{color:#c5a16b;margin-left:8px}.hero-note{display:flex;gap:16px;align-items:center;margin-top:66px;font-size:10px;line-height:1.7;color:#9daea9}.hero-note b{color:#f5f1e8;font-weight:500}.avatar-stack{display:flex}.avatar-stack i{width:34px;height:34px;border-radius:50%;border:1px solid #c5a16b;background:#234047;display:grid;place-items:center;margin-right:-8px;font-size:8px;font-style:normal;color:#e2c18b}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:500px}.orbit{position:absolute;border:1px solid #2d484d;border-radius:50%;width:490px;height:490px}.orbit-two{width:390px;height:390px;border-style:dashed;opacity:.6}.quote-card{width:min(390px,85%);background:#f2eee4;color:#172c30;padding:34px 38px 30px;position:relative;z-index:2;box-shadow:20px 25px 60px #07171966;transform:rotate(2deg)}.quote-top{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.4px;color:#8b806d}.quote-symbol{font:90px/.8 'Playfair Display';color:#bd965a;margin-top:34px;height:64px}.quote-card blockquote{font:500 26px/1.35 'Playfair Display';margin:0 0 29px}.quote-rule{height:1px;background:#d7cdb9}.quote-author{display:flex;align-items:center;gap:12px;padding-top:19px}.author-monogram{width:32px;height:32px;border-radius:50%;background:#183238;color:#d5b37d;display:grid;place-items:center;font:12px 'Playfair Display'}.quote-author b{font-size:9px;display:block}.quote-author small{font-size:7px;letter-spacing:1.3px;color:#8c887d}.floating-tag{position:absolute;font-size:7px;letter-spacing:1.5px;color:#d6c29e}.tag-top{top:54px;right:0;transform:rotate(90deg) translateX(50%);transform-origin:right}.tag-bottom{bottom:65px;left:0}.tag-bottom span{color:#c5a16b;font-size:16px;vertical-align:middle;margin-right:8px}.hero-index{position:absolute;bottom:54px;right:0;font-size:8px;letter-spacing:1.4px;color:#8fa19d}.hero-index span{color:#c5a16b;margin:0 8px}.hero-bottom{grid-column:1/-1;border-top:1px solid #355056;display:flex;justify-content:space-between;padding:19px 0;font-size:8px;letter-spacing:1.5px;color:#8fa19d}.manifesto{padding:115px 10% 70px;background:#f6f4ef}.manifesto-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10%;align-items:start}.manifesto h2,.audience h2,.process h2,.contribute h2{font-size:clamp(42px,4.6vw,62px);line-height:1.12;margin:27px 0}.manifesto h2 em,.audience h2 em,.process h2 em{color:#b28a4e}.manifesto-copy{padding-top:28px;max-width:500px}.manifesto-copy p{font-size:13px;line-height:1.9;color:#647276}.manifesto-copy .lead{font:500 19px/1.55 'Playfair Display';color:#263b3f}.under-link{display:inline-block;border-bottom:1px solid #c3a16d;padding:10px 0;margin-top:16px;font-size:11px;font-weight:700}.under-link span{color:#b28a4e;margin-left:12px}.manifesto-foot{border-top:1px solid #dcd8cf;border-bottom:1px solid #dcd8cf;margin-top:90px;padding:22px 0;display:flex;align-items:center;justify-content:space-between}.manifesto-foot span{font-size:8px;letter-spacing:1.5px;color:#92958d}.manifesto-foot strong{font:500 18px 'Playfair Display';color:#b28a4e}.audience{background:#eae8e0;padding:95px 10% 110px}.audience h2{margin-bottom:55px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbc9bf;border-left:1px solid #cbc9bf}.role{padding:27px 27px 31px;border-right:1px solid #cbc9bf;border-bottom:1px solid #cbc9bf;position:relative;min-height:160px}.role>span{font-size:8px;color:#b28a4e;letter-spacing:1px}.role h3{font:500 23px 'Playfair Display';margin:17px 0 6px}.role p{font-size:10px;color:#78817e}.role>b{position:absolute;right:25px;top:25px;color:#b28a4e;font-size:14px}.process{padding:105px 10%;background:#f6f4ef}.process-head{display:flex;justify-content:space-between;align-items:end}.process-head p{max-width:330px;font-size:12px;line-height:1.8;color:#657276;margin-bottom:35px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.steps article{border-top:1px solid #d6d1c5;padding:20px 12px 10px 0;position:relative}.steps article>span{font-size:9px;color:#b28a4e}.step-icon{width:43px;height:43px;border:1px solid #d7c8aa;border-radius:50%;display:grid;place-items:center;color:#b28a4e;margin:26px 0 22px;font-size:17px}.steps h3{font:500 22px 'Playfair Display';margin:0 0 12px}.steps p{font-size:11px;line-height:1.8;color:#727d7c;max-width:300px}.contribute{display:grid;grid-template-columns:.8fr 1.2fr;background:#142b30;color:#f5f2e9}.contribute-aside{padding:90px 11%;position:relative;overflow:hidden;border-right:1px solid #30484c}.contribute h2{font-size:clamp(48px,5vw,68px);margin-top:32px}.contribute-aside>p{font-size:12px;line-height:1.9;color:#aebdb8;max-width:300px}.aside-stamp{width:110px;height:110px;border:1px solid #9c8055;border-radius:50%;display:grid;place-content:center;text-align:center;font:12px 'Playfair Display';letter-spacing:2px;color:#c8a56d;margin-top:58px;transform:rotate(-12deg)}.aside-stamp b{font-size:22px}.aside-bottom{font-size:8px;letter-spacing:1.7px;color:#80938e;margin-top:55px;line-height:2}.form-panel{padding:75px 10% 80px;background:#f6f4ef;color:#172b30}.form-heading{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#b18b53;border-bottom:1px solid #ddd8ce;padding-bottom:18px}.form-panel h3{font:500 29px 'Playfair Display';margin:28px 0 7px}.form-sub{font-size:11px;color:#7b8581;margin-bottom:32px}.form-section-title{font-size:9px;letter-spacing:1.5px;font-weight:700;margin:31px 0 17px;color:#263d40}.form-section-title span{color:#b28a4e;margin-right:12px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}label{display:block;font-size:10px;font-weight:600;color:#4d5d5d}input,textarea,select{width:100%;border:1px solid #d9d6ce;background:#fffefa;padding:13px 14px;margin-top:8px;font:11px 'DM Sans';color:#1b3034;outline:none;border-radius:0}input:focus,textarea:focus,select:focus{border-color:#b28a4e}textarea{resize:vertical;line-height:1.7}.full-label{margin-top:5px}.field-hint{font-size:9px;color:#8a918d;margin-top:7px}.upload-box{display:flex;gap:20px;border:1px dashed #c9c2b4;padding:20px;margin-top:25px;background:#f1efe8}.upload-symbol{width:42px;height:42px;background:#e7dfd0;color:#a67d43;display:grid;place-items:center;font-size:22px}.upload-box b{font-size:11px}.upload-box p{font-size:10px;color:#7d8782;margin:6px 0 12px}.file-button{display:inline-block;background:#fff;border:1px solid #d6d1c7;padding:9px 13px;cursor:pointer;font-size:9px}.file-button input{display:none}.file-name{font-size:9px;color:#8a918d;margin-left:10px}.consent-box{background:#eeece5;padding:17px}.checkline{display:flex;gap:12px;align-items:flex-start;font-size:10px;line-height:1.7;font-weight:500}.checkline input{width:15px;height:15px;margin:2px 0;flex:0 0 auto;accent-color:#b28a4e}.consent-box p{font-size:9px;line-height:1.7;color:#7d8580;margin:12px 0 0 27px}.button-dark{background:#172f34;color:#f8f5ed}.button-dark:hover{background:#25454a}.submit-button{width:100%;margin-top:24px}.submit-button span{font-size:16px}.privacy-note{font-size:9px;color:#909690;line-height:1.7;margin-top:14px}.alert{padding:14px 16px;background:#e8eee8;color:#315b45;font-size:11px;line-height:1.6;margin:16px 0}.alert.error{background:#f5e9e4;color:#944d38}.closing{background:#eae8e0;text-align:center;padding:76px 20px}.closing-mark{font-size:25px;color:#b28a4e}.closing p{font:500 27px/1.45 'Playfair Display';color:#263b3f;margin:17px 0}.closing span{font-size:8px;letter-spacing:2px;color:#9b8a6b}footer{background:#102328;color:#9baaa5;padding:30px 6.2%;display:flex;align-items:center;justify-content:space-between;font-size:9px}.brand-footer{color:#f3f0e8}.brand-footer small{color:#81908b}footer>a:last-child{color:#c4a16d}.approval-body,.login-body{min-height:100vh;background:#f1efe8}.approval-label{font-size:9px;letter-spacing:1.5px;color:#9b825c}.approval-wrap{max-width:850px;margin:65px auto;padding:0 25px 80px}.approval-wrap h1,.login-card h1{font-size:56px;margin:20px 0}.approval-intro{font-size:13px;line-height:1.8;color:#687775;max-width:600px}.preview-card{background:#fff;padding:22px;margin:35px 0;box-shadow:0 15px 45px #1d303010}.artwork-preview{width:100%;height:auto;display:block;max-height:750px;object-fit:contain;background:#eae8e0}.preview-placeholder{padding:90px 20px;text-align:center;background:#eae8e0;color:#77817b;font:20px 'Playfair Display'}.preview-meta{padding:20px 5px 5px}.preview-meta>div>span,.quote-admin>span,.artwork-admin>span{font-size:8px;letter-spacing:1.5px;color:#b18b53}.preview-meta h2{font:26px 'Playfair Display';margin:8px 0 3px}.preview-meta p{font-size:11px;color:#7b8581}.quote-preview{font:18px/1.5 'Playfair Display';margin-top:20px;color:#31484a}.approval-actions{display:grid;gap:20px}.revision{background:#fff;padding:20px}.revision .button{margin-top:12px}.button-outline{border:1px solid #b69a6a;background:transparent;color:#253a3d}.login-body{display:grid;place-items:center;padding:20px}.login-card{background:#f9f7f1;width:min(430px,100%);padding:48px;box-shadow:0 20px 60px #172b3012}.login-card .brand{margin-bottom:55px}.login-card h1{font-size:48px}.login-card>p{font-size:12px;line-height:1.7;color:#74807c}.login-card form{margin-top:25px}.login-card form label{margin-top:17px}.login-card .button{width:100%;margin-top:25px}.back-link{display:block;font-size:10px;color:#8a918d;margin-top:25px}.dashboard-body{background:#f1f0eb;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:#142b30;color:#eae8df;padding:30px 22px;display:flex;flex-direction:column;z-index:4}.sidebar .brand{font-size:15px}.sidebar .brand small{color:#8b9a95}.side-label{font-size:8px;letter-spacing:1.5px;color:#71847e;margin:60px 0 15px}.side-link{font-size:11px;padding:14px 12px;color:#aab9b3;border-left:2px solid transparent}.side-link.active{background:#203a3f;color:#fff;border-color:#c5a16b}.side-bottom{margin-top:auto;font-size:9px;color:#93a49e;overflow-wrap:anywhere}.side-bottom button{border:0;background:none;color:#c6a56f;padding:15px 0;cursor:pointer;font:10px 'DM Sans'}.dashboard-main{margin-left:235px;padding:42px 4.2% 70px}.dash-top{display:flex;justify-content:space-between;align-items:center}.dash-top h1{font:500 38px 'Playfair Display';margin:12px 0}.dash-top h1 em{color:#b28a4e}.dash-top p{font-size:11px;color:#7b8581}.live-pill{font-size:8px;letter-spacing:1px;color:#56745f;background:#e1ebe2;padding:9px 12px}.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:35px 0}.stat-card{background:#fff;padding:18px}.stat-card span{font-size:9px;color:#818b85;display:block}.stat-card b{font:26px 'Playfair Display';display:block;margin-top:9px;color:#233a3d}.dash-layout{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(400px,1.1fr);gap:18px;align-items:start}.submission-list,.detail-panel{background:#fff;min-height:400px}.list-head{padding:20px;border-bottom:1px solid #eceae4;display:flex;align-items:center;justify-content:space-between}.list-head h2{font:20px 'Playfair Display';margin:0}.list-head small{font:9px 'DM Sans';color:#929991;margin-left:8px}.list-head select{width:auto;margin:0;padding:8px;font-size:9px}.submission-row{display:flex;gap:12px;align-items:center;padding:15px 17px;border-bottom:1px solid #f0eee8}.submission-row:hover,.submission-row.selected{background:#f7f5ef}.mini-avatar{width:34px;height:34px;border-radius:50%;background:#e9e1d3;color:#987443;display:grid;place-items:center;font:16px 'Playfair Display';flex:0 0 auto}.submission-person{min-width:0;flex:1}.submission-person b,.submission-person span,.submission-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-person b{font-size:10px}.submission-person span{font-size:9px;color:#78827e;margin-top:4px}.submission-person small{font-size:8px;color:#a1a49e;margin-top:4px}.status{font-size:8px;letter-spacing:.2px;padding:6px 7px;background:#eceeea;color:#66766d;white-space:nowrap}.status-submitted{background:#f6eddd;color:#98733d}.status-artwork_ready{background:#e6edf3;color:#4d6b84}.status-approved{background:#e2eee3;color:#47734e}.status-published{background:#dcebe5;color:#2d6a58}.status-changes_requested,.status-declined{background:#f5e6e2;color:#9b5548}.detail-panel{padding:24px}.detail-heading{display:flex;justify-content:space-between;gap:10px;align-items:start}.detail-heading h2{font:25px 'Playfair Display';margin:7px 0}.detail-heading p{font-size:10px;color:#77817d;margin:0}.detail-profile{display:flex;gap:14px;align-items:center;margin:23px 0;padding:15px;background:#f5f3ed}.detail-profile img{width:65px;height:65px;object-fit:cover}.detail-profile div>*{display:block;font-size:10px;margin:4px 0}.detail-profile span{color:#7e8982}.detail-profile a{color:#a17b44}.quote-admin{padding:16px 0;border-bottom:1px solid #eeeae2}.quote-admin p{font:17px/1.5 'Playfair Display';color:#31474a}.artwork-admin{margin:18px 0}.artwork-admin img{display:block;max-width:100%;max-height:300px;object-fit:contain;margin-top:10px;background:#eee}.edit-form{border-top:1px solid #ece9e1;margin-top:20px;padding-top:18px}.edit-form label{margin:13px 0}.edit-form .button{margin-top:10px}.feedback-box{background:#f8eee9;padding:13px;font-size:10px;color:#885344}.feedback-box p{line-height:1.6}.consent-record{font-size:9px;color:#4f7958;margin-top:20px;padding-top:15px;border-top:1px solid #eee}.detail-empty,.empty-state{text-align:center;padding:80px 20px;color:#8a938d}.detail-empty>div{font-size:30px;color:#b28a4e}.detail-empty h2{font:23px 'Playfair Display';color:#34494b}.detail-empty p{font-size:10px;line-height:1.7;max-width:260px;margin:auto}.empty-state{font-size:11px}
@media(max-width:900px){.hero{padding-left:6%;padding-right:6%;grid-template-columns:1fr 1fr}.hero h1{font-size:57px}.quote-card{padding:25px}.quote-card blockquote{font-size:22px}.manifesto,.audience,.process{padding-left:7%;padding-right:7%}.contribute-aside{padding:70px 9%}.form-panel{padding:65px 7%}.dash-layout{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.topline{padding:0 5%;font-size:7px}.topline span:last-child{display:none}.site-header{height:72px;padding:0 5%}.site-header nav{gap:13px}.site-header nav a:not(.nav-cta){display:none}.nav-cta{padding:10px 12px}.brand{font-size:15px}.hero{display:block;padding:65px 7% 0}.hero-copy{padding-bottom:20px}.hero h1{font-size:55px}.hero-intro{font-size:13px}.hero-art{min-height:440px}.orbit{width:350px;height:350px}.orbit-two{width:290px;height:290px}.quote-card{width:300px;padding:25px}.quote-card blockquote{font-size:22px}.tag-top{right:0}.hero-index{bottom:25px}.hero-bottom{margin-top:15px}.manifesto,.audience,.process{padding:75px 7%}.manifesto-grid{grid-template-columns:1fr;gap:0}.manifesto h2,.audience h2,.process h2{font-size:46px}.manifesto-copy{padding-top:0}.manifesto-foot{margin-top:50px;gap:12px;flex-wrap:wrap}.manifesto-foot strong{font-size:15px}.role-grid{grid-template-columns:1fr 1fr}.role{padding:20px 15px;min-height:145px}.process-head{display:block}.process-head p{margin:0}.steps{grid-template-columns:1fr;gap:20px}.steps article{padding-bottom:20px}.step-icon{margin:17px 0}.contribute{grid-template-columns:1fr}.contribute-aside{padding:65px 8%;border-right:0}.contribute h2{font-size:56px}.aside-stamp{position:absolute;right:35px;bottom:75px;margin:0;width:85px;height:85px}.aside-bottom{margin-top:25px}.form-panel{padding:55px 7%}.field-grid{grid-template-columns:1fr}.form-heading{font-size:7px}.closing p{font-size:22px}footer{padding:25px 6%;gap:20px;flex-wrap:wrap}footer>span{order:3;width:100%}.approval-wrap{margin:40px auto}.approval-wrap h1{font-size:48px}.login-card{padding:35px 25px}.sidebar{position:relative;width:100%;height:auto;padding:17px 20px;display:block}.sidebar .brand{display:inline-flex}.side-label,.side-link{display:none}.side-bottom{float:right;margin:5px 0}.dashboard-main{margin:0;padding:28px 5%}.dash-top{display:block}.live-pill{display:inline-block;margin-top:10px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:14px}.dash-layout{display:block}.submission-list{margin-bottom:15px}.detail-panel{padding:18px}.submission-row{padding:13px 10px}.status{font-size:7px}.detail-heading{display:block}.detail-heading>.status{display:inline-block;margin-top:12px}}

/* ==========================================
   CXO INSPIRE — OFFICIAL BRAND THEME
   Navy / Gold / White / Ivory
   Applies to public, admin and approval pages
========================================== */

:root {
    --navy: #101F35;
    --navy-light: #1B304B;
    --gold: #A77C32;
    --gold-light: #C5A15F;
    --white: #FFFFFF;
    --ivory: #F5F3EE;
    --light-grey: #EAE8E2;
    --text: #17263B;
    --muted: #596779;
    --border: #DAD7CF;
}

/* GLOBAL */
* {
    box-sizing: border-box;
}

html {
    font-size: 17px;
    scroll-behavior: smooth;
}

body {
    background: var(--white) !important;
    color: var(--text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* LOGO */
.brand {
    display: inline-flex !important;
    align-items: center;
    gap: 0 !important;
}

.brand img {
    display: block;
    width: 190px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.brand-footer img {
    width: 175px;
}

/* TOP BAR AND NAVIGATION */
.topline {
    background: var(--navy) !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    min-height: 38px;
}

.site-header {
    background: var(--white) !important;
    min-height: 100px;
    height: auto;
    padding-top: 12px;
    padding-bottom: 12px;
}

.site-header nav {
    font-size: 16px !important;
    color: var(--navy) !important;
    gap: 30px;
}

.site-header nav a {
    color: var(--navy) !important;
}

.site-header nav a:hover {
    color: var(--gold) !important;
}

.nav-cta {
    border: 1px solid var(--gold) !important;
    color: var(--navy) !important;
}

/* HERO */
.hero {
    background: var(--navy) !important;
    color: var(--white) !important;
}

.hero h1 {
    color: var(--white) !important;
    font-size: clamp(46px, 5vw, 72px) !important;
    line-height: 1.15 !important;
}

.hero h1 em {
    color: var(--gold-light) !important;
}

.hero-intro {
    color: #E0E5EC !important;
    font-size: 19px !important;
    line-height: 1.85 !important;
}

.eyebrow,
.section-kicker {
    color: var(--gold) !important;
    font-size: 13px !important;
    letter-spacing: 2px;
    line-height: 1.6;
}

.hero .eyebrow,
.contribute .section-kicker {
    color: var(--gold-light) !important;
}

.hero-note {
    font-size: 14px !important;
    color: #D2DAE3 !important;
}

.hero-note b {
    color: var(--white) !important;
}

.hero-bottom {
    font-size: 12px !important;
    color: #D2DAE3 !important;
}

/* HEADINGS */
.manifesto h2,
.audience h2,
.process h2,
.contribute h2 {
    color: var(--navy) !important;
    line-height: 1.2 !important;
}

.manifesto h2 em,
.audience h2 em,
.process h2 em,
.contribute h2 em {
    color: var(--gold) !important;
}

.manifesto-copy p,
.process-head p {
    color: var(--muted) !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
}

.manifesto-copy .lead {
    color: var(--navy) !important;
    font-size: 21px !important;
    line-height: 1.65 !important;
}

/* SECTIONS */
.manifesto,
.process {
    background: var(--white) !important;
}

.audience,
.closing {
    background: var(--ivory) !important;
}

.role-grid {
    border-color: var(--border) !important;
}

.role {
    border-color: var(--border) !important;
    background: var(--white);
}

.role h3 {
    color: var(--navy) !important;
    font-size: 25px !important;
}

.role p {
    color: var(--muted) !important;
    font-size: 15px !important;
    line-height: 1.7;
}

.role > span,
.role > b {
    color: var(--gold) !important;
    font-size: 13px !important;
}

.steps h3 {
    color: var(--navy) !important;
    font-size: 24px !important;
}

.steps p {
    color: var(--muted) !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

.step-icon {
    color: var(--gold) !important;
    border-color: var(--gold) !important;
}

/* CONTRIBUTION SECTION */
.contribute {
    background: var(--navy) !important;
    color: var(--white) !important;
}

.contribute h2 {
    color: var(--white) !important;
}

.contribute h2 em {
    color: var(--gold-light) !important;
}

.contribute-aside > p {
    color: #E0E5EC !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
}

.aside-stamp {
    color: var(--gold-light) !important;
    border-color: var(--gold) !important;
}

/* FORM */
.form-panel {
    background: var(--ivory) !important;
    color: var(--navy) !important;
}

.form-panel h3 {
    color: var(--navy) !important;
    font-size: 30px !important;
}

.form-heading {
    color: var(--gold) !important;
    font-size: 13px !important;
}

.form-sub {
    color: var(--muted) !important;
    font-size: 16px !important;
}

.form-section-title {
    color: var(--navy) !important;
    font-size: 15px !important;
}

label {
    color: var(--navy) !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    font-weight: 600 !important;
}

input,
textarea,
select {
    background: var(--white) !important;
    color: var(--navy) !important;
    border: 1px solid #C9C6BE !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    padding: 15px 16px !important;
    min-height: 50px;
    border-radius: 4px !important;
}

textarea {
    min-height: 130px;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--gold) !important;
    box-shadow: 0 0 0 2px #A77C3220;
}

.field-hint,
.file-name {
    color: var(--muted) !important;
    font-size: 14px !important;
}

.upload-box {
    background: var(--white) !important;
    border-color: var(--gold) !important;
}

.upload-box b {
    color: var(--navy) !important;
    font-size: 16px !important;
}

.upload-box p {
    color: var(--muted) !important;
    font-size: 15px !important;
}

.file-button {
    color: var(--navy) !important;
    border-color: var(--gold) !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
}

.consent-box {
    background: #EAE7DF !important;
}

.checkline {
    color: var(--navy) !important;
    font-size: 15px !important;
}

.consent-box p,
.privacy-note {
    color: var(--muted) !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* BUTTONS */
.button {
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 24px !important;
    border-radius: 4px !important;
}

.button-gold {
    background: var(--gold) !important;
    color: var(--white) !important;
}

.button-gold:hover {
    background: var(--navy-light) !important;
    color: var(--white) !important;
}

.button-dark {
    background: var(--navy) !important;
    color: var(--white) !important;
}

.button-dark:hover {
    background: var(--gold) !important;
    color: var(--white) !important;
}

.text-link,
.under-link {
    font-size: 15px !important;
}

/* ALERTS */
.alert {
    font-size: 15px !important;
    line-height: 1.7 !important;
}

/* FOOTER */
footer {
    background: var(--navy) !important;
    color: var(--white) !important;
    font-size: 14px !important;
}

footer a {
    color: var(--white) !important;
}

footer a:hover {
    color: var(--gold-light) !important;
}

/* APPROVAL PAGE */
.approval-body {
    background: var(--ivory) !important;
}

.approval-wrap {
    background: var(--white);
    color: var(--navy);
    padding: 40px;
    border-radius: 6px;
}

.approval-wrap h1 {
    color: var(--navy) !important;
    font-size: clamp(38px, 5vw, 55px) !important;
}

.approval-wrap h1 em {
    color: var(--gold) !important;
}

.approval-intro {
    color: var(--muted) !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
}

.approval-label {
    color: var(--gold) !important;
    font-size: 14px !important;
}

/* ADMIN LOGIN */
.login-body {
    background: var(--ivory) !important;
}

.login-card {
    background: var(--white) !important;
    color: var(--navy) !important;
    border-top: 4px solid var(--gold);
}

.login-card h1 {
    color: var(--navy) !important;
    font-size: 42px !important;
}

.login-card h1 em {
    color: var(--gold) !important;
}

.login-card p {
    color: var(--muted) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* ADMIN DASHBOARD */
.dashboard-body {
    background: var(--ivory) !important;
    color: var(--navy) !important;
}

.sidebar {
    background: var(--navy) !important;
    color: var(--white) !important;
}

.sidebar .brand {
    background: var(--white);
    padding: 8px;
    border-radius: 4px;
}

.sidebar .brand img {
    width: 165px;
}

.side-label {
    color: var(--gold-light) !important;
    font-size: 13px !important;
}

.side-link {
    color: #E0E5EC !important;
    font-size: 15px !important;
}

.side-link:hover,
.side-link.active {
    background: var(--navy-light) !important;
    color: var(--gold-light) !important;
}

.side-bottom {
    font-size: 14px !important;
}

.dashboard-main {
    background: var(--ivory) !important;
}

.dash-top h1 {
    color: var(--navy) !important;
    font-size: 38px !important;
}

.dash-top h1 em {
    color: var(--gold) !important;
}

.dash-top p {
    color: var(--muted) !important;
    font-size: 16px !important;
}

.live-pill {
    color: var(--navy) !important;
    background: #E9E2D3 !important;
    font-size: 12px !important;
}

.stat-card {
    background: var(--white) !important;
    border-bottom: 2px solid var(--gold);
}

.stat-card span {
    color: var(--muted) !important;
    font-size: 13px !important;
}

.stat-card b {
    color: var(--navy) !important;
    font-size: 27px !important;
}

.submission-list,
.detail-panel {
    background: var(--white) !important;
    color: var(--navy) !important;
}

.list-head h2,
.detail-heading h2 {
    color: var(--navy) !important;
    font-size: 22px !important;
}

.list-head small {
    color: var(--muted) !important;
    font-size: 13px !important;
}

.submission-row {
    padding: 17px !important;
}

.submission-person b {
    color: var(--navy) !important;
    font-size: 14px !important;
}

.submission-person span,
.submission-person small {
    color: var(--muted) !important;
    font-size: 12px !important;
}

.status {
    font-size: 11px !important;
}

.detail-heading p {
    color: var(--muted) !important;
    font-size: 14px !important;
}

.detail-profile {
    background: var(--ivory) !important;
}

.detail-profile div > * {
    font-size: 14px !important;
}

.quote-admin p {
    color: var(--navy) !important;
    font-size: 19px !important;
    line-height: 1.7 !important;
}

.feedback-box {
    font-size: 14px !important;
}

.consent-record {
    font-size: 13px !important;
}

.detail-empty h2 {
    color: var(--navy) !important;
}

.detail-empty p,
.empty-state {
    font-size: 15px !important;
}

/* MOBILE RESPONSIVENESS */
@media (max-width: 650px) {
    html {
        font-size: 16px;
    }

    body {
        font-size: 16px !important;
    }

    .brand img {
        width: 150px;
    }

    .site-header {
        min-height: 76px;
        padding: 10px 5%;
    }

    .hero h1 {
        font-size: 43px !important;
    }

    .hero-intro {
        font-size: 17px !important;
    }

    .manifesto h2,
    .audience h2,
    .process h2 {
        font-size: 38px !important;
    }

    .contribute h2 {
        font-size: 44px !important;
    }

    .role h3 {
        font-size: 21px !important;
    }

    .role p,
    .steps p {
        font-size: 14px !important;
    }

    .field-grid {
        grid-template-columns: 1fr !important;
    }

    label {
        font-size: 15px !important;
    }

    input,
    textarea,
    select {
        font-size: 16px !important;
    }

    .approval-wrap {
        padding: 24px 18px;
        margin: 20px 12px;
    }

    .approval-wrap h1 {
        font-size: 38px !important;
    }

    .dash-top h1 {
        font-size: 30px !important;
    }

    .stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sidebar .brand img {
        width: 145px;
    }

    footer {
        font-size: 13px !important;
    }
}
/* ==========================================
   CXO INSPIRE - NAVIGATION & RESPONSIVE
   ========================================== */

:root {
    --cxo-navy: #101F35;
    --cxo-gold: #A77C32;
    --cxo-white: #FFFFFF;
}

/* Header and navigation */

.site-header {
    position: relative;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.site-header .brand {
    flex-shrink: 0;
}

.site-header .brand img {
    display: block;
    width: auto;
    max-width: 190px;
    max-height: 75px;
    object-fit: contain;
}

.main-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px 17px;
}

.main-navigation a {
    color: var(--cxo-navy);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease;
}

.main-navigation a:hover {
    color: var(--cxo-gold);
}

.main-navigation .nav-cta {
    background: var(--cxo-navy);
    color: #fff;
    padding: 12px 17px;
    border-radius: 3px;
}

.main-navigation .nav-cta:hover {
    background: var(--cxo-gold);
    color: #fff;
}

/* Mobile menu button */

.menu-toggle {
    display: none;
    width: 44px;
    height: 42px;
    padding: 9px;
    border: 1px solid rgba(16,31,53,.2);
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.menu-toggle span {
    display: block;
    height: 2px;
    width: 100%;
    margin: 5px 0;
    background: var(--cxo-navy);
    transition: transform .2s ease, opacity .2s ease;
}

.menu-toggle.active span:first-child {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:last-child {
    transform: translateY(-7px) rotate(-45deg);
}

/* Footer */

.main-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 22px;
}

.brand-footer img {
    display: block;
    width: auto;
    max-width: 170px;
    max-height: 75px;
    object-fit: contain;
}

.footer-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 20px;
}

.footer-links a {
    color: inherit;
    text-decoration: none;
    font-size: 13px;
}

.footer-links a:hover {
    color: var(--cxo-gold);
}

/* General responsive improvements */

img {
    max-width: 100%;
}

input,
textarea,
select,
button {
    max-width: 100%;
}

.field-grid > *,
.role-grid > *,
.steps > * {
    min-width: 0;
}

textarea,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="file"] {
    box-sizing: border-box;
}

/* Tablet */

@media (max-width: 1100px) {
    .site-header {
        gap: 15px;
    }

    .main-navigation {
        gap: 10px 12px;
    }

    .main-navigation a {
        font-size: 12px;
    }

    .site-header .brand img {
        max-width: 155px;
    }
}

/* Mobile */

@media (max-width: 850px) {
    .site-header {
        flex-wrap: wrap;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .site-header .brand img {
        max-width: 165px;
        max-height: 65px;
    }

    .menu-toggle {
        display: block;
    }

    .main-navigation {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        box-sizing: border-box;
        padding: 14px 20px 20px;
        background: #fff;
        border-top: 1px solid rgba(16,31,53,.1);
        box-shadow: 0 12px 22px rgba(16,31,53,.12);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        max-height: 75vh;
        overflow-y: auto;
    }

    .main-navigation.open {
        display: flex;
    }

    .main-navigation a {
        display: block;
        padding: 13px 5px;
        font-size: 15px;
        border-bottom: 1px solid rgba(16,31,53,.08);
        white-space: normal;
    }

    .main-navigation .nav-cta {
        margin-top: 12px;
        text-align: center;
        border-bottom: 0;
    }

    .topline {
        justify-content: center;
        text-align: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .hero {
        min-height: auto;
    }

    .hero-copy,
    .hero-art {
        width: 100%;
        box-sizing: border-box;
    }

    .hero h1 {
        font-size: clamp(38px, 9vw, 58px);
        line-height: 1.12;
    }

    .hero-art {
        margin-top: 35px;
    }

    .manifesto-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .manifesto h2,
    .audience h2,
    .process h2 {
        font-size: clamp(32px, 7vw, 46px);
    }

    .role-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-head {
        display: block;
    }

    .steps {
        grid-template-columns: 1fr;
    }

    .contribute {
        grid-template-columns: 1fr;
    }

    .contribute-aside {
        min-height: auto;
    }

    .form-panel {
        min-width: 0;
        box-sizing: border-box;
        padding: 25px 20px;
    }

    .field-grid {
        grid-template-columns: 1fr;
    }

    .form-heading {
        flex-wrap: wrap;
        gap: 8px;
    }

    .main-footer {
        flex-direction: column;
        text-align: center;
    }

    .footer-links {
        gap: 12px 16px;
    }
}

/* Smaller mobile screens */

@media (max-width: 480px) {
    .topline {
        font-size: 10px;
        padding: 8px 12px;
    }

    .site-header {
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero {
        padding-left: 20px;
        padding-right: 20px;
    }

    .hero h1 {
        font-size: 38px;
    }

    .hero-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }

    .hero-note {
        font-size: 12px;
    }

    .role-grid {
        grid-template-columns: 1fr;
    }

    .manifesto,
    .audience,
    .process,
    .contribute {
        padding-left: 20px;
        padding-right: 20px;
    }

    .quote-card {
        padding: 22px;
    }

    .quote-card blockquote {
        font-size: 21px;
    }

    .upload-box {
        align-items: flex-start;
        flex-direction: column;
    }

    .submit-button {
        width: 100%;
        justify-content: center;
    }

    .closing p {
        font-size: 22px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Accessibility */

.menu-toggle:focus-visible,
.main-navigation a:focus-visible,
.footer-links a:focus-visible {
    outline: 2px solid var(--cxo-gold);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}


/* =========================================
   CXO INSPIRE - BUTTON & FOOTER COLOUR FIX
   ========================================= */

/* GET FEATURED - NAVIGATION BUTTON */
.site-header .main-navigation a.nav-cta {
    background: #A77C32 !important;
    color: #FFFFFF !important;
    border: 1px solid #A77C32 !important;
    padding: 12px 19px !important;
    border-radius: 3px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    transition: all .25s ease;
}

.site-header .main-navigation a.nav-cta span {
    color: #FFFFFF !important;
}

.site-header .main-navigation a.nav-cta:hover {
    background: #101F35 !important;
    color: #FFFFFF !important;
    border-color: #101F35 !important;
}

/* FOOTER BACKGROUND */
footer.main-footer {
    background: #101F35 !important;
    color: #F5F3EE !important;
    padding: 35px 5%;
    border-top: 3px solid #A77C32;
}

/* FOOTER LOGO */
footer.main-footer .brand-footer {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

footer.main-footer .brand-footer img {
    display: block;
    width: auto;
    max-width: 175px;
    max-height: 75px;
    object-fit: contain;
    background: #FFFFFF;
    padding: 5px;
    border-radius: 3px;
}

/* FOOTER LINKS */
footer.main-footer .footer-links a {
    color: #F5F3EE !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease;
}

footer.main-footer .footer-links a:hover {
    color: #D6B36C !important;
}

/* COPYRIGHT TEXT */
footer.main-footer > span {
    color: #D9DEE6 !important;
    font-size: 12px;
}

/* FOOTER RESPONSIVE */
@media (max-width: 850px) {
    footer.main-footer {
        padding: 30px 20px;
        gap: 20px;
    }

    footer.main-footer .brand-footer {
        justify-content: center;
    }

    footer.main-footer .footer-links {
        justify-content: center;
        width: 100%;
    }

    footer.main-footer > span {
        text-align: center;
        line-height: 1.7;
    }
}


/* ==============================================
   CXO INSPIRE - MOBILE EXPERIENCE REBUILD
   ============================================== */

/* Prevent horizontal scrolling */
html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    width: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

/* MOBILE NAVIGATION */
@media (max-width: 850px) {

    .site-header {
        position: relative !important;
        z-index: 9999 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100%;
        min-height: 76px;
        padding: 12px 18px !important;
        box-sizing: border-box;
        overflow: visible !important;
        background: #FFFFFF;
    }

    .site-header .brand img {
        max-width: 190px !important;
        max-height: 62px !important;
        width: auto;
        height: auto;
    }

    /* Hamburger */
    .menu-toggle {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px;
        width: 50px !important;
        height: 50px !important;
        min-width: 50px;
        padding: 10px !important;
        background: #FFFFFF !important;
        border: 1px solid #A77C32 !important;
        border-radius: 5px !important;
        cursor: pointer;
        z-index: 10002;
    }

    .menu-toggle span {
        display: block !important;
        width: 25px !important;
        height: 2px !important;
        margin: 0 !important;
        background: #101F35 !important;
        transition: transform .25s ease, opacity .25s ease;
    }

    .menu-toggle.active span:first-child {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.active span:last-child {
        transform: translateY(-8px) rotate(-45deg);
    }

    /* Dropdown navigation */
    .site-header #main-navigation {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 90px) !important;
        overflow-y: auto !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
        padding: 12px 20px 22px !important;
        margin: 0 !important;
        background: #FFFFFF !important;
        border-top: 1px solid #E8E4DC !important;
        box-shadow: 0 12px 25px rgba(16,31,53,.16) !important;
        z-index: 10001 !important;
        box-sizing: border-box;
    }

    .site-header #main-navigation.open {
        display: flex !important;
    }

    .site-header #main-navigation a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
        padding: 16px 8px !important;
        margin: 0 !important;
        color: #101F35 !important;
        background: transparent;
        border-bottom: 1px solid #EEEAE3 !important;
        font-size: 17px !important;
        line-height: 1.4 !important;
        font-weight: 600 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    .site-header #main-navigation a.nav-cta {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        margin-top: 14px !important;
        padding: 16px !important;
        background: #A77C32 !important;
        color: #FFFFFF !important;
        border: 0 !important;
        border-radius: 4px !important;
        text-align: center !important;
    }

    .site-header #main-navigation a.nav-cta span {
        color: #FFFFFF !important;
    }

    /* TOP STRIP */
    .topline {
        padding: 10px 14px !important;
        gap: 6px 12px !important;
        font-size: 10px !important;
        line-height: 1.5 !important;
        text-align: center;
        justify-content: center;
    }

    /* GENERAL CONTENT */
    main section {
        box-sizing: border-box;
    }

    .section-kicker,
    .section-kicker *,
    .eyebrow {
        font-size: 12px !important;
        line-height: 1.6 !important;
        letter-spacing: 1.2px !important;
    }

    p,
    .manifesto-copy p,
    .hero-intro,
    .process-head p {
        font-size: 17px !important;
        line-height: 1.75 !important;
    }

    /* HERO */
    .hero {
        display: flex !important;
        flex-direction: column !important;
        min-height: auto !important;
        padding: 48px 22px 35px !important;
        gap: 25px !important;
    }

    .hero-copy,
    .hero-art {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .hero h1 {
        font-size: clamp(40px, 10vw, 54px) !important;
        line-height: 1.12 !important;
        margin-bottom: 22px !important;
    }

    .hero-intro {
        margin-top: 18px;
    }

    .hero-actions {
        display: flex !important;
        flex-wrap: wrap;
        gap: 18px !important;
        margin-top: 25px !important;
    }

    .button {
        min-height: 50px !important;
        padding: 14px 22px !important;
        font-size: 16px !important;
    }

    .hero-note {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-top: 25px;
    }

    .hero-art {
        min-height: 350px;
    }

    .quote-card {
        padding: 24px !important;
    }

    .quote-card blockquote {
        font-size: 22px !important;
        line-height: 1.5 !important;
    }

    .floating-tag {
        font-size: 10px !important;
    }

    .hero-bottom {
        font-size: 10px !important;
        flex-wrap: wrap;
        gap: 10px;
    }

    /* MANIFESTO */
    .manifesto,
    .audience,
    .process {
        padding: 55px 22px !important;
    }

    .manifesto h2,
    .audience h2,
    .process h2 {
        font-size: clamp(34px, 8vw, 44px) !important;
        line-height: 1.2 !important;
    }

    .manifesto-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 25px !important;
    }

    .manifesto-copy .lead {
        font-size: 19px !important;
        line-height: 1.65 !important;
    }

    .manifesto-foot {
        flex-wrap: wrap;
        gap: 12px;
        font-size: 12px !important;
    }

    /* AUDIENCE CARDS */
    .role-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .role {
        padding: 20px 15px !important;
        min-height: 150px;
        box-sizing: border-box;
    }

    .role h3 {
        font-size: 19px !important;
        line-height: 1.3 !important;
    }

    .role p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    /* PROCESS */
    .process-head {
        display: block !important;
    }

    .steps {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .steps article {
        padding: 24px !important;
    }

    .steps article h3 {
        font-size: 20px !important;
        line-height: 1.45 !important;
    }

    .steps article p {
        font-size: 16px !important;
    }

    /* CONTRIBUTION FORM */
    .contribute {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    .contribute-aside {
        padding: 45px 22px !important;
        min-height: auto !important;
    }

    .contribute-aside h2 {
        font-size: 45px !important;
        line-height: 1.15 !important;
    }

    .form-panel {
        width: 100% !important;
        max-width: 100% !important;
        padding: 32px 20px !important;
        box-sizing: border-box !important;
    }

    .form-panel h3 {
        font-size: 25px !important;
        line-height: 1.35 !important;
    }

    .form-sub {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }

    .form-heading {
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px 15px !important;
        font-size: 11px !important;
    }

    .form-section-title {
        font-size: 13px !important;
        margin-top: 30px !important;
    }

    .field-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .field-grid label,
    .full-label {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    .field-grid input,
    .full-label textarea {
        width: 100% !important;
        min-height: 50px !important;
        padding: 13px !important;
        font-size: 16px !important;
        box-sizing: border-box !important;
    }

    .full-label textarea {
        min-height: 145px !important;
    }

    .field-hint {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .upload-box {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        padding: 20px !important;
    }

    .upload-box p {
        font-size: 14px !important;
    }

    .file-button {
        display: inline-block;
        padding: 13px 18px !important;
        font-size: 15px !important;
    }

    .file-name {
        display: block;
        margin-top: 10px;
        font-size: 13px !important;
    }

    .consent-box {
        padding: 18px !important;
    }

    .consent-box label,
    .consent-box p {
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    .consent-box input {
        min-width: 20px;
        min-height: 20px;
    }

    .submit-button {
        width: 100% !important;
        min-height: 54px !important;
        justify-content: center !important;
        font-size: 16px !important;
    }

    .privacy-note {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    /* CLOSING SECTION */
    .closing {
        padding: 50px 18px !important;
    }

    .closing p {
        font-size: 23px !important;
        line-height: 1.5 !important;
    }

    .closing span {
        font-size: 11px !important;
    }

    /* FOOTER */
    footer.main-footer {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 22px !important;
        padding: 35px 20px !important;
        text-align: center !important;
    }

    footer.main-footer .brand-footer img {
        max-width: 185px !important;
        max-height: 75px !important;
    }

    footer.main-footer .footer-links {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 14px 18px !important;
    }

    footer.main-footer .footer-links a {
        font-size: 14px !important;
    }

    footer.main-footer > span {
        font-size: 13px !important;
        line-height: 1.7 !important;
    }
}

/* VERY SMALL MOBILE SCREENS */
@media (max-width: 380px) {
    .hero h1 {
        font-size: 36px !important;
    }

    .role-grid {
        grid-template-columns: 1fr !important;
    }

    .site-header .brand img {
        max-width: 155px !important;
    }

    .hero,
    .manifesto,
    .audience,
    .process {
        padding-left: 17px !important;
        padding-right: 17px !important;
    }
}

