@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--bg:#f5f4ee;--ink:#183a35;--muted:#5b7068;--line:#d8dfd4;--lime:#d7ec89}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{font-family:Manrope,sans-serif;font-size:19px;font-weight:800;display:flex;align-items:center;gap:12px}.mark{background:var(--ink);color:var(--lime);padding:12px 9px;font-size:15px}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:4px}nav{display:flex;align-items:center;gap:27px;font-size:13px}nav a[aria-current=page]{border-bottom:1px solid;padding-bottom:5px}.btn{display:inline-flex;padding:15px 23px;border:1px solid var(--ink);border-radius:4px;font-size:13px;align-items:center;gap:24px}.btn.dark{background:var(--ink);color:white}.btn:hover{background:var(--lime);color:var(--ink)}main{max-width:1440px;margin:auto}.hero{padding:80px 6% 65px;display:grid;grid-template-columns:1.25fr 1fr;gap:8%;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;display:block;margin-bottom:26px}h1{font-family:Manrope,sans-serif;font-size:clamp(42px,5.5vw,78px);font-weight:500;line-height:1.08;letter-spacing:-4px;margin:0 0 25px}h1 em{font-style:normal;color:#7c9566}p{color:var(--muted);line-height:1.75;font-size:15px;max-width:620px}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.hero-art{height:420px;position:relative;overflow:hidden;background:#183a35;border-radius:5px;display:flex;align-items:center;justify-content:center}.hero-art svg{width:100%;height:100%}.art-caption{position:absolute;bottom:25px;left:27px;color:#d7ec89;font-size:11px;letter-spacing:2px}.strip{display:flex;justify-content:space-between;padding:24px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1.5px;gap:20px;flex-wrap:wrap}.section{padding:75px 6%}.section h2{font-family:Manrope,sans-serif;font-weight:500;font-size:38px;line-height:1.2;letter-spacing:-1.5px;margin:0 0 22px}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:30px;border:1px solid var(--line);border-radius:4px}.card .num{font-size:12px;display:block;margin-bottom:45px;color:#6d856e}.card h3{font-size:21px;font-weight:500;margin:0 0 15px}.card p{font-size:14px}.card ul{padding-left:18px;color:var(--muted);font-size:13px;line-height:2}.dark-section{background:var(--ink);color:var(--bg);margin:0 3%;border-radius:5px;padding:65px 4%}.dark-section p{color:#b6c7be}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:40px}.process h3{font-weight:500}.process span{color:var(--lime);font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}.quote{font-size:29px;line-height:1.45;letter-spacing:-.7px}.cta{padding:55px 6%;background:var(--lime);display:flex;justify-content:space-between;align-items:center;margin-top:40px;gap:20px}.cta h2{font-size:35px;font-weight:500;letter-spacing:-1px;margin:0}footer{padding:35px 5%;display:flex;justify-content:space-between;gap:30px;font-size:12px;color:var(--muted)}.page-hero{padding:65px 6% 35px;max-width:950px}.page-hero h1{font-size:60px}.timeline{padding-left:35px;border-left:1px solid #9bad8e;margin:0 0 0 12px}.event{position:relative;padding:0 0 45px}.event:before{content:'';width:11px;height:11px;border-radius:50%;background:var(--ink);position:absolute;left:-41px;top:6px}.event .date{font-size:11px;letter-spacing:2px;color:#71856a}.event h3{font-size:25px;font-weight:500;margin:12px 0}.pill{display:inline-block;border:1px solid var(--line);padding:7px 11px;font-size:11px;border-radius:20px;margin:4px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.filters button{padding:10px 18px;border:1px solid var(--line);background:transparent;border-radius:30px;cursor:pointer}.filters button.active{background:var(--ink);color:white}.notice{font-size:12px;background:#e9ece0;padding:16px 20px;border-radius:4px;line-height:1.7}.project[hidden]{display:none}.contact-box{padding:45px;background:var(--ink);color:white;border-radius:4px}.contact-box p{color:#c1cfc8}.contact-box .btn{background:var(--lime);color:var(--ink)}a:focus-visible,button:focus-visible{outline:3px solid #94ac55;outline-offset:5px}@media(max-width:800px){header{flex-direction:column;align-items:start}nav{gap:18px;flex-wrap:wrap}nav .btn{padding:9px 12px}.hero,.split{grid-template-columns:1fr;gap:35px}.hero{padding-top:45px}h1{letter-spacing:-2px}.hero-art{height:320px}.grid{grid-template-columns:1fr}.process{grid-template-columns:1fr 1fr}.section{padding:45px 6%}.heading-row,.cta{align-items:start;flex-direction:column}.page-hero h1{font-size:43px;letter-spacing:-2px}footer{flex-direction:column}.quote{font-size:25px}}
.booking-section{padding-top:20px}.booking-calendar{border:1px solid var(--line);border-radius:6px;overflow:hidden}.booking-calendar iframe{display:block;border:0;min-width:0}.booking-note{font-size:12px}.booking-note a{text-decoration:underline}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.practice-card{padding:34px;border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column;min-height:330px;transition:transform .2s ease,background .2s ease}.practice-card:hover{transform:translateY(-4px);background:#eef1e3}.practice-card.featured{grid-column:span 2;background:var(--ink);color:white}.practice-card.featured p{color:#c1cfc8}.practice-card .num{font-size:11px;letter-spacing:1.6px;color:#78906d}.practice-card.featured .num{color:var(--lime)}.practice-card h3{font-family:Manrope,sans-serif;font-size:27px;font-weight:500;line-height:1.2;margin:38px 0 12px}.practice-card p{margin:0 0 24px}.practice-card .learn{font-size:13px;margin-top:auto;text-decoration:underline;text-underline-offset:5px}.practice-detail{padding:65px 6% 25px;display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end}.practice-detail h1{font-size:clamp(42px,5vw,68px)}.lead-card{border-left:1px solid var(--line);padding-left:30px}.lead-card strong{font-size:21px;font-weight:500}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-item{padding:24px;border-top:1px solid var(--line)}.service-item h3{font-size:18px;font-weight:500;margin:0 0 8px}.service-item p{font-size:13px;margin:0}.team-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.team-card{padding:22px;border:1px solid var(--line);border-radius:4px}.team-card h3{margin:8px 0;font-size:18px}.team-card p{font-size:12px;line-height:1.55}.team-card span{font-size:10px;letter-spacing:1.4px;color:#71856a}@media(max-width:1000px){.team-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.booking-calendar iframe{height:1000px}.practice-grid,.service-list,.practice-detail{grid-template-columns:1fr}.practice-card.featured{grid-column:auto}.practice-detail{gap:25px}.lead-card{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.team-grid{grid-template-columns:1fr}.practice-card{min-height:0}}
