:root{--plaster:#efeae0;--plaster-deep:#e6dfd2;--oat:#ddd4c2;--ink:#2d3126;--olive:#67704e;--olive-soft:#8b906f;--brass:#9c7a3c;--line:#2d312629;--font-display:"Marcellus", Georgia, serif;--font-accent:"Cormorant Garamond", Georgia, serif;--font-body:"Mulish", -apple-system, sans-serif;--max:1180px;--pad:clamp(20px, 5vw, 56px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{background:var(--plaster);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16.5px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.wrap{max-width:var(--max);padding:0 var(--pad);margin:0 auto}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.08}h1{letter-spacing:-.01em;font-size:clamp(2.6rem,6.4vw,5rem)}h2{font-size:clamp(1.9rem,3.6vw,2.9rem)}h3{font-size:clamp(1.25rem,2vw,1.55rem)}.italic-accent{font-family:var(--font-accent);color:var(--olive);font-style:italic;font-weight:500}.eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--olive);margin-bottom:18px;font-size:.72rem;display:block}.lede{color:#2d3126d1;max-width:56ch;font-size:clamp(1.05rem,1.6vw,1.2rem)}.intro{z-index:100;background:#fbf9f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.intro-play{animation:.8s 5.55s forwards intro-fade-out}@keyframes intro-fade-out{to{opacity:0;visibility:hidden}}.intro-inner{text-align:center;margin-top:-7vh;padding:0 24px}.intro-logo{width:min(520px,88vw);height:auto;margin:0 auto;display:block}.pen{stroke-dasharray:1;stroke-dashoffset:1px}.intro-play .pen-word{animation:2.3s cubic-bezier(.45,.05,.35,1) .3s forwards pen-write}@keyframes pen-write{to{stroke-dashoffset:0}}.intro-rule{background:var(--brass);width:0;height:1px;margin:22px auto 16px;display:block}.intro-play .intro-rule{animation:.8s cubic-bezier(.22,1,.36,1) 2.9s forwards rule-grow}@keyframes rule-grow{to{width:min(220px,44vw)}}.intro-sub{font-family:var(--font-accent);color:var(--olive);opacity:0;font-size:clamp(1.25rem,3.8vw,1.65rem);font-style:italic;display:block}.intro-play .intro-sub{animation:.9s 3.1s forwards sub-appear}@keyframes sub-appear{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur()}}.hero-full{align-items:center;min-height:min(92vh,940px);padding:0;display:flex;position:relative;overflow:hidden}.hero-media{background-image:linear-gradient(170deg, #ece6d9 0%, var(--oat) 100%);background-position:50%;background-size:cover;justify-content:flex-end;align-items:center;padding-right:5vw;display:flex;position:absolute;inset:0}.hero-slide{opacity:0;will-change:opacity, transform;background-position:50%;background-size:cover;animation:18s ease-in-out infinite hero-slide;position:absolute;inset:0}.hero-slide:first-child{animation-name:hero-slide-first}@keyframes hero-slide{0%{opacity:0;transform:scale(1.07)}7%{opacity:1}33%{opacity:1;transform:scale(1)}41%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1.07)}}@keyframes hero-slide-first{0%{opacity:1;transform:scale(1.07)}33%{opacity:1;transform:scale(1)}41%{opacity:0;transform:scale(1)}95%{opacity:0}to{opacity:1;transform:scale(1.07)}}.hero-scrim{background:linear-gradient(90deg, var(--plaster) 0%, var(--plaster) 26%, #efeae0f7 44%, #efeae0b8 60%, #efeae000 82%);position:absolute;inset:0}.hero-content{z-index:2;width:100%;max-width:none;padding-top:72px;padding-bottom:72px;position:relative}.hero-content>*{max-width:620px}.hero-content h1{font-size:clamp(2rem,4.4vw,3.4rem)}.hero-content h1 span{display:block}.hero-content .lede{color:#2d3126f2;max-width:44ch;margin:26px 0 34px}.hero-content .hero-meta{max-width:560px}@media (max-width:860px){.hero-full{align-items:flex-end;min-height:88vh}.hero-media{justify-content:center;padding-right:0}.hero-scrim{background:linear-gradient(0deg, var(--plaster) 0%, var(--plaster) 30%, #efeae0f5 48%, #efeae08c 70%, #efeae000 90%)}.hero-content{padding-bottom:48px}}@media (prefers-reduced-motion:reduce){.hero-slide{animation:none}.hero-slide:first-child{opacity:1}}.reveal{opacity:0}body.intro-done .reveal{animation:.85s cubic-bezier(.22,1,.36,1) forwards reveal-up;animation-delay:var(--d,0s)}@keyframes reveal-up{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.reveal-arch{opacity:0}body.intro-done .reveal-arch{animation:1s cubic-bezier(.22,1,.36,1) .35s forwards arch-settle}@keyframes arch-settle{0%{opacity:0;transform:translateY(34px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.intro{display:none}.reveal,.reveal-arch{opacity:1}}.nav{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#efeae0e0;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:20px;max-width:none;margin:0;padding:18px 24px;display:flex}.brand{align-items:center;margin-left:0;display:flex}.brand-logo{width:auto;height:46px;display:block}.nav-links{letter-spacing:.06em;white-space:nowrap;align-items:center;gap:22px;font-size:.85rem;display:flex}.nav-links a{padding:4px 0;position:relative}.nav-links a:after{content:"";background:var(--brass);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.nav-links a:hover:after{width:100%}.nav-links a.nav-cta{border:1px solid var(--ink);border-radius:999px;padding:9px 24px;transition:background .25s,color .25s}.nav-links a.nav-cta:hover{background:var(--ink);color:var(--plaster)}.nav-links a.nav-cta:after{display:none}.nav-toggle{font:inherit;cursor:pointer;color:var(--ink);letter-spacing:.12em;background:0 0;border:none;font-size:.86rem;display:none}@media (max-width:1020px){.nav-links{display:none}.nav-links.open{background:var(--plaster);border-bottom:1px solid var(--line);padding:20px var(--pad) 26px;flex-direction:column;align-items:flex-start;gap:18px;display:flex;position:absolute;top:100%;left:0;right:0}.nav-toggle{display:block}}.hero{padding:clamp(56px,9vw,110px) 0 clamp(40px,6vw,80px)}.hero-grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}.hero h1 span{display:block}.hero .lede{margin:26px 0 34px}.hero-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--olive);border-top:1px solid var(--line);flex-wrap:wrap;gap:26px;margin-top:42px;padding-top:22px;font-size:.78rem;display:flex}.arch{aspect-ratio:3/4;background-image:linear-gradient(160deg, var(--oat) 0%, #cfc4ab 55%, #b8ab8d 100%);border:1px solid var(--line);background-position:50%;background-size:cover;border-radius:50% 50% 0 0/34% 34% 0 0;position:relative;overflow:hidden}.arch:after{content:attr(data-label);letter-spacing:.2em;text-transform:uppercase;color:#2d31268c;text-align:center;padding:12px 16px;font-size:.68rem;position:absolute;inset:auto 0 0}.arch.has-photo:after{display:none}.arch-hero{max-width:420px;margin-left:auto}@media (max-width:860px){.arch-hero{max-width:340px;margin:0 auto}}.btn{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;font-size:.88rem;font-family:var(--font-body);border-radius:999px;padding:14px 30px;transition:background .25s,color .25s,transform .2s;display:inline-block}.btn:hover{transform:translateY(-1px)}.btn-solid{background:var(--ink);color:var(--plaster)}.btn-solid:hover{background:var(--olive);border-color:var(--olive)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--plaster)}.btn-row{flex-wrap:wrap;gap:14px;display:flex}.section{padding:clamp(56px,8vw,104px) 0}.section-tint{background:var(--plaster-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:640px;margin-bottom:clamp(32px,5vw,56px)}.svc-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}@media (max-width:960px){.svc-grid{grid-template-columns:1fr}}.svc{background:var(--plaster);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:16px;padding:34px 30px;transition:transform .25s,box-shadow .25s;display:flex}.svc:hover{transform:translateY(-4px);box-shadow:0 18px 40px #2d31261a}.svc-price{font-family:var(--font-accent);color:var(--brass);font-size:1.2rem;font-style:italic}.svc-duration{letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-size:.74rem}.svc ul{border-top:1px solid var(--line);margin-top:6px;padding-top:16px;list-style:none}.svc li{padding:5px 0 5px 22px;font-size:.95rem;position:relative}.svc li:before{content:"—";color:var(--brass);position:absolute;left:0}.folio-grid{grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,34px);display:grid}@media (max-width:960px){.folio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.folio-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}}.folio-card{display:block}.folio-card .arch{transition:transform .3s}.folio-card:hover .arch{transform:translateY(-5px)}.folio-caption{padding:16px 4px 0}.folio-caption h3{font-size:1.15rem}.folio-caption p{letter-spacing:.1em;text-transform:uppercase;color:var(--olive);margin-top:4px;font-size:.8rem}.post-list{gap:0;display:grid}.post-row{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr auto;align-items:baseline;gap:26px;padding:28px 0;transition:padding-left .25s;display:grid}.post-row:first-child{border-top:1px solid var(--line)}.post-row:hover{padding-left:10px}.post-row time,.post-cat{letter-spacing:.16em;text-transform:uppercase;color:var(--olive);font-size:.74rem}.post-row h3{margin-bottom:6px}.post-row p{color:#2d3126bf;max-width:60ch;font-size:.98rem}@media (max-width:720px){.post-row{grid-template-columns:1fr;gap:8px}}.article{max-width:680px;padding:clamp(48px, 7vw, 90px) var(--pad);margin:0 auto}.article header{margin-bottom:40px}.article h1{margin:14px 0 18px;font-size:clamp(2.1rem,4.6vw,3.4rem)}.article-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--olive);gap:18px;font-size:.76rem;display:flex}.article p{margin-bottom:1.4em;font-size:1.05rem}.article p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--olive);padding:4px 10px 0 0;font-size:3.4em;line-height:.85}.back-link{letter-spacing:.14em;text-transform:uppercase;color:var(--olive);font-size:.8rem}.back-link:hover{color:var(--brass)}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(36px,6vw,80px);display:grid}@media (max-width:860px){.about-grid{grid-template-columns:1fr}}.about-grid .arch{max-width:380px}.about-copy p{margin-bottom:1.3em}.contact-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,80px);display:grid}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}.field{margin-bottom:20px}.field label{letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin-bottom:8px;font-size:.74rem;display:block}.field input,.field textarea,.field select{background:var(--plaster);border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);border-radius:12px;padding:14px 16px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--olive-soft);outline-offset:0;border-color:var(--olive-soft)}.contact-aside p{margin-bottom:1.2em}.contact-line{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-size:.92rem}.contact-line strong{letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.bk-card{background:var(--plaster-deep);border:1px solid var(--line);border-radius:18px;max-width:760px;padding:clamp(24px,4vw,44px)}.bk-steps{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.bk-step{letter-spacing:.18em;text-transform:uppercase;color:#2d312666;border-bottom:2px solid #0000;flex:1;padding-bottom:6px;font-size:.7rem}.bk-step-on{color:var(--olive);border-color:var(--brass)}.bk-summary{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.bk-summary button{font:inherit;cursor:pointer;background:var(--plaster);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:7px 14px;font-size:.82rem}.bk-summary button:hover{border-color:var(--brass);color:var(--brass)}.bk-services{gap:12px;display:grid}.bk-service{text-align:left;font:inherit;cursor:pointer;background:var(--plaster);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:18px 22px;transition:border-color .2s,transform .2s;display:grid}.bk-service:hover{border-color:var(--olive);transform:translateY(-2px)}.bk-service-name{font-family:var(--font-display);font-size:1.15rem}.bk-service-price{font-family:var(--font-accent);color:var(--brass);grid-row:span 2;font-size:1.05rem;font-style:italic}.bk-service-meta{letter-spacing:.14em;text-transform:uppercase;color:var(--olive);font-size:.72rem}.bk-cal-head{font-family:var(--font-display);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:1.1rem;display:flex}.bk-cal-head button{font:inherit;background:var(--plaster);border:1px solid var(--line);cursor:pointer;border-radius:999px;width:38px;height:38px}.bk-cal-head button:hover{border-color:var(--olive)}.bk-cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.bk-dow{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--olive);padding-bottom:6px;font-size:.68rem}.bk-day{aspect-ratio:1;font:inherit;cursor:pointer;background:var(--plaster);border:1px solid var(--line);border-radius:10px;font-size:.92rem;transition:background .15s,color .15s}.bk-day:hover:not(:disabled){background:var(--ink);color:var(--plaster)}.bk-day:disabled{opacity:.25;cursor:default;background:0 0}.bk-times{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:560px){.bk-times{grid-template-columns:repeat(2,1fr)}}.bk-time{font:inherit;cursor:pointer;background:var(--plaster);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:.95rem;transition:background .15s,color .15s}.bk-time:hover{background:var(--ink);color:var(--plaster)}.bk-form .field input,.bk-form .field textarea{background:var(--plaster)}.bk-error{color:#7a3030;margin-top:14px;font-size:.9rem}.bk-confirm h3{margin:6px 0 14px}.bk-confirm p{max-width:52ch}.quiz-progress{flex-direction:column;gap:10px;margin-bottom:26px;display:flex}.quiz-progress>span:first-child{letter-spacing:.18em;text-transform:uppercase;color:var(--olive);font-size:.72rem}.quiz-bar{background:var(--line);border-radius:2px;height:2px;display:block;overflow:hidden}.quiz-bar span{background:var(--brass);height:100%;transition:width .4s;display:block}.quiz-q{margin-bottom:22px}.quiz-options{gap:12px;display:grid}.quiz-option{font:inherit;text-align:left;cursor:pointer;background:var(--plaster);border:1px solid var(--line);color:var(--ink);border-radius:14px;padding:18px 22px;font-size:1rem;transition:border-color .2s,transform .2s,background .2s}.quiz-option:hover{border-color:var(--olive);transform:translateY(-2px)}.quiz-result-name{margin:8px 0 4px}.quiz-result-tag{margin-bottom:26px;font-size:1.15rem;display:block}.quiz-result-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(24px,4vw,44px);display:grid}@media (max-width:760px){.quiz-result-grid{grid-template-columns:1fr}.quiz-result-grid .arch{max-width:320px}}.quiz-label{letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin:24px 0 10px;font-size:.72rem;display:block}.quiz-palette{gap:8px;display:flex}.quiz-palette span{border:1px solid var(--line);border-radius:50%;width:44px;height:44px}.quiz-elements{list-style:none}.quiz-elements li{padding:5px 0 5px 22px;position:relative}.quiz-elements li:before{content:"—";color:var(--brass);position:absolute;left:0}.quiz-restart{font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--olive);text-underline-offset:4px;background:0 0;border:none;margin-top:22px;font-size:.82rem;text-decoration:underline}.quiz-restart:hover{color:var(--brass)}.quiz-band{text-align:center}.quiz-band .quiz-palette{justify-content:center;margin:0 0 26px}.quiz-band .quiz-palette span{width:34px;height:34px}.studio-band{align-items:flex-end;height:min(88vh,840px);display:flex;position:relative;overflow:hidden}.studio-walk{transform-origin:54% 42%;will-change:transform;position:absolute;inset:0}.studio-media{will-change:transform;background-image:url(/images/studio.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}.studio-scrim{background:linear-gradient(#14120e00 30%,#14120e2e 58%,#14120e9e 100%);position:absolute;inset:0}.studio-content{z-index:2;color:var(--plaster);padding-top:60px;padding-bottom:64px;position:relative}.studio-content .eyebrow{color:var(--oat)}.studio-content h2{color:var(--plaster)}.studio-content .italic-accent{color:var(--oat)}.studio-content p{color:#efeae0e6;max-width:44ch;margin:14px 0 26px}.studio-btn{border-color:var(--plaster)}@media (max-width:760px){.studio-band{height:74vh}.studio-walk{transform-origin:54% 42%}}.feature-title{letter-spacing:.04em}.ba-grid{grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,34px);max-width:1000px;display:grid}@media (max-width:720px){.ba-grid{grid-template-columns:1fr;max-width:460px}}.ba-anim .ba-top{transition:clip-path 1.7s cubic-bezier(.45,0,.25,1)}.ba-anim .ba-line{transition:left 1.7s cubic-bezier(.45,0,.25,1)}.ba{aspect-ratio:3/4;border:1px solid var(--line);touch-action:none;border-radius:18px;max-width:560px;position:relative;overflow:hidden}.ba-img{background-position:50%;background-size:cover;position:absolute;inset:0}.ba-line{background:var(--plaster);pointer-events:none;align-items:center;width:2px;display:flex;position:absolute;top:0;bottom:0;transform:translate(-1px);box-shadow:0 0 12px #00000059}.ba-knob{background:var(--plaster);width:44px;height:44px;color:var(--ink);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000040}.ba-chip{z-index:2;letter-spacing:.18em;text-transform:uppercase;color:var(--plaster);pointer-events:none;background:#2d3126b8;border-radius:999px;padding:7px 14px;font-size:.68rem;transition:opacity .25s;position:absolute;top:16px}.ba-chip-l{left:16px}.ba-chip-r{right:16px}.ba-range{opacity:0;cursor:ew-resize;appearance:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.testimonial{background:var(--plaster);border:1px solid var(--line);border-radius:18px;max-width:720px;margin:0 0 26px;padding:clamp(30px,5vw,52px);position:relative}.testimonial-mark{font-family:var(--font-display);color:var(--brass);font-size:6rem;line-height:1;position:absolute;top:-34px;right:28px}.testimonial p{font-family:var(--font-accent);color:#2d3126e6;font-size:clamp(1.1rem,1.8vw,1.3rem);font-style:italic;line-height:1.6}.testimonial footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-top:24px;display:flex}.testimonial cite{font-style:normal;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:.95rem}.testimonial-stars{color:var(--brass);letter-spacing:.2em}.testimonial-stars span{opacity:0;display:inline-block;transform:scale(0)}.stars-in span{animation:star-pop .5s cubic-bezier(.34, 1.56, .64, 1) var(--sd,0s) forwards}@keyframes star-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.testimonial-stars span{opacity:1;transform:none}}.ig-band{text-align:center}.ig-band h2{margin-bottom:12px}.ig-band p{color:#2d3126bf;margin-bottom:28px}.ig-feed-grid{text-align:left;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:36px}.ig-feed-grid .arch{aspect-ratio:3/4}@media (max-width:960px){.ig-feed-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:620px){.ig-feed-grid{grid-template-columns:repeat(2,1fr);max-width:none;margin-left:0;margin-right:0}}footer{border-top:1px solid var(--line);padding:44px 0 54px}.foot-inner{max-width:var(--max);padding:0 var(--pad);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin:0 auto;display:flex}.foot-inner p{color:#2d312699;font-size:.82rem}.foot-links{letter-spacing:.06em;gap:22px;font-size:.82rem;display:flex}.foot-links a:hover{color:var(--brass)}
