:root {
  --ink:#101b22;
  --ink-soft:#172831;
  --deep:#12353d;
  --teal:#1f6068;
  --cream:#f3eee5;
  --paper:#fbfaf6;
  --white:#fffdfa;
  --cobalt:#3562e6;
  --turquoise:#a9ddd1;
  --pink:#efb29b;
  --gold:#d7bd7a;
  --line:rgba(16,27,34,.15);
  --shadow:0 28px 80px rgba(16,27,34,.14);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Manrope',Arial,sans-serif; text-rendering:optimizeLegibility; }
button,input,textarea { font:inherit; } a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; }
.site { overflow:hidden; background:var(--paper); } .site.arabic { font-family:'Tajawal',Tahoma,Arial,sans-serif; letter-spacing:0; }
.admin-bar .header { top:32px; }

.header { position:absolute; inset:0 0 auto; z-index:20; height:108px; display:grid; grid-template-columns:160px 1fr 160px; align-items:center; gap:28px; padding:0 clamp(24px,5vw,84px); color:white; border-bottom:1px solid rgba(255,255,255,.2); }
.scroll-progress { position:fixed; z-index:100; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold),var(--turquoise)); transform-origin:left center; box-shadow:0 0 20px rgba(169,221,209,.72); }
.arabic .scroll-progress { transform-origin:right center; }
.logo { width:82px; height:72px; overflow:hidden; background:rgba(255,253,250,.96); border:1px solid rgba(255,255,255,.65); border-radius:12px; display:grid; place-items:center; box-shadow:0 12px 34px rgba(0,0,0,.18); transition:transform .3s ease,box-shadow .3s ease; }
.logo:hover { transform:translateY(-2px); box-shadow:0 16px 42px rgba(0,0,0,.24); }
.logo img { width:70px; mix-blend-mode:multiply; }
.nav { justify-self:center; display:flex; justify-content:center; gap:clamp(20px,3vw,44px); padding:12px 22px; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(8,20,26,.18); backdrop-filter:blur(14px); }
.nav a { position:relative; padding:5px 1px; font-size:13px; font-weight:520; color:rgba(255,255,255,.9); transition:color .25s ease; }
.nav a::after { content:''; position:absolute; height:1px; left:0; right:0; bottom:0; background:var(--turquoise); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.arabic .nav a::after { transform-origin:right; }
.nav a:hover { color:white; } .nav a:hover::after { transform:scaleX(1); }
.header-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; }
.language { border:1px solid rgba(255,255,255,.42); color:white; background:rgba(8,20,26,.16); min-width:72px; height:42px; padding:0 16px; border-radius:999px; backdrop-filter:blur(12px); cursor:pointer; transition:background .25s ease,border-color .25s ease,transform .25s ease; }
.language:hover { background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.7); transform:translateY(-1px); }
.menu { display:none; }

