:root{--cream:#f3ebdd;--stone:#c9bdaa;--clay:#a56f56;--brown:#332821;--sage:#89917d;--white:#fffaf4;--serif:Fraunces,Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--brown);font-family:var(--sans);line-height:1.65}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit}img{max-width:100%;display:block}h1,h2{font-family:var(--serif);line-height:.98;letter-spacing:-.035em}h1{font-size:clamp(3.1rem,8vw,8rem);margin:.15em 0}h2{font-size:clamp(2.3rem,5vw,5rem);margin:.2em 0}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600}.button{display:inline-block;border:0;background:var(--brown);color:var(--white);padding:.9rem 1.4rem;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;cursor:pointer}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:white;padding:1rem}header{position:absolute;z-index:20;width:100%;padding:1.5rem 3vw;color:white;transition:.3s}header.scrolled{position:fixed;background:var(--cream);color:var(--brown);box-shadow:0 1px 0 #33282122}nav #navlinks{display:grid;grid-template-columns:repeat(4,1fr) 2fr repeat(5,1fr);align-items:center;gap:1rem;text-align:center}nav a{text-decoration:none;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em}.brand{font-family:var(--serif);font-size:1.2rem!important;font-weight:800;line-height:1}.brand span{display:block}.brand small{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.3em;margin-top:.35rem}.language{border-left:1px solid currentColor}.menu{display:none}.hero{min-height:100svh;display:grid;align-items:end;padding:12rem 7vw 7vw;color:white;background:linear-gradient(90deg,#1f1914cc,#33282130),linear-gradient(135deg,#6e796b,#a56f56 55%,#332821);position:relative}.hero:after{content:'✦';position:absolute;right:8vw;top:22%;font-size:11rem;color:#f3ebdd33}.hero>div{max-width:970px}.hero h1{font-size:clamp(3.5rem,8.8vw,9.2rem)}.hero p:not(.eyebrow){font-size:1.15rem}.intro,.page-heading{padding:12vw 8vw;max-width:1150px}.intro p:not(.eyebrow){max-width:650px;font-size:1.2rem}.services{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:4vw 8vw 12vw}.services article:nth-child(2){margin-top:13vw}.placeholder{display:block;min-height:500px;background:linear-gradient(140deg,#89917d,#c9bdaa 48%,#a56f56);position:relative;overflow:hidden}.placeholder:after{content:'PLACEHOLDER PHOTOGRAPH';position:absolute;inset:auto 1rem 1rem;text-align:center;color:#fff9;font-size:.65rem;letter-spacing:.2em}.p2{background:linear-gradient(155deg,#332821,#a56f56 50%,#d5c0a7)}.p3{background:linear-gradient(40deg,#c9bdaa,#89917d 50%,#332821)}.masonry{columns:3 260px;gap:1rem;padding:2vw}.gallery-item{border:0;padding:0;margin:0 0 1rem;width:100%;background:none;cursor:pointer;break-inside:avoid}.gallery-item img,.gallery-item .placeholder{width:100%;min-height:320px;object-fit:cover}.gallery-item:nth-child(3n) .placeholder{min-height:520px}.quote{background:var(--brown);color:var(--cream);padding:11vw 12vw;text-align:center}.quote blockquote{font-family:var(--serif);font-size:clamp(2.2rem,5vw,5.5rem);line-height:1.05;margin:0 auto;max-width:1100px}.quote cite{font-family:var(--sans);display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;margin-top:2rem}.split,.enquiry{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:12vw 8vw;align-items:center}.page{padding:15vw 10vw 10vw;max-width:1100px;margin:auto}.page .prose{font-size:1.16rem;max-width:760px;white-space:normal}.enquiry{background:var(--stone)}form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}label:has(textarea),form .button,.errors{grid-column:1/-1}input,select,textarea{font:inherit;background:transparent;border:0;border-bottom:1px solid var(--brown);padding:.7rem 0;border-radius:0}textarea{min-height:130px}.honeypot{position:absolute;left:-9999px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;padding:0 8vw 10vw}.cards .placeholder{min-height:330px}.pagination{text-align:center;padding:2rem}footer{background:var(--brown);color:var(--cream);display:grid;grid-template-columns:2fr 2fr 1fr;gap:5vw;padding:6vw 8vw;font-size:.85rem}.whatsapp{position:fixed;z-index:30;right:1.2rem;bottom:1.2rem;background:#315c45;color:white;padding:.8rem 1rem;border-radius:99px;text-decoration:none;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}#cookie{position:fixed;z-index:50;bottom:1rem;left:1rem;right:1rem;background:var(--brown);color:white;padding:1rem;max-width:600px}dialog{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:#000d;padding:4rem}dialog img{width:100%;height:100%;object-fit:contain}dialog button{position:absolute;right:1rem;top:1rem;font-size:2rem;background:none;color:white;border:0}
@media(max-width:850px){header{position:absolute;color:white}.menu{display:block;margin-left:auto;background:none;border:1px solid currentColor;color:inherit;padding:.5rem 1rem}nav #navlinks{display:none;position:fixed;inset:0;background:var(--cream);color:var(--brown);padding:5rem 2rem;grid-template-columns:1fr;align-content:center}nav #navlinks.open{display:grid}.brand{grid-row:1}.services,.split,.enquiry,.cards,footer{grid-template-columns:1fr}.services article:nth-child(2){margin-top:0}.hero{padding:9rem 1.5rem 4rem}.intro,.services,.split,.enquiry,.page,.page-heading{padding:6rem 1.5rem}form{grid-template-columns:1fr}.cards{padding:0 1.5rem 5rem}.masonry{columns:2 150px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Refined editorial interface */
header{padding:1.15rem 3.5vw}header nav{max-width:1500px;margin:auto}nav #navlinks{gap:clamp(.55rem,1vw,1.25rem)}nav #navlinks>a:not(.brand){position:relative;padding:.65rem .15rem}nav #navlinks>a:not(.brand):after{content:"";position:absolute;left:15%;right:15%;bottom:.25rem;height:1px;background:currentColor;transform:scaleX(0);transition:transform .25s ease;transform-origin:right}nav #navlinks>a:hover:after,nav #navlinks>a.active:after{transform:scaleX(1);transform-origin:left}.brand{font-size:1.35rem!important}.brand span{font-size:.8rem;margin-bottom:.2rem}.language{border:1px solid currentColor!important;border-radius:999px;padding:.5rem .65rem!important;display:inline-flex;gap:.4rem;justify-content:center;align-items:center}.language span{font-weight:700;font-size:.62rem}.language:after{display:none}.mobile-brand{display:none}.hero{isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 25%,transparent 0 10%,#1a120c55 55%,#160f0bb0);z-index:-1}.hero>div{padding-left:clamp(0rem,4vw,4rem);border-left:1px solid #fff7;padding-bottom:1rem}.hero .button{margin-top:1.2rem}.button{border-radius:999px;padding:1rem 1.55rem;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);background:var(--clay)}.intro{margin:auto;text-align:center}.intro p:not(.eyebrow){margin:1.5rem auto 0}.services article{background:#fff8;padding:clamp(1rem,2vw,2rem);box-shadow:0 20px 60px #33282112}.services article .placeholder{margin:-2rem -2rem 2rem}.services article a{display:inline-block;margin-top:1rem;text-underline-offset:.35rem}.quote{position:relative}.quote:before,.quote:after{content:"✦";position:absolute;color:#f3ebdd2b;font-size:5rem}.quote:before{left:5vw;top:3vw}.quote:after{right:5vw;bottom:3vw}.split>div:first-child{max-width:570px}.page-heading{margin:auto;text-align:center}.page-heading p{max-width:650px;margin:1.5rem auto}.page-heading h1{font-size:clamp(3.2rem,7vw,7rem)}.page{padding-top:12rem}.page>h1{padding-bottom:2rem;border-bottom:1px solid #33282133}.page .prose{margin-top:3rem;line-height:1.9}.enquiry{position:relative;background:linear-gradient(145deg,var(--stone),#dfd3c1)}.enquiry:before{content:"✦";position:absolute;left:4vw;top:3vw;color:#33282122;font-size:4rem}.enquiry form{background:#f8f1e7;padding:clamp(1.5rem,4vw,3.5rem);box-shadow:0 24px 70px #33282116}.enquiry input:focus,.enquiry select:focus,.enquiry textarea:focus{outline:2px solid var(--clay);outline-offset:4px}.cards article{background:#fff8;padding:1.25rem}.cards article .placeholder{margin:-1.25rem -1.25rem 1.5rem}.whatsapp{box-shadow:0 8px 24px #1d382b55}.whatsapp:hover{background:#254a37}footer{border-top:5px solid var(--clay)}
@media(max-width:850px){header{padding:1rem 1.25rem}.mobile-brand{display:inline-flex;flex-direction:column;text-decoration:none;font-family:var(--serif);font-weight:800;font-size:1.1rem;line-height:1}.mobile-brand small{font-family:var(--sans);font-size:.48rem;letter-spacing:.25em;text-transform:uppercase;margin-top:.28rem}header nav{display:flex;align-items:center}.menu{border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}nav #navlinks{padding:4.5rem 2rem 2rem;gap:.35rem;overflow:auto}nav #navlinks>a:not(.brand){font-family:var(--serif);font-size:1.45rem;text-transform:none;letter-spacing:0}.brand{font-size:1.65rem!important;margin-bottom:1rem}.language{font-family:var(--sans)!important;font-size:.8rem!important;text-transform:uppercase!important;margin-top:1rem}.hero>div{padding-left:1rem}.services article .placeholder{margin:-1rem -1rem 1.5rem}.page{padding-top:8rem}.enquiry form{padding:1.25rem}}
#cookie{bottom:1.25rem;left:1.25rem;right:1.25rem;padding:1.25rem 1.5rem;max-width:560px;box-shadow:0 18px 60px #0005;border-top:3px solid var(--clay)}#cookie p{margin:0 0 1rem}#cookie button{border:1px solid var(--cream);background:var(--cream);color:var(--brown);padding:.65rem .9rem;margin-right:.45rem;text-transform:uppercase;letter-spacing:.08em;font:600 .65rem var(--sans);cursor:pointer}#cookie button:last-child{background:transparent;color:var(--cream)}

/* Structured service pages */
header{color:var(--brown)}body:has(.hero) header,body:has(.service-hero) header{color:var(--white)}header.scrolled{color:var(--brown)}
.service-hero{min-height:92svh;background:var(--brown);color:var(--cream);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(2rem,6vw,7rem);padding:11rem 7vw 6rem;align-items:center;position:relative;overflow:hidden}.service-hero:before{content:"✦";position:absolute;left:45%;top:15%;font-size:9rem;color:#f3ebdd0d}.service-hero>div:first-child{max-width:920px}.service-hero h1{font-size:clamp(3.6rem,7.5vw,8.5rem);margin:.2em 0 .25em}.service-lead{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:720px;color:#f3ebddcf}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem;flex-wrap:wrap}.service-hero .button{background:var(--cream);color:var(--brown)}.text-link{text-underline-offset:.4rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.service-art{min-height:620px;transform:rotate(1.5deg);box-shadow:25px 25px 0 #a56f563d}.service-art span{position:absolute;inset:auto 1.5rem 1.5rem;color:white;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.service-story,.included{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(3rem,9vw,10rem);padding:clamp(6rem,10vw,11rem) 8vw;max-width:1500px;margin:auto}.service-story h2,.included h2{font-size:clamp(2.7rem,5vw,5.7rem)}.rich-copy{max-width:720px;font-size:1.14rem}.rich-copy p:first-child:first-letter{font-family:var(--serif);font-size:4.5rem;float:left;line-height:.72;margin:.14em .12em 0 0;color:var(--clay)}
.packages,.session-types,.process,.faq-section{padding:clamp(5rem,9vw,10rem) 7vw}.packages{background:#e7dccb}.section-heading{position:static;z-index:auto;width:auto;padding:0;transition:none;max-width:870px;margin:0 auto 4rem;text-align:center}.packages>.section-heading,.session-types>.section-heading,.process>.section-heading,.faq-section>.section-heading{color:var(--brown)}.section-heading>p:last-child{max-width:650px;margin:1.4rem auto}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1350px;margin:auto;align-items:stretch}.package-card{position:relative;background:#f8f1e7;padding:clamp(1.6rem,3vw,3rem);display:flex;flex-direction:column;min-height:520px;border:1px solid transparent}.package-card.featured{background:var(--brown);color:var(--cream);transform:translateY(-1.25rem)}.package-card h3,.type-grid h3,.process-list h3{font:700 clamp(1.7rem,2.4vw,2.5rem)/1.05 var(--serif);margin:.6rem 0}.package-card strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.package-card .price{font:700 2.1rem var(--serif);margin-top:auto}.package-card a{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;text-underline-offset:.35rem}.package-number{font:600 .7rem var(--sans);letter-spacing:.2em}.badge{position:absolute;right:1rem;top:1rem;background:var(--clay);color:white;padding:.35rem .6rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.13em}
.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#33282130;max-width:1400px;margin:auto}.type-grid article{background:var(--cream);padding:clamp(1.5rem,3vw,3.5rem);min-height:360px}.type-grid article>span,.process-list article>span{font-size:.68rem;letter-spacing:.2em;color:var(--clay);font-weight:700}.included{background:var(--brown);color:var(--cream);max-width:none}.included>div{max-width:560px}.included ul{list-style:none;padding:0;margin:0;display:grid;gap:0}.included li{display:grid;grid-template-columns:2rem 1fr;gap:.8rem;padding:1.2rem 0;border-bottom:1px solid #f3ebdd30;font-size:1.05rem}.included li span{color:var(--clay)}
.process{background:#f8f1e7}.process-list{max-width:1150px;margin:auto}.process-list article{display:grid;grid-template-columns:60px minmax(180px,.55fr) minmax(0,1fr);gap:2rem;padding:2rem 0;border-top:1px solid #33282133;align-items:start}.process-list p{margin:.2rem 0;max-width:650px}.service-quote{background:var(--clay);color:white;padding:clamp(5rem,10vw,10rem) 8vw;text-align:center}.service-quote blockquote{font:700 clamp(2.6rem,6vw,6.7rem)/1 var(--serif);max-width:1200px;margin:1rem auto 2.5rem}.faq-section{max-width:1200px;margin:auto}.faq-list{border-top:1px solid #33282144}.faq-list details{border-bottom:1px solid #33282144}.faq-list summary{list-style:none;cursor:pointer;padding:1.5rem 0;display:flex;justify-content:space-between;gap:2rem;font:700 clamp(1.25rem,2vw,1.7rem) var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:720px;margin:0 0 1.8rem;color:#332821cc}.trap{position:absolute;left:-10000px}.wide{grid-column:1/-1}.error{grid-column:1/-1;color:#8b2e23;font-weight:600}
@media(max-width:900px){.service-hero{grid-template-columns:1fr;padding:9rem 1.5rem 4rem}.service-art{min-height:420px;transform:none}.service-story,.included{grid-template-columns:1fr;padding:5rem 1.5rem;gap:2rem}.package-grid,.type-grid{grid-template-columns:1fr}.package-card.featured{transform:none}.package-card{min-height:400px}.process,.packages,.session-types,.faq-section{padding:5rem 1.5rem}.process-list article{grid-template-columns:42px 1fr;gap:1rem}.process-list article p{grid-column:2}.service-quote{padding:5rem 1.5rem}}
.location-links{padding:clamp(5rem,9vw,9rem) 8vw;text-align:center;background:#e7dccb}.location-links>p{max-width:680px;margin:1rem auto}.location-links>div{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}.location-links>div a{border:1px solid #33282155;border-radius:999px;padding:.65rem 1rem;text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.location-links>div a:hover{background:var(--brown);color:var(--cream)}.location-page .standfirst{font:600 clamp(1.45rem,2.5vw,2rem)/1.35 var(--serif);color:var(--clay)}.location-page h2{font-size:clamp(2rem,4vw,4rem);margin-top:3.5rem}.inline-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.5rem;flex-wrap:wrap}
@media(max-width:1350px){header{padding:1rem 1.25rem}.mobile-brand{display:inline-flex;flex-direction:column;text-decoration:none;font-family:var(--serif);font-weight:800;font-size:1.1rem;line-height:1}.mobile-brand small{font-family:var(--sans);font-size:.48rem;letter-spacing:.25em;text-transform:uppercase;margin-top:.28rem}header nav{display:flex;align-items:center}.menu{display:block;margin-left:auto;background:none;border:1px solid currentColor;color:inherit;padding:.55rem 1rem;border-radius:999px;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem}nav #navlinks{display:none;position:fixed;inset:0;background:var(--cream);color:var(--brown);padding:4.5rem 2rem 2rem;grid-template-columns:1fr;align-content:center;gap:.35rem;overflow:auto}nav #navlinks.open{display:grid}nav #navlinks>a:not(.brand){font-family:var(--serif);font-size:1.45rem;text-transform:none;letter-spacing:0}.brand{grid-row:1;font-size:1.65rem!important;margin-bottom:1rem}.language{font-family:var(--sans)!important;font-size:.8rem!important;text-transform:uppercase!important;margin-top:1rem}}
#cookie{max-width:410px;font-size:.88rem}
body.menu-open{overflow:hidden}
.location-links{padding:clamp(5rem,9vw,9rem) 8vw;text-align:center;background:#e7dccb}.location-links>p{max-width:680px;margin:1rem auto}.location-links>div{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}.location-links>div a{border:1px solid #33282155;border-radius:999px;padding:.65rem 1rem;text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.location-links>div a:hover{background:var(--brown);color:var(--cream)}.location-page .standfirst{font:600 clamp(1.45rem,2.5vw,2rem)/1.35 var(--serif);color:var(--clay)}.location-page h2{font-size:clamp(2rem,4vw,4rem);margin-top:3.5rem}.inline-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.5rem;flex-wrap:wrap}
