@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#352539;--plum:#583c60;--lilac:#e9e1ef;--muted:#736b75;--line:#ded7e1;--paper:#fdfcfe}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.12}h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.045em}h1{font-size:clamp(50px,5.6vw,88px)}h2{font-size:clamp(37px,4vw,60px)}h3{font-size:26px}i{font-weight:400;color:#85648f}p{color:var(--muted)}header{height:108px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:30px}.brand{font-family:Georgia,serif;font-size:36px;line-height:1;letter-spacing:-2px;white-space:nowrap}.brand span{font-style:italic;font-weight:400;margin-left:5px}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:3.4px;margin-top:12px}nav{display:flex;gap:27px;font-size:13px}nav a{position:relative}nav a:hover{color:#92649b}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--plum);color:white;padding:15px 25px;border-radius:3px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#76517e;transform:translateY(-2px)}.button span{font-size:21px}.eyebrow{display:block;font-size:10px;letter-spacing:2.3px;font-weight:600;line-height:1.8;margin-bottom:25px}.eyebrow b{display:inline-block;width:7px;height:7px;background:#886b94;border-radius:50%;margin-right:9px}.hero{max-width:1440px;margin:22px auto 62px;padding:0 5.5%;display:grid;grid-template-columns:1.08fr 1fr;gap:5%;align-items:center}.hero h1{margin-bottom:29px}.hero-copy>p{max-width:360px;font-size:16px;line-height:1.8}.actions{display:flex;align-items:center;gap:25px;margin-top:34px}.text-link{font-size:12px;font-weight:600;display:inline-block;border-bottom:1px solid #ae98b4;padding:5px 0}.hero-note{margin-top:54px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:12px}.hero-note>span{font-size:26px}.hero-image{height:620px;position:relative;background:#e8e1e3;border-radius:240px 240px 5px 5px}.hero-image>img{height:100%;width:100%;border-radius:inherit;object-position:center 32%}.image-label{position:absolute;left:25px;bottom:25px;background:#fffefaf0;padding:14px 27px;min-width:190px}.image-label strong{display:block;font-family:Georgia,serif;font-size:21px;font-weight:400}.image-label>span{font-size:10px;color:#786c7a;letter-spacing:2px}.seal{position:absolute;right:-28px;top:32px;background:var(--lilac);width:116px;height:116px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:10px;line-height:1.5;letter-spacing:2px;transform:rotate(12deg)}.seal span{font-size:30px;line-height:1.2;margin-top:5px}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:25px;background:#eee8f1;padding:20px 8%;font-size:12px;letter-spacing:.5px}.ribbon b{font-size:24px;font-weight:400;color:#9c80a5}.intro,.section-top,.story,.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.intro{padding:110px 13% 110px 10%}.intro .eyebrow{padding-top:15px}.intro h2{margin-bottom:26px}.intro .lead{font-size:21px;color:var(--ink);line-height:1.5}.intro p{margin:18px 0;max-width:580px}.intro .text-link{margin-top:14px}.services{background:#f2eef4;padding:90px 7% 95px}.section-top{align-items:end;margin-bottom:50px;grid-template-columns:1.3fr 1fr}.section-top p{max-width:260px;justify-self:end}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{border:1px solid #d8cddd;padding:30px 30px 32px;position:relative;transition:background .25s;display:flex;flex-direction:column}.service:hover{background:white}.number{font-size:11px;letter-spacing:1px;color:#8b758e}.symbol{font-size:55px;line-height:1;margin:30px 0 40px;color:#957ca0}.service h3{font-family:Georgia,serif;font-size:29px;margin-bottom:18px}.service p{font-size:14px;line-height:1.8;margin-bottom:30px}.service .text-link{align-self:start;margin-top:auto}.story{padding:110px 8%;grid-template-columns:1.05fr 1fr;align-items:center}.story img{height:450px;width:100%;border-radius:3px 150px 3px 3px}.story p{margin:22px 0}.story .button{margin-top:15px}.steps{padding:30px 8% 110px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.steps-grid>div{border-top:1px solid var(--line);padding-top:22px}.steps b{font-size:12px;font-weight:400;color:#907298}.steps h3{font-size:20px;margin:24px 0 12px}.quote{background:#ebe3ef;text-align:center;padding:65px 16% 70px}.quote>span{font:90px/.7 Georgia;color:#9d80a8}.quote h2{font-size:clamp(32px,3.3vw,48px);line-height:1.35;max-width:900px;margin:10px auto 25px}.quote p{font-size:10px;letter-spacing:3px}.faq{padding:100px 8%;grid-template-columns:1fr 1.1fr}.faq .text-link{margin-top:30px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:16px;line-height:1.5}summary:after{content:'+';color:#8c6e95;font-size:22px}details[open] summary:after{content:'−'}details p{margin-top:18px;font-size:14px}.closing{background:#3c2a43;color:white;padding:80px 8%;display:flex;justify-content:space-between;align-items:center;gap:50px}.closing h2{font-size:68px}.closing i{color:#cfb7d8}.closing p{color:#dacfe0;margin:20px 0}.closing .button{background:#e8dfee;color:#45304d;margin-top:10px}.closing .eyebrow{color:#cfb7d8}.contact{min-width:280px}.contact>a{display:block;margin:10px 0;font-size:20px}.contact small{color:#c3b2ca}footer{padding:40px 8%;display:flex;justify-content:space-between;align-items:center;gap:35px}footer p{font-size:11px}footer>div{display:flex;gap:18px;font-size:11px}.menu{display:none}.skip{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:5}.skip:focus{top:10px}.page-heading{background:#eee7f2;padding:65px 10% 70px}.page-heading>a,.page-heading>span{font-size:12px}.page-heading h1{margin-top:25px;font-size:65px}.page-content{max-width:1050px;margin:auto;padding:65px 40px 90px;min-height:400px}.page-content h2{font-size:32px;margin:35px 0 18px;line-height:1.25;letter-spacing:-.02em}.page-content p{margin:16px 0}.page-content ul{padding:5px 0 5px 22px;color:var(--muted);line-height:2}.page-portrait{width:36%;max-height:550px;float:right;margin:0 0 35px 45px;border-radius:130px 130px 3px 3px}.booking{padding:35px;background:#f2edf5;margin-bottom:50px}.booking .text-link{margin-left:20px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{border:1px solid var(--line);padding:26px}.price-card h2{font-size:24px;margin:0 0 20px}.price-card h3{font:36px Georgia;color:#85648f}.price-card ul{font-size:13px}.price-card .button{margin-top:10px}.page-content:after{content:'';display:block;clear:both}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a07aad;outline-offset:5px}@media(min-width:1600px){.hero-image{height:680px}}@media(max-width:1100px){header{gap:15px}nav{gap:16px}header>.button{gap:15px;padding:12px 15px}.hero h1{font-size:64px}.hero-image{height:550px}.actions{align-items:start;flex-direction:column;gap:15px}.hero-note{margin-top:30px}.hero{gap:6%}.seal{right:-15px;width:100px;height:100px}.intro{padding:80px 8%;gap:7%}}@media(max-width:760px){header{height:85px;padding:0 6%;position:relative}.brand{font-size:29px}.brand small{font-size:8px;letter-spacing:2px}header>.button{display:none}.menu{display:block;border:0;background:transparent;font-size:25px;color:var(--plum)}nav{display:none;position:absolute;top:85px;left:0;right:0;background:white;padding:30px 6%;z-index:10;box-shadow:0 10px 20px #35253910}nav.open{display:flex;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr;gap:35px;padding:0 6%;margin:30px auto 40px}.hero h1{font-size:57px}.hero .eyebrow{margin-bottom:20px}.hero-copy>p{max-width:340px}.actions{flex-direction:row;align-items:center;gap:20px;flex-wrap:wrap}.hero-note{margin-top:25px}.hero-image{height:480px;max-width:440px;width:95%;margin:auto}.seal{right:-15px;top:25px}.ribbon{flex-wrap:wrap;gap:10px 18px;padding:18px 6%;font-size:11px}.ribbon b{font-size:17px}.ribbon b:last-of-type{display:none}.intro,.section-top,.story,.faq{grid-template-columns:1fr;gap:22px}.intro,.services,.story,.faq{padding:65px 6%}.intro .eyebrow{margin-bottom:0}.section-top{margin-bottom:30px}.section-top p{justify-self:start}.service-grid{grid-template-columns:1fr}.service{padding:25px}.symbol{position:absolute;top:25px;right:28px;font-size:40px;margin:0}.service h3{margin-top:25px}.service p{max-width:420px}.story img{height:320px}.story>div{margin-top:15px}.steps{padding:10px 6% 65px}.steps-grid{grid-template-columns:1fr;gap:28px;margin-top:35px}.steps h3{margin-top:14px}.quote{padding:55px 7%}.faq{gap:30px}.closing{padding:60px 6%;flex-direction:column;align-items:start;gap:45px}.closing h2{font-size:58px}.contact>a{font-size:19px}footer{padding:35px 6%;flex-direction:column;align-items:start;gap:20px}.page-heading{padding:40px 6%}.page-heading h1{font-size:45px}.page-content{padding:35px 6% 60px}.page-portrait{float:none;width:100%;max-height:480px;margin:0 0 35px}.price-grid{grid-template-columns:1fr}.booking{padding:25px}.booking .text-link{margin:15px 0}.page-content h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Complete inner-page system */
header nav{gap:20px}header nav a[aria-current=page]{color:#845b91;border-bottom:1px solid #ad91b7}.breadcrumbs{font-size:11px;color:#84758a;margin-bottom:40px}.breadcrumbs a:hover{text-decoration:underline}.subhero{padding:45px 8% 65px;background:linear-gradient(115deg,#f1ecf5,#faf8fc);border-bottom:1px solid #e6deeb}.subhero .eyebrow{margin-bottom:18px}.subhero h1{font-size:clamp(45px,5.5vw,78px);max-width:1000px}.subhero>p{font-size:16px;max-width:570px;margin-top:24px}.split-page{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding:85px 8%;align-items:center}.portrait-wrap img{height:580px;width:100%;border-radius:210px 210px 3px 3px}.portrait-wrap>p{display:flex;align-items:center;justify-content:space-between;gap:20px;font:22px Georgia;color:var(--ink);padding:18px 0}.portrait-wrap>p span{font:9px Arial;letter-spacing:2px}.prose h2{margin-bottom:25px}.prose p{margin-bottom:22px}.prose p.lead{font-size:18px;line-height:1.9}.prose h3{font:25px Georgia;margin:34px 0 22px}.personal-note{border-left:2px solid #ab8bb7;padding:12px 22px;font:21px/1.6 Georgia;margin:30px 0;color:#7e5f88}.values{padding:75px 8% 90px;background:#f4f0f7}.values>.lead{max-width:650px;margin-top:25px;font-size:18px}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.three-cols>div{border-top:1px solid #d5c8df;padding-top:20px}.three-cols span{font-size:11px;color:#997ba4}.three-cols h3{margin:20px 0 12px;font:26px Georgia}.three-cols p{font-size:14px}.process-intro>img{width:100%;height:420px;border-radius:3px 120px 3px 3px}.offers,.related{padding:75px 8%;background:#f2edf5}.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}.offer-card{background:#fff;border:1px solid #e2d9e7;padding:30px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.offer-card:hover{box-shadow:0 8px 20px #3525390b;transform:translateY(-3px)}.offer-card h3{font:29px Georgia;margin-bottom:20px}.offer-card p{font-size:14px;margin-bottom:30px}.offer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #eee7f1;padding-top:20px;margin-top:auto}.offer-bottom strong{font:23px Georgia;color:#735080}.offer-bottom>span{font-size:11px}.inline-note{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:35px}.inline-note p{max-width:650px}.detail-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:9%;padding:70px 8%;align-items:start}.service-aside{padding:35px;background:#eee7f2;position:sticky;top:25px}.service-aside h3{font:27px/1.4 Georgia}.big-price{font:46px Georgia;display:block;margin:28px 0 5px}.service-aside .button{margin:25px 0 18px;width:100%;gap:15px}.aside-note{font-size:12px;margin:10px 0 25px}.service-aside>a:last-child{font-size:14px}.check-list{list-style:none;margin:20px 0 35px;padding:0}.check-list li{padding:12px 0 12px 28px;border-bottom:1px solid var(--line);position:relative;color:#6d6072}.check-list li:before{content:'✓';position:absolute;left:0;color:#9673a4}.wide-photo{width:100%;max-height:400px;border-radius:3px 80px 3px 3px}.related .offer-grid{grid-template-columns:repeat(4,1fr)}.related .offer-card{padding:23px}.related .offer-card h3{font-size:23px}.related .offer-card p{font-size:12px}.related .offer-bottom{flex-direction:column;align-items:start}.pricing{padding:65px 8% 90px}.free-consult{display:flex;justify-content:space-between;align-items:center;gap:35px;background:#efe8f4;padding:35px 40px;margin-bottom:40px}.free-consult h2{font-size:38px}.free-consult .eyebrow{margin-bottom:12px}.free-consult p{margin-top:15px}.pricing-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:0 0 20px;font-size:12px;flex-wrap:wrap}.pricing>h2{font-size:37px;margin:50px 0 28px}.price-grid.two{grid-template-columns:repeat(2,1fr)}.price-card{display:flex;flex-direction:column;background:white}.price-card h3{font:25px/1.3 Georgia;color:var(--ink)}.price-card .package-price{font:30px Georgia;color:#85648f;margin:25px 0 15px}.price-card .button{margin-top:auto;font-size:12px}.price-card ul{margin-bottom:25px}.faq-page{padding:70px 8% 100px;display:grid;grid-template-columns:.8fr 1.4fr;gap:10%;align-items:start}.faq-page aside{padding:30px;background:#f3eef6}.faq-page aside h3{font:28px/1.3 Georgia;margin-bottom:20px}.faq-page aside p{font-size:14px;margin-bottom:20px}.faq-page details:first-child{padding-top:0}.booking-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:8%;padding:70px 8% 100px;align-items:start}.booking-options>p{margin:25px 0}.contact-option{padding:20px 0;border-bottom:1px solid var(--line);display:block}.contact-option small{display:block;letter-spacing:2px;font-size:9px;color:#8b6d95}.contact-option strong{display:block;font-size:19px;font-weight:500;margin-top:5px;overflow-wrap:anywhere}.online-booking{padding:28px 0}.online-booking h3{font:25px/1.35 Georgia}.online-booking p{margin:15px 0;font-size:13px}.enquiry{padding:35px;background:#f1ecf5}.enquiry>p{font-size:13px;margin:20px 0}.enquiry h2{font-size:37px}.enquiry label{display:flex;flex-direction:column;gap:7px;font-size:12px;margin:18px 0;color:#594460}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry input,.enquiry textarea,.enquiry select{border:1px solid #d7c9e0;border-radius:2px;background:white;min-height:46px;width:100%;font:14px 'DM Sans',sans-serif;color:var(--ink);padding:11px 12px}.enquiry textarea{resize:vertical}.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{outline:2px solid #ae8cbc;outline-offset:2px}.enquiry input:user-invalid{border-color:#ae4949}.enquiry .button{border:0;cursor:pointer}.form-note,.enquiry p.form-note{font-size:11px;line-height:1.7;color:#75667c}#form-status{padding:15px;border:1px solid #c0adca;background:#fff}#form-status a{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:65px 8%}.contact-grid>a{border:1px solid var(--line);padding:28px;overflow-wrap:anywhere}.contact-grid h3{font:23px Georgia;margin-bottom:20px}.contact-grid p{font-size:13px}.contact-grid>a:hover{background:#f4eff7}.location-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:20px 8% 90px}.location-section img{height:450px;width:100%;border-radius:3px 120px 3px 3px}.location-section p{margin:22px 0}.location-section .text-link{display:block;width:fit-content;margin-top:20px}.journal-empty{padding:70px 8%;text-align:center}.journal-empty .symbol{margin:0 0 25px}.journal-empty h2{font-size:38px}.journal-empty p{max-width:550px;margin:22px auto}.journal-empty .actions{justify-content:center}.journal-links{padding:0 8% 80px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.journal-links a{padding:30px;background:#f0eaf5}.journal-links h3{font:27px Georgia}.home-more{padding:50px 8% 80px;display:flex;align-items:center;justify-content:space-between;gap:40px}.home-more h2{font-size:42px}.home-more>div:last-child{display:flex;gap:25px;flex-wrap:wrap}footer{flex-wrap:wrap}.footer-sub{display:flex;width:100%;border-top:1px solid var(--line);padding-top:25px;color:#7c6b83}.footer-sub span{margin-left:auto}.not-found{padding:40px 8% 70px}
@media(min-width:1500px){.subhero,.split-page,.detail-layout,.offers,.related,.pricing,.faq-page,.booking-layout,.contact-grid,.location-section,.values,.home-more{padding-left:max(8%,calc((100vw - 1250px)/2));padding-right:max(8%,calc((100vw - 1250px)/2))}}@media(max-width:1100px){header nav{gap:12px;font-size:12px}.related .offer-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:15px}.contact-grid>a{padding:22px}.contact-grid h3{font-size:19px}.booking-layout{gap:5%;padding:60px 6%}.form-row{gap:14px}.enquiry{padding:25px}.portrait-wrap img{height:510px}}@media(max-width:760px){.subhero{padding:28px 6% 42px}.breadcrumbs{margin-bottom:30px}.subhero h1{font-size:49px}.subhero>p{font-size:15px}.split-page{grid-template-columns:1fr;padding:45px 6%;gap:35px}.portrait-wrap img{height:480px;max-width:420px;margin:auto}.portrait-wrap>p{max-width:420px;margin:auto}.personal-note{font-size:20px}.values{padding:50px 6%}.three-cols{grid-template-columns:1fr;gap:25px;margin-top:30px}.process-intro>img{height:300px}.offers,.related{padding:50px 6%}.offer-grid,.related .offer-grid{grid-template-columns:1fr;gap:18px}.offer-card{padding:25px}.offer-card h3{font-size:26px}.related .offer-bottom{flex-direction:row;align-items:center}.inline-note{flex-direction:column;align-items:start;gap:12px}.detail-layout{grid-template-columns:1fr;gap:30px;padding:45px 6%}.service-aside{position:static;padding:28px}.pricing{padding:40px 6% 65px}.free-consult{padding:25px;flex-direction:column;align-items:start;gap:25px}.free-consult h2{font-size:32px}.pricing-tabs{gap:15px;font-size:11px}.pricing>h2{font-size:32px;margin-top:40px}.price-grid.two{grid-template-columns:1fr}.faq-page{padding:45px 6% 65px;grid-template-columns:1fr;gap:35px}.faq-page aside{order:2}.faq-page details{padding:20px 0}.booking-layout{grid-template-columns:1fr;gap:35px;padding:45px 6% 65px}.form-row{grid-template-columns:1fr;gap:0}.enquiry{padding:25px}.enquiry label{margin:14px 0}.contact-grid{grid-template-columns:1fr;padding:40px 6%;gap:15px}.contact-grid h3{font-size:23px}.location-section{grid-template-columns:1fr;padding:0 6% 60px;gap:30px}.location-section img{height:350px}.journal-empty{padding:50px 6%}.journal-empty .actions{flex-direction:column;align-items:center}.journal-empty h2{font-size:32px}.journal-links{padding:0 6% 55px;grid-template-columns:1fr;gap:15px}.home-more{padding:10px 6% 55px;flex-direction:column;align-items:start;gap:25px}.home-more h2{font-size:35px}.home-more>div:last-child{flex-direction:column;gap:15px}.footer-sub{flex-direction:column;align-items:start;gap:10px}.footer-sub span{margin-left:0}}

