:root {
  --paper: #f5f3ee; --ivory: #e9e6de; --ink: #22251f; --muted: #72756c;
  --olive: #777b68; --champagne: #b9a77e; --line: #d2d0c7;
  --serif: 'Playfair Display', Georgia, serif; --sans: 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 14px/1.8 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.site-header { height: 92px; padding: 0 7vw; display:flex; justify-content:space-between; align-items:center; position:relative; z-index:5; background:var(--paper); border-bottom:1px solid rgba(185,167,126,.22); }
.wordmark { font: 500 14px/1.25 var(--sans); letter-spacing:.19em; white-space:nowrap; }
.wordmark span { font-weight:400; }
.wordmark small { display:block; font-size:8px; letter-spacing:.34em; color:var(--olive); margin-top:4px; }
.navigation { display:flex; align-items:center; gap:34px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.navigation a:hover { opacity:.55; }
.navigation a[aria-current=page]:not(.nav-contact) { border-bottom:1px solid var(--olive); padding-bottom:7px; }
.nav-contact { padding:12px 16px; border:1px solid rgba(185,167,126,.78); }
.nav-contact span { margin-left:15px; }
.menu-toggle { display:none; border:0; background:none; color:var(--ink); font-size:22px; }
.eyebrow { font-size:9px; line-height:1.5; letter-spacing:.21em; font-weight:600; text-transform:uppercase; color:#89836f; }
.hero { height:min(780px,82vw); min-height:590px; position:relative; color:#fff; background:#6b6f62; overflow:hidden; }
.hero-image,.hero-shade { position:absolute; inset:0; }
.hero-image { background:url('https://images.unsplash.com/photo-1510798831971-661eb04b3739?auto=format&fit=crop&w=2200&q=88') center 49%/cover; }
.hero-shade { background:linear-gradient(90deg,rgba(22,27,22,.55),rgba(22,27,22,.10) 75%),linear-gradient(0deg,rgba(16,19,16,.35),transparent 35%); }
.hero-copy { position:absolute; left:12%; top:50%; transform:translateY(-46%); max-width:580px; }
.hero .eyebrow,.page-hero .eyebrow,.contact-hero .eyebrow { color:#efeee8; }
.hero h1,.page-hero h1,.contact-hero h1 { font:400 clamp(58px,7.2vw,96px)/1.04 var(--serif); letter-spacing:-.035em; margin:27px 0; }
.hero h1 em,.page-hero h1 em,.contact-hero h1 em,.manifesto h2 em,.section-heading h2 em,.quote-band blockquote em,.closing h2 em,.about-intro h2 em,.principles h2 em,.founder h2 em,.retreat-intro h2 em,.feature-copy h2 em,.contact-content h2 em,.charter-card h2 em,.package-section h2 em { font-weight:400; }
.hero-intro { max-width:400px; font-size:14px; line-height:1.9; color:rgba(255,255,255,.86); margin:0 0 29px; }
.button { display:inline-flex; align-items:center; gap:24px; padding:14px 19px; font-size:10px; letter-spacing:.09em; text-transform:uppercase; border:1px solid var(--ink); transition:background .2s,color .2s; }
.button span { font-size:15px; }
.button-light { border-color:#ffffffa6; color:white; }
.button-light:hover { background:white; color:var(--ink); }
.button-dark { background:var(--ink); color:#fff; }
.button-dark:hover { background:transparent; color:var(--ink); }
.hero-caption { position:absolute; bottom:25px; left:7vw; right:7vw; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.18em; color:#ffffffb8; }
.manifesto { text-align:center; padding:130px 20px 125px; max-width:850px; margin:auto; }
.manifesto h2,.section-heading h2,.closing h2,.about-intro h2,.principles h2,.founder h2,.retreat-intro h2,.feature-copy h2,.contact-content h2 { font:400 clamp(40px,5vw,60px)/1.2 var(--serif); letter-spacing:-.025em; margin:22px 0; }
.manifesto>p:not(.eyebrow) { max-width:590px; margin:0 auto 25px; color:var(--muted); font-size:13px; line-height:2; }
.text-link { display:inline-block; border-bottom:1px solid rgba(185,167,126,.7); padding:0 0 7px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; transition:border-color .2s,color .2s; }
.text-link:hover { border-color:var(--champagne); color:#8b7956; }
.text-link span { margin-left:16px; }
.expertise { padding:86px 7vw 110px; background:#eeece5; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:38px; }
.section-heading h2 { margin:13px 0 0; }
.section-heading>p { color:var(--muted); font-size:12px; max-width:220px; }
.expertise-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.expertise-card { min-height:370px; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:22px; color:white; background-size:cover; background-position:center; overflow:hidden; }
.expertise-card:before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,24,20,.79),rgba(20,24,24,.02) 80%); }
.expertise-card:after { content:''; position:absolute; inset:9px; border:1px solid rgba(213,195,153,.33); pointer-events:none; }
.expertise-card>* { position:relative; }
.expertise-card>span,.destination span,.retreat-place>span { font-size:8px; letter-spacing:.18em; }
.expertise-card h3 { font:400 35px/1.2 var(--serif); margin:0 0 9px; }
.expertise-card p { font-size:11px; max-width:340px; line-height:1.8; color:#ffffffd9; margin:0 0 16px; }
.expertise-card b { font-size:9px; letter-spacing:.11em; text-transform:uppercase; font-weight:500; }
.retreats-card { background-image:url('https://images.unsplash.com/photo-1518611012118-696072aa579a?auto=format&fit=crop&w=1300&q=85'); }
.relocate-card { background-image:url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=1300&q=85'); }
.consult-card { background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1300&q=85'); }
.concierge-card { background-image:url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?auto=format&fit=crop&w=1300&q=85'); }
.quote-band { text-align:center; padding:105px 15px 112px; background:#dfe0d7; }
.quote-band blockquote { font:400 clamp(34px,4.4vw,54px)/1.35 var(--serif); margin:23px 0 28px; }
.destinations { padding:95px 7vw 110px; }
.destination-row { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.destination { height:300px; padding:19px; color:white; display:flex; flex-direction:column; justify-content:end; background-size:cover; background-position:center; position:relative; }
.destination:before,.retreat-place:before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#161a17a8,transparent 65%); }
.destination>* { position:relative; }
.destination h3,.retreat-place h3 { font:400 27px var(--serif); margin:2px 0; }
.marbella { background-image:url('https://images.unsplash.com/photo-1533105079780-92b9be482077?auto=format&fit=crop&w=800&q=82'); }
.bali { background-image:url('https://images.unsplash.com/photo-1537996194471-e657df975ab4?auto=format&fit=crop&w=800&q=82'); }
.finland { background-image:url('https://images.unsplash.com/photo-1517299321609-52687d1bc55a?auto=format&fit=crop&w=800&q=82'); }
.moritz { background-image:url('https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=800&q=82'); }
.oman { background-image:url('https://images.unsplash.com/photo-1512632578888-169bbbc64f33?auto=format&fit=crop&w=800&q=82'); }
.closing { text-align:center; padding:105px 20px 120px; background:#e9e7df; border-top:1px solid rgba(185,167,126,.34); }
.closing h2 { margin:18px 0; }
.closing>p:not(.eyebrow) { color:var(--muted); font-size:12px; margin:0 0 25px; }
.footer { background:#242821; color:#eee; padding:42px 7vw 25px; display:grid; grid-template-columns:1fr 1.1fr 1.4fr; align-items:start; gap:22px; }
.footer .wordmark small { color:#b9b9ab; }
.footer>p { font-size:10px; color:#bebfb8; margin:0; }
.footer-links { display:flex; justify-content:flex-end; gap:20px; font-size:9px; color:#d1d1ca; }
.footer-contact { grid-column:2/4; display:flex; gap:24px; justify-content:flex-end; flex-wrap:wrap; font-size:9px; color:#c7c8c0; }
.copyright { grid-column:1/4; border-top:1px solid #ffffff25; padding-top:15px; margin-top:8px; font-size:8px; color:#aaa; }
.page-hero { padding:122px 12vw 100px; color:white; min-height:475px; background-size:cover; background-position:center; position:relative; }
.page-hero:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#1c211bb3,#1c211b20 85%); }
.page-hero>* { position:relative; }
.page-hero h1 { font-size:clamp(58px,7vw,86px); margin:20px 0; }
.page-hero>p:last-child { max-width:475px; color:#ffffffd9; font-size:13px; line-height:1.9; }
.about-hero { background-image:url('https://images.unsplash.com/photo-1518837695005-2083093ee35b?auto=format&fit=crop&w=2100&q=85'); }
.relocation-hero { background-image:url('https://images.unsplash.com/photo-1512453979798-5ea266f8880c?auto=format&fit=crop&w=2100&q=85'); }
.retreats-hero { background-image:url('https://images.unsplash.com/photo-1518611012118-696072aa579a?auto=format&fit=crop&w=2100&q=85'); }
.consult-hero { background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2100&q=85'); }
.concierge-hero { background-image:url('https://images.unsplash.com/photo-1540962351504-03099e0a754b?auto=format&fit=crop&w=2100&q=85'); }
.about-intro { padding:100px 12vw; display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; }
.about-intro h2 { font-size:45px; }
.about-intro>div:last-child p { font-size:12px; line-height:2; color:#646960; margin:0 0 16px; }
.principles { background:#eeece5; padding:90px 12vw; }
.principles h2 { font-size:48px; margin:18px 0 45px; }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.principle-grid article { border-top:1px solid #c8c8be; padding-top:17px; }
.principle-grid article>span { font-size:9px; letter-spacing:.12em; color:var(--olive); }
.principle-grid h3 { font:400 24px var(--serif); margin:23px 0 10px; }
.principle-grid p { font-size:11px; line-height:1.9; color:#6d7169; }
.disclaimer { border-top:1px solid var(--line); padding-top:18px; margin-top:32px; font-size:9px; color:var(--muted); }
.founder { display:grid; grid-template-columns:1fr 1fr; min-height:500px; }
.founder-image { background:url('https://images.unsplash.com/photo-1560250097-0b93528c311a?auto=format&fit=crop&w=1100&q=82') center 35%/cover; background-color:#b7b4a7; }
.founder>div:last-child { padding:90px 12%; align-self:center; }
.founder h2 { font-size:47px; }
.founder>div:last-child>p:not(.eyebrow) { font-size:12px; color:var(--muted); line-height:2; margin-bottom:24px; }
.retreat-intro { max-width:760px; margin:auto; padding:95px 25px; text-align:center; }
.retreat-intro h2 { font-size:49px; }
.retreat-intro>p:not(.eyebrow) { font-size:12px; color:var(--muted); line-height:2; }
.retreat-features { display:grid; grid-template-columns:1fr 1fr; }
.feature-image { min-height:420px; background-size:cover; background-position:center; position:relative; }
.feature-image:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#171b18a0,transparent 55%); }
.feature-image span { position:absolute; z-index:1; bottom:22px; left:25px; color:white; font-size:8px; letter-spacing:.2em; }
.boxing { background-image:url('https://images.unsplash.com/photo-1549719386-74dfcbf7dbed?auto=format&fit=crop&w=1200&q=85'); }
.mediterranean { background-image:url('https://images.unsplash.com/photo-1533105079780-92b9be482077?auto=format&fit=crop&w=1200&q=85'); }
.feature-copy { padding:60px 12%; align-self:center; }
.feature-copy h2 { font-size:42px; }
.feature-copy p:not(.eyebrow),.feature-copy li { font-size:11px; line-height:1.9; color:var(--muted); }
.feature-copy ul { padding-left:17px; margin:22px 0 28px; }
.feature-copy li { padding:3px 0; }
.feature-copy-dark { background:#e8e6de; min-height:420px; display:flex; flex-direction:column; justify-content:center; }
.retreat-destinations { padding:65px 7vw 90px; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.retreat-place { height:280px; padding:18px; color:white; display:flex; flex-direction:column; justify-content:end; position:relative; background-size:cover; background-position:center; }
.retreat-place>* { position:relative; }
.contact-hero { background:#6f7468; color:white; padding:120px 12vw 95px; }
.contact-hero>div { max-width:690px; }
.contact-hero>div>p:last-child { font-size:13px; color:#ffffffdb; max-width:500px; }
.contact-content { padding:90px 12vw 110px; display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.contact-content h2 { font-size:49px; }
.contact-content>div>p:not(.eyebrow) { font-size:12px; color:var(--muted); }
.contact-details { display:grid; gap:11px; margin-top:30px; font-size:11px; }
.contact-details span { color:var(--muted); }
.contact-details .whatsapp { color:#68735f; margin-top:9px; }
.enquiry-form { display:grid; gap:19px; }
.enquiry-form label { font-size:9px; letter-spacing:.12em; text-transform:uppercase; }
.enquiry-form input,.enquiry-form textarea,.enquiry-form select { display:block; width:100%; border:0; border-bottom:1px solid #bdbeb5; background:transparent; padding:12px 0; font:12px var(--sans); color:var(--ink); outline:none; }
.enquiry-form textarea { resize:vertical; }
.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus { border-color:var(--ink); }
.enquiry-form button { justify-self:start; cursor:pointer; font-family:var(--sans); }
.enquiry-form small { font-size:9px; line-height:1.7; color:var(--muted); }
.terms-content { max-width:800px; padding:80px 25px 120px; margin:auto; font-size:12px; line-height:2; color:var(--muted); }
.terms-content a { text-decoration:underline; }
/* Concierge charter imagery and package layout */
.charter-showcase { padding:14px 7vw 88px; display:grid; grid-template-columns:1fr 1fr; gap:16px; background:#eeece5; }
.charter-card { min-height:560px; padding:22px; color:#fff; background-size:cover; background-position:center; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.charter-card:after { content:''; position:absolute; inset:9px; border:1px solid rgba(213,195,153,.42); pointer-events:none; }
.charter-card:before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(21,25,22,.82),rgba(21,25,22,.02) 78%); }
.charter-card>* { position:relative; }
.charter-card>span { font-size:8px; letter-spacing:.19em; }
.charter-card>div { max-width:420px; }
.charter-card .eyebrow { color:#d0bf98; }
.charter-card h2,.package-section h2 { font:400 clamp(38px,4vw,52px)/1.2 var(--serif); margin:14px 0; }
.charter-card p:not(.eyebrow) { font-size:11px; line-height:1.9; color:#ffffffd9; max-width:350px; margin-bottom:21px; }
.charter-card .text-link { border-color:#ffffff80; color:#fff; }
.jet-card { background-image:url('https://images.unsplash.com/photo-1540962351504-03099e0a754b?auto=format&fit=crop&w=1500&q=85'); }
.yacht-card { background-image:url('https://images.unsplash.com/photo-1567899378494-47b22a2ae96a?auto=format&fit=crop&w=1500&q=85'); }
.package-section { padding:95px 12vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.package-section h2 { font-size:47px; }
.package-section>div:last-child p { font-size:12px; line-height:2; color:var(--muted); margin:0 0 17px; }
.package-section .text-link { margin-top:7px; }
.package-section .eyebrow,.section-heading .eyebrow,.manifesto .eyebrow { color:#978760; }
@media(max-width:900px) {
  .navigation { gap:18px; font-size:9px; }
  .destination-row,.retreat-destinations { grid-template-columns:repeat(3,1fr); }
  .destination { height:270px; }
  .footer { grid-template-columns:1fr 1fr; }
  .footer-links,.footer-contact { grid-column:1/3; justify-content:flex-start; }
  .copyright { grid-column:1/3; }
}
@media(max-width:650px) {
  .site-header { height:74px; padding:0 6vw; }
  .menu-toggle { display:block; }
  .navigation { display:none; position:absolute; top:74px; left:0; right:0; padding:24px 7vw 28px; background:var(--paper); flex-direction:column; align-items:flex-start; gap:18px; font-size:10px; }
  .site-header.menu-open .navigation { display:flex; }
  .hero { min-height:630px; height:84vh; }
  .hero-copy { left:8%; right:8%; }
  .hero h1 { font-size:62px; }
  .hero-caption { left:8%; right:8%; font-size:7px; }
  .manifesto { padding:88px 8%; }
  .expertise { padding:65px 7% 80px; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .expertise-grid { grid-template-columns:1fr; }
  .expertise-card { min-height:320px; }
  .quote-band { padding:80px 10%; }
  .destinations { padding:75px 7%; }
  .destination-row,.retreat-destinations { grid-template-columns:1fr 1fr; }
  .destination { height:250px; }
  .closing { padding:80px 8%; }
  .footer { padding:36px 8% 22px; grid-template-columns:1fr; gap:14px; }
  .footer-links,.footer-contact,.copyright { grid-column:1; }
  .footer-links { flex-wrap:wrap; justify-content:flex-start; }
  .footer-contact { display:grid; justify-content:start; gap:9px; }
  .page-hero { padding:92px 8% 75px; min-height:430px; }
  .page-hero h1,.contact-hero h1 { font-size:60px; }
  .about-intro { padding:72px 8%; grid-template-columns:1fr; gap:20px; }
  .about-intro h2,.principles h2 { font-size:41px; }
  .principles { padding:72px 8%; }
  .principle-grid { grid-template-columns:1fr; gap:24px; }
  .principle-grid h3 { margin:14px 0 6px; }
  .founder { grid-template-columns:1fr; }
  .founder-image { min-height:360px; }
  .founder>div:last-child { padding:58px 8%; }
  .retreat-intro { padding:72px 8%; }
  .retreat-intro h2 { font-size:42px; }
  .retreat-features { grid-template-columns:1fr; }
  .feature-image { min-height:330px; }
  .feature-copy,.feature-copy-dark { padding:55px 9%; min-height:0; }
  .retreat-destinations { padding:40px 6% 70px; gap:9px; }
  .retreat-place { height:235px; padding:13px; }
  .retreat-place h3 { font-size:23px; }
  .contact-hero { padding:95px 8% 70px; }
  .contact-content { padding:70px 8% 85px; grid-template-columns:1fr; gap:45px; }
  .contact-content h2 { font-size:42px; }
  .charter-showcase { grid-template-columns:1fr; padding:8px 6% 60px; gap:10px; }
  .charter-card { min-height:440px; padding:18px; }
  .package-section { padding:70px 8%; grid-template-columns:1fr; gap:10px; }
  .package-section h2 { font-size:41px; }
}

