:root{--bk:#2D2926;--gr:#6B6660;--ww:#FAF8F4;--sc:#F5F2ED;--ac:#C8A89A;--ad:#B8968A;--bd:#E8E4DF;--bl:#E8DDD8;--wh:#fff;--ab:#684B40;--logo:#4A3428;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;--ez:cubic-bezier(.63,0,.24,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
body{background:var(--ww);color:var(--bk);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.wrap-s{width:100%;max-width:760px;margin:0 auto;padding:0 24px}
.sec{padding:96px 0;scroll-margin-top:60px}.sec[id]{scroll-margin-top:0}.bg-w{background:var(--wh)}.bg-c{background:var(--sc)}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(250,248,244,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--bd)}
.nav-in{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:relative}
.logo{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--logo);line-height:1.3;letter-spacing:0}
.nl{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:28px}
.nl a,.mnav a:not(.btn),.fl a{font-size:15px;font-weight:500;color:var(--gr);transition:color .25s}.nl a:hover,.fl a:hover,.mnav a:hover{color:var(--bk)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;font-weight:500;font-size:15px;line-height:1.6;transition:opacity .25s,transform .25s;cursor:pointer;border:0;font-family:var(--sans)}
.btn-p{background:var(--ab);color:var(--ww)}.btn-w{background:var(--wh);color:var(--gr)}.btn:hover{opacity:.8}.btn:active{transform:scale(.97)}.btn-f{width:100%;height:46px}
.burger{display:none;width:32px;height:24px;position:relative}.burger span{position:absolute;left:4px;right:4px;height:1.5px;background:var(--logo);transition:transform .35s,top .35s}.burger span:first-child{top:8px}.burger span:last-child{top:15px}
.nav.open .burger span:first-child{top:12px;transform:rotate(45deg)}.nav.open .burger span:last-child{top:12px;transform:rotate(-45deg)}
.mnav{display:none;flex-direction:column;align-items:center;gap:16px;padding:0 24px;max-height:0;overflow:hidden;transition:max-height .45s var(--ez),padding .45s}
.nav.open .mnav{max-height:420px;padding:24px}
/* hero */
.hero{padding-top:80px}.hero-in{display:flex;align-items:center;gap:144px;padding-top:96px;padding-bottom:96px}
.hero-t{flex:1;display:flex;flex-direction:column;gap:32px;padding-bottom:24px;min-width:0}
.eyebrow,.lbl{font-size:12px;font-weight:600;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}.eyebrow{color:var(--ad);display:block;margin-bottom:-12px}
h1{font-family:var(--serif);font-weight:500;font-size:72px;line-height:1.2;letter-spacing:-.02em}
.lead{font-size:18px;line-height:1.6;color:var(--gr);max-width:460px}
.btns{display:flex;gap:16px}.hero-b{display:flex;flex-direction:column;gap:28px}
.cnt{display:flex;align-items:center;gap:12px;color:var(--gr);font-size:16px}.cnt b{font-weight:500;margin-right:-4px}
.avs{display:flex;padding-right:8px}.avs img{width:32px;height:32px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--ww);margin-right:-8px}
.hero-i{width:480px;height:610px;flex:none;border-radius:24px;overflow:hidden;box-shadow:0 0 0 5px #fff,0 24px 48px -12px rgba(200,168,154,.45)}.hero-i img{width:100%;height:100%;object-fit:cover}
/* stats */
.stats{display:flex;align-items:stretch;justify-content:space-between;padding-top:96px;padding-bottom:96px}
.stat{flex:1;text-align:center}.vd{width:2px;background:var(--bd);flex:none}
.num{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1;letter-spacing:-.02em;color:var(--ad);font-variant-numeric:tabular-nums}
.cap{margin-top:12px;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--gr);line-height:1.4}
/* quote */
.q32{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.5;letter-spacing:-.02em;color:var(--ad);text-align:center}.q32.dk{color:var(--ab)}
.quote{max-width:720px;display:flex;justify-content:center}.quote.wrap{padding-left:24px;padding-right:24px}
.bigt{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:720px}
.qm{font-family:var(--serif);font-size:80px;font-weight:500;line-height:1;letter-spacing:-.02em;color:var(--ad);height:50px}
.bt-c{display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:12px}
.who{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:15px}.who img{width:48px;height:48px;border-radius:50%;object-fit:cover}.who b{font-weight:500;display:block;line-height:1.5}
.stars{display:flex;gap:4px;color:var(--ad);justify-content:center}.rc .stars{justify-content:flex-start}.stars svg{width:16px;height:16px}
/* section heading */
.sh{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;margin-bottom:48px}
.pill{display:inline-block;background:var(--wh);border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.4;color:var(--ab)}
.sh h2{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1;letter-spacing:-.02em;color:var(--bk)}
.sh p{font-size:18px;line-height:1.6;color:var(--ab);max-width:640px}
/* process */
.proc{border-radius:32px;overflow:hidden;aspect-ratio:1.78;background:var(--bl)}.proc img{width:100%;height:112%;object-fit:cover;will-change:transform}
/* packages */
.pgrid{display:flex;justify-content:center;gap:32px;align-items:stretch}
.pcard{flex:1;max-width:370px;min-height:576px;display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:32px 20px 20px;border-radius:24px;border:1px solid var(--sc);background:linear-gradient(180deg,var(--ww) 0%,var(--sc) 100%)}
.pcard.feat{border-color:var(--ac)}
.pc-top{text-align:center}.pn{font-size:18px;font-weight:500;line-height:1.6}.pp{font-family:var(--serif);font-weight:500;font-size:48px;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:0}
.pinc{flex:1;display:flex;flex-direction:column;gap:12px}.pr{display:flex;justify-content:space-between;align-items:center;min-height:24px}.pr .lbl{color:var(--ad)}
.badge{background:var(--ac);color:#fff;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.pinc ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.pinc li{display:flex;align-items:center;gap:12px;background:#fff;border-radius:10px;padding:10px 14px;box-shadow:0 1px 2px rgba(104,75,64,.08),0 2px 6px rgba(104,75,64,.05);font-size:15px;line-height:1.5}
.pinc li svg{flex:none;color:var(--ab)}
/* menu */
#individual-services .wrap{display:flex;flex-direction:column;align-items:center}
.menu{width:100%;max-width:800px;margin-bottom:48px}
.mi{padding:22px 0 24px;border-bottom:1px solid var(--bd)}.mi:last-child{border-bottom:1px solid var(--bd)}
.mi-r{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.mi h3,.mp{font-family:var(--serif);font-style:italic;font-weight:500;font-size:32px;line-height:1.2;color:var(--ab);letter-spacing:0}.mp{font-variant-numeric:tabular-nums;white-space:nowrap}
.mi p{color:var(--ad);font-size:16px;line-height:1.8;margin-top:4px}
/* gallery */
.gal{display:flex;gap:16px;align-items:stretch}
.gi{overflow:hidden;border:1px solid var(--bd);border-radius:16px;background:var(--sc);min-height:0}.gi img{width:100%;height:100%;object-fit:cover}
.g0{width:55%;aspect-ratio:1.33;border-radius:24px;flex:none}
.gs{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px 12px}
/* reviews */
.rcols{display:flex;gap:32px;align-items:flex-start}.rcol{flex:1;display:flex;flex-direction:column;gap:32px}.rcol .sp{height:32px;margin-bottom:-32px}
.rc{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px}
.rc-h{display:flex;align-items:center;gap:16px}.rc-h img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--bd)}.rn{font-size:15px;line-height:1.7}
.rl{display:block;height:2px;background:var(--sc)}
.rc p{font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;line-height:1.5;letter-spacing:-.02em}
/* faq */
.faqs{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.fq-q{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:0;font-size:15px;color:var(--bk)}
.fq-q span{display:block;background:var(--ww);padding:15px 22px;border-radius:26px 26px 26px 5px;line-height:1.5;transition:background .35s}
.fq-q svg{flex:none;color:var(--gr);transition:color .3s}.fq-q svg .v{transition:opacity .3s,transform .3s;transform-origin:center}
.fq.open .fq-q span{background:var(--bl)}.fq.open .fq-q svg{color:var(--ab)}.fq.open .fq-q svg .v{opacity:0}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ez)}.fq-a>div{overflow:hidden}.fq.open .fq-a{grid-template-rows:1fr}
.fq-a p{margin:12px 0 4px auto;width:420px;max-width:100%;background:#fff;padding:18px 22px;border-radius:26px 26px 5px 26px;font-size:15px;line-height:1.95}
/* cta */
.ctaw{display:flex;flex-direction:column;align-items:center}.ctaw .sh{margin-bottom:56px}
.form{width:100%;max-width:576px;background:#fff;border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:24px}
.form .row{display:flex;gap:20px}.form label{flex:1;display:flex;flex-direction:column;gap:10px;font-size:14px;font-weight:500;color:var(--gr);line-height:1.5;min-width:0}
.form input,.form select,.form textarea{width:100%;font:400 14px/1.4 var(--sans);color:var(--bk);background:var(--ww);border:1px solid var(--bd);border-radius:10px;padding:12px;height:40px;outline:0;transition:border-color .25s,box-shadow .25s}
.form textarea{height:100px;resize:vertical;line-height:1.4}.form input::placeholder,.form textarea::placeholder{color:#a39d96}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(200,168,154,.25)}
.sel{position:relative;display:block}.sel select{appearance:none;-webkit-appearance:none;padding-right:34px}.sel:after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border:solid var(--gr);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.sub{height:40px;font-size:16px}.msg{font-size:14px;text-align:center;color:var(--ab);line-height:1.5}
.info{margin-top:56px;text-align:center;display:flex;flex-direction:column;gap:28px;align-items:center}.ih{display:flex;flex-direction:column;gap:8px}
.lbl.d{color:var(--ab)}.lbl.a{color:var(--ad)}.lbl.a2{color:var(--ac)}.iv{font-size:18px;font-weight:500;line-height:1.6}
.ic{display:flex;gap:44px;justify-content:center;flex-wrap:wrap}.ic>div{display:flex;flex-direction:column;gap:6px}.iv2{font-size:18px;color:var(--ab);line-height:1.6}
.loc{margin-top:56px;width:100%;max-width:696px;display:flex;flex-direction:column;align-items:center;gap:16px}
.map{width:100%;height:464px;border-radius:24px;border:1px solid var(--bd);overflow:hidden;box-shadow:0 6px 16px rgba(104,75,64,.12);background:var(--sc)}.map iframe{width:100%;height:100%;border:0;display:block}
/* footer */
.foot{background:var(--ww);border-top:1px solid var(--bd)}.foot-in{max-width:1200px;margin:0 auto;padding:64px 24px 32px;display:flex;flex-direction:column;gap:40px}
.foot-top{display:flex;flex-direction:column;align-items:center;gap:36px}.fl{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}.soc{display:flex;gap:16px}
.soc a{width:36px;height:36px;border-radius:50%;border:1px solid var(--bd);display:grid;place-items:center;color:var(--gr);transition:background .3s,color .3s}.soc a:hover{background:var(--ab);color:#fff;border-color:var(--ab)}
.fdiv{height:1px;background:var(--bd)}.fbot{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--gr);flex-wrap:wrap}.pl{display:flex;gap:28px}.pl a:hover{color:var(--bk)}
/* policy / 404 */
.pol{padding:160px 0 96px}.pol h1{font-size:56px;line-height:1.1;margin-bottom:24px}.pol h2{font-family:var(--serif);font-weight:500;font-size:28px;margin:40px 0 8px;line-height:1.2}.pol p{color:var(--gr)}.upd{font-size:14px;color:var(--ad);margin-bottom:12px}.lead2{font-size:18px;color:var(--bk)!important}
.nf{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:120px 24px 64px}.nf h1{font-size:112px;font-weight:300;line-height:1;color:var(--ad)}.nf h2{font-family:var(--serif);font-weight:500;font-size:40px}.nf p{color:var(--gr);margin-bottom:12px}
/* effects */
.tx-word .w,.tx-line .l{display:inline-block;opacity:0;transform:translateY(10px) skewX(-20deg);filter:blur(10px);will-change:transform,opacity,filter}
.tx-line .l{display:block;transform:translateY(10px) skewX(-30deg);filter:blur(8px)}
.tx-word.in .w{opacity:1;transform:none;filter:none;transition:opacity 2s cubic-bezier(.79,0,.26,1),transform 2s cubic-bezier(.79,0,.26,1),filter 2s cubic-bezier(.79,0,.26,1);transition-delay:calc(var(--i)*.05s)}
.tx-line.in .l{opacity:1;transform:none;filter:none;transition:opacity 1.5s cubic-bezier(.16,1,.3,1),transform 1.5s cubic-bezier(.16,1,.3,1),filter 1.5s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--dl,0s) + var(--i)*.15s)}
.eyebrow.tx-line .l{display:inline-block}
.pre .tx-word .w,.pre .tx-line .l{} 
.fx-fade,.fx-fade-in,.fx-up,.fx-up2,.fx-card,.fx-spring,.fx-gal,.fx-col,.fx-fq,.fx-hero{opacity:0}
.fx-fade{transition:opacity 1s cubic-bezier(.67,0,.3,1)}.fx-fade.in{opacity:1;transition-delay:var(--fd,0s)}
.fx-fade-in{transition:opacity .7s var(--ez);transition-delay:var(--fd,0s)}.fx-fade-in.in{opacity:1}
.fx-up,.fx-up2,.fx-col{transform:translateY(30px);transition:opacity .7s var(--ez),transform .7s var(--ez)}.fx-up2,.fx-col{transition-duration:1s;transition-delay:var(--fd,0s)}
.fx-card,.fx-gal{transform:translateY(30px) rotate(2deg);transition:opacity .7s var(--ez),transform .7s var(--ez);transition-delay:var(--fd,0s)}.fx-gal{transition-duration:1s}
.fx-spring{transform:translateY(20px);transition:opacity .4s ease,transform .5s cubic-bezier(.34,1.4,.64,1);transition-delay:var(--fd,0s)}
.fx-fq{transform:translateY(20px);transition:opacity 1s var(--ez),transform 1s var(--ez);transition-delay:var(--fd,0s)}
.fx-hero{transform:translateY(150px) skewX(-5deg);transition:opacity 1.3s cubic-bezier(.69,0,.3,1),transform 1.3s cubic-bezier(.69,0,.3,1)}
.in.fx-up,.in.fx-up2,.in.fx-col,.in.fx-card,.in.fx-gal,.in.fx-spring,.in.fx-fq,.in.fx-hero{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.tx-word .w,.tx-line .l,.fx-fade,.fx-fade-in,.fx-up,.fx-up2,.fx-card,.fx-spring,.fx-gal,.fx-col,.fx-fq,.fx-hero{opacity:1!important;transform:none!important;filter:none!important}}
/* tablet */
@media(max-width:1199px){
h1{font-size:64px}.sh h2{font-size:52px}
.hero-in{flex-direction:column;align-items:stretch;gap:40px;max-width:820px;padding-top:96px}.hero-i{width:100%;height:auto;aspect-ratio:1.49}
.pol h1{font-size:48px}
.pgrid{gap:20px}.pcard{padding:28px 14px 14px}.pp{font-size:40px}.pinc li{font-size:13px;padding:10px}.pn{font-size:14px}
.rcols{flex-direction:column;align-items:center}.rcol{width:100%;max-width:600px}.rcol .sp{display:none}
.gal{flex-direction:column}.g0{width:100%}.gs{grid-template-rows:auto}.gs .gi{aspect-ratio:1.1}
.q32{font-size:28px}.num{font-size:52px}.mi h3,.mp{font-size:28px}
body{font-size:13px}.lead{font-size:14px}.sh p{font-size:14px}.btn{font-size:13px}
}
/* phone */
@media(max-width:809px){
body{font-size:16px}.lead,.sh p{font-size:16px}.btn{font-size:15px}
.sec{padding:60px 0}.hero-in{padding-top:60px;padding-bottom:60px;gap:32px}h1{font-size:40px}.sh h2{font-size:40px;line-height:1.05}.sh{margin-bottom:36px}
.nl,.nav-cta{display:none}.burger{display:block}.mnav{display:flex}.logo{font-size:26px}
.btns{flex-wrap:wrap}.hero-i{aspect-ratio:.8}
.stats{flex-direction:column;gap:20px;padding-top:60px;padding-bottom:60px}.vd{width:80px;height:2px;align-self:center}.stat{width:100%}.num{font-size:48px}
.q32{font-size:24px}.proc{border-radius:24px;aspect-ratio:1.2}
.pgrid{flex-direction:column;align-items:center}.pcard{width:100%;max-width:370px;min-height:0;flex:none}.pcard .pinc li{font-size:15px}.pp{font-size:48px}.pn{font-size:16px}
.mi h3,.mp{font-size:24px}.mi-r{flex-wrap:wrap}.rc p{font-size:22px}
.gs{grid-template-columns:1fr 1fr}.map{height:340px}.form{padding:24px 20px}.form .row{flex-direction:column;gap:24px}
.fbot{flex-direction:column;text-align:center}.pl{gap:20px;flex-wrap:wrap;justify-content:center}.fq-q span{font-size:15px}.fq-a p{width:92%}
.pol{padding:120px 0 64px}.pol h1{font-size:40px}.nf h1{font-size:88px}
}
