
:root{
  --cream:#F5EDE2;--terra:#C3613C;--olive:#839557;--ink:#223126;--sand:#D9C6AE;--white:#fffaf4;
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,Helvetica,sans-serif;--radius:28px;--ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden}
body.lang-ar{font-family:Tahoma,Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:50;padding:18px 28px;transition:.45s var(--ease)}
.site-header.scrolled{padding:9px 20px;background:rgba(245,237,226,.9);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(34,49,38,.08)}
.nav-wrap{max-width:1440px;margin:auto;display:flex;align-items:center;gap:28px}.brand{width:128px;z-index:3}.brand img,.custom-logo{width:100%;max-height:62px;object-fit:contain}
.main-nav{display:flex;gap:22px;margin-left:auto;font-size:14px}.main-nav a{position:relative}.main-nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--terra);transition:.3s}.main-nav a:hover:after{width:100%}
.nav-actions{display:flex;align-items:center;gap:14px}.lang-switch{display:flex;gap:7px;font-size:11px;letter-spacing:.12em}.lang-switch a{opacity:.45}.lang-switch a.active{opacity:1;color:var(--terra)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 24px;border:1px solid var(--ink);transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s;cursor:pointer;min-height:48px}
.btn-small{padding:9px 17px;min-height:38px;font-size:13px}.btn-fill{background:var(--terra);border-color:var(--terra);color:#fff}.btn-cream{background:var(--cream);border-color:var(--cream);color:var(--ink)}.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}.btn-line{background:transparent}.btn:hover{transform:translateY(-2px)}.btn-fill:hover{background:var(--ink);border-color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;position:relative;z-index:4}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink);margin:7px auto;transition:.3s}
.hero{height:100svh;min-height:740px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:white}
.hero-media,.hero-media img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;transform:scale(1.08);animation:heroZoom 12s ease-out forwards}.hero-shade{background:linear-gradient(180deg,rgba(20,30,18,.08) 20%,rgba(20,30,18,.65) 100%)}
.hero-content{position:relative;z-index:2;width:min(1160px,90vw);margin:0 auto 10vh}.eyebrow,.section-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600}
.hero h1,.display,.page-hero h1{font-family:var(--serif);font-weight:400;line-height:.94;letter-spacing:-.035em}.hero h1{font-size:clamp(58px,8vw,132px);max-width:1100px;margin:18px 0 24px}.hero-lead{max-width:700px;font-size:clamp(17px,1.7vw,23px);opacity:.9}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.scroll-hint{position:absolute;right:36px;bottom:32px;z-index:2;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.25em;writing-mode:vertical-rl}.scroll-hint span{height:55px;width:1px;background:white;animation:scrollPulse 1.8s infinite}
.section{padding:120px max(5vw,28px);max-width:1500px;margin:auto}.intro-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.intro-copy p{font-size:20px;max-width:640px}.display{font-size:clamp(52px,6vw,100px);margin:12px 0 24px}.arch-photo{border-radius:280px 280px 30px 30px;overflow:hidden;aspect-ratio:4/5}.arch-photo img{width:100%;height:120%;object-fit:cover}
.section-head{display:flex;align-items:baseline;gap:18px;margin-bottom:50px}.section-head span{font-size:12px;letter-spacing:.2em;color:var(--terra)}.section-head h2{font-family:var(--serif);font-size:clamp(42px,5vw,78px);font-weight:400;margin:0}
.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(34,49,38,.25);border-left:1px solid rgba(34,49,38,.25)}
.experience-card{min-height:220px;padding:26px;border-right:1px solid rgba(34,49,38,.25);border-bottom:1px solid rgba(34,49,38,.25);display:flex;flex-direction:column;justify-content:space-between;transition:.4s}
.experience-card:hover{background:var(--olive);color:#fff;transform:translateY(-5px)}.experience-card span{font-size:12px}.experience-card h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:0}
.story-split{display:grid;grid-template-columns:1.2fr .8fr;min-height:80vh;background:var(--terra);color:#fff}.story-split.reverse{grid-template-columns:.9fr 1.1fr}.story-image{overflow:hidden;min-height:580px}.story-image img{width:100%;height:115%;object-fit:cover}.story-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.story-copy .display{font-size:clamp(50px,5.5vw,88px)}.story-copy p{font-size:20px;max-width:560px}
.teacher-poster{max-width:1150px;margin:auto;border-radius:32px;overflow:hidden;box-shadow:0 30px 80px rgba(34,49,38,.12)}.teacher-poster img{width:100%}
.section-lead{font-size:20px;max-width:700px;margin:-25px 0 46px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.package-card{background:rgba(255,255,255,.45);border:1px solid rgba(131,149,87,.35);border-radius:var(--radius);overflow:hidden;transition:.45s var(--ease)}.package-card:hover{transform:translateY(-10px);box-shadow:0 26px 70px rgba(34,49,38,.12)}
.package-media{aspect-ratio:4/3;overflow:hidden}.package-media img{width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}.package-card:hover .package-media img{transform:scale(1.05)}
.package-body{padding:26px}.package-index{font-size:11px;letter-spacing:.2em;color:var(--terra)}.package-body h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:8px 0}.package-body p{opacity:.7}.package-body strong{font-family:var(--serif);font-size:40px;color:var(--terra);display:block;margin:12px 0 22px}.package-body .btn{width:100%}
.duration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.duration-card{border-top:1px solid var(--ink);padding:24px 0 50px}.duration-card>span{font-family:var(--serif);font-size:64px;color:var(--terra)}.duration-card h3{font-family:var(--serif);font-size:32px;font-weight:400}.duration-card p{max-width:420px}
.gallery-strip{padding:70px 0 120px;overflow:hidden}.marquee{display:flex;width:max-content;animation:marquee 24s linear infinite;font-family:var(--serif);font-size:clamp(50px,7vw,108px);color:var(--terra);white-space:nowrap;margin-bottom:70px}.marquee span{padding-right:40px}
.masonry-gallery{columns:4 280px;column-gap:14px}.gallery-item{break-inside:avoid;margin:0 0 14px;position:relative;overflow:hidden;border-radius:18px;background:#ddd}.gallery-item img{width:100%;transition:transform .7s var(--ease)}.gallery-item:hover img{transform:scale(1.045)}.gallery-item figcaption{position:absolute;left:14px;bottom:14px;background:rgba(245,237,226,.88);backdrop-filter:blur(10px);padding:7px 11px;border-radius:999px;font-size:11px;opacity:0;transform:translateY(10px);transition:.3s}.gallery-item:hover figcaption{opacity:1;transform:none}.gallery-tall img{aspect-ratio:3/4;object-fit:cover}.center{text-align:center;margin-top:38px}
.booking-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start}.booking-copy{position:sticky;top:130px}.booking-shell{background:var(--white);padding:34px;border-radius:32px;box-shadow:0 25px 80px rgba(34,49,38,.08)}
.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{display:flex;flex-direction:column;gap:7px}.booking-form label span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.booking-form input,.booking-form textarea,.booking-form select{width:100%;border:1px solid rgba(34,49,38,.22);background:transparent;border-radius:14px;padding:14px 15px;outline:0;transition:.25s}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(131,149,87,.14)}.span-2{grid-column:1/-1}.booking-actions{display:flex;gap:12px;flex-wrap:wrap}.notice.success{padding:14px 16px;background:rgba(131,149,87,.15);border-radius:12px;margin-bottom:18px}
.site-footer{text-align:center;padding:90px 6vw 50px;background:var(--ink);color:var(--cream)}.footer-mark img{width:220px;margin:auto;filter:brightness(0) invert(1);opacity:.85}.site-footer p{font-family:var(--serif);font-size:30px}.footer-contact{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;opacity:.75;margin:20px 0}.site-footer small{opacity:.5}
.page-hero{min-height:72vh;padding:160px 7vw 80px;position:relative;display:flex;align-items:end;overflow:hidden}.page-hero.compact{min-height:55vh;background:var(--olive);color:#fff}.page-hero.compact>div{max-width:1100px}.page-hero h1{font-size:clamp(60px,8vw,128px);margin:15px 0}.page-hero p{max-width:720px;font-size:20px}.retreat-hero{color:white}.page-hero-media{position:absolute;inset:0}.page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,30,18,.65),rgba(20,30,18,.08))}.page-hero-media img{width:100%;height:100%;object-fit:cover}.page-hero-copy{position:relative;z-index:2;max-width:980px}.prose{font-size:18px}.prose.wide{max-width:1000px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card{padding:36px;border:1px solid rgba(34,49,38,.22);border-radius:24px}.contact-card span{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.contact-card a,.contact-card p{font-family:var(--serif);font-size:30px}.gallery-full{max-width:1600px}.gallery-room{padding-top:0}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in-view{opacity:1;transform:none}.kinetic .word{display:inline-block;overflow:hidden;vertical-align:bottom}.kinetic .word>span{display:inline-block;transform:translateY(115%);transition:transform .9s var(--ease)}.kinetic.words-in .word>span{transform:none}.kinetic .word:nth-child(2)>span{transition-delay:.06s}.kinetic .word:nth-child(3)>span{transition-delay:.12s}.kinetic .word:nth-child(4)>span{transition-delay:.18s}
.cursor-glow{position:fixed;width:26px;height:26px;border:1px solid rgba(195,97,60,.5);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:multiply}
@keyframes heroZoom{from{transform:scale(1.13)}to{transform:scale(1.04)}}@keyframes scrollPulse{0%,100%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1)}}@keyframes marquee{to{transform:translateX(-50%)}}
body.lang-ar .main-nav{margin-left:0;margin-right:auto}body.lang-ar .section-head{direction:rtl}body.lang-ar .booking-form{text-align:right}
@media(max-width:1050px){
 .main-nav{position:fixed;inset:0;background:var(--cream);flex-direction:column;justify-content:center;align-items:center;font-family:var(--serif);font-size:36px;transform:translateY(-100%);transition:.55s var(--ease);z-index:2}.main-nav.open{transform:none}.menu-toggle{display:block;margin-left:auto}.nav-actions .btn-small{display:none}
 .intro-section,.story-split,.story-split.reverse,.booking-section{grid-template-columns:1fr}.story-copy{padding:80px 7vw}.experience-grid{grid-template-columns:repeat(2,1fr)}.booking-copy{position:static}.contact-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
 .site-header{padding:12px 14px}.brand{width:105px}.nav-actions{gap:7px}.lang-switch{font-size:10px}.hero{min-height:700px}.hero-content{margin-bottom:8vh}.hero h1{font-size:clamp(52px,16vw,78px)}.section{padding:82px 20px}.intro-section{gap:45px}.display{font-size:clamp(46px,13vw,68px)}
 .experience-grid{grid-template-columns:1fr}.experience-card{min-height:150px}.package-grid,.duration-grid{grid-template-columns:1fr}.story-split{min-height:0}.story-image{min-height:480px}.story-copy p{font-size:17px}
 .booking-form{grid-template-columns:1fr}.span-2{grid-column:auto}.booking-shell{padding:22px;border-radius:22px}.masonry-gallery{columns:2 150px;column-gap:9px}.gallery-item{margin-bottom:9px;border-radius:12px}.page-hero{padding:130px 20px 60px}.page-hero h1{font-size:clamp(52px,16vw,78px)}.cursor-glow{display:none}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}.kinetic .word>span{transform:none!important}.hero-media img{transform:none!important}}


