:root{--ink:#1b211d;--paper:#f4f1e9;--warm:#e3ddcf;--green:#284c3a;--lime:#c9df81;--rust:#a95034;--white:#fff;--muted:#646b65;--line:rgba(27,33,29,.18);--shadow:0 22px 60px rgba(27,33,29,.14);--radius:24px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}.skip{position:absolute;left:-999px;top:12px;background:var(--ink);color:#fff;padding:10px 14px;z-index:100}.skip:focus{left:12px}.container{width:min(calc(100% - 36px),var(--max));margin-inline:auto}.topbar{background:var(--ink);color:#fff;font-size:.82rem}.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:9px 0}.topbar a{text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:30;background:rgba(244,241,233,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:44px;height:44px;border:2px solid var(--ink);display:grid;place-items:center;border-radius:50%;font-size:.8rem;letter-spacing:.04em}.brand small{display:block;font-weight:600;color:var(--muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.navlinks{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.9rem}.navlinks a:not(.btn){position:relative}.navlinks a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--green);transition:.2s}.navlinks a:hover:after,.navlinks a[aria-current="page"]:after{right:0}.menu{display:none;border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 14px;font:inherit;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border-radius:999px;background:var(--green);color:#fff;font-weight:800;border:1px solid var(--green);transition:.2s transform,.2s background}.btn:hover{transform:translateY(-2px);background:#1f3b2e}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.light{background:#fff;color:var(--ink);border-color:#fff}.hero{padding:68px 0 54px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--green);margin-bottom:12px}.hero h1,.page-hero h1,.section-head h2,.split h2,.callout h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:.96;margin:0}.hero h1{font-size:clamp(3.7rem,7vw,7.7rem);max-width:900px}.hero .lead,.page-hero .lead{font-size:clamp(1.08rem,1.6vw,1.35rem);color:#4f5751;max-width:680px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-media{position:relative;min-height:610px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.hero-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-stamp{position:absolute;left:24px;bottom:24px;background:rgba(27,33,29,.9);color:#fff;padding:16px 18px;border-radius:18px;max-width:280px}.hero-stamp strong{display:block;font-size:1rem}.hero-stamp span{display:block;color:#dfe5df;font-size:.84rem;margin-top:4px}.proofbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{padding:28px 22px;border-right:1px solid var(--line)}.proof-item:last-child{border-right:0}.proof-item strong{display:block;font-size:1.3rem}.proof-item span{display:block;color:var(--muted);font-size:.86rem}.section{padding:88px 0}.section.alt{background:var(--warm)}.section.dark{background:var(--ink);color:#fff}.section-head{display:grid;grid-template-columns:1fr .8fr;gap:46px;align-items:end;margin-bottom:42px}.section-head h2{font-size:clamp(2.6rem,5vw,5.3rem)}.section-head p{margin:0;color:var(--muted);font-size:1.05rem}.dark .section-head p{color:#cdd2ce}.service-ledger{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:.75fr 1.5fr auto;gap:28px;align-items:start;padding:25px 0;border-bottom:1px solid var(--line)}.service-row h3{margin:0;font-size:1.25rem}.service-row p{margin:0;color:var(--muted)}.service-row a{font-weight:900;color:var(--green)}.problem-switcher{display:grid;grid-template-columns:280px 1fr;gap:34px}.switch-list{display:flex;flex-direction:column;gap:8px}.switch-list button{border:1px solid var(--line);background:transparent;text-align:left;padding:16px 18px;border-radius:14px;font:inherit;font-weight:800;cursor:pointer}.switch-list button[aria-selected="true"]{background:var(--green);color:#fff;border-color:var(--green)}.switch-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;background:#fff;border-radius:28px;padding:24px;box-shadow:var(--shadow)}.switch-panel img{width:100%;height:390px;object-fit:cover;border-radius:18px}.switch-panel h3{font-family:Georgia,serif;font-size:2.5rem;line-height:1;margin:0 0 14px}.switch-panel ul{padding-left:20px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:260px;gap:18px}.project-card{position:relative;overflow:hidden;border-radius:22px;min-height:0;background:#ccc}.project-card:first-child{grid-row:span 2}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project-card:hover img{transform:scale(1.025)}.project-card .cap{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(27,33,29,.88);color:#fff;padding:12px 14px;border-radius:14px;font-size:.85rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.split h2{font-size:clamp(2.5rem,5vw,5rem)}.note{padding:28px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.5)}.note strong{display:block;font-size:1.1rem;margin-bottom:8px}.trust-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.trust-list div{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.callout{padding:64px 0;background:var(--green);color:#fff}.callout .container{display:flex;align-items:center;justify-content:space-between;gap:32px}.callout h2{font-size:clamp(2.4rem,5vw,5.2rem);max-width:840px}.page-hero{padding:72px 0 46px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3.7rem,7vw,7rem);max-width:950px}.page-hero .meta{margin-top:26px;display:flex;gap:24px;flex-wrap:wrap;color:var(--muted);font-weight:700}.service-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service-group{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}.service-group h2{font-family:Georgia,serif;font-size:2.1rem;line-height:1;margin:0 0 14px}.service-group ul{margin:0;padding-left:20px;color:var(--muted)}.gallery{columns:3 260px;column-gap:18px}.gallery figure{break-inside:avoid;margin:0 0 18px;border-radius:20px;overflow:hidden;background:#fff}.gallery img{width:100%;height:auto}.gallery figcaption{padding:12px 14px;font-size:.85rem;font-weight:750}.timeline{border-left:2px solid var(--green);padding-left:26px;display:grid;gap:30px}.timeline article h3{margin:0 0 6px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.contact-card h2{font-family:Georgia,serif;font-size:2.2rem;margin:0 0 14px}.contact-card a{font-weight:850;color:var(--green)}footer{background:#101512;color:#fff;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:38px}.footer-grid p,.footer-grid a{color:#c9d0ca}.copyright{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem;color:#9da59f}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(14px);transition:.5s}.reveal.in{opacity:1;transform:none}@media(max-width:900px){.navlinks{position:absolute;top:78px;left:18px;right:18px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.menu{display:block}.hero-grid,.section-head,.split,.switch-panel,.contact-grid{grid-template-columns:1fr}.hero-media{min-height:500px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-item:nth-child(2){border-right:0}.problem-switcher{grid-template-columns:1fr}.switch-list{display:grid;grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr 1fr}.project-card:first-child{grid-column:span 2;grid-row:auto}.service-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.service-groups{grid-template-columns:1fr}.mobile-call{display:flex;position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;background:var(--green);color:#fff;border-radius:999px;min-height:52px;align-items:center;justify-content:center;font-weight:900;box-shadow:0 12px 35px rgba(0,0,0,.25)}}@media(max-width:620px){.container{width:min(calc(100% - 26px),var(--max))}.topbar .container{justify-content:center}.topbar .container span:first-child{display:none}.hero{padding-top:44px}.hero h1{font-size:clamp(3.1rem,15vw,5.1rem)}.hero-media{min-height:420px;border-radius:24px}.proof-grid{grid-template-columns:1fr 1fr}.proof-item{padding:20px 14px}.section{padding:64px 0}.section-head{gap:18px}.switch-list{grid-template-columns:1fr 1fr}.switch-panel img{height:300px}.project-grid{grid-template-columns:1fr;grid-auto-rows:250px}.project-card:first-child{grid-column:auto}.callout .container{align-items:flex-start;flex-direction:column}.page-hero h1{font-size:clamp(3rem,15vw,4.6rem)}.gallery{columns:1}.footer-grid{grid-template-columns:1fr}.trust-list{grid-template-columns:1fr}body{padding-bottom:78px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}