:root{--blue:#6b6acc;--deep:#6b6acc;--lime:#c2d500;--ink:#262626;--paper:#f6f7f2;--white:#fff;--line:#dedee8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.topbar{height:90px;padding:0 4.5vw;display:flex;align-items:center;gap:40px;background:#fff;position:relative;z-index:10}.brand img{width:128px;display:block}.topbar nav{display:flex;gap:clamp(16px,2vw,30px);margin-left:auto;font-size:.88rem;font-weight:600}.topbar nav a{white-space:nowrap}.topbar nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:#262626;padding:15px 26px;border-radius:2px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(.96)}.button.small{padding:11px 20px;background:var(--blue);color:#fff}.menu{display:none}.hero{min-height:720px;height:calc(100vh - 90px);position:relative;color:#fff;overflow:hidden}.hero-img,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.65) 36%,rgba(0,0,0,.08) 72%)}.hero-copy{position:relative;z-index:2;width:min(650px,55vw);padding:12vh 0 0 7vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;margin:0 0 22px}.eyebrow:before{content:"";display:inline-block;width:36px;height:2px;background:var(--lime);vertical-align:middle;margin-right:14px}.eyebrow.blue{color:var(--blue)}.eyebrow.lime{color:var(--lime)}h1,h2{font-family:"Playfair Display",Georgia,serif;line-height:1.04;margin:0;font-weight:600}h1{font-size:clamp(3.2rem,6.3vw,6.5rem);letter-spacing:-.04em}h1 em,h2 em{font-weight:500;color:var(--lime)}.hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:560px;color:#fff;margin:30px 0}.actions{display:flex;align-items:center;gap:28px}.text-link{font-weight:600;border-bottom:1px solid rgba(255,255,255,.45)}.hero-note{position:absolute;z-index:2;right:4vw;bottom:28px;display:flex;gap:24px;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.hero-note span:before{content:"";width:6px;height:6px;background:var(--lime);border-radius:50%;display:inline-block;margin-right:8px}.section{padding:110px 7vw}.intro{display:grid;grid-template-columns:.55fr 1.15fr .8fr;gap:5vw;align-items:start}.intro h2,.section-head h2,.centre h2{font-size:clamp(2.6rem,4.2vw,4.8rem);color:var(--deep)}.lead{font-size:1.2rem;margin:8px 0;color:#50505d}.services{background:#fff}.section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:55px}.section-head>p{color:#64646c}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.service-grid article{background:#fff;padding:42px;min-height:390px;display:flex;flex-direction:column}.service-grid article>span{font-size:.75rem;color:#8c8d91}.service-grid h3{font-family:"Playfair Display",Georgia,serif;font-size:2.05rem;margin:45px 0 15px;color:var(--deep)}.service-grid p{color:#61616b}.service-grid a{margin-top:auto;color:var(--blue);font-weight:700}.service-grid .featured{background:var(--blue);color:#fff}.service-grid .featured h3,.service-grid .featured a{color:#fff}.service-grid .featured p{color:#fff}.service-grid .featured>span{color:var(--lime)}.method{background:var(--deep);color:#fff;padding:120px 7vw}.method-inner{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.method h2{font-size:clamp(2.8rem,4.5vw,5rem)}.method ol{list-style:none;padding:0;margin:0}.method li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:26px 0;border-top:1px solid rgba(255,255,255,.18)}.method li>span{color:var(--lime);font-size:.8rem}.method h3{margin:0 0 7px;font-size:1.25rem}.method li p{margin:0;color:#fff}.centre{display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:stretch}.centre-card{background:#fff;padding:70px}.centre-card>p:not(.eyebrow){max-width:600px;color:#64646c}.stats{display:flex;gap:65px;margin-top:50px}.stats div{display:flex;flex-direction:column}.stats strong{font-family:"Playfair Display";font-size:2.4rem;color:var(--blue)}.stats span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.quote{background:var(--lime);padding:60px;display:flex;flex-direction:column;justify-content:flex-end}.quote p{font-family:"Playfair Display";font-size:2.5rem;line-height:1.15}.contact{background:var(--blue);color:#fff;padding:100px 7vw;display:grid;grid-template-columns:1.25fr .75fr;gap:9vw}.contact h2{font-size:clamp(3rem,5vw,5.4rem)}.contact>div>p:not(.eyebrow){color:#fff;max-width:520px;margin-bottom:34px}.limebtn{background:var(--lime)}address{font-style:normal;display:grid;grid-template-columns:1fr 1fr;gap:30px}address div{border-top:1px solid rgba(255,255,255,.25);padding-top:14px;display:flex;flex-direction:column}address small{text-transform:uppercase;letter-spacing:.12em;color:#fff;margin-bottom:7px}address a,address span{font-weight:600}footer{background:#6b6acc;color:#fff;padding:42px 7vw;display:flex;align-items:center;gap:35px;font-size:.82rem}footer img{width:100px;filter:brightness(0) invert(1);opacity:.85}footer p:last-child{margin-left:auto}.mobile-book{display:none}
.activities .section-head,.gift .section-head,.careers .section-head{margin-bottom:0}.activities .section-head>div>p:not(.eyebrow),.gift .section-head>div>p:not(.eyebrow){color:#64646c}@media(max-width:1100px){.topbar{gap:20px;padding:0 3vw}.topbar nav{gap:16px}.desktop-cta{display:none}}
@media(max-width:1200px){body{padding-bottom:60px}.topbar{height:72px;padding:0 20px}.brand img{width:105px}.desktop-cta{display:none}.menu{display:block;margin-left:auto;border:0;background:none;color:var(--blue);font-weight:700}.topbar nav{position:absolute;top:72px;left:0;right:0;background:#fff;display:none;flex-direction:column;margin:0;padding:24px;box-shadow:0 12px 20px rgba(0,0,0,.08)}.topbar nav.open{display:flex}.hero{height:720px;min-height:0}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42)),linear-gradient(0deg,rgba(0,0,0,.7),transparent)}.hero-img{object-position:64% center}.hero-copy{width:auto;padding:115px 24px 0}.hero-copy>p:not(.eyebrow){font-size:1rem}.actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{left:24px;right:24px;flex-wrap:wrap;gap:10px 18px}.section{padding:75px 24px}.intro,.section-head,.method-inner,.centre,.contact{grid-template-columns:1fr}.intro{gap:24px}.section-head{gap:15px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:310px}.method{padding:80px 24px}.centre{gap:0}.centre-card,.quote{padding:42px 28px}.stats{gap:35px}.contact{padding:80px 24px;gap:60px}address{grid-template-columns:1fr}footer{padding:40px 24px;display:grid;gap:10px}footer p{margin:0!important}.mobile-book{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;height:60px;align-items:center;justify-content:center;background:var(--lime);font-weight:800;color:var(--deep)}}

/* Axial identity and return navigation */
.brand img{width:164px}.topbar{height:100px;gap:24px;padding:0 3vw}.hero{height:calc(100vh - 100px)}
.section-logo{display:block;width:160px;max-width:100%;height:auto}.identity .eyebrow{margin-top:26px}.gift-logo{margin-bottom:28px}
.centre-photo{margin:0;align-self:center;background:#fff}.centre-photo>img{display:block;width:100%;height:auto}.centre-photo figcaption{padding:24px;display:flex;justify-content:center}
.section-return{grid-column:1/-1;margin-top:40px}.section-return a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;font-weight:600;font-size:.9rem}.section-return a:hover{opacity:.75}
.back-home{position:fixed;right:20px;bottom:24px;z-index:30;background:var(--blue);color:#fff;padding:12px 18px;border:1px solid #fff;border-radius:3px;box-shadow:0 3px 14px #0002;font-size:.9rem;font-weight:600}
a:focus-visible,button:focus-visible{outline:3px solid var(--lime);outline-offset:5px}
@media(min-width:1201px) and (max-width:1450px){.desktop-cta{display:none}.topbar nav{gap:16px}}
@media(max-width:1200px){.topbar{height:84px;padding:0 20px}.brand img{width:140px}.topbar nav{top:84px}.hero{height:720px}.back-home{bottom:76px;right:12px;padding:10px 14px}.section-return{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.activity-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px}.activity-image{display:block;background:#fff}.activity-image img{display:block;width:100%;height:auto}.activity-image:hover{box-shadow:0 4px 20px #6b6acc20}@media(max-width:850px){.activity-gallery{grid-template-columns:1fr;max-width:540px;margin:32px auto 0}}

.team-block{grid-column:1/-1;margin-top:24px}.team-block>h3{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,3vw,3rem);color:var(--deep);margin:0 0 38px}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.team-member{margin:0;text-align:center;padding:32px 20px;background:var(--white);border-top:3px solid var(--lime)}.team-member>img{display:block;width:240px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:0 auto 24px}.team-member:nth-child(2)>img{object-position:50% 25%}.team-member h4{font-size:1.2rem;line-height:1.4;margin:0 0 6px;color:var(--blue)}.team-member p{margin:0;color:#50505d}@media(max-width:850px){.team-grid{grid-template-columns:1fr;max-width:540px;margin:auto}.team-block{margin-top:16px}.team-member>img{width:240px}}

.service-grid .specialty-photo{display:block;width:100%;height:240px;object-fit:contain;background:#f0f1ed;margin-top:24px}.service-grid h3{margin-top:26px}.service-grid .featured .specialty-photo{background:var(--deep)}@media(max-width:800px){.service-grid .specialty-photo{height:auto;max-height:360px}}

.team-block>h3{white-space:nowrap;font-size:clamp(1.5rem,3vw,3rem)}

.intro .person-heading{font-size:clamp(1.4rem,2.7vw,3.5rem);line-height:1.15}.person-heading span{display:block;white-space:nowrap}

@media(min-width:1201px){.desktop-cta{display:none}.topbar nav{gap:16px}}@media(min-width:1201px) and (max-width:1600px){.menu{display:block;margin-left:auto;border:0;background:none;color:var(--blue);font-size:.9rem;font-weight:700}.topbar nav{position:absolute;top:100px;left:0;right:0;background:#fff;display:none;flex-direction:column;margin:0;padding:24px;box-shadow:0 12px 20px rgba(0,0,0,.08)}.topbar nav.open{display:flex}}

/* Compact team overview */
.intro{padding-top:40px;padding-bottom:32px;row-gap:18px;column-gap:4vw;align-items:center}.intro .identity .section-logo{width:125px}.intro .identity .eyebrow{margin-top:14px;margin-bottom:0}.intro .lead{font-size:1.05rem;margin:0}.intro .team-block{margin-top:0}.intro .team-block>h3{margin-bottom:16px;font-size:clamp(1.5rem,2.2vw,2.4rem)}.intro .team-grid{gap:20px}.intro .team-member{padding:18px 12px}.intro .team-member>img{width:150px;margin-bottom:12px}.intro .team-member h4{font-size:1rem;margin-bottom:4px}.intro .team-member p{font-size:.9rem}.intro .section-return{margin-top:0}
@media(max-width:850px){.intro{padding:28px 24px;grid-template-columns:.7fr 1.3fr;gap:16px}.intro .identity .section-logo{width:105px}.intro .person-heading{font-size:clamp(1rem,3.7vw,1.8rem)}.intro .lead{grid-column:1/-1;font-size:1rem}.intro .team-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:8px}.intro .team-member{padding:12px 4px}.intro .team-member>img{width:130px;margin-bottom:10px}.intro .team-member h4{font-size:.875rem;line-height:1.3}.intro .team-member p{font-size:.875rem;line-height:1.4}.intro .team-block>h3{font-size:1.5rem;margin-bottom:12px}}

/* Keep the complete logo inside the header */
.topbar{height:auto;min-height:164px;padding:20px 3vw 12px}.brand{display:block;flex-shrink:0;margin-top:8px}.brand img{height:auto;object-fit:contain}.topbar nav{top:100%}.hero{height:calc(100vh - 164px)}
/* Give the two-line heading enough room at the shared title size */
.intro{grid-template-columns:160px minmax(0,1fr)}.intro .person-heading{font-size:clamp(2.6rem,4.2vw,4.8rem);line-height:1.04}.intro .lead{grid-column:2;max-width:780px}
@media(max-width:1200px){.topbar{min-height:140px;padding:16px 20px 8px}.topbar nav{top:100%}.hero{height:720px}}
@media(max-width:850px){.intro{grid-template-columns:1fr}.intro .person-heading{font-size:clamp(1.75rem,7vw,2.6rem)}.intro .lead{grid-column:1}.intro .identity{display:flex;align-items:center;gap:20px}.intro .identity .eyebrow{margin:0}}

/* Always-visible main navigation */
.topbar{flex-wrap:wrap;gap:16px 30px}.topbar nav,.topbar nav.open{position:static;display:flex;flex-direction:row;flex-wrap:wrap;flex:1 1 700px;justify-content:flex-end;align-items:center;gap:8px 22px;margin:0 0 0 auto;padding:0;background:transparent;box-shadow:none}.topbar nav a{display:flex;align-items:center;min-height:44px;line-height:1.4;white-space:normal;font-size:.875rem}.menu{display:none!important}
@media(max-width:1000px){.topbar{padding:16px 24px;gap:12px}.topbar nav,.topbar nav.open{flex-basis:100%;justify-content:flex-start;gap:4px 20px;margin:0}.topbar nav a{font-size:.875rem}}

.method .eyebrow.lime,.contact .eyebrow.lime,.method li>span,.service-grid .featured>span{color:var(--white)}

.activity-intro{display:flex;flex-direction:column;align-items:center;gap:20px}.activity-mark{width:180px;max-width:55%;background:transparent}.activity-material{width:100%}.activity-material img{height:auto}.activity-intro .activity-mark:hover{box-shadow:none}

/* Fit the complete opening screen below its visible navigation */
:root{--header-height:164px;--booking-height:0px}.hero{height:calc(100svh - var(--header-height) - var(--booking-height));min-height:0;padding:24px 7vw 16px;display:flex;flex-direction:column;justify-content:center}.hero-copy{width:min(760px,75%);padding:0;margin-block:auto}.hero h1{font-size:clamp(2rem,min(6vw,8svh),6.5rem)}.hero-copy .eyebrow{margin-bottom:14px}.hero-copy>p:not(.eyebrow){font-size:1.05rem;line-height:1.5;margin:18px 0}.hero .actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 24px}.hero .button{padding:12px 20px}.hero-note{position:relative;left:auto;right:auto;bottom:auto;flex-wrap:wrap;gap:8px 20px;margin-top:18px;flex-shrink:0}
@media(max-width:1200px){:root{--booking-height:60px}.hero-copy{width:min(760px,100%)}}
@media(max-width:600px){.topbar{min-height:0;padding:8px 16px;gap:8px}.brand{margin-top:0}.brand img{width:90px}.topbar nav,.topbar nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}.topbar nav a{min-height:34px;line-height:1.25}.hero{padding:16px 24px 12px}.hero h1{font-size:clamp(1.8rem,7.8vw,2.7rem)}.hero-copy .eyebrow{margin-bottom:10px}.hero-copy>p:not(.eyebrow){font-size:1rem;margin:12px 0}.hero .actions{gap:8px 16px}.hero .button{font-size:.875rem;padding:10px 14px}.hero-note{gap:6px 12px;margin-top:12px;letter-spacing:.04em}}
@media(min-width:601px) and (max-height:650px){.topbar{min-height:0;padding-top:8px;padding-bottom:8px}.brand{margin-top:0}.brand img{width:105px}.hero-copy .eyebrow{margin-bottom:8px}.hero-copy>p:not(.eyebrow){margin:10px 0}.hero{padding-top:12px;padding-bottom:12px}.hero-note{margin-top:10px}}

.service-grid article:first-child{background:var(--lime)}.service-grid article:first-child .specialty-photo{background:var(--lime)}.service-grid article:first-child p,.service-grid article:first-child a,.service-grid article:first-child>span{color:var(--ink)}

.method-photo{display:block;width:100%;height:auto;margin-top:30px;border:2px solid var(--lime)}.method-inner{align-items:start}

.centre-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.centre-gallery a{display:flex;align-items:center;justify-content:center;background:var(--white);border-bottom:3px solid var(--lime)}.centre-gallery img{display:block;width:100%;height:280px;object-fit:contain}.centre-gallery a:hover{box-shadow:0 4px 18px #0002}@media(max-width:1000px){.centre-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media(max-width:600px){.centre-gallery{grid-template-columns:1fr}.centre-gallery img{height:auto;max-height:420px}}

.contact-photo{grid-column:1/-1;margin:0;max-width:360px;justify-self:center}.contact-photo img{display:block;width:100%;height:auto;border:2px solid var(--lime)}

