@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');

:root{--ink:#143627;--green:#1d9758;--sage:#9dcbb6;--orange:#dd6f14;--paper:#fff;--mist:#f4f8f5;--muted:#526d5f;--line:rgba(20,54,39,.14);--radius:1.25rem;--shell:min(1120px,calc(100% - 3rem));}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 'DM Sans',Arial,sans-serif}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:#fff;padding:.75rem}a{color:inherit}.site-header{min-height:5.5rem;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.header-inner{width:var(--shell);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{display:block;width:7.5rem;height:3.4rem;object-fit:contain}.site-nav{display:flex;gap:1.8rem;align-items:center;font-size:.92rem;font-weight:600}.site-nav a{text-decoration:none}.site-nav a:not(.nav-call):hover{color:var(--green)}.nav-call,.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.9rem;padding:.65rem 1.05rem;border-radius:999px;background:var(--orange);color:#fff!important;text-decoration:none;font-weight:700;border:1px solid var(--orange);transition:transform .2s,background .2s}.nav-call:hover,.button:hover{background:#bd5b0f;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink)!important;border-color:var(--ink)}.button.secondary:hover{background:var(--ink);color:#fff!important}.menu-toggle{display:none;border:0;background:transparent;font:inherit;color:var(--ink);font-weight:700}.hero{padding:clamp(4rem,9vw,8.5rem) 0 4rem;overflow:hidden;background:linear-gradient(130deg,#fff 50%,var(--mist) 50%)}.hero-inner{width:var(--shell);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}.hero h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.07;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(3rem,6.2vw,5.7rem);max-width:10ch}.hero-copy{font-size:1.12rem;max-width:38rem;color:var(--muted);margin:1.8rem 0 2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.hero-visual{min-height:30rem;position:relative;background:var(--sage);border-radius:12rem 12rem 1.5rem 1.5rem;overflow:hidden}.hero-visual:before{content:'';position:absolute;inset:3rem 3rem auto auto;width:9rem;height:9rem;background:var(--orange);border-radius:50%}.hero-visual:after{content:'K';font:600 clamp(13rem,25vw,21rem)/1 Fraunces,Georgia,serif;color:var(--ink);position:absolute;left:8%;bottom:-8%;opacity:.93}.hero-visual p{position:absolute;left:2rem;bottom:1.5rem;z-index:1;max-width:12rem;font-weight:700;color:#fff}.section{padding:clamp(4rem,8vw,7.5rem) 0}.shell{width:var(--shell);margin:auto}.intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem;align-items:start}.label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--green);margin:0 0 1rem}.intro-grid h2,.practical-head h2,.contact-block h2{font-size:clamp(2.3rem,4.5vw,4.5rem)}.large-copy{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.45;margin:0;max-width:36rem}.quiet{color:var(--muted);max-width:39rem}.approach{background:var(--ink);color:#fff}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}.approach-item{background:var(--ink);padding:2rem}.approach-item strong{font-family:Fraunces,Georgia,serif;font-size:1.65rem;display:block;margin-bottom:.65rem}.approach-item p{margin:0;color:#d9e5dc}.practical{background:var(--mist)}.practical-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}.contact-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.contact-list a,.contact-list address{display:block;font-style:normal;text-decoration:none;font-size:1.08rem}.contact-list a:hover{text-decoration:underline}.contact-item{padding:1.5rem 1.5rem 1.5rem 0;border-bottom:1px solid var(--line)}.contact-item:not(:last-child){border-right:1px solid var(--line);padding-left:1.5rem}.contact-item:first-child{padding-left:0}.contact-item span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:.7rem}.contact-block{background:var(--sage);padding:clamp(3rem,7vw,6rem);border-radius:var(--radius);display:flex;justify-content:space-between;gap:3rem;align-items:end}.contact-block p{margin:1.2rem 0 0;max-width:34rem}.contact-block .button{background:var(--ink);border-color:var(--ink);white-space:nowrap}.contact-block .button:hover{background:#0b2015}.site-footer{padding:3rem 0 2rem;border-top:1px solid var(--line)}.footer-inner{width:var(--shell);margin:auto;display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.footer-logo{width:7rem}.footer-inner p{margin:.7rem 0 0;color:var(--muted);font-size:.9rem}.footer-links{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem}.footer-links a{color:var(--muted)}.page-hero{padding:5.5rem 0 4rem;background:var(--mist)}.page-hero h1{font-size:clamp(3rem,6vw,5rem);max-width:12ch}.page-hero p{max-width:40rem;font-size:1.1rem;color:var(--muted)}.content{max-width:49rem}.content h2{font-size:2rem;margin:2.5rem 0 1rem}.content p,.content li{color:var(--muted)}.content ul{padding-left:1.2rem}.form{display:grid;gap:1rem;max-width:43rem}.form label{font-size:.9rem;font-weight:700}.form input,.form textarea{width:100%;margin-top:.35rem;padding:.8rem;border:1px solid var(--line);border-radius:.45rem;font:inherit}.form textarea{min-height:10rem;resize:vertical}.notice{font-size:.9rem;color:var(--muted)}.simple-page{max-width:42rem;margin:12vh auto;padding:2rem}.simple-page .brand img{width:8rem}.simple-page h1{font-size:clamp(2.5rem,5vw,4rem);margin:1rem 0}.cookie-banner{position:fixed;right:1rem;bottom:1rem;max-width:25rem;padding:1rem;background:var(--ink);color:#fff;box-shadow:0 15px 40px rgba(0,0,0,.25);z-index:8;font-size:.88rem}.cookie-banner p{margin:0 0 .7rem}.cookie-banner button{border:1px solid #fff;background:transparent;color:#fff;padding:.4rem .65rem;cursor:pointer}
@media(max-width:760px){:root{--shell:min(100% - 2rem,1120px)}.site-header{min-height:4.8rem}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:.25rem}.site-nav.is-open{display:flex}.site-nav a{padding:.65rem}.nav-call{text-align:center}.hero{padding-top:3.5rem;background:linear-gradient(160deg,#fff 58%,var(--mist) 58%)}.hero-inner,.intro-grid{grid-template-columns:1fr;gap:2.5rem}.hero-visual{min-height:17rem;border-radius:6rem 6rem 1rem 1rem}.hero-visual:before{width:5rem;height:5rem;inset:2rem 2rem auto auto}.hero-visual p{left:1.25rem;bottom:.75rem}.approach-grid,.contact-list{grid-template-columns:1fr}.contact-item,.contact-item:not(:last-child){padding:1.25rem 0;border-right:0}.contact-item:first-child{padding-left:0}.practical-head,.contact-block,.footer-inner{display:block}.practical-head p{margin-top:1rem}.contact-block .button{margin-top:1.5rem}.footer-links{margin-top:1.5rem}.hero h1{max-width:12ch}}
