@font-face{font-family:Vazirmatn;src:url('assets/fonts/Vazirmatn-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--accent:#A381CE;--gutter:2.5vw;--header-height:clamp(96px,7.422vw,152px);--header-gap:clamp(20px,1.172vw,24px);--bottom-gap:24px;--frame-padding:clamp(28px,2.344vw,48px);--fade-duration:650ms;font-family:Vazirmatn,sans-serif;font-synthesis:none;color:#fff;background:#160405}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer;background:transparent;color:inherit;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{cursor:default}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;display:block}[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:10;top:12px;right:12px;background:#fff;color:#1e1527;padding:12px 18px;transform:translateY(-180%)}.skip-link:focus{transform:none}
.section-one{position:relative;isolation:isolate;overflow:hidden;min-height:100svh;padding-bottom:var(--bottom-gap)}.background-stack{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.background-image{position:absolute;inset:-64px;width:calc(100% + 128px);height:calc(100% + 128px);max-width:none;object-fit:cover;object-position:50% 57%;filter:blur(clamp(25px,2.35vw,48px)) brightness(var(--background-brightness,.78));transform:scale(1.04)}
.site-header{position:relative;height:var(--header-height);margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;direction:ltr;z-index:3;background:transparent}.site-header nav{display:flex;align-items:center;gap:clamp(24px,2.4vw,50px);font-size:clamp(12px,.78vw,16px);font-weight:400;white-space:nowrap}.site-header nav button,.home-link{padding:12px 0;direction:rtl;transition:color 160ms ease}.site-header nav button:hover,.home-link:hover{color:var(--accent)}.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block}
/* Frame the original transparent canvas without modifying any logo pixels. */
.logo-frame{position:relative;display:block;width:clamp(124.8px,8.125vw,166.4px);aspect-ratio:1766/772;overflow:hidden}.logo-frame img{position:absolute;display:block;width:115.9683%;height:auto;max-width:none;left:-7.9841%;top:0}.site-header nav .contact-action{border:1px solid rgba(255,255,255,.9);min-width:clamp(144px,11.82vw,242px);height:clamp(42px,2.344vw,48px);padding:8px 20px;transition:background 160ms ease,color 160ms ease}.site-header nav .contact-action:hover{background:rgba(255,255,255,.12);color:#fff}.menu-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0;font-size:13px}
main{margin-top:var(--header-gap);padding:0 var(--gutter)}.hero{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:1.914/1;min-height:calc(100svh - var(--header-height) - var(--header-gap) - var(--bottom-gap));outline:none}.photo-stack,.slide-visual,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.photo-stack{overflow:hidden}.hero-image{object-fit:cover;object-position:50% 57%;display:block}.hero-shade{pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.82) 0,rgba(0,0,0,.42) 15%,transparent 38%)}
.slide-status{position:absolute;left:var(--frame-padding);top:clamp(24px,1.71vw,35px);height:30px;width:clamp(240px,19.14vw,392px);padding:0 14px;display:flex;align-items:center;gap:14px;background:rgba(0,0,0,.48);font-family:Montserrat,sans-serif;font-size:clamp(12px,.78vw,16px);font-variant-numeric:tabular-nums}.slide-counter{display:flex;align-items:center;gap:4px;white-space:nowrap}.progress-track{display:block;flex:1;height:2px;background:rgba(255,255,255,.4);overflow:hidden}.progress-fill{display:block;width:100%;height:100%;background:#fff;transition:width var(--fade-duration) ease}.slide-navigation{position:absolute;right:var(--frame-padding);top:clamp(18px,1.22vw,25px);display:flex;gap:10px}.slide-arrow{height:48px;width:48px;display:grid;place-items:center;background:rgba(0,0,0,.42);transition:background 160ms ease}.slide-arrow:not(:disabled):hover{background:rgba(0,0,0,.72)}.slide-arrow:disabled{background:rgba(0,0,0,.23);color:rgba(255,255,255,.35)}
.hero-copy{position:absolute;left:var(--frame-padding);right:var(--frame-padding);bottom:clamp(30px,2.344vw,48px);display:flex;align-items:flex-end;gap:32px;direction:ltr;pointer-events:none}
.hero-text{order:2;margin-left:auto;max-width:70%;direction:rtl;text-align:right}.hero-copy h1{font-weight:400;font-size:clamp(38px,2.65vw,54px);line-height:1.35;margin:0;white-space:normal}.hero-copy h1[lang="en"]{font-family:Montserrat,sans-serif;font-size:clamp(34px,2.55vw,52px);letter-spacing:.025em}.hero-description{font-size:clamp(15px,.9vw,18px);line-height:1.8;margin:10px 0 0;direction:rtl}.hero-actions{order:1;display:flex;pointer-events:auto;direction:rtl;flex-shrink:0}.hero-cta{display:flex;justify-content:center;align-items:center;min-width:clamp(160px,12vw,240px);min-height:48px;padding:12px 24px;border:1px solid rgba(255,255,255,.9);color:#fff;font-size:15px;line-height:1.5;background:transparent;transition:background 160ms ease,border-color 160ms ease}.hero-cta:hover{background:rgba(255,255,255,.12);border-color:#fff}
 dialog{color:#fff;font:inherit;border:1px solid rgba(255,255,255,.22);padding:0;background:#211b26}dialog::backdrop{background:rgba(0,0,0,.55)}.mobile-menu{width:min(440px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:22px;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}.menu-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px}.menu-close,.availability-close,.destination-close{font:300 30px/1 Montserrat,sans-serif;min-width:44px;min-height:44px}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a,.mobile-menu nav button{padding:18px 0;border-top:1px solid rgba(255,255,255,.15);text-align:right;display:flex;justify-content:space-between;gap:20px;font-size:18px}.mobile-menu small{font-size:10px;align-self:center;color:#c2b7cc}.availability-dialog,.destination-preview{width:min(420px,calc(100% - 40px));padding:36px 28px 28px}.availability-close,.destination-close{position:absolute;top:4px;left:4px}.availability-dialog h2,.destination-preview h2{font-size:24px;font-weight:400;margin:0 0 14px}.availability-dialog p,.destination-preview p{font-size:14px;line-height:1.9;margin:0 0 26px;color:#ddd5e3}.dismiss-button{border:1px solid var(--accent);padding:10px 20px;min-height:44px}
@media(max-width:1100px){.section-one{min-height:0}.hero{aspect-ratio:1.5/1;min-height:0}.site-header .desktop-nav{display:none}.menu-toggle{display:flex}:root{--header-height:100px;--header-gap:20px;--gutter:24px;--frame-padding:24px}.hero-copy{gap:18px}.hero-description{font-size:14px}}
@media(max-width:767px){:root{--header-height:88px;--header-gap:16px;--gutter:16px;--bottom-gap:24px;--frame-padding:20px}.section-one{min-height:0}.logo-frame{width:124.8px}.site-header nav .contact-action{min-width:0;height:40px;padding:8px 10px;font-size:11px}.menu-toggle{font-size:12px;gap:8px}.menu-toggle svg{width:18px}.hero{aspect-ratio:auto;height:calc((100vw - 32px)*.75 + 154px);min-height:0}.slide-visual::before{content:"";position:absolute;left:0;right:0;bottom:0;height:154px;background:#111}.hero-image{height:calc(100% - 154px);object-position:53% 57%}.background-image{object-position:53% 57%;filter:blur(28px) brightness(var(--background-brightness,.78))}.slide-status{left:14px;top:22px;width:calc(100% - 140px);max-width:230px;padding:0 10px;gap:10px;font-size:11px;height:26px}.slide-navigation{right:12px;top:14px;gap:4px}.slide-arrow{width:42px;height:42px}.slide-arrow svg{width:17px}.hero-copy{left:20px;right:20px;bottom:20px;display:flex;flex-direction:column;gap:15px;align-items:stretch}.hero-text{order:0;max-width:100%;width:100%;margin:0}.hero-copy h1,.hero-copy h1[lang="en"]{font-size:29px;line-height:1.3}.hero-description{font-size:13px;line-height:1.7;margin:7px 0 0}.hero-actions{order:1;align-self:flex-start;margin:0}.hero-cta{min-width:138px;min-height:44px;padding:10px 18px;font-size:13px}.hero-shade{background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.65) 154px,transparent 210px)}}
@media(max-width:370px){.logo-frame{width:106.6px}.menu-toggle{gap:6px}.site-header nav .contact-action{font-size:10px;padding:8px}.hero-copy h1,.hero-copy h1[lang="en"]{font-size:25px}.hero-copy{left:16px;right:16px;bottom:16px;gap:10px}.hero-description{font-size:12px}.slide-status{width:calc(100% - 132px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Section 02: supplied photographs retain the existing card frames and rail. */
.services-section{isolation:isolate;--service-gap:clamp(16px,1.22vw,25px);position:relative;background:#050505;padding-bottom:clamp(28px,2vw,42px);overflow:hidden}
.services-rail{display:flex;gap:var(--service-gap);margin:0 var(--gutter);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline-offset:7px}
.services-rail::-webkit-scrollbar{display:none}
.service-card{position:relative;isolation:isolate;flex:0 0 calc((100% - var(--service-gap)*4)/4.05);aspect-ratio:318/459;overflow:visible;scroll-snap-align:none;background:#131615;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)}
.service-image{position:absolute;inset:0;z-index:-1;background:#131615}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.service-photo-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.12) 38%,transparent 58%)}
.service-card h3{position:absolute;left:clamp(24px,1.95vw,40px);right:clamp(24px,1.95vw,40px);bottom:clamp(28px,1.95vw,40px);font-size:clamp(21px,1.37vw,28px);font-weight:400;line-height:1.65;text-align:right;margin:0}
.services-controls{display:flex;align-items:center;justify-content:space-between;gap:32px;margin:0 var(--gutter) clamp(20px,2vw,40px);min-height:44px}
.services-progress{position:relative;flex:0 1 17vw;min-width:128px;max-width:348px;height:2px;background:#555a57;overflow:hidden}
.services-progress-thumb{position:absolute;right:0;top:0;height:100%;background:#fff;width:66.6%;will-change:transform}
.services-navigation{display:flex;gap:20px}
.services-navigation button{display:grid;place-items:center;width:44px;height:44px;padding:0;transition:color 160ms ease}
.services-navigation button:hover:not(:disabled){color:var(--accent)}
.services-navigation button:disabled{color:#555a57}
@media(max-width:1100px){.service-card{flex-basis:calc((100% - var(--service-gap)*2.5)/2.65)}.services-progress{flex-basis:26vw}}
@media(max-width:767px){.service-card{flex-basis:82%;max-width:400px}.service-card h3{font-size:23px;left:24px;right:24px;bottom:28px}.services-controls{gap:24px}.services-progress{flex-basis:44%;min-width:100px}.services-navigation{gap:8px}.services-section{padding-bottom:24px}}

/* Autoplay control stays inside the existing counter strip. */
.slideshow-toggle{display:grid;place-items:center;flex:0 0 22px;width:22px;height:30px;padding:0}.slideshow-toggle svg{width:15px;height:15px;stroke-width:2}.slideshow-toggle:hover{color:var(--accent)}.slideshow-toggle:disabled{opacity:.5;cursor:default}

/* Whole-card hover uses a stable article frame so native carousel geometry never scales. */
.services-hover-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.services-backdrop-layer{position:absolute;inset:-108px;background-size:cover;background-position:center;filter:blur(36px);opacity:0;transition:opacity 360ms ease;will-change:opacity;transform:translateZ(0);backface-visibility:hidden;pointer-events:none}
.services-backdrop-shade{position:absolute;inset:0;background:rgba(5,5,5,.76);pointer-events:none}
.services-rail{margin:calc(-1 * var(--service-hover-pad-y,0px)) calc(var(--gutter) - var(--service-hover-pad-x,0px));padding:var(--service-hover-pad-y,0px) var(--service-hover-pad-x,0px)}
.service-card-surface{position:absolute;inset:0;isolation:isolate;overflow:hidden;background:#131615;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);transform:scale(1);transition:transform 360ms cubic-bezier(.16,1,.3,1)}
.service-card.is-service-active{z-index:3}
.service-card.is-service-active .service-card-surface{transform:scale(1.025)}
.service-card:focus-visible{outline:none}
.service-card:focus-visible .service-card-surface{outline:2px solid var(--accent);outline-offset:3px}
.services-controls{margin-bottom:max(clamp(20px,2vw,40px),calc(var(--service-hover-pad-y,0px) + 12px))}
@media(prefers-reduced-motion:reduce){.service-card.is-service-active .service-card-surface{transform:none}.service-card-surface,.services-backdrop-layer{transition:none}}

/* Blend the entire transparent branding group against the displayed section
   backdrop. The section isolates blending from the hero; the cards never blend. */
.services-section.has-service-backdrop .services-brand{--draft:#fff;--draft-light:#fff}.services-section.has-service-backdrop .services-intro{mix-blend-mode:difference}
.services-section.has-service-backdrop .services-intro h2,.services-section.has-service-backdrop .services-intro p{color:#fff}

/* Reveal moves a separate visual layer; measured articles and hover scale stay independent. */
.service-card-reveal{position:absolute;inset:0;opacity:1;transform:none}
.service-card.is-service-revealing{background:transparent;box-shadow:none}
.service-card:focus-within .service-card-reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.service-card-reveal{opacity:1!important;transform:none!important}}

/* Header-only reference motion: the emblem rises away while the wordmark
   rises, expands and appears. The idle small wordmark is intentionally hidden. */
.header-brand-spacer{height:var(--header-height)}
.site-header.header-brand-ready{position:fixed;inset:0 0 auto;height:var(--header-height);margin:0;padding:0 var(--gutter);z-index:30;isolation:isolate}
.site-header.header-brand-ready::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(5,5,5,0);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:background-color .3s cubic-bezier(.42,0,0,1),-webkit-backdrop-filter .3s cubic-bezier(.42,0,0,1),backdrop-filter .3s cubic-bezier(.42,0,0,1)}
.site-header.header-brand-ready.is-header-scrolled::before{background:rgba(5,5,5,.74);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.site-header.header-brand-ready .brand{width:clamp(124.8px,8.125vw,166.4px);height:88px;max-height:var(--header-height)}
.site-header.header-brand-ready .logo-frame{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%) translateY(35px);opacity:1;transition:transform .3s cubic-bezier(.42,0,0,1),opacity .3s cubic-bezier(.42,0,0,1);pointer-events:none}
.site-header.header-brand-ready .header-wordmark{position:absolute;left:50%;top:50%;display:block;width:57px;height:auto;overflow:visible;transform:translate(-50%,calc(-50% + 39px));opacity:0;fill:currentColor;stroke:none;pointer-events:none;transition:transform .3s cubic-bezier(.42,0,0,1),width .3s cubic-bezier(.42,0,0,1),opacity .3s cubic-bezier(.42,0,0,1)}
.site-header.header-brand-ready .header-wordmark-glyph{fill:currentColor;stroke:none;opacity:1}
.site-header.header-brand-ready.is-brand-switched .logo-frame{opacity:0;transform:translate(-50%,-100%) translateY(-4px)}
.site-header.header-brand-ready.is-brand-switched .header-wordmark{width:100%;transform:translate(-50%,-50%);opacity:1}
@media(max-width:767px){.site-header.header-brand-ready .brand{width:124.8px}}
@media(max-width:370px){.site-header.header-brand-ready .brand{width:106.6px}}
@media(prefers-reduced-motion:reduce){.site-header.header-brand-ready::before,.site-header.header-brand-ready .logo-frame,.site-header.header-brand-ready .header-wordmark{transition:none}}
/* Keep the keyboard skip link above the persistent header layer. */
body>.skip-link{z-index:40}

/* Scrolled header is gently slimmer; reserved hero space stays unchanged. */
.site-header.header-brand-ready{transition:height .3s cubic-bezier(.42,0,0,1)}
.site-header.header-brand-ready.is-header-scrolled{height:clamp(60px,4.4vw,72px)}
.site-header.header-brand-ready.is-header-scrolled .brand{max-height:100%}
@media(prefers-reduced-motion:reduce){.site-header.header-brand-ready{transition:none}}

/* Section 02: existing RTL controls overlay only the two outer card-row edges.
   The transparent navigation layer leaves native touch/trackpad scrolling free. */
.services-carousel{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
.services-carousel .services-controls{display:contents}
.services-carousel .services-progress{grid-area:1/1;justify-self:left;width:clamp(128px,17vw,348px);margin:21px var(--gutter) max(clamp(20px,2vw,40px),calc(var(--service-hover-pad-y,0px) + 12px))}
.services-carousel .services-rail{grid-area:2/1;min-width:0}
.services-carousel .services-navigation{grid-area:2/1;align-self:center;display:flex;justify-content:space-between;gap:0;width:100%;z-index:5;pointer-events:none;direction:ltr}
.services-carousel .services-navigation button{width:48px;height:64px;pointer-events:auto;border:1px solid rgba(255,255,255,.16);border-radius:0;background:rgba(5,5,5,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color 160ms ease,background-color 160ms ease}
.services-carousel .services-navigation button:hover:not(:disabled){background:rgba(5,5,5,.8)}
.services-carousel .services-navigation button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.services-carousel .services-navigation button:disabled{color:#aaa;cursor:default}
@media(max-width:1100px){.services-carousel .services-progress{width:26vw}}
@media(max-width:767px){.services-carousel .services-progress{width:44%;min-width:100px}.services-carousel .services-navigation button{width:44px;height:56px}}
