@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#202522;--ink2:#2c322e;--cream:#f4f2ec;--cream2:#eae8df;--white:#f8f7f2;--sage:#b8c8ba;--muted:#aaaFA8;--line:rgba(255,255,255,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,a{font:inherit}a{color:inherit}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip{position:absolute;left:12px;top:-100px;background:white;color:#111;padding:12px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #a9ceac;outline-offset:4px}
.header{position:relative;z-index:5;background:var(--ink);color:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;padding:17px clamp(22px,4vw,72px);display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:none;color:#fff}.brand-mark{display:grid;place-items:center;width:47px;height:47px;border:1px solid #aebbb0;font:24px Georgia,serif;letter-spacing:0;padding-right:0}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-name{font:400 clamp(21px,2.1vw,28px)/1.12 Georgia,serif;white-space:nowrap;color:#fff}.brand small{font-size:9px;letter-spacing:.15em;color:#e2e5df}.header nav{display:flex;align-items:center;gap:clamp(13px,1.8vw,28px);margin-left:auto}.header nav a{text-decoration:none;color:#e8eae5;font-size:12px;white-space:nowrap}.header nav a:hover,.directions:hover{color:#c1d6c2}.header nav .nav-booking{border:1px solid #bbc9bd;padding:12px 16px}.header-controls{display:flex;align-items:center;gap:12px}.quick-whatsapp{border:1px solid #bbc9bd;border-radius:50%;height:46px;width:46px;display:grid;place-items:center;text-decoration:none;color:#fff;flex:none}.quick-whatsapp svg{width:23px;height:23px}.quick-whatsapp span{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.quick-whatsapp:hover{background:#395341}.menu{display:none;background:none;border:0;color:white;padding:8px}.menu span{display:block;width:22px;height:2px;background:currentColor;margin:5px 0}
.language-bar{background:#343b36;color:#f5f6f2;display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 22px}.language-prompt{font-size:11px;letter-spacing:.045em}.language-prompt>span{padding:0 5px;color:#b3c5b7}.language-options{display:flex;gap:7px}.language-options button{background:transparent;border:1px solid #819187;color:#fff;padding:8px 15px;border-radius:2px;font-size:12px}.language-options button[aria-pressed=true]{background:#f3f3ec;color:#1d2921;border-color:#f3f3ec;font-weight:700}.language-options button:hover{border-color:#fff}
.hero{background:var(--ink);color:#fff;overflow:hidden}.hero-inner{max-width:1440px;margin:auto;min-height:590px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;padding:55px clamp(22px,6vw,90px) 55px;gap:clamp(20px,4vw,60px)}.hero-copy{position:relative;z-index:1}.hero-kicker,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero-kicker{color:#b9cab9;margin:0 0 30px}.hero h1,.section h2,.contact h2{font:400 clamp(52px,5.2vw,84px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.045em;margin:0}.hero h1 span,.contact h2 span{display:block}.green{color:var(--sage)}.hero-copy>p:not(.hero-kicker){color:#d8ded8;font-size:17px;line-height:1.75;margin:27px 0 34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;text-decoration:none;border-radius:3px;padding:18px 23px;background:#d5e0d3;color:#1d2a21;font-weight:700;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#eef4ed;transform:translateY(-2px)}.button>span:last-child[aria-hidden]{font-size:23px;line-height:12px}.portrait{margin:0;align-self:stretch;display:flex;align-items:end;justify-content:center;min-width:0}.portrait img{display:block;width:min(100%,490px);height:auto;object-fit:contain;object-position:center bottom;box-shadow:18px 18px 0 #303933}.section{max-width:1280px;margin:auto;padding:100px clamp(22px,6vw,80px)}.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(35px,7vw,110px);align-items:start}.about-text{display:contents}.about-text>.eyebrow,.about-text>h2{grid-column:1}.about-text>.eyebrow{margin:0 0 -60px;color:#657669}.about h2,.practice h2{font-size:clamp(38px,4vw,60px)}.about-copy{grid-column:2;grid-row:1/span 2;font-size:16px;line-height:1.85;color:#48514a}.about-copy p:first-child{margin-top:0}.languages-spoken{border-top:1px solid #c9cec6;margin-top:32px;padding-top:25px}.languages-spoken .eyebrow{color:#66786a}.languages-spoken p{font-weight:700;color:var(--ink);margin:10px 0 0}
.palais-photo{position:relative;margin:0;background:#373e39;height:clamp(260px,36vw,490px);overflow:hidden}.palais-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:brightness(.72) saturate(.55)}.palais-photo figcaption{position:absolute;left:max(24px,calc((100vw - 1120px)/2));bottom:28px;color:#fff;background:rgba(26,32,29,.8);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:13px 18px}
.practice{background:var(--cream)}.practice>.eyebrow{color:#657669}.practice h2{margin:20px 0 50px}.practice .green{color:#627e6b}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #c3cbc2}.practice-grid article{padding:30px 34px 32px 0;border-bottom:1px solid #c3cbc2}.practice-grid article:nth-child(even){padding-left:34px;border-left:1px solid #c3cbc2}.number{font-size:11px;letter-spacing:.17em;color:#718977}.practice h3{font:400 29px 'Playfair Display',Georgia,serif;margin:15px 0 10px}.practice article p,.fees p{color:#545e56;font-size:15px;line-height:1.75;margin:0}.fees{margin-top:60px;display:grid;grid-template-columns:1fr 1.5fr;gap:30px;padding:27px 0;border-top:1px solid #c3cbc2}.fees h3{font-size:24px;margin:0}
.contact{background:var(--ink2);color:#f8f8f3}.contact-inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:40px 80px}.contact-heading .eyebrow{color:#c0d0bf;margin:0 0 25px}.contact h2{font-size:clamp(45px,4.8vw,69px)}.contact-heading>p:not(.eyebrow){color:#d8ddd7;font-size:16px;line-height:1.8}.contact-heading .booking-note{border-left:2px solid var(--sage);padding-left:18px;color:#e9ece6!important}.contact-details{padding-top:12px}.contact-row{display:flex;gap:19px;margin-bottom:30px}.contact-row>svg{width:23px;height:23px;color:#bfd0bf;flex:none;margin-top:5px}.contact-row .eyebrow{color:#b4c3b6;margin:0 0 8px}.contact-row a,.contact-row address{font-size:20px;line-height:1.5;font-style:normal;text-decoration:none;overflow-wrap:anywhere}.contact-row a:hover{text-decoration:underline}.booking-action{display:flex;width:fit-content;max-width:100%;margin:12px 0;gap:15px;justify-content:flex-start}.booking-action svg{width:22px;height:22px;flex:none}.booking-whatsapp{background:#c4d6c4}.booking-email{background:transparent;color:#fff;border:1px solid #9eafa1}.booking-email:hover{background:#455a49}.address{margin-top:33px}.address .directions{display:inline-flex;gap:14px;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-top:18px}.map{grid-column:1/-1;height:330px;filter:grayscale(.35)}.map iframe{border:0;width:100%;height:100%}footer{background:#181d1a;color:#f6f7f2}.footer-inner{max-width:1280px;margin:auto;padding:38px clamp(22px,6vw,80px);display:flex;justify-content:space-between;gap:25px}.footer-brand{font:25px Georgia,serif}.footer-brand span{display:block;font:11px 'DM Sans',sans-serif;margin-top:9px;color:#bfc9bf}.footer-meta{display:flex;flex-direction:column;gap:8px;text-align:right;font-size:11px;color:#bdc6bd}.footer-meta a{color:#bdc6bd}
@media(max-width:1100px){.header nav{gap:12px}.header nav a{font-size:11px}.brand-name{font-size:22px}.brand small{font-size:8px}.hero-inner{min-height:520px}.hero h1{font-size:clamp(48px,5.5vw,70px)}}
@media(max-width:850px){.header-inner{padding:14px 22px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#242b26;padding:20px 25px;flex-direction:column;align-items:stretch;margin:0;box-shadow:0 15px 20px #0004}.header nav.open{display:flex}.header nav a{font-size:15px;padding:9px 0}.header nav .nav-booking{text-align:center}.header-controls{margin-left:auto}.menu{display:block}.hero-inner{grid-template-columns:1fr .7fr;min-height:460px}.about{gap:35px}.contact-inner{gap:40px}}
@media(max-width:650px){.brand-mark{width:39px;height:39px;font-size:20px}.brand{gap:9px}.brand-name{font-size:21px}.brand small{font-size:7px;letter-spacing:.09em}.quick-whatsapp{height:40px;width:40px}.language-bar{display:block;text-align:center;padding:13px 14px}.language-prompt{display:block;font-size:10px;line-height:1.5;margin-bottom:11px}.language-options{justify-content:center}.language-options button{min-width:83px;padding:8px}.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:38px;padding:57px 26px 0;min-height:0}.hero-kicker{font-size:10px;line-height:1.6;margin-bottom:24px}.hero h1{font-size:clamp(45px,10vw,64px)}.hero-copy>p:not(.hero-kicker){font-size:15px;margin:24px 0}.portrait{align-self:center;width:min(100%,420px);padding:0 20px}.portrait img{width:100%;box-shadow:12px 0 0 #303933}.section{padding:70px 25px}.about{display:block}.about-text{display:block}.about-text>.eyebrow{margin:0 0 20px}.about h2,.practice h2{font-size:42px}.about-copy{margin-top:25px}.palais-photo{height:300px}.palais-photo figcaption{left:20px;bottom:20px;font-size:10px}.practice-grid{display:block}.practice-grid article,.practice-grid article:nth-child(even){padding:27px 0;border-left:0}.fees{display:block;margin-top:45px}.fees p{margin-top:13px}.contact-inner{display:block}.contact-details{padding-top:35px}.contact-row a,.contact-row address{font-size:18px}.booking-action{width:100%;font-size:13px}.map{height:260px;margin-top:50px}.footer-inner{display:block}.footer-meta{text-align:left;margin-top:28px}}
@media(max-width:370px){.brand-name{font-size:18px}.brand small{max-width:160px}.brand-mark{display:none}.header-inner{gap:4px}.hero h1{font-size:41px}}

/* Primary booking and WhatsApp actions */
.header nav .nav-booking{background:#39754d;border-color:#70a77b;color:#fff;font-weight:700;border-radius:3px;box-shadow:0 0 0 1px rgba(112,167,123,.18)}
.header nav .nav-booking:hover{background:#4a895e;color:#fff}
.quick-whatsapp{background:#39754d;border-color:#70a77b;box-shadow:0 0 0 3px rgba(112,167,123,.16)}
.quick-whatsapp:hover{background:#4a895e}
.hero .button,.booking-whatsapp{background:#39754d;color:#fff;border:1px solid #70a77b;box-shadow:0 5px 20px rgba(0,0,0,.18)}
.hero .button:hover,.booking-whatsapp:hover{background:#4a895e;color:#fff}
@media(max-width:850px){.header nav .nav-booking{padding:13px 16px}.quick-whatsapp{box-shadow:0 0 0 2px rgba(112,167,123,.18)}}
.hero .hero-copy>p.experience{display:table;margin:0 0 22px;padding:11px 17px;background:#354d3b;border-left:3px solid #80b58a;color:#fff;font-size:15px;line-height:1.3;font-weight:700;letter-spacing:.015em}
@media(max-width:650px){.hero .hero-copy>p.experience{font-size:14px;margin-bottom:24px}.hero-kicker{margin-bottom:16px}}

.rights{background:#e5e9e1}.rights .eyebrow{color:#466e51;margin:0 0 19px}.rights h2{font-size:clamp(40px,4.5vw,64px);max-width:760px}.rights-intro{max-width:750px;color:#47564b;line-height:1.75;font-size:16px;margin:23px 0 40px}.rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.rights-grid article{background:#f9f8f3;border-top:3px solid #39754d;padding:22px 24px 21px;display:flex;flex-direction:column;min-height:0}.rights-grid h3{font:400 23px/1.25 'Playfair Display',Georgia,serif;margin:11px 0 10px}.rights-grid p{color:#516056;font-size:14px;line-height:1.7;margin:0 0 18px}.rights-grid a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#245d37;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px;margin-top:auto}.rights-grid a:hover{color:#133e22}.rights-grid a span:last-child{font-size:23px;text-decoration:none}.rights-source{font-size:12px;color:#607064;line-height:1.6;margin:22px 0 0}
@media(max-width:850px){.rights-grid{grid-template-columns:1fr}.rights-grid article{min-height:0}.rights-grid h3{font-size:25px}}
.rights-grid article:last-child:nth-child(odd){grid-column:1/-1;min-height:0}.rights-grid article:last-child:nth-child(odd) p{max-width:790px}
.rights-details{margin:0 0 17px}.rights-details summary{color:#245d37;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px;cursor:pointer;width:fit-content}.rights-details p{margin:14px 0 0}.rights-details[open]{border-top:1px solid #d5dfd3;padding-top:13px}

.rights .section{padding-top:72px;padding-bottom:72px}.rights-intro{margin:15px 0 27px}@media(max-width:650px){.rights .section{padding-top:56px;padding-bottom:56px}.rights-grid h3{font-size:23px}}


.hero .portrait{align-self:center}.hero .portrait img{width:min(100%,300px);height:auto;object-fit:contain;filter:grayscale(1);box-shadow:10px 10px 0 #303933}@media(max-width:650px){.hero .portrait{width:min(100%,260px);padding:0 0 35px}.hero .portrait img{width:100%;box-shadow:8px 8px 0 #303933}}

.hero-photos{position:relative;min-width:0;width:100%;height:430px;align-self:center}.hero-palais{position:absolute;top:0;right:0;margin:0;width:calc(100% - 40px);height:350px;overflow:hidden}.hero-palais img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(.65) brightness(.8)}.hero-palais figcaption{position:absolute;top:18px;left:18px;right:18px;color:#fff;font-size:12px;letter-spacing:.07em;text-shadow:0 1px 5px #000}.hero-photos .portrait{position:absolute;bottom:0;left:0;width:210px;padding:0;border:7px solid #202522;box-shadow:8px 8px 0 #354d3b}.hero .hero-photos .portrait img{width:100%;height:auto;box-shadow:none;filter:grayscale(1)}
@media(max-width:850px){.hero-photos{height:350px}.hero-palais{height:285px;width:calc(100% - 20px)}.hero-photos .portrait{width:170px}}
@media(max-width:650px){.hero-photos{width:min(100%,420px);height:340px;align-self:center;margin:0 0 38px}.hero-palais{height:275px;width:calc(100% - 30px)}.hero-photos .portrait{width:175px}.hero-palais figcaption{font-size:11px}}
