@charset "UTF-8";
:root { color-scheme: light dark; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
  margin: 0; overflow-x: hidden; background: var(--background); color: var(--text);
  font-family: "DM Sans","Noto Sans Arabic",system-ui,sans-serif; font-size: 16px; line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
html[dir="rtl"] { font-family: "Noto Sans Arabic",system-ui,sans-serif; }
html[dir="rtl"] .eyebrow { letter-spacing:0; }
body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.12' filter='url(%23n)'/%3E%3C/svg%3E");
}
a { color: inherit; text-decoration: none; }
button,input,textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.icon { width: 20px; height: 20px; flex: none; }
.container { width: min(100% - 80px, 1320px); margin-inline: auto; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
::selection { background: var(--accent); color: var(--accent-text); }
.skip-link { position: fixed; inset-inline-start: 20px; top: -80px; z-index: 200; padding: 10px 16px; background: var(--accent); color: var(--accent-text); }
.skip-link:focus { top: 10px; }
.eyebrow {
  display: inline-block; color: var(--accent); font-size: .68rem; line-height: 1.5; font-weight: 700;
  letter-spacing: .24em; text-transform: uppercase;
}
.button,.header-cta {
  display: inline-flex; justify-content: center; align-items: center; gap: 18px;
  min-height: 52px; padding: 0 25px; border: 1px solid var(--accent);
  background: var(--accent); color: var(--accent-text); font-size: .79rem; font-weight: 700;
  letter-spacing: .075em; transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
  white-space: nowrap;
}
.button:hover,.header-cta:hover { transform: translateY(-3px); box-shadow: 0 14px 38px color-mix(in srgb,var(--accent) 24%,transparent); }
.button .icon,.header-cta .icon { width: 16px; }
.button-ghost { background: transparent; border-color: var(--line); color: var(--text); }
.button-ghost:hover { border-color: var(--accent); background: color-mix(in srgb,var(--accent) 12%,transparent); }
.text-link { display: inline-flex; align-items: center; gap: 15px; width: fit-content; color: var(--accent); font-size: .84rem; font-weight: 700; border-bottom: 1px solid var(--accent); padding-bottom: 7px; }
.text-link .icon { width: 16px; transition: transform .3s; }
.text-link:hover .icon { transform: translateX(5px); }
html[dir="rtl"] .text-link:hover .icon { transform: translateX(-5px); }

/* Navigation */
.site-header { position: fixed; inset: 0 0 auto; z-index: 100; transition: background .3s, border-color .3s; border-bottom: 1px solid transparent; }
.site-header.is-scrolled,.site-header.menu-open {
  background: color-mix(in srgb,var(--background) 94%,transparent);
  border-color: var(--line); backdrop-filter: blur(22px);
}
.nav-shell { height: 82px; display: flex; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; margin-inline-end: auto; font-weight: 800; font-size: .83rem; letter-spacing: .13em; line-height: 1.2; }
.brand-mark { display: grid; place-items: center; width: 37px; height: 37px; border: 1px solid var(--accent); color: var(--accent); font-size: .72rem; letter-spacing: -.05em; }
.desktop-nav { display: flex; align-items: center; gap: clamp(14px,2.2vw,35px); }
.desktop-nav a,.mobile-nav a { font-size: .77rem; font-weight: 600; transition: color .2s; }
.desktop-nav a:hover,.mobile-nav a:hover { color: var(--accent); }
.header-cta { min-height: 39px; padding: 0 18px; font-size: .7rem; }
.menu-toggle { display: none; width: 40px; height: 40px; border: 1px solid var(--line); background: transparent; color: var(--text); }
.menu-toggle span { display: block; width: 18px; height: 1px; margin: 5px auto; background: currentColor; transition: transform .2s; }
.menu-open .menu-toggle span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform: translateY(-3px) rotate(-45deg); }
.mobile-nav { padding: 24px max(24px,calc((100vw - 1320px)/2)); background: var(--background); border-top: 1px solid var(--line); }
.mobile-nav:not([hidden]) { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.mobile-nav .button { margin-top: 5px; }

/* Sections */
.content-section { padding:clamp(86px,10vw,160px) 0; position:relative; }
.content-section:nth-of-type(even) { background:color-mix(in srgb,var(--surface) 38%,var(--background)); }
.section-head { max-width:750px; margin-bottom:55px; }
.section-head h2 { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-weight:400; letter-spacing:-.045em; font-size:clamp(2.65rem,4.1vw,5.3rem); line-height:1.12; margin:15px 0 18px; text-wrap:balance; }
html[dir="rtl"] .section-head h2 { font-family:"Noto Sans Arabic",sans-serif; font-weight:600; letter-spacing:normal; line-height:1.4; }
.section-lead,.prose p { color:var(--muted); max-width:660px; line-height:1.95; }
.trust-band { padding:36px 0; border-block:1px solid var(--line); }
.trust-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.trust-list { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:clamp(20px,4vw,70px); opacity:.72; font-size:.76rem; font-weight:700; letter-spacing:.16em; }
.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,8vw,150px); align-items:center; }
.split-layout.reverse .split-media { order:2; }
.split-media { height:clamp(440px,54vw,690px); position:relative; }
.split-media::after { content:""; position:absolute; inset:-20px 20px 20px -20px; border:1px solid var(--line); pointer-events:none; }
.split-copy .section-head { margin-bottom:32px; }
.prose p { margin:0 0 19px; }
.bullet-list { display:grid; gap:13px; list-style:none; margin:28px 0 30px; padding:0; }
.bullet-list li { display:flex; align-items:flex-start; gap:12px; font-size:.91rem; }
.bullet-list .icon { color:var(--accent); width:18px; margin-top:3px; }
.service-grid,.price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.service-card,.price-card { border:1px solid var(--line); background:var(--surface); padding:clamp(28px,3vw,50px); min-height:320px; transition:transform .35s,border-color .35s,background .35s; }
.service-card:hover,.price-card:hover { transform:translateY(-8px); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.card-top { display:flex; justify-content:space-between; align-items:center; color:var(--accent); font-size:.7rem; letter-spacing:.2em; }
.card-icon { width:29px; height:29px; }
.service-card h3,.process-card h3,.price-card h3 { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-size:clamp(1.55rem,2vw,2.2rem); font-weight:400; line-height:1.25; margin:55px 0 15px; }
html[dir="rtl"] .service-card h3,html[dir="rtl"] .process-card h3,html[dir="rtl"] .price-card h3 { font-family:"Noto Sans Arabic",sans-serif; font-weight:600; }
.service-card p,.process-card p,.price-card p { color:var(--muted); font-size:.9rem; line-height:1.8; }
.service-card .text-link { margin-top:18px; }
.gallery-grid { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:18px; align-items:start; }
.gallery-card { margin:0; }
.gallery-card:nth-child(2) { margin-top:60px; }
.gallery-card:nth-child(3) { margin-top:115px; }
.gallery-image { height:clamp(320px,34vw,540px); overflow:hidden; background:var(--surface); }
.gallery-image img { transition:transform 1.1s cubic-bezier(.18,.68,.16,1); }
.gallery-card:hover img { transform:scale(1.07); }
.gallery-card figcaption { padding:24px 3px; }
.gallery-card h3,.team-card h3 { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-size:1.6rem; font-weight:400; margin:5px 0; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.process-card { padding:40px clamp(20px,3vw,50px) 15px 0; border-inline-end:1px solid var(--line); }
.process-card:not(:first-child) { padding-inline-start:clamp(20px,3vw,50px); }
.process-card:last-child { border:0; }
.process-number { color:var(--accent); font-family:"Playfair Display",serif; font-size:3.6rem; font-style:italic; line-height:1; }
.process-card h3 { margin:26px 0 8px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.stat { padding:35px; border-inline-end:1px solid var(--line); }
.stat:last-child { border:0; }
.stat strong { display:block; font-family:"Playfair Display",serif; font-size:clamp(2.6rem,4vw,5rem); line-height:1.1; font-weight:400; color:var(--accent); }
.stat span { display:block; margin-top:15px; font-size:.8rem; color:var(--muted); }
.testimonial-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.testimonial { margin:0; padding:45px; border:1px solid var(--line); background:var(--surface); }
.quote-mark { display:block; height:48px; font-family:Georgia,serif; color:var(--accent); font-size:5rem; line-height:.8; }
.testimonial p { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-size:clamp(1.3rem,2vw,2rem); line-height:1.55; }
.testimonial footer { display:flex; gap:10px; flex-wrap:wrap; align-items:baseline; font-size:.8rem; }
.testimonial footer span { color:var(--muted); }
.faq-list { max-width:970px; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { list-style:none; cursor:pointer; padding:25px 6px; display:flex; justify-content:space-between; gap:20px; font-size:1.02rem; font-weight:600; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary span { color:var(--accent); font-size:1.5rem; font-weight:400; line-height:1; transition:transform .25s; }
.faq-item[open] summary span { transform:rotate(45deg); }
.faq-answer { max-width:780px; padding:0 6px 28px; color:var(--muted); }
.price-card { min-height:0; display:flex; flex-direction:column; }
.price-card h3 { margin:25px 0 5px; }
.price-card .price { font-family:"Playfair Display",serif; color:var(--text); font-size:2.5rem; line-height:1.2; margin:10px 0; }
.price-card .button { margin-top:auto; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.team-card { margin:0; }
.team-card img { height:400px; background:var(--surface); }
.team-card figcaption { padding:16px 0; }
.team-card p { margin:0; color:var(--muted); font-size:.8rem; }
.section-quote { padding:clamp(90px,11vw,170px) 0; text-align:center; background:var(--accent); color:var(--accent-text); }
.statement { margin:0 auto; max-width:950px; }
.statement .quote-mark { color:var(--accent-text); opacity:.55; }
.statement p { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-size:clamp(2.35rem,4.5vw,5rem); line-height:1.22; margin:10px 0 30px; }
.statement cite { font-style:normal; font-size:.7rem; font-weight:700; letter-spacing:.2em; }
.contact-grid { display:grid; grid-template-columns:1fr .9fr; gap:clamp(45px,8vw,130px); align-items:center; }
.contact-copy .section-head { margin-bottom:38px; }
.contact-image { height:clamp(400px,48vw,650px); }
.channels { display:flex; flex-direction:column; gap:5px; }
.contact-channel { display:flex; align-items:center; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); font-weight:600; font-size:.86rem; transition:color .2s; }
.contact-channel:hover { color:var(--accent); }
.contact-channel .icon:last-child { margin-inline-start:auto; width:16px; }
.contact-form { display:grid; gap:15px; margin-top:28px; }
.contact-form label { display:grid; gap:7px; color:var(--muted); font-size:.79rem; }
.contact-form input,.contact-form textarea { width:100%; padding:13px 15px; border:1px solid var(--line); background:var(--surface); color:var(--text); border-radius:0; }
.contact-form .button { justify-self:start; margin-top:5px; }
.embed-shell { max-width:1100px; aspect-ratio:16/9; background:var(--surface); border:1px solid var(--line); }
.embed-shell iframe,.custom-block iframe { display:block; width:100%; height:100%; border:0; }
.custom-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:18px; }
.custom-block { border:1px solid var(--line); padding:30px; background:var(--surface); min-height:160px; }
.custom-block img { min-height:260px; }

/* Footer and floating action */
.site-footer { padding:75px 0 28px; border-top:1px solid var(--line); }
.footer-top { display:flex; justify-content:space-between; gap:30px; align-items:start; padding-bottom:60px; }
.footer-top p { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-size:clamp(1.7rem,3vw,3rem); margin:15px 0 0; }
html[dir="rtl"] { line-height:1.85; }
html[dir="rtl"] .brand,html[dir="rtl"] .hero-caption,html[dir="rtl"] .hero-index,html[dir="rtl"] .trust-list,html[dir="rtl"] .card-top,html[dir="rtl"] .statement cite { letter-spacing:normal; }
html[dir="rtl"] .button,html[dir="rtl"] .header-cta { letter-spacing:normal; }
html[dir="rtl"] .gallery-card h3,html[dir="rtl"] .team-card h3,html[dir="rtl"] .testimonial p,html[dir="rtl"] .statement p,html[dir="rtl"] .footer-top p { font-family:"Noto Sans Arabic",sans-serif; line-height:1.55; }
html[dir="rtl"] .process-number,html[dir="rtl"] .stat strong,html[dir="rtl"] .price-card .price { font-family:"Noto Sans Arabic",sans-serif; font-style:normal; }
.footer-top nav { display:flex; flex-wrap:wrap; gap:22px; font-size:.8rem; }
.footer-top nav a:hover,.footer-bottom a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:.72rem; }
.sticky-cta { position:fixed; z-index:101; bottom:calc(24px + env(safe-area-inset-bottom)); display:inline-flex; align-items:center; gap:10px; min-height:53px; padding:0 22px; border-radius:100px; border:1px solid var(--accent); background:var(--accent); color:var(--accent-text); box-shadow:0 12px 34px #0005; font-size:.8rem; font-weight:700; transition:transform .3s,box-shadow .3s; }
.sticky-cta:hover { transform:translateY(-5px); box-shadow:0 19px 44px #0006; }
.sticky-left { left:24px; }.sticky-right { right:24px; }
.sticky-cta .icon { width:19px; }
html[dir="rtl"] .sticky-left { left:24px; right:auto; }
html[dir="rtl"] .sticky-right { right:24px; left:auto; }

.has-js .reveal { opacity:0; transform:translateY(24px); transition:opacity .75s ease,transform .75s cubic-bezier(.18,.65,.2,1); }
.has-js .reveal.is-visible { opacity:1; transform:none; }
@keyframes content-enter { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes image-enter { from { opacity:.6; scale:1.08; } to { opacity:1; scale:1; } }
/* One signature composition. The palette changes, the art direction stays. */
.hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:clamp(740px,100svh,1100px); padding:155px max(6.5vw,calc((100vw - 1340px)/2)) 130px; overflow:hidden; color:#fff; background:#16120f; }
.hero-media { position:absolute; inset:0; z-index:-2; overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; animation:hero-image 1.8s ease-out both; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(270deg,#0b0a0add 0%,#0c0b0a99 38%,#0c0b0a16 84%),linear-gradient(0deg,#0a0909a8,transparent 32%,#0a090943); }
html[dir="ltr"] .hero-media::after { background:linear-gradient(90deg,#0b0a0add,#0c0b0a85 46%,transparent 84%),linear-gradient(0deg,#0a09099c,transparent 32%,#0a090943); }
.hero-caption { position:absolute; inset-inline-end:6.5vw; bottom:42px; z-index:1; font-size:.68rem; color:#fff; opacity:.8; }
.hero-content { max-width:800px; width:100%; animation:hero-copy 1.1s .12s both; }
.hero-rule { width:54px; height:1px; background:var(--accent); margin-bottom:23px; }
.hero .eyebrow { color:var(--accent2); letter-spacing:.12em; font-size:.73rem; }
.hero h1 { font-family:"Playfair Display","Noto Sans Arabic",Georgia,serif; font-size:clamp(4rem,7.4vw,8.6rem); font-weight:400; line-height:1.08; letter-spacing:-.06em; margin:25px 0 30px; text-wrap:balance; }
.hero h1 em { display:block; font-weight:400; font-style:italic; color:var(--accent2); }
html[dir="rtl"] .hero h1 { font-family:"Noto Sans Arabic",sans-serif; font-size:clamp(3.7rem,6.8vw,7.7rem); font-weight:600; line-height:1.28; letter-spacing:normal; }
html[dir="rtl"] .hero h1 em { font-style:normal; }
.hero-body { max-width:550px; margin:0; color:#f7f1e8; font-size:clamp(1rem,1.3vw,1.2rem); line-height:2; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:41px; }
.hero-actions .button { min-height:58px; background:var(--accent2); border-color:var(--accent2); color:#15110f; }
.hero-actions .button-ghost { background:transparent; border-color:#ffffffa6; color:#fff; }
.hero-actions .button-ghost:hover { background:#ffffff20; }
.hero-index { position:absolute; inset-inline-start:6.5vw; bottom:42px; color:#fff; opacity:.7; font-size:.68rem; }
.hero-scroll { position:absolute; bottom:38px; left:50%; transform:translateX(-50%); display:flex; align-items:center; flex-direction:column; gap:7px; color:#fff; font-size:.64rem; letter-spacing:.12em; }
.hero-scroll span { font-size:1.3rem; animation:scroll-cue 2s ease-in-out infinite; }
@keyframes hero-image { from { transform:scale(1.07); filter:brightness(.75); } to { transform:scale(1); filter:brightness(1); } }
@keyframes hero-copy { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes scroll-cue { 50% { transform:translateY(6px); } }
.site-header:not(.is-scrolled):not(.menu-open) { color:#fff; background:linear-gradient(180deg,#1119,transparent); }
.site-header:not(.is-scrolled):not(.menu-open) .brand-mark { border-color:#ffffff9e; color:#fff; }
.site-header:not(.is-scrolled):not(.menu-open) .desktop-nav a:hover { color:var(--accent2); }
.site-header:not(.is-scrolled):not(.menu-open) .menu-toggle { border-color:#ffffff99; color:#fff; }
.brand { font-size:.9rem; }
.brand-mark { width:42px; height:42px; border-radius:50%; font-size:.95rem; }
.content-section { padding-block:clamp(105px,11vw,180px); }
.section-head { max-width:880px; }
.section-head h2 { font-size:clamp(2.9rem,4.8vw,6rem); }
html[dir="rtl"] .section-head h2 { line-height:1.3; }
.section-lead { font-size:1.05rem; }
.trust-band { background:var(--accent); color:var(--accent-text); border:0; padding:23px 0; }
.trust-band .eyebrow { color:inherit; opacity:.78; }
.trust-list { opacity:1; font-size:.85rem; }
.section-intro { overflow:hidden; }
.section-intro .split-layout { grid-template-columns:.94fr 1.06fr; gap:clamp(60px,8vw,150px); }
.split-media { height:clamp(490px,52vw,740px); }
.split-media::after { inset:24px -24px -24px 24px; border-color:var(--accent); opacity:.55; }
html[dir="ltr"] .split-media::after { inset:24px 24px -24px -24px; }
.split-media img { width:100%; height:100%; object-fit:cover; }
.section-intro .split-copy { padding-block:40px; }
.section-services { background:var(--surface) !important; }
.service-grid { display:block; border-top:1px solid var(--line); }
.service-card { display:grid; grid-template-columns:85px minmax(140px,.95fr) minmax(200px,1.15fr) auto; align-items:center; gap:28px; min-height:156px; border:0; border-bottom:1px solid var(--line); background:transparent; padding:24px 12px; }
.service-card:hover { transform:none; background:color-mix(in srgb,var(--accent) 7%,transparent); border-color:var(--line); }
.card-top { align-items:center; }
.card-top .card-icon { display:none; }
.service-card h3 { margin:0; font-size:clamp(1.55rem,2.3vw,2.4rem); }
.service-card p { margin:0; max-width:390px; }
.service-card .text-link { margin:0; white-space:nowrap; }
.section-gallery { overflow:hidden; }
.gallery-grid { grid-template-columns:1.2fr .9fr .9fr; gap:24px; }
.gallery-card:nth-child(2) { margin-top:100px; }
.gallery-card:nth-child(3) { margin-top:200px; }
.gallery-image { height:clamp(340px,37vw,590px); }
.gallery-card:nth-child(2) .gallery-image { height:clamp(320px,29vw,470px); }
.gallery-card:nth-child(3) .gallery-image { height:clamp(300px,27vw,440px); }
.gallery-card figcaption { border-top:1px solid var(--line); margin-top:18px; padding-top:18px; }
.section-process { background:var(--surface) !important; }
.process-card { padding-block:40px 20px; }
.section-quote { position:relative; overflow:hidden; }
.section-quote::before { content:"✧"; font-size:25rem; line-height:1; position:absolute; inset-inline-end:-2rem; top:-10rem; opacity:.08; pointer-events:none; }
.section-quote .statement { position:relative; }
.section-contact { background:var(--surface) !important; }
.section-contact .contact-grid { grid-template-columns:1fr .8fr; }
.contact-image { height:min(58vw,690px); min-height:450px; }
.contact-image img { width:100%; height:100%; object-fit:cover; }
.contact-copy .section-head h2 { font-size:clamp(3rem,5vw,6rem); }
.site-footer { background:var(--background); }
.sticky-cta { min-height:59px; padding-inline:23px; border-radius:3px; box-shadow:0 14px 40px #0008; }
.sticky-cta::before { content:""; position:absolute; inset:-5px; border:1px solid var(--accent); opacity:.48; pointer-events:none; }
@media (max-width:1100px) {
 .desktop-nav,.nav-actions { display:none; }
 .menu-toggle { display:block; }
 .service-card { grid-template-columns:65px 1fr 1fr; }
 .service-card .text-link { grid-column:2 / -1; }
}
@media (max-width:760px) {
 .container { width:min(100% - 40px,1320px); }
 .nav-shell { height:70px; }
 .hero { min-height:100svh; padding:145px 24px 130px; align-items:center; }
 .hero-media img { object-position:43% center; }
 .hero-media::after { background:linear-gradient(0deg,#0d0c0bd9,#0d0c0b95 48%,#0d0c0b6b); }
 .hero-content { max-width:650px; }
 .hero h1,html[dir="rtl"] .hero h1 { font-size:clamp(3rem,10vw,5.5rem); margin:18px 0; line-height:1.3; }
 .hero-body { font-size:.94rem; }
 .hero-actions { margin-top:28px; }
 .hero-caption { display:none; }
 .hero-index { bottom:30px; inset-inline-start:24px; }
 .hero-scroll { bottom:24px; left:auto; inset-inline-end:24px; transform:none; flex-direction:row; }
 .trust-inner { flex-direction:column; align-items:flex-start; gap:15px; }
 .trust-list { justify-content:flex-start; gap:13px 24px; }
 .split-layout,.section-intro .split-layout,.contact-grid,.section-contact .contact-grid { grid-template-columns:1fr; gap:48px; }
 .split-layout.reverse .split-media { order:0; }
 .split-media { height:clamp(410px,120vw,650px); margin-inline:14px; }
 .split-media::after { inset:14px -14px -14px 14px; }
 .service-card { display:grid; grid-template-columns:52px 1fr; gap:9px 16px; min-height:0; padding:28px 4px; }
 .service-card h3 { margin:0; }
 .service-card p,.service-card .text-link { grid-column:2; }
 .gallery-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px 14px; }
 .gallery-card:nth-child(n) { margin:0; }
 .gallery-card:first-child { grid-column:1 / -1; }
 .gallery-image,.gallery-card:nth-child(2) .gallery-image,.gallery-card:nth-child(3) .gallery-image { height:clamp(240px,56vw,450px); }
 .gallery-card:first-child .gallery-image { height:clamp(370px,80vw,640px); }
 .process-grid,.price-grid,.team-grid,.testimonial-grid { grid-template-columns:1fr; }
 .process-grid { border:0; }
 .process-card,.process-card:not(:first-child) { border:0; border-top:1px solid var(--line); padding:26px 0; }
 .stats-grid { grid-template-columns:repeat(2,1fr); }
 .stat:nth-child(2) { border:0; }
 .stat:nth-child(-n+2) { border-bottom:1px solid var(--line); }
 .contact-image { height:430px; min-height:0; }
 .footer-top { flex-direction:column; }
 .content-section { padding:95px 0; }
}
@media (max-width:480px) {
 .brand { font-size:.76rem; }
 .hero { padding-inline:20px; }
 .hero h1,html[dir="rtl"] .hero h1 { font-size:clamp(2.8rem,11vw,4.4rem); }
 .hero-actions .button { width:100%; }
 .section-head h2 { font-size:clamp(2.35rem,9vw,3.15rem); }
 .gallery-card h3 { font-size:1.22rem; }
 .stat { padding:24px 14px; }
 .sticky-cta { bottom:calc(15px + env(safe-area-inset-bottom)); min-height:51px; padding-inline:17px; }
 .sticky-left { left:15px; }.sticky-right { right:15px; }
 .footer-bottom { padding-bottom:74px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
 .has-js .reveal { opacity:1; transform:none; }
}
