:root{--cream:#f7f2e9;--paper:#fffaf2;--gold:#98743d;--ink:#292622;--line:#d8ccb8;--muted:#686158}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.wrap{max-width:1280px;margin:auto;padding-left:56px;padding-right:56px}header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 4.4%;border-bottom:1px solid var(--line);background:var(--cream)}.brand{display:flex;align-items:center;gap:16px;letter-spacing:2px;font-weight:bold;white-space:nowrap}.brand img{border-radius:50%;object-fit:cover}.brand small{display:block;letter-spacing:.3px;font-weight:normal;font-size:10px;color:var(--muted);margin-top:3px}nav{display:flex;align-items:center;gap:26px;font-size:14px}nav a:hover,.text-link:hover{color:var(--gold)}.nav-contact{border:1px solid var(--ink);border-radius:30px;padding:10px 20px}.menu{display:none}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;padding-top:70px;padding-bottom:75px}.eyebrow,.number{font-size:11px;letter-spacing:2px;color:var(--gold);font-weight:bold}.eyebrow{margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:normal;line-height:1.06;letter-spacing:-2px}h1{font-size:clamp(48px,5.1vw,76px);margin-bottom:28px}h2{font-size:clamp(38px,4vw,56px);margin-bottom:26px}h3{font:normal 30px/1.2 Georgia,serif;letter-spacing:-.5px}.lead{font-size:19px;color:var(--muted);max-width:500px}.categories{font-size:14px;margin:25px 0}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:4px;background:var(--ink);color:#fffaf2;padding:16px 23px;font-size:14px;cursor:pointer;line-height:1.5}.button:hover{background:#514331}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--gold);padding-bottom:5px}.fine{font-size:12px;line-height:1.65;color:var(--muted);margin:20px 0 0}.hero-photo{position:relative;height:590px}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 30%;border-radius:150px 150px 5px 5px}.photo-note{position:absolute;bottom:25px;left:-25px;background:var(--paper);padding:18px 25px;box-shadow:0 8px 30px #2926220b;border-left:2px solid var(--gold)}.photo-note span{display:block;font-size:12px;color:var(--muted)}.photo-note strong{font:normal 22px Georgia,serif}.ribbon{display:flex;justify-content:center;gap:85px;padding:22px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}.ribbon span:before{content:'✧';margin-right:14px;color:var(--gold)}.section{padding-top:100px;padding-bottom:100px}.section-heading{max-width:680px;margin-bottom:46px}.section-heading>p:last-child{color:var(--muted);max-width:540px}.services{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service{padding:42px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:start}.service .number{margin-bottom:25px}.service h3{max-width:380px}.service p{font-size:15px;color:var(--muted)}.service a{margin-top:auto;font-size:13px;padding-top:22px;border-bottom:1px solid var(--gold)}.service.featured{background:#eae1d1;border-color:#bdab8e}.service-detail{border-top:1px solid #cdbfa8;padding-top:18px;font-size:12px!important}.about{background:var(--ink);color:var(--cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about p:not(.eyebrow){color:#dfd6c8}.about .eyebrow{color:#d6ba87}.large-copy{font:normal 27px/1.5 Georgia,serif}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;counter-reset:pas;margin-top:55px}.steps li{border-top:1px solid var(--gold);padding-top:24px;counter-increment:pas}.steps li:before{content:'0'counter(pas);font:normal 32px Georgia,serif;color:var(--gold);display:block;margin-bottom:28px}.steps h3{font:normal 21px/1.3 Georgia,serif}.steps p{font-size:14px;color:var(--muted)}.calculator-section{background:#ebe3d6}.calc-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:85px}.calculator{background:var(--paper);padding:36px;border:1px solid var(--line);border-radius:6px}.calculator label{display:block;font-size:12px;letter-spacing:.3px}.calculator input{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #b4a58c;padding:12px 0;margin:4px 0 24px;font-size:21px;color:var(--ink);border-radius:0}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.results{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.results>span{font-size:12px}.results strong{display:block;font:normal 43px/1.3 Georgia,serif;color:#765729;margin:9px 0 24px}.results div{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:8px 0}.questions{max-width:1050px;text-align:center}.questions>p{font:normal 31px/1.5 Georgia,serif;margin-bottom:24px}.questions .text-link{margin-top:20px}.booking-section{background:#eee6d9}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.booking-grid article{background:var(--paper);border:1px solid var(--line);padding:38px}.booking-grid h3{margin-top:20px}.booking-grid p{color:var(--muted);font-size:15px;min-height:100px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-links{padding-top:20px}.contact-links>a{display:block;border-bottom:1px solid var(--line);padding:22px 0;font-size:22px;overflow-wrap:anywhere}.contact-links small{display:block;color:var(--muted);font-size:11px}.contact-links span{float:right}footer{background:var(--ink);color:var(--cream);padding:45px 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:25px;align-items:start;font-size:12px}.footer-grid .brand{font-size:18px}.footer-grid p{margin:0}.footer-grid div a{display:block;margin-bottom:8px}.legal{max-width:850px;min-height:70vh}.legal h1{font-size:55px}.legal h2{font:normal 27px Georgia,serif;letter-spacing:0;margin-top:40px}.legal p{color:var(--muted);font-size:16px}.legal a{text-decoration:underline}@media(max-width:1050px){header{flex-wrap:wrap}.hero{gap:35px}.hero-photo{height:500px}.wrap{padding-left:32px;padding-right:32px}nav{gap:18px}.ribbon{gap:25px}.calc-grid,.about-grid,.contact{gap:40px}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){html{scroll-padding-top:30px}header{padding:14px 22px;gap:0}.brand{font-size:15px;gap:10px}.brand img{width:54px;height:54px}.brand small{font-size:8px}.menu{display:block;border:0;background:none;font-size:13px;padding:12px 0}nav{display:none;width:100%;padding:20px 0 5px;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.wrap{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:40px;gap:35px}h1{font-size:51px;letter-spacing:-2px}h2{font-size:40px}.eyebrow{font-size:9px;letter-spacing:1.6px}.lead{font-size:17px}.hero-photo{height:430px;max-width:460px;width:100%;margin:auto}.photo-note{left:-8px;bottom:18px}.actions{gap:18px}.ribbon{flex-direction:column;align-items:center;gap:7px;padding:20px;font-size:12px}.section{padding-top:65px;padding-bottom:65px}.services,.about-grid,.calc-grid,.booking-grid,.contact{grid-template-columns:1fr;gap:24px}.service{padding:29px}.service h3{font-size:28px}.about-grid{gap:10px}.about h2{margin-bottom:25px}.large-copy{font-size:24px}.steps{gap:25px 20px}.steps h3{font-size:20px}.steps p{font-size:13px}.calculator{padding:24px}.results strong{font-size:38px}.questions>p{font-size:25px}.booking-grid article{padding:28px}.booking-grid p{min-height:0;margin-bottom:25px}.contact-links>a{font-size:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid .brand{grid-column:1/-1}.legal h1{font-size:42px;overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.service-links{display:flex;flex-wrap:wrap;gap:16px 30px;padding-top:0;padding-bottom:60px;font-size:14px}.service-links a{border-bottom:1px solid var(--gold)}.service-page{max-width:920px}.service-page h1{font-size:clamp(40px,5vw,64px)}.service-page>section{margin-top:45px}.service-page h2{font-size:29px;letter-spacing:-.5px;line-height:1.25}.service-page p{color:var(--muted)}.local-call{background:#eee6d9;padding:30px}.service-page aside{margin-top:65px}.service-page aside .service-links{padding-bottom:25px}
