@font-face{font-family:Figtree;src:url("figtree-variable.ttf") format("truetype");font-style:normal;font-weight:300 900;font-display:swap}
:root{--rail:#e6dceb;--paper:#faf7fb;--ink:#382d42;--muted:#67576f;--line:#c9bbd1;--peach:#f1d4c2;--accent:#785384;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}
html{scrollbar-color:var(--muted) var(--rail);scroll-padding-top:24px}
body{margin:0;background:var(--rail);color:var(--ink);font-family:Figtree,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{color:var(--ink);background:var(--peach)}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px;touch-action:manipulation}
a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:3px}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
img{display:block;max-width:100%;height:auto}
p,h1,h2,figure{margin:0}
p{max-width:70ch}
h1,h2{text-wrap:balance;font-weight:450;letter-spacing:-.035em;line-height:1.05}
h1{font-size:clamp(3.65rem,5.65vw,5.2rem)}
h1 span{color:var(--accent)}
h2{font-size:25px;letter-spacing:-.025em;line-height:1.2;font-weight:500}
.skip-link{position:absolute;left:20px;top:10px;z-index:10;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100svh}
.rail{display:flex;flex-direction:column;align-items:stretch;position:sticky;top:0;align-self:start;min-height:100svh;padding:43px 27px 26px}
.brand{display:flex;gap:11px;align-items:flex-start;text-decoration:none;line-height:.92;font-weight:550;font-size:35px;letter-spacing:-.04em}
.brand-mark{width:42px;height:44px;stroke-width:1.2;margin-top:3px}
.brand-subtitle{display:block;font-size:12px;font-weight:450;letter-spacing:0;line-height:1.4;margin-top:15px}
.rail-nav{display:flex;flex-direction:column;gap:7px;margin-top:68px}
.rail-nav>a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:53px;padding:10px 14px;text-decoration:none;font-size:16px;line-height:1.3;font-weight:450;border-radius:7px;transition:background-color .18s}
.rail-nav>a svg{width:17px;height:17px;color:var(--accent)}
.rail-nav>a:not([aria-current]) svg{opacity:0}
.rail-nav>a:hover{background:#dcd0e2}
.rail-nav>a[aria-current=page]{background:var(--paper);font-weight:550}
.rail-nav>a:hover svg{opacity:1}
.mobile-menu{display:none}
.rail-bottom{margin-top:auto;padding-top:50px}
.rail-thought{font-size:18px;line-height:1.4;letter-spacing:-.015em;color:var(--muted)}
.rail-contact{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;font-size:12px;text-decoration:none;margin-top:17px}
.rail-contact svg{width:17px;height:17px}
.rail-contact:hover{text-decoration:underline}
.rail-footer{padding-top:21px;margin-top:27px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}
.rail-footer strong{display:block;color:var(--ink);font-weight:550}.rail-footer p>span{display:block}
.rail-footer a{display:flex;align-items:center;gap:8px;min-height:42px;margin-top:10px;text-decoration:underline}
.rail-footer a svg{width:14px;height:14px}
.page{min-width:0;background:var(--paper);margin:24px 24px 24px 0;border-radius:16px;align-self:stretch}
.page-content{padding:58px 57px 26px;min-height:calc(100svh - 48px);display:flex;flex-direction:column}
.page-note{font-size:12px;line-height:1.5;color:var(--muted);margin-top:auto;padding-top:28px}
.welcome-composition{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr);gap:36px;align-items:start;margin-top:17px}
.welcome-copy h1{font-size:clamp(4.5rem,6.4vw,6rem);letter-spacing:-.04em;line-height:1.02}
.welcome-intro{font-size:25px;line-height:1.45;letter-spacing:-.02em;margin-top:29px}
.welcome-description{font-size:16px;color:var(--muted);line-height:1.7;max-width:36ch;margin-top:22px}
.welcome-window{margin-top:54px;max-width:290px;justify-self:end;position:relative}
.welcome-window:before{content:"";position:absolute;width:94px;height:94px;background:var(--peach);border-radius:50%;right:-18px;top:-28px}
.welcome-window img{width:100%;height:340px;object-fit:cover;object-position:70% center;border-radius:130px 130px 5px 5px;position:relative}
.welcome-window figcaption{font-size:13px;line-height:1.5;color:var(--muted);padding-top:14px}
.welcome-explore{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,1fr);gap:36px;align-items:start;margin-top:auto;padding-top:59px}
.welcome-explore>p{font-size:19px;line-height:1.45;letter-spacing:-.01em;padding-top:12px}
.explore-links{border-top:1px solid var(--line)}
.explore-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:59px;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px}
.explore-links svg{width:21px;height:21px;transition:transform .2s var(--ease)}
.explore-links a:hover svg{transform:translateX(4px)}
.explore-links a:hover span{text-decoration:underline;text-underline-offset:.25em}
.article-heading{max-width:830px}
.article-heading>.intro{max-width:48ch;margin-top:29px}
.intro{font-size:22px;line-height:1.5;letter-spacing:-.015em}
.approach-body{display:grid;grid-template-columns:1fr 1fr;gap:47px;margin-top:47px}
.article-copy{font-size:16px;color:var(--muted)}
.article-copy p+p{margin-top:19px}
.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:14px;font-weight:500;text-decoration:underline;color:var(--ink)}
.text-link svg{width:19px;height:19px}
.article-copy .text-link{margin-top:18px}
.faq-list>h2{margin-bottom:19px}
.faq{border-top:1px solid var(--line)}
.faq:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:18px;cursor:pointer;list-style:none;font-size:16px;font-weight:500;line-height:1.4}
summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary svg{width:19px;height:19px;transition:transform .18s var(--ease)}
.faq[open] summary svg{transform:rotate(45deg)}
.faq>p{padding-bottom:22px;color:var(--muted);font-size:15px;line-height:1.65}
.page-next{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;border-top:1px solid var(--line);font-size:14px;text-decoration:none;margin-top:auto;padding-top:10px}
.page-next svg{width:21px;height:21px}
.page-next:hover span{text-decoration:underline}
.approach-page,.contact-page{padding-bottom:20px}
.approach-page .page-next,.contact-page .page-next{margin-top:46px}
.studio-heading{display:flex;gap:30px;align-items:flex-end;justify-content:space-between}
.studio-heading h1{font-size:clamp(3.4rem,5vw,4.6rem)}
.studio-heading .text-link{margin-bottom:4px;white-space:nowrap}
.room-picture{margin-top:31px}
.room-picture img{width:100%;max-height:355px;aspect-ratio:2.3;object-fit:cover;object-position:center 61%;border-radius:8px}
.room-picture figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:11px}
.studio-description{display:grid;grid-template-columns:.85fr 1.4fr;gap:48px;margin-top:28px}
.studio-description>div{font-size:16px;color:var(--muted)}
.studio-note{font-size:13px;margin-top:17px}
.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:44px}
.contact-heading h1{font-size:clamp(3.65rem,5.65vw,5.4rem)}
.contact-mark{width:150px;height:165px;stroke-width:1;color:#9b6f84;flex-shrink:0}
.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:42px;align-items:start}
.contact-content>div:first-child>p:not(.intro){font-size:16px;color:var(--muted);margin-top:21px}
.contact-action{background:var(--peach);padding:30px;border-radius:12px}
.contact-action h2{font-size:24px}
.contact-action p{font-size:16px;color:#655048;margin-top:17px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:13px 21px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:999px;font-size:14px;font-weight:500;line-height:1.35;text-decoration:none;transition:background-color .18s}
.button svg{width:20px;height:20px}
.button:hover{background:var(--accent);border-color:var(--accent)}
.contact-action .button{margin-top:25px}
.contact-action>span{display:block;color:#655048;font-size:12px;line-height:1.5;margin-top:16px}
@keyframes page-arrive{from{transform:translateY(5px);filter:blur(.7px);opacity:.86}to{transform:translateY(0);filter:blur(0);opacity:1}}
@media(prefers-reduced-motion:no-preference){.page-content{animation:page-arrive .48s var(--ease) both}}
@media(min-width:1600px){.page-content{padding-inline:70px}.welcome-composition{margin-top:39px}.welcome-window{max-width:330px}.welcome-window img{height:390px}.welcome-explore{padding-top:85px}.room-picture img{max-height:430px}}
@media(max-width:1200px){.site-shell{grid-template-columns:232px minmax(0,1fr)}.rail{padding-inline:21px}.page-content{padding:45px 40px 24px}.welcome-composition{gap:25px;grid-template-columns:minmax(0,1.2fr) minmax(185px,.8fr)}.welcome-copy h1{font-size:clamp(3.8rem,6.5vw,5.2rem)}.welcome-intro{font-size:22px}.welcome-window{max-width:230px;margin-top:48px}.welcome-window img{height:295px}.welcome-window:before{right:-12px;width:80px;height:80px}.welcome-explore{gap:25px;grid-template-columns:1fr 1.1fr;padding-top:45px}.welcome-explore>p{font-size:17px}.approach-body{gap:30px}.studio-heading{align-items:flex-start;flex-direction:column;gap:14px}.room-picture{margin-top:20px}.studio-heading h1{font-size:3.6rem}.contact-mark{width:108px}.contact-content{gap:30px}.contact-action{padding:24px}.contact-action .button{font-size:13px;padding-inline:18px;gap:12px}.studio-description{gap:30px}}
@media(max-width:960px){.site-shell{grid-template-columns:1fr}.rail{position:relative;min-height:0;padding:23px 28px 20px;display:grid;grid-template-columns:auto 1fr;gap:18px 36px;align-items:center}.brand{font-size:25px;line-height:1;align-items:center;gap:11px}.brand>span>br{display:none}.brand-mark{width:37px;height:39px;margin:0}.brand-subtitle{font-size:12px;margin-top:6px}.rail-nav{display:none}.mobile-menu{display:block;position:relative;justify-self:end;min-width:190px;z-index:5}.mobile-menu summary{display:flex;justify-content:space-between;align-items:center;gap:26px;cursor:pointer;list-style:none;min-height:46px;padding:11px 15px;background:var(--paper);border-radius:7px;font-size:14px}.mobile-menu summary svg{width:17px;height:17px}.mobile-menu[open] summary svg{transform:rotate(180deg)}.mobile-menu nav{position:absolute;top:54px;left:0;right:0;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.mobile-menu nav a{display:flex;align-items:center;min-height:46px;padding:10px 12px;font-size:14px;text-decoration:none;border-radius:4px}.mobile-menu nav a[aria-current=page]{background:var(--rail);font-weight:550}.mobile-menu nav a:hover{text-decoration:underline}.rail-bottom{grid-column:1/-1;margin:0;padding:0}.rail-thought,.rail-contact{display:none}.rail-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;margin:0;padding:0;font-size:12px}.rail-footer p strong{font-size:12px}.rail-footer p .rail-disclaimer{display:none}.rail-footer a{margin:0;min-height:35px;white-space:nowrap}.page{margin:0 20px 20px;border-radius:14px}.page-content{min-height:calc(100svh - 170px);padding:44px 40px 24px}.welcome-composition{margin-top:0;grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr)}.welcome-copy h1{font-size:5.3rem}.welcome-window{max-width:250px;margin-top:33px}.welcome-window img{height:300px}.welcome-description{max-width:35ch}.welcome-explore{margin-top:20px;padding-top:24px}.welcome-explore>p{font-size:18px}.page-note{padding-top:27px}.article-heading h1{font-size:4.3rem}.studio-heading{flex-direction:row;align-items:flex-end}.studio-heading h1{font-size:3.6rem}.studio-description{grid-template-columns:.8fr 1.2fr}.contact-heading h1{font-size:4.5rem}.contact-mark{width:130px}.contact-content{gap:30px}}
@media(max-width:680px){body{font-size:16px}.rail{padding:22px 20px 15px;grid-template-columns:1fr auto;gap:18px 12px}.brand{font-size:22px;gap:7px}.brand-mark{width:30px;height:35px}.brand-subtitle{font-size:12px;margin-top:6px}.mobile-menu{min-width:0}.mobile-menu summary{gap:12px;padding:10px 12px;min-height:46px;font-size:13px}.mobile-menu summary svg{width:16px;height:16px}.mobile-menu nav{left:auto;right:0;min-width:210px}.rail-footer{gap:12px;align-items:flex-start}.rail-footer p strong{display:block;line-height:1.5;margin:0;font-size:12px}.rail-footer a{font-size:12px;min-height:38px;gap:6px}.rail-footer a svg{width:12px;height:12px}.page{margin:0 12px 12px;border-radius:12px}.page-content{padding:34px 24px 23px;min-height:calc(100svh - 170px)}.welcome-composition{grid-template-columns:minmax(0,1fr) 112px;gap:0 14px;align-items:start}.welcome-copy{display:contents}.welcome-copy h1{grid-column:1/-1;font-size:clamp(3.9rem,15vw,5rem);line-height:1.01}.welcome-intro{grid-column:1;font-size:20px;margin-top:27px;line-height:1.45}.welcome-intro br:first-child{display:none}.welcome-description{grid-column:1/-1;grid-row:3;margin-top:25px;font-size:15px;line-height:1.65;max-width:36ch}.welcome-window{grid-column:2;grid-row:2;max-width:none;width:112px;margin-top:29px}.welcome-window img{height:147px;border-radius:65px 65px 4px 4px}.welcome-window:before{width:49px;height:49px;top:-11px;right:-6px}.welcome-window figcaption{display:none}.welcome-explore{display:block;margin-top:0;padding-top:28px}.welcome-explore>p{font-size:16px;line-height:1.5;padding:0;margin-bottom:18px}.welcome-explore>p br{display:none}.explore-links a{min-height:55px;font-size:14px}.explore-links svg{width:19px;height:19px}.page-note{font-size:12px;padding-top:24px;max-width:34ch}.article-heading h1{font-size:clamp(2.7rem,10.8vw,4rem)}.article-heading>.intro{font-size:19px;margin-top:25px}.approach-body{grid-template-columns:1fr;gap:33px;margin-top:26px}.article-copy{font-size:15px}.article-copy p+p{margin-top:17px}.article-copy .text-link{margin-top:15px}.faq-list>h2{font-size:23px;margin-bottom:17px}.faq summary{font-size:16px;padding-block:19px}.faq>p{font-size:15px}.page-next{font-size:13px}.approach-page .page-next,.contact-page .page-next{margin-top:32px}.studio-heading{display:block}.studio-heading h1{font-size:clamp(2.7rem,10.8vw,4rem)}.studio-heading .text-link{margin-top:17px;margin-bottom:0}.room-picture{margin-top:18px}.room-picture img{aspect-ratio:.98;max-height:390px;object-position:63% center;border-radius:7px}.room-picture figcaption{font-size:12px;line-height:1.55;max-width:34ch}.studio-description{display:block;margin-top:25px}.studio-description>.intro{font-size:24px;line-height:1.35}.studio-description>div{font-size:15px;margin-top:21px}.studio-note{font-size:13px;margin-top:17px}.contact-heading{position:relative;gap:0}.contact-heading h1{font-size:clamp(2.85rem,11.4vw,4rem);position:relative;z-index:1}.contact-mark{display:none}.contact-content{display:block;margin-top:26px}.contact-content .intro{font-size:20px}.contact-content>div:first-child>p:not(.intro){font-size:15px;margin-top:18px}.contact-action{margin-top:29px;padding:25px 23px}.contact-action h2{font-size:23px}.contact-action p{font-size:15px;margin-top:15px}.contact-action .button{font-size:14px;gap:20px;padding-inline:20px;margin-top:22px}.contact-action>span{font-size:12px}}
@media(max-width:380px){.rail{padding-inline:17px}.brand{font-size:21px}.brand-mark{width:27px}.mobile-menu summary{font-size:12px;gap:8px;padding-inline:10px}.page-content{padding-inline:22px}.welcome-composition{grid-template-columns:minmax(0,1fr) 101px;gap:0 10px}.welcome-copy h1{font-size:3.75rem}.welcome-intro{font-size:19px}.welcome-window{width:101px}.welcome-window img{height:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