/* FINAL V3 — stronger unified motion + premium footer */
.reveal img{will-change:transform}
.gallery-item.reveal.in-view img,.farm-house-image.reveal.in-view img,.teacher-poster.reveal.in-view img{animation:imageSettle 1.3s cubic-bezier(.2,.8,.2,1) both}
@keyframes imageSettle{from{transform:scale(1.08);filter:saturate(.7) contrast(.9)}to{transform:scale(1);filter:none}}
.page-transition{position:fixed;inset:0;background:var(--terra);z-index:9998;pointer-events:none;transform:scaleY(0);transform-origin:bottom}
.page-transition.is-leaving{animation:pageWipe .65s cubic-bezier(.75,0,.25,1) forwards}
@keyframes pageWipe{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:10000;pointer-events:none}.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--terra),var(--olive))}
.farm-house-teaser{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center}.farm-house-image{border-radius:34px;overflow:hidden;min-height:650px}.farm-house-image img{width:100%;height:100%;object-fit:cover}.farm-house-copy p{font-size:19px;max-width:600px}
.offers-band{max-width:1500px}.offer-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.offer-panel{padding:42px;border:1px solid rgba(34,49,38,.2);border-radius:28px;background:rgba(255,255,255,.34)}.offer-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}.offer-panel h3{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.05}.offer-panel li{margin:10px 0}
.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.rate-card{padding:30px 24px;border-radius:24px;background:var(--ink);color:var(--cream)}.rate-card span{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.rate-card strong{display:block;font-family:var(--serif);font-size:52px;font-weight:400;color:#fff;margin:12px 0}.rate-card p{opacity:.7}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.policy{padding:28px;border-top:1px solid var(--ink)}.policy h3{font-family:var(--serif);font-size:28px;font-weight:400}
.final-footer{position:relative;background:var(--cream);color:var(--ink);padding:100px 6vw 38px;overflow:hidden;border-top:1px solid rgba(34,49,38,.14)}.footer-inner{position:relative;z-index:2;max-width:1240px;margin:auto}.footer-logo img{width:min(420px,80vw);margin:auto;filter:none!important;opacity:1}.footer-tagline{font-family:var(--serif);font-size:clamp(28px,4vw,48px)!important;max-width:760px;margin:22px auto;text-align:center}.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px 30px;margin:34px 0 24px}.footer-nav a{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.footer-nav a:hover{color:var(--terra)}.final-footer .footer-contact{color:var(--ink);opacity:.75}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(34,49,38,.14);padding-top:22px;margin-top:38px;font-size:12px;text-transform:uppercase;letter-spacing:.11em}.footer-orbit{position:absolute;width:560px;height:560px;border:1px solid rgba(131,149,87,.23);border-radius:50%;left:50%;top:-360px;transform:translateX(-50%);animation:orbitPulse 8s ease-in-out infinite}.footer-orbit:after,.footer-orbit:before{content:"";position:absolute;border:1px solid rgba(195,97,60,.16);border-radius:50%;inset:55px}.footer-orbit:after{inset:115px}
@keyframes orbitPulse{0%,100%{transform:translateX(-50%) scale(.96)}50%{transform:translateX(-50%) scale(1.05)}}
.booking-form label:nth-of-type(5){grid-column:auto}
.offers-hero .page-hero-media img{transform:scale(1.06);animation:heroZoom 13s ease-out forwards}
@media(max-width:1050px){.farm-house-teaser,.offer-columns{grid-template-columns:1fr}.farm-house-image{min-height:520px}.rate-grid{grid-template-columns:repeat(2,1fr)}.policy-grid{grid-template-columns:1fr}}
@media(max-width:720px){.rate-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:center}.final-footer{padding-top:80px}.offer-panel{padding:28px 22px}.offer-panel h3{font-size:32px}.farm-house-image{min-height:420px}}
@media(prefers-reduced-motion:reduce){.footer-orbit,.page-transition,.gallery-item.reveal.in-view img,.farm-house-image.reveal.in-view img,.teacher-poster.reveal.in-view img{animation:none!important}}


