:root{--ink:#303c48;--muted:#656874;--paper:#faf9f6;--lilac:#f0eaf4;--sage:#7d968a;--sage-dark:#516c5f;--plum:#5c5266;--rule:#a5a8ae;--radius:2px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;font-size:15px;line-height:1.6}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;margin:0}h1{font-size:40px}h2{font-size:30px}h3{font-size:21px}p{margin:0 0 15px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8b769f;outline-offset:5px}a:hover{color:var(--sage-dark)}img{display:block;width:100%;object-fit:cover}svg{display:block;width:36px;height:36px}.skip{position:absolute;top:-80px;left:15px;background:white;padding:10px;z-index:99}.skip:focus{top:10px}.site-header{background:#fff;position:relative;z-index:5}.header-inner{width:70%;max-width:1150px;margin:auto;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-family:Georgia,serif;font-size:22px;line-height:1;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:1.7px;margin-top:5px;color:var(--muted)}#navigation{display:flex;gap:26px;align-items:center}#navigation a{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;white-space:nowrap}#navigation a[aria-current]{color:#638272}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:36px;padding:7px 23px;border:0;border-radius:var(--radius);font-size:12px;line-height:1.3;letter-spacing:.2px;transition:background .18s,color .18s}.button span{font-size:16px}.button:hover{filter:brightness(.95);color:inherit}.button.sage{background:var(--sage);color:white}.button.plum{background:var(--plum);color:white}.button.lilac{background:#e3dbe9;color:#555160}.header-cta{font-size:11px;min-height:29px;padding:5px 14px;gap:8px}.menu-toggle{display:none}.hero{height:clamp(325px,27.2vw,440px);position:relative;background:#f2ebf5;overflow:hidden}.hero-photo{position:absolute;left:48.5%;right:0;inset-block:0}.hero-photo img{height:100%;width:100%;object-position:38% center}.hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f2ebf5 0%,rgba(242,235,245,.25) 5%,transparent 14%,transparent 68%,rgba(25,17,14,.3) 100%)}.hero-copy{position:relative;width:33.5%;margin-left:15.65%;padding-top:clamp(21px,1.8vw,30px);z-index:1}.eyebrow{font-size:clamp(10px,.78vw,12px);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:10px;color:#5e6272}.hero h1{font-size:clamp(28px,2.42vw,39px);letter-spacing:-.3px;line-height:1.06}.short-line{width:35px;height:1px;background:#b1aab7;margin:11px 0}.hero-intro{font-size:clamp(11.5px,.92vw,15px);line-height:1.3;letter-spacing:.25px;max-width:425px;margin-bottom:13px}.hero .button{min-width:172px}.hero-quote{position:absolute;right:5%;top:22%;color:#fff9ee;width:22%;font-family:Georgia,serif}.hero-quote>span{font-size:61px;line-height:.7}.hero-quote p{font-size:clamp(17px,1.5vw,25px);line-height:1.4;font-style:italic;margin-top:0;white-space:nowrap}.hero-quote i{display:block;width:40px;height:1px;background:#eee0cb}.home-wrap{width:90%;max-width:1460px;margin-inline:auto}.section-title{display:flex;align-items:center;gap:20px;margin-bottom:16px}.section-title h2{white-space:nowrap;font-size:clamp(26px,2.1vw,33px)}.section-title>span{height:1px;background:var(--rule);flex:1;min-width:25px}.offers{position:relative;padding:13px 0 19px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:0 8.4%}.offer{display:grid;grid-template-columns:78px 1fr;gap:22px;align-items:start}.offer h3{font-size:clamp(19px,1.45vw,23px);margin:5px 0 7px}.offer p{font-size:clamp(11px,.9vw,14px);line-height:1.45;margin:0;color:var(--muted)}.icon-circle{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;color:#4e5a63}.icon-circle.lavender{background:#f0e9f3}.icon-circle.green{background:#e9eee7;color:#365747}.icon-circle svg{width:38px;height:38px}.botanical{position:absolute;width:135px;height:230px;right:-5.6%;bottom:-22px;pointer-events:none;z-index:0}.methods{padding:12px 0 15px;background:linear-gradient(180deg,rgba(255,255,255,.6),transparent)}.methods-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:29px}.method{text-align:center;display:block;min-width:0}.method .icon-circle{margin:0 auto 9px;width:65px;height:65px}.method h3{font-size:clamp(15px,1.17vw,19px);min-height:22px;margin-bottom:8px}.method p{font-size:clamp(10.5px,.85vw,13px);line-height:1.45;color:var(--muted);margin:0}.additional-methods{font-size:11px;color:var(--muted);text-align:center;margin-top:16px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.additional-methods a{border-bottom:1px solid #c5c6bd}.overview{display:grid;grid-template-columns:1.07fr 1.85fr .91fr;gap:24px;padding:18px 0 22px}.overview>article{position:relative;min-width:0}.overview>article+article{border-left:1px solid #dedbdc;padding-left:24px}.overview .section-title{gap:17px;margin-bottom:10px}.overview p{font-size:clamp(11px,.87vw,14px);line-height:1.45;color:var(--muted);margin-bottom:10px}.overview .button{min-height:30px;font-size:11px;padding:6px 16px;gap:10px}.office-heading{display:flex;align-items:center;gap:12px}.office-heading .section-title{flex:1}.office-heading>a{font-size:10px;white-space:nowrap;margin-bottom:8px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.room-grid img{height:clamp(136px,11vw,178px);border-radius:4px;object-position:center}.room-grid .room-detail{object-position:85% center}.contact-line{display:flex;gap:12px;align-items:center;font-size:12px;margin:12px 0}.contact-line svg{height:23px;width:23px;flex:none;stroke-width:1.8}.contact-line small{display:block;font-size:10px;color:var(--muted);line-height:1.4}.contact-preview .botanical{right:-25%;bottom:-10%;width:80px;height:140px}.home-next{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-top:1px solid #dedbdc;margin-top:8px;padding:23px 0 30px}.home-next a{font-size:13px;display:flex;align-items:center;justify-content:space-between}.home-next span{font-size:20px;color:var(--sage)}.site-footer{background:#f0eee9;padding:35px 5% 18px;display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:35px;font-size:12px;color:var(--muted);border-top:1px solid #e2ded7}.site-footer .brand{color:var(--ink);display:block;margin-bottom:15px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:6px 15px;align-content:start}.site-footer small{grid-column:1/-1;border-top:1px solid #ddd8d1;padding-top:12px}.page-heading{background:linear-gradient(110deg,#f0e9f5,#f7f4ef);padding:49px 8% 38px}.page-heading h1{font-size:clamp(35px,4vw,54px)}.page-heading .short-line{margin-top:20px}.article-wrap{width:84%;max-width:1150px;margin:40px auto 70px}.prose{font-size:16px;line-height:1.75}.prose h2{font-size:31px;margin:35px 0 20px}.prose h3{font-size:25px;margin:28px 0 14px}.prose h4{font-size:21px;margin:25px 0 12px}.prose p{margin:0 0 18px}.prose a:not(.button){color:var(--sage-dark);text-decoration:underline;text-underline-offset:4px}.prose ul{padding-left:22px}.prose li{margin-bottom:9px}.prose blockquote{margin:22px 0;padding:24px 30px;border-left:2px solid #b9aac6;background:#f2edf5;font-family:Georgia,serif;font-size:20px;line-height:1.65}.prose>h2:first-child{margin-top:0}.bio-photo{float:right;width:38%;margin:0 0 25px 38px;border-radius:4px}.jump-nav{display:flex;flex-wrap:wrap;gap:10px 23px;border-block:1px solid #d7d4d4;padding:18px 0;margin-bottom:32px;font-size:14px;color:var(--sage-dark)}.jump-nav a:hover{text-decoration:underline}.table-wrap{overflow-x:auto;margin:26px 0}table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:17px 20px;border-bottom:1px solid #d7d3d7}th{background:#ebe5ef;font-weight:400;color:var(--plum)}td:last-child{font-weight:bold;min-width:165px}.faq-list details{border-bottom:1px solid #d8d4da;padding:20px 0}.faq-list summary{cursor:pointer;font-family:Georgia,serif;font-size:22px;list-style:none;display:flex;gap:20px;justify-content:space-between}.faq-list summary:after{content:'+';font-family:Arial,sans-serif;color:var(--sage);font-size:24px}.faq-list details[open] summary:after{content:'−'}.faq-list details>div{padding:20px 35px 0 0}.gallery{display:grid;gap:30px;margin:30px 0}.gallery figure{margin:0}.gallery img{aspect-ratio:16/9;border-radius:5px}.gallery figcaption{font-size:12px;color:var(--muted);padding-top:8px}.method-index{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:40px}.method-index .method p{font-size:14px}.method-index .method h3{font-size:21px}.document-note{background:#f0ebe3;padding:20px 25px;margin-bottom:25px}.form-section{margin-top:38px;border-top:1px solid #d6d1d9;padding-top:20px;max-width:760px}.form-section>p{color:var(--muted)}.privacy-note{font-size:12px!important;line-height:1.6!important;margin-top:17px!important}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field:first-child,.form-field:last-child{grid-column:1/-1}.form-field label{display:block;font-size:14px;margin-bottom:6px}.form-field input,.form-field textarea{width:100%;border:1px solid #c9c3cd;background:#fff;padding:11px 13px;border-radius:2px;color:var(--ink)}.form-field textarea{min-height:120px;resize:vertical}.form-error{font-size:12px;color:#963c3c;margin:4px 0!important}.form-field [aria-invalid=true]{border-color:#963c3c}.form-submit{margin-top:24px;min-height:44px}.form-success{padding:28px;background:#e5ece4;color:#365747}.form-level-error{color:#963c3c}.required{color:var(--plum)}.text-link{display:inline-block;padding:8px 0;font-size:14px}.article-wrap:after{content:'';clear:both;display:block}
@media(min-width:1600px){.hero-copy{width:31%}.hero-intro{font-size:15px}.hero{height:440px}.hero h1{font-size:40px}.offer p{font-size:14px}.method p{font-size:13px}.overview p{font-size:14px}}
@media(max-width:1100px){.header-inner{width:90%;gap:18px}#navigation{gap:17px}.hero-copy{margin-left:8%;width:39%}.hero{height:345px}.hero h1{font-size:30px}.hero-intro{font-size:12px}.hero-quote{right:7%;width:23%}.hero-quote p{font-size:17px}.offer-grid{padding:0 4%;gap:30px}.offer{grid-template-columns:65px 1fr;gap:15px}.icon-circle{width:62px;height:62px}.methods-grid{gap:15px}.overview{gap:18px}.overview>article+article{padding-left:18px}.section-title{gap:14px}.contact-preview .botanical{display:none}}
@media(max-width:760px){body{font-size:16px}.header-inner{min-height:74px;width:88%;flex-wrap:wrap}.brand{font-size:25px}.brand span{font-size:10px;margin-top:6px}.header-cta{display:none}.menu-toggle{display:flex;width:34px;height:34px;background:transparent;border:0;flex-direction:column;justify-content:center;gap:6px;padding:5px}.menu-toggle span{width:24px;height:1px;background:var(--ink)}#navigation{display:none;position:absolute;top:74px;left:0;right:0;padding:20px 6%;background:white;border-top:1px solid #eee;gap:18px;align-items:flex-start;flex-direction:column}#navigation.open{display:flex}#navigation a{font-size:17px}.hero{height:auto;overflow:visible;display:flex;flex-direction:column}.hero-copy{width:auto;margin:0;padding:27px 6% 30px}.eyebrow{font-size:10px;letter-spacing:1px}.hero h1{font-size:clamp(28px,7.5vw,44px);line-height:1.08;letter-spacing:-.2px}.hero-intro{font-size:14px;line-height:1.5;max-width:100%;margin:18px 0}.hero .button{min-height:42px;font-size:13px}.hero-photo{position:relative;left:0;right:auto;order:2;height:290px;width:100%;overflow:hidden}.hero-photo img{object-position:28% center}.hero-photo:before{background:linear-gradient(90deg,transparent 40%,rgba(25,17,14,.3))}.hero-quote{right:6%;top:22%;width:28%}.hero-quote>span{font-size:45px}.hero-quote p{font-size:16px;line-height:1.5}.home-wrap{width:88%}.section-title h2{font-size:29px;white-space:normal}.section-title{gap:13px;margin-bottom:22px}.offers{padding:30px 0}.offer-grid{grid-template-columns:1fr;gap:28px;padding:0}.offer{grid-template-columns:65px 1fr;gap:16px}.offer h3{font-size:21px;margin-top:4px}.offer p{font-size:14px;line-height:1.6}.botanical{display:none}.methods{padding:23px 0 28px}.methods-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.method .icon-circle{width:66px;height:66px}.method h3{font-size:19px;margin:12px 0 8px;line-height:1.25}.method p{font-size:13px;line-height:1.5}.additional-methods{font-size:12px;line-height:1.7;margin-top:25px;gap:7px}.overview{grid-template-columns:1fr;gap:30px;padding:20px 0 30px}.overview>article+article{border-left:0;border-top:1px solid #d8d4d2;padding:25px 0 0}.overview p{font-size:14px;line-height:1.65}.overview .button{min-height:38px;font-size:12px}.office-heading>a{font-size:11px}.room-grid{gap:6px}.room-grid img{height:150px}.contact-line{font-size:14px;margin:16px 0}.contact-line small{font-size:12px}.home-next{grid-template-columns:1fr 1fr;gap:21px;padding:24px 0}.home-next a{font-size:13px}.site-footer{grid-template-columns:1fr;gap:25px;padding:35px 6% 20px;font-size:13px}.site-footer nav{grid-template-columns:1fr 1fr;gap:12px}.page-heading{padding:35px 6% 27px}.page-heading h1{font-size:36px}.article-wrap{width:88%;margin:30px auto 50px}.prose{font-size:15px;line-height:1.75}.prose h2{font-size:28px;margin-top:30px}.prose h3{font-size:23px}.bio-photo{float:none;width:100%;margin:0 0 30px}.jump-nav{font-size:13px;gap:10px 16px}.prose blockquote{font-size:18px;padding:22px}.table-wrap{margin-inline:-3%}th,td{padding:12px 14px;font-size:13px}.faq-list summary{font-size:20px}.faq-list details>div{padding-right:0}.method-index{grid-template-columns:1fr 1fr;gap:25px 15px}.method-index .method p{font-size:13px}.method-index .method h3{font-size:19px}.form-fields{grid-template-columns:1fr}.form-field{grid-column:1/-1}.gallery img{aspect-ratio:4/3}.room-detail{object-position:85% center!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:761px){
 .header-inner{min-height:38px}.brand{font-size:20px}.brand span{font-size:8px;margin-top:4px}.header-cta{min-height:25px;font-size:10px;padding:4px 12px}
 #navigation{gap:23px}#navigation a{font-size:12px}
 .hero{height:clamp(278px,23vw,370px)}.hero-copy{padding-top:18px}.hero .eyebrow{margin-bottom:8px;font-size:clamp(9px,.75vw,12px)}.hero h1{font-size:clamp(26px,2.25vw,37px);line-height:1.08}.hero .short-line{margin:8px 0}.hero-intro{font-size:clamp(11px,.89vw,14px);line-height:1.25;margin-bottom:10px}.hero .button{min-height:30px;padding:5px 20px;font-size:11px}.hero-quote{right:4%;width:23%;top:23%}.hero-quote p{font-size:clamp(15px,1.38vw,23px);font-weight:400;white-space:normal}.hero-quote>span{font-size:49px}
 .offers{padding:8px 0 12px}.section-title{margin-bottom:10px}.section-title h2{font-size:clamp(24px,2.05vw,32px)}.offer-grid{gap:50px}.offer{grid-template-columns:65px 1fr;gap:19px}.offer .icon-circle{width:61px;height:61px}.offer h3{font-size:clamp(17px,1.4vw,22px);margin:3px 0 6px}.offer p{font-size:clamp(10.5px,.84vw,13.5px);line-height:1.3}.offers .botanical{height:160px;width:100px;right:-5%;bottom:-9px}
 .methods{padding:8px 0 9px}.methods .section-title{margin-bottom:10px}.method .icon-circle{width:56px;height:56px;margin-bottom:6px}.method .icon-circle svg{width:32px;height:32px}.method h3{font-size:clamp(14px,1.12vw,18px);margin-bottom:6px;min-height:0}.method p{font-size:clamp(10px,.82vw,13px);line-height:1.35}.methods-grid{gap:24px}
 .overview{gap:23px;padding:14px 0 18px}.overview>article+article{padding-left:23px}.overview .section-title{margin-bottom:8px}.overview p{font-size:clamp(10px,.83vw,13px);line-height:1.35;margin-bottom:8px}.overview .button{min-height:27px;font-size:10.5px;padding:5px 14px}.room-grid img{height:clamp(120px,10.4vw,166px)}.contact-line{font-size:11px;margin:9px 0}.contact-line small{font-size:10px}.contact-line svg{width:21px;height:21px}
}
@media(min-width:761px){.hero-photo img{transform:scale(1.22);transform-origin:32% 18%}.hero-quote{width:29%;right:3.5%}.hero-quote p{white-space:nowrap;font-size:clamp(15px,1.38vw,22px)}.method h3{font-size:clamp(12.5px,1.08vw,17px)}}
@media(max-width:760px){.hero-quote{width:35%;right:4%}.hero-quote p{white-space:normal;font-size:14px}.hero-quote>span{font-size:38px}}
.hero-photo{overflow:hidden}.hero-photo:before{z-index:1;pointer-events:none}.hero-quote{z-index:2}

.portrait-composite{display:block;width:100%;height:100%;object-fit:cover}.hero-photo .portrait-composite{width:100%;height:100%}@media(min-width:761px){.portrait-composite{transform:scale(1.22);transform-origin:32% 18%}}

.portrait-composite{display:block;width:100%;height:100%;object-fit:cover}.hero-photo .portrait-composite{width:100%;height:100%}@media(min-width:761px){.portrait-composite{transform:scale(1.22);transform-origin:32% 18%}}

@media(max-width:760px){.hero-photo .portrait-composite{transform:translateX(-55px);width:calc(100% + 55px)}}
/* About portrait: natural source photo, light and colour only; no facial retouching. */
.bio-photo{width:40%;aspect-ratio:4/3;object-fit:cover;object-position:35% center;filter:brightness(1.08) contrast(1.03) saturate(1.14);border-radius:3px;box-shadow:0 10px 25px rgba(55,46,37,.08)}
@media(max-width:760px){.bio-photo{width:100%;aspect-ratio:4/3;margin:0 0 30px;object-position:35% center}}

/* SEO_ACCESSIBILITY: stable images, readable controls and keyboard navigation. */
img{height:auto}
.button.sage{background:#60776c;color:#fff}
#navigation a[aria-current]{color:#516c5f}
.button{cursor:pointer}
.menu-toggle{cursor:pointer;min-width:44px;min-height:44px}
.form-field input,.form-field textarea{font-size:16px}
.skip{top:auto;left:16px;transform:translateY(-200%)}
.skip:focus{top:8px;transform:translateY(0)}
.site-footer>div>a:not(.brand){display:inline-flex;align-items:center;min-height:28px}

/* SEMANTIC_HEADINGS: keep the established visual hierarchy. */
.prose h2.section-subheading{font-size:25px;margin:28px 0 14px}
.prose h3.detail-subheading{font-family:Arial,sans-serif;font-weight:700;font-size:21px;margin:25px 0 12px}
.method-index h2.method-heading{font-size:21px;line-height:1.15;min-height:22px;margin:0 0 8px}
@media(max-width:760px){.prose h2.section-subheading{font-size:23px}.method-index h2.method-heading{font-size:19px}}

/* OFFICE_PHOTOS_20261014: complete photographs without cropping. */
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.room-grid img{aspect-ratio:4/3;object-fit:contain;object-position:center!important;height:auto}.gallery figure:last-child{grid-column:1/-1;width:calc(50% - 15px);justify-self:center}@media(max-width:760px){.gallery{grid-template-columns:1fr;gap:24px}.gallery figure:last-child{grid-column:auto;width:100%}}

/* Original about portrait supplied 2026-10-14, without colour filters or crop. */
.bio-photo{filter:none;aspect-ratio:auto;object-fit:contain;object-position:center;height:auto}

/* REVIEW_LINKS_STRIP: compact access to independent review sources. */
.review-links{border-top:1px solid #d8d4d2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0}.review-links h2{font-size:23px;margin:0 0 5px}.review-links p{font-size:12px;color:var(--muted);margin:0}.review-links-actions{display:flex;gap:12px;flex-wrap:wrap}.review-links-actions a{border:1px solid #b6c2ba;border-radius:3px;color:#40594b;display:inline-flex;align-items:center;gap:12px;padding:11px 17px;min-height:44px;font-size:13px;background:#f2f5f1}.review-links-actions a:hover{background:#e7ede7;border-color:#60776c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.review-links{align-items:flex-start;flex-direction:column;gap:16px}.review-links h2{font-size:24px}.review-links p{font-size:13px}.review-links-actions{width:100%;display:grid;grid-template-columns:1fr;gap:10px}.review-links-actions a{font-size:14px;justify-content:space-between}}

/* METHOD_NAVIGATION: one main menu entry, short introductions and full descriptions. */
.methods-intro{max-width:850px;margin-bottom:30px}.method-more{display:block;font-size:13px;margin-top:12px;color:#40594b;text-decoration:underline;text-underline-offset:3px}.method-description-link{display:inline-block;min-height:44px;padding:10px 0;color:#40594b}.method-back{margin-bottom:18px}.method-back a{display:inline-block;min-height:44px;padding:9px 0;color:#40594b;text-decoration:underline;text-underline-offset:3px}

.method-index>a.method{text-decoration:none}.method-index>a.method:hover .method-more{text-decoration-thickness:2px}

