@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#301932;--plum:#422044;--pink:#a34892;--rose:#ebcde3;--blush:#faf3f7;--paper:#fffdfd;--muted:#705e71;--line:#dfd0dc;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--pink);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(3.3rem,6.7vw,6.7rem);letter-spacing:-.055em}h2{font-size:clamp(2.5rem,4.4vw,4.4rem);letter-spacing:-.045em}h3{font-size:2rem;letter-spacing:-.025em}em{font-weight:400;color:var(--pink)}p{max-width:65ch}.wrap{width:min(1280px,88%);margin-inline:auto}.eyebrow{font:500 .75rem/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:1.5rem}.announcement{background:var(--plum);color:#fff;text-align:center;padding:9px 20px;font-size:.8125rem;letter-spacing:.015em}.announcement a{text-decoration:underline;text-underline-offset:4px;margin-left:12px}.header{background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-family:var(--serif);font-size:1.8rem;letter-spacing:-.06em;white-space:nowrap}.brand span{color:var(--pink)}.nav{display:flex;align-items:center;gap:27px;font-size:.875rem}.nav a:not(.button){padding:12px 0;border-bottom:1px solid transparent}.nav a[aria-current=page],.nav a:hover{color:var(--pink);border-bottom-color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid var(--plum);background:var(--plum);color:white;padding:16px 24px;min-height:52px;font-size:.875rem;font-weight:500;line-height:1.4;cursor:pointer;transition:background .2s,color .2s}.button:hover{background:#693768;border-color:#693768;color:white}.button.outline{color:var(--plum);background:transparent}.button.outline:hover{background:var(--plum);color:white}.button.light{background:var(--rose);color:var(--plum);border-color:var(--rose)}.button:disabled{opacity:.6;cursor:not-allowed}.nav .button{padding:12px 18px;min-height:44px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 14px}.hero{display:grid;grid-template-columns:1.06fr 1fr;background:var(--blush);min-height:690px}.hero-copy{padding:82px max(35px,calc((100vw - 1280px)/2)) 68px max(35px,6vw);align-self:center}.hero h1{margin-bottom:30px}.hero-copy>p{max-width:430px;color:var(--muted);font-size:1.0625rem}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:32px}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:.875rem;border-bottom:1px solid var(--pink);padding:9px 0;font-weight:500}.hero-image{position:relative;min-height:690px;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 28%}.image-caption{position:absolute;bottom:25px;left:30px;color:white;background:#301932dc;padding:9px 15px;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.credential{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);font-size:.8125rem}.credential strong{letter-spacing:.14em;font-weight:500;text-transform:uppercase}.credential span{color:var(--muted)}.section{padding:110px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:58px}.section-head h2{margin-bottom:0}.section-head>p{color:var(--muted);max-width:440px;margin:0 0 5px auto}.footer{background:#2d182f;color:#f9edf6;padding:64px 0 26px}.footer-top{display:flex;justify-content:space-between;gap:60px;padding-bottom:55px}.footer .brand{font-size:2.3rem}.footer p{font-size:.875rem;color:#d3becf;max-width:330px;margin-top:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 45px;font-size:.875rem}.footer-bottom{border-top:1px solid #624561;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:.75rem;color:#cdb5c9}.skip{position:fixed;left:15px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}::selection{background:var(--rose)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.blush{background:var(--blush)}.lead{font-size:1.1875rem;line-height:1.7;color:var(--muted)}.small{font-size:.8125rem;color:var(--muted);margin-top:18px}.small a{text-decoration:underline}.service-row{display:grid;grid-template-columns:50px 1fr 1.2fr 32px;gap:35px;align-items:center;padding:36px 0;border-top:1px solid var(--line);transition:padding .2s}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:12px}.service-number{color:var(--pink);font-size:.875rem;align-self:start;margin-top:5px}.service-row h3{font-size:2.75rem;margin:0}.service-row .eyebrow{margin:0 0 8px;font-size:.6875rem}.service-row p{margin:0;color:var(--muted)}.row-arrow{font-size:1.75rem;color:var(--pink)}.quote-section{padding:90px 0 100px;background:var(--plum);color:white;text-align:center}.quote-section .eyebrow{color:var(--rose)}blockquote{font:400 clamp(2rem,3.4vw,3.5rem)/1.35 var(--serif);letter-spacing:-.035em;max-width:950px;margin:30px auto}.attribution{max-width:none;margin:30px 0 0;font-weight:500}.attribution span{display:block;font-size:.75rem;color:#d8b9d1;font-weight:400;margin-top:6px}.book-feature{background:var(--blush);padding:80px 0}.book-art{background:white;padding:12px}.book-art img{width:100%;height:auto}.book-copy h2{font-size:clamp(3.6rem,5.5vw,5.6rem);line-height:1.05;margin-bottom:28px}.book-copy>p{color:var(--muted)}.book-copy .button{margin-top:15px}.event-strip{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:45px;padding:46px 0;border-bottom:1px solid var(--line)}.event-date{border-right:1px solid var(--line);text-align:center;padding-right:35px;line-height:1.2}.event-date span{display:block;font-size:.75rem;letter-spacing:.2em}.event-date strong{font:400 4rem/1.1 var(--serif);display:block;color:var(--pink)}.event-strip .eyebrow{margin-bottom:8px}.event-strip h3{font-size:2.1rem;margin-bottom:12px}.event-strip p{margin:0;color:var(--muted);font-size:.9375rem}.framed-photo{position:relative;padding:0 35px 30px 0}.framed-photo:after{content:'';position:absolute;inset:35px 0 0 35px;background:var(--rose);z-index:-1}.framed-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.photo-credit{position:absolute;bottom:2px;left:38px;font-size:.75rem;letter-spacing:.03em}.about-feature p{color:var(--muted)}.closing{text-align:center;background:var(--blush);padding:100px 0}.closing h2{max-width:900px;margin:0 auto 25px}.closing p{margin-inline:auto;color:var(--muted)}.closing .actions{justify-content:center}.closing .button.light{background:var(--plum);color:white;border-color:var(--plum)}.footer-social{display:flex;flex-direction:column;gap:12px;font-size:.875rem}.inner-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:75px;align-items:center;padding:65px 0 75px}.inner-hero h1{font-size:clamp(3.6rem,5.8vw,5.8rem);margin-bottom:30px}.inner-hero .lead{max-width:540px;margin-bottom:30px}.inner-photo{position:relative}.inner-photo img{width:100%;height:560px;object-fit:cover;object-position:center 25%}.inner-photo:after{content:'';position:absolute;inset:24px -24px -24px 24px;border:1px solid var(--line);z-index:-1}.inline-facts{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:20px;border-top:1px solid var(--line);margin-top:25px;font-size:.875rem}.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.topic{border-top:1px solid var(--pink);padding-top:28px}.topic h3{font-size:2.3rem;min-height:2.2em}.topic h4{font-size:.8125rem;margin:26px 0 12px;font-weight:600}.topic p,.topic li{color:var(--muted);font-size:.9375rem}.topic ul{padding-left:18px}.topic li{padding-bottom:10px}.placeholder{padding:14px 16px!important;font-size:.8125rem!important;line-height:1.65;color:#704b66!important;background:#f4e9f0;border-left:2px solid #ad71a0;max-width:none!important;margin:22px 0!important}.placeholder>span{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.13em;font-weight:600;margin-bottom:4px}.section-head>.placeholder{max-width:450px!important}.video-placeholder{min-height:330px;background:var(--plum);color:white;padding:48px;display:flex;flex-direction:column;justify-content:center}.video-placeholder h3{font-size:2.7rem}.video-placeholder .eyebrow{color:var(--rose)}.video-placeholder .placeholder{background:#593657;color:#f4deef!important}.media-kit{margin-top:25px}.spacious-list{padding:0;list-style:none;margin-top:32px}.spacious-list li{padding:16px 0;border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin:45px 0}.steps>div>span{font-family:var(--serif);font-size:3rem;color:var(--pink)}.steps h3{font-size:1.9rem;margin-top:20px}.steps p{color:var(--muted)}.rule-top{border-top:1px solid var(--line)}.statement{background:var(--plum);color:white;padding:90px 0}.statement .eyebrow{color:var(--rose)}.statement h2{max-width:1050px;font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.28}.portrait-detail{width:100%;max-height:620px;object-fit:cover;object-position:center 25%}.book-hero{padding:70px 0}.book-hero h1{margin-bottom:30px;font-size:clamp(4rem,6.7vw,6.7rem)}.book-hero .book-art{padding:0}.event-hero{background:var(--plum);padding:80px 0;color:white}.event-hero h1{font-size:clamp(4rem,8.5vw,8rem);margin-bottom:35px}.event-hero em{color:var(--rose)}.event-hero .eyebrow{color:var(--rose)}.event-hero p{font-size:1.125rem;color:#eddbea}.event-details{display:grid;grid-template-columns:1.5fr 1fr 1fr;border-bottom:1px solid var(--line);padding:36px 0;gap:35px}.event-details .eyebrow{margin-bottom:8px}.event-details strong{font-size:1.125rem;font-weight:500}.event-details small{display:block;color:var(--muted);font-size:.8125rem}.registration-box{background:var(--blush);border:1px solid var(--line);padding:32px;margin-top:32px}.registration-box h3{font-size:2.2rem}.registration-box p{font-size:.9375rem}.status:empty{display:none}.booking-layout,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.booking-layout h1,.contact-layout h1{font-size:clamp(3.8rem,6vw,6rem)}.booking-panel{padding:45px;background:var(--blush);border:1px solid var(--line);align-self:start}.booking-panel h2{font-size:2.8rem}.calendar-symbol{font-family:var(--serif);font-size:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:flex;align-items:center;gap:30px;color:var(--pink)}.calendar-symbol span{font-family:var(--sans);font-size:.75rem;letter-spacing:.2em}.booking-panel p{color:var(--muted);font-size:.9375rem}.contact-aside{border-top:1px solid var(--line);margin-top:50px;padding-top:28px}.contact-aside h3{font-size:1.6rem}.contact-aside p{color:var(--muted)}.form-note{border-left:2px solid var(--pink);background:var(--blush);padding:20px;margin-bottom:30px;font-size:.875rem}.form-note p{margin:5px 0 0;color:var(--muted)}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px}label span{font-size:.75rem;font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #bcacb9;background:var(--paper);color:var(--ink);padding:13px 14px;border-radius:0;min-height:49px;margin-bottom:22px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--pink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-result{border:1px solid var(--line);padding:28px;margin-top:30px;background:var(--blush)}.enquiry-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 .875rem/1.7 var(--sans);background:white;padding:20px}.enquiry-result p{font-size:.875rem}.text-button{border:0;border-bottom:1px solid var(--pink);padding:6px 0;background:transparent;color:var(--ink);cursor:pointer;font-size:.875rem}.reading{max-width:800px}.reading h1{font-size:4rem}.reading p{max-width:none}[hidden]{display:none!important}
@media(min-width:1600px){.hero-copy{padding-left:calc((100vw - 1280px)/2)}}
@media(max-width:1100px){.nav{gap:15px}.nav .button{padding:11px 14px}.header-inner{gap:20px}.brand{font-size:1.6rem}.split{gap:50px}.inner-hero{gap:50px}.contact-layout,.booking-layout{gap:55px}.topics{gap:25px}.topic h3{font-size:2rem}.footer-top{gap:35px}}
@media(max-width:1000px){.header-inner{height:82px}.hero-copy{padding:55px 6vw}.hero,.hero-image{min-height:610px}.hero h1{font-size:4.7rem}.wrap{width:88%}.service-row{grid-template-columns:35px 1fr 1.2fr 25px;gap:20px}.service-row h3{font-size:2.3rem}.inner-photo img{height:500px}.inner-hero h1{font-size:4.3rem}.event-strip{gap:30px;grid-template-columns:100px 1fr}.event-strip>.text-link{grid-column:2;justify-self:start}.footer-top{flex-wrap:wrap}}
@media(max-width:850px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--paper);padding:24px 6vw;border-bottom:1px solid var(--line);align-items:stretch}.nav.open{display:flex;flex-direction:column;gap:7px}.nav a{font-size:1rem}.nav .button{align-self:start}.header .brand{font-size:1.8rem}}
@media(max-width:760px){.announcement{font-size:.75rem}.header-inner{height:76px}.nav{top:76px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:55px 6vw 48px}.hero h1{font-size:clamp(3.4rem,13vw,5rem);max-width:550px}.hero-image{min-height:520px}.hero-image>img{object-position:center 25%}.hero-copy>p{font-size:1rem}.credential{align-items:flex-start;flex-direction:column;gap:6px}.section{padding:70px 0}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section-head>p{margin:0}.footer-top,.footer-bottom{flex-direction:column;gap:30px}.actions{gap:15px}.button{padding:15px 20px}.split,.booking-layout,.contact-layout{grid-template-columns:1fr;gap:42px}.service-row{grid-template-columns:25px minmax(0,1fr) 25px;gap:16px;padding:28px 0}.service-row>div{grid-column:2;grid-row:2}.row-arrow{grid-column:3;grid-row:1}.service-row h3{font-size:clamp(1.7rem,7.5vw,2.2rem);overflow-wrap:anywhere}.service-row h3 br{display:none}.quote-section{padding:65px 0}.book-feature{padding:55px 0}.book-art{max-width:480px;margin:auto}.book-copy h2{font-size:4rem}.event-strip{grid-template-columns:70px 1fr;gap:20px}.event-date{padding-right:15px}.event-date strong{font-size:3.3rem}.event-strip h3{font-size:1.65rem}.event-strip .eyebrow{font-size:.6875rem}.event-strip p{font-size:.875rem}.closing{padding:70px 0}.inner-hero{grid-template-columns:1fr;padding:50px 0 65px;gap:40px}.inner-hero h1{font-size:clamp(3.4rem,12vw,5rem)}.inner-photo img{height:480px}.inner-photo:after{inset:14px -12px -14px 14px}.topics,.steps{grid-template-columns:1fr;gap:30px}.topic h3{min-height:0;font-size:2rem}.steps{margin-bottom:25px}.steps>div{border-top:1px solid var(--line);padding-top:20px}.steps h3{margin-top:10px}.video-placeholder{min-height:300px;padding:30px}.statement{padding:65px 0}.book-hero{padding:40px 0 60px}.book-hero h1{font-size:4rem}.event-hero{padding:55px 0}.event-hero h1{font-size:clamp(3.7rem,13vw,6rem)}.event-details{grid-template-columns:1fr;gap:22px;padding:30px 0}.event-details>div{border-bottom:1px solid var(--line);padding-bottom:15px}.event-details>div:last-child{border:0;padding:0}.booking-panel{padding:28px}.contact-layout h1,.booking-layout h1{font-size:clamp(3.5rem,13vw,5rem)}.form-grid{grid-template-columns:1fr;gap:0}.footer-social{flex-direction:row;flex-wrap:wrap;gap:24px}.registration-box{padding:25px}.reading h1{font-size:3rem}.placeholder{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Allow service content to shrink inside narrow grid tracks. */
.service-row>div,.service-row h3{min-width:0}.service-row .eyebrow{overflow-wrap:anywhere}
