@import url('./fonts/fonts.css');
:root{--ink:#29342c;--forest:#3d5c48;--forest-dark:#2d4837;--sage:#aab8a3;--ivory:#fbf9f4;--cream:#f4f0e7;--sand:#e6dfd2;--gold:#b8a17d;--mute:#6e756f;--font-serif:'Playfair Display',Georgia,serif;--font-sans:'DM Sans',Arial,sans-serif;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--font-sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.arabic{font-family:'Noto Kufi Arabic',sans-serif}body.arabic h1,body.arabic h2,body.arabic h3,body.arabic .brand strong{font-family:'Noto Kufi Arabic',sans-serif}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--font-serif);font-weight:500;line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(3rem,5vw,5.5rem)}h2{font-size:clamp(2rem,3.25vw,3.5rem)}h3{font-size:1.35rem}p{color:var(--mute)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #8a9f84;outline-offset:4px}img{display:block;max-width:100%}svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icons{position:absolute;inline-size:0;block-size:0;overflow:hidden}.container{max-width:1320px;margin:auto;padding-left:34px;padding-right:34px}.skip{position:absolute;top:-9999px;z-index:300;background:var(--forest);color:white;padding:8px}.skip:focus{top:5px;left:5px}
.site-header{position:sticky;top:0;z-index:120;border-bottom:1px solid #e8e4da;background:rgba(251,249,244,.94);backdrop-filter:blur(18px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:94px}.brand{display:flex;align-items:center;gap:14px;min-width:max-content}.brand-icon{width:46px;height:52px;border:1px solid #ded8c8;border-radius:55% 45% 60% 40%;display:grid;place-items:center;color:#7b8a67;transform:rotate(-15deg)}.brand-icon svg{width:28px;height:28px}.brand-copy{display:flex;flex-direction:column;line-height:1.24}.brand-copy strong{font-family:var(--font-serif);font-size:1.6rem;font-weight:500;letter-spacing:-.02em}.brand-copy small{font-size:.74rem;color:#7a7c6e;letter-spacing:.025em}.nav{display:flex;align-items:center;gap:clamp(12px,1.9vw,31px);margin:auto}.nav a{font-size:.83rem;color:#555e55;white-space:nowrap;position:relative;padding:9px 0}.nav a:hover,.nav a[aria-current]{color:var(--forest-dark)}.nav a[aria-current]::after{content:"";position:absolute;inset-inline-start:0;bottom:2px;width:60%;height:2px;background:var(--forest)}.header-actions{display:flex;align-items:center;gap:20px}.language{font-size:.75rem;font-weight:700;color:var(--forest-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;padding:12px 23px;border-radius:80px;border:1px solid transparent;font-weight:600;font-size:.84rem;line-height:1.35;transition:background .2s,transform .2s,color .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--forest);color:#fff;box-shadow:0 8px 22px rgba(45,72,55,.12)}.btn-primary:hover{background:#2d4638}.btn-outline{border-color:#a6afa0;color:var(--forest-dark);background:rgba(255,255,255,.25)}.btn-outline:hover{background:#ecf0e8}.btn svg{width:17px;height:17px}.btn .arr{width:14px}.menu-toggle{display:none;align-items:center;justify-content:center;padding:9px;border:1px solid #e0ddcf;border-radius:10px;background:transparent;cursor:pointer}.menu-toggle svg{width:24px;height:24px}
.hero{position:relative;background:radial-gradient(circle at -3% 56%,#eae9d6 0,#f8f5ed 20%,transparent 37%),linear-gradient(110deg,#faf8f2 0%,#f7f2e7 100%);overflow:hidden}.hero::before{content:"";position:absolute;inset-inline-end:4%;top:-15%;width:30vw;aspect-ratio:1;border:1px solid #ddd3b8;border-radius:50%;opacity:.55;pointer-events:none}.hero::after{content:"";position:absolute;inset-inline-start:-130px;bottom:-195px;width:410px;height:410px;border:1px solid #d5dac2;border-radius:50%;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:5.5%;min-height:625px;align-items:center}.hero-copy{position:relative;z-index:1;padding:80px 0 86px}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.18em;font-size:.67rem;font-weight:700;color:#9e937e;margin-bottom:23px}.eyebrow .line{width:36px;height:1px;background:#bdb39f}.hero h1{max-width:730px;margin:0 0 25px}.hero h1 em{font-weight:400;color:#55735d}.hero-lead{font-size:1.04rem;max-width:540px;line-height:1.85;margin-bottom:28px}.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:30px}.hero-points span{display:flex;align-items:center;gap:9px;font-size:.81rem;color:#536153}.hero-points span svg{width:34px;height:34px;padding:8px;border-radius:50%;background:#eae7d8;color:var(--forest)}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-visual{align-self:stretch;position:relative;min-width:0;display:flex;align-items:end;justify-content:center;padding:36px 12px 0}.hero-halo{position:absolute;width:96%;height:78%;bottom:-30%;background:#d9d9c2;border-radius:50% 50% 0 0;opacity:.55}.photo-arch{z-index:1;width:min(100%,520px);height:585px;overflow:hidden;border-radius:48% 48% 0 0;border:9px solid #f4f1e8;border-bottom:0;box-shadow:0 13px 40px rgba(45,50,39,.07)}.photo-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}.photo-quote{position:absolute;z-index:2;inset-inline-end:-4%;bottom:40px;max-width:220px;padding:21px 23px;background:rgba(251,248,239,.94);box-shadow:0 8px 25px rgba(71,65,39,.10);border:1px solid #e8e0cc;border-radius:22px;font-family:var(--font-serif);font-style:italic;font-size:1.03rem;line-height:1.5}.photo-quote svg{display:block;color:var(--sage);width:21px;height:21px;margin-bottom:10px}
.section{padding:100px 0}.intro-section{background:#fffdfa}.intro-grid{display:grid;grid-template-columns:1fr .84fr 1.12fr;gap:5%;align-items:center}.intro-copy p,.intro-services>p{max-width:400px}.intro-copy h2{margin-bottom:25px}.intro-photo{position:relative;border-radius:190px 190px 16px 16px;overflow:hidden;min-height:435px}.intro-photo img{width:100%;height:435px;object-fit:cover;object-position:50% 35%}.photo-caption{position:absolute;bottom:13px;left:15px;right:15px;padding:10px 12px;border-radius:8px;background:rgba(255,251,242,.88);text-align:center;font-size:.72rem}.intro-services h2{font-size:clamp(1.8rem,2.6vw,2.9rem)}.mini-services{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.mini-service{min-height:115px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;gap:12px;padding:18px;background:#f4f2eb;border-radius:14px;transition:background .2s}.mini-service:hover{background:#e9eee4}.mini-service svg{color:var(--forest);width:25px;height:25px}.mini-service span{font-size:.8rem;font-weight:600;line-height:1.5}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--forest);font-weight:700;font-size:.88rem;border-bottom:1px solid #a1ad9e;padding-bottom:4px;margin-top:10px}.text-link svg{width:16px;height:16px}.steps-section{background:#f3f0e7}.centered{text-align:center;max-width:750px;margin:0 auto 38px}.centered .eyebrow{justify-content:center}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step-card{padding:37px 38px;background:var(--ivory);border:1px solid #ebe7db;border-radius:20px;min-height:218px}.step-number,.approach-index{font-family:var(--font-serif);font-size:2.2rem;color:#b0bda9}.step-card h3{margin:12px 0}.step-card p{font-size:.92rem;margin:0}
.contact-band{background:linear-gradient(125deg,#e9ede3,#f6f0e3)}.contact-band-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:63px;padding-bottom:63px}.contact-band-inner h2{font-size:2.6rem;margin-bottom:15px}.contact-band-inner p{margin:2px 0;font-size:.93rem}.contact-band-actions{display:flex;gap:12px;flex-wrap:wrap}.footer{background:#fbf9f4;padding:60px 0 24px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner p{font-size:.83rem;margin:22px 0;max-width:430px}.footer-links{display:flex;gap:24px;align-items:start;flex-wrap:wrap;font-size:.88rem;color:var(--forest)}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #eae6dc;padding-top:21px;color:#888a80;font-size:.76rem}
.subhero{position:relative;overflow:hidden;padding:95px 0;background:linear-gradient(115deg,#faf8f1,#eceee3)}.subhero .container{position:relative;z-index:1}.subhero h1{max-width:900px;font-size:clamp(2.7rem,4.3vw,4.9rem);margin-bottom:20px}.subhero p{max-width:760px;font-size:1.08rem}.botanical-sub{position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid #becab8;inset-inline-end:-155px;top:-185px;opacity:.52}.botanical-sub:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:1px solid #becab8;top:100px;left:40px}.feature-grid{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:center}.feature-photo{max-width:475px;max-height:600px;overflow:hidden;border-radius:48% 48% 20px 20px}.feature-photo img{width:100%;height:555px;object-fit:cover;object-position:50% 40%}.feature-copy h2{font-size:clamp(2rem,3.5vw,3.7rem)}.feature-copy p{font-size:1.05rem}.feature-copy .btn{margin-top:20px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:70px}.value-card{padding:27px;border:1px solid #e7e6dc;border-radius:18px;background:#fff}.value-card svg{width:28px;height:28px;color:var(--forest)}.value-card h3{margin:16px 0 8px}.value-card p{margin:0;font-size:.88rem}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{min-height:282px;padding:32px;border:1px solid #ece8dd;background:#fffdfa;border-radius:22px}.service-card h2{font-size:1.55rem;line-height:1.3;margin:23px 0 14px}.service-card p{font-size:.93rem}.service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#edf0e7;color:var(--forest)}.service-icon svg{height:26px;width:26px}.note{display:flex;align-items:flex-start;gap:13px;max-width:960px;margin:43px auto 0;background:#eff2e9;padding:22px 26px;border-radius:16px}.note svg{width:25px;height:25px;color:var(--forest);margin-top:5px}.note p{margin:0;font-size:.86rem}.approach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:23px}.approach-card{padding:37px;border:1px solid #e9e4d8;border-radius:23px;background:#fff}.approach-top{display:flex;justify-content:space-between;align-items:center}.approach-top svg{width:33px;height:33px;color:#94a68c}.approach-card h2{font-size:1.75rem;margin:20px 0 12px}.approach-card p{margin:0}.booking-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:10%;align-items:start}.booking-main h2{max-width:580px}.booking-steps{margin-top:30px}.booking-step{display:flex;gap:25px;border-bottom:1px solid #e2dfd6;padding:22px 0}.booking-step b{font-family:var(--font-serif);font-size:1.7rem;color:#a4b09b}.booking-step h3{margin:0 0 9px}.booking-step p{margin:0}.booking-card{border-radius:27px;background:#eaf0e5;padding:36px;box-shadow:0 9px 32px rgba(57,74,60,.06)}.booking-card-icon{width:33px;height:33px;color:var(--forest)}.booking-card h2{font-size:2.1rem;margin:15px 0}.booking-card .btn{width:100%;margin:18px 0 9px}.booking-card .phone-number{font-weight:700;text-align:center;color:var(--forest)}.booking-card hr{border:0;border-top:1px solid #d4ded1;margin:25px 0}.booking-card p{font-size:.92rem}.small-note{margin-top:30px;font-size:.83rem;color:#777}.contact-layout{display:grid;grid-template-columns:1fr .85fr;gap:40px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-card{border:1px solid #eae4d8;border-radius:20px;background:#fff;padding:29px;min-height:210px}.contact-card>svg{width:30px;height:30px;color:var(--forest)}.contact-card h2{font-size:1.65rem;margin:16px 0}.contact-card p{font-size:.86rem}.contact-card a{color:var(--forest);font-weight:600}.contact-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;border-radius:23px;background:#e8ebdf;min-height:400px;overflow:hidden}.map-abstract{position:absolute;inset:0;background:repeating-linear-gradient(27deg,transparent 0 54px,rgba(255,255,255,.45) 54px 64px,transparent 64px 121px),repeating-linear-gradient(128deg,transparent 0 64px,rgba(255,255,255,.60) 64px 76px,transparent 76px 144px)}.map-pin{display:block;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;background:#f1f4eb;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;color:var(--forest);box-shadow:0 9px 22px rgba(45,65,44,.13)}.map-pin svg{width:32px;height:32px}.map-abstract strong,.map-abstract small{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}.map-abstract strong{top:58%;font-family:var(--font-serif);font-size:2.05rem}.map-abstract small{top:68%;color:#5c6b59}.contact-visual>.btn{position:absolute;bottom:30px;z-index:1}.legal-body{max-width:850px}.legal-body h2{font-size:1.85rem;margin:30px 0 12px}.legal-body p{line-height:1.9}
.arabic .nav a{font-size:.82rem}.arabic .eyebrow{letter-spacing:0}.arabic .brand-copy strong{font-size:1.35rem}.arabic .hero h1{font-size:clamp(2.7rem,4.3vw,4.4rem);line-height:1.5}.arabic .hero h1 em{font-style:normal}.arabic .hero-lead{line-height:2.2}.arabic .photo-quote{font-family:'Noto Kufi Arabic',sans-serif;font-style:normal;font-size:.9rem}.arabic .hero-copy{padding:60px 0}.arabic .subhero h1{line-height:1.6}.arabic .service-card h2,.arabic .mini-service span{line-height:1.9}.arabic .brand-icon{transform:rotate(15deg)}
@media(max-width:1160px){.header-inner{min-height:82px}.nav{gap:13px}.brand-copy strong{font-size:1.4rem}.header-book{padding:10px 16px}.hero-grid{min-height:580px}.photo-arch{height:535px}.intro-grid{gap:3%}.intro-photo,.intro-photo img{min-height:360px;height:360px}}
@media(max-width:980px){.menu-toggle{display:inline-flex}.nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;padding:20px 35px 26px;background:var(--ivory);box-shadow:0 18px 24px rgba(25,43,29,.1);gap:6px}.nav.is-open{display:flex}.nav a{padding:9px 10px}.header-actions{margin-inline-start:auto}.hero-grid{grid-template-columns:1fr 1fr;gap:2%}.hero-copy{padding:60px 0}.hero h1{font-size:clamp(2.8rem,4.5vw,4.1rem)}.hero-points{gap:12px}.hero-points span{font-size:.72rem}.photo-arch{height:480px}.photo-quote{display:none}.intro-grid{grid-template-columns:1fr 1fr;gap:38px}.intro-photo{display:none}.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.container{padding-left:22px;padding-right:22px}.header-inner{min-height:75px}.brand-icon{width:36px;height:42px}.brand-copy strong{font-size:1.27rem}.brand-copy small{font-size:.63rem}.header-actions{gap:12px}.header-book{display:none}.hero-grid{grid-template-columns:1fr;min-height:unset}.hero-copy{padding:55px 0 23px}.hero h1{font-size:clamp(2.55rem,10vw,4rem);line-height:1.2}.hero-lead{font-size:.97rem}.hero-points{gap:8px 13px}.hero-points span{font-size:.75rem}.hero-points span svg{height:30px;width:30px}.actions{gap:10px}.actions .btn{padding:11px 17px;font-size:.79rem;min-height:45px}.hero-visual{height:390px;padding:0 18px}.photo-arch{height:390px;width:min(95%,380px)}.photo-arch img{object-position:50% 30%}.section{padding:66px 0}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-copy h2,.intro-services h2{font-size:2.3rem}.intro-photo{display:none}.mini-services{gap:10px}.steps-grid,.values-grid{grid-template-columns:1fr}.step-card{min-height:unset;padding:26px}.contact-band-inner{display:block;padding-top:46px;padding-bottom:46px}.contact-band-inner h2{font-size:2.15rem}.contact-band-actions{margin-top:24px}.footer{padding-top:48px}.footer-inner{display:block}.footer-links{margin:30px 0}.subhero{padding:65px 0}.subhero h1{font-size:2.65rem}.feature-grid,.booking-layout,.contact-layout{grid-template-columns:1fr;gap:34px}.feature-photo{max-width:360px;margin:auto}.feature-photo img{height:420px}.cards-grid,.approach-grid,.contact-cards{grid-template-columns:1fr}.service-card{min-height:unset;padding:27px}.booking-card{padding:28px}.contact-visual{min-height:330px}.arabic .hero h1{font-size:clamp(2.25rem,8.4vw,3.3rem)}.arabic .hero-copy{padding:50px 0 18px}.arabic .subhero h1{font-size:2.25rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* HANAA_MOBILE_ABOUT_PHOTO_V1 */
@media screen and (max-width: 980px) {
  .intro-grid { grid-template-columns: 1fr; gap: 30px; }
  .intro-photo {
    display: block;
    width: min(100%, 380px);
    min-height: 0;
    height: auto;
    margin-inline: auto;
    justify-self: center;
  }
  .intro-photo img {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 420 / 510;
    object-fit: cover;
    object-position: 50% 35%;
  }
}
