/* Fonts are self-hosted (SIL Open Font License, see fonts/), so no visitor data goes to Google. */
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:Outfit;src:url('fonts/outfit.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--bg:#f6f6f2;--ink:#142322;--muted:#5c6d69;--accent:#2d775b;--light:#e0ede5;--line:#dce4dc;--white:#fff;--dark:#112a22;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Outfit,system-ui,sans-serif;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,7.8vw,7.3rem);line-height:.98;max-width:950px;margin-bottom:24px}h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.06;margin-bottom:18px}h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.025em}p{line-height:1.7;color:var(--muted)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{max-width:1180px;margin:auto;padding:0 26px}.pill{display:block;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:var(--accent);margin-bottom:12px}
.pill .dot{display:none}.dot{height:8px;width:8px;display:inline-block;background:var(--accent);border-radius:50%}.skip{position:absolute;top:-60px;left:10px;background:#fff;padding:10px}.skip:focus{top:10px;z-index:99}.topbar{padding:20px 0;position:relative;z-index:10}.topbar .inner{display:flex;justify-content:space-between;align-items:center;gap:18px}.logo{font-weight:800;font-family:Outfit;font-size:1.45rem;letter-spacing:-.045em}.logo span{color:var(--accent)}nav{display:flex;gap:28px;align-items:center}nav a{font-size:.9rem;font-weight:700}nav a:hover,.footer a:hover{color:var(--accent)}.button{border:none;border-radius:100px;display:inline-flex;align-items:center;gap:12px;background:var(--accent);color:white;padding:17px 25px;font-weight:800;cursor:pointer}.button:hover{background:var(--dark)}.button.secondary{background:var(--white);color:var(--ink);border:1px solid var(--line)}
.button.secondary:hover{background:var(--white);border-color:var(--ink)}.button.small{padding:12px 20px;font-size:.88rem}.hero{padding:65px 0 95px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.hero-copy .eyebrow{margin-bottom:22px}.hero-copy p.lead{font-size:1.17rem;max-width:530px;line-height:1.75}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.small-note{margin-top:23px;color:var(--muted);font-size:.85rem}.art{aspect-ratio:4/4.4;min-height:370px;border-radius:35px;position:relative;overflow:hidden;background:linear-gradient(145deg,var(--light),var(--accent));box-shadow:0 30px 70px #102e221e;isolation:isolate}.art:before{content:'';position:absolute;inset:7% 8% 18%;border:1px solid #ffffff88;border-radius:50%;transform:rotate(-15deg)}.art:after{content:'';position:absolute;right:-15%;bottom:-30%;width:80%;aspect-ratio:1;border-radius:50%;background:#ffffff29;box-shadow:0 0 0 70px #ffffff18,0 0 0 140px #ffffff0c}.art svg{position:absolute;left:7%;bottom:8%;width:86%;height:83%;z-index:2;filter:drop-shadow(0 14px 12px #0000001a)}.art-tag{position:absolute;left:6%;top:7%;z-index:3;background:#fff;padding:15px 18px;border-radius:18px;box-shadow:0 9px 30px #00000011;font-weight:800}.art-tag small{font-size:.75rem;display:block;color:var(--muted);margin-top:4px;font-weight:500}.ticker{background:var(--dark);color:#e2f5e8;padding:20px 0;overflow:hidden}.ticker .container{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;font-size:.82rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section{padding:105px 0}.section-head{max-width:670px;margin-bottom:42px}.section-head p{max-width:540px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:var(--white);border:1px solid var(--line);padding:32px;border-radius:var(--radius)}.card .index{color:var(--accent);font-weight:800;margin-bottom:16px}.card p{margin-bottom:0}.band{background:var(--light)}.band p{color:var(--ink)}.cta .pill{color:#fff}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}.art-small{aspect-ratio:1.1;min-height:320px}.checks{display:grid;gap:16px;margin-top:25px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:700}.check b{background:var(--accent);color:white;display:inline-grid;place-items:center;width:24px;height:24px;flex-shrink:0;border-radius:50%;font-size:.85rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-item{border-radius:22px;overflow:hidden;background:var(--light);border:1px solid var(--line)}.gallery-visual{height:210px;position:relative;display:grid;place-items:center;background:var(--light)}.gallery-visual span{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.gallery-item .detail{padding:22px;background:var(--white)}.gallery-item h3{margin-bottom:6px}.gallery-item p{margin-bottom:0;font-size:.9rem}.cta{background:var(--dark);border-radius:32px;color:white;padding:66px;display:flex;align-items:center;justify-content:space-between;gap:45px}.cta h2{max-width:650px}.cta p{color:#d2dfd7;max-width:570px}.cta .button{background:white;color:var(--dark);flex-shrink:0}.footer{padding:45px 0 60px;border-top:1px solid var(--line)}.footer .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer small{color:var(--muted)}.footer .links{display:flex;gap:20px;font-size:.85rem}.disclaimer{font-size:.75rem;color:var(--muted);margin-top:10px}.demo-banner{background:#fff8dc;color:#644900;padding:9px 18px;text-align:center;font-size:.83rem;font-weight:700;border-bottom:1px solid #eedb9f}.hero-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:27px}.mini-stat{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--white)}.mini-stat strong{display:block;font-size:1.45rem;font-family:Outfit}.mini-stat span{font-size:.8rem;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-card{border:1px solid var(--line);background:white;border-radius:22px;overflow:hidden}.work-art{height:200px;display:grid;place-items:center;font-size:6rem}.work-art.green{background:#d9f2de}.work-art.blue{background:#dcebf7}.work-art.orange{background:#fff0d9}.work-details{padding:26px}.work-details p{font-size:.9rem}.work-details a{display:inline-flex;font-weight:800;color:var(--accent);margin-top:15px}.pricing-box{max-width:730px;background:white;border:1px solid var(--line);border-radius:24px;padding:42px}.pricing-box .price{font-size:4rem;font-family:Outfit;font-weight:800;letter-spacing:-.07em}.pricing-box ul{line-height:2;color:var(--muted);padding-left:22px}form{display:grid;gap:12px;max-width:640px}input,textarea{padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:white;color:var(--ink);width:100%}input:focus,textarea:focus{outline:3px solid var(--light)}.form-note{font-size:.82rem}.muted{color:var(--muted)}
@media(max-width:850px){nav{gap:15px}nav a:not(.button){display:none}.hero-grid,.about-grid{grid-template-columns:1fr;gap:35px}.hero{padding:45px 0 65px}.hero-grid .art{max-width:520px;width:100%;margin:auto;min-height:300px}.grid3,.gallery,.work-grid{grid-template-columns:1fr 1fr}.cta{padding:40px;display:block}.cta .button{margin-top:15px}}@media(max-width:540px){.container{padding:0 19px}h1{font-size:clamp(3rem,13vw,4.5rem)}.section{padding:65px 0}.grid3,.gallery,.work-grid{grid-template-columns:1fr}.hero-grid .art{min-height:320px}.card{padding:25px}.cta{padding:32px 24px}.ticker .container{justify-content:center}.topbar .button{padding:10px 13px}.pricing-box{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Larger tap targets without changing layout */
body:not(.home) .demo-banner a{display:inline-block;padding:12px 6px;margin:-12px 0}body:not(.home) .footer .links a{display:inline-block;padding:12px 2px;margin:-12px -2px}body:not(.home) nav a{padding:12px 0;margin:-12px 0}
/* Demo page colour themes and logo subtitle (moved out of inline styles so the CSP needs no 'unsafe-inline') */
html.demo-greenedge{--bg:#f6f8f0;--ink:#163b2b;--accent:#486a47;--light:#dfe9cf;--line:#dbe6d6;--dark:#173a2b}html.demo-shineworks{--bg:#f2f7fb;--ink:#102b42;--accent:#16709a;--light:#deedf8;--line:#d7e8f0;--dark:#102d44}html.demo-brightpath{--bg:#fff9ee;--ink:#3a2b22;--accent:#a84f1c;--light:#f7e8cc;--line:#f2e2ca;--dark:#412c21}.demo-logo-sub{font-size:.65rem;font-weight:600;letter-spacing:0;display:block}
