@font-face{font-family:Cormorant;src:url('assets/cormorant-garamond-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f5f2eb;--ink:#292922;--muted:#655f54;--rule:#b6ad9c;--white:#fffdf8;--serif:Cormorant,Georgia,'Times New Roman',serif;--headline:"cormorant-garamond",var(--serif);--sans:Arial,Helvetica,sans-serif;--light-sans:"montserrat","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img{display:block;width:100%;height:auto}
figure,p,h1,h2{margin:0}
.skip-link{position:absolute;z-index:20;top:12px;left:16px;transform:translateY(-200%);padding:12px;background:var(--paper)}
.skip-link:focus{transform:none}
.page{min-height:100svh;display:flex;flex-direction:column}
.site-header{min-height:112px;display:flex;align-items:center;justify-content:center;padding:25px;text-align:center;background:var(--paper)}
.wordmark{text-decoration:none;font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:.075em;line-height:1}
.coming-soon{position:relative;isolation:isolate;display:flex;flex-direction:column;flex:1;min-height:calc(100svh - 112px);background:#292b21;color:var(--white)}
.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,17,10,.46),rgba(13,17,10,.61) 45%,rgba(13,17,10,.74))}
.intro{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:90px 28px 55px;text-align:center}
h1{font:600 clamp(35px,4.3vw,64px)/1.1 var(--headline);letter-spacing:.015em;text-wrap:balance;text-shadow:0 2px 16px #0003}
h1 span{white-space:nowrap}
.intro-line{font:500 clamp(16px,1.55vw,20px)/1.8 var(--light-sans);letter-spacing:.18em;text-transform:uppercase;margin:21px 0 34px;max-width:820px;text-wrap:balance;text-shadow:0 2px 10px #0007}
.intro-line span{white-space:nowrap}
.description{font:14px/1.9 var(--sans);text-shadow:0 1px 6px #0005}
.primary-link{display:flex;align-items:center;justify-content:center;min-width:224px;min-height:48px;padding:15px 30px;margin-top:27px;border:1px solid var(--white);color:var(--white);background:rgba(15,19,12,.12);text-decoration:none;font:10px/1.6 var(--sans);letter-spacing:.16em;transition:background .2s,color .2s}
.primary-link:hover{background:var(--white);color:var(--ink)}
.preview-link{display:inline-block;margin-top:17px;padding:4px 0;font:12px/1.6 var(--sans);text-decoration-thickness:1px}
.signature{display:flex;flex-direction:column;align-items:center;gap:8px;font:300 15px/1.7 var(--light-sans);letter-spacing:.035em;margin-top:27px}
.session-types{font:9px/2 var(--sans);letter-spacing:.15em;margin-top:26px}
.session-types span:before{content:' · ';white-space:pre}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #fff6;margin:0 5.5%;padding:21px 0 23px;font:10px/1.6 var(--sans)}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer .formerly{font:italic 13px/1.6 Georgia,serif}
.portfolio{padding:60px 5.8%;background:var(--paper);color:var(--ink)}
.portfolio-heading{position:relative;text-align:center;margin-bottom:32px}
.portfolio-heading h2{font:400 clamp(36px,4vw,54px)/1.1 var(--serif);margin:7px 0 15px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:24px;max-width:1300px;margin:auto}
.portfolio-grid img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.portfolio-grid figcaption{text-align:center;font:24px/1.3 var(--serif);margin-top:15px}
.portfolio-more{display:table;margin:25px auto 0;font:10px/1.7 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.portfolio-note{text-align:center;color:var(--muted);font:12px/1.7 var(--sans);margin:30px 0 15px}
.back-link{display:table;margin:0 auto;font:10px/1.7 var(--sans);text-transform:uppercase;letter-spacing:.1em}
dialog.portfolio{border:1px solid var(--rule);width:min(1120px,94vw);max-height:90svh;padding:50px 40px 30px;overflow:auto}
dialog.portfolio::backdrop{background:#171a14d9;backdrop-filter:blur(3px)}
dialog.portfolio .back-link{display:none}
.close-portfolio{position:absolute;top:-34px;right:-22px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;font:30px/1 var(--sans)}
.close-portfolio[hidden]{display:none}
body.has-dialog{overflow:hidden}
@media(min-width:761px) and (max-height:800px){.site-header{min-height:100px;padding:21px}.coming-soon{min-height:calc(100svh - 100px)}.intro{padding-top:54px;padding-bottom:34px}.intro-line{margin-bottom:22px}.signature{margin-top:18px}.session-types{margin-top:20px}}
@media(min-width:1000px){.coming-soon{min-height:max(calc(100svh - 112px),46vw)}}
@media(max-width:760px){.site-header{min-height:108px;padding:24px}.wordmark{font-size:33px}.coming-soon{min-height:calc(100svh - 108px)}.hero-photo{height:460px;object-position:50% 45%}.hero-shade{background:linear-gradient(180deg,rgba(13,17,10,.50),rgba(13,17,10,.59) 250px,#292b21 460px)}.intro{padding:66px 22px 40px}h1{font-size:clamp(34px,8.5vw,52px);max-width:570px}h1 span{display:block}.intro-line{font-size:14px;letter-spacing:.15em;max-width:300px;line-height:1.9;margin:19px 0 28px}.description{font-size:13px;line-height:1.95}.primary-link{margin-top:25px;min-width:210px}.preview-link{font-size:11px}.signature{margin-top:25px;font-size:14px;gap:7px}.session-types{font-size:8px;letter-spacing:.12em;margin-top:24px}.session-types span{display:block}.session-types span:before{content:none}.site-footer{margin:0 7%;padding:20px 0 24px;flex-direction:column;gap:9px;text-align:center;font-size:9px}.site-footer .formerly{font-size:12px}.portfolio-grid{grid-template-columns:1fr;gap:30px;max-width:480px}.portfolio-heading h2{font-size:38px}dialog.portfolio{padding:50px 22px 25px}.close-portfolio{right:-10px}.portfolio-note{font-size:11px;max-width:260px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
