/* OakLaunch sales site. Customer demo layouts keep their own independent styles. */
.oak-marketing { --om-ink:#18392b; --om-paper:#f8f1e5; --om-stone:#e6dfd2; --om-rust:#84532f; background:#fffdf8; color:#22372c; font-family:var(--ol-font-body); }
.oak-marketing *, .oak-marketing *::before, .oak-marketing *::after { box-sizing:border-box; }
.oak-marketing main { min-width:0; }
.oak-marketing img { display:block; max-width:100%; }
.oak-marketing h1,.oak-marketing h2,.oak-marketing h3 { color:var(--om-ink); font-family:Georgia,'Times New Roman',serif; font-weight:600; letter-spacing:-.035em; line-height:1.12; text-wrap:balance; }
.oak-marketing h1 { font-size:clamp(2.65rem,4.7vw,4.5rem); margin:.8rem 0 1.4rem; max-width:16ch; }
.oak-marketing h2 { font-size:clamp(2rem,3.3vw,3rem); margin:.7rem 0 1rem; }
.oak-marketing h3 { font-size:1.55rem; margin:.65rem 0; }
.oak-marketing p { color:#526157; line-height:1.7; }
.oak-marketing a { color:#29543e; text-underline-offset:4px; }
.oak-marketing a:hover { color:#173c29; }
.oak-marketing :is(a,button,summary,input,select,textarea):focus-visible { outline:3px solid #84532f; outline-offset:4px; }
.oak-marketing .bs-button,.oak-marketing .btn { min-height:46px; border-radius:4px; font-size:.93rem; font-weight:700; line-height:1.35; padding:.85rem 1.1rem; box-shadow:none; }
.oak-marketing :is(.bs-button--primary,.btn.primary),.oak-marketing :is(.bs-button--primary,.btn.primary):visited { background:#0b3d22; color:#fff; border-color:#0b3d22; }
.oak-marketing :is(.bs-button--primary,.btn.primary):hover { background:#173022; color:#fff; border-color:#173022; }
.oak-marketing :is(.bs-button--secondary,.btn.ghost) { background:transparent; color:#18392b; border:1px solid #456651; }
.oak-marketing :is(.bs-button--secondary,.btn.ghost):hover { background:#e8efe6; color:#18392b; border-color:#18392b; }
.oak-marketing :is(.bs-button,.btn):disabled { cursor:wait; opacity:.7; transform:none; }
.oak-marketing .site-header { background:#f8f1e5; backdrop-filter:none; border-bottom:1px solid #ded6c7; }
.oak-marketing .site-header .container { max-width:1240px; padding:.8rem 1.5rem; min-height:86px; }
.oak-marketing .site-nav { gap:1.35rem; }
.oak-marketing .site-nav a { color:#294635; font-size:.92rem; }
.oak-marketing .site-nav .nav-cta { background:#0b3d22; color:#fff; box-shadow:none; border-radius:4px; min-height:46px; }
.oak-marketing .site-nav .nav-cta:hover { background:#173022; color:#fff; }
.oak-marketing .site-nav a:focus-visible { outline:3px solid #84532f; outline-offset:3px; }
.oak-marketing .site-nav a:not(.nav-cta):focus-visible { background:#edf2e7; color:#173c29; }
.om-skip { position:absolute; z-index:200; left:1rem; top:-100px; padding:1rem; background:#fff; color:#0b3d22; }
.om-skip:focus { top:1rem; }
.om-wrap { max-width:1240px; padding-inline:2rem; margin-inline:auto; }
.om-section { padding-block:clamp(3.5rem,6vw,6rem); }
.om-eyebrow { display:block; font-size:.73rem; color:#356047; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.oak-marketing .om-lead { font-size:clamp(1.08rem,1.4vw,1.22rem); line-height:1.65; }
.oak-marketing .om-small { font-size:.87rem; line-height:1.6; }
.om-intro { max-width:68ch; margin-bottom:2rem; }
.om-hero { display:grid; grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr); gap:3rem; align-items:center; padding-block:clamp(3rem,5vw,5rem); }
.om-hero-copy { min-width:0; }
.om-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-block:1.75rem 1.1rem; }
.om-browser { margin:0; border:1px solid #d4d0c2; border-radius:7px; background:#fff; overflow:hidden; box-shadow:12px 18px 40px #233b2b12; }
.om-browser-bar { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; padding:.8rem; font-size:.71rem; color:#3e5044; background:#ebe7dc; }
.om-browser-bar > a { margin-left:auto; font-weight:700; }
.om-demo-label { display:inline-flex; padding:.25rem .5rem; border:1px solid #b5c5b9; background:#edf2e9; color:#254c35; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.om-browser picture { display:block; }
.om-browser img { width:100%; height:auto; }
.om-browser figcaption,.om-audit-example figcaption { padding:.85rem 1rem; font-size:.76rem; color:#596358; line-height:1.55; background:#fbfaf4; }
.om-foundations { background:#ede7da; border-block:1px solid #ded6c7; }
.om-foundations .om-wrap { display:flex; flex-wrap:wrap; gap:.75rem 3rem; justify-content:center; padding-block:1.25rem; font-size:.81rem; font-weight:700; }
.om-section-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; }
.om-section-heading h2 { max-width:24ch; }
.om-text-link { display:inline-block; font-size:.93rem; font-weight:750; line-height:1.5; text-decoration:underline; background:none; border:0; padding:.25rem 0; cursor:pointer; color:#29543e; }
.om-example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.om-example-card { min-width:0; border:1px solid #d9dccf; background:#fff; }
.om-example-image { display:block; position:relative; overflow:hidden; background:#e6e5d9; }
.om-example-image > .om-demo-label { position:absolute; top:.65rem; left:.65rem; z-index:1; background:#f8fbf2; }
.om-example-image img { width:100%; height:auto; aspect-ratio:8/5; object-fit:cover; }
.om-example-copy { padding:1.2rem; }
.om-example-copy h3 { font-size:1.5rem; }
.om-example-copy p { font-size:.92rem; margin:.65rem 0 1rem; }
.om-example-actions { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; align-items:center; }
.om-example-actions > a { display:inline-flex; min-height:44px; align-items:center; font-size:.85rem; font-weight:700; }
.om-soft { background:#edece1; }
.om-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin-top:2rem; }
.om-outcomes article { min-width:0; }
.om-outcomes img { width:100%; height:auto; aspect-ratio:8/5; object-fit:cover; border:1px solid #cdd2c5; margin-bottom:1.5rem; }
.om-number { color:#755338; font-size:.78rem; font-weight:800; }
.om-outcomes p { font-size:.96rem; }
.om-delivery { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; align-items:center; }
.om-process { list-style:none; margin:0; padding:0; }
.om-process li { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:1.4rem; padding:1.6rem 0; border-bottom:1px solid #d6ddcf; }
.om-process li > span { color:#755338; font-weight:800; padding-top:.7rem; font-size:.78rem; }
.om-process h3 { margin-bottom:.7rem; }
.om-process p { margin:0; }
.om-process-page { max-width:900px; margin-top:2rem; }
.om-process-page li { padding-block:2.2rem; }
.om-pricing { background:#e7ecdf; }
.om-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; margin-top:2rem; }
.om-plan-grid article { padding:1.7rem; border:1px solid #bac9b7; background:#f9faf2; }
.om-plan-grid .om-plan-price { margin:1.5rem 0 0; color:#18392b; font-family:Georgia,serif; font-size:2.4rem; font-weight:700; line-height:1.3; }
.om-plan-price span { font:500 .85rem var(--ol-font-body); }
.om-plan-grid .om-plan-monthly { color:#294b36; margin:.2rem 0 1.4rem; font-weight:700; }
.om-plan-grid article > p:not(.om-plan-price):not(.om-plan-monthly) { font-size:.9rem; }
.om-founder { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.om-founder-mark { padding:3rem; min-height:320px; background:#173c2a; color:#faf1df; font:600 clamp(2.4rem,4vw,3.8rem)/1.1 Georgia,serif; letter-spacing:-.04em; }
.om-founder-mark em { color:#e6c9a2; }
.om-faq-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:5rem; }
.om-faqs details { border-bottom:1px solid #bdc8b8; padding:1.1rem 0; }
.om-faqs summary { cursor:pointer; font-weight:700; color:#234431; min-height:44px; padding-block:.4rem; }
.om-faqs p { padding-right:1rem; font-size:.95rem; }
.om-inquiry { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; scroll-margin-top:110px; }
.om-form-panel { border:1px solid #d5ddcd; background:#f5f6ed; padding:2rem; min-width:0; }
.om-form-panel > h2 { font-size:1.8rem; }
.om-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:0; margin:1.5rem 0 0; border:0; min-width:0; }
.om-form-wide { grid-column:1/-1; }
.om-form-fields label { display:block; font-size:.87rem; font-weight:700; margin-bottom:.45rem; color:#294332; }
.om-inquiry-form :is(input,select,textarea) { width:100%; min-height:46px; border:1px solid #95a88f; background:#fff; padding:.75rem; border-radius:3px; font:inherit; color:#20382a; }
.om-inquiry-form textarea { resize:vertical; }
.om-inquiry-form .om-form-helper { font-size:.76rem; margin-bottom:0; }
.om-inquiry-form .form-validation { color:#8b2c24; background:#fff4ee; font-size:.9rem; }
.om-inquiry-form .form-validation ul { padding:1rem 1rem 1rem 2rem; }
.om-inquiry-form .form-status { padding:1rem; border:1px solid #506c4e; background:#f2f7ec; color:#20432c; margin-top:1rem; }
.om-inquiry-form .form-status.error { background:#fff0e8; border-color:#994330; color:#6b2822; }
.om-inquiry-form .form-status p { color:inherit; margin-top:0; }
.om-form-preview { font-size:.78rem; padding:.75rem; background:#e4ebdc; border-left:3px solid #69825a; color:#284532 !important; }
.om-selection { font-size:.9rem; padding-bottom:.7rem; border-bottom:1px solid #c7d0c0; }
.om-contact-page { display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem 4rem; align-items:start; }
.om-contact-intro h1 { font-size:clamp(2.5rem,4.3vw,4rem); }
.om-contact-page > .om-form-panel { grid-column:2; grid-row:1 / span 2; }
.om-contact-notes { grid-column:1; padding-top:1.5rem; border-top:1px solid #d5ddcd; }
.om-contact-notes h2 { font-size:1.65rem; }
.om-contact-notes li { color:#526157; margin:.7rem 0; line-height:1.65; }
.om-audit-example { margin:2rem 0 0; border:1px solid #d5ddcd; }
.om-audit-example img { width:100%; height:auto; }
.om-gallery-intro { padding-block:3.5rem 1rem; }
.om-gallery-intro h1 { max-width:21ch; font-size:clamp(2.5rem,4.4vw,4rem); }
.om-gallery-intro .om-lead { max-width:65ch; }
.om-gallery { padding-top:1.5rem; }
.om-gallery .om-example-grid { row-gap:2rem; }
.om-legacy-link { margin-top:2.5rem; }
.om-callout { display:flex; gap:3rem; align-items:center; justify-content:space-between; }
.om-callout > div { max-width:68ch; }
.om-callout > a { flex-shrink:0; }
.om-about { max-width:1080px; }
.om-about > p { max-width:68ch; }
.om-about-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-block:3rem; border-block:1px solid #d5ddcd; padding-block:2rem; }
.om-about-principles h2 { font-size:1.75rem; }
.oak-marketing .site-footer { background:#e7ecdf; color:#18392b; border-top:1px solid #bdcab7; }
.oak-marketing .site-footer p,.oak-marketing .site-footer a,.oak-marketing .site-footer h4,.oak-marketing .site-footer .bottom { color:#294735; }
.oak-marketing .site-footer a:hover { color:#102a1c; }
.oak-marketing .footer-cta { color:#18392b !important; border-bottom:1px solid #698063; }
.oak-marketing .contact-media-panel,.oak-marketing .audit-media-stack { display:none; }
@media(min-width:961px) { .oak-marketing .site-nav { display:flex; } }
@media(max-width:1000px) { .om-hero { gap:2rem; }.om-delivery,.om-founder,.om-faq-grid { gap:3rem; }.oak-marketing .site-nav { gap:.9rem; }.om-example-grid,.om-plan-grid { gap:1rem; } }
@media(max-width:800px) { .om-hero { grid-template-columns:1fr; padding-top:2.5rem; }.oak-marketing h1 { max-width:18ch; }.om-hero .om-browser { max-width:670px; }.om-example-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.om-outcomes { gap:1.2rem; }.om-delivery,.om-founder,.om-faq-grid,.om-inquiry { grid-template-columns:1fr; gap:2rem; }.om-founder-mark { min-height:230px; }.om-contact-page { grid-template-columns:1fr; gap:1.5rem; }.om-contact-page > .om-form-panel { grid-column:1; grid-row:auto; }.om-contact-notes { grid-column:1; }.om-plan-grid { grid-template-columns:1fr; }.om-plan-grid article { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; }.om-plan-grid article > h3 { grid-column:1/-1; }.om-callout { display:block; }.om-section-heading { display:block; } }
@media(max-width:600px) { .om-wrap { padding-inline:1.2rem; }.oak-marketing h1 { font-size:2.65rem; }.oak-marketing h2 { font-size:2.05rem; }.oak-marketing .site-header .container { padding:.65rem 1.2rem; min-height:78px; }.oak-marketing .oaklaunch-logo--navbar { width:205px; }.om-hero { padding-block:2.2rem 2.6rem; }.om-hero .om-browser picture img { aspect-ratio:390/450; object-fit:cover; object-position:top; }.om-browser-bar { font-size:.64rem; }.om-browser-bar > span:not(.om-demo-label) { display:none; }.om-actions { display:grid; }.om-actions > a { width:100%; }.om-foundations .om-wrap { justify-content:flex-start; gap:.5rem 1.25rem; font-size:.75rem; }.om-example-grid,.om-outcomes,.om-about-principles { grid-template-columns:1fr; }.om-section { padding-block:3.25rem; }.om-example-copy { padding:1.15rem; }.om-form-panel { padding:1.2rem; }.om-form-fields { grid-template-columns:1fr; }.om-form-wide { grid-column:1; }.om-contact-intro p { font-size:1rem; }.om-contact-intro h1 { font-size:2.5rem; }.om-contact-page { padding-top:2rem; }.om-contact-notes { margin-top:1rem; }.om-plan-grid article { display:block; }.om-founder-mark { padding:2rem; }.om-about-principles { gap:1rem; }.om-gallery-intro { padding-top:2rem; }.om-gallery-intro h1 { font-size:2.4rem; } }
@media(prefers-reduced-motion:reduce) { .oak-marketing *, .oak-marketing *::before, .oak-marketing *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
