
:root{--ink:#203c30;--green:#245640;--muted:#617469;--line:#dce5dd;--mint:#eaf4e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #80a98b;outline-offset:5px}.site-header{position:sticky;top:0;z-index:10;background:#f5f9f3ed;backdrop-filter:blur(12px);border-bottom:1px solid #203c300a}.nav{max-width:1160px;margin:auto;padding:19px 40px;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:25px;letter-spacing:-1px;font-weight:400}.wordmark b{font-weight:700}.site-nav{display:flex;gap:32px;font-size:14px}.site-nav a:hover{color:#54815d}.hero{background:linear-gradient(145deg,#e7f2df 0%,#f2f8ee 40%,white 90%)}.wrap{max-width:1160px;margin:auto;padding:0 40px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;min-height:640px;gap:65px;padding-top:55px;padding-bottom:70px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2.4px;font-weight:600;color:#56755b}h1{font-size:clamp(44px,5.5vw,72px);line-height:1.08;font-weight:500;letter-spacing:-3.3px;margin:22px 0 25px}h1 em{font-style:normal;color:#56805a}.lead{font-size:18px;line-height:1.75;color:var(--muted);max-width:450px;margin:0 0 30px}.cta{display:inline-flex;gap:28px;align-items:center;background:var(--green);color:white;padding:12px 22px;border-radius:12px;font-size:14px;font-weight:600}.cta:hover{background:#34684d}.art{position:relative;min-height:380px;display:flex;justify-content:center;align-items:center}.halo{position:absolute;width:340px;height:340px;border-radius:50%;background:#dfedda80}.tile{position:absolute;background:#fff;border:1px solid #d4e1d3;border-radius:28px;width:148px;height:158px;display:grid;place-items:center;box-shadow:0 20px 45px #2d513013}.tile svg{width:55px;height:55px;fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.tile.one{transform:translate(-80px,-40px) rotate(-13deg);background:#dcebd2}.tile.two{transform:translate(76px,-10px) rotate(12deg);background:#fbfcf6}.tile.three{transform:translate(0,96px) rotate(-2deg);background:#eef3dc}.art-caption{position:absolute;bottom:-4px;letter-spacing:1.6px;text-transform:uppercase;font-size:10px;color:#74866e}.intro{padding:82px 0 90px;display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;border-bottom:1px solid var(--line)}h2{font-size:38px;letter-spacing:-1.4px;line-height:1.2;font-weight:500;margin:16px 0 0}.copy{font-size:18px;color:var(--muted);margin:0;max-width:580px}.principles{padding:75px 0 95px}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.num{font-size:12px;color:#7b937b;letter-spacing:1px;border-top:1px solid var(--line);padding-top:18px}h3{font-size:22px;letter-spacing:-.5px;font-weight:500;margin:18px 0 8px}.principle-grid p{font-size:15px;color:var(--muted);margin:0}.contact{background:#eff5e9;border-radius:26px;padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:75px}.contact h2{margin:0 0 12px;font-size:31px}.contact p{margin:0;color:var(--muted)}.contact-link{border-bottom:1px solid #80977d;white-space:nowrap;padding:8px 0;font-size:14px}.contact small{display:block;margin-top:8px;color:#617469;font-size:12px}.footer{border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}@media(max-width:700px){.nav{padding:16px 24px}.site-nav{gap:18px;font-size:12px}.wordmark{font-size:23px}.wrap{padding:0 24px}.hero-grid{grid-template-columns:1fr;gap:12px;min-height:auto;padding-top:60px;padding-bottom:35px}h1{letter-spacing:-2px;font-size:49px}.lead{font-size:17px}.art{min-height:310px}.halo{width:255px;height:255px}.tile{width:116px;height:124px;border-radius:22px}.tile.one{transform:translate(-63px,-30px) rotate(-13deg)}.tile.two{transform:translate(63px,-5px) rotate(12deg)}.tile.three{transform:translate(0,75px) rotate(-2deg)}.tile svg{width:44px;height:44px}.intro{grid-template-columns:1fr;gap:25px;padding:55px 0}h2{font-size:32px}.copy{font-size:17px}.principles{padding:55px 0}.principle-grid{grid-template-columns:1fr;gap:25px;margin-top:26px}.contact{padding:30px 25px;display:block;margin-bottom:45px}.contact-link{display:inline-block;margin-top:24px}.footer{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Joomla content pages and optional modules */
.skip-link{position:fixed;top:8px;left:16px;z-index:100;background:#fff;padding:10px 16px;border:2px solid var(--green);transform:translateY(-160%)}.skip-link:focus{transform:none}.site-nav ul{display:flex;list-style:none;gap:24px;padding:0;margin:0}.site-nav .mod-menu__sub{display:none}.site-nav .mod-menu__toggle-sub{display:none}.content-page{padding-top:55px;padding-bottom:75px;min-height:55vh;overflow-wrap:anywhere}.content-page h1{font-size:42px}.content-page h2{margin:32px 0 16px}.content-page h3{margin-top:26px}.content-page a:not(.btn){text-decoration:underline;text-underline-offset:4px}.content-page img,.extension-section img{max-width:100%;height:auto}.content-page input,.content-page textarea,.content-page select{font:inherit;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}.content-page button,.content-page .btn{display:inline-block;font:inherit;padding:10px 18px;background:var(--green);color:white;border:0;border-radius:10px}.content-page table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.content-page td,.content-page th{padding:10px;border:1px solid var(--line)}.content-page fieldset{border:1px solid var(--line);padding:18px;min-width:0}.system-messages:empty{display:none}.extension-section{padding:0 0 70px}.extension-section h2{margin-bottom:30px}.contact-link{text-decoration:none}.contact-link:hover{color:#56805a}.footer a:hover{text-decoration:underline}.legal-links{display:flex;gap:18px}.error-code{font-size:80px;line-height:1;font-weight:500}.footer-brand{font-size:19px}.system-messages{max-width:1080px;margin:0 auto;padding:0 24px}.system-messages:has(joomla-alert){padding-top:20px}.site-nav{flex-wrap:wrap}.site-nav ul{flex-wrap:wrap}.contact{scroll-margin-top:110px}@media(max-width:400px){.nav{gap:12px;flex-wrap:wrap}.site-nav{gap:15px}h1{font-size:43px}.hero-grid{padding-top:40px}.art-caption{letter-spacing:1px;font-size:9px}}


.ol-showcase{padding:5px 0 85px;scroll-margin-top:110px}.ol-panel{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:linear-gradient(135deg,#eff5e8,#f7faf5);border:1px solid #dce5dd;border-radius:30px;padding:55px}.ol-visual{display:flex;justify-content:center;position:relative}.ol-phone{width:240px;background:#fff;border:6px solid #284437;border-radius:34px;padding:16px 14px 22px;box-shadow:0 24px 50px #203c3014;transform:rotate(-4deg);min-height:387px}.ol-camera{width:55px;height:5px;background:#284437;border-radius:5px;margin:0 auto 20px}.ol-phonebrand{font-size:17px;letter-spacing:-.5px;font-weight:600;color:#245640;margin-bottom:19px}.ol-search{border:1px solid #e0e7df;border-radius:10px;font-size:10px;padding:9px 12px;color:#718173;margin-bottom:14px}.ol-row{display:flex;gap:10px;align-items:center;font-size:12px;padding:12px 0;border-bottom:1px solid #e8ede6}.ol-tile{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.ol-tile svg{width:20px;height:20px;fill:none;stroke:#245640;stroke-width:1.6}.ol-arrow{margin-left:auto;color:#82927e}.ol-add{background:#245640;color:white;border-radius:10px;text-align:center;font-size:11px;padding:9px;margin-top:24px}.ol-visual-label{text-align:center;font-size:10px;color:#718173;margin:20px 0 0}.ol-logo{width:225px;max-width:100%;height:auto;display:block;margin-left:-9px;margin-bottom:12px}.ol-title{font-size:36px;letter-spacing:-1.3px;font-weight:500;line-height:1.2;margin:0 0 18px}.ol-desc{font-size:16px;color:#617469;line-height:1.8;margin:0 0 22px}.ol-features{padding:0;list-style:none;display:grid;gap:11px;font-size:14px;color:#3d604c;margin:0 0 27px}.ol-features li{display:flex;gap:10px}.ol-features li:before{content:'✓';color:#5c875a}.ol-status{display:inline-block;padding:8px 13px;border:1px solid #cdddc5;border-radius:30px;font-size:11px;letter-spacing:.3px;color:#526d4f;background:#fff9}.ol-subnote{font-size:12px;color:#6c7e6d;margin-top:12px}.ol-page-label{margin-bottom:25px}@media(max-width:850px){.ol-panel{gap:35px;padding:35px}.ol-title{font-size:30px}}@media(max-width:600px){.ol-panel{grid-template-columns:1fr;padding:30px 24px;gap:40px}.ol-visual-wrap{order:2}.ol-copy{order:1}.ol-title{font-size:31px}.ol-showcase{padding-bottom:55px}.ol-phone{transform:rotate(-3deg)}.ol-logo{width:210px}nav{gap:14px}.nav{gap:12px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.ol-phone{transform:none}}

.apps-menu{position:relative}.apps-menu summary{cursor:pointer;list-style:none;display:flex;gap:7px;align-items:center}.apps-menu summary::-webkit-details-marker{display:none}.apps-menu summary:after{content:'⌄';font-size:13px}.apps-menu[open] summary:after{transform:rotate(180deg)}.apps-menu summary:focus-visible{outline:3px solid #80a98b;outline-offset:5px;border-radius:3px}.apps-dropdown{position:absolute;top:calc(100% + 15px);left:-18px;min-width:190px;background:white;border:1px solid #dce5dd;box-shadow:0 12px 30px #203c3010;border-radius:13px;padding:7px;z-index:20}.apps-dropdown a{display:block;padding:10px 13px;border-radius:8px;white-space:nowrap}.apps-dropdown a:hover,.apps-dropdown a[aria-current=page]{background:#eaf4e9;color:#245640}.app-main{padding-top:48px;min-height:65vh}.app-path{font-size:12px;color:#617469;margin-bottom:28px;display:flex;gap:10px}.app-path a{text-decoration:underline;text-underline-offset:3px}.app-main .ol-showcase{padding-bottom:65px}.app-main .ol-panel{margin-top:18px}.app-main .ol-page-label{font-size:32px}.shared-contact{font-size:13px;color:#617469;margin:0 0 30px}.shared-contact a{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){nav{gap:16px}.apps-dropdown{left:auto;right:0}.app-main{padding-top:30px}.app-main .ol-page-label{font-size:26px}.nav{gap:14px;flex-wrap:wrap}}