:root{--ink:#183b32;--green:#245c4c;--sage:#dce7dd;--cream:#f7f2e8;--paper:#fffdf8;--copper:#b46f48;--muted:#68746f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08}h1{font-size:clamp(3.2rem,7vw,6.7rem);letter-spacing:-.045em;margin-bottom:28px}h1 em{color:var(--copper);font-weight:500}h2{font-size:clamp(2.4rem,4.5vw,4.5rem);letter-spacing:-.035em;margin-bottom:24px}.nav-wrap{height:92px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);line-height:1}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--copper);border-radius:50%;font-family:"Playfair Display";font-size:22px;color:var(--copper)}.brand b{font-size:16px;letter-spacing:.22em}.brand small{display:block;font-size:9px;letter-spacing:.16em;margin-top:7px;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:34px;align-items:center}nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:500}.nav-cta{border:1px solid var(--ink);border-radius:99px;padding:11px 19px}.menu{display:none;background:none;border:0;font-size:24px}.hero{min-height:850px;padding:170px 5vw 90px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;overflow:hidden;background:linear-gradient(115deg,var(--cream) 0 66%,var(--sage) 66%)}.hero-copy{max-width:820px}.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:600;color:var(--copper);margin-bottom:24px}.lede{max-width:650px;font-size:19px;color:#4f5e58}.actions{display:flex;gap:22px;align-items:center;margin:36px 0 54px}.button{border:0;border-radius:99px;padding:15px 25px;text-decoration:none;font:600 14px "DM Sans";cursor:pointer;display:inline-block}.primary{background:var(--green);color:#fff;box-shadow:0 12px 30px #244f3f25}.text{color:var(--ink);padding-left:0}.proof{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #183b3225;padding-top:25px;color:var(--muted);font-size:13px}.proof span{padding-right:24px;border-right:1px solid #183b3225}.proof span:last-child{border:0}.proof b{color:var(--ink);display:block;font-size:17px}.hero-art{height:580px;position:relative}.plan{position:absolute;border:1px solid #245c4c25}.plan-a{inset:7% -22% 4% 5%;border-radius:50% 0 0 50%;transform:rotate(-7deg)}.plan-b{inset:20% -4% 16% 22%;border-radius:50%;transform:rotate(23deg)}.compass{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:360px;height:360px;border:1px solid #245c4c55;border-radius:50%;display:grid;place-items:center}.compass:before,.compass:after{content:"";position:absolute;background:#245c4c44}.compass:before{width:1px;height:470px}.compass:after{height:1px;width:470px}.compass span{position:absolute;top:20px;font-size:12px;letter-spacing:.25em}.compass b{font-size:80px;color:var(--copper);font-weight:400}.compass small{position:absolute;bottom:-75px;text-align:center;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.about{padding:130px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center}.portrait-wrap{position:relative;max-width:520px}.portrait-wrap:before{content:"";position:absolute;inset:-20px 45px 45px -20px;background:var(--sage);z-index:-1}.portrait-wrap img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;filter:saturate(.85)}.portrait-tag{position:absolute;right:-25px;bottom:28px;background:var(--paper);padding:14px 18px;font-size:12px;letter-spacing:.08em;box-shadow:0 10px 30px #1d352d22}.about-copy{max-width:700px}.about-copy>p{font-size:17px;color:#59645f}.about-copy blockquote{margin:32px 0;padding:26px 0 26px 28px;border-left:2px solid var(--copper);font:500 21px/1.55 "Playfair Display";color:var(--green)}.credentials{display:flex;gap:12px;flex-wrap:wrap}.credentials span{font-size:12px;padding:8px 13px;background:var(--cream);border-radius:99px}.services{background:var(--cream);padding:120px 6vw}.section-head{text-align:center;max-width:780px;margin:0 auto 65px}.section-head>p:last-child{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1280px;margin:auto}.card{background:var(--paper);padding:40px;min-height:390px;position:relative;transition:.25s}.card:hover{transform:translateY(-7px);box-shadow:0 22px 45px #1b43372b}.card .number{position:absolute;right:28px;top:24px;color:#aab5af;font-size:12px}.icon{font-size:42px;color:var(--copper);margin:40px 0 25px}.card h3{font:500 28px "Playfair Display"}.card p{color:var(--muted)}.card a{position:absolute;bottom:35px;color:var(--green);font-size:13px;font-weight:600;text-decoration:none}.approach{background:var(--green);color:#fff;padding:120px 8vw}.section-head.light{max-width:900px}.section-head.light .eyebrow{color:#e5af8f}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:auto;border-top:1px solid #ffffff30}.step{padding:45px 45px 0 0}.step b{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff66;border-radius:50%;font-size:13px}.step h3{font:500 26px "Playfair Display";margin:28px 0 12px}.step p{color:#d8e5df;max-width:310px}.book{padding:130px 8vw;display:grid;grid-template-columns:1fr .85fr;gap:8vw;background:var(--paper)}.book-copy>p{color:var(--muted);font-size:17px}.book ul{list-style:none;padding:0;margin-top:30px}.book li{margin:12px 0}.book li:before{content:"✓";color:var(--copper);margin-right:12px}.booking-form{background:var(--cream);padding:40px;display:grid;gap:18px}.booking-form label{font-size:12px;font-weight:600;color:var(--ink)}input,select,textarea{width:100%;margin-top:7px;padding:14px;border:1px solid #ccd3cc;background:#fff;font:14px "DM Sans";color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--copper)}textarea{resize:vertical}.full{width:100%;margin-top:4px}.form-note{text-align:center;font-size:11px;color:var(--muted);margin:0}footer{padding:45px 5vw;background:#102d26;color:#d7e1dc;display:flex;align-items:center;gap:4vw;justify-content:space-between;font-size:12px}.footer-brand{color:#fff}.footer-brand small{color:#b8c7c0}footer p{margin:0}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.12s}.delay-2{transition-delay:.24s}@media(max-width:900px){.nav-wrap{position:absolute}.menu{display:block}nav{display:none;position:absolute;top:78px;left:5vw;right:5vw;background:var(--paper);padding:24px;box-shadow:0 15px 30px #102d2620;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:145px;background:linear-gradient(155deg,var(--cream) 0 72%,var(--sage) 72%)}.hero-art{height:390px}.about,.book{grid-template-columns:1fr}.about{padding-top:90px}.portrait-wrap{max-width:500px;margin:auto}.cards,.steps{grid-template-columns:1fr}.step{padding-right:0}.card{min-height:330px}footer{align-items:flex-start;flex-direction:column}.proof span{border:0}.compass{width:260px;height:260px}.compass:before{height:360px}.compass:after{width:360px}}@media(max-width:560px){h1{font-size:3.3rem}.hero,.about,.services,.approach,.book{padding-left:24px;padding-right:24px}.actions{align-items:flex-start;flex-direction:column}.booking-form{padding:25px}.portrait-tag{right:-5px}.nav-wrap{padding:0 24px}.brand b{font-size:14px}footer{padding:40px 24px}}