/* =========================================================
   V4 — DEVICE-FIRST RESPONSIVE LAYER
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
body{min-width:320px}
img,video,iframe{max-width:100%}
.hero-content,.section,.page-hero>div,.footer-inner{width:min(100% - 40px,1440px)}
.site-header .nav-wrap{width:min(100%,1440px)}
.booking-form input,.booking-form select,.booking-form textarea{min-width:0}
.package-card,.duration-card,.experience-card,.contact-card{min-width:0}
.chami-native-section{width:100%}
.elementor img{height:auto}
.elementor-widget-image img{max-width:100%}
.elementor-widget-container{min-width:0}

@media (max-width:1200px){
  .section{padding-left:32px;padding-right:32px}
  .main-nav{gap:14px;font-size:13px}
  .package-grid{gap:16px}
  .package-body h3{font-size:30px}
  .package-body strong{font-size:34px}
  .experience-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1024px){
  .hero{min-height:680px;height:92svh}
  .hero-content{margin-bottom:7vh}
  .hero h1{font-size:clamp(54px,10vw,92px)}
  .intro-section,.booking-section,.farm-house-teaser{grid-template-columns:1fr}
  .booking-copy{position:static}
  .package-grid{grid-template-columns:repeat(2,1fr)}
  .duration-grid{grid-template-columns:1fr 1fr}
  .experience-grid{grid-template-columns:repeat(2,1fr)}
  .story-split,.story-split.reverse{grid-template-columns:1fr}
  .story-image{min-height:460px}
  .contact-grid{grid-template-columns:1fr 1fr}
  .rate-grid{grid-template-columns:repeat(2,1fr)}
  .policy-grid{grid-template-columns:1fr}
}
@media (max-width:767px){
  :root{--radius:20px}
  .site-header{padding:10px 12px}
  .site-header.scrolled{padding:7px 10px}
  .brand{width:96px}
  .nav-actions{gap:6px}
  .lang-switch{font-size:9px;gap:5px}
  .hero{height:auto;min-height:100svh}
  .hero-content{width:calc(100% - 32px);margin:0 auto 9vh}
  .hero h1{font-size:clamp(48px,14vw,72px);line-height:.98}
  .hero-lead{font-size:17px}
  .hero-actions{width:100%}
  .hero-actions .btn{flex:1 1 100%}
  .scroll-hint{display:none}
  .section{padding:72px 16px;width:100%}
  .display{font-size:clamp(42px,12vw,64px);line-height:1}
  .section-head{align-items:flex-start;gap:10px;margin-bottom:34px}
  .section-head h2{font-size:clamp(40px,12vw,60px);line-height:1}
  .intro-copy p,.section-lead,.story-copy p{font-size:17px}
  .arch-photo{aspect-ratio:4/5;border-radius:150px 150px 22px 22px}
  .experience-grid,.package-grid,.duration-grid,.contact-grid,.rate-grid,.offer-columns{grid-template-columns:1fr}
  .experience-card{min-height:140px}
  .package-card{border-radius:20px}
  .package-body{padding:20px}
  .package-body h3{font-size:28px}
  .package-body strong{font-size:32px}
  .story-image{min-height:380px}
  .story-copy{padding:64px 20px}
  .teacher-poster{border-radius:18px}
  .masonry-gallery{columns:2;column-gap:8px}
  .gallery-item{margin-bottom:8px}
  .booking-shell{padding:18px}
  .booking-form{grid-template-columns:1fr;gap:14px}
  .booking-form .span-2{grid-column:auto}
  .booking-actions{flex-direction:column}
  .booking-actions .btn{width:100%}
  .page-hero{min-height:58svh;padding:120px 18px 54px}
  .page-hero.compact{min-height:48svh}
  .page-hero h1{font-size:clamp(46px,14vw,70px)}
  .page-hero p{font-size:17px}
  .final-footer{padding:70px 18px 28px}
  .footer-logo img{width:min(320px,82vw)}
  .footer-nav{gap:12px 18px}
  .footer-contact{font-size:14px}
  .footer-bottom{flex-direction:column;align-items:center;text-align:center}
}
@media (max-width:480px){
  .hero-content{width:calc(100% - 24px)}
  .hero h1{font-size:clamp(44px,15vw,62px)}
  .btn{padding:13px 18px}
  .section{padding:60px 12px}
  .masonry-gallery{columns:1}
  .gallery-item{border-radius:12px}
  .story-image{min-height:330px}
  .booking-shell{padding:14px;border-radius:16px}
  .page-hero{padding-left:14px;padding-right:14px}
  .footer-tagline{font-size:30px!important}
}
@media (hover:none),(pointer:coarse){
  .cursor-glow{display:none!important}
  .package-card:hover,.experience-card:hover,.btn:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .page-transition,.scroll-progress,.marquee,.footer-orbit{display:none!important}
}
