:root{--cream:#f6f2e9;--ink:#303c33;--gold:#997544;--green:#263b30;--line:#d9d1c2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;margin:0}h2{font-size:clamp(2.7rem,4.8vw,4.6rem);letter-spacing:-.045em}h3{font-size:2rem}em{font-weight:400;color:var(--gold)}p{margin:0 0 1.2rem}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:500;margin-bottom:1.7rem}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;padding:16px 26px;font-size:.875rem;min-height:50px;border:1px solid var(--green);transition:background .2s}.button:hover{background:#445744}.button.light{background:var(--cream);color:var(--green);border-color:var(--cream)}.button.light:hover{background:#e0d6c3}.text-link{background:none;border:0;border-bottom:1px solid var(--gold);padding:0 0 6px;font-size:.875rem;color:inherit;width:fit-content}.skip{position:absolute;top:-60px}.skip:focus{top:5px;z-index:10;background:white;padding:12px}header{height:100px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center}.brand img{width:44px;height:55px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-family:Georgia,serif;font-size:2.2rem;line-height:1}.brand small{display:block;font:9px Arial;letter-spacing:.2em;margin-top:9px}.small{padding:11px 19px;min-height:44px}nav{display:flex;gap:30px;font-size:.875rem}nav a:hover{color:var(--gold)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:65px 9% 32px 10%;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(3.5rem,6.7vw,6.4rem);letter-spacing:-.055em;margin-bottom:30px}.intro{max-width:370px;color:#677066;font-size:1.05rem}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:12px}.hero-foot{display:flex;gap:30px;margin-top:55px;font-size:.625rem;letter-spacing:.15em;color:#76796e}.hero-image{position:relative;overflow:hidden;min-height:600px;background:#e3dbcb}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:58% center}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#1e302968)}.image-caption{position:absolute;bottom:45px;left:40px;font:italic 2.7rem Georgia;color:white;z-index:1}.vertical{position:absolute;right:20px;top:40px;writing-mode:vertical-rl;font-size:.625rem;letter-spacing:.22em;color:white}.manifesto{padding:100px 8%;display:grid;grid-template-columns:1.15fr 1fr;gap:20px 10%}.manifesto>.eyebrow{grid-column:1/-1}.manifesto>div{padding-top:7px;color:#687165}.manifesto p{max-width:480px}.treatments{padding:95px 8%;background:#eae6dc}.section-head{display:flex;gap:12%;align-items:flex-end;justify-content:space-between}.section-head>p{max-width:350px;color:#657063}.filters{display:flex;gap:10px;margin:45px 0 30px;flex-wrap:wrap}.filters button{background:none;border:1px solid #c7cbbb;color:var(--ink);padding:9px 22px;border-radius:30px;font-size:.875rem}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.cards article{border-top:1px solid #bdbdaf;padding:30px 30px 35px 0;display:flex;flex-direction:column;min-height:310px}.cards article[hidden]{display:none}.number{font-size:.75rem;letter-spacing:.13em;color:var(--gold);margin-bottom:24px}.cards h3{margin-bottom:20px}.cards p{font-size:.95rem;color:#637061;max-width:280px}.tags{font-size:.75rem;color:#717969;margin-bottom:30px}.cards .text-link{margin-top:auto}.note{font-size:.75rem;margin:24px 0 0;color:#747a6f}.guide{background:var(--green);color:var(--cream);padding:90px 8%;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.guide em{color:#ccb58b}.guide>div>p:not(.eyebrow){max-width:330px;margin-top:30px;color:#c2ccbf}.choices{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:35px}.choices button{color:#e4e8dc;border:1px solid #758171;background:none;padding:10px 14px;font-size:.875rem;border-radius:24px}.choices button.selected{background:#d6c39d;color:#263b30;border-color:#d6c39d}.recommendation{border-top:1px solid #63715f;padding-top:30px}.recommendation h3{font-size:2.5rem;margin-bottom:20px}.recommendation p{color:#c2ccbf}.process{padding:75px 8%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7%}.steps span{color:var(--gold);font:italic 1.5rem Georgia}.steps h3{font-size:1.7rem;margin:20px 0 15px}.steps p{color:#6e7769;font-size:.95rem}.gift{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;padding:65px 8% 100px}.gift-image img{width:100%;height:440px;object-fit:cover}.gift h2{margin-bottom:26px}.gift p:not(.eyebrow){color:#6b7467;max-width:370px}.gift .button{margin-top:15px}.faq{padding:85px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:1rem}details p{padding-top:20px;font-size:.95rem;color:#697265;margin-bottom:0}.contact{text-align:center;padding:90px 20px;background:#ddd8c9}.contact h2{font-size:clamp(3.5rem,7vw,6.5rem);margin-bottom:25px}.contact .button{background:var(--green);color:white;border-color:var(--green);margin-top:12px}.phone{display:block;font-family:Georgia;font-size:1.6rem;margin:24px 0 14px}.contact-note{font-size:.75rem;color:#65705f}footer{display:flex;align-items:center;justify-content:space-between;padding:40px 6%;gap:25px}footer p{font:italic 1rem Georgia;margin:0}footer>span{font-size:.75rem;color:#707568}dialog{border:0;padding:50px;max-width:600px;width:90%;color:var(--ink);background:var(--cream)}dialog::backdrop{background:#18271dcc;backdrop-filter:blur(5px)}dialog h2{font-size:3rem;margin-bottom:25px}dialog .close{position:absolute;top:12px;right:18px;font-size:30px;background:none;border:0;color:var(--ink)}.modal-note{font-size:.875rem;color:#6c7568}dialog .button{margin-top:10px}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:16px}header{padding:15px 4%}.hero-copy{padding:50px 8%}.hero h1{font-size:4.5rem}.actions{gap:18px}.hero-foot{gap:12px}.cards{grid-template-columns:repeat(2,1fr)}.manifesto,.guide,.faq{gap:7%}.gift{gap:5%}.gift-image img{height:400px}}@media(max-width:700px){header{height:84px;padding:14px 6%}nav{display:none}.brand img{width:30px;height:43px}.brand span{font-size:1.8rem}.brand small{font-size:8px}.small{font-size:.75rem;padding:10px 12px}.hero{grid-template-columns:1fr}.hero-copy{padding:44px 7% 32px}.hero h1{font-size:4.5rem}.hero .eyebrow{font-size:.625rem;letter-spacing:.13em}.hero-foot{margin-top:30px}.hero-image{min-height:380px}.image-caption{bottom:26px;left:25px;font-size:2.2rem}.vertical{display:none}.manifesto{padding:65px 7%;grid-template-columns:1fr;gap:20px}.manifesto>div{margin-top:10px}.section-head{display:block}.section-head>p{margin-top:26px}.treatments{padding:65px 7%}.filters{gap:7px;margin-top:30px}.filters button{padding:8px 14px}.cards{grid-template-columns:1fr}.cards article{min-height:270px;padding-right:0}.cards p{max-width:100%}.guide{padding:65px 7%;grid-template-columns:1fr;gap:30px}.guide>div>p:not(.eyebrow){max-width:100%;margin-top:25px}.process{padding:60px 7%}.steps{grid-template-columns:1fr;gap:25px}.steps h3{margin-top:10px}.gift{padding:25px 7% 65px;grid-template-columns:1fr;gap:35px}.gift-image img{height:auto}.faq{padding:60px 7%;grid-template-columns:1fr;gap:30px}.contact{padding:65px 7%}footer{flex-direction:column;text-align:center;padding:35px 7%;gap:20px}dialog{padding:40px 25px}.actions .button{padding:14px 18px}.eyebrow{font-size:.75rem}.hero-foot{font-size:.625rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* A restrained editorial type scale, with fonts served locally. */
@font-face{font-family:'KaMaru Editorial';src:url('assets/fonts/editorial.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'KaMaru Editorial';src:url('assets/fonts/editorial-italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'KaMaru Sans';src:url('assets/fonts/sans.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:'KaMaru Sans',Arial,sans-serif;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'KaMaru Editorial',Georgia,serif;letter-spacing:-.025em;line-height:1.13;text-wrap:balance}
h2{font-size:clamp(2.5rem,4.2vw,4rem)}
.hero h1{font-size:clamp(3.4rem,6.2vw,5.8rem);letter-spacing:-.035em;line-height:1.07}
.contact h2{font-size:clamp(3.4rem,6.2vw,5.8rem);letter-spacing:-.03em;line-height:1.1}
.eyebrow,.hero .eyebrow{font-size:.8125rem;line-height:1.6;letter-spacing:.13em;font-weight:400}
.brand span{font-family:Georgia,serif;letter-spacing:-.045em}
.brand small{font-family:'KaMaru Sans',Arial,sans-serif;font-size:.75rem;letter-spacing:.08em;line-height:1.3}
.hero-foot{font-size:.75rem;line-height:1.65;letter-spacing:.075em;flex-wrap:wrap;color:#5b6657}
.vertical{font-size:.75rem;letter-spacing:.12em;text-shadow:0 1px 5px #18271d}
.image-caption{font-family:'KaMaru Editorial',Georgia,serif;line-height:1.2}
.intro{font-size:1.125rem;line-height:1.65;max-width:24rem;color:#576351}
.cards p,.steps p,details p{font-size:1rem;line-height:1.7}
.number{font-size:.8125rem;letter-spacing:.1em;color:#806039}
.tags{font-size:.875rem;line-height:1.6;color:#56614f}
.note,.contact-note,footer>span{font-size:.8125rem;line-height:1.65;color:#56614f}
.modal-note{font-size:.9375rem;line-height:1.7}
.button,.text-link,nav,.filters button,.choices button{font-size:.9375rem;line-height:1.4}
.text-link{padding-bottom:7px}
.recommendation h3{font-size:clamp(2rem,3vw,2.5rem);line-height:1.2}
.steps h3{font-size:1.875rem;line-height:1.2}
.cards h3{font-size:2.125rem;line-height:1.2}
summary{font-size:1.0625rem;line-height:1.5}
.cards article,.hero-copy,.manifesto>*,.guide>*,.gift>*,.faq>*{min-width:0}
header{height:auto;min-height:100px}.brand{flex-shrink:0}
@media(max-width:1100px){nav{gap:18px}nav a{font-size:.875rem}.hero h1{font-size:clamp(3.1rem,6vw,4.6rem)}.hero-foot{gap:14px}}
@media(max-width:850px){nav{display:none}}
@media(max-width:700px){header{min-height:90px;gap:14px}.brand small{font-size:.75rem;max-width:9rem}.brand span{font-size:1.8rem}.brand img{width:30px}.small{font-size:.875rem;padding:11px 13px;max-width:10rem}.hero h1{font-size:clamp(3rem,11.5vw,4.5rem);line-height:1.09}.hero .eyebrow{font-size:.8125rem;letter-spacing:.1em;max-width:21rem}.hero-foot{font-size:.75rem;gap:12px 22px}.hero-copy{padding-top:42px}.intro{font-size:1.0625rem}h2{font-size:clamp(2.375rem,9vw,3.5rem);line-height:1.15;letter-spacing:-.025em}.contact h2{font-size:clamp(3rem,12vw,4.5rem)}.cards h3{font-size:2rem}.steps h3{font-size:1.75rem}.image-caption{font-size:2.1rem}.recommendation h3{font-size:2rem}dialog h2{font-size:clamp(2rem,9vw,3rem);line-height:1.15}footer p{line-height:1.5}}
@media(max-width:380px){header{padding-inline:5%;gap:10px}.brand{gap:8px}.brand img{display:none}.small{max-width:9rem}.hero h1{font-size:3rem}.actions{align-items:flex-start;flex-direction:column}}

.email{display:block;width:fit-content;max-width:100%;margin:0 auto 22px;font-size:1rem;line-height:1.6;border-bottom:1px solid var(--gold);overflow-wrap:anywhere}.email:hover{color:var(--gold)}
