@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/playfair-display-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/playfair-display-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/playfair-display-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-latin-wght-normal.woff2) format('woff2')}
:root{--bg:#FBF9F7;--ink:#1F1A1E;--mute:#5F575C;--clay:#86154F;--sage:#C9A66B;--card:#F6E9EE;--line:#1F1A1E24;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:350 17px/1.65 'Manrope',system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:300;line-height:1.02;margin:0;letter-spacing:-.02em}
em{font-style:italic;color:var(--clay)}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
nav{display:flex;justify-content:space-between;align-items:baseline;padding:26px 0;font-size:14px}
nav .logo{font-family:'Playfair Display',serif;font-size:24px;font-style:italic}
nav #links{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end}
nav a{text-decoration:none;color:var(--mute)}nav a:hover{color:var(--clay)}
.btn{display:inline-block;background:var(--ink);color:var(--bg);padding:15px 28px;border-radius:40px 8px 40px 8px;text-decoration:none;font-weight:500;font-size:15px;transition:.3s}
.btn:hover{background:var(--clay);border-radius:8px 40px 8px 40px}
.btn.o{background:none;color:var(--ink);border:1px solid var(--ink)}
.hero{display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px;padding:clamp(40px,8vw,110px) 0 90px;position:relative}
.hero h1{grid-column:1/11;font-size:clamp(46px,9.5vw,138px)}
.hero h1 span{display:block;padding-left:clamp(0px,12vw,180px)}
.hero p{grid-column:6/12;margin:44px 0 28px;font-size:19px;color:var(--mute)}
.hero .cta{grid-column:6/13;display:flex;gap:14px;flex-wrap:wrap}
.blob{position:absolute;right:-4%;top:6%;width:min(38vw,380px);z-index:-1;opacity:.9}
.tag{position:absolute;left:0;bottom:30px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);writing-mode:vertical-rl;transform:rotate(180deg)}
.label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);margin-bottom:18px}
section{padding:80px 0;border-top:1px solid var(--line)}
.split{display:grid;grid-template-columns:5fr 7fr;gap:60px}
.split h2{font-size:clamp(34px,5vw,64px)}
.split.r{grid-template-columns:7fr 5fr}
.svc{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:50px}
.svc article{background:var(--card);padding:32px;border-radius:120px 14px 14px 14px}
.svc article:nth-child(1){grid-column:1/4;margin-top:0}
.svc article:nth-child(2){grid-column:4/7;margin-top:60px;border-radius:14px 120px 14px 14px}
.svc article:nth-child(3){grid-column:2/5;border-radius:14px 14px 120px 14px}
.svc article:nth-child(4){grid-column:5/7;margin-top:-30px;border-radius:14px}
.svc b{font-family:'Playfair Display',serif;font-size:52px;font-weight:300;color:var(--sage);display:block;line-height:1}
.svc h3{font-size:27px;margin:14px 0 10px}.svc p{margin:0;color:var(--mute);font-size:15px}
.steps{list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:70px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}
.steps li:nth-child(even){padding-left:clamp(0px,6vw,80px)}
.steps li:before{content:"0" counter(s);font-family:'Playfair Display',serif;font-size:38px;font-style:italic;color:var(--clay);line-height:1}
.steps strong{display:block;font-family:'Playfair Display',serif;font-weight:400;font-size:24px}
.steps span{color:var(--mute);font-size:15px}
.fees{display:flex;gap:40px;flex-wrap:wrap;margin:28px 0}
.fees div{font-family:'Playfair Display',serif;font-size:clamp(48px,7vw,84px);font-weight:300;line-height:1}
.fees small{display:block;font:400 13px 'Manrope',sans-serif;color:var(--mute);letter-spacing:.06em;margin-top:6px}
.ins{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 14px}
.ins span{border:1px solid var(--ink);padding:7px 18px;border-radius:30px 6px 30px 6px;font-size:14px}
.note{color:var(--mute);font-size:14px}
details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;font-family:'Playfair Display',serif;font-size:22px;list-style:none}
summary:after{content:"+";float:right;color:var(--clay)}details[open] summary:after{content:"–"}
details p{color:var(--mute);margin:10px 0 0;font-size:15px}
.crisis{background:var(--ink);color:var(--bg);border-radius:0 90px 0 0;padding:clamp(30px,5vw,60px);margin:20px 0 80px}
.crisis h3{font-size:34px;margin-bottom:10px}.crisis a{color:inherit}
.contact h2{font-size:clamp(40px,7vw,96px)}
.contact address{font-style:normal;margin-top:30px;color:var(--mute)}
footer{border-top:1px solid var(--line);padding:30px 0 40px;font-size:13px;color:var(--mute)}
footer div{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.svc article{border:1px solid transparent;transition:transform .4s ease,border-color .4s ease}
.svc article:hover{transform:translateY(-6px);border-color:var(--clay)}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}.svc article{transition:none}.svc article:hover{transform:none}}
.prov{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,6vw,80px);align-items:start}
.ph{position:relative;max-width:400px;margin-top:20px}
.ph:before{content:"";position:absolute;inset:-16px 18px 18px -16px;border:1.5px solid var(--clay);border-radius:58% 42% 46% 54%/48% 56% 44% 52%}
.ph img{position:relative;display:block;width:100%;height:auto;border-radius:46% 54% 42% 58%/40% 46% 54% 60%;filter:saturate(.92)}
.prov h2{font-size:clamp(38px,5.5vw,72px)}
.role{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:14px 0 26px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 26px}
.chips span{background:var(--card);padding:6px 16px;border-radius:24px 5px 24px 5px;font-size:14px}
.chips.top span{background:none;border:1px solid var(--clay);color:var(--clay)}
.prov h3{font:500 12px 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:26px 0 0}
@media(max-width:760px){.prov{grid-template-columns:1fr}.ph{max-width:300px;margin-left:16px}}
.cred h3{font:500 12px 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:34px 0 4px}
.cred h3:first-child{margin-top:0}
.cred ul{list-style:none;margin:0;padding:0}
.cred li{display:grid;grid-template-columns:1fr auto;gap:4px 24px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.cred li small{color:var(--mute);font-size:14px;grid-column:1}
.cred li i{font-style:normal;color:var(--mute);font-size:14px;grid-row:1;grid-column:2;white-space:nowrap}
.cred a{color:var(--clay)}
@media(max-width:760px){.cred li{grid-template-columns:1fr}.cred li i{grid-row:auto;grid-column:1}}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:10px 16px;z-index:100}.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
nav{padding:16px 0;align-items:center}.logo{text-decoration:none}
.menu{display:none;background:none;border:1px solid var(--ink);color:var(--ink);padding:0 20px;min-height:44px;border-radius:30px;font:500 14px 'Manrope',sans-serif;cursor:pointer}
.btn{display:inline-flex;align-items:center;min-height:48px}
section{padding:clamp(64px,9vw,120px) 0}
.hero .label{grid-column:1/13;margin-bottom:26px}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 28px;margin:0 0 40px;border-top:1px solid var(--ink);padding-top:20px}
.glance div{padding:8px 0 18px}.glance dt{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay)}
.glance dd{margin:6px 0 0;font-family:'Playfair Display',serif;font-size:19px;line-height:1.3}
.svl{list-style:none;margin:0;padding:0}
.svl li{padding:26px 0 26px 0;border-bottom:1px solid var(--line);transition:padding .35s ease,border-color .35s ease}
.svl li:hover{padding-left:16px;border-color:var(--clay)}
.svl h3{font-size:clamp(24px,3vw,32px);margin-bottom:8px}.svl p{margin:0;color:var(--mute);max-width:560px}
.addr{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;color:var(--ink)!important;font-size:18px}
.ph3{font:500 12px 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 6px}
#privacy{margin-top:32px}
summary{padding:4px 0}
@media(max-width:980px){.menu{display:block}nav #links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);flex-direction:column;gap:0;padding:8px clamp(20px,5vw,56px) 20px;border-bottom:1px solid var(--line)}#links.open{display:flex}#links a{padding:14px 0;font-size:18px;color:var(--ink);border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.svl li{transition:none}.svl li:hover{padding-left:0}}
.bar{display:none}
@media(max-width:980px){.bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;background:var(--bg);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
.bar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:30px 6px 30px 6px;text-decoration:none;font-weight:500;font-size:15px;border:1px solid var(--ink)}
.bar a+a{background:var(--ink);color:var(--bg)}body{padding-bottom:84px}}
.ph{max-width:430px;margin:20px 0 44px 18px;aspect-ratio:4/5}
.ph:before{inset:auto -26px -30px auto;width:80%;height:80%;background:var(--card);border:0;border-radius:52% 48% 44% 56%/46% 54% 46% 54%}
.ph:after{content:"";position:absolute;inset:-16px 22px 22px -16px;border:1.5px solid var(--sage);border-radius:38% 62% 40% 60%/22% 24% 36% 34%}
.ph img{z-index:1;height:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border:5px solid var(--bg);border-radius:38% 62% 40% 60%/22% 24% 36% 34%;box-shadow:0 22px 44px -20px #0f1b2d66}
@media(max-width:760px){.ph{max-width:320px;margin:10px 26px 44px 16px}}
.band{background:color-mix(in srgb,var(--card) 42%,var(--bg))}
.stmt{background:var(--ink);color:var(--bg);border:0;position:relative;overflow:hidden}
.stmt p{font-family:'Playfair Display',Georgia,serif;font-weight:300;font-size:clamp(34px,6.4vw,92px);line-height:1.04;letter-spacing:-.02em;margin:0;max-width:15em}
.stmt em{color:var(--sage)}.stmt:after{content:"";position:absolute;right:-8%;bottom:-40%;width:min(46vw,460px);aspect-ratio:1;border:1.5px solid var(--sage);border-radius:58% 42% 46% 54%/48% 56% 44% 52%;opacity:.5}
.loc{display:grid;grid-template-columns:5fr 7fr;gap:clamp(30px,5vw,72px);align-items:center}
.loc h2{font-size:clamp(34px,5vw,60px);margin-bottom:26px}
.loc address{font-style:normal;font-size:19px;line-height:1.6;margin-bottom:28px}
.loc address strong{font-family:'Playfair Display',serif;font-weight:400;font-size:26px}
.mapf{position:relative;margin:0 14px 18px 0}
.mapf:before{content:"";position:absolute;inset:18px -14px -18px 14px;border:1.5px solid var(--sage);border-radius:30px 130px 30px 30px}
.mapf iframe{position:relative;display:block;width:100%;height:clamp(300px,42vw,460px);border:5px solid var(--bg);border-radius:30px 130px 30px 30px;box-shadow:0 22px 44px -22px #0f1b2d66;filter:saturate(.75)}
@media(max-width:760px){.loc{grid-template-columns:1fr}.mapf iframe{border-radius:24px 80px 24px 24px}.mapf:before{border-radius:24px 80px 24px 24px}}
.arch{position:relative;aspect-ratio:3/4;max-width:400px;width:100%;justify-self:end;border-radius:999px 999px 26px 26px;background:var(--card);display:flex;flex-direction:column;justify-content:flex-end;padding:44px 34px;overflow:hidden}
.arch .rings{position:absolute;left:0;top:0;width:100%;color:var(--sage);opacity:.9}
.arch .k{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);position:relative}
.arch b{font:300 clamp(72px,9vw,120px)/1 'Playfair Display',serif;position:relative;letter-spacing:-.03em}
.arch span{position:relative}
.arch.dk{background:var(--ink);color:var(--bg);margin-top:-36px;border-radius:26px 26px 999px 999px;justify-content:center;padding:70px 34px;aspect-ratio:1/1.1}
.arch.dk .k{color:var(--sage)}.arch.dk .btn{background:var(--bg);color:var(--ink);position:relative;align-self:flex-start}
.ab{display:grid;grid-template-columns:7fr 5fr;gap:clamp(30px,6vw,90px);align-items:end}
.ab h2{font-size:clamp(38px,5.6vw,76px);margin-bottom:28px}.ab p{max-width:520px;color:var(--mute)}
.tel{display:grid;grid-template-columns:6fr 5fr;gap:clamp(30px,6vw,90px);align-items:center}
.tel h2{font-size:clamp(36px,5vw,66px);margin-bottom:24px}.tel p{color:var(--mute);max-width:520px}
#provider{background:color-mix(in srgb,var(--card) 65%,var(--bg))}
#services .big,.cta .big{font-size:clamp(40px,6vw,84px);max-width:11em;margin-bottom:48px}
.svl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);counter-reset:sv}
.svl li{background:var(--bg);padding:34px 30px 38px;counter-increment:sv;transition:background .3s ease}
.svl li:before{content:"0" counter(sv);font:italic 300 22px 'Playfair Display',serif;color:var(--clay);display:block;margin-bottom:26px}
.svl li:hover{padding-left:30px;background:color-mix(in srgb,var(--card) 50%,var(--bg))}
.svl li:first-child{grid-column:span 2;background:var(--ink);color:var(--bg)}.svl li:first-child p{color:inherit;opacity:.8}.svl li:first-child:before{color:var(--sage)}
.fc{text-align:center}.fc h2{font-size:clamp(38px,5.4vw,72px)}.fc .note{max-width:620px;margin:16px auto 0}
.prices{display:flex;justify-content:center;margin:44px 0 10px}
.prices div{padding:0 clamp(22px,7vw,90px)}.prices div+div{border-left:1px solid var(--ink)}
.prices span{display:block;font:300 clamp(64px,11vw,150px)/1 'Playfair Display',serif;letter-spacing:-.03em}
.prices small{display:block;margin-top:10px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.ins2{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;padding:0;margin:14px 0 18px;font:300 clamp(22px,3vw,34px) 'Playfair Display',serif}
.cta{background:var(--sage);color:#10201f;border:0}.cta .label{color:#10201f}.cta em{color:#10201f}
.cta .lead{font-size:20px;max-width:520px;margin:0 0 30px}.cta .big{margin-bottom:22px}
.cta .btn{background:#10201f;color:#fff}.cta .btn.o{background:none;color:#10201f;border:1px solid #10201f}
.st4{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,40px)}
.st4 li{border-top:1px solid #10201f;padding-top:16px}.st4 b{font:italic 300 54px/1 'Playfair Display',serif;display:block;margin-bottom:14px}
.st4 strong{display:block;font:400 22px/1.15 'Playfair Display',serif;margin-bottom:8px}.st4 span{font-size:15px}
.ex{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:56px}
.faqw{max-width:820px}.faqw h2{font-size:clamp(34px,4.6vw,56px);margin-bottom:28px}
#contact{background:var(--ink);color:var(--bg);border:0}#contact .label,#contact em{color:var(--sage)}#contact a{color:inherit}
#contact .btn{background:var(--bg);color:var(--ink)}#contact .btn.o{background:none;color:var(--bg);border:1px solid var(--bg)}
#contact .addr,#contact .note,#contact address{color:inherit!important}#contact .note{opacity:.8}
@media(min-width:981px){#provider .ph{margin-top:-64px}}
@media(max-width:900px){.svl{grid-template-columns:1fr 1fr}.st4{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ab,.tel{grid-template-columns:1fr}.arch{justify-self:start;max-width:340px}.arch.dk{margin-top:0}.svl,.st4{grid-template-columns:1fr}.svl li:first-child{grid-column:auto}.prices div{padding:0 18px}}
.arch.soft{background:linear-gradient(180deg,color-mix(in srgb,var(--sage) 38%,var(--card)) 0%,var(--card) 62%);padding:44px 40px 48px}
.arch.soft:before{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--clay) 55%,transparent);border-radius:999px 999px 14px 14px}
.arch.soft .star{position:absolute;top:24%;left:50%;width:30px;height:30px;transform:translateX(-50%);fill:var(--clay)}
.arch.soft b{margin-top:6px}
.btn,.btn:hover{border-radius:999px}
.btn{border:1px solid var(--ink);min-height:52px;padding:0 32px;min-width:200px;justify-content:center;text-align:center;line-height:1.2;box-sizing:border-box}
.btn:hover{border-color:var(--clay)}
.btn.o{background:transparent}.btn.o:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.hero .cta .btn{flex:1 1 200px;max-width:250px}
.cta .btn{border-color:#10201f}.cta .btn.o:hover{background:#10201f;color:#fff}
#contact .btn,.arch.dk .btn{border-color:var(--bg)}#contact .btn.o:hover{background:var(--bg);color:var(--ink)}
.bar a{border-radius:999px;min-height:52px}
@media(max-width:760px){.hero .cta .btn{max-width:none}.btn{min-width:0}}
.cta{background:var(--bg);color:var(--ink);border-top:1px solid var(--line)}
.cta .label,.cta em{color:var(--clay)}
.cta .btn{background:var(--ink);color:var(--bg);border-color:var(--ink)}.cta .btn:hover{background:var(--clay);border-color:var(--clay)}
.cta .btn.o{background:transparent;color:var(--ink)}.cta .btn.o:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.st4 li{border-top-color:var(--ink)}
.band{--t:color-mix(in srgb,var(--card) 42%,var(--bg));background:linear-gradient(to bottom,var(--bg) 0,var(--t) 120px,var(--t) calc(100% - 120px),var(--bg) 100%);border-top:0}
#provider{--t:color-mix(in srgb,var(--card) 65%,var(--bg));background:linear-gradient(to bottom,var(--bg) 0,var(--t) 120px,var(--t) calc(100% - 100px),var(--bg) 100%);border-top:0}
.stmt,#contact{border-radius:clamp(28px,6vw,84px) clamp(28px,6vw,84px) 0 0}
.js .rv{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1),background .3s ease}
.js .svl li.rv{transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1),background .3s ease}
.sm{display:grid;grid-template-columns:8fr 4fr;gap:clamp(24px,4vw,60px);align-items:center;position:relative;z-index:1}
.note-art{width:100%;max-width:340px;justify-self:end;overflow:visible}
.note-art .wl{stroke:var(--bg);stroke-width:2.2;stroke-dasharray:100;stroke-dashoffset:100;animation:wl 6s linear 1 both;opacity:.9}
.note-art .pen{animation:pen 6s linear 1 both}
@keyframes pen{0%{transform:translate(70px,100px);opacity:1}16%{transform:translate(235px,100px)}18%{transform:translate(70px,130px)}34%{transform:translate(220px,130px)}36%{transform:translate(70px,160px)}52%{transform:translate(245px,160px)}54%{transform:translate(70px,190px)}68%{transform:translate(190px,190px)}80%{transform:translate(262px,222px);opacity:1}94%{transform:translate(262px,222px);opacity:1}98%{transform:translate(262px,222px);opacity:0}100%{transform:translate(70px,100px);opacity:0}}
@media(prefers-reduced-motion:reduce){.note-art .pen{display:none}.note-art .wl{animation:none;stroke-dashoffset:0}}
@media(max-width:760px){.sm{grid-template-columns:1fr}.note-art{max-width:260px;justify-self:start}}
.hero{padding-top:clamp(56px,9vw,140px)}.hero h1{font-size:clamp(58px,14vw,212px);line-height:.9;letter-spacing:-.035em;grid-column:1/13;animation:rise 1.3s cubic-bezier(.2,.7,.2,1) both}
.hero h1 span{padding-left:clamp(0px,16vw,260px);animation:rise 1.3s .25s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(28px)}}
.blob{opacity:.45}
.stmt p{font-size:clamp(42px,9vw,140px);line-height:.98;max-width:12em}
#services .big{font-size:clamp(46px,8vw,120px)}.svl h3{font-size:clamp(28px,3.4vw,44px)}
.prov{grid-template-columns:6fr 6fr}.ph{max-width:520px}
@media(min-width:981px){.prov h2{font-size:clamp(72px,10vw,150px);margin-left:-9vw;position:relative;z-index:3;line-height:.9}.ph{margin-left:-2vw}}
.ph.rv img{transform:scale(1.14);transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}.ph.in img{transform:none}
@media(min-width:981px){.tel{grid-template-columns:5fr 6fr}.tel .arch{order:-1;justify-self:start;margin-left:-3vw}}
.arch.dk{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"),linear-gradient(155deg,#e9c98a55 0,transparent 45%),linear-gradient(90deg,transparent 49.5%,#ffffff18 49.5% 50.5%,transparent 50.5%),var(--ink)}
.js .st4 li.rv{transform:translateX(-26px)}.js .st4 li.rv.in{transform:none}
.cta .big{font-size:clamp(68px,15vw,230px);line-height:.88;max-width:none;letter-spacing:-.035em}
@media(min-width:981px){.loc{grid-template-columns:4fr 8fr}.loc>div:first-child{position:relative;z-index:2;margin-right:-90px;background:var(--bg);padding:40px;box-shadow:0 30px 60px -30px #0f1b2d55}.mapf{margin-right:calc(-1*clamp(20px,5vw,56px))}}
#contact h2{font-size:clamp(48px,10vw,150px);line-height:.92}
@media(prefers-reduced-motion:reduce){#top:after,.hero h1,.hero h1 span,.arch .rings,.stmt:after,.note-art{animation:none}.ph.rv img{transform:none;transition:none}}
body{letter-spacing:.012em}
h1,h2,h3,.prices span,.arch b,.stmt p,.ins2,summary,.glance dd,.logo,.st4 b,.st4 strong,.svl li:before{font-size-adjust:none;font-weight:300}
h1,h2{letter-spacing:-.01em}
.btn,.bar a{font-weight:400;letter-spacing:.05em;text-transform:uppercase;font-size:13px}
.label,.glance dt{font-weight:400}
summary{font-weight:400}
body{letter-spacing:0;font-weight:350}
h1,h2,h3,.prices span,.arch b,.stmt p,.ins2,summary,.glance dd,.logo,.st4 b,.st4 strong,.svl li:before{font-weight:400;font-size-adjust:none;font-optical-sizing:auto}
h1,h2{letter-spacing:-.025em}
.btn,.bar a{font-weight:500;letter-spacing:.08em;font-size:12px}
.stmt:after{display:none}
.arch,.arch.dk{border-radius:2px;aspect-ratio:4/5;max-width:420px;align-items:center;text-align:center;justify-content:center;padding:64px 44px;margin-top:0}
.arch.soft{background:color-mix(in srgb,var(--card) 75%,var(--bg))}
.arch.dk{background:linear-gradient(165deg,#2b2024,#14100f)}
.arch:before,.arch.soft:before{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--sage) 85%,transparent);border-radius:0;pointer-events:none}
.arch:after{content:"";position:absolute;inset:22px;border:1px solid color-mix(in srgb,var(--sage) 35%,transparent);pointer-events:none}
.arch .k{display:block;letter-spacing:.28em;font-size:11px}
.arch .k:before{content:"";display:block;width:34px;height:1px;background:var(--sage);margin:0 auto 20px}
.arch.soft b{font-size:clamp(84px,9vw,132px);margin:14px 0 10px}
.arch.dk .btn{align-self:center}
@media(max-width:760px){.arch,.arch.dk{max-width:340px}}
@media(max-width:760px){.hero h1{font-size:clamp(50px,15vw,90px)}}
@media(max-width:760px){.hero h1,.hero p,.hero .cta{grid-column:1/13}.split,.split.r{grid-template-columns:1fr;gap:26px}
.svc article{grid-column:1/7!important;margin-top:0!important}.tag,.blob{display:none}nav div{gap:12px}}
@keyframes wl{0%{stroke-dashoffset:100}16%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
#top{position:relative;isolation:isolate}
#top:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;z-index:-1;background:radial-gradient(55% 70% at 88% 0,color-mix(in srgb,var(--sage) 24%,transparent),transparent 66%)}
.hero .ins-line{grid-column:6/13;margin:22px 0 0;font-size:15px;color:var(--mute)}.ins-line a{color:var(--clay)}
.cta{background:color-mix(in srgb,var(--card) 55%,var(--bg))}
#contact{background:color-mix(in srgb,var(--card) 55%,var(--bg));color:var(--ink)}
#contact .label,#contact em{color:var(--clay)}
#contact .btn{background:var(--ink);color:var(--bg);border-color:var(--ink)}#contact .btn:hover{background:var(--clay);border-color:var(--clay)}
#contact .btn.o{background:transparent;color:var(--ink)}#contact .btn.o:hover{background:var(--ink);color:var(--bg)}
.stmt,#contact,.cta{border-radius:0}
.btn,.btn:hover,.bar a{border-radius:2px}
.ph img{border-radius:2px;border:0}.ph:before,.ph:after{border-radius:2px}
.mapf iframe,.mapf:before{border-radius:2px}.chips span,.ins span{border-radius:2px}
nav #links{gap:20px}.navcta{border:1px solid var(--ink);padding:9px 16px;border-radius:2px;color:var(--ink)!important;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.navcta:hover{background:var(--ink);color:var(--bg)!important}
header.site{transition:transform .3s ease}header.site.hide{transform:translateY(-100%)}
summary,.st4 strong{font-family:'Manrope',sans-serif;font-size:18px;font-weight:500;letter-spacing:0;font-size-adjust:none}
body{font-weight:400}.note{font-size:15px}
.label,.glance dt,.arch .k,.ph3,.prov h3,.cred h3{font-size:13px}.btn,.bar a{font-size:13px}
@media(max-width:980px){.navcta{border:0;padding:14px 0;text-transform:none;font-size:18px;letter-spacing:0;border-bottom:1px solid var(--line)}}
@media(max-width:760px){.hero .ins-line{grid-column:1/13}}
.hero{padding-top:clamp(36px,5vw,80px);padding-bottom:64px}
.hero h1{font-size:clamp(52px,10.5vw,158px)}
.hero p{margin:30px 0 24px}
@media(max-width:760px){.hero h1{font-size:clamp(46px,14vw,84px)}}

.tag{display:none}
.mast{grid-column:1/13;display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:clamp(28px,5vw,64px);font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute);animation:unveil 1.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes unveil{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.hero{padding-top:clamp(28px,4vw,56px);padding-bottom:clamp(48px,6vw,84px)}
.hero h1{font-size:clamp(58px,12.5vw,196px);line-height:.86;letter-spacing:-.03em}
.hero h1 span{padding-left:clamp(0px,19vw,310px)}
.hero p{grid-column:1/8;margin:34px 0 26px}.hero .cta{grid-column:1/9}.hero .ins-line{grid-column:1/9}
#top:after{content:"";position:absolute;right:calc(50% - 50vw);top:118px;width:min(30vw,390px);height:min(660px,74%);z-index:-1;pointer-events:none;background:linear-gradient(172deg,color-mix(in srgb,var(--sage) 50%,var(--bg)),color-mix(in srgb,var(--card) 85%,var(--bg)) 70%);outline:1px solid color-mix(in srgb,var(--sage) 75%,transparent);outline-offset:-14px}
@media(min-width:1200px){.logo{font-family:'Playfair Display',serif;font-style:normal;font-size:15px;letter-spacing:.34em;text-transform:uppercase}nav #links a:not(.navcta){text-transform:uppercase;letter-spacing:.13em;font-size:12px}}
@media(max-width:760px){#top:after{width:34vw;height:46%;top:150px}.hero p,.hero .cta,.hero .ins-line{grid-column:1/13}.mast{letter-spacing:.16em;font-size:12px}.hero h1{font-size:clamp(46px,14.5vw,84px)}}
@media(prefers-reduced-motion:reduce){.mast{animation:none}}
html{overflow-x:clip}
.logo{white-space:nowrap}
@media(min-width:1200px){.logo{letter-spacing:.26em;font-size:14px}nav #links{gap:16px}nav #links a:not(.navcta){letter-spacing:.1em}}
@media(min-width:1200px) and (max-width:1499px){nav #links a:not(.navcta){text-transform:none;letter-spacing:0;font-size:14px}}

#top{--bg:#14100f;--ink:#f6efe9;--mute:#cdc3bb;--clay:#e9bccd;--line:#f6efe926}
#top:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"),linear-gradient(115deg,transparent 38%,#f6e7c81c 42%,transparent 50%,#f6e7c812 56%,transparent 66%),radial-gradient(60% 70% at 82% 4%,#c9a66b45,transparent 62%),radial-gradient(50% 60% at 6% 100%,#a8135a33,transparent 60%),linear-gradient(180deg,#14100f,#241a1d)}
#top:after{background:linear-gradient(172deg,#c9a66b3d,#a8135a22 70%,transparent);outline:1px solid #c9a66b88;outline-offset:-14px}
#top{color:var(--ink)}
.hero .cta{background:none;border:0;padding:0;color:inherit}
.hero .btn.o{color:#f6efe9;border-color:#f6efe9aa;background:transparent}.hero .btn.o:hover{background:#f6efe9;color:#14100f;border-color:#f6efe9}
#top:after{display:none}

:root{color-scheme:light}
#top:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E"),linear-gradient(115deg,transparent 36%,#ffe9c026 42%,transparent 52%,#ffe9c01a 58%,transparent 68%),radial-gradient(65% 75% at 84% 2%,#e6bd7f66,transparent 64%),radial-gradient(50% 60% at 4% 100%,#c2437a40,transparent 60%),linear-gradient(180deg,#2d1c24,#452633)}
.stmt{background:linear-gradient(180deg,color-mix(in srgb,var(--sage) 26%,var(--bg)),color-mix(in srgb,var(--card) 80%,var(--bg)));color:var(--ink)}
.stmt em{color:var(--clay)}.note-art .wl{stroke:var(--ink)}.note-art .pen path{fill:var(--clay)}
#about{background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--card) 30%,var(--bg)) 55%,var(--bg))}
#faq,#location{background:linear-gradient(180deg,var(--bg),color-mix(in srgb,var(--sage) 14%,var(--bg)) 50%,var(--bg))}
:root{--mute:#4a4247}
@media(max-width:760px){
body{font-size:18px;line-height:1.65;font-weight:450}
h1,h2,.stmt p,.prices span,.arch b{font-weight:500;font-optical-sizing:none;font-variation-settings:normal}
h2{line-height:1.05}
h3,.svl h3,.prov h3{font-family:'Manrope',sans-serif;font-weight:600;font-size-adjust:none;letter-spacing:-.005em}
.svl h3{font-size:23px;line-height:1.2}
.prov h3,.cred h3{font-size:14px;letter-spacing:.14em}
.st4 b{font-weight:500;font-optical-sizing:none;font-variation-settings:normal}
.label,.glance dt,.arch .k,.ph3,.prices small,.mast{font-size:14px;letter-spacing:.14em;font-weight:600}
.mast{font-size:13px;letter-spacing:.1em}
.glance dd,.ins2 li{font-family:'Manrope',sans-serif;font-weight:500;font-size:19px;font-size-adjust:none;letter-spacing:0}
.ins2 li{font-size:21px}
.note,.hero .ins-line,.svl p,.st4 span,.chips span,details p,.role{font-size:16.5px;line-height:1.6}
.btn,.bar a{font-size:14px;font-weight:600;letter-spacing:.06em}
.arch.soft b{font-size:88px}
summary{font-size:19px;line-height:1.35;font-weight:600}
}

.mono{position:relative;width:100%;max-width:250px;aspect-ratio:1;justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--clay) 45%,transparent)}
.mono:before{content:"";position:absolute;inset:9px;border:1px solid var(--sage)}
.mono span{font:italic 400 clamp(96px,11vw,150px)/1 'Playfair Display',serif;color:var(--clay);font-optical-sizing:auto}
.mono small{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-top:4px;font-weight:600}
@media(max-width:760px){.mono{max-width:170px;justify-self:start}.mono span{font-size:96px}}

.svl li:nth-child(6){grid-column:span 2}
.svl li.svcta{background:color-mix(in srgb,var(--sage) 28%,var(--bg));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px}
.svl li.svcta:before{content:none}.svl li.svcta:hover{padding-left:30px}
.svcta p{margin:0 0 16px}.svcta .btn{min-width:0;padding:0 24px}
@media(max-width:900px){.svl li:nth-child(6){grid-column:auto}}

:root{--hero-a:color-mix(in srgb,var(--ink) 88%,var(--clay));--hero-b:color-mix(in srgb,var(--ink) 68%,var(--clay))}
#top:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.10'/%3E%3C/svg%3E"),linear-gradient(115deg,transparent 36%,#ffe9c026 42%,transparent 52%,#ffe9c01a 58%,transparent 66%),radial-gradient(65% 75% at 84% 2%,color-mix(in srgb,var(--sage) 45%,transparent),transparent 64%),radial-gradient(50% 60% at 4% 100%,color-mix(in srgb,var(--clay) 40%,transparent),transparent 60%),linear-gradient(180deg,var(--hero-a),var(--hero-b))}
.pal{position:fixed;right:14px;bottom:14px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.pal-t{background:var(--ink);color:var(--bg);border:0;border-radius:2px;min-height:44px;padding:0 18px;font:600 13px 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 24px #0003}
.pal-p{display:none;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:14px;box-shadow:0 12px 32px #0003;max-width:min(330px,88vw)}
.pal.open .pal-p{display:block}
.pal-n{font-size:14px;font-weight:600;margin:0 0 10px;line-height:1.3}
.pal-g{display:flex;flex-wrap:wrap;gap:8px}
.pal-g button{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);cursor:pointer;padding:0;font:700 12px 'Manrope',sans-serif;color:#111;text-shadow:0 0 3px #fff}
.pal-g button[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:2px}
@media(max-width:980px){.pal{bottom:86px}}

h1,h2{letter-spacing:-.015em}
.hero h1{font-size:clamp(50px,9.6vw,148px);line-height:.95;letter-spacing:-.02em}
.stmt p{font-size:clamp(38px,7.6vw,116px);line-height:1.04}
#contact h2{font-size:clamp(42px,8vw,120px);line-height:1}
.prices span{font-size:clamp(58px,10vw,136px)}
.svl li:before{font-size:22px}
@media(max-width:760px){.hero h1{font-size:clamp(42px,12.5vw,76px)}}

.logo img{height:50px;width:auto;display:block;mix-blend-mode:multiply}
.logo-glow{position:absolute;pointer-events:none;z-index:-1;width:min(46vw,600px);height:auto;right:calc(50% - 50vw + 3vw);top:96px;filter:invert(1) sepia(.5);mix-blend-mode:screen;opacity:.2}
.logo-glow.g2{width:min(54vw,700px);right:calc(50% - 50vw + 1vw);top:70px;filter:invert(1) sepia(.6) blur(28px);opacity:.55}
@media(max-width:760px){.logo img{height:42px}.logo-glow{width:78vw;right:-8vw;top:210px;opacity:.14}.logo-glow.g2{width:96vw;right:-14vw;top:190px;opacity:.4}}
.logo img{height:56px}@media(max-width:760px){.logo img{height:46px}}

.mono-logo{width:100%;max-width:340px;height:auto;justify-self:end;mix-blend-mode:multiply;opacity:.5;filter:saturate(.7) blur(.4px);-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%)}
@media(max-width:760px){.mono-logo{max-width:220px;justify-self:start}}

.mono-logo{mix-blend-mode:normal;filter:none;-webkit-mask-image:none;mask-image:none;opacity:.6}
/* sleek transparent header */
header.site{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(20,16,15,.55),transparent);border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,transform .3s ease}
header.site nav{padding:12px 0}
header.site .logo img{height:42px;filter:brightness(0) invert(1);mix-blend-mode:normal}
header.site nav #links a{color:#f6efe9}
header.site .navcta{border:1px solid #f6efe9aa;color:#f6efe9!important;padding:9px 18px}
header.site .navcta:hover{background:#f6efe9;color:#14100f!important}
header.site .menu{border-color:#f6efe9aa;color:#f6efe9}
header.site.scrolled{background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
header.site.scrolled .logo img{filter:none;mix-blend-mode:normal}
header.site.scrolled nav #links a{color:var(--mute)}
header.site.scrolled .navcta{border-color:var(--ink);color:var(--ink)!important}
header.site.scrolled .navcta:hover{background:var(--ink);color:var(--bg)!important}
header.site.scrolled .menu{border-color:var(--ink);color:var(--ink)}
.hero{padding-top:clamp(100px,9vw,140px)}
@media(min-width:1240px){header.site nav #links{gap:22px}header.site nav #links a:not(.navcta){font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}header.site .navcta{font-size:12px;letter-spacing:.14em}}
@media(max-width:980px){header.site nav #links{background:var(--hero-a);border-bottom:0}header.site nav #links a,header.site.scrolled nav #links a,header.site .navcta,header.site.scrolled .navcta{color:#f6efe9!important;border:0;border-bottom:1px solid #f6efe926;padding:14px 0;text-transform:none;letter-spacing:0;font-size:18px}.hero{padding-top:92px}header.site .logo img{height:38px}}

header.site .logo img{height:46px;width:auto}
@media(max-width:980px){header.site .logo img{height:40px}}
/* two-font system: Playfair Display = display only (h1, h2, numerals); Manrope = everything else */
body{font-weight:400;font-family:'Manrope',sans-serif}
h3,.svl h3,.svcta h3,.st4 strong,.glance dd,.ins2 li,summary,.prov h3,.cred h3{font-family:'Manrope',sans-serif;font-weight:600;font-size-adjust:none}
h3,.svl h3,.svcta h3,.st4 strong,.glance dd,.ins2 li,summary{letter-spacing:-.005em;font-style:normal}
.svl h3,.svcta h3{font-size:clamp(20px,2vw,25px);line-height:1.25;margin-bottom:10px}
.glance dd{font-size:18px;font-weight:500;line-height:1.4}
.ins2 li{font-size:clamp(18px,2vw,23px);font-weight:500}
.st4 strong{font-size:19px;font-weight:600}
summary{font-size:19px}
.prov h3,.cred h3,.label,.glance dt,.ph3,.arch .k,.mast{font-family:'Manrope',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:13px}
.btn,.bar a,.navcta,.menu{font-family:'Manrope',sans-serif;font-weight:600}
p,li,dd{font-weight:400}
p{line-height:1.7}.hero p{line-height:1.6}
@media(max-width:760px){body{font-weight:400;font-size:17.5px}.svl h3{font-size:22px}}
.logo-glow{display:none}

html{scroll-padding-top:88px}section[id],h3[id]{scroll-margin-top:88px}
.mapph{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;min-height:clamp(300px,42vw,460px);padding:clamp(24px,4vw,48px);border:5px solid var(--bg);border-radius:2px;background-color:color-mix(in srgb,var(--card) 60%,var(--bg));background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;box-shadow:0 22px 44px -22px #0f1b2d66}
.mapph strong{font-size:20px}.mapph p{margin:0;max-width:34ch;font-size:15px;color:var(--mute)}
.sub-main{padding:clamp(110px,14vw,160px) 0 90px}.doc{max-width:760px}
.doc h1{font-size:clamp(40px,6vw,72px);margin-bottom:26px;line-height:1.02}
.doc h2{font-family:'Manrope',sans-serif;font-size:20px;font-weight:600;margin:36px 0 8px;letter-spacing:0}
.doc p,.doc li{color:var(--mute);max-width:64ch}.doc a{color:var(--clay)}
.sub header.site nav #links{display:flex;position:static;background:none;flex-direction:row;padding:0;border:0;gap:18px}
.sub header.site nav #links a{color:var(--mute)!important;border:0;padding:0;font-size:14px;text-transform:none;letter-spacing:0}
.sub header.site .navcta{display:none}.sub .bar{display:none}
