@charset "UTF-8";
/* Cinematic glass layer: one art direction, palette-driven surfaces. */
:root { --glass-line:color-mix(in srgb,var(--text) 14%,transparent); --glass-fill:color-mix(in srgb,var(--surface) 73%,transparent); --glass-highlight:color-mix(in srgb,var(--text) 11%,transparent); }
body { isolation:isolate; background:var(--background); }
body::before { z-index:70; opacity:.11; }
/* Move one overscanned layer with a compositor transform, never its background-position. */
.ambient-background { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; background-color:var(--background); }
.ambient-scene { position:absolute; inset:-180px -7vw; background-image:radial-gradient(ellipse 70% 68% at 79% 18%,color-mix(in srgb,var(--accent2) 16%,transparent),transparent 72%),radial-gradient(ellipse 90% 75% at 5% 92%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 75%),linear-gradient(color-mix(in srgb,var(--background) 82%,transparent),color-mix(in srgb,var(--background) 87%,transparent)),url("assets/system/ambient.webp"); background-position:center; background-size:cover; background-repeat:no-repeat; transform:translate3d(0,0,0); will-change:transform; }
.ambient-background::before { content:""; position:absolute; z-index:1; inset:-16%; background:radial-gradient(ellipse 38% 34% at 27% 36%,color-mix(in srgb,var(--accent2) 16%,transparent),transparent 78%),radial-gradient(ellipse 31% 33% at 77% 72%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 78%); animation:background-drift 30s ease-in-out infinite alternate; }
.ambient-background::after { content:""; position:absolute; inset:0; background:repeating-radial-gradient(circle at 82% 14%,transparent 0 130px,color-mix(in srgb,var(--accent2) 9%,transparent) 131px,transparent 132px); mask-image:linear-gradient(130deg,#0008,transparent 78%); opacity:.4; }
main,.site-footer { position:relative; z-index:1; }
@keyframes background-drift { from { transform:translate3d(-2%,0,0) scale(1); } to { transform:translate3d(4%,3%,0) scale(1.07); } }
html[dir="rtl"] body { font-family:"IBM Plex Sans Arabic","Noto Sans Arabic",system-ui,sans-serif; }
html[dir="rtl"] .hero h1,html[dir="rtl"] .section-head h2,html[dir="rtl"] .statement p,html[dir="rtl"] .footer-top p { font-family:"Noto Naskh Arabic","Noto Sans Arabic",serif; font-weight:600; }
html[dir="rtl"] .hero h1 { font-size:clamp(4.7rem,8.25vw,10rem); line-height:1.12; }
html[dir="rtl"] .section-head h2 { font-size:clamp(3.5rem,5.9vw,7.1rem); line-height:1.16; }

/* Floating navigation: a glass bar with a thin reading progress line. */
.site-header { inset:18px 3.3vw auto; border:1px solid #ffffff36; border-radius:18px; background:#11100fb3; color:#fff; box-shadow:0 16px 48px #0004,inset 0 1px #ffffff36; -webkit-backdrop-filter:blur(22px) saturate(140%); backdrop-filter:blur(22px) saturate(140%); overflow:visible; transition:background .35s,color .35s,box-shadow .35s,border-color .35s; }
.site-header::after { content:""; position:absolute; inset-inline-start:17px; bottom:-1px; width:var(--scroll-progress,0%); max-width:calc(100% - 34px); height:2px; background:var(--accent2); box-shadow:0 0 15px var(--accent2); border-radius:5px; }
.site-header.is-scrolled,.site-header.menu-open { background:color-mix(in srgb,var(--background) 83%,transparent); border-color:var(--glass-line); color:var(--text); box-shadow:0 20px 55px #0005,inset 0 1px var(--glass-highlight); -webkit-backdrop-filter:blur(26px) saturate(140%); backdrop-filter:blur(26px) saturate(140%); }
.site-header:not(.is-scrolled):not(.menu-open) { background:#11100fb3; }
.nav-shell { height:72px; padding-inline:27px; width:100%; }
.brand { font-size:.95rem; letter-spacing:.045em; }
.brand-mark { width:40px; height:40px; border:1px solid #ffffff72; background:#ffffff12; color:inherit; box-shadow:inset 0 1px #ffffff36; }
.site-header.is-scrolled .brand-mark,.site-header.menu-open .brand-mark { border-color:var(--glass-line); background:var(--glass-highlight); }
.desktop-nav { gap:clamp(17px,2.25vw,38px); }
.desktop-nav a { position:relative; font-size:.8rem; }
.desktop-nav a::after { content:""; position:absolute; inset-inline-start:0; bottom:-9px; width:0; height:1px; background:currentColor; transition:width .35s; }
.desktop-nav a:hover::after { width:100%; }
.header-cta { border-radius:11px; min-height:43px; background:#ffffff1d; border-color:#ffffff70; color:#fff; box-shadow:inset 0 1px #ffffff45; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.site-header.is-scrolled .header-cta,.site-header.menu-open .header-cta { background:color-mix(in srgb,var(--accent) 76%,transparent); border-color:var(--accent); color:var(--accent-text); }
.menu-toggle { border-radius:10px; }
.mobile-nav { position:absolute; top:calc(100% + 9px); inset-inline:0; padding:22px 26px 27px; border:1px solid var(--glass-line); border-radius:16px; background:color-mix(in srgb,var(--background) 94%,transparent); color:var(--text); box-shadow:0 20px 50px #0007; -webkit-backdrop-filter:blur(26px); backdrop-filter:blur(26px); }

/* The image remains visible around a luminous, lightly frosted hero panel. */
.hero { min-height:max(760px,100svh); padding-block:160px 110px; background:transparent; }
.hero-media { -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 69%,#000b 81%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 69%,#000b 81%,transparent 100%); }
.hero-media img { transform:scale(1.035); animation:hero-luminance 2s ease-out both; }
.hero-media::after { background:linear-gradient(270deg,#070607d9 0%,#07060780 38%,transparent 76%),linear-gradient(0deg,#0505068a,transparent 45%,#04040550); }
html[dir="ltr"] .hero-media::after { background:linear-gradient(90deg,#0a090ac9,#0a090a69 42%,#0a090a16 88%),linear-gradient(0deg,#0a090aaf,transparent 35%,#0a090a44); }
.hero::after { display:none; }
.hero::before { content:""; position:absolute; z-index:-1; width:min(58vw,850px); height:min(58vw,850px); inset-inline-start:-13vw; top:8%; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 24%,transparent),transparent 68%); filter:blur(80px); opacity:.65; animation:ambient-breathe 9s ease-in-out infinite alternate; pointer-events:none; }
.hero-content { position:relative; padding:clamp(35px,4.3vw,68px); max-width:810px; border:1px solid #ffffff3b; border-radius:25px; background:linear-gradient(140deg,#231e1aa6,#110e0b7f 56%,#ffffff0d); box-shadow:0 28px 100px #0006,inset 0 1px #ffffff55; -webkit-backdrop-filter:blur(17px) saturate(135%); backdrop-filter:blur(17px) saturate(135%); }
.hero-content::before { content:""; position:absolute; inset:11px; border:1px solid #ffffff20; border-radius:18px; pointer-events:none; }
.hero .eyebrow { font-size:.74rem; color:var(--accent2); }
.hero h1 { position:relative; margin-block:14px 17px; text-shadow:0 2px 30px #0003; }
.hero h1 em { color:var(--accent2); }
.hero-body { max-width:575px; color:#f7f3ee; }
.hero-actions { position:relative; margin-top:29px; }
.hero-actions .button { border-radius:11px; min-height:58px; background:color-mix(in srgb,var(--accent2) 80%,transparent); border:1px solid color-mix(in srgb,var(--accent2) 90%,white); color:#15110f; box-shadow:inset 0 1px #ffffffa5,0 12px 28px #0003; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.hero-actions .button-ghost { background:#ffffff1a; border:1px solid #ffffff75; color:#fff; box-shadow:inset 0 1px #ffffff55; }
.hero-actions .button-ghost:hover { background:#ffffff35; }
.hero-caption,.hero-index { color:#fff; text-shadow:0 2px 10px #0009; }
.hero-scroll { color:#fff; text-shadow:0 2px 8px #000a; }
.hero-caption,.hero-index { bottom:90px; }
.hero-scroll { bottom:87px; }
@keyframes hero-luminance { from { opacity:.66; filter:brightness(.7); } to { opacity:1; filter:brightness(1); } }
@keyframes ambient-breathe { from { transform:translate3d(0,0,0) scale(1); opacity:.4; } to { transform:translate3d(6%,3%,0) scale(1.12); opacity:.72; } }

/* This suspended glass bar bridges the photographic hero and the page. */
.trust-band { position:relative; z-index:4; width:min(calc(100% - 80px),1320px); margin:-31px auto 0; padding:22px 0; border:1px solid var(--glass-line); border-radius:17px; background:color-mix(in srgb,var(--surface) 94%,transparent); color:var(--text); box-shadow:0 20px 60px #0004,inset 0 1px var(--glass-highlight); -webkit-backdrop-filter:blur(12px) saturate(120%); backdrop-filter:blur(12px) saturate(120%); }
.trust-band .container { width:100%; padding-inline:30px; }
.trust-list { gap:clamp(18px,4vw,65px); }

/* Light and depth beneath translucent content surfaces. */
.content-section { isolation:isolate; overflow:hidden; background:transparent !important; }
.section-services,.section-process,.section-contact { background:transparent !important; }
.section-services::before,.section-process::before,.section-contact::before,.section-gallery::before { content:""; position:absolute; z-index:-1; width:min(80vw,950px); height:min(80vw,950px); border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent2) 20%,transparent),transparent 65%); filter:blur(55px); pointer-events:none; }
.section-services::before { inset-inline-end:-22vw; top:-190px; }
.section-process::before { inset-inline-start:-26vw; bottom:-340px; }
.section-gallery::before { inset-inline-start:-18vw; top:0; opacity:.65; }
.section-contact::before { inset-inline-end:-20vw; top:5%; }
.content-section::after { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:linear-gradient(var(--glass-highlight) 1px,transparent 1px),linear-gradient(90deg,var(--glass-highlight) 1px,transparent 1px); background-size:145px 145px; opacity:.1; mask-image:linear-gradient(transparent 10%,#000 45%,transparent 95%); }
.section-head h2 { text-wrap:balance; }
.section-head .eyebrow::before { content:""; display:inline-block; width:25px; height:1px; margin-inline-end:12px; vertical-align:middle; background:currentColor; }
.section-intro .split-copy { position:relative; z-index:2; margin-inline-start:-68px; padding:clamp(32px,4vw,57px); border:1px solid var(--glass-line); border-radius:21px; background:var(--glass-fill); box-shadow:0 23px 70px #0003,inset 0 1px var(--glass-highlight); -webkit-backdrop-filter:blur(23px); backdrop-filter:blur(23px); }
html[dir="rtl"] .section-intro .section-head h2,html[dir="rtl"] .section-contact .section-head h2 { font-size:clamp(3rem,4.7vw,5.6rem); }

/* Glass cards, with a tiny pointer-responsive reflection. */
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; border:0; }
.service-card,.process-card,.price-card,.testimonial,.custom-block { position:relative; isolation:isolate; overflow:hidden; border:1px solid var(--glass-line); border-radius:22px; background:var(--glass-fill); box-shadow:0 18px 56px #0002,inset 0 1px var(--glass-highlight); -webkit-backdrop-filter:blur(23px) saturate(125%); backdrop-filter:blur(23px) saturate(125%); }
.service-card::before,.process-card::before,.price-card::before,.testimonial::before,.custom-block::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(560px circle at var(--pointer-x,50%) var(--pointer-y,0%),color-mix(in srgb,var(--accent2) 23%,transparent),transparent 58%); opacity:0; transition:opacity .45s; }
.service-card:hover::before,.process-card:hover::before,.price-card:hover::before,.testimonial:hover::before,.custom-block:hover::before { opacity:1; }
.service-card { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:clamp(30px,3.1vw,48px); min-height:355px; transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s,opacity .8s; }
.service-card:nth-child(2) { margin-top:28px; }
.service-card:nth-child(3) { margin-top:56px; }
.service-card:hover,.price-card:hover { transform:translateY(-9px); border-color:color-mix(in srgb,var(--accent2) 65%,transparent); box-shadow:0 30px 75px #0004,inset 0 1px var(--glass-highlight); background:var(--glass-fill); }
.has-js .service-card.reveal.is-visible:hover,.has-js .price-card.reveal.is-visible:hover { transform:translateY(-9px); }
.card-top { width:100%; justify-content:space-between; font-size:.78rem; }
.card-top .card-icon { display:block; width:26px; height:26px; }
.service-card h3 { margin:58px 0 15px; font-size:clamp(1.6rem,2.15vw,2.35rem); }
.service-card p { margin:0; max-width:30ch; }
.service-card .text-link { margin-top:auto; padding-top:22px; }
.process-grid { border:0; gap:18px; }
.process-card,.process-card:not(:first-child) { padding:38px; border:1px solid var(--glass-line); min-height:300px; }
.process-card:last-child { border:1px solid var(--glass-line); }
.process-number { opacity:.78; }
.price-grid,.testimonial-grid { gap:18px; }
.price-card,.testimonial { background:var(--glass-fill); }
.custom-block { background:var(--glass-fill); }

/* Framed editorial images and floating glass captions. */
.split-media { border-radius:20px; overflow:visible; }
.split-photo { width:100%; height:100%; overflow:hidden; border-radius:20px; }
.split-media img,.contact-image img { border-radius:20px; }
.split-media::after { border-radius:21px; }
.gallery-grid { gap:23px; }
.gallery-card { position:relative; }
.gallery-image { position:relative; border-radius:21px; border:1px solid var(--glass-line); box-shadow:0 20px 60px #0004; }
.gallery-image::after { content:""; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,#08090acc); pointer-events:none; }
.gallery-image img { transform:scale(1.01); transition:transform 1.15s cubic-bezier(.17,.67,.18,1),filter 1s; }
.gallery-card:hover img { transform:scale(1.09); filter:saturate(1.13); }
.gallery-card figcaption { position:absolute; z-index:2; inset-inline:16px; bottom:17px; padding:14px 19px; border:1px solid #ffffff50; border-radius:12px; background:#1412109e; color:#fff; box-shadow:inset 0 1px #ffffff33; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.gallery-card figcaption .eyebrow { color:var(--accent2); }
.gallery-card figcaption h3 { margin:2px 0; color:#fff; }

/* A second full-width photographic movement, instead of a flat quote block. */
.section-quote { position:relative; isolation:isolate; min-height:560px; display:grid; place-items:center; padding:130px 24px; color:#fff; background:transparent; }
.section-quote:not(.with-image) { background:transparent !important; }
.section-quote .container { position:relative; z-index:2; }
.section-quote.with-image::before,.section-quote.with-image::after { display:none; }
.quote-media { position:absolute; inset:0; z-index:0; overflow:hidden; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 19%,#000 81%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 19%,#000 81%,transparent); }
.quote-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#08090ab3,#08090a87,#08090ab3); pointer-events:none; }
.quote-media img { width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.06); }
.statement { position:relative; max-width:920px; padding:47px clamp(25px,5vw,80px); border:1px solid #ffffff48; border-radius:24px; background:#16120e74; box-shadow:0 25px 80px #0004,inset 0 1px #ffffff3b; -webkit-backdrop-filter:blur(13px); backdrop-filter:blur(13px); }
.statement .quote-mark { color:var(--accent2); opacity:1; }
.statement p,html[dir="rtl"] .statement p { font-size:clamp(2.4rem,4.8vw,5.3rem); line-height:1.4; color:#fff; }
.statement cite { color:var(--accent2); }

/* The closing contact card and persistent glass action. */
.section-contact .contact-copy { padding:clamp(27px,4vw,55px); border:1px solid var(--glass-line); border-radius:23px; background:var(--glass-fill); box-shadow:0 26px 70px #0003,inset 0 1px var(--glass-highlight); -webkit-backdrop-filter:blur(25px); backdrop-filter:blur(25px); }
.contact-image { border:1px solid var(--glass-line); border-radius:21px; box-shadow:0 25px 65px #0004; }
.contact-image img { border-radius:20px; }
.faq-list { display:grid; gap:13px; border:0; }
.faq-item { padding-inline:23px; border:1px solid var(--glass-line); border-radius:14px; background:var(--glass-fill); -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px); }
.sticky-cta { overflow:hidden; z-index:101; min-height:59px; border:1px solid color-mix(in srgb,var(--accent2) 70%,white); border-radius:15px; background:color-mix(in srgb,var(--accent2) 32%,#10100f); color:#fff; box-shadow:0 15px 45px #0008,inset 0 1px #ffffff5e; -webkit-backdrop-filter:blur(20px) saturate(145%); backdrop-filter:blur(20px) saturate(145%); animation:sticky-arrive .8s 1.1s both; }
.sticky-cta::before { inset:4px; border:1px solid #ffffff30; border-radius:10px; }
.sticky-cta::after { content:""; position:absolute; inset:-25% auto -25% -90%; width:45%; background:linear-gradient(90deg,transparent,#ffffff55,transparent); transform:skewX(-25deg); transition:left .7s; pointer-events:none; }
.sticky-cta:hover::after { left:150%; }
.sticky-cta:hover { box-shadow:0 22px 55px #0009,inset 0 1px #ffffff5e; }
.site-footer { position:relative; overflow:hidden; background:transparent; -webkit-backdrop-filter:none; backdrop-filter:none; }
.site-footer::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--background) 88%,transparent)),radial-gradient(circle at 15% 100%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 45%); }
.footer-top,.footer-bottom { position:relative; }
@keyframes sticky-arrive { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.button,.header-cta { position:relative; overflow:hidden; }
.button::before,.header-cta::before { content:""; position:absolute; inset:-25% auto -25% -90%; width:45%; background:linear-gradient(90deg,transparent,#ffffff6b,transparent); transform:skewX(-25deg); transition:left .7s; pointer-events:none; }
.button:hover::before,.header-cta:hover::before { left:150%; }

/* Staggered entrances and image reveals carry the camera-like pacing. */
.has-js .reveal { opacity:0; transform:translateY(43px); transition:opacity .95s ease,transform .95s cubic-bezier(.17,.67,.18,1),box-shadow .4s,border-color .4s; transition-delay:var(--reveal-delay,0ms); }
.has-js .reveal.is-visible { opacity:1; transform:translateY(0); }
.has-js .split-media.reveal,.has-js .gallery-card.reveal { clip-path:inset(9% 0 9% 0 round 16px); transition:opacity 1s ease,transform 1s cubic-bezier(.17,.67,.18,1),clip-path 1.35s cubic-bezier(.17,.67,.18,1); }
.has-js .split-media.reveal.is-visible,.has-js .gallery-card.reveal.is-visible { clip-path:inset(0 0 0 0 round 0); }
.has-js .split-media.reveal.is-visible { clip-path:none; }

@media (max-width:1100px) {
 .site-header { inset-inline:18px; }
 .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .service-card:nth-child(n) { margin-top:0; }
 .service-card:last-child { grid-column:1 / -1; }
}
@media (max-width:760px) {
 .ambient-scene { inset:-100px -7vw; }
 .ambient-background::before { animation:none; }
 .site-header { inset:10px 12px auto; border-radius:15px; }
 .nav-shell { height:61px; padding-inline:15px; }
 .site-header::after { inset-inline-start:12px; max-width:calc(100% - 24px); }
 .hero { padding:112px 17px 115px; min-height:100svh; }
 .hero-media img { object-position:42% center; }
 .hero-media::after { background:linear-gradient(0deg,#0a090ac9,#0a090a7e 55%,#0a090a69); }
 .hero-content { padding:34px 26px; border-radius:19px; background:#15120fa1; }
 .hero-content::before { inset:7px; border-radius:14px; }
 html[dir="rtl"] .hero h1 { font-size:clamp(3.6rem,12vw,6rem); }
 .hero-caption,.hero-scroll { display:none; }
 .hero-index { bottom:91px; }
 .trust-band { width:calc(100% - 28px); margin-top:-28px; padding:17px 0; }
 .trust-band .container { padding-inline:19px; }
 .service-grid { grid-template-columns:1fr; }
 .service-card:last-child { grid-column:auto; }
 .service-card { min-height:290px; padding:29px; }
 .service-card h3 { margin-top:34px; }
 .process-grid { grid-template-columns:1fr; gap:13px; }
 .process-card,.process-card:not(:first-child),.process-card:last-child { border:1px solid var(--glass-line); padding:28px; min-height:0; }
 .gallery-grid { grid-template-columns:1fr 1fr; }
 .gallery-card figcaption { inset-inline:11px; bottom:10px; padding:11px 12px; }
 .gallery-card figcaption h3 { font-size:1.12rem; }
 .section-quote { min-height:480px; padding:80px 12px; }
 .statement { padding:36px 23px; }
 html[dir="rtl"] .statement p { font-size:clamp(2.6rem,8vw,4rem); }
 .section-contact .contact-copy { padding:28px; }
 .section-intro .split-copy { margin-inline-start:0; padding:30px; }
 html[dir="rtl"] .section-head h2 { font-size:clamp(3rem,9vw,5rem); }
}
@media (max-width:540px) {
 .hero-actions .button { width:100%; }
 .hero-content { padding:30px 20px; }
 html[dir="rtl"] .hero h1 { font-size:clamp(3.15rem,11vw,4.3rem); }
 .hero-body { font-size:.91rem; line-height:1.85; }
 .gallery-grid { grid-template-columns:1fr; }
 .gallery-card:first-child { grid-column:auto; }
 .gallery-image,.gallery-card:nth-child(n) .gallery-image { height:410px; }
 .gallery-card figcaption h3 { font-size:1.45rem; }
 .sticky-cta { bottom:calc(14px + env(safe-area-inset-bottom)); min-height:51px; }
}
@media (prefers-reduced-motion:reduce) {
 .ambient-background::before { animation:none; }
 .ambient-scene { transform:none !important; will-change:auto; }
 .hero-media img { animation:none; transform:none; will-change:auto; }
 .hero::before,.hero-scroll span,.sticky-cta { animation:none; }
 .has-js .reveal,.has-js .split-media.reveal,.has-js .gallery-card.reveal { opacity:1; transform:none; clip-path:none; transition:none; }
 .button::before,.header-cta::before,.sticky-cta::after { display:none; }
}

/* Signature pacing: image-led offer, editorial sequence, open timeline, final scene. */
.section-services .section-head { max-width:760px; }
.section-services .service-grid { grid-template-columns:1.16fr .92fr .92fr; align-items:stretch; gap:14px; }
.section-services .service-card:nth-child(n) { margin-top:0; min-height:470px; }
.section-services .service-card.has-image { display:block; padding:0; background:#191715; color:#fff; border-color:#ffffff46; }
.section-services .service-card.has-image::before { display:none; }
.service-visual { position:absolute; inset:0; overflow:hidden; }
.service-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#070708ed 0%,#0707089c 42%,#0707081a 85%); }
.service-visual img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.16,.7,.22,1); }
.service-card.has-image:hover .service-visual img { transform:scale(1.075); }
.service-card.has-image .service-content { position:relative; z-index:2; min-height:470px; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(27px,3vw,43px); }
.service-card.has-image .card-top { position:absolute; inset:28px 28px auto; width:auto; padding:12px 14px; border:1px solid #ffffff54; border-radius:12px; background:#12131373; color:#fff; -webkit-backdrop-filter:blur(15px); backdrop-filter:blur(15px); }
.service-card.has-image h3 { margin:0 0 11px; color:#fff; }
.service-card.has-image p { color:#eeeae5; }
.service-card.has-image .text-link { color:#fff; }
.section-gallery .gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(250px,26vw)); gap:14px; }
.section-gallery .gallery-card:nth-child(n) { margin:0; min-width:0; }
.section-gallery .gallery-card:first-child { grid-column:span 7; grid-row:span 2; }
.section-gallery .gallery-card:nth-child(n+2) { grid-column:span 5; }
.section-gallery .gallery-card .gallery-image { height:100%; }
.section-gallery .gallery-card { overflow:hidden; border-radius:20px; }
.section-gallery .gallery-card figcaption { inset-inline:20px; bottom:20px; width:max-content; max-width:calc(100% - 40px); }
.section-process .container { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,7vw,115px); align-items:start; }
.section-process .section-head { position:sticky; top:150px; margin:0; }
.section-process .process-grid { display:block; position:relative; padding-inline-start:34px; }
.section-process .process-grid::before { content:""; position:absolute; inset-block:15px; inset-inline-start:7px; width:1px; background:linear-gradient(var(--accent2),var(--glass-line)); }
.section-process .process-card,.section-process .process-card:not(:first-child),.section-process .process-card:last-child { position:relative; display:grid; grid-template-columns:95px 1fr; column-gap:25px; min-height:0; padding:32px 0 38px; margin:0; border:0; border-bottom:1px solid var(--glass-line); border-radius:0; background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
.section-process .process-card:last-child { border-bottom:0; }
.section-process .process-card::before { content:""; position:absolute; width:13px; height:13px; inset-inline-start:-33px; top:50px; border-radius:50%; border:1px solid var(--accent2); background:var(--background); box-shadow:0 0 0 6px color-mix(in srgb,var(--accent2) 14%,transparent),0 0 24px color-mix(in srgb,var(--accent2) 45%,transparent); }
.section-process .process-card::after { display:none; }
.section-process .process-number { grid-row:span 2; align-self:start; font-size:clamp(2.4rem,4vw,4.3rem); color:var(--accent); }
.section-process .process-card h3 { margin:0 0 8px; font-size:clamp(1.4rem,2vw,2rem); }
.section-process .process-card p { grid-column:2; margin:0; max-width:40ch; }
.section-contact.with-image { min-height:clamp(640px,80svh,920px); display:flex; align-items:center; overflow:hidden; padding:clamp(110px,13vw,180px) 0; background:transparent !important; }
.section-contact.with-image .container { position:static; width:min(100% - 48px,1320px); }
.section-contact.with-image .contact-grid { display:block; }
.section-contact.with-image .contact-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; min-height:0; border:0; border-radius:0; overflow:hidden; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 19%,#000 80%,transparent); mask-image:linear-gradient(to bottom,transparent,#000 19%,#000 80%,transparent); }
.section-contact.with-image .contact-image img { width:100%; height:100%; object-fit:cover; border-radius:0; }
.section-contact.with-image .contact-image::after { content:""; position:absolute; inset:0; background:linear-gradient(270deg,#0b0a0be8,#0b0a0bb0 49%,#0b0a0b36 100%); pointer-events:none; }
html[dir="ltr"] .section-contact.with-image .contact-image::after { background:linear-gradient(90deg,#0b0a0be8,#0b0a0bb0 49%,#0b0a0b36); }
.section-contact.with-image::before,.section-contact.with-image::after { display:none; }
.section-contact.with-image .contact-copy { position:relative; z-index:2; max-width:700px; padding:clamp(35px,5vw,75px); border-color:#ffffff65; background:#14110fc0; color:#fff; box-shadow:0 30px 100px #0008,inset 0 1px #ffffff50; }
.section-contact.with-image .section-head { margin-bottom:24px; }
.section-contact.with-image .section-head h2 { color:#fff; }
.section-contact.with-image .section-head p { color:#efe8dd; }
.section-contact.with-image .section-head .eyebrow { color:var(--accent2); }
.section-contact.with-image .contact-channel { background:#ffffff24; color:#fff; border-color:#ffffff72; }
.section-contact.with-image .demo-note { padding-top:19px; border-top:1px solid #ffffff47; color:#d8cec1; font-size:.78rem; line-height:1.8; }
@media (max-width:1100px) {
 .section-services .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .section-services .service-card:last-child { grid-column:1 / -1; }
}
@media (max-width:760px) {
 .section-services .service-grid { grid-template-columns:1fr; }
 .section-services .service-card:last-child { grid-column:auto; }
 .section-services .service-card:nth-child(n),.service-card.has-image .service-content { min-height:400px; }
 .section-gallery .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto; }
 .section-gallery .gallery-card:first-child { grid-column:span 2; grid-row:auto; height:480px; }
 .section-gallery .gallery-card:nth-child(n+2) { grid-column:span 1; height:330px; }
 .section-process .container { display:block; }
 .section-process .section-head { position:static; margin-bottom:30px; }
 .section-process .process-card,.section-process .process-card:not(:first-child),.section-process .process-card:last-child { grid-template-columns:65px 1fr; padding-block:25px; }
 .section-contact.with-image .contact-image::after,html[dir="ltr"] .section-contact.with-image .contact-image::after { background:linear-gradient(0deg,#0b0a0bef,#0b0a0bb6 65%,#0b0a0b50); }
 .section-contact.with-image .contact-copy { max-width:100%; }
}
@media (max-width:540px) {
 .section-gallery .gallery-grid { display:block; }
 .section-gallery .gallery-card:nth-child(n) { height:390px; margin-bottom:14px; }
 .section-gallery .gallery-card:first-child { height:480px; }
 .section-contact.with-image .container { width:calc(100% - 28px); }
}
@media (prefers-reduced-motion:reduce) {
 .service-visual img { transition:none; }
}

/* One motion language: short entrances, deliberate image reveals, clear reading state. */
:root { --ease-cinematic:cubic-bezier(.22,.7,.19,1); }
@keyframes cinematic-enter { from { opacity:0; transform:translate3d(0,24px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@media (prefers-reduced-motion:no-preference) {
 .hero-content { animation:none; }
 .hero-content .hero-rule { transform-origin:100% 50%; animation:cinematic-enter .8s .12s both; }
 .hero-content .eyebrow { animation:cinematic-enter .9s .23s both; }
 .hero-content h1 { animation:cinematic-enter 1.05s .34s both; }
 .hero-content .hero-body { animation:cinematic-enter .95s .53s both; }
 .hero-content .hero-actions { animation:cinematic-enter .9s .7s both; }
 .has-js .section-head.reveal { opacity:1; transform:none; transition:none; }
 .has-js .section-head.reveal > .eyebrow,.has-js .section-head.reveal > h2,.has-js .section-head.reveal > .section-lead { opacity:0; transform:translate3d(0,22px,0); transition:opacity .85s var(--ease-cinematic),transform .85s var(--ease-cinematic); }
 .has-js .section-head.reveal.is-visible > .eyebrow,.has-js .section-head.reveal.is-visible > h2,.has-js .section-head.reveal.is-visible > .section-lead { opacity:1; transform:translate3d(0,0,0); }
 .has-js .section-head.reveal > h2 { transition-delay:.12s; }
 .has-js .section-head.reveal > .section-lead { transition-delay:.25s; }
 .has-js .trust-band.reveal { opacity:1; transform:none; }
 .has-js .trust-band.reveal .eyebrow,.has-js .trust-band.reveal .trust-list span { opacity:0; transform:translate3d(0,14px,0); transition:opacity .65s var(--ease-cinematic),transform .65s var(--ease-cinematic); }
 .has-js .trust-band.reveal.is-visible .eyebrow,.has-js .trust-band.reveal.is-visible .trust-list span { opacity:1; transform:none; }
 .has-js .trust-list span:nth-child(1) { transition-delay:.12s; }
 .has-js .trust-list span:nth-child(2) { transition-delay:.21s; }
 .has-js .trust-list span:nth-child(3) { transition-delay:.3s; }
 .has-js .trust-list span:nth-child(4) { transition-delay:.39s; }
 .has-js .split-media.reveal img { transform:scale(1.075); transition:transform 1.55s var(--ease-cinematic); }
 .has-js .split-media.reveal.is-visible img { transform:scale(1); }
 .has-js .service-card.has-image.reveal .service-visual img { transform:scale(1.09); transition:transform 1.5s var(--ease-cinematic); }
 .has-js .service-card.has-image.reveal.is-visible .service-visual img { transform:scale(1); }
 .has-js .service-card.has-image.reveal.is-visible:hover .service-visual img { transform:scale(1.055); }
 .has-js .gallery-card.reveal .gallery-image img { transform:scale(1.09); transition:transform 1.5s var(--ease-cinematic),filter .5s; }
 .has-js .gallery-card.reveal.is-visible .gallery-image img { transform:scale(1.01); }
 .has-js .gallery-card.reveal.is-visible:hover .gallery-image img { transform:scale(1.065); }
 .has-js .section-quote.with-image .quote-media img,.has-js .section-contact.with-image .contact-image img { transform:scale(1.065); transition:transform 1.8s var(--ease-cinematic); }
 .has-js .section-quote.with-image.is-in-view .quote-media img,.has-js .section-contact.with-image.is-in-view .contact-image img { transform:scale(1); }
 .has-js .statement.reveal.is-visible .quote-mark { animation:cinematic-enter .65s .1s both; }
 .has-js .statement.reveal.is-visible p { animation:cinematic-enter .95s .24s both; }
 .has-js .statement.reveal.is-visible cite { display:block; animation:cinematic-enter .7s .46s both; }
}
.desktop-nav a[aria-current="location"]::after { width:100%; }
.mobile-nav a[aria-current="location"] { color:var(--accent); }
.section-quote.with-image { min-height:clamp(610px,82svh,900px); }
.section-process .process-grid::after { content:""; position:absolute; inset-block:15px; inset-inline-start:7px; width:1px; background:var(--accent2); box-shadow:0 0 15px color-mix(in srgb,var(--accent2) 65%,transparent); transform:scaleY(var(--process-progress,0)); transform-origin:top center; transition:transform .8s var(--ease-cinematic); }
.section-process .process-card::before { z-index:1; transition:background .45s,box-shadow .45s,border-color .45s; }
.section-process .process-card.is-current::before { background:var(--accent2); box-shadow:0 0 0 8px color-mix(in srgb,var(--accent2) 18%,transparent),0 0 32px color-mix(in srgb,var(--accent2) 75%,transparent); }
.faq-item { transition:border-color .35s,background .35s,transform .35s var(--ease-cinematic); }
.faq-item:hover,.faq-item:focus-within,.faq-item[open] { border-color:color-mix(in srgb,var(--accent2) 65%,var(--glass-line)); background:color-mix(in srgb,var(--surface) 90%,transparent); }
.faq-item[open] .faq-answer { animation:cinematic-enter .4s var(--ease-cinematic) both; }
@media (max-width:760px) {
 .section-quote.with-image { min-height:570px; }
}
@media (prefers-reduced-motion:reduce) {
 .hero-content { animation:none; }
 .has-js .trust-band.reveal .eyebrow,.has-js .trust-band.reveal .trust-list span { opacity:1; transform:none; transition:none; }
 .has-js .section-head.reveal > .eyebrow,.has-js .section-head.reveal > h2,.has-js .section-head.reveal > .section-lead { opacity:1; transform:none; transition:none; }
 .has-js .split-media.reveal img,.has-js .service-card.has-image.reveal .service-visual img,.has-js .gallery-card.reveal .gallery-image img,.has-js .section-quote.with-image .quote-media img,.has-js .section-contact.with-image .contact-image img { transform:none; transition:none; }
 .section-process .process-grid::after { transition:none; }
 .faq-item,.faq-item[open] .faq-answer { transition:none; animation:none; }
}

/* Final editorial layer: intentional crops, quiet chapter rules, and numbered frames. */
.cover-image { width:100%; height:100%; object-fit:cover; object-position:var(--image-position,50% 50%); }
.hero-media img,.quote-media img { object-position:var(--image-position,50% 50%); }
.section-head::after { content:""; display:block; width:clamp(75px,15vw,190px); height:1px; margin-block-start:clamp(25px,3vw,43px); background:linear-gradient(90deg,var(--accent2),color-mix(in srgb,var(--accent2) 10%,transparent)); transform-origin:inline-start; }
html[dir="rtl"] .section-head::after { background:linear-gradient(270deg,var(--accent2),color-mix(in srgb,var(--accent2) 10%,transparent)); transform-origin:right center; }
html[dir="ltr"] .section-head::after { transform-origin:left center; }
.section-contact.with-image .section-head::after { background:linear-gradient(90deg,var(--accent2),transparent); }
.gallery-image::before { content:attr(data-frame); position:absolute; z-index:2; top:18px; inset-inline-end:18px; padding:7px 11px; border:1px solid #ffffff6b; border-radius:7px; background:#1111117d; color:#fff; font:600 .66rem/1.2 "DM Sans",sans-serif; letter-spacing:.15em; direction:ltr; -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:inset 0 1px #ffffff4d; }
.section-gallery .gallery-card:first-child .gallery-image::before { top:24px; inset-inline-end:24px; }
.hero h1,.section-head h2,.statement p { text-wrap:balance; }
.hero-body,.section-lead,.prose p,.service-card p { text-wrap:pretty; }
.service-card.has-image:focus-within .service-visual img,.gallery-card:focus-within .gallery-image img { transform:scale(1.055); }
@media (prefers-reduced-motion:no-preference) {
 .has-js .section-head.reveal::after { transform:scaleX(0); transition:transform .95s var(--ease-cinematic) .2s; }
 .has-js .section-head.reveal.is-visible::after { transform:scaleX(1); }
}
@media (max-width:760px) {
 .cover-image,.hero-media img,.quote-media img { object-position:var(--image-position-mobile,var(--image-position,50% 50%)); }
 .hero-media img { object-position:var(--image-position-mobile,var(--image-position,42% 50%)); }
 .ambient-background::after { opacity:.23; }
 .content-section::after { opacity:.065; }
 .gallery-image::before { top:13px; inset-inline-end:13px; }
 .section-gallery .gallery-card:first-child .gallery-image::before { top:17px; inset-inline-end:17px; }
}
@media (max-width:540px) {
 .hero { min-height:100svh; padding-block:calc(105px + env(safe-area-inset-top)) calc(125px + env(safe-area-inset-bottom)); }
 .hero-content { max-width:100%; }
 .section-head::after { margin-block-start:24px; }
}
@media (prefers-reduced-motion:reduce) {
 .has-js .section-head.reveal::after { transform:none; transition:none; }
}

/* Content chooses the page length and image count; the visual language stays consistent. */
.split-layout.no-media,.section-intro .split-layout.no-media { grid-template-columns:minmax(0,1fr); }
.split-layout.no-media .split-copy,.section-intro .split-layout.no-media .split-copy { max-width:860px; margin-inline-start:0; }
.section-contact .contact-grid.no-media { grid-template-columns:minmax(0,1fr); }
.section-contact .contact-grid.no-media .contact-copy { max-width:780px; }
.section-services .service-grid[data-layout="one"] { grid-template-columns:minmax(0,1fr); }
.section-services .service-grid[data-layout="two"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.section-services .service-grid[data-layout="many"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.section-services .service-grid[data-layout="one"] .service-card.has-image,.section-services .service-grid[data-layout="one"] .service-card.has-image .service-content { min-height:540px; }
.section-services .service-grid[data-layout="one"] .service-card:not(.has-image) { min-height:300px; }
.section-services .service-grid[data-layout="many"] .service-card,.section-services .service-grid[data-layout="many"] .service-card.has-image .service-content { min-height:420px; }
.section-services .service-grid[data-layout="many"] .service-card:last-child:nth-child(odd) { grid-column:1/-1; }
.section-features .service-grid[data-layout="one"] { grid-template-columns:1fr; }
.section-features .service-grid[data-layout="two"],.section-features .service-grid[data-layout="many"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.section-features .service-grid[data-layout="many"] .service-card:last-child:nth-child(odd) { grid-column:1/-1; }
.section-gallery .gallery-grid[data-layout="one"],.section-gallery .gallery-grid[data-layout="two"],.section-gallery .gallery-grid[data-layout="many"] { grid-template-rows:none; }
.section-gallery .gallery-grid[data-layout="one"] .gallery-card:first-child { grid-column:1/-1; grid-row:auto; height:clamp(430px,50vw,680px); }
.section-gallery .gallery-grid[data-layout="two"] .gallery-card:first-child { grid-column:span 7; grid-row:auto; height:clamp(410px,44vw,620px); }
.section-gallery .gallery-grid[data-layout="two"] .gallery-card:nth-child(2) { grid-column:span 5; height:clamp(410px,44vw,620px); }
.section-gallery .gallery-grid[data-layout="many"] { grid-auto-rows:minmax(260px,24vw); }
.section-gallery .gallery-grid[data-layout="many"] .gallery-card:nth-child(n+4) { grid-column:span 6; }
.section-gallery .gallery-grid[data-layout="many"] .gallery-card:last-child:nth-child(even) { grid-column:1/-1; }
@media (max-width:1100px) {
 .section-services .service-grid[data-layout="one"] { grid-template-columns:1fr; }
 .section-services .service-grid[data-layout="two"] .service-card:last-child { grid-column:auto; }
 .section-services .service-grid[data-layout="many"] .service-card:last-child:nth-child(even) { grid-column:auto; }
}
@media (max-width:760px) {
 .section-services .service-grid[data-layout="one"],.section-services .service-grid[data-layout="two"],.section-services .service-grid[data-layout="many"] { grid-template-columns:1fr; }
 .section-features .service-grid[data-layout="one"],.section-features .service-grid[data-layout="two"],.section-features .service-grid[data-layout="many"] { grid-template-columns:1fr; }
 .section-services .service-grid[data-layout="many"] .service-card:last-child:nth-child(odd) { grid-column:auto; }
 .section-features .service-grid[data-layout="many"] .service-card:last-child:nth-child(odd) { grid-column:auto; }
 .section-services .service-grid[data-layout="one"] .service-card.has-image,.section-services .service-grid[data-layout="one"] .service-card.has-image .service-content { min-height:400px; }
 .section-gallery .gallery-grid[data-layout="one"],.section-gallery .gallery-grid[data-layout="two"],.section-gallery .gallery-grid[data-layout="many"] { grid-template-rows:auto; grid-auto-rows:auto; }
 .section-gallery .gallery-grid[data-layout="one"] .gallery-card:first-child,.section-gallery .gallery-grid[data-layout="two"] .gallery-card:first-child { grid-column:1/-1; grid-row:auto; height:480px; }
 .section-gallery .gallery-grid[data-layout="two"] .gallery-card:nth-child(2) { grid-column:1/-1; height:420px; }
 .section-gallery .gallery-grid[data-layout="many"] .gallery-card:first-child { grid-column:1/-1; grid-row:auto; height:480px; }
 .section-gallery .gallery-grid[data-layout="many"] .gallery-card:nth-child(n+2) { grid-column:span 1; height:330px; }
 .section-gallery .gallery-grid[data-layout="many"] .gallery-card:last-child:nth-child(even) { grid-column:1/-1; }
}

/* Sana bilingual controls and visit selector extension. */
.language-toggle {
  min-width: 48px;
  min-height: 39px;
  padding: 0 13px;
  border: 1px solid var(--glass-line);
  border-radius: 11px;
  background: color-mix(in srgb,var(--surface) 38%,transparent);
  color: var(--text);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow: inset 0 1px var(--glass-highlight);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.language-toggle:hover { border-color: var(--accent2); background: color-mix(in srgb,var(--accent2) 12%,var(--surface)); transform: translateY(-1px); }
html[dir="rtl"] .language-toggle { letter-spacing: 0; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.split-photo { position: relative; }
.concept-note {
  position: absolute;
  z-index: 4;
  inset-inline-start: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 0 11px;
  border: 1px solid #ffffff4a;
  border-radius: 999px;
  background: #0b1512a6;
  color: #fff;
  font-size: .66rem;
  line-height: 1.35;
  box-shadow: inset 0 1px #ffffff38;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}
.service-visual .concept-note { top: 85px; bottom: auto; inset-inline-start: 28px; }

.section-visit_picker { overflow: hidden; }
.section-visit_picker .section-head { max-width: 820px; }
.visit-picker {
  position: relative;
  border: 1px solid var(--glass-line);
  border-radius: 24px;
  background: linear-gradient(145deg,color-mix(in srgb,var(--surface) 72%,transparent),color-mix(in srgb,var(--background) 78%,transparent));
  box-shadow: 0 28px 80px #0004, inset 0 1px var(--glass-highlight);
  -webkit-backdrop-filter: blur(22px) saturate(120%);
  backdrop-filter: blur(22px) saturate(120%);
  overflow: hidden;
}
.visit-picker::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  inset-inline-end: -160px;
  top: -210px;
  border-radius: 50%;
  background: radial-gradient(circle,color-mix(in srgb,var(--accent2) 20%,transparent),transparent 68%);
  filter: blur(20px);
  pointer-events: none;
}
.visit-picker fieldset { position: relative; margin: 0; padding: clamp(24px,4vw,50px); border: 0; }
.visit-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 22px; }
.visit-choice {
  display: grid;
  place-items: center;
  min-height: 58px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb,var(--surface) 64%,transparent);
  color: var(--muted);
  font-weight: 700;
  font-size: .84rem;
  text-align: center;
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease;
}
.visit-choice:hover { transform: translateY(-2px); border-color: var(--accent); color: var(--text); }
.visit-radio:focus-visible + .visit-choice { outline: 2px solid var(--accent2); outline-offset: 4px; }
.visit-radio:checked + .visit-choice {
  border-color: color-mix(in srgb,var(--accent2) 85%,white);
  background: color-mix(in srgb,var(--accent2) 18%,var(--surface));
  color: var(--text);
  box-shadow: inset 0 1px color-mix(in srgb,white 30%,transparent),0 10px 30px #0002;
}
.visit-panel-stack { min-height: 270px; }
.visit-panel {
  position: relative;
  min-height: 270px;
  padding: clamp(28px,4vw,48px);
  border: 1px solid var(--glass-line);
  border-radius: 18px;
  background: color-mix(in srgb,var(--background) 62%,transparent);
  box-shadow: inset 0 1px var(--glass-highlight);
}
.visit-panel[hidden] { display: none !important; }
.visit-panel h3 {
  margin: 0 0 14px;
  color: var(--text);
  font-family: "Playfair Display","Noto Naskh Arabic","Noto Sans Arabic",serif;
  font-size: clamp(2rem,3.2vw,3.6rem);
  font-weight: 500;
  line-height: 1.2;
}
html[dir="rtl"] .visit-panel h3 { font-family: "Noto Naskh Arabic","Noto Sans Arabic",serif; font-weight: 600; line-height: 1.4; }
.visit-panel p { max-width: 720px; margin: 0 0 26px; color: var(--muted); line-height: 1.9; }
.visit-contact { width: fit-content; }
.visit-note { margin: 20px 3px 0; color: var(--muted); font-size: .76rem; line-height: 1.8; }

@media (max-width:1100px) {
  .nav-shell { gap: 12px; }
  .language-toggle { margin-inline-start: 4px; }
}
@media (max-width:760px) {
  .language-toggle { min-width: 44px; min-height: 40px; padding-inline: 10px; }
  .visit-options { grid-template-columns: 1fr; }
  .visit-panel-stack,.visit-panel { min-height: 320px; }
  .visit-panel { padding: 28px 23px; }
  .visit-contact { width: 100%; }
  .service-visual .concept-note { top: 80px; inset-inline-start: 22px; }
  .concept-note { inset-inline-start: 14px; bottom: 14px; max-width: calc(100% - 28px); }
}
@media (prefers-reduced-motion:reduce) {
  .language-toggle,.visit-choice { transition: none; }
  .visit-picker::before { filter: none; }
}
