:root { --ink:#11241f; --green:#043b32; --green-mid:#075246; --mint:#91f09a; --mint-pale:#e5f8e4; --paper:#f6f5ee; --white:#fff; --line:#cdd8d1; --muted:#566660; --serif:Iowan Old Style,Baskerville,Times New Roman,serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; text-underline-offset:.2em; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--mint); outline-offset:3px; }
.wrap { width:min(calc(100% - 40px),1160px); margin-inline:auto; }
.skip-link { position:fixed; top:.5rem; left:.5rem; z-index:30; padding:.7rem 1rem; background:var(--white); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.site-header { position:absolute; inset:0 0 auto; z-index:10; color:var(--white); }
.header-inner { min-height:86px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #ffffff2b; }
.brand { display:inline-flex; align-items:center; gap:.75rem; font-size:1.1rem; font-weight:800; letter-spacing:-.02em; text-decoration:none; }
.brand img { width:40px; height:40px; border-radius:10px; }
.header-contact { border-bottom:1px solid #ffffff80; color:#e7f3ed; font-size:.9rem; text-decoration:none; }
.intro { color:var(--white); background:var(--green); }
.intro-grid { min-height:660px; display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(3rem,8vw,8rem); align-items:center; padding-block:132px 48px; }
.eyebrow { margin:0 0 1.1rem; color:var(--green-mid); font-size:.73rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.intro .eyebrow { color:var(--mint); }
h1,h2,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:500; letter-spacing:-.04em; line-height:.98; }
h1 { margin-bottom:1.8rem; font-size:clamp(4rem,9vw,7.7rem); }
h2 { margin-bottom:1.25rem; font-size:clamp(2.5rem,5vw,4.4rem); }
.benefit-line { max-width:630px; margin-bottom:.7rem; color:var(--mint); font-size:clamp(1.22rem,2vw,1.6rem); font-weight:800; letter-spacing:-.02em; }
.lead { max-width:680px; margin-bottom:1.25rem; color:#dbeae3; font-size:clamp(1rem,1.45vw,1.2rem); }
.approval-note { max-width:650px; margin:0; color:#a8beb5; font-size:.78rem; }
.brand-panel { position:relative; display:grid; place-items:center; aspect-ratio:1; border:1px solid #a7eeb84d; border-radius:50%; background:radial-gradient(circle,#126b5a,#043b32 68%); }
.brand-panel::before { position:absolute; inset:12%; border:1px solid #a7eeb82d; border-radius:inherit; content:""; }
.brand-panel img { position:relative; width:64%; border-radius:25%; box-shadow:0 28px 70px #012720aa; }
.submission { padding-block:clamp(56px,8vw,104px); }
.submission-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(3rem,8vw,8rem); align-items:start; }
.submission-intro { position:sticky; top:50px; }
.submission-intro>p { color:var(--muted); }
.review-principle { display:grid; grid-template-columns:32px 1fr; gap:.7rem; margin-top:2rem; padding-top:1.4rem; border-top:1px solid var(--line); }
.review-principle>span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:var(--green); background:var(--mint); font-weight:900; }
.review-principle p { margin:0; color:var(--muted); font-size:.88rem; }
.company-form { display:grid; gap:1.3rem; padding:clamp(1.3rem,4vw,2.5rem); border:1px solid var(--line); background:var(--white); box-shadow:0 24px 70px #10271f0b; }
.form-notice { display:grid; gap:.15rem; padding:1rem 1.1rem; border-left:3px solid var(--mint); background:var(--mint-pale); font-size:.82rem; }
.form-notice span { color:var(--muted); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
label { display:grid; gap:.5rem; font-size:.8rem; font-weight:750; }
.optional { color:var(--muted); font-size:.68rem; font-weight:550; letter-spacing:.04em; text-transform:uppercase; }
input,textarea { width:100%; border:1px solid #aebdb5; border-radius:2px; padding:.8rem .85rem; color:var(--ink); background:#fdfdf9; font:inherit; font-weight:450; }
textarea { min-height:150px; resize:vertical; }
input:hover,textarea:hover { border-color:var(--green-mid); }
.field-help { color:var(--muted); font-size:.7rem; font-weight:450; }
.opportunity-group { margin:0; border:0; padding:1.25rem 0 0; border-top:1px solid var(--line); }
.opportunity-group legend { padding:0; font-family:var(--serif); font-size:1.65rem; font-weight:600; letter-spacing:-.02em; }
.opportunity-group>.field-help { margin:.25rem 0 1rem; }
.opportunity-options { display:grid; grid-template-columns:1fr 1fr; gap:.65rem 1rem; }
.check-row { grid-template-columns:20px 1fr; align-items:start; gap:.7rem; color:var(--muted); font-size:.76rem; font-weight:450; }
.check-row input { width:17px; height:17px; margin:.15rem 0 0; accent-color:var(--green-mid); }
.privacy-note { padding:1rem 1.1rem; border-left:3px solid var(--line); color:var(--muted); background:#f2f4ef; font-size:.75rem; }
.privacy-note a { color:var(--green-mid); font-weight:750; }
.submit-button { min-height:50px; border:1px solid #a8b6af; border-radius:999px; color:#65736d; background:#e7eae6; font:inherit; font-weight:800; cursor:not-allowed; }
.contact { padding-block:clamp(68px,9vw,104px); border-top:1px solid var(--line); background:#e9eee8; }
.contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.contact h2 { max-width:530px; margin-bottom:0; }
.contact-inner>div:last-child>p:first-child { color:var(--muted); }
.contact-list { margin-top:1.5rem; border-top:1px solid var(--line); }
.contact-list p { display:grid; grid-template-columns:minmax(200px,.9fr) 1.1fr; gap:1rem; margin:0; padding:1rem 0; border-bottom:1px solid var(--line); }
.contact-list a { color:var(--green-mid); font-weight:800; }
.contact-list span,.contact-verification { color:var(--muted); font-size:.76rem; }
.contact-verification { margin-top:.9rem; }
.site-footer { padding-block:55px 26px; color:#dce9e4; background:#032f28; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.footer-identity { display:flex; align-items:center; gap:.8rem; }
.footer-identity img { width:50px; height:50px; border-radius:12px; }
.footer-identity div { display:grid; }
.footer-identity span { color:#a9beb6; font-size:.78rem; }
.footer-main nav { display:flex; gap:1.5rem; font-size:.83rem; }
.footer-main nav a { text-decoration:none; }
.app-reserve { display:grid; grid-template-columns:140px 1fr; gap:1rem; margin-top:46px; padding-block:18px; border-block:1px solid #ffffff22; color:#9eb4ab; font-size:.73rem; }
.app-reserve span { color:var(--mint); font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.app-reserve p { margin:0; }
.footer-base { display:flex; justify-content:space-between; gap:1rem; padding-top:24px; color:#8ea79d; font-size:.72rem; }
@media (max-width:820px) { .wrap{width:min(calc(100% - 28px),1160px)} .intro-grid,.submission-grid,.contact-inner{grid-template-columns:1fr} .intro-grid{min-height:auto;padding-block:130px 58px} .intro-copy{max-width:680px} .brand-panel{display:none} .submission-intro{position:static} .contact-inner{gap:2rem} }
@media (max-width:560px) { .header-inner{min-height:74px} .brand img{width:36px;height:36px} h1{font-size:clamp(3.7rem,19vw,5.5rem)} .intro-grid{padding-top:112px} .field-row,.opportunity-options{grid-template-columns:1fr} .company-form{margin-inline:-4px} .contact-list p{grid-template-columns:1fr;gap:.2rem} .footer-main,.footer-base{display:grid} .footer-main nav{gap:1rem} .app-reserve{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