/* Consistent spacing, readable controls and fluid layouts across every page. */
:root{--muted:#69616d;--gutter:clamp(22px,5.5vw,80px);--section:clamp(56px,7vw,96px)}
body{font-size:16px;line-height:1.75}h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}p,li{overflow-wrap:break-word}h1,h2{letter-spacing:-.035em}h2{font-size:clamp(34px,4vw,56px);line-height:1.18}h3{line-height:1.3}
header,.hero{max-width:1360px}header{padding-inline:var(--gutter);gap:24px}header .brand{flex-shrink:0}header nav{gap:clamp(14px,1.5vw,22px);font-size:14px;align-items:center}header nav a{white-space:nowrap;padding-block:10px}header>.button{flex-shrink:0}
.button{min-height:50px;font-size:14px;line-height:1.5;padding:14px 22px;gap:22px;text-align:left}.button span{flex-shrink:0;line-height:1}.text-link{font-size:14px;line-height:1.6;padding-block:9px}.eyebrow{font-size:11px;letter-spacing:1.8px;line-height:1.8;margin-bottom:20px}.breadcrumbs{font-size:13px;margin-bottom:28px;line-height:1.8}
.hero{padding-inline:var(--gutter);grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:6%;margin-block:28px 64px}.hero h1{font-size:clamp(46px,5.5vw,76px);line-height:1.12}.hero-image{height:clamp(470px,46vw,620px)}.hero-copy>p{font-size:17px;max-width:400px}.actions{flex-wrap:wrap;gap:16px 24px}.hero-note{font-size:13px;margin-top:34px}.seal{right:-14px;width:102px;height:102px}.image-label{left:24px;bottom:24px}.ribbon{font-size:14px;padding-block:18px}
.intro,.story,.faq,.split-page,.detail-layout,.faq-page,.booking-layout,.location-section{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,80px)}
.intro,.services,.story,.faq,.split-page,.values,.offers,.related,.pricing,.faq-page,.booking-layout{padding:var(--section) max(var(--gutter),calc((100vw - 1200px)/2))}.intro{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.steps{padding:24px max(var(--gutter),calc((100vw - 1200px)/2)) var(--section)}
.section-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;margin-bottom:36px}.section-top p{max-width:320px}.service-grid,.price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service{padding:28px}.service p,.offer-card p,.three-cols p{font-size:15px}.service h3{font-size:28px;line-height:1.25}.symbol{margin:26px 0 30px}.steps-grid,.three-cols{gap:32px}.steps h3{font-size:22px}.story img{height:440px}.quote{padding:60px max(var(--gutter),calc((100vw - 920px)/2))}.quote h2{font-size:clamp(30px,3.4vw,44px)}
.subhero{padding:36px max(var(--gutter),calc((100vw - 1200px)/2)) 56px}.subhero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.15;max-width:1000px}.subhero>p{max-width:640px;font-size:17px;line-height:1.75}.prose{min-width:0;max-width:680px}.prose p{margin-bottom:22px}.prose p.lead{line-height:1.8}.portrait-wrap img{height:560px}.portrait-wrap>p{font-size:22px;flex-wrap:wrap;gap:12px}.detail-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding:var(--section) max(var(--gutter),calc((100vw - 1200px)/2))}.service-aside{padding:30px}.big-price{font-size:clamp(34px,3.6vw,46px);overflow-wrap:anywhere}.service-aside .button{gap:12px}.aside-note{font-size:14px}
.offer-grid,.price-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.offer-card{padding:28px}.offer-card .eyebrow{font-size:11px}.offer-bottom{flex-wrap:wrap;gap:12px}.offer-bottom>span{font-size:14px}.related .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related .offer-card{padding:28px}.related .offer-card h3{font-size:27px}.related .offer-card p{font-size:15px}.related .offer-bottom{flex-direction:row;align-items:center}.price-card{padding:28px;min-width:0}.price-card h3{font-size:25px}.price-card ul{font-size:15px;line-height:1.8;padding-left:20px}.price-card li+li{margin-top:10px}.price-card .button{font-size:14px}.price-card .package-price{font-size:34px;line-height:1.4}.pricing-tabs{gap:16px 30px;font-size:14px}.pricing-tabs a{padding-block:8px}.free-consult{padding:32px;align-items:center}.free-consult>.button{flex-shrink:0}
.faq-page{grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr)}summary{font-size:17px;align-items:baseline;padding-block:4px}summary:after{flex:0 0 18px;text-align:center}summary::-webkit-details-marker{display:none}details p{font-size:16px;line-height:1.8}.faq-page aside p{font-size:15px}
.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.enquiry{min-width:0;padding:32px}.enquiry label{font-size:14px}.enquiry input,.enquiry textarea,.enquiry select{font-size:16px;min-width:0;min-height:48px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-note,.enquiry p.form-note{font-size:13px}.online-booking p,.enquiry>p{font-size:15px}.contact-option small{font-size:11px}.contact-option strong{font-size:20px}
.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:56px max(var(--gutter),calc((100vw - 1200px)/2));gap:24px}.contact-grid h3{font-size:22px;overflow-wrap:anywhere}.contact-grid p{font-size:15px}.location-section{padding:0 max(var(--gutter),calc((100vw - 1200px)/2)) var(--section)}.home-more{padding:48px max(var(--gutter),calc((100vw - 1200px)/2)) 72px}.home-more h2{font-size:clamp(34px,3.6vw,46px)}.home-more>div:last-child{gap:16px 24px}.journal-empty .symbol{position:static}.journal-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.closing{padding:72px max(var(--gutter),calc((100vw - 1200px)/2));gap:48px}.closing h2{font-size:clamp(42px,5vw,64px)}.contact{min-width:0}.contact>a{font-size:clamp(17px,1.8vw,22px);overflow-wrap:anywhere}.closing>div{min-width:0}footer{padding:36px max(var(--gutter),calc((100vw - 1200px)/2));gap:24px}footer p,footer>div{font-size:13px}footer>div{flex-wrap:wrap;gap:12px 20px}footer a:not(.brand){padding-block:8px}.footer-sub{padding-top:20px}.footer-sub span{align-self:center}
@media(max-width:1050px){header{height:88px;position:relative;gap:20px}.menu{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:3px;background:transparent;font-size:26px;color:var(--plum);margin-left:auto;cursor:pointer}header nav{display:none;position:absolute;top:88px;left:0;right:0;padding:20px var(--gutter);background:var(--paper);box-shadow:0 14px 24px #35253915;z-index:20;font-size:16px}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}header nav a{padding:10px 0}header nav a[aria-current=page]{border-bottom:0;font-weight:600}.actions{flex-direction:row;align-items:center}.hero h1{font-size:clamp(42px,5.4vw,58px)}.hero-image{height:500px}.service-grid,.price-grid{gap:16px}.price-card,.service{padding:24px}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>a:last-child{grid-column:1/-1}.contact-grid h3{font-size:23px}.home-more{align-items:flex-start}.home-more>div:last-child{flex-direction:column}.portrait-wrap img{height:500px}}
@media(max-width:900px) and (min-width:601px){.intro{grid-template-columns:1fr 1.5fr}.story,.split-page,.location-section{gap:32px}.story h2,.split-page h2{font-size:36px}.story img{height:400px}.service-grid,.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid>.service:last-child,.price-grid:not(.two)>.price-card:last-child{grid-column:1/-1}.booking-layout{grid-template-columns:1fr}.booking-options{max-width:650px}.enquiry{max-width:720px;width:100%}.detail-layout{gap:28px}.service-aside{padding:24px}.service-aside .button{font-size:13px;padding:14px 16px}.faq-page{grid-template-columns:1fr;gap:32px}.faq-page aside{order:2}.steps-grid,.three-cols{gap:22px}.steps h3,.three-cols h3{font-size:22px}.closing{gap:32px}.closing h2{font-size:46px}}
@media(max-width:600px){:root{--gutter:22px;--section:56px}header{height:80px}header nav{top:80px}header>.button{display:none}.brand{font-size:30px}.brand small{font-size:9px;letter-spacing:2.6px;margin-top:10px}.hero{grid-template-columns:1fr;gap:34px;margin-block:24px 40px}.hero h1{font-size:clamp(36px,10.8vw,60px);margin-bottom:24px}.hero-copy>p{max-width:100%;font-size:16px}.hero .eyebrow{font-size:10px;margin-bottom:18px}.actions{gap:12px 20px;margin-top:26px}.hero-note{margin-top:22px;font-size:12px}.hero-image{height:auto;aspect-ratio:4/5;max-width:440px;width:100%;margin-inline:auto}.hero-image>img{position:absolute;inset:0}.seal{width:82px;height:82px;right:-8px;top:20px;font-size:8px}.seal span{font-size:25px}.image-label{padding:12px 18px;left:18px;bottom:18px;min-width:0}.image-label strong{font-size:20px}.ribbon{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:12px;padding:22px;font-size:12px}.ribbon b{display:none}.intro,.section-top,.story,.split-page,.detail-layout,.faq,.faq-page,.booking-layout,.location-section{grid-template-columns:1fr;gap:28px}.intro .eyebrow{padding-top:0;margin-bottom:0}.intro .lead{font-size:20px}.section-top p{max-width:100%}.service-grid,.price-grid,.price-grid.two,.offer-grid,.related .offer-grid{grid-template-columns:1fr;gap:18px}.service,.price-card,.offer-card,.related .offer-card{padding:26px}.symbol{position:absolute;top:24px;right:26px;margin:0}.service h3{padding-right:30px}.service p{max-width:none}.story img{height:auto;aspect-ratio:1.1}.story>div{margin-top:0}.steps-grid,.three-cols{grid-template-columns:1fr;gap:26px;margin-top:32px}.quote{padding-block:52px}.quote h2{font-size:30px}.portrait-wrap img{height:auto;aspect-ratio:4/5;max-width:420px}.portrait-wrap>p{font-size:21px}.process-intro>img{height:300px}.subhero{padding-block:26px 40px}.subhero h1{font-size:clamp(34px,10vw,50px)}.subhero>p{font-size:16px;margin-top:20px}.breadcrumbs{font-size:12px;margin-bottom:24px}.prose p.lead{font-size:17px}.service-aside{position:static;padding:26px}.service-aside .button{font-size:14px}.big-price{font-size:38px}.free-consult{padding:26px;flex-direction:column;align-items:flex-start;gap:22px}.free-consult h2,.pricing>h2{font-size:32px}.pricing-tabs{font-size:13px;gap:8px 20px}.related .offer-card h3{font-size:26px}.inline-note{align-items:flex-start;flex-direction:column;gap:12px}.faq-page aside{order:2}.form-row{grid-template-columns:1fr;gap:0}.enquiry{padding:24px}.enquiry h2{font-size:34px}.contact-grid{grid-template-columns:1fr;padding-block:40px;gap:16px}.contact-grid>a:last-child{grid-column:auto}.contact-grid>a{padding:26px}.location-section img{height:auto;aspect-ratio:1.1}.home-more{padding-block:8px 56px;flex-direction:column;gap:22px}.home-more>div:last-child{gap:8px}.journal-links{grid-template-columns:1fr}.journal-links h3{font-size:26px}.journal-empty .actions{flex-direction:column}.closing{padding-block:56px;flex-direction:column;align-items:flex-start;gap:32px}.closing h2{font-size:46px}.closing .eyebrow{font-size:10px}.closing p{margin-block:16px}.contact{width:100%}.contact>a{font-size:19px}footer{flex-direction:column;align-items:flex-start;gap:18px}.footer-sub{flex-direction:column;align-items:flex-start}.footer-sub span{margin-left:0;align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.button:hover,.offer-card:hover{transform:none}}
/* Story introduction and editorial article layout. */
.intro{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:clamp(32px,6vw,80px)}.intro-portrait{margin:0;min-width:0}.intro .intro-portrait .eyebrow{padding-top:0;margin-bottom:18px}.intro-portrait img{width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:center top;border-radius:3px 90px 3px 3px}.intro-portrait figcaption{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;padding-top:16px}.intro-portrait strong{font:22px/1.3 Georgia,serif;font-weight:400}.intro-portrait figcaption>span{font-size:12px;color:var(--muted)}.journal-list{padding:var(--section) max(var(--gutter),calc((100vw - 1200px)/2))}.journal-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,5vw,72px);max-width:1100px;margin:auto}.journal-feature-image{display:block;overflow:hidden;border-radius:3px 90px 3px 3px}.journal-feature img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;object-position:center top;transition:transform .25s}.journal-feature-image:hover img{transform:scale(1.025)}.journal-feature h2{margin-bottom:20px}.journal-feature p{margin-bottom:20px;max-width:540px}.article-meta{font-size:13px;color:var(--muted);line-height:1.8}.article-heading .article-meta{margin-top:20px}.story-article{max-width:1160px;margin:auto;padding:56px var(--gutter) 80px}.article-photo{margin:0 auto 52px;max-width:920px}.article-photo img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;object-position:center top;border-radius:3px 100px 3px 3px}.article-photo figcaption{font-size:12px;color:var(--muted);margin-top:12px}.article-body{max-width:690px;margin:auto}.article-body p{font-size:17px;line-height:1.9;margin-bottom:23px}.article-body .article-lead{font-size:22px;line-height:1.65;color:var(--ink)}.article-body h2{font-size:clamp(29px,3vw,38px);margin:44px 0 20px;line-height:1.25}.article-body blockquote{margin:36px 0;padding:24px 28px;border-left:2px solid #a587af;background:#f3eef6;font:26px/1.5 Georgia,serif;color:var(--plum)}.article-signature{margin:30px 0 40px;font:italic 34px/1.3 Georgia,serif;color:var(--plum)}.article-signature span{display:block;margin-top:8px;font:11px/1.5 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.article-invitation{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin-bottom:28px}.article-invitation h2{margin-top:0}.article-invitation .button{margin-top:4px}@media(max-width:760px){.intro,.journal-feature{grid-template-columns:1fr}.intro-portrait{max-width:460px;width:100%}.intro-portrait img{aspect-ratio:1.3}.journal-feature img{aspect-ratio:1.3}.story-article{padding-top:32px;padding-bottom:56px}.article-photo{margin-bottom:32px}.article-photo img{aspect-ratio:1.2;border-top-right-radius:64px}.article-body .article-lead{font-size:20px}.article-body p{font-size:16px}.article-body blockquote{font-size:23px;padding:20px}.article-heading h1{font-size:46px}}@media(prefers-reduced-motion:reduce){.journal-feature-image:hover img{transform:none}}
/* Compact article index: featured story, search, filters and card grid. */
[hidden]{display:none!important}
.subhero.journal-intro{padding-block:32px 28px}.journal-intro .breadcrumbs{margin-bottom:18px}.journal-intro h1{font-size:clamp(38px,4.6vw,60px)}.journal-intro>p{margin-top:16px}
.journal-list.journal-featured{padding-top:40px;padding-bottom:40px}.journal-featured .journal-feature{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}.journal-featured .journal-feature h2{font-size:clamp(34px,3.6vw,50px);margin-bottom:14px}.journal-featured .journal-feature p{margin-bottom:16px}
.journal-browse{border-top:1px solid var(--line);padding:56px max(var(--gutter),calc((100vw - 1200px)/2)) var(--section)}
.journal-tools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px}.journal-search{display:flex;flex-direction:column;gap:8px;width:min(100%,380px);font-size:13px;color:#594460}.journal-search input{width:100%;min-height:48px;border:1px solid #d7c9e0;border-radius:2px;background:white;padding:11px 14px;font:16px 'DM Sans',sans-serif;color:var(--ink)}.journal-search input:focus{outline:2px solid #ae8cbc;outline-offset:2px}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{min-height:40px;border:1px solid #d7c9e0;border-radius:999px;background:white;color:var(--ink);padding:8px 16px;font-size:14px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.filter-chip:hover{border-color:#ae98b4}.filter-chip[aria-pressed=true]{background:var(--plum);border-color:var(--plum);color:white}
.journal-count{font-size:13px;color:var(--muted);margin-top:28px}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;margin-top:20px}
.journal-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:box-shadow .25s,transform .25s}.journal-card:hover{box-shadow:0 12px 26px #35253914;transform:translateY(-3px)}
.journal-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lilac)}.journal-card-image img{width:100%;height:100%;transition:transform .4s}.journal-card:hover .journal-card-image img{transform:scale(1.03)}
.journal-card-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.journal-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12px;color:var(--muted);margin-bottom:14px}.journal-tag{background:var(--lilac);color:var(--plum);padding:4px 10px;border-radius:2px;font-weight:600}
.journal-card h3{font-size:24px;margin-bottom:12px}.journal-card h3 a:hover{color:#92649b;text-decoration:underline}
.journal-card-summary{font-size:15px;line-height:1.7;margin-bottom:18px}
.journal-demo-note{font-size:12px;color:#6f5f78;border-top:1px dashed var(--line);padding-top:10px;margin-bottom:16px}
.journal-card-link{align-self:flex-start;margin-top:auto;font-size:14px}
.journal-more-wrap{text-align:center;margin-top:40px}
.demo-badge{display:inline-block;font-size:12px;line-height:1.5;color:#6f4f7a;background:var(--lilac);border:1px dashed #b89fc4;border-radius:2px;padding:6px 12px;margin-bottom:18px}
.journal-reset{background:transparent;border:0;cursor:pointer;color:var(--plum);margin-top:20px}
.journal-empty{text-align:center;padding:56px 0 8px}.journal-empty h2{font-size:34px;margin-bottom:14px}.journal-empty p{max-width:520px;margin:0 auto}
.journal-links.journal-links-compact{padding:0 max(var(--gutter),calc((100vw - 1200px)/2)) 64px;gap:20px}.journal-links.journal-links-compact a{padding:22px 26px}.journal-links.journal-links-compact h3{font-size:22px}.journal-links.journal-links-compact .eyebrow{margin-bottom:10px}
@media(max-width:1050px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.journal-featured .journal-feature{grid-template-columns:1fr}}
@media(max-width:600px){.subhero.journal-intro{padding-block:24px 22px}.journal-list.journal-featured{padding-block:32px}.journal-browse{padding-top:40px}.journal-grid{grid-template-columns:minmax(0,1fr)}.journal-card-body{padding:20px}.journal-tools{align-items:stretch}.journal-search{width:100%}.filter-bar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.filter-chip{flex-shrink:0}.journal-more-wrap{margin-top:32px}.journal-empty h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.journal-card,.journal-card-image img{transition:none}.journal-card:hover,.journal-card:hover .journal-card-image img{transform:none}}

.journal-grid.journal-feature-stack{grid-template-columns:minmax(0,1fr)}
.journal-feature-stack .journal-feature{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
.journal-feature-stack .journal-feature h2{font-size:clamp(34px,3.6vw,50px);margin-bottom:14px}.journal-feature-stack .journal-feature p{margin-bottom:16px}
@media(max-width:760px){.journal-feature-stack .journal-feature{grid-template-columns:1fr}}

/* Cover frames determine the layout independently of the source image. */
.journal-feature-image,.article-photo-frame{position:relative;overflow:hidden;min-width:0}
.journal-feature-image{aspect-ratio:5 / 4;align-self:start}
.article-photo-frame{aspect-ratio:16 / 9;border-radius:3px 100px 3px 3px}
.journal-feature-image img,.article-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.article-photo-frame img{border-radius:0}
@media(max-width:600px){.article-photo-frame{border-top-right-radius:64px}}

/* Use the same cover column for featured and regular articles. */
.journal-featured .journal-feature,.journal-feature-stack .journal-feature{width:100%}
.journal-featured .journal-feature,.journal-feature-stack .journal-feature{grid-template-columns:minmax(0,min(42%,459px)) minmax(0,1fr)}
@media(max-width:760px){
  .journal-featured .journal-feature,.journal-feature-stack .journal-feature{grid-template-columns:minmax(0,1fr)}
  .journal-feature-image{width:100%;max-width:459px}
}
