:root { --navy:#193c47; --teal:#264653; --sea:#2a9d8f; --coral:#f28482; --gold:#f4c95d; --cream:#fff8e7; --ink:#263238; --muted:#607078; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:#edf3f1; color:var(--ink); font-family:"Lucida Sans","Lucida Grande",Geneva,Verdana,sans-serif; margin:0; }
a { color:#176d64; }
.skip-link { background:var(--gold); left:1rem; padding:.75rem 1rem; position:fixed; top:-5rem; z-index:100; }
.skip-link:focus { top:1rem; }
header { align-items:center; background:var(--teal); color:var(--cream); display:flex; justify-content:space-between; padding:5px; }
#name-container h1 { font-size:2em; line-height:normal; margin:.67em 0; }
.firstLetter { color:var(--coral); font-family:Georgia,serif; font-size:1.5em; }
#logo { border:5px solid var(--cream); border-radius:50%; box-sizing:content-box; height:100px; width:100px; }
header nav { align-items:center; background:var(--teal); display:flex; flex-direction:row; height:5%; justify-content:space-between; margin-left:auto; margin-right:auto; padding:0; width:100%; }
header nav ul { align-items:center; display:flex; justify-content:space-evenly; list-style:none; margin:0; padding:0; width:100%; }
header nav ul li { margin:0; padding:8px 12px; }
header nav a { color:var(--cream); font-size:18px; font-weight:700; text-decoration:none; }
header nav a:hover { color:var(--gold); }
.contributor-hero { background:linear-gradient(120deg,var(--navy),#315a66); color:var(--cream); padding:clamp(4rem,9vw,7rem) max(1.25rem,calc((100% - 1100px)/2)); }
.eyebrow { color:var(--gold); font-family:"Courier New",monospace; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contributor-hero h2 { font-family:Georgia,serif; font-size:clamp(2.6rem,6vw,5.5rem); line-height:1.02; margin:.5rem 0 1.25rem; max-width:900px; }
.contributor-hero>p:not(.eyebrow) { color:#dce9e7; font-size:1.08rem; line-height:1.75; max-width:760px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.button { background:var(--gold); border:2px solid var(--navy); color:var(--navy); display:inline-block; font-weight:900; padding:.9rem 1.1rem; text-decoration:none; }
.button.secondary { background:transparent; border-color:var(--cream); color:var(--cream); }
.button:hover,.button:focus-visible { background:var(--coral); color:var(--navy); }
.page-shell { margin:0 auto; max-width:1100px; padding:clamp(2rem,6vw,5rem) 1rem; }
.intro-grid,.path-grid { display:grid; gap:1.2rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.path-card,.policy-card,.form-shell { background:var(--white); border:1px solid #d7dfdc; border-radius:18px; padding:clamp(1.3rem,3vw,2rem); }
.path-card { border-top:7px solid var(--sea); }
.path-card:nth-child(2) { border-top-color:var(--coral); }
.path-card h3,.section-title,.form-shell h2 { color:var(--teal); font-family:Georgia,serif; }
.path-card p,.policy-card p,.policy-card li { line-height:1.7; }
.path-card a { font-weight:900; }
.process { background:var(--gold); margin-top:2rem; padding:1.5rem; }
.process ol { display:grid; gap:1rem; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.process li { border-left:3px solid var(--navy); padding-left:.8rem; }
.process strong,.process span { display:block; }
.process strong { color:var(--coral); font-family:"Courier New",monospace; }
.process span { font-size:.86rem; font-weight:800; margin-top:.35rem; }
.preview-notice { background:#173c47; border-left:6px solid var(--gold); color:var(--cream); line-height:1.65; margin-bottom:1.5rem; padding:1rem 1.2rem; }
.form-shell { max-width:850px; margin:0 auto; }
.form-section { border:0; border-top:1px solid #d7dfdc; margin:2rem 0 0; padding:1.5rem 0 0; }
.form-section legend { color:var(--teal); font-size:1.1rem; font-weight:900; padding-right:1rem; }
.field { display:block; margin:1.2rem 0; }
.field>span,.field-label { display:block; font-size:.86rem; font-weight:900; margin-bottom:.45rem; }
.field small { color:var(--muted); display:block; line-height:1.5; margin-top:.35rem; }
input,select,textarea { border:2px solid #aab9b6; border-radius:8px; font:inherit; padding:.8rem; width:100%; }
textarea { min-height:140px; resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--sea); outline:3px solid rgba(42,157,143,.2); }
.check-field { align-items:flex-start; display:flex; gap:.7rem; line-height:1.55; margin:1rem 0; }
.check-field input { flex:0 0 auto; margin-top:.25rem; width:auto; }
.form-actions { align-items:center; display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.form-actions button { background:var(--gold); border:2px solid var(--navy); color:var(--navy); cursor:pointer; font:inherit; font-weight:900; padding:1rem 1.25rem; }
.form-actions button:hover,.form-actions button:focus-visible { background:var(--coral); }
.form-actions button:disabled { background:#cbd3d1; border-color:#aeb8b6; color:#64706f; cursor:wait; }
.form-status { color:var(--muted); font-size:.82rem; line-height:1.5; }
.form-status.success { color:#176d64; font-weight:800; }
.form-status.error { color:#a12c35; font-weight:800; }
.honeypot { height:1px; left:-10000px; overflow:hidden; position:absolute; width:1px; }
.policy-nav { background:var(--white); border:1px solid #d7dfdc; margin-bottom:2rem; padding:1.2rem; }
.policy-nav ul { columns:2; margin:0; }
.policy-nav li { margin:.6rem 0; }
.policy-section { background:var(--white); border-left:6px solid var(--sea); margin:1rem 0; padding:clamp(1.3rem,3vw,2rem); scroll-margin-top:1rem; }
.policy-section h2 { color:var(--teal); margin-top:0; }
.policy-section h3 { color:#a64149; }
.policy-section p,.policy-section li { line-height:1.75; }
.callout { background:#fff3d2; border:1px solid #e2c976; padding:1rem; }
.revision-list { margin-top:2rem; }
.revision-entry h2 { margin-bottom:.35rem; }
.revision-meta { color:var(--muted); font-size:.82rem; font-weight:900; text-transform:capitalize; }
footer { background:var(--teal); color:var(--cream); padding:1rem; text-align:center; }
footer a { color:var(--coral); }
@media(max-width:768px){header{align-items:stretch;flex-direction:column;gap:6px;padding:10px 12px 12px}#name-container h1{font-size:clamp(1.35rem,7vw,2rem);line-height:1.1;margin:0}.firstLetter{font-size:1.25em}#logo{display:none}header nav{height:auto;width:100%}header nav ul{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:center;list-style:none;margin:0;padding:0;width:100%}header nav ul li{margin:0;padding:4px}header nav a{font-size:clamp(.72rem,3.2vw,.9rem)}.intro-grid,.path-grid{grid-template-columns:1fr}.process ol{grid-template-columns:1fr 1fr}.policy-nav ul{columns:1}}
@media(max-width:440px){.process ol{grid-template-columns:1fr}.hero-actions{align-items:stretch;flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
