/* Public site only. Workspace styling remains in app.css. */
.marketing-site{--forest:#1e4033;--ink:#253d30;--lime:#d8eaa9;--muted:#657062;background:#f7f7ef;color:var(--ink)}
.marketing-site .container{width:min(1240px,calc(100% - 5rem))}
.marketing-site .site-header{height:108px;border-bottom:1px solid #dfe2d4;gap:1rem}
.marketing-site .brand img{width:190px;max-height:none;height:auto;display:block}
.marketing-site .site-header nav{align-items:center;gap:2rem}
.marketing-site .site-header nav a{font-size:.8rem;font-weight:550}
.marketing-site .site-header .nav-contact{border:1px solid #b6c0a9;padding:.8rem 1.1rem;border-radius:7px;display:flex;gap:1.8rem}
.marketing-site .hero{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:2.5rem;padding:3.4rem 0 4rem}
.hero-copy{padding:1rem 0}
.marketing-site .eyebrow{font-size:.64rem;letter-spacing:.14em;color:#5c714e;font-weight:700;display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem}
.status-dot{display:inline-block;flex:none;width:7px;height:7px;background:#739c53;border-radius:50%;box-shadow:0 0 0 4px #8caf6e15}
.marketing-site h1{font-size:clamp(3rem,5.1vw,4.7rem);line-height:1.08;letter-spacing:-.065em;font-weight:550;margin-bottom:1.5rem}
.marketing-site h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.065em;color:#6a8452}
.marketing-site .lead{font-size:1.02rem;line-height:1.8;max-width:425px;color:var(--muted)}
.marketing-site .button{min-height:49px;border-radius:7px;font-size:.8rem;padding:.9rem 1.2rem;gap:1.7rem;transition:background .18s,transform .18s}
.marketing-site .button.primary{background:var(--forest);border-color:var(--forest)}
.marketing-site .button.primary:hover{background:#315b41;transform:translateY(-2px)}
.marketing-site .actions{gap:1.6rem;margin-top:1.8rem}
.text-link{font-size:.78rem;font-weight:600;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid #b5c0a3}
.text-link:hover{color:#61824a;border-color:currentColor}
.hero-note{display:flex;align-items:center;gap:.85rem;margin-top:2.5rem;color:#737e69;font-size:.7rem;line-height:1.7}
.hero-note strong{font-weight:500;color:#40543b}
.little-star{font-size:2.1rem;color:#7a955f;line-height:1}
.hero-visual{margin:0;position:relative;background:#1d3d31;border:1px solid #365241;border-radius:18px;padding:1.3rem 1.3rem 1rem;box-shadow:0 20px 45px #263c2710;overflow:hidden}
.visual-heading{display:flex;gap:.6rem;align-items:center;font-size:.65rem;color:#d5e1c8}
.hero-visual .status-dot{background:#c0dc93}
.hero-visual img{display:block;width:100%;height:auto;margin:-.6rem 0 -1rem}
.hero-visual figcaption{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid #6c866343;padding-top:1rem;font-size:.48rem;letter-spacing:.13em;color:#bdceb0}
.capability-strip{border-block:1px solid #dce1d0;background:#eef0e5}
.capability-strip .container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.55rem}
.capability-strip .container>span{font-size:.68rem;line-height:1.7;color:#74816b}
.capability-strip strong{font-weight:500;color:#40503a}
.capability-strip p{margin:0;font-size:.82rem;color:#465d3f;display:flex;gap:1rem;align-items:center}
.capability-strip p span{font-size:1.65rem;color:#93a377}
.marketing-site .section{padding:6rem 0;scroll-margin-top:1rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.5rem}
.marketing-site h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin-bottom:0}
.section-heading>p{max-width:360px;font-size:.9rem;line-height:1.8;margin-bottom:.15rem;color:var(--muted)}
.marketing-site .service-cards{gap:1.3rem}
.service-cards .card{padding:0;overflow:hidden;border-color:#dce1d2;background:#fdfdf8;box-shadow:none;border-radius:12px;transition:transform .2s,box-shadow .2s}
.service-cards .card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #2d482412}
.service-art{background:#eaf0dc;padding:1rem 1.4rem .5rem;border-bottom:1px solid #dde5d0}
.service-cards .card:nth-child(2) .service-art{background:#e5ece3}
.service-cards .card:nth-child(3) .service-art{background:#efefdf}
.service-art svg{display:block;width:100%;height:auto}
.service-copy{padding:1.8rem 1.6rem 1.2rem}
.marketing-site .card-index{font-size:.56rem;letter-spacing:.11em;font-weight:600;color:#7a8769}
.service-copy h3{font-size:1.15rem;font-weight:600;margin:1rem 0 .75rem;letter-spacing:-.03em}
.service-copy p{font-size:.83rem;line-height:1.8;color:var(--muted);min-height:4.5rem}
.service-tags{list-style:none;padding:0;display:flex;gap:.4rem;flex-wrap:wrap;margin:1.25rem 0 1.5rem}
.service-tags li{font-size:.57rem;border:1px solid #dde3d3;border-radius:5px;color:#627456;padding:.3rem .5rem}
.service-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e0e5d6;padding-top:1rem;font-size:.72rem;font-weight:600;text-decoration:none;color:var(--ink)}
.service-link:hover{text-decoration:underline}.service-link span{font-size:1.2rem}
.marketing-site .approach-section{background:#203f32;color:#f4f6e9;position:relative;overflow:hidden}
.approach-section::after{content:'';position:absolute;width:450px;height:450px;border:1px solid #b4cb8a12;border-radius:50%;right:-280px;top:-180px;box-shadow:0 0 0 45px #b4cb8a05,0 0 0 90px #b4cb8a04;pointer-events:none}
.approach-section .eyebrow{color:#b7ca95}
.approach-section h2 em{font-family:Georgia,'Times New Roman',serif;color:#ccdfa4;font-weight:400}
.approach-section .section-heading>p{color:#b8c7b0}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin-top:3.5rem}
.step-marker{border-top:1px solid #607457;display:flex;justify-content:space-between;align-items:center;padding-top:1.2rem;margin-bottom:2rem}
.step-marker span:first-child{color:#c7db9d;font-size:.85rem}.step-marker span:last-child{color:#92ac77;font-size:1.3rem}
.approach-grid h3{font-size:1.2rem;font-weight:500}
.approach-grid p{color:#bac9b3;font-size:.84rem;line-height:1.9;max-width:300px}
.step-label{display:block;font-size:.55rem;letter-spacing:.15em;color:#aabd91;margin-top:1.5rem}
.approach-bottom{display:flex;align-items:center;gap:1.3rem;border-top:1px solid #59704d70;margin-top:3rem;padding-top:2rem}
.approach-bottom .little-star{font-size:3rem;color:#c2d998}.approach-bottom p{margin:0;color:#b9c9ad;font-size:.85rem;line-height:1.7}.approach-bottom strong{font-weight:500;color:#f1f4e5}
.approach-bottom .text-link{margin-left:auto;color:#dae6c6;border-color:#6a7b57}
.marketing-site .contact-layout{gap:6rem;grid-template-columns:1fr 1.1fr;align-items:start}
.contact-copy{padding-top:1rem}.contact-copy>p:not(.eyebrow){font-size:.92rem;line-height:1.9;max-width:355px;color:var(--muted);margin-top:1.5rem}
.contact-art{position:relative;height:180px;display:flex;align-items:end;gap:15px;padding:25px 0;margin:1.5rem 0;width:240px}
.contact-art span{display:block;width:40px;background:#cbdab4;transform:skewY(-24deg);height:75px}.contact-art span:nth-child(2){height:120px;background:#8faa73}.contact-art span:nth-child(3){height:95px;background:#45684b}.contact-art i{font-style:normal;font-size:4rem;color:#88a16c;position:absolute;right:0;top:0;font-weight:200}
.contact-copy .location-note{font-size:.68rem!important;display:flex;align-items:center;gap:.6rem}
.marketing-site .contact-form{border-radius:12px;padding:2rem;border:1px solid #dfe4d5;box-shadow:0 12px 40px #31412b05;gap:1.15rem;background:#fdfdf9}
.form-intro h3{font-size:1.04rem;font-weight:600;margin-bottom:.5rem}.form-intro p{font-size:.75rem;color:var(--muted);margin-bottom:.5rem}
.contact-form label{font-size:.72rem;font-weight:550;position:relative}.contact-form .optional{position:absolute;left:3.4rem;color:#7a8472;font-size:.65rem}
.marketing-site .contact-form input:not([type=checkbox]),.marketing-site .contact-form select,.marketing-site .contact-form textarea{background:#f7f8f1;border:1px solid #d8dfcd;border-radius:5px;font-size:.78rem;padding:.8rem;color:#30452e;min-width:0}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7c8575;opacity:1}
.contact-form textarea{resize:vertical;min-height:110px}.contact-form .check{font-size:.65rem;line-height:1.5;gap:.65rem}.contact-form .check input{flex:none;accent-color:#355a3b}.contact-form .button{justify-content:space-between}
.marketing-site .footer{background:#edf0e3;padding:2.5rem 0 1.3rem;color:var(--ink);border-top:1px solid #dce2d0}
.marketing-site .footer img{filter:none;width:190px;height:auto;display:block}
.marketing-site .footer-main{display:flex;gap:2rem;align-items:center}.footer-main p{font-size:.8rem;color:#718264;margin:0;line-height:1.7}.footer-main strong{font-weight:500;color:#405537}.footer-main>a:last-child{font-size:.7rem;color:#405537;text-decoration:none;margin-left:auto;display:flex;gap:1.5rem}
.marketing-site .footer-bottom{display:flex;border-top:1px solid #d7decb;margin-top:2rem;padding-top:1.2rem;gap:1rem}.marketing-site .footer-bottom span{font-size:.59rem;color:#75816b}
.skip-link{position:fixed;left:1rem;top:1rem;transform:translateY(-180%);z-index:50;background:#fff;padding:1rem;border-radius:6px}.skip-link:focus{transform:translateY(0)}
.marketing-site a:focus-visible{outline:3px solid #83a460;outline-offset:5px}
@media(min-width:1500px){.marketing-site .hero{padding-block:4.5rem}}
@media(max-width:1000px){.marketing-site .container{width:calc(100% - 3rem)}.marketing-site .site-header nav{gap:1.2rem}.marketing-site .brand img{width:210px}.marketing-site .hero{gap:1.5rem}.marketing-site h1{font-size:3.3rem}.marketing-site .lead{font-size:.92rem}.marketing-site .actions{gap:1rem}.marketing-site .button{gap:1rem}.hero-note{margin-top:1.5rem}.marketing-site .contact-layout{gap:3rem}.service-copy{padding:1.4rem 1rem}.service-copy h3{font-size:1.02rem}.service-copy p{min-height:6rem}.capability-strip p{font-size:.72rem;gap:.5rem}}
@media(max-width:760px){.marketing-site .site-header{height:auto;padding:1.1rem 0;flex-wrap:wrap;gap:1rem}.marketing-site .brand img{width:220px}.marketing-site .site-header nav{justify-content:space-between;width:100%;gap:.6rem}.marketing-site .site-header nav a{font-size:.7rem}.marketing-site .site-header .nav-contact{padding:.55rem .7rem;gap:.5rem}.marketing-site .hero{grid-template-columns:1fr;padding:2.5rem 0;gap:2rem}.marketing-site h1{font-size:clamp(3.2rem,9vw,4.6rem)}.marketing-site .lead{max-width:480px;font-size:1rem}.hero-visual{max-width:540px;width:100%;justify-self:center}.hero-note{margin-top:1.8rem}.capability-strip .container{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.capability-strip p{font-size:.74rem}.marketing-site .section{padding:3.5rem 0}.section-heading{display:block;margin-bottom:2rem}.section-heading>p{margin-top:1.3rem;max-width:450px}.marketing-site .cards.three,.marketing-site .cards.two{grid-template-columns:1fr}.service-cards .card{display:grid;grid-template-columns:.8fr 1fr}.service-art{display:grid;align-items:center;padding:.5rem;border-bottom:0}.service-copy p{min-height:0}.service-tags{margin:1rem 0}.approach-grid{gap:1.3rem;margin-top:2rem}.approach-grid h3{font-size:1rem}.approach-grid p{font-size:.76rem}.approach-bottom{flex-wrap:wrap}.approach-bottom .text-link{margin-left:0}.marketing-site .contact-layout{grid-template-columns:1fr;gap:1.7rem}.contact-art{display:none}.contact-copy>p:not(.eyebrow){max-width:460px}.marketing-site .contact-form{padding:1.5rem}.contact-form .form-grid{grid-template-columns:1fr 1fr}.marketing-site .footer-main{flex-wrap:wrap}.footer-main p{display:none}.marketing-site .footer img{width:200px}}
@media(max-width:450px){.marketing-site .container{width:calc(100% - 2rem)}.marketing-site .hero{padding-top:2rem}.marketing-site h1{font-size:3.2rem}.marketing-site .eyebrow{font-size:.56rem}.marketing-site .actions{gap:1rem}.marketing-site .button{font-size:.74rem;padding:.9rem}.text-link{font-size:.7rem;gap:.6rem}.hero-visual{padding:1rem .8rem}.visual-heading{font-size:.57rem}.hero-visual figcaption{font-size:.4rem}.service-cards .card{display:block}.service-art{padding:.8rem 2rem}.service-copy{padding:1.5rem}.service-copy h3{font-size:1.2rem}.approach-grid{grid-template-columns:1fr;gap:1.8rem}.step-marker{margin-bottom:1rem}.approach-grid h3{font-size:1.15rem}.approach-grid p{max-width:none;font-size:.85rem}.step-label{margin-top:.8rem}.contact-form .form-grid{grid-template-columns:1fr}.marketing-site .contact-form{padding:1.2rem}.marketing-site .footer img{width:170px}.footer-main>a:last-child{gap:.5rem}.marketing-site .footer-bottom{align-items:start;flex-direction:column;gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marketing-site .button,.service-cards .card{transition:none}.marketing-site .button:hover,.service-cards .card:hover{transform:none}}

/* Offering detail pages share the public site's typography and colours. */
.service-hero{padding:2rem 0 4rem}.service-hero>.text-link{margin-bottom:3rem}
.service-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:4rem}
.service-page .service-hero h1{font-size:clamp(2.6rem,4.8vw,4.3rem);max-width:760px}
.service-name{font-weight:650;color:var(--forest);margin-bottom:1rem}
.service-page .service-hero .lead{max-width:650px;margin-bottom:2rem}
.service-summary{background:#eaf0dc;border:1px solid #d6dfc8;border-radius:18px;padding:2rem}
.service-summary svg{display:block;width:100%;height:auto;margin-bottom:2rem}
.service-summary ul{list-style:none;padding:0;margin:0;display:grid;gap:1rem;color:var(--forest);line-height:1.6}
.service-summary li span{margin-right:.5rem;color:#53733e}
.offering-capabilities h3{margin:1rem 0 .8rem;font-size:1.3rem}.offering-capabilities p{margin-bottom:0}
.service-page .section-heading h2{max-width:700px}.service-page .section-heading>p{flex-shrink:0}
.service-example{background:#edf0e3}.service-example .card{box-shadow:none}.service-example .card p{margin-bottom:0}
.service-cta{max-width:850px;text-align:center}.service-page .service-cta .eyebrow{justify-content:center}
.service-cta>p:not(.eyebrow){margin:1.5rem auto;max-width:630px}
.service-page .service-cta .button{white-space:normal;max-width:100%;line-height:1.5}
.service-navigation{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding-bottom:4rem}.service-navigation .eyebrow{width:100%;margin-bottom:0}
@media(max-width:900px){.service-hero-grid{grid-template-columns:1fr;gap:2rem}.service-summary{max-width:550px;width:100%}.service-page .section-heading{display:block}.service-page .section-heading>p{margin-top:1.5rem}.service-page .offering-capabilities.three{grid-template-columns:1fr}}
@media(max-width:450px){.service-summary{padding:1.3rem}.service-hero>.text-link{margin-bottom:2rem}.service-hero{padding-bottom:2rem}}

/* Keep supporting copy readable at every breakpoint. */
.marketing-site .site-header nav a{font-size:.95rem}
.marketing-site .eyebrow{font-size:.78rem;line-height:1.6;letter-spacing:.1em}
.marketing-site .lead{font-size:1.1rem;line-height:1.75}
.marketing-site .button,.marketing-site .text-link{font-size:.95rem}
.marketing-site .hero-note{font-size:.9rem}
.marketing-site .visual-heading{font-size:.85rem;line-height:1.5}
.marketing-site .hero-visual figcaption{font-size:.7rem;line-height:1.6;letter-spacing:.06em;flex-wrap:wrap}
.marketing-site .capability-strip .container>span{font-size:.9rem}
.marketing-site .capability-strip p{font-size:1rem}
.marketing-site .section-heading>p,.marketing-site .service-copy p,.marketing-site .approach-grid p,.marketing-site .contact-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}
.marketing-site .service-copy h3{font-size:1.3rem}
.marketing-site .card-index,.marketing-site .step-label{font-size:.8rem;line-height:1.6;letter-spacing:.07em}
.marketing-site .service-tags li{font-size:.8rem}
.marketing-site .service-link{font-size:.95rem;gap:1rem;line-height:1.5}
.marketing-site .approach-grid h3{font-size:1.25rem}
.marketing-site .approach-bottom p{font-size:1rem}
.marketing-site .contact-copy .location-note{font-size:.9rem!important}
.marketing-site .form-intro h3{font-size:1.2rem;line-height:1.4}
.marketing-site .form-intro p{font-size:.95rem}
.marketing-site .contact-form label{font-size:.95rem}
.marketing-site .contact-form .optional{left:4.5rem;font-size:.85rem}
.marketing-site .contact-form input:not([type=checkbox]),.marketing-site .contact-form select,.marketing-site .contact-form textarea{font-size:1rem}
.marketing-site .contact-form .check{font-size:.9rem}
.marketing-site .footer-main p,.marketing-site .footer-main>a:last-child{font-size:.95rem}
.marketing-site .footer-bottom span{font-size:.85rem}
@media(max-width:760px){.marketing-site .site-header nav{flex-wrap:wrap;justify-content:flex-start;gap:.8rem 1.2rem}.marketing-site .site-header nav a{font-size:.9rem}.marketing-site .capability-strip .container{grid-template-columns:1fr}.marketing-site .hero-visual figcaption{gap:.6rem}}
