.o3-information > .o3-service-hero { padding-bottom:42px; }
.o3-body-copy { font-size:16px; line-height:1.9; margin-top:20px; }
.o3-stage { display:grid; grid-template-columns:1fr 1.5fr; gap:70px; border-top:1px solid var(--o3-line); padding:34px 0; }
.o3-stage h2 { font-size:35px; }
.o3-stage > div > p:not(.o3-eyebrow) { font-size:15px; line-height:1.9; }
.o3-stage-deliverable { background:var(--o3-pale); border-radius:8px; padding:19px 23px; margin-top:20px; }
.o3-stage-deliverable strong { font-size:11px; color:var(--o3-blue); text-transform:uppercase; letter-spacing:1px; }
.o3-stage-deliverable p { margin:8px 0 0; font-size:14px; line-height:1.8; }
.o3-contact-layout { display:grid; grid-template-columns:1.65fr 1fr; gap:75px; align-items:start; }
.o3-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.o3-form-intro { font-size:13px; margin-bottom:25px; }
.o3-field { margin-bottom:23px; }
.o3-field label { display:block; color:var(--o3-ink); font-size:14px; font-weight:500; margin-bottom:9px; }
.o3-field label span { color:var(--o3-muted); font-size:12px; font-weight:400; }
.o3-field input,.o3-field select,.o3-field textarea { display:block; width:100%; border:1px solid #718096; background:#fff; color:var(--o3-ink); border-radius:6px; padding:13px 14px; font:400 15px/1.6 'DM Sans',sans-serif; }
.o3-field textarea { resize:vertical; min-height:150px; }
.o3-field input:focus-visible,.o3-field select:focus-visible,.o3-field textarea:focus-visible { outline:3px solid var(--o3-blue); outline-offset:2px; }
.o3-field-help { color:var(--o3-muted); font-size:12px; line-height:1.8; margin:9px 0 20px; }
.o3-field-help a,.o3-prose a { color:var(--o3-blue); text-decoration:underline !important; text-underline-offset:3px; }
.o3-field input::placeholder { color:#68768b; font-size:12px; }
.o3-form-status { padding:16px; background:#fff4ef; border:1px solid #e8b89f; color:#723919; border-radius:6px; font-size:14px; line-height:1.7; margin-bottom:22px; }
.o3-form-status[data-state="success"] { background:#eef9f2; color:#235636; border-color:#a4ceb3; }
.o3-form-status:focus-visible { outline:3px solid var(--o3-blue); outline-offset:3px; }
.o3-button:disabled { opacity:.65; cursor:wait; }
.o3-contact-aside { padding:28px; background:var(--o3-pale); border:1px solid var(--o3-line); border-radius:10px; }
.o3-contact-aside h2 { font-size:29px; }
.o3-contact-aside h3 { font-size:24px; }
.o3-contact-aside p,.o3-contact-aside li { font-size:14px; line-height:1.9; }
.o3-contact-aside ol { list-style:decimal; padding-left:20px; color:var(--o3-muted); }
.o3-contact-aside li { margin-bottom:10px; }
.o3-contact-aside hr { border:0; border-top:1px solid #ccd7ea; margin:24px 0; opacity:1; }
.o3-contact-email { display:block; overflow-wrap:anywhere; color:var(--o3-blue); font-size:14px; margin:18px 0; }
.o3-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.o3-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.o3-prose { max-width:850px; }
.o3-prose h2 { font-size:29px; margin:32px 0 14px; }
.o3-prose h2:first-child { margin-top:0; }
.o3-prose p { font-size:15px; line-height:1.9; }
@media(max-width:980px) { .o3-contact-layout { gap:30px; grid-template-columns:1.5fr 1fr; } .o3-stage { gap:35px; } .o3-form-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .o3-contact-layout,.o3-stage { grid-template-columns:1fr; gap:24px; } .o3-stage { padding-block:28px; } .o3-stage h2 { font-size:31px; } .o3-contact-aside { padding:24px; } }
