:root{--bg:#f7f3ec;--fg:#1b1a17;--fg2:#4a463f;--muted:#7a746a;--teal:#0f3d3a;--teal2:#16524d;--gold:#c9a15b;--wa:#25d366;--line:rgba(15,61,58,.12);--f:"Tajawal",system-ui,-apple-system,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{margin:0;background:var(--bg);color:var(--fg);font:400 18px/1.8 var(--f);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:800;line-height:1.2;margin:0 0 .45em}
h1{font-size:clamp(40px,6.2vw,74px)}h2{font-size:clamp(28px,3.8vw,44px);color:var(--teal)}h3{font-size:21px}
p{margin:0 0 1em}a{color:inherit;text-decoration:none}img{max-width:100%}
svg{width:1.2em;height:1.2em;flex:none}
.wrap{width:min(1160px,100% - 40px);margin-inline:auto}
.eyebrow{color:var(--gold);font-weight:800;font-size:15px;margin-bottom:.5em}
.acc{color:var(--gold)}
.mark{width:36px;height:36px}
.top{position:fixed;top:0;inset-inline:0;z-index:20;padding:12px 0;transition:background .3s,box-shadow .3s}
.top.is-solid{background:rgba(247,243,236,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px}
.top:not(.is-solid) .brand,.top:not(.is-solid) .nav{color:#fff}
.nav{display:flex;gap:26px;font-weight:700;font-size:16px;margin-inline-start:auto;margin-inline-end:20px}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#05210f;font-weight:800;padding:14px 22px;border-radius:999px;box-shadow:0 10px 26px rgba(37,211,102,.28);transition:transform .2s}
.cta:hover{transform:translateY(-2px)}.cta--sm{padding:9px 16px;font-size:15px}
.ghost{display:inline-flex;align-items:center;padding:13px 20px;border-radius:999px;border:1.5px solid var(--teal);color:var(--teal);font-weight:800}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:10px}
.hero{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 18s ease-out both}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,30,28,.92),rgba(8,30,28,.45) 50%,rgba(8,30,28,.15))}
.hero__in{position:relative;z-index:1;padding:120px 0 70px}
.hero h1 span{color:#e8cf9c}
.hero .lead{font-size:20px;max-width:34em;color:#f1ede4}
.rating{font-size:16px;color:#f1ede4}.rating b{font-size:20px;color:#fff}.rating i{font-style:normal;color:#f2c14e;letter-spacing:2px}
.strip{background:var(--teal);color:#fff}
.strip__in{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:22px 0}
.strip__in div{display:grid;gap:2px}.strip b{font-size:18px}.strip span{color:#bfd6d2;font-size:15px}
.sec{padding:88px 0}.sec--tint{background:#efe8dc}
.svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px}
.svc{display:grid;grid-template-columns:42% 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(15,61,58,.07)}
.svc img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block}
.svc div{padding:22px}.svc h3{color:var(--teal)}.svc p{color:var(--fg2);margin:0;font-size:17px}
.news{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.news img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px}
.news p{color:var(--fg2)}
.g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}
.g__i{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:#ddd3c3}
.g__i:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.g__i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.g__i:hover img{transform:scale(1.04)}
.g__i span{position:absolute;inset-inline:0;bottom:0;padding:26px 12px 10px;color:#fff;font-size:14px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.steps{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.steps li{background:#fff;border-radius:18px;padding:24px}
.steps b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;font-size:20px;margin-bottom:12px}
.steps h3{color:var(--teal)}.steps p{color:var(--fg2);margin:0}
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.contact img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:22px}
.info{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:10px}
.info li{display:grid;grid-template-columns:90px 1fr;gap:10px;border-bottom:1px solid var(--line);padding-bottom:10px}
.info b{color:var(--teal)}.info span{color:var(--fg2)}
.foot{background:var(--teal);color:#fff;padding:28px 0 96px}
.foot__in{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.credit{color:#bfd6d2;font-size:14px}
.fab{position:fixed;z-index:30;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:18px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.fab svg{width:30px;height:30px}
.lb{position:fixed;inset:0;z-index:50;background:rgba(5,15,14,.92);display:grid;place-items:center;padding:20px}
.lb[hidden]{display:none}.lb img{max-height:80vh;border-radius:12px}.lb p{color:#fff;margin:10px 0 0;text-align:center}
.lb button{position:absolute;top:14px;left:18px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}
@media (max-width:900px){.svcs,.news,.contact{grid-template-columns:1fr}.g{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}.nav{display:none}.contact img{aspect-ratio:4/3}}
@media (max-width:640px){body{font-size:17px}.strip__in{grid-template-columns:1fr;gap:12px}.svc{grid-template-columns:1fr}.svc img{min-height:0;aspect-ratio:16/10}.sec{padding:62px 0}.top .cta--sm span{display:none}.top .cta--sm{padding:10px}.hero__in{padding-bottom:90px}}
@media (prefers-reduced-motion:reduce){.hero__img{animation:none}}
/* v2 fixes (Ahmed t1163u): readable text on photos, season line, trust strip, reviews */
.hero::after{background:linear-gradient(0deg,rgba(6,24,22,.95) 0,rgba(6,24,22,.78) 38%,rgba(6,24,22,.35) 70%,rgba(6,24,22,.25))}
.hero h1,.hero .lead,.hero .rating{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero .lead{color:#fff}
.hero h1 span{color:#f3dcaa}
.season{display:inline-block;margin:0 0 12px;padding:6px 14px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(243,220,170,.6);color:#fff;font-weight:800;font-size:15px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ghost--light{border-color:rgba(255,255,255,.8);color:#fff;background:rgba(0,0,0,.25)}
.top:not(.is-solid){background:linear-gradient(180deg,rgba(0,0,0,.55),transparent)}
.top:not(.is-solid) .brand,.top:not(.is-solid) .nav{text-shadow:0 1px 6px rgba(0,0,0,.6)}
.g__i span{padding:40px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.85) 70%);text-shadow:0 1px 4px rgba(0,0,0,.8)}
.strip__in{grid-template-columns:repeat(5,1fr)}
.rv{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.rv blockquote{margin:0;background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(15,61,58,.06)}
.rv p{color:var(--fg2)}.rv cite{font-style:normal;color:var(--teal);font-weight:700;font-size:15px}
@media (max-width:900px){.strip__in{grid-template-columns:repeat(2,1fr)}.strip__in div:last-child{grid-column:span 2}.rv{grid-template-columns:1fr}}
@media (max-width:640px){.strip__in{grid-template-columns:1fr}.strip__in div:last-child{grid-column:auto}}
@media (max-width:640px){.strip__in{grid-template-columns:repeat(2,1fr);gap:14px 12px}.strip__in div:last-child{grid-column:span 2}.strip b{font-size:16px}.strip span{font-size:13.5px;line-height:1.5}}
/* round 2 (Ahmed t1166u): services text always in its own solid white panel under the photo (iOS Safari stretched the img behind the text) */
.svc{display:flex;flex-direction:column;position:relative}
.svc img{position:static;display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/10;object-fit:cover;flex:none}
.svc div{position:relative;z-index:1;background:#fff;padding:20px 22px;flex:1}
.svc h3{color:#0f3d3a;font-size:21px}
.svc p{color:#2f2c27}
@media (min-width:901px){.svc{flex-direction:row}.svc img{width:42%;aspect-ratio:auto;height:auto;align-self:stretch}.svc div{width:58%}}

/* Landscape editorial layout: own photos, white service panels, no fact strip. */
:root{--bg:#faf9f5;--fg:#182a23;--fg2:#45534b;--teal:#173e30;--line:rgba(23,62,48,.13)}
.hero{min-height:800px;min-height:94svh}.hero__img{object-position:center 46%;animation:none}.hero::after{background:linear-gradient(0deg,rgba(7,27,18,.96),rgba(7,27,18,.70) 44%,rgba(7,27,18,.22) 100%)}
.hero h1{max-width:950px;font-size:clamp(44px,5.5vw,78px);line-height:1.22}.hero h1 span{color:#d5e2bc}.hero-name{font-weight:700;font-size:22px;margin-bottom:8px}.hero .lead{max-width:680px;font-size:21px}.season{border-color:#a9bd92;background:#133d2b7a;color:#eff8df}.brand{line-height:1.3}.top.is-solid{background:rgba(250,249,245,.97)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px}.section-note{color:var(--fg2);border-inline-start:1px solid var(--line);padding-inline-start:24px;margin:0}.svcs{gap:24px}.svc{box-shadow:none;border:1px solid var(--line);border-radius:12px}.svc div{padding:26px;background:#fff}.svc h3{color:var(--teal);font-size:23px}.svc p{color:#34453a}.news{gap:64px}.news img{aspect-ratio:4/5;max-height:640px;border-radius:8px}.news h2{max-width:470px}.news p{max-width:480px;font-size:20px}.sec--tint{background:#eef0e7}
.g{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.g__i,.g__i:first-child{grid-column:auto;grid-row:auto;aspect-ratio:auto;border-radius:8px;background:transparent;overflow:visible}.g__i img{height:490px;border-radius:8px;object-fit:cover}.g__i span{position:static;display:block;background:none;padding:14px 0 0;color:var(--teal);text-shadow:none;font-size:18px}.gallery-note{color:var(--fg2)}
.care{background:var(--teal);color:#e5eee2}.care h2,.care h3{color:#fff}.care .eyebrow{color:#d2dda8}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.care-grid article{border-top:1px solid #ffffff45;padding-top:24px}.care-grid span{display:block;color:#c4d5aa;margin-bottom:18px;font-size:30px}.care-grid p{color:#dbe6da;margin:0}.steps li{border:1px solid var(--line);border-radius:8px}.steps b{border-radius:4px}.contact img{max-height:550px;border-radius:8px}.contact-links{margin-top:28px}.social{display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;font-weight:700}.foot{padding:34px 0 100px}.foot__in>span:last-child{font-size:15px;color:#c2d4c7}.cta{color:#092911}.eyebrow{letter-spacing:0}.lb{grid-template-rows:1fr auto}.lb img{width:auto;height:auto;object-fit:contain;max-width:95vw}.lb button{z-index:1}.fab.is-hidden{opacity:0;pointer-events:none}
@media(min-width:901px){.svc{flex-direction:column}.svc img{width:100%;height:auto;aspect-ratio:16/10}.svc div{width:100%}.svcs:has(.svc:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.hero{min-height:780px;min-height:94svh}.hero__in{padding-top:130px;padding-bottom:80px}.hero h1{font-size:42px}.hero .lead{font-size:19px}.hero-name{font-size:20px}.top{padding:18px 0}.top .brand{max-width:280px;font-size:19px}.section-head{display:block}.section-note{display:none}.svcs{gap:22px}.svc img{height:auto;aspect-ratio:16/10}.svc div{padding:24px}.news{gap:30px}.news img{aspect-ratio:5/4}.news p{font-size:18px}.g{gap:24px;grid-template-columns:1fr}.g__i img{height:auto;max-height:530px;aspect-ratio:4/5;object-fit:cover}.g__i span{font-size:17px}.care-grid{grid-template-columns:1fr;gap:28px}.care-grid span{font-size:24px;margin-bottom:12px}.care-grid h3{font-size:22px}.contact{gap:32px}.contact img{aspect-ratio:5/4}.cta{font-size:17px;padding:14px 20px}.info li{grid-template-columns:70px 1fr}}