.hero { --mx:0; --my:0; min-height:860px; height:100svh; max-height:1020px; position:relative; display:flex; align-items:center; color:white; background:var(--ink); isolation:isolate; }
.hero::after { content:''; position:absolute; z-index:1; inset:0; pointer-events:none; opacity:.22; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
.hero-image { position:absolute; inset:-12px; background:var(--hero-image) center 52%/cover no-repeat; animation:heroIn 1.6s cubic-bezier(.2,.7,.2,1) both; transform:translate(calc(var(--mx) * -8px),calc(var(--my) * -6px)) scale(1.035); transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,25,33,.95) 0%,rgba(10,25,33,.72) 40%,rgba(10,25,33,.1) 74%),linear-gradient(0deg,rgba(10,25,33,.68),transparent 42%),linear-gradient(135deg,rgba(31,96,104,.22),transparent 55%); }
.arabic .hero-shade { background:linear-gradient(-90deg,rgba(10,25,33,.95) 0%,rgba(10,25,33,.72) 40%,rgba(10,25,33,.1) 74%),linear-gradient(0deg,rgba(10,25,33,.68),transparent 42%),linear-gradient(-135deg,rgba(31,96,104,.22),transparent 55%); }
.hero-content { position:relative; z-index:4; width:min(760px,62vw); margin-inline-start:clamp(24px,8vw,150px); padding-top:70px; }
.eyebrow { margin:0 0 26px; color:#667077; font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.arabic .eyebrow { letter-spacing:.04em; } .eyebrow.light { color:rgba(255,255,255,.68); }
.hero h1,.section h2 { margin:0; font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif; font-weight:500; letter-spacing:-.05em; }
.arabic .hero h1,.arabic .section h2 { font-family:'Tajawal',Tahoma,Arial,sans-serif; letter-spacing:-.045em; font-weight:700; }
.hero h1 { max-width:760px; font-size:clamp(58px,7.1vw,116px); line-height:.91; }
.arabic .hero h1 { font-size:clamp(52px,6.4vw,100px); line-height:1.13; max-width:880px; }
.hero-word { display:inline-block; opacity:0; transform:translateY(1em) rotate(2deg); animation:wordUp 1.05s cubic-bezier(.16,.8,.2,1) forwards; animation-delay:calc(.18s + var(--word) * 85ms); }
.hero-intro { max-width:630px; margin:34px 0 0; font-size:clamp(16px,1.5vw,20px); line-height:1.65; color:rgba(255,255,255,.78); text-wrap:pretty; }
.hero-buttons { display:flex; align-items:center; gap:32px; margin-top:42px; }
.button { border:1px solid transparent; border-radius:9px; display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:58px; padding:0 24px; font-weight:600; cursor:pointer; transition:transform .3s ease,background .3s ease,color .3s ease,box-shadow .3s ease; }
.button:hover { transform:translateY(-3px); box-shadow:0 14px 36px rgba(16,27,34,.18); } .button-light { background:var(--white); color:var(--ink); min-width:230px; } .button-light:hover { background:var(--turquoise); }
.text-link { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.48); font-weight:550; transition:border-color .25s ease,color .25s ease; }
.text-link:hover { border-color:var(--turquoise); color:var(--turquoise); }
.direction-arrow { display:inline-block; font-weight:400; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.button:hover .direction-arrow,.text-link:hover .direction-arrow,.business-copy a:hover .direction-arrow { transform:translate(5px,-5px) rotate(8deg); }
.arabic .button:hover .direction-arrow,.arabic .text-link:hover .direction-arrow,.arabic .business-copy a:hover .direction-arrow { transform:translate(-5px,-5px) rotate(-8deg); }
.hero-stats { position:absolute; z-index:2; inset:auto 0 0 auto; width:min(54vw,760px); display:grid; grid-template-columns:repeat(3,1fr); background:rgba(255,253,250,.91); color:var(--ink); backdrop-filter:blur(22px); border-radius:18px 0 0 0; border:1px solid rgba(255,255,255,.5); border-width:1px 0 0 1px; box-shadow:0 -18px 54px rgba(6,18,24,.18); overflow:hidden; }
.arabic .hero-stats { inset:auto auto 0 0; }
.hero-stats div { min-height:128px; padding:30px; border-inline-start:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; transition:background .3s ease; }
.hero-stats div:hover { background:rgba(169,221,209,.24); }
.hero-stats strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:29px; font-weight:500; color:var(--deep); } .hero-stats span { color:#667077; font-size:12px; margin-top:8px; }

.kinetic-graphic { position:absolute; z-index:3; width:clamp(300px,34vw,560px); aspect-ratio:1; inset:18% 5% auto auto; transform:translate(calc(var(--mx) * 14px),calc(var(--my) * 12px)); transition:transform .8s cubic-bezier(.2,.7,.2,1); pointer-events:none; }
.arabic .kinetic-graphic { inset:18% auto auto 5%; }
.orbit { position:absolute; inset:0; border:1px solid rgba(255,255,255,.3); border-radius:50%; }
.orbit-a { animation:spin 18s linear infinite; }
.orbit-a i,.orbit-b i { position:absolute; display:block; width:16px; height:16px; border-radius:50%; background:var(--turquoise); box-shadow:0 0 34px rgba(169,221,209,.85); }
.orbit-a i { top:7%; left:23%; }
.orbit-b { inset:12%; border-style:dashed; animation:spinReverse 13s linear infinite; }
.orbit-b i { width:10px; height:10px; right:5%; bottom:25%; background:var(--pink); box-shadow:0 0 26px rgba(239,178,155,.9); }
.orbit-c { inset:25%; border-color:rgba(255,255,255,.43); animation:breathe 3.8s ease-in-out infinite; }
.graphic-core { position:absolute; inset:34%; display:grid; place-content:center; text-align:center; border-radius:50%; background:rgba(18,53,61,.28); border:1px solid rgba(255,255,255,.48); backdrop-filter:blur(14px); box-shadow:inset 0 0 44px rgba(169,221,209,.09),0 0 60px rgba(169,221,209,.08); }
.graphic-core span { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(38px,5vw,68px); letter-spacing:-.08em; }
.graphic-core small { font-size:9px; letter-spacing:.28em; opacity:.55; }
.graphic-note { position:absolute; padding:8px 12px; border:1px solid rgba(255,255,255,.3); border-radius:5px; background:rgba(10,25,33,.28); backdrop-filter:blur(10px); font-size:9px; letter-spacing:.22em; }
.note-one { top:45%; left:-6%; animation:floatY 4.2s ease-in-out infinite; }
.note-two { right:-5%; bottom:23%; animation:floatY 4.2s ease-in-out -2.1s infinite; }
.scroll-cue { position:absolute; z-index:4; left:clamp(24px,3vw,56px); bottom:42px; display:flex; align-items:center; gap:14px; transform:rotate(-90deg) translateY(100%); transform-origin:left bottom; font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.arabic .scroll-cue { left:auto; right:clamp(24px,3vw,56px); transform:rotate(90deg) translateY(100%); transform-origin:right bottom; }
.scroll-cue i { width:54px; height:1px; background:rgba(255,255,255,.5); position:relative; overflow:hidden; }
.scroll-cue i::after { content:''; position:absolute; inset:0; background:white; animation:scan 2.2s ease-in-out infinite; }

.marquee { background:var(--gold); color:var(--ink); overflow:hidden; border-block:1px solid rgba(16,27,34,.12); }
.marquee-track { width:max-content; display:flex; animation:marquee 24s linear infinite; }
.arabic .marquee-track { animation-name:marqueeRtl; }
.marquee-ar { display:none; }
.arabic .marquee-en { display:none; }
.arabic .marquee-ar { display:flex; }
.marquee span { display:flex; align-items:center; gap:34px; padding:21px 20px; font-size:clamp(15px,1.8vw,24px); font-weight:720; letter-spacing:.1em; white-space:nowrap; }
.marquee i { font-style:normal; font-size:13px; animation:spin 5s linear infinite; }

.section { padding:clamp(96px,11vw,168px) clamp(24px,8vw,150px); }
.section-heading { display:grid; grid-template-columns:1fr 2.15fr; align-items:start; }
.section-heading h2 { max-width:860px; font-size:clamp(48px,6vw,90px); line-height:1.02; }
.about { background:linear-gradient(145deg,var(--cream) 0%,#f7f3ec 68%,#e8f2ee 100%); position:relative; min-height:980px; }
.about::before { content:''; position:absolute; width:460px; height:460px; border-radius:50%; top:-170px; left:-180px; background:radial-gradient(circle at 70% 70%,rgba(169,221,209,.58),transparent 64%); filter:blur(10px); animation:blobFloat 8s ease-in-out infinite; }
.arabic .about::before { left:auto; right:-180px; }
.about-grid { margin-top:100px; margin-inline-start:32%; display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(56px,8vw,140px); }
.large-copy { margin:0; font-size:clamp(22px,2.4vw,34px); line-height:1.52; letter-spacing:-.025em; text-wrap:pretty; }
.principles { border-top:1px solid var(--line); }
.principle { display:grid; grid-template-columns:42px 1fr; padding:28px 16px 28px 0; border-bottom:1px solid var(--line); transition:background .3s ease,padding .3s ease; }
.arabic .principle { padding:28px 0 28px 16px; }
.principle:hover { padding-inline:16px; background:rgba(255,253,250,.5); }
.principle span { font-size:11px; color:var(--teal); font-weight:700; letter-spacing:.08em; } .principle h3 { font-size:18px; margin:0 0 10px; }
.principle p { grid-column:2; margin:0; color:#667077; font-size:14px; line-height:1.65; }
.about-graphic { position:absolute; width:clamp(250px,25vw,410px); aspect-ratio:1; left:clamp(24px,8vw,150px); bottom:120px; }
.arabic .about-graphic { left:auto; right:clamp(24px,8vw,150px); }
.system-ring { position:absolute; border:1px solid rgba(16,27,34,.25); border-radius:50%; }
.system-ring span { position:absolute; display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--ink); color:white; font-size:10px; letter-spacing:.12em; }
.ring-one { inset:0; animation:spin 20s linear infinite; } .ring-one span { top:9%; left:13%; }
.ring-two { inset:18%; border-style:dashed; animation:spinReverse 12s linear infinite; } .ring-two span { right:-8px; bottom:12%; background:var(--teal); }
.system-center { position:absolute; inset:36%; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,var(--turquoise),#7dc6bf); box-shadow:0 18px 55px rgba(31,96,104,.2); font-family:'Cormorant Garamond',Georgia,serif; font-size:34px; letter-spacing:-.08em; animation:breathe 4s ease-in-out infinite; }
.about-graphic>p { position:absolute; margin:0; bottom:8%; left:50%; transform:translateX(-50%); width:max-content; font-size:8px; letter-spacing:.22em; color:#6f6e66; }

.businesses { background:linear-gradient(180deg,var(--ink) 0%,#0d2229 100%); color:white; }
.businesses-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:70px; }
.businesses-heading h2 { font-size:clamp(54px,7vw,106px); } .portfolio-mark { color:rgba(255,255,255,.45); font-size:13px; letter-spacing:.16em; }
.business-card { min-height:650px; display:grid; grid-template-columns:1.42fr .88fr; overflow:hidden; margin-bottom:28px; border-radius:22px; border:1px solid rgba(255,255,255,.1); transition:transform .7s cubic-bezier(.2,.75,.2,1),box-shadow .7s ease,border-color .5s ease; }
.business-card:hover { transform:translateY(-8px); border-color:rgba(255,255,255,.22); box-shadow:0 36px 90px rgba(0,0,0,.3); }
.business-visual { position:relative; min-height:620px; overflow:hidden; transition:transform 1s cubic-bezier(.2,.75,.2,1),filter .7s ease; }
.business-card:hover .business-visual { transform:scale(1.025); filter:saturate(1.08); }
.gulliver { background:linear-gradient(145deg,var(--cobalt),#264eae); } .gulliver-visual { background:var(--gulliver-image) center/cover no-repeat; }
.gulliver-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,15,30,.35),transparent 55%); }
.brand-logo { position:absolute; z-index:2; inset:36px auto auto 36px; width:190px; padding:13px 16px; background:rgba(255,253,250,.95); border:1px solid rgba(255,255,255,.65); border-radius:10px; box-shadow:0 18px 42px rgba(10,25,33,.16); mix-blend-mode:screen; transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease; }
.business-card:hover .brand-logo { transform:translateY(-5px) rotate(-2deg); }
.arabic .brand-logo { inset:36px 36px auto auto; }
.business-copy { padding:clamp(48px,6vw,95px); display:flex; flex-direction:column; justify-content:center; }
.business-copy h3 { margin:0; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(58px,6vw,94px); font-weight:500; letter-spacing:-.05em; }
.business-copy>p:not(.eyebrow) { margin:30px 0 0; max-width:470px; color:rgba(255,255,255,.78); font-size:17px; line-height:1.7; text-wrap:pretty; }
.business-copy a { margin-top:48px; padding:0 0 10px; border-bottom:1px solid rgba(255,255,255,.5); align-self:flex-start; font-weight:600; transition:color .25s ease,border-color .25s ease; }
.business-copy a:hover { color:var(--turquoise); border-color:var(--turquoise); }
.chateau { background:linear-gradient(145deg,#f4d8c9 0%,var(--pink) 54%,#e69c82 100%); color:var(--ink); grid-template-columns:.88fr 1.42fr; }
.chateau .business-visual { grid-column:2; } .chateau .business-copy { grid-column:1; grid-row:1; }
.chateau-visual>img:first-child { width:100%; height:100%; object-fit:cover; }
.chateau-logo { inset:auto 36px 36px auto; mix-blend-mode:normal; } .arabic .chateau-logo { inset:auto auto 36px 36px; }
.chateau .business-copy>p:not(.eyebrow) { color:rgba(16,27,34,.7); } .chateau .business-copy a { border-color:rgba(16,27,34,.35); }
.chateau .business-copy a:hover { color:var(--deep); border-color:var(--deep); }

.footprint { background:linear-gradient(135deg,var(--deep) 0%,var(--teal) 100%); color:white; display:grid; grid-template-columns:1fr 1.3fr; gap:12vw; position:relative; isolation:isolate; overflow:hidden; }
.footprint::before { content:''; position:absolute; z-index:-1; width:62vw; height:62vw; max-width:900px; max-height:900px; border:1px solid rgba(255,255,255,.15); border-radius:50%; left:-20vw; top:-25vw; box-shadow:0 0 0 90px rgba(255,255,255,.035),0 0 0 180px rgba(255,255,255,.025); animation:breathe 7s ease-in-out infinite; }
.arabic .footprint::before { left:auto; right:-20vw; }
.footprint-intro h2 { font-size:clamp(50px,6vw,90px); line-height:1.02; }
.footprint-stats { border-top:1px solid rgba(255,255,255,.28); }
.footprint-stats article { min-height:170px; display:grid; grid-template-columns:1fr 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.28); transition:padding .4s ease,background .4s ease; }
.footprint-stats article:hover { padding-inline:20px; background:rgba(255,255,255,.07); }
.footprint-stats strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(52px,6vw,88px); font-weight:500; }
.footprint-stats span { max-width:170px; color:rgba(255,255,255,.72); line-height:1.45; }

.contact { background:linear-gradient(180deg,var(--paper),#f2eee6); }
.contact-title { display:grid; grid-template-columns:1fr 2.15fr; }
.contact-title h2 { max-width:900px; font-size:clamp(50px,6vw,88px); line-height:1.03; }
.contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:8vw; margin-top:100px; }
.contact-details { align-self:start; background:rgba(255,253,250,.74); border:1px solid rgba(16,27,34,.11); border-radius:16px; padding:6px 28px; box-shadow:0 22px 60px rgba(16,27,34,.07); }
.contact-details>div { padding:24px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:110px 1fr; }
.contact-details>div:first-child { border-top:0; }
.contact-details>div:last-child { border-bottom:1px solid var(--line); }
.contact-details span { color:#667077; font-size:11px; font-weight:650; letter-spacing:.04em; } .contact-details a,.contact-details p { margin:0; font-size:15px; line-height:1.7; }
.contact-details a { transition:color .25s ease; } .contact-details a:hover { color:var(--teal); }
.contact-form { display:grid; gap:22px; padding:34px; background:var(--white); border:1px solid rgba(16,27,34,.11); border-radius:18px; box-shadow:var(--shadow); } .contact-form label { display:grid; gap:9px; } .contact-form label>span { font-size:11px; font-weight:650; color:#667077; letter-spacing:.04em; }
.contact-form input:not([type="hidden"]),.contact-form textarea { width:100%; border:1px solid rgba(16,27,34,.16); background:#f7f4ed; padding:15px 16px; outline:none; border-radius:10px; resize:vertical; transition:border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.contact-form input:not([type="hidden"]):focus,.contact-form textarea:focus { border-color:var(--teal); background:var(--white); box-shadow:0 0 0 4px rgba(169,221,209,.28); }
.form-notice { margin:0; padding:13px 15px; border-radius:9px; background:rgba(169,221,209,.35); color:var(--deep); font-size:14px; }
.button-dark { background:var(--ink); color:white; justify-self:start; min-width:220px; } .button-dark:hover { background:var(--teal); }

footer { min-height:150px; padding:36px clamp(24px,8vw,150px); background:#ece7dc; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; }
footer img { width:76px; mix-blend-mode:multiply; } footer p { color:#667077; font-size:12px; text-align:center; }
footer button { justify-self:end; width:48px; height:48px; border-radius:50%; border:1px solid rgba(16,27,34,.2); color:var(--ink); background:rgba(255,253,250,.52); cursor:pointer; transition:transform .3s ease,background .3s ease; }
footer button:hover { transform:translateY(-3px); background:var(--turquoise); }
.simple-page { min-height:75vh; padding-top:180px; }
.simple-page h1 { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(48px,7vw,90px); font-weight:500; }

.reveal { opacity:0; transform:translateY(54px); transition:opacity 1s cubic-bezier(.2,.75,.2,1),transform 1s cubic-bezier(.2,.75,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.principle:nth-child(2),.footprint-stats article:nth-child(2) { transition-delay:.12s; }
.footprint-stats article:nth-child(3) { transition-delay:.24s; }
@keyframes heroIn { from { opacity:0; transform:scale(1.09); } to { opacity:1; transform:translate(calc(var(--mx) * -8px),calc(var(--my) * -6px)) scale(1.035); } }
@keyframes wordUp { to { opacity:1; transform:translateY(0) rotate(0); } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes spinReverse { to { transform:rotate(-360deg); } }
@keyframes breathe { 0%,100% { transform:scale(1); } 50% { transform:scale(1.06); } }
@keyframes floatY { 0%,100% { transform:translateY(-8px); } 50% { transform:translateY(8px); } }
@keyframes scan { from { transform:translateX(-110%); } to { transform:translateX(110%); } }
@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes marqueeRtl { to { transform:translateX(50%); } }
@keyframes blobFloat { 0%,100% { transform:translate(0,0) scale(1); } 50% { transform:translate(50px,40px) scale(1.12); } }

@media (max-width:980px) {
  .admin-bar .header { top:32px; }
  .header { height:88px; grid-template-columns:1fr auto; padding:0 24px; } .logo { width:64px; height:58px; border-radius:10px; } .logo img { width:55px; }
  .nav { position:absolute; top:88px; left:0; right:0; justify-self:stretch; background:rgba(251,250,246,.98); color:var(--ink); display:grid; gap:0; padding:10px 24px 26px; border:0; border-bottom:1px solid var(--line); border-radius:0 0 16px 16px; box-shadow:0 20px 50px rgba(16,27,34,.14); opacity:0; visibility:hidden; transform:translateY(-10px); transition:.25s ease; }
  .nav.open { opacity:1; visibility:visible; transform:translateY(0); } .nav a { padding:17px 0; border-bottom:1px solid var(--line); font-size:16px; }
  .nav a::after { display:none; }
  .menu { width:42px; height:42px; border:1px solid rgba(255,255,255,.4); border-radius:50%; display:grid; place-content:center; gap:6px; background:transparent; }
  .menu span { width:17px; height:1px; background:white; transition:.25s ease; } .menu.active span:first-child { transform:translateY(3.5px) rotate(45deg); } .menu.active span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .hero { min-height:800px; } .hero-content { width:calc(100% - 48px); margin-inline-start:24px; padding-top:20px; } .hero h1 { font-size:clamp(52px,11vw,78px); } .hero-stats { width:100%; }
  .kinetic-graphic { width:390px; right:-70px; top:18%; opacity:.72; } .arabic .kinetic-graphic { right:auto; left:-70px; }
  .section-heading,.contact-title { grid-template-columns:1fr; gap:30px; } .about-grid { margin-inline-start:0; grid-template-columns:1fr; margin-top:64px; }
  .business-card,.chateau { grid-template-columns:1fr; } .business-visual { min-height:480px; } .chateau .business-visual { grid-column:1; grid-row:1; } .chateau .business-copy { grid-column:1; grid-row:2; }
  .footprint { grid-template-columns:1fr; gap:70px; } .contact-grid { grid-template-columns:1fr; gap:70px; }
  .about { min-height:0; } .about-graphic { position:relative; left:auto; right:auto; bottom:auto; margin:80px auto 0; } .arabic .about-graphic { left:auto; right:auto; }
}

@media (max-width:620px) {
  .admin-bar .header { top:46px; }
  .language { min-width:56px; height:38px; padding:0 11px; } .hero { min-height:760px; height:100svh; } .hero-image { background-position:61% center; }
  .hero-shade,.arabic .hero-shade { background:linear-gradient(0deg,rgba(10,25,33,.95) 5%,rgba(10,25,33,.45) 76%); }
  .hero-content { align-self:flex-end; padding-bottom:190px; } .hero h1,.arabic .hero h1 { font-size:clamp(45px,13vw,61px); line-height:1.02; } .arabic .hero h1 { line-height:1.2; }
  .kinetic-graphic { width:265px; top:15%; right:-58px; opacity:.55; } .arabic .kinetic-graphic { right:auto; left:-58px; }
  .graphic-note { display:none; } .scroll-cue { display:none; }
  .hero-intro { font-size:15px; line-height:1.55; margin-top:20px; } .hero-buttons { margin-top:28px; } .button-light { min-width:0; } .text-link { display:none; }
  .hero-stats div { min-height:104px; padding:20px 14px; } .hero-stats strong { font-size:19px; } .hero-stats span { font-size:10px; }
  .section { padding:84px 24px; } .section-heading h2,.contact-title h2,.footprint-intro h2 { font-size:45px; }
  .arabic .section-heading h2,.arabic .contact-title h2,.arabic .footprint-intro h2 { font-size:40px; line-height:1.25; }
  .about-grid { gap:54px; } .large-copy { font-size:22px; } .businesses-heading { align-items:flex-start; } .businesses-heading h2 { font-size:52px; } .portfolio-mark { display:none; }
  .business-card { min-height:0; margin-bottom:18px; border-radius:16px; } .business-visual { min-height:330px; } .business-copy { padding:48px 28px 58px; } .business-copy h3 { font-size:58px; } .business-copy>p:not(.eyebrow) { font-size:15px; }
  .brand-logo { width:150px; inset:22px auto auto 22px; } .arabic .brand-logo { inset:22px 22px auto auto; } .chateau-logo { inset:auto 22px 22px auto; } .arabic .chateau-logo { inset:auto auto 22px 22px; }
  .footprint-stats article { min-height:130px; } .footprint-stats strong { font-size:53px; } .contact-grid { margin-top:64px; } .contact-details { padding:4px 20px; border-radius:14px; } .contact-details>div { grid-template-columns:90px 1fr; }
  .contact-form { padding:26px 20px; border-radius:14px; }
  footer { grid-template-columns:1fr auto; } footer p { grid-column:1/-1; grid-row:2; text-align:start; } footer button { grid-column:2; grid-row:1; }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } .reveal { opacity:1!important; transform:none!important; } }
