:root{--paper:#f7f4ee;--ink:#302e29;--muted:#706e65;--line:#dcd7cd;--accent:#b56e53;--peach:#ecd8c8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{max-width:1320px;width:calc(100% - 112px);margin:0 auto}.section{padding-top:112px;padding-bottom:112px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;line-height:1.7}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(58px,6.5vw,94px);line-height:1.06;letter-spacing:-3.6px;margin:24px 0}h2{font-size:clamp(39px,4.3vw,62px);line-height:1.18;letter-spacing:-1.8px}em{font-weight:400;color:var(--accent)}.header{display:flex;align-items:center;justify-content:space-between;padding:25px 56px;border-bottom:1px solid var(--line);max-width:1600px;margin:auto}.brand{display:flex;flex-direction:column;line-height:1.2;flex-shrink:0}.brand>span{font-family:var(--serif);font-size:26px;letter-spacing:-.8px}.brand-dot{color:var(--accent)}.brand small{font-size:8px;margin-top:7px;letter-spacing:2px}.header nav{display:flex;align-items:center;gap:36px;font-size:12px}.header nav a:hover{color:var(--accent)}.nav-contact{padding:11px 18px;border:1px solid var(--ink);display:flex;gap:25px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.95fr 1.12fr;gap:50px;padding-top:66px;padding-bottom:75px;align-items:center;min-height:710px}.hero-copy{padding:18px 0}.hero .intro{max-width:355px;font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;padding:15px 23px;font-size:12px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:#fff}.dark:hover{background:#514739}.button span{font-size:20px;line-height:1}.text-link{display:block;width:max-content;font-size:11px;padding:14px 0;border-bottom:1px solid var(--line)}.text-link span{margin-left:40px}.hero-footnote{display:flex;align-items:center;gap:14px;margin-top:34px}.tiny-star{font-size:42px;line-height:1;color:var(--accent)}.hero-footnote p{font-size:10px;line-height:1.55;letter-spacing:.4px;color:var(--muted)}.hero-art{position:relative;padding-bottom:50px;padding-left:8px}.main-photo{height:465px;position:relative}.main-photo img{object-position:56% 50%;border-radius:46% 46% 0 0}.main-photo figcaption{font-size:8px;letter-spacing:2px;margin-top:11px;text-align:right}.inset-photo{position:absolute;left:-43px;bottom:-12px;width:172px;height:235px;background:white;padding:8px 8px 32px;transform:rotate(-7deg);box-shadow:0 8px 25px #302e2915}.inset-photo img{object-position:50% 60%}.inset-photo figcaption{font-family:var(--serif);font-size:12px;font-style:italic;text-align:center;padding-top:5px}.photo-note{position:absolute;right:0;bottom:-22px;font-family:var(--serif);font-size:21px;line-height:1.5;text-align:right;transform:rotate(-4deg)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:35px;padding:20px 20px;font-family:var(--serif);font-size:17px}.strip span:nth-child(even){color:var(--accent);font-family:var(--sans);font-size:23px}.section-heading{display:grid;grid-template-columns:1fr 1.8fr 1.2fr;gap:36px;align-items:end;margin-bottom:46px}.section-heading .eyebrow{align-self:start;margin-top:10px}.section-heading>p:last-child{font-size:13px;color:var(--muted);max-width:250px}.session-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:28px;align-items:start}.session-img{height:340px;position:relative;overflow:hidden}.session-img img{transition:transform .6s}.session-card:hover img{transform:scale(1.035)}.session-card:nth-child(2){padding-top:48px}.session-card:nth-child(3){padding-top:96px}.session-card:nth-child(2) .session-img{height:310px}.session-card:nth-child(3) .session-img{height:280px}.tag{position:absolute;left:16px;top:16px;font-size:8px;letter-spacing:1.5px;background:var(--paper);padding:6px 10px}.session-caption{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px}.session-caption h3{font-size:27px;line-height:1.15}.session-caption>span{font-size:24px;border:1px solid var(--line);width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.session-card>p{font-size:12px;line-height:1.8;color:var(--muted);max-width:300px}.other-sessions{border-top:1px solid var(--line);margin-top:48px;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:15px}.other-sessions>span{font-size:10px;color:var(--muted)}.other-sessions p{font-family:var(--serif);font-size:20px}.other-sessions i{font-style:normal;color:var(--accent);padding:0 12px}.other-sessions a{font-size:11px;text-decoration:underline;text-underline-offset:5px}.portfolio{background:#eae8e0}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.portfolio h2{margin-top:20px}.portfolio-heading>p{font-size:12px;color:var(--muted);padding-bottom:8px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:35px 0 32px}.filters button{background:transparent;border:1px solid #ccc9c0;border-radius:30px;padding:9px 16px;font-size:11px;color:var(--ink)}.filters button.active,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery{columns:3;column-gap:18px}.gallery-item{display:block;width:100%;padding:0;border:0;background:transparent;margin:0 0 18px;break-inside:avoid;position:relative;overflow:hidden}.gallery-item img{height:auto;transition:transform .5s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item .gallery-label{position:absolute;left:0;right:0;bottom:0;padding:30px 15px 12px;color:white;font-size:10px;text-align:left;background:linear-gradient(transparent,#0008);opacity:0;transition:opacity .2s}.gallery-item:hover .gallery-label,.gallery-item:focus-visible .gallery-label{opacity:1}.gallery-item[hidden]{display:none}.gallery-note{text-align:center;font-family:var(--serif);font-size:20px;margin-top:35px}.gallery-note span{color:var(--accent);font-style:italic}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:120px;align-items:center}.about-photo{position:relative;max-width:415px;height:490px;margin-left:32px}.about-photo img{object-position:50% 38%;border-radius:48% 48% 0 0}.since{position:absolute;left:-34px;bottom:-25px;padding:18px 22px;background:var(--peach);font-size:8px;letter-spacing:1px;text-align:center;line-height:1.6}.since strong{font-family:var(--serif);font-weight:400;font-size:43px;letter-spacing:0}.about-copy h2{font-size:47px;margin:22px 0 26px}.about-copy>p:not(.eyebrow):not(.signature){color:var(--muted);font-size:13px;max-width:420px;margin:15px 0}.about-copy .signature{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--accent);margin-top:24px}.process{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px}.process h2{margin-top:23px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:21px 0}.steps li:first-child{padding-top:0}.steps li>span{font-family:var(--serif);color:var(--accent);font-size:24px}.steps h3{font-size:23px;margin-bottom:7px}.steps p{font-size:12px;line-height:1.8;color:var(--muted)}.contact{background:var(--peach);text-align:center}.contact h2{font-size:clamp(45px,5.6vw,78px);margin:25px 0;line-height:1.15}.contact p:not(.eyebrow){font-size:13px;margin-bottom:27px}.contact em{color:#8f523c}.contact .phone{display:block;margin-top:18px;font-size:12px;letter-spacing:2px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:37px;padding-bottom:37px}.footer p{font-size:10px;line-height:1.8;color:var(--muted)}.footer>small{font-size:9px;color:var(--muted)}.floating-wa{position:fixed;right:22px;bottom:20px;z-index:20;display:flex;align-items:center;gap:7px;background:#315d48;color:white;border:1px solid #ffffff60;border-radius:30px;box-shadow:0 3px 15px #0002;padding:12px 16px;font-size:11px}.floating-wa svg{height:23px;width:23px}.floating-wa:hover{background:#234735}dialog{border:none;padding:45px 50px 20px;background:#22211e;color:white;max-width:95vw;width:1000px;max-height:94vh}dialog::backdrop{background:#171613ed}dialog figure{margin:0 auto;text-align:center}dialog img{max-height:75vh;object-fit:contain;max-width:100%;height:auto;margin:auto}dialog figcaption{font-size:11px;margin-top:12px;color:#dedbd4}dialog button{border:0;background:transparent;color:white;font-size:35px;position:absolute;line-height:1;padding:8px}.lightbox-close{right:7px;top:5px}.lightbox-prev{left:3px;top:45%}.lightbox-next{right:3px;top:45%}body.modal-open{overflow:hidden}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{position:fixed;top:10px;left:10px;z-index:50;padding:10px;background:white}
@media(min-width:1500px){.hero{min-height:790px}.main-photo{height:540px}.hero-art{padding-bottom:55px}.inset-photo{height:255px;width:185px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{padding:23px 32px}.hero{gap:30px;grid-template-columns:1fr 1fr;min-height:auto;padding-top:60px}h1{font-size:64px}.main-photo{height:420px}.inset-photo{left:-15px;width:135px;height:190px}.photo-note{font-size:18px}.strip{gap:20px;font-size:14px}.section{padding-top:80px;padding-bottom:80px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2;max-width:340px}.session-grid{gap:20px}.session-img{height:290px}.session-card:nth-child(2) .session-img{height:270px}.session-card:nth-child(3) .session-img{height:250px}.session-caption h3{font-size:24px}.about{gap:65px}.about-copy h2{font-size:38px}.other-sessions p{font-size:17px}.other-sessions i{padding:0 5px}.process{gap:55px}.footer .brand>span{font-size:22px}}
@media(max-width:700px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.header{padding:20px;flex-wrap:wrap;gap:20px}.brand>span{font-size:23px}.brand small{font-size:7px}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);font-size:11px;padding:8px 12px}.header nav{display:none;width:100%;gap:0;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.header nav.open{display:flex}.header nav a{padding:10px 13px}.header .nav-contact{border:0;margin-left:auto;gap:10px}.hero{display:flex;flex-direction:column;gap:36px;padding-top:32px;padding-bottom:66px;align-items:stretch}.hero-copy{padding:0}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:clamp(52px,12.8vw,78px);letter-spacing:-2.3px;margin:20px 0}h1 br:nth-child(2){display:none}.hero .intro{font-size:13px;max-width:440px;margin-bottom:23px}.hero .text-link{display:inline-block;margin-left:18px;font-size:10px}.hero .text-link span{margin-left:9px}.hero-footnote{display:none}.hero-art{padding:0 0 20px 22px;margin-left:10px}.main-photo{height:360px;max-width:520px}.main-photo img{object-position:54% 50%}.main-photo figcaption{font-size:7px}.inset-photo{left:-20px;bottom:-8px;width:124px;height:170px;padding:6px 6px 26px}.inset-photo figcaption{font-size:10px}.photo-note{font-size:16px;bottom:-20px;right:5px}.strip{justify-content:center;gap:14px;flex-wrap:wrap;padding:14px 20px;font-size:13px}.strip span:nth-child(n+5){display:none}.strip span:nth-child(4){display:none}.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{margin:17px 0}.section-heading>p:last-child{max-width:290px}h2{font-size:40px;letter-spacing:-1.3px}.session-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.session-card.featured{grid-column:1/-1}.session-card:nth-child(2),.session-card:nth-child(3){padding-top:0}.session-img{height:310px}.session-card:nth-child(2) .session-img,.session-card:nth-child(3) .session-img{height:240px}.session-card:nth-child(3){padding-top:40px}.session-caption{margin:15px 0 10px;gap:7px}.session-caption h3{font-size:21px}.session-caption>span{width:27px;height:27px;flex-shrink:0;font-size:17px}.session-card>p{font-size:11px}.featured .session-caption h3{font-size:29px}.featured .session-caption h3 br{display:none}.featured>p{max-width:440px}.other-sessions{display:block;margin-top:33px;padding-top:18px}.other-sessions p{margin:8px 0 12px;font-size:16px}.portfolio-heading{display:block}.portfolio-heading>p{margin-top:22px}.filters{gap:7px;margin-top:22px}.filters button{font-size:10px;padding:8px 12px}.gallery{columns:2;column-gap:10px}.gallery-item{margin-bottom:10px}.gallery-note{font-size:17px;margin-top:25px}.gallery-note span{display:block}.about{display:flex;flex-direction:column;gap:60px}.about-photo{width:calc(100% - 40px);max-width:350px;margin-left:15px;height:410px}.since{left:-25px;bottom:-20px}.about-copy h2{font-size:40px}.about-copy>p:not(.eyebrow):not(.signature){font-size:13px;max-width:100%}.process{display:block}.steps{margin-top:32px}.steps h3{font-size:22px}.contact .eyebrow{font-size:8px;letter-spacing:1.5px}.contact h2{font-size:48px}.contact p:not(.eyebrow){max-width:280px;margin:0 auto 24px}.footer{flex-wrap:wrap;padding-top:30px;padding-bottom:85px;gap:20px}.footer p{font-size:9px}.footer>small{width:100%}.floating-wa{right:14px;bottom:14px;padding:11px}.floating-wa span{display:none}.floating-wa svg{width:27px;height:27px}dialog{padding:40px 32px 15px;width:96vw}.lightbox-prev{left:0}.lightbox-next{right:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.gallery-more{display:block;margin:28px auto 0;padding:12px 24px;background:transparent;border:1px solid var(--ink);color:var(--ink);font-size:12px}.gallery-more span{margin-left:25px}.gallery-more[hidden]{display:none}
.pricing-heading{display:grid;grid-template-columns:1fr 1.8fr 1.2fr;gap:36px;align-items:end}.pricing-heading .eyebrow{align-self:start;margin-top:8px}.pricing-heading>p:last-child{font-size:13px;color:var(--muted);max-width:260px}.package-filters{display:flex;gap:0;margin:40px 0 32px;border-bottom:1px solid var(--line)}.package-filters button{flex:1;border:0;background:transparent;text-align:left;font-family:var(--serif);font-size:25px;padding:18px 16px;border-bottom:2px solid transparent;color:var(--muted)}.package-filters button:first-child{padding-left:0}.package-filters button span{font-family:var(--sans);font-size:10px;vertical-align:super;margin-left:8px}.package-filters button.active{color:var(--ink);border-bottom-color:var(--accent)}.package-category{font-size:26px;margin-bottom:5px}.package-description{font-size:12px;color:var(--muted);margin-bottom:26px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-card{border:1px solid var(--line);padding:25px;display:flex;flex-direction:column}.package-number{font-size:7px;letter-spacing:1.6px;color:var(--muted)}.package-card h4{font-family:var(--serif);font-size:25px;line-height:1.25;font-weight:400;margin:18px 0 10px}.package-price{font-family:var(--serif);font-size:35px;line-height:1.4}.package-price span{font-family:var(--sans);font-size:10px;color:var(--muted)}.package-copy{font-size:11px;line-height:1.8;color:var(--muted);margin:13px 0 10px}.package-card ul{list-style:none;padding:0;margin:8px 0 24px;font-size:11px;line-height:1.8}.package-card li{padding:3px 0}.package-card li::before{content:'·';color:var(--accent);margin-right:8px}.package-cta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;margin-top:auto;font-size:10px;font-weight:500}.package-cta:hover{color:var(--accent)}.pricing-end{font-family:var(--serif);font-size:18px;margin-top:32px;text-align:center}.pricing-end a{color:var(--accent);display:block;font-size:14px;margin-top:6px}.package-group[hidden]{display:none}
@media(max-width:1050px){.package-card{padding:20px}.package-card h4{font-size:22px}.pricing-heading{grid-template-columns:1fr 2fr}.pricing-heading>p:last-child{grid-column:2}.package-filters button{font-size:22px}}
@media(max-width:700px){.pricing-heading{display:block}.pricing-heading h2{margin:18px 0}.pricing-heading>p:last-child{max-width:340px}.package-filters{margin:25px 0}.package-filters button{font-family:var(--sans);font-size:11px;text-align:center;padding:15px 4px}.package-filters button:first-child{padding-left:4px}.package-filters button span{display:block;font-size:8px;margin:4px 0 0}.package-grid{grid-template-columns:1fr;gap:14px}.package-card{padding:23px}.package-card h4{font-size:26px;margin:12px 0 8px}.package-card ul{margin-bottom:18px}.package-copy,.package-card ul{font-size:12px}.package-cta{font-size:12px}.package-category{font-size:24px}.pricing-end{font-size:17px}}
