:root{--paper:#f4f2ec;--ink:#292626;--olive:#353030;--muted:#56504d;--line:#d9d1c9;--white:#fffefb;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(22px,5.2vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:.98;letter-spacing:-.045em}h2{font-size:clamp(46px,5.2vw,82px)}em{font-weight:400}p{color:var(--muted)}::selection{background:#ddc9bb;color:#292626}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9e744e;outline-offset:6px}a,button,summary{touch-action:manipulation}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.page-shell{width:min(100%,1600px);margin-inline:auto;padding-inline:var(--gutter)}.section-space{padding-block:110px}.eyebrow{font-size:13px;letter-spacing:.17em;font-weight:600;color:var(--olive);line-height:1.7;text-transform:uppercase;margin-bottom:25px}.text-link,.light-link{display:inline-flex;align-items:center;gap:22px;font-size:16px;line-height:1.7;padding-block:7px;border-bottom:1px solid var(--ink);transition:gap .25s}.text-link:hover,.light-link:hover{gap:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:54px;padding:15px 26px;border:1px solid transparent;font-size:16px;line-height:1.5;border-radius:2px;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button span{font-size:20px;font-weight:400}.button-dark{background:var(--olive);color:var(--white)}.button-dark:hover{background:#211e1d}.button-outline{border-color:var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:var(--white)}.button-cream{background:var(--paper);color:var(--ink)}.button-cream:hover{background:#eadcd0}.skip-link{position:fixed;top:-100px;left:24px;z-index:200;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:10px}
.site-header{height:105px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);gap:24px;max-width:1800px;margin:auto;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}.wordmark{display:inline-block;font-family:var(--serif);font-size:45px;font-weight:500;letter-spacing:-2px;line-height:.8}.wordmark-dot{color:#805d50}.wordmark small{font-family:var(--sans);display:block;font-size:12px;letter-spacing:.31em;font-weight:500;margin-top:11px;margin-left:4px}.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:40px}.desktop-nav a{font-size:16px;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--olive);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-call{display:flex;align-items:center;gap:18px;font-size:14px;border:1px solid #b7a99f;padding:12px 18px;border-radius:40px}.header-call svg,.floating-call svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.menu-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{width:23px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:absolute;inset:80px 0 auto;z-index:19;background:var(--paper);padding:25px var(--gutter) 35px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #29262610}.mobile-menu a{font-family:var(--serif);display:flex;justify-content:space-between;font-size:32px;border-bottom:1px solid var(--line);padding:10px 0}.mobile-menu span{font-family:var(--sans);font-size:14px;align-self:center}
.hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;padding-top:48px;padding-bottom:65px;position:relative;min-height:730px}.hero-copy{padding-top:50px;position:relative;z-index:2}.hero .eyebrow{display:flex;align-items:center;gap:12px;font-size:12px}.tiny-star{font-size:25px;line-height:1}.hero h1{font-size:clamp(72px,8.1vw,126px);margin-left:-4px;position:relative;margin-bottom:26px}.hero h1 em{color:#805d50}.hero-description{max-width:340px;font-size:17px;line-height:1.9}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.hero-actions .text-link{font-size:14px;gap:12px}.hero-actions .button{gap:22px}.hero-note{display:flex;align-items:center;gap:14px;margin-top:55px}.fine-line{width:32px;height:1px;background:#9a8173}.hero-note p{font-size:13px;line-height:1.7}.handwritten{font:italic 22px var(--serif);color:#78685e;transform:rotate(-8deg);margin-left:20px}.hero-art{position:relative;padding-left:12px;padding-right:22px}.hero-main{height:600px;position:relative}.hero-main>img{height:100%;object-fit:cover;object-position:50% 46%;border-radius:48% 48% 2px 2px;animation:hero-in 1s ease both}.hero-main figcaption{font-size:12px;letter-spacing:.18em;margin-top:12px}.hero-detail{position:absolute;bottom:15px;right:-12px;width:34%;padding:9px;background:var(--paper);box-shadow:0 12px 35px #161e1b10;transform:rotate(5deg)}.hero-detail img{height:158px;object-fit:cover;object-position:center 60%}.hero-detail figcaption{font:italic 14px var(--serif);text-align:center;margin:6px 0 1px}.hero-side-label{position:absolute;right:-22px;top:170px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.25em}.scroll-cue{position:absolute;bottom:23px;left:var(--gutter);display:flex;align-items:center;gap:22px;font-size:12px;letter-spacing:.17em}.scroll-cue span:last-child{font-size:21px}.genre-ribbon{display:flex;align-items:center;justify-content:center;gap:clamp(15px,3vw,60px);padding:25px 20px;border-block:1px solid var(--line);font:italic 23px var(--serif);white-space:nowrap;overflow:hidden}.genre-ribbon i{font:14px var(--sans);color:#78685e}
.section-heading{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.section-intro{font-size:16px;max-width:320px;margin-bottom:6px;line-height:2}.section-heading>.text-link{flex-shrink:0;margin-bottom:6px}.gallery-toolbar{border-top:1px solid var(--line);padding-top:23px;margin-bottom:31px;display:flex;justify-content:space-between;align-items:center;gap:16px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px}.filter{font-size:14px;padding:9px 15px;border:1px solid transparent;border-radius:30px;white-space:nowrap;transition:background .2s}.filter.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.filter:hover:not(.active){background:#e8ded6}.filter sup{font-size:12px;margin-left:4px}.gallery-hint{font-size:12px;letter-spacing:.12em;white-space:nowrap;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px;align-items:start}.gallery-card:nth-child(3n+2){padding-top:65px}.gallery-link{display:block;position:relative;overflow:hidden;background:#e4e3da}.gallery-card img{height:440px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1),filter .6s}.gallery-card:nth-child(3n+2) img{height:380px}.gallery-card:nth-child(3n) img{height:420px}.gallery-link:hover img{transform:scale(1.035);filter:brightness(.92)}.gallery-expand{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#f4f2eceb;font-size:20px;opacity:0;transform:translateY(8px);transition:.3s}.gallery-link:hover .gallery-expand,.gallery-link:focus-visible .gallery-expand{opacity:1;transform:none}.gallery-card figcaption{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-top:12px;line-height:1.5}.gallery-card figcaption span:last-child{font-size:12px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:48px;gap:20px}.gallery-bottom p{font-size:13px}.gallery-bottom .text-link{font-size:13px}.gallery-grid.filtering{animation:gallery-in .4s ease}.about{background:#eee7e0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-portrait{position:relative;padding:0 25px 24px 0}.about-portrait>img{height:600px;object-fit:cover;object-position:53% center}.portrait-caption{position:absolute;left:0;bottom:0;font-size:12px;letter-spacing:.17em}.portrait-signature{position:absolute;bottom:55px;right:-20px;font:italic 75px var(--serif);color:#f4f2ec;transform:rotate(-10deg);text-shadow:0 2px 10px #0003}.about-copy h2{margin-bottom:25px}.about-lead{font:27px/1.2 var(--serif);color:var(--ink);margin-bottom:24px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:16px;max-width:370px;margin-bottom:18px}.about-copy .text-link{margin-top:10px;font-size:13px}
.sessions-layout{display:grid;grid-template-columns: .82fr 1.18fr;gap:9%;align-items:start}.session-photo{position:sticky;top:35px}.session-photo img{height:560px;object-fit:cover;transition:opacity .25s}.session-photo>span{display:block;font-size:12px;letter-spacing:.16em;margin-top:14px}.session-item{border-top:1px solid var(--line)}.session-item summary{display:flex;align-items:center;list-style:none;gap:17px;cursor:pointer;padding:23px 0}.session-item summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.session-number{font-size:12px;color:#78685e;align-self:center}.session-item h3{font:32px/1.1 var(--serif)}.plus{position:relative;display:block;flex-shrink:0;width:16px;height:16px;margin-left:auto}.plus:before,.plus:after{content:'';position:absolute;left:0;top:7px;width:16px;height:1px;background:currentColor}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .plus:after{transform:rotate(0)}.session-body{padding:0 25px 25px 31px}.session-body p{font-size:16px;max-width:400px;margin-bottom:20px}.session-body .text-link{font-size:13px}.session-footnote{border-top:1px solid var(--line);padding-top:25px;font-size:13px;max-width:440px}.interlude{position:relative;height:680px;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper)}.interlude>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 36%;z-index:-2}.interlude-shade{position:absolute;inset:0;background:linear-gradient(90deg,#201a18c9,#201a1833 70%);z-index:-1}.interlude-copy{padding:110px var(--gutter);max-width:1600px;margin:auto}.interlude .eyebrow{color:#f5e9de}.interlude-quote{color:var(--paper);font:clamp(56px,6.4vw,96px)/1 var(--serif);letter-spacing:-.03em}.interlude .light-link{margin-top:40px;color:var(--paper);border-color:#f4f2ec80}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process-grid article{border-top:1px solid #b6a89c;padding-top:17px}.process-index{display:flex;justify-content:space-between;font-size:14px;color:var(--olive);margin-bottom:28px}.process-index span{font-size:19px}.process-grid h3{font:30px/1.1 var(--serif);margin-bottom:16px}.process-grid p{font-size:16px;max-width:310px}.reviews{background:#ece4dc}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.review-card{display:flex;flex-direction:column;border-top:1px solid #d3c3b7;padding-top:14px}.quote-mark{font:72px/.9 var(--serif);color:#987261}.review-card blockquote{font:28px/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 32px;max-width:340px}.review-card figcaption{margin-top:auto;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}.review-card figcaption a{font-size:12px;color:var(--muted)}.review-note{font-size:12px;margin-top:30px}.faq{display:grid;grid-template-columns:.95fr 1.05fr;gap:8%}.faq h2{font-size:clamp(42px,4.5vw,66px)}.faq-heading .text-link{margin-top:30px;font-size:14px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:25px;cursor:pointer;list-style:none;font-size:16px;padding:24px 0}.faq-list details p{padding-bottom:24px;font-size:16px;max-width:450px}
.contact{background:var(--olive);color:var(--paper);padding-top:90px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;padding-bottom:75px}.contact .eyebrow{color:#f4e8df}.contact h2{font-size:clamp(66px,7vw,106px);margin-bottom:25px}.contact-copy>p:not(.eyebrow){color:#f4e8df;font-size:16px}.contact-actions{display:flex;align-items:center;gap:30px;margin-top:30px;flex-wrap:wrap}.contact .light-link{color:var(--paper);border-color:#c6b6a9;font-size:14px}.contact-details{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:42px;max-width:470px;font-size:16px;color:#f4e8df}.contact-details span{width:100%;font-size:13px;letter-spacing:.1em}.contact-side{position:relative;padding:0 20px 28px 40px;align-self:center;max-width:380px;margin:auto}.contact-photo{height:360px;object-fit:cover;transform:rotate(4deg);filter:sepia(.12)}.qr-card{position:absolute;left:-30px;bottom:0;display:flex;align-items:center;gap:14px;background:var(--paper);color:var(--ink);padding:12px;transform:rotate(-4deg);box-shadow:0 8px 20px #0002}.qr-card img{width:90px;height:90px}.qr-card>span{font:24px/1.05 var(--serif)}.qr-card small{display:block;font:8px/1.4 var(--sans);margin-top:12px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:140px;border-top:1px solid #73665e}.site-footer .wordmark{font-size:37px}.site-footer .wordmark small{font-size:7px}.site-footer p{font-size:12px;color:#eee3d9}.site-footer>a:not(.wordmark){font-size:13px}.back-top{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ab9282;border-radius:50%;font-size:21px!important}.floating-call{display:none}.lightbox-brand{font:32px var(--serif)}dialog#lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px 25px;border:none;background:#241f1d;color:var(--paper);overflow:hidden}dialog#lightbox::backdrop{background:#241f1d}dialog#lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;align-items:center;justify-content:space-between;flex:0 0 45px;gap:20px}#lightbox-counter{font-size:14px;letter-spacing:.15em}.icon-button{width:45px;height:45px;color:var(--paper);font-size:28px;border:1px solid #ffffff30;border-radius:50%;display:grid;place-items:center;line-height:1}.icon-button:hover{background:#ffffff12}.lightbox-stage{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1;min-height:0;padding:20px 0}.lightbox-stage>img{width:calc(100% - 140px);height:100%;object-fit:contain;min-width:0}#lightbox-caption{text-align:center;color:#dfd3ca;font-size:14px;min-height:25px}.reveal{opacity:1;transform:none}.motion .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}.motion .reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.3,1)}@keyframes hero-in{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes gallery-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero{min-height:840px;padding-top:60px}.hero-copy{padding-top:70px}.hero-main{height:680px}.hero-detail img{height:190px}.hero-note{margin-top:75px}}
@media(max-width:1100px){.desktop-nav{gap:20px;margin-right:10px}.hero h1{font-size:86px}.hero{min-height:690px}.hero-main{height:550px}.hero-copy{padding-top:38px}.hero-note{margin-top:30px}.handwritten{display:none}.hero-actions{gap:13px}.hero-detail{right:0}.hero-detail img{height:140px}.hero-description{max-width:280px}.gallery-hint{display:none}.gallery-card img{height:340px}.gallery-card:nth-child(3n+2) img{height:300px}.gallery-card:nth-child(3n) img{height:330px}.about-portrait>img{height:520px}.session-item h3{font-size:28px}.session-photo img{height:520px}.contact-layout{gap:5%}.contact-actions{gap:20px}.contact-side{padding-left:30px}.qr-card{left:-10px}.review-card blockquote{font-size:25px}.section-space{padding-block:85px}}
@media(max-width:800px){.site-header{height:80px}.wordmark{font-size:38px}.desktop-nav{gap:17px;margin-right:0}.desktop-nav a{font-size:13px}.header-call{padding:11px 12px}.header-call span{display:none}.hero h1{font-size:72px}.hero .eyebrow{font-size:12px}.hero-note{margin-top:25px}.hero-note .fine-line{display:none}.hero-actions .button{padding:12px 20px;min-height:48px}.hero-actions .text-link{font-size:13px}.hero{min-height:630px}.hero-main{height:490px}.hero-detail img{height:110px}.hero-detail figcaption{font-size:14px}.hero-detail{width:38%;bottom:28px}.hero-side-label{right:-14px}.section-intro{font-size:14px}.gallery-card:nth-child(3n+2){padding-top:40px}.gallery-grid{gap:25px 16px}.gallery-card img{height:290px}.gallery-card:nth-child(3n+2) img{height:270px}.gallery-card:nth-child(3n) img{height:285px}.gallery-card figcaption{font-size:12px;display:block}.gallery-card figcaption span:last-child{display:block;margin-top:3px}.about-layout{gap:7%}.about-portrait>img{height:480px}.portrait-signature{font-size:58px}.about-lead{font-size:24px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:14px}.sessions-layout{gap:6%}.session-item h3{font-size:25px}.session-body{padding-left:0}.session-photo img{height:480px}.interlude{height:560px}.process-grid{gap:25px}.process-grid h3{font-size:26px}.review-grid{gap:25px}.review-card figcaption{align-items:start;flex-direction:column;gap:5px}.contact-side{padding-left:20px}.qr-card{gap:6px}.qr-card img{width:72px;height:72px}.qr-card>span{font-size:20px}.qr-card small{font-size:7px}.contact-photo{height:310px}.site-footer{gap:20px}.site-footer p{max-width:210px}}
@media(max-width:700px){html{scroll-padding-top:25px}.site-header{gap:14px;padding-inline:22px}.desktop-nav{display:none}.header-call{margin-left:auto;padding:8px 12px}.header-call span{display:block;font-size:13px}.menu-toggle{display:flex}.hero{grid-template-columns:1fr;gap:30px;padding-top:36px;padding-bottom:65px;min-height:0}.hero-copy{padding-top:0}.hero .eyebrow{font-size:12px;gap:9px;margin-bottom:21px}.tiny-star{font-size:20px}.hero h1{font-size:clamp(70px,16vw,105px);margin-bottom:22px}.hero-description{max-width:335px;font-size:16px}.hero-actions{margin-top:23px;gap:22px}.hero-note{display:none}.hero-art{padding:0 22px 24px 0;max-width:480px;width:100%;margin-inline:auto}.hero-main{height:clamp(380px,112vw,560px)}.hero-main>img{border-radius:46% 46% 0 0}.hero-main figcaption{font-size:7px;margin-top:12px}.hero-detail{width:35%;right:0;bottom:10px;padding:7px}.hero-detail img{height:clamp(100px,29vw,145px)}.hero-detail figcaption{font-size:14px}.hero-side-label{right:-4px;top:100px;font-size:7px}.scroll-cue{font-size:7px;bottom:19px}.genre-ribbon{gap:17px;padding:18px 15px;font-size:20px;justify-content:flex-start}.genre-ribbon i{font-size:13px}.section-space{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:48px}.section-heading .eyebrow,.eyebrow{font-size:12px;margin-bottom:18px}.section-intro{margin-top:25px;line-height:1.9;font-size:14px}.section-heading>.text-link{margin-top:25px}.gallery-toolbar{padding-top:16px;margin-bottom:23px}.gallery-filters{gap:5px}.filter{font-size:13px;padding:8px 11px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-card:nth-child(n){padding-top:0}.gallery-card:nth-child(2n){padding-top:32px}.gallery-card:nth-child(n) img{height:clamp(220px,63vw,350px)}.gallery-expand{opacity:1;transform:none;width:28px;height:28px;right:9px;bottom:9px;font-size:16px}.gallery-card figcaption{font-size:13px}.gallery-card figcaption span:last-child{font-size:7px}.gallery-bottom{flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:30px}.gallery-bottom p{font-size:12px}.gallery-bottom .button{min-height:46px;font-size:13px;padding:12px 16px;gap:20px}.gallery-bottom>.text-link{width:100%;justify-content:center;border-bottom:0}.about-layout{grid-template-columns:1fr;gap:40px}.about-portrait{padding-right:15px;max-width:440px;margin-inline:auto}.about-portrait>img{height:480px;object-position:53% center}.portrait-signature{right:0;bottom:48px;font-size:65px}.about-copy h2{font-size:65px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:16px;max-width:none}.about-lead{font-size:27px}.about-copy .text-link{font-size:13px}.sessions-layout{grid-template-columns:1fr;gap:28px}.session-photo{position:relative;top:auto}.session-photo img{height:390px;object-position:center 35%}.session-photo>span{font-size:7px}.session-item summary{padding:22px 0}.session-item h3{font-size:30px}.session-body p{font-size:16px}.interlude{height:560px}.interlude>img{object-position:58% center}.interlude-shade{background:linear-gradient(0deg,#201a18bd,#201a1830)}.interlude-copy{padding-top:200px}.interlude-quote{font-size:59px}.interlude .light-link{margin-top:25px}.process-grid{grid-template-columns:1fr;gap:28px}.process-grid article{display:grid;grid-template-columns:37px 1fr;column-gap:15px;padding-top:20px}.process-index{grid-row:span 2;display:block;font-size:13px;margin:5px 0}.process-index span{display:none}.process-grid h3{font-size:29px;margin-bottom:12px}.process-grid p{font-size:16px;max-width:none}.review-grid{grid-template-columns:1fr;gap:35px}.quote-mark{font-size:57px}.review-card blockquote{font-size:31px;max-width:none;margin-bottom:23px}.review-card figcaption{flex-direction:row;align-items:center}.review-note{font-size:12px}.faq{grid-template-columns:1fr;gap:35px}.faq h2{font-size:48px}.faq-heading .text-link{margin-top:24px}.faq-list summary{font-size:16px}.contact{padding-top:65px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-bottom:55px}.contact h2{font-size:70px}.contact-actions{gap:21px}.contact-actions .button{font-size:14px;gap:20px;padding-inline:19px}.contact .light-link{font-size:13px;gap:12px}.contact-details{gap:10px;font-size:16px;margin-top:30px}.contact-details>a{width:100%}.contact-details span{margin-top:8px}.contact-side{width:100%;max-width:320px;padding:0 30px 35px}.contact-photo{height:330px}.qr-card{left:0;bottom:10px;padding:10px;gap:12px}.qr-card img{width:90px;height:90px}.qr-card>span{font-size:24px}.qr-card small{font-size:12px}.site-footer{padding-top:30px;padding-bottom:100px;min-height:0;display:grid;grid-template-columns:1fr auto;gap:27px}.site-footer .wordmark{grid-column:1}.site-footer p{grid-column:1;grid-row:2;max-width:none;font-size:12px}.site-footer>a:not(.wordmark):not(.back-top){grid-row:3;font-size:13px}.back-top{grid-column:2;grid-row:1}.floating-call{display:flex;position:fixed;bottom:max(18px,env(safe-area-inset-bottom));right:18px;align-items:center;gap:10px;padding:13px 18px;border-radius:30px;background:#353030;color:#fff;box-shadow:0 3px 20px #0002;z-index:30;font-size:14px;border:1px solid #ab928270;transition:opacity .2s,transform .2s}.modal-open .floating-call,.menu-open .floating-call{opacity:0;pointer-events:none}.floating-call svg{width:15px;height:15px}dialog#lightbox{padding:14px}.lightbox-stage{position:relative;gap:0;padding-bottom:65px}.lightbox-stage>img{width:100%;height:100%}.lightbox-stage>.icon-button{position:absolute;bottom:6px;width:44px;height:44px;font-size:25px}.lightbox-stage>.icon-button:first-child{left:calc(50% - 58px)}.lightbox-stage>.icon-button:last-child{right:calc(50% - 58px)}#lightbox-caption{font-size:13px;padding-bottom:10px}.lightbox-brand{font-size:28px}}
@media(max-width:370px){.header-call{padding:8px 10px}.header-call span{font-size:12px}.site-header{gap:8px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:12px}.hero h1{font-size:70px}.hero .eyebrow{font-size:7px}.gallery-card:nth-child(n) img{height:220px}.contact h2{font-size:62px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal:not(.is-visible){opacity:1;transform:none}}

/* Readable editorial typography and distinct client reviews. */
body{font-size:16px;font-weight:500}h1,h2,h3,em{font-weight:500}h1,h2{letter-spacing:-.03em;line-height:1.06}
.hero-description{max-width:440px}.hero-actions .text-link{font-size:14px}.eyebrow{font-size:12px}.desktop-nav a{font-size:15px;font-weight:600}.button,.text-link,.light-link{font-weight:600}.section-intro{max-width:390px}.about-copy>p:not(.eyebrow):not(.about-lead){max-width:470px}.about-lead{font-weight:500}.gallery-card figcaption{font-size:15px}.gallery-card figcaption span:last-child{font-size:12px;letter-spacing:.04em}.filter{font-size:14px;min-height:44px}.faq-list summary{font-size:17px;font-weight:650}.faq-list details p{font-size:16px}.session-body p,.process-grid p{font-size:16px}.session-item h3,.process-grid h3{font-weight:500}.contact-copy>p:not(.eyebrow),.contact-details{font-size:17px}.site-footer p{font-size:12px}.review-grid{gap:22px}.review-card{background:#fffaf5;border:1px solid #d8c9bd;border-radius:8px;padding:30px;min-height:290px;box-shadow:0 10px 28px #38291e06}.review-card blockquote{font-family:var(--sans);font-size:21px;line-height:1.65;font-weight:500;letter-spacing:0;max-width:none}.quote-mark{color:#916b58}.review-card figcaption{font-size:16px;flex-direction:column;align-items:flex-start;gap:10px}.review-card figcaption>span{font-weight:700}.review-card figcaption a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.review-note{font-size:14px}.reviews-more{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px}.reviews-more .review-note{margin:0}.contact .eyebrow{color:#f4e8df}.floating-call{background:#353030}.qr-card small{font-size:10px}.gallery-bottom .text-link{font-size:14px}
@media(max-width:1100px){.desktop-nav{gap:18px;margin-right:0}.review-grid{gap:14px}.review-card{padding:22px}.review-card blockquote{font-size:19px}.section-heading{gap:24px}}
@media(max-width:800px){.desktop-nav a{font-size:13px}.section-heading{align-items:flex-start}.section-intro{font-size:16px}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:16px}}
@media(max-width:700px){.header-call span{font-size:11px}.site-header{gap:8px}.hero .eyebrow{font-size:10px;letter-spacing:.09em}.hero-description{font-size:16px}.hero-actions{gap:18px}.hero-actions .text-link{font-size:14px}.hero h1{font-size:clamp(64px,16vw,100px)}.section-heading h2,.faq h2{font-size:45px}.eyebrow,.section-heading .eyebrow{font-size:11px}.gallery-card figcaption{font-size:14px}.gallery-card figcaption span:last-child{font-size:11px}.filter{font-size:13px;padding:9px 12px}.review-card{padding:26px}.review-card blockquote{font-size:20px}.reviews-more{align-items:flex-start;flex-direction:column}.contact h2{font-size:62px}.contact-actions .button,.contact .light-link{font-size:14px}.contact-details{font-size:16px}.contact-side{margin-top:15px}.site-footer p{font-size:12px}.floating-call{font-size:13px}.session-body .text-link,.about-copy .text-link{font-size:14px}.genre-ribbon{font-weight:500}.hero-side-label{font-size:9px}.hero-main figcaption,.scroll-cue{font-size:9px}}
@media(max-width:370px){.hero h1{font-size:62px}.hero .eyebrow{font-size:9px}.header-call{gap:8px}.header-call span{font-size:10px}.contact h2{font-size:56px}.qr-card small{font-size:9px}}


/* Final editorial pairing; photographs retain their complete original frame. */
:root{--serif:Lora,Georgia,serif;--sans:Montserrat,Arial,sans-serif}body{font-family:var(--sans);font-size:17px;font-weight:400;line-height:1.8}h1,h2{font-weight:400;letter-spacing:-.055em;line-height:1.13}em{font-weight:400}.hero h1{font-size:clamp(64px,6.6vw,104px);line-height:1.14}.hero-description{font-size:17px;line-height:1.9;max-width:460px}.hero-copy{padding-top:36px}.hero-note{margin-top:36px}.hero-note p{font-size:13px}.handwritten{font-size:20px;color:#78685e}.scroll-cue{font-size:10px;position:static;grid-column:1/-1;margin-top:18px;align-self:end}.hero{padding-bottom:32px}.hero-art{padding-bottom:24px}.hero-main{height:auto}.hero-main>img{height:auto;object-fit:contain;border-radius:44% 44% 2px 2px;animation:none}.hero-detail{bottom:28px;width:32%;right:-6px}.hero-detail img{height:auto;object-fit:contain}.hero-detail figcaption{font-size:11px}.hero-main figcaption{font-size:10px;letter-spacing:.1em}.gallery-grid{align-items:start;gap:38px 28px}.gallery-card:nth-child(n){padding-top:0}.gallery-card:nth-child(n) img{height:auto;width:100%;object-fit:contain;aspect-ratio:auto}.gallery-link:hover img{transform:none;filter:brightness(.96)}.gallery-card figcaption{font-size:14px;line-height:1.6}.gallery-card figcaption span:last-child{font-size:11px;letter-spacing:.03em}.about-portrait>img{height:auto;width:100%;object-fit:contain}.about-layout{grid-template-columns:1.15fr 1fr;gap:7%}.portrait-signature{font-size:48px;bottom:45px;right:8px}.about-lead{font-size:25px;line-height:1.55}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:17px}.about-copy h2{font-size:clamp(42px,4.5vw,68px)}.session-photo img{height:auto;max-height:none;object-fit:contain}.session-item h3{font-size:28px;font-weight:400}.process-grid h3{font-size:27px;font-weight:400}.review-card blockquote{font:400 21px/1.65 var(--serif)}.review-card figcaption{font-size:16px}.review-card figcaption a{font-size:13px}.contact-photo{height:auto;object-fit:contain}.qr-card>span{font-size:19px;line-height:1.3}.contact h2{font-size:clamp(54px,6vw,90px)}.section-heading h2{font-size:clamp(42px,4.6vw,70px)}.site-footer .wordmark,.wordmark{font-family:var(--serif);letter-spacing:-.06em}.wordmark{font-size:39px}.desktop-nav a{font-size:14px}.header-call{font-size:13px}.button,.text-link,.light-link{font-size:15px}.eyebrow{letter-spacing:.12em}.contact-details{font-size:16px}.contact-copy>p:not(.eyebrow){font-size:17px}.review-note{font-size:13px}.genre-ribbon{font-size:21px}.genre-ribbon i{font-size:11px}
@media(max-width:1100px){.hero h1{font-size:68px}.hero{min-height:0}.hero-main{height:auto}.hero-detail img{height:auto}.hero-note{margin-top:28px}.hero-description{max-width:100%}.about-layout{gap:5%}.section-heading{gap:30px}.section-intro{max-width:290px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:20px}.hero-actions .text-link{font-size:13px}}
@media(max-width:800px){.hero h1{font-size:56px}.hero .eyebrow{font-size:10px}.hero-copy{padding-top:10px}.hero-detail figcaption{font-size:10px}.about-layout{grid-template-columns:1fr}.about-portrait{max-width:600px}.about-copy{max-width:600px}.section-heading{display:block}.section-intro{margin-top:24px;max-width:460px}.desktop-nav{gap:14px}.desktop-nav a{font-size:12px}.gallery-card figcaption{display:block}.review-grid{grid-template-columns:1fr}.review-card{min-height:0}.contact h2{font-size:60px}.portrait-signature{font-size:46px}}
@media(max-width:700px){.hero{gap:30px;padding-top:32px;padding-bottom:28px}.hero h1{font-size:clamp(48px,12vw,76px);letter-spacing:-.055em;line-height:1.18}.hero .eyebrow{font-size:10px;letter-spacing:.08em}.hero-description{font-size:16px;line-height:1.85}.hero-art{max-width:460px}.hero-main{height:auto}.hero-main>img{height:auto}.hero-detail{bottom:35px;width:31%;padding:5px}.hero-detail img{height:auto}.hero-detail figcaption{font-size:9px}.hero-side-label{font-size:8px;right:0}.hero-main figcaption{font-size:9px}.scroll-cue{margin-top:0;font-size:9px}.hero-actions .button,.hero-actions .text-link{font-size:14px}.gallery-grid{gap:26px 14px}.gallery-card:nth-child(n){padding-top:0}.gallery-card:nth-child(n) img{height:auto}.gallery-card figcaption{font-size:13px}.gallery-card figcaption span:last-child{font-size:10px}.filter{font-size:13px}.about-portrait>img{height:auto}.about-copy h2{font-size:46px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:16px}.about-lead{font-size:23px}.portrait-signature{font-size:35px;bottom:38px}.section-heading h2,.faq h2{font-size:39px}.session-photo img{height:auto}.session-item h3{font-size:25px}.review-card blockquote{font-size:22px}.contact h2{font-size:48px}.contact-photo{height:auto}.contact-side{max-width:320px}.qr-card>span{font-size:19px}.contact .light-link,.contact-actions .button{font-size:14px}.header-call span{font-size:11px}.wordmark{font-size:33px}.site-header{gap:8px}.hero-note{display:none}}

#booking-offer{width:min(860px,calc(100vw - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #cdbfb3;border-radius:8px;background:#f8f4ef;color:#292626;overflow:auto;box-shadow:0 25px 100px #0004}#booking-offer::backdrop{background:#201c19a6;backdrop-filter:blur(4px)}#booking-offer[open]{display:grid;grid-template-columns:.85fr 1.15fr}.offer-photo{min-height:100%;background:#e7ded5}.offer-photo img{height:100%;object-fit:cover}.offer-copy{padding:42px}.offer-copy .eyebrow{font-size:10px;margin-bottom:12px}.offer-discount{font:500 74px/1 var(--serif);color:#805d50;margin-bottom:10px}.offer-discount span{font-size:42px}.offer-copy h2{font-size:42px;line-height:1.13;margin-bottom:20px}.offer-copy>p:not(.eyebrow):not(.offer-discount){font-size:15px;line-height:1.8;margin-bottom:24px}.offer-copy .button{display:flex;font-size:14px;padding-inline:15px}.offer-copy .text-link{font-size:14px;margin-top:16px}.offer-close{position:absolute;top:10px;right:10px;width:40px;height:40px;font:30px/1 Arial,sans-serif;border-radius:50%;background:#f8f4ef;z-index:1}.offer-later{display:block;padding:10px 0;font-size:12px;color:#665b55;margin-top:10px;text-decoration:underline;text-underline-offset:4px}body.offer-open{overflow:hidden}.offer-open .floating-call{display:none}
@media(max-width:600px){#booking-offer{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}#booking-offer[open]{grid-template-columns:1fr}.offer-photo{display:none}.offer-copy{padding:32px 25px 24px}.offer-copy h2{font-size:35px}.offer-discount{font-size:62px}.offer-copy>p:not(.eyebrow):not(.offer-discount){font-size:14px}.offer-copy .eyebrow{max-width:230px;font-size:9px}.offer-close{top:5px;right:5px}}
