/* Baloot V7 — "From Frame to Mark". Rules: sharp rectangles + hairlines only
   (no border-radius, no clip-path polygons). Curves appear only as the real
   logo strokes. Burnt orange is the single accent. */
@font-face{font-family:Jost;src:url(assets/jost-latin.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Alexandria;src:url(assets/alexandria-arabic.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
:root{--ivory:#f8f4ee;--paper:#fffdf9;--tan:#c99b67;--tan-logo:#cfa573;--brown:#5c3110;--brown-logo:#804617;--orange:#d9532f;--charcoal:#2b2725;--ink:#1c1916;--pad:clamp(20px,5vw,96px);--head:84px;--ease:cubic-bezier(.22,.61,.36,1);--out:cubic-bezier(.16,1,.3,1);--font:Jost,Alexandria,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--font);background:var(--charcoal);color:var(--brown);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}
body{margin:0;font-size:17px;line-height:1.6;font-weight:400;background:var(--ivory);overflow-x:clip}
html[lang=ar] body{font-weight:350;line-height:1.85}
body:has(dialog[open]){overflow:hidden}
h1,h2,h3,h4,p,figure,dl,dd,blockquote{margin:0}ol,ul{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;z-index:100;top:0;inset-inline-start:20px;padding:14px 18px;background:var(--paper);color:var(--charcoal);transform:translateY(-130%)}.skip-link:focus{transform:none}

/* Tones */
.tone-ivory{--bg:var(--ivory);--fg:var(--brown);--muted:#5c3110ad;--line:#5c311026;--btn-bg:var(--brown);--btn-fg:var(--ivory)}
.tone-tan{--bg:var(--tan);--fg:var(--charcoal);--muted:#2b2725c4;--line:#2b272538;--btn-bg:var(--charcoal);--btn-fg:var(--ivory)}
.tone-dark{--bg:var(--charcoal);--fg:var(--ivory);--muted:#f8f4eeb3;--line:#f8f4ee2b;--btn-bg:var(--ivory);--btn-fg:var(--charcoal)}
.scene,.pin{position:relative;background:var(--bg);color:var(--fg)}
.scene:focus{outline:none}

/* Type */
h1,.h-display{font-weight:300;letter-spacing:-.025em;line-height:1.02}
h1{font-size:clamp(46px,6vw,110px)}.h-display{font-size:clamp(38px,4.5vw,82px)}
html[lang=ar] h1,html[lang=ar] .h-display{letter-spacing:0;line-height:1.34}
html[lang=ar] h1{font-size:clamp(40px,5vw,90px)}html[lang=ar] .h-display{font-size:clamp(32px,3.8vw,68px)}
.line{display:block;overflow:hidden;padding-block:.06em .12em;margin-block:-.06em -.12em}.line-in{display:block}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.eyebrow::before{content:'';width:36px;height:1px;background:currentColor;flex:none}
html[lang=ar] .eyebrow{letter-spacing:0;font-size:14px}
.lede{font-size:clamp(17px,1.3vw,21px);line-height:1.6;max-width:44ch;color:var(--muted)}
html[lang=ar] .lede{line-height:1.85}
.note,.pending{font-size:14px;color:var(--muted)}

/* Controls — sharp rectangles; hover fill sweeps from the reading start. */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:0 24px;border:1px solid currentColor;background:transparent;color:var(--fg);font-size:15px;font-weight:500;line-height:1.3;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease)}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--out)}
[dir=rtl] .btn::before{transform-origin:right}
.btn:hover,.btn:focus-visible{color:var(--ivory);border-color:var(--orange)}.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn-solid{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.btn-light{color:var(--ivory)}
.btn:disabled{opacity:.55;cursor:wait}
.arrow{width:26px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .5s var(--out)}
[dir=rtl] .arrow{transform:scaleX(-1)}
.btn:hover .arrow,.link:hover .arrow{transform:translateX(5px)}[dir=rtl] .btn:hover .arrow,[dir=rtl] .link:hover .arrow{transform:scaleX(-1) translateX(5px)}
.link{display:inline-flex;align-items:center;gap:14px;min-height:46px;padding:0;border:0;background:none;color:var(--fg);font-size:15px;font-weight:500;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:100% 1px;background-position:100% calc(100% - 9px);transition:background-size .55s var(--out)}
[dir=ltr] .link{background-position:0 calc(100% - 9px)}
.link:hover{background-size:0 1px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:34px}

/* Header */
.site-header{position:fixed;z-index:50;inset:0 0 auto;height:var(--head);display:flex;align-items:center;gap:36px;padding:0 var(--pad);color:var(--brown);transition:transform .7s var(--out),color .45s var(--ease)}
.site-header[data-tone=dark]{color:var(--ivory)}
.site-header.is-hidden{transform:translateY(-105%)}
.progress{position:absolute;inset:0 0 auto;height:2px}.progress i{display:block;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}[dir=rtl] .progress i{transform-origin:right}
.brand{display:block;height:48px;flex:none}
.lockup{height:100%;width:auto}.lk-frame{fill:var(--tan-logo)}.lk-stroke{fill:var(--brown-logo)}.lk-type{fill:var(--brown-logo);transition:fill .45s}
.site-header[data-tone=dark] .lk-type{fill:var(--ivory)}
.nav{display:flex;gap:34px;margin-inline-start:auto}
.nav a{position:relative;padding:12px 0;font-size:14px;font-weight:500;opacity:.72;transition:opacity .3s}
.nav a::after{content:'';position:absolute;inset-inline:0;bottom:6px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .55s var(--out)}
.nav a:hover,.nav a[aria-current]{opacity:1}.nav a:hover::after,.nav a[aria-current]::after{transform:none}
.header-actions{display:flex;align-items:center;gap:6px}
.header-actions button{min-width:48px;min-height:48px;padding:0 10px;border:0;background:none;font-size:14px;font-weight:500}
#menu-toggle{display:inline-flex;align-items:center;gap:14px}
.burger{display:grid;gap:7px;width:28px}.burger i{display:block;height:1px;background:currentColor;justify-self:end;transition:width .45s var(--out)}.burger i:first-child{width:28px}.burger i:last-child{width:17px}
#menu-toggle:hover .burger i:last-child{width:28px}

/* Logo marks */
.mark{overflow:visible}.mark-frame{fill:var(--tan-logo)}.mark-cap,.mark-cup{fill:var(--brown-logo)}.mark-word path{fill:var(--brown-logo)}
.draw{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 3;stroke-dashoffset:0}
.bg-mark{position:absolute;z-index:0;pointer-events:none;width:auto}
.stage-shade{position:absolute;inset:0;z-index:20;background:var(--ink);opacity:0;pointer-events:none}

/* Pinned stages */
.stage{position:relative;overflow:hidden}
.stage-in{position:relative;width:100%;height:100%;transform-origin:50% 0}
.motion .stage{position:sticky;top:0;height:100svh}

/* 1 — HERO: the frame */
.hero{--fw:min(31vw,calc(64svh * .7047));--fh:calc(var(--fw) / .7047);--ftop:calc(50% - var(--fh) / 2 + 3svh);--fleft:calc(var(--pad) + var(--fw) * .27)}
[dir=ltr] .hero{--fleft:calc(100% - var(--pad) - var(--fw))}
.hero .stage{min-height:100svh;height:100svh}
.motion .hero{height:320svh}
.hero-frame{position:absolute;left:var(--fleft);top:var(--ftop);width:var(--fw);height:var(--fh);pointer-events:none}
.hero-media{position:absolute;left:var(--fleft);top:var(--ftop);width:var(--fw);height:var(--fh);overflow:hidden;background:var(--tan-logo)}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.is-live .hero-media{left:0;top:0;width:100%;height:100%}
.hero.is-live .hero-media img{inset:auto;left:0;top:0;max-width:none;object-fit:cover;transform-origin:0 0;will-change:transform}
.hero-tint{position:absolute;inset:0;background:var(--tan-logo);mix-blend-mode:multiply;opacity:.8}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(0deg,#1c1916e6 0%,#1c191680 45%,#1c191626 100%);opacity:0}
.hero-mark{position:absolute;z-index:2;left:calc(var(--fleft) - var(--fw) * .24222);top:calc(var(--ftop) - var(--fh) * .011359);width:calc(var(--fw) * 1.27338);height:auto;pointer-events:none}
.hero-copy{position:absolute;z-index:3;inset-block:0;inset-inline-start:var(--pad);width:min(46vw,760px);display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--head) * .6)}
.hero-copy h1{color:var(--brown)}
.hero-copy .lede{margin-top:28px;color:var(--brown);font-weight:500}
.hero-note{margin-top:10px;font-size:16px;max-width:42ch;color:var(--muted)}
.hero-statement{position:absolute;z-index:3;inset-inline:var(--pad);bottom:15svh;max-width:20ch;font-size:clamp(32px,4.6vw,84px);font-weight:300;line-height:1.12;letter-spacing:-.02em;color:var(--ivory);opacity:0}
html[lang=ar] .hero-statement{line-height:1.45;letter-spacing:0;font-size:clamp(30px,4vw,72px)}
html:not(.motion) .hero-statement{position:absolute;bottom:5svh;opacity:1;font-size:18px;max-width:46ch;color:var(--muted)}
.scroll-cue{position:absolute;z-index:3;bottom:28px;inset-inline-start:var(--pad);display:flex;align-items:center;gap:14px;font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.scroll-cue i{width:1px;height:44px;background:currentColor;transform-origin:top;animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
html:not(.motion) .scroll-cue{display:none}
.motion .hero .line-in{animation:rise 1.25s var(--out) both}.motion .hero .line:nth-child(2) .line-in{animation-delay:.12s}
.motion .hero .eyebrow,.motion .hero .lede,.motion .hero .hero-note,.motion .hero .actions{animation:fade-up 1.1s var(--out) both;animation-delay:.35s}
.motion .hero .hero-media{animation:frame-in 1.4s var(--out) both}
@keyframes rise{from{transform:translateY(105%)}}@keyframes fade-up{from{opacity:0;transform:translateY(18px)}}@keyframes frame-in{from{opacity:0}}

/* 2 — ABOUT: manifesto + benefits rail */
.motion .about{margin-top:-100svh;z-index:2}
.manifesto .stage{min-height:100svh;display:block}
.motion .manifesto{height:320svh}
.manifesto .stage-in{display:flex;align-items:center}
.manifesto-copy{position:relative;z-index:2;padding:calc(var(--head) + 4svh) var(--pad) 8svh;width:100%}
.kicker{font-size:16px;font-weight:500;color:var(--muted);margin-bottom:26px;letter-spacing:.01em}
.manifesto-text{font-size:clamp(28px,3.5vw,62px);font-weight:300;line-height:1.24;letter-spacing:-.015em;max-width:25ch}
html[lang=ar] .manifesto-text{font-size:clamp(26px,3vw,54px);line-height:1.62;letter-spacing:0;max-width:27ch}
.motion .manifesto-text .w{opacity:.16}
.about-mark{height:150svh;top:-18svh;left:-16vw;transform-origin:30% 40%}
[dir=ltr] .about-mark{left:auto;right:-14vw}
.about-mark .mark-cap{fill:#c99b6770}
.motion .benefits{margin-top:-100svh;z-index:2}
.benefits .stage-in{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:2.6svh;padding:calc(var(--head) + 2svh) 0 3svh}
html:not(.motion) .benefits .stage-in{min-height:100svh}
.rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 60px;padding:0 var(--pad);flex-wrap:wrap}
.rail-head .eyebrow{margin-bottom:14px}
.rail-title{max-width:16ch}
.rail-head .lede{max-width:40ch}
.rail{display:flex;align-items:center;min-height:0;padding:0 var(--pad);overflow:hidden}
html:not(.motion) .rail{overflow-x:auto;scroll-snap-type:x mandatory;padding-block:10px}
.rail-track{display:flex;gap:clamp(14px,1.6vw,28px);will-change:transform}
.panel{flex:none;display:grid;grid-template-rows:minmax(0,1fr) auto;width:clamp(270px,27vw,430px);height:min(52svh,520px);min-height:300px;background:var(--ivory);color:var(--brown);border:1px solid #2b27251a;scroll-snap-align:start;transition:background .5s var(--ease)}
.panel-art{position:relative;min-height:0;overflow:hidden;background:var(--paper);border-bottom:1px solid #5c31101a}
.panel-mark{position:absolute;top:9%;left:50%;height:84%;width:auto;transform:translateX(-46%)}
.panel-copy{padding:clamp(18px,1.8vw,30px)}
.panel h4{font-size:clamp(21px,1.8vw,30px);font-weight:400;line-height:1.25}
.panel p{margin-top:10px;font-size:16px;color:#5c3110bd}
.panel.is-active{background:var(--paper)}

/* Looping number reels */
.reel{overflow:hidden;width:100%;user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.reel-track{display:flex;width:max-content;will-change:transform}
.reel-set{display:flex;align-items:center;flex:none}
.reel-n{flex:none;padding:6px clamp(12px,1.5vw,26px);border:0;background:none;font-family:Jost,sans-serif;font-weight:300;font-size:clamp(30px,3.3vw,58px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;opacity:.34;transition:opacity .35s,color .35s}
.reel-n:hover{opacity:.8}.reel-n.on{opacity:1;color:var(--orange)}
.reel-dash{flex:none;width:clamp(28px,4vw,72px);height:1px;background:currentColor;opacity:.3}
html:not(.motion) .reel{display:none}
.reel-services{position:fixed;z-index:30;inset-inline:0;bottom:0;padding:18px 0 14px;color:var(--ivory);background:linear-gradient(0deg,#1c1916cc,#1c191600);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility .5s}
.reel-services.is-visible{opacity:1;visibility:visible}

/* 3 — SERVICES: stacked full-bleed scenes, words on the image */
.services{z-index:3}
.motion .services{margin-top:-100svh}
.card{position:relative;height:100svh;min-height:560px;overflow:hidden;background:var(--charcoal);color:var(--ivory)}
.motion .card{position:sticky;top:0}
html:not(.motion) .card{height:auto;min-height:100svh}
.card-in{position:absolute;inset:0;transform-origin:50% 0;will-change:transform}
html:not(.motion) .card-in{position:relative;min-height:100svh}
.card-media{position:absolute;inset:0;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover;will-change:transform}
.card-scrim{position:absolute;inset:0;background:linear-gradient(0deg,#1c1916f5 0%,#1c1916cc 26%,#1c191659 52%,#1c191600 74%)}
.frame-note{position:absolute;z-index:2;top:calc(var(--head) + 10px);inset-inline-end:var(--pad);padding:5px 10px;background:#1c1916a6;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#f8f4eee6}
html[lang=ar] .frame-note{letter-spacing:0;font-size:12px}
.card-copy{position:absolute;z-index:2;inset-inline:var(--pad);bottom:calc(13svh + 34px);max-width:min(900px,86vw)}
html:not(.motion) .card-copy{position:relative;inset:auto;padding:calc(var(--head) + 40svh) var(--pad) 60px;max-width:none}
.card-title{font-size:clamp(40px,5.8vw,104px);font-weight:300;line-height:1.02;letter-spacing:-.025em}
html[lang=ar] .card-title{font-size:clamp(34px,4.8vw,86px);line-height:1.3;letter-spacing:0}
.card-tagline{margin-top:14px;font-size:clamp(18px,1.6vw,26px);font-weight:400}
.card-list{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:16px;font-size:14px;color:#f8f4eec4}.card-list i{font-style:normal;opacity:.45}
.card-copy .btn{margin-top:28px}
.card-more{display:none;margin-top:28px;max-width:70ch}.card-more ul{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:14px;font-size:14px}
html:not(.js) .card-more{display:block}
html:not(.js) [data-service],html:not(.js) [data-dialog],html:not(.js) [data-inquiry],html:not(.js) .header-actions{display:none}
.card-shade{position:absolute;inset:0;z-index:5;background:var(--ink);opacity:0;pointer-events:none}
.card-intro .card-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:6vw;padding:calc(var(--head) + 4svh) var(--pad) calc(12svh + 30px)}
.intro-copy .lede{margin-top:26px}.intro-copy .link{margin-top:22px;color:var(--ivory)}
.service-index{border-top:1px solid var(--line)}
.service-index a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:clamp(12px,1.7svh,18px) 0;border-bottom:1px solid var(--line);font-size:clamp(17px,1.35vw,22px);transition:color .35s,padding .5s var(--out)}
.service-index a:hover,.service-index a:focus-visible{color:var(--tan);padding-inline-start:12px}
.service-index .num{font-family:Jost,sans-serif;font-size:13px;color:var(--muted)}
.stack-tail{height:100svh;pointer-events:none}html:not(.motion) .stack-tail{display:none}

/* 4 — CLIENTS: names travel along the stroke */
.clients{z-index:4}
.motion .clients{margin-top:-100svh;height:380svh}
.clients .stage{min-height:100svh}
.clients .stage-in{background:var(--ivory)}
.clients .stage-in.is-filled{background:var(--tan)}
.clients-copy{position:absolute;z-index:3;top:calc(var(--head) + 2svh);inset-inline-start:var(--pad);max-width:min(560px,40vw)}
.clients-copy .lede{margin-top:16px}.clients-copy .link{margin-top:10px}
.orbit{position:absolute;inset:0}
.orbit-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit-stroke{fill:var(--tan)}.orbit-line{fill:none;stroke:none}
.orbit-list{position:absolute;inset:0}
.tile{position:absolute;left:0;top:0;width:clamp(150px,12.5vw,214px);will-change:transform,opacity}
.tile figure{background:#fff;border:1px solid #5c31101c;box-shadow:0 26px 44px -30px #5c311059}
.tile-logo{position:relative;aspect-ratio:16/10}
.tile-logo img{position:absolute;left:12%;top:12%;width:76%;height:76%;object-fit:contain}
.tile figcaption{padding:9px 12px;border-top:1px solid #5c31101c;font-size:12px;font-weight:500;color:var(--brown);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orbit-hint{position:absolute;z-index:3;bottom:26px;inset-inline-start:var(--pad);font-size:13px;color:var(--muted)}
html:not(.motion) .clients .stage-in{padding:calc(var(--head) + 4svh) var(--pad) 60px}
html:not(.motion) .clients-copy,html:not(.motion) .orbit,html:not(.motion) .orbit-list{position:static;max-width:none}
html:not(.motion) .orbit-svg,html:not(.motion) .orbit-hint{display:none}
html:not(.motion) .orbit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-top:40px}
html:not(.motion) .tile{position:static;width:auto}

/* 5 — CONTACT */
.contact{z-index:5;overflow:hidden}
.contact-in{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:5vw;padding:calc(var(--head) + 8svh) var(--pad) 9svh}
.contact-copy,.contact-grid{position:relative;z-index:2}
.contact-copy .lede{margin-top:26px}
.brand-line{display:flex;align-items:center;gap:16px;margin-top:26px;font-size:clamp(19px,1.7vw,27px);font-weight:400;color:var(--fg)}
.brand-line::before{content:'';width:42px;height:1px;background:currentColor;flex:none}
.contact-copy .note{margin-top:16px;max-width:52ch}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.contact-grid>div{padding:22px 0;border-bottom:1px solid var(--line)}
.contact-grid>div:nth-child(odd){padding-inline-end:24px}
.contact-grid dt{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
html[lang=ar] .contact-grid dt{letter-spacing:0;font-size:14px}
.contact-grid dd{margin-top:8px;font-size:17px;display:grid;justify-items:start;gap:4px;overflow-wrap:anywhere}
.contact-mark{height:118svh;top:-30svh;left:-4vw}
[dir=ltr] .contact-mark{left:auto;right:-2vw}
.contact-mark .mark-cup{fill:#8046172b}

/* 6 — FOOTER: the complete mark */
.footer{z-index:6;overflow:hidden}
.footer-in{position:relative;min-height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:4.5svh;padding:calc(var(--head) + 5svh) var(--pad) 26px}
.footer-top,.footer-links,.footer-base{position:relative;z-index:1}
.footer-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6vw}
.mark-stacked{height:min(48svh,440px);width:auto}
.footer .mark-word path{fill:var(--ivory)}
.footer-copy .lede{margin-top:22px}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 40px;padding-top:20px;border-top:1px solid var(--line)}
.footer-links .link{color:var(--ivory)}
.giant-word{position:absolute;z-index:0;inset-inline:var(--pad);bottom:56px;width:calc(100% - 2 * var(--pad));height:auto;fill:#f8f4ee0f;pointer-events:none}
.footer-base{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Drawer (replaces the modal) */
dialog.drawer{position:fixed;inset:0;inset-inline-start:auto;margin:0;width:min(760px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--ivory);color:var(--brown);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform .62s var(--out);--fg:var(--brown);--muted:#5c3110ad;--line:#5c311026;--btn-bg:var(--brown);--btn-fg:var(--ivory)}
[dir=rtl] dialog.drawer{transform:translateX(-100%)}
dialog.drawer.is-open{transform:none}
dialog.drawer::backdrop{background:var(--ink);opacity:0;transition:opacity .5s var(--ease)}
dialog.drawer.is-open::backdrop{opacity:.74}
.drawer-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;height:76px;padding:0 clamp(20px,3vw,40px);background:var(--ivory);border-bottom:1px solid var(--line)}
.drawer-label{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
html[lang=ar] .drawer-label{letter-spacing:0;font-size:14px}
.close{display:inline-flex;align-items:center;gap:10px;height:48px;padding-block:0;padding-inline:18px 6px;border:1px solid var(--line);background:none;font-size:14px;font-weight:500;transition:border-color .35s,background .35s,color .35s}
.close i{position:relative;display:block;width:36px;height:36px}
.close i::before,.close i::after{content:'';position:absolute;left:9px;right:9px;top:50%;height:1px;background:currentColor;transform:rotate(45deg);transition:transform .55s var(--out)}
.close i::after{transform:rotate(-45deg)}
.close:hover,.close:focus-visible{border-color:currentColor;background:color-mix(in srgb,currentColor 7%,transparent)}.close:hover i::before{transform:rotate(135deg)}.close:hover i::after{transform:rotate(45deg)}
.drawer-hero{position:relative;height:min(54svh,480px);min-height:300px;overflow:hidden;background:var(--charcoal);color:var(--ivory)}
.drawer-hero img{width:100%;height:100%;object-fit:cover}
.drawer-scrim{position:absolute;inset:0;background:linear-gradient(0deg,#1c1916eb 0%,#1c191699 38%,#1c191614 75%)}
.drawer-hero-copy{position:absolute;inset-inline:clamp(20px,3vw,40px);bottom:30px}
.drawer-hero-copy h2{font-size:clamp(32px,3.8vw,52px);font-weight:300;line-height:1.12;letter-spacing:-.02em}
html[lang=ar] .drawer-hero-copy h2{line-height:1.35;letter-spacing:0}
.drawer-hero-copy p{margin-top:10px;font-size:18px}
.drawer-hero .frame-note{top:16px}
.drawer-section{padding:clamp(26px,3.6vw,52px) clamp(20px,3vw,40px)}
.drawer-section>h2{font-size:clamp(30px,3.4vw,46px);font-weight:300;line-height:1.18;letter-spacing:-.02em;margin-bottom:22px}
html[lang=ar] .drawer-section>h2{line-height:1.4;letter-spacing:0}
.drawer-section h3{margin:36px 0 14px;font-size:20px;font-weight:500}
.drawer-section p{font-size:17px}.drawer-section p+p{margin-top:16px}
.drawer-intro{font-size:clamp(18px,1.5vw,21px)!important;line-height:1.75}
.story{margin-top:22px}
.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.deliverables li{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.deliverables li::before{content:'';flex:none;width:12px;height:1px;background:var(--orange);transform:translateY(-5px)}
.process{counter-reset:step;border-top:1px solid var(--line);margin-top:24px}
.process li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.process .num{font-family:Jost,sans-serif;font-weight:300;font-size:30px;line-height:1.1;color:var(--tan)}
.process h3{margin:0 0 6px;font-size:21px}
.process p{font-size:16px;color:var(--muted)}
.sectors{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font-size:15px}.sectors i{font-style:normal;opacity:.4}
.all-clients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.all-clients figure{background:#fff;border:1px solid var(--line)}.all-clients figcaption{padding:10px 12px;border-top:1px solid var(--line);font-size:13px;font-weight:500}
.next-row{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;gap:22px;width:100%;padding:20px clamp(20px,3vw,40px);border:0;background:var(--charcoal);color:var(--ivory);text-align:start;transition:background .4s}
.next-row:hover{background:var(--ink)}
.next-media img{width:140px;height:90px;object-fit:cover}
.next-copy small{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#f8f4eea8}
html[lang=ar] .next-copy small{letter-spacing:0;font-size:13px}
.next-copy strong{display:block;margin-top:6px;font-size:clamp(19px,1.8vw,25px);font-weight:400}
/* Menu variant: full-screen dark panel */
dialog.drawer[data-type=menu]{width:100vw;background:var(--charcoal);color:var(--ivory);--fg:var(--ivory);--muted:#f8f4eeb3;--line:#f8f4ee2b}
dialog.drawer[data-type=menu] .drawer-bar{background:var(--charcoal)}
.menu-links{display:grid;padding:2svh clamp(20px,5vw,96px) 0}
.menu-links a{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) auto;align-items:center;gap:24px;padding:1.6svh 0;border-bottom:1px solid var(--line);font-size:clamp(30px,4.6vw,72px);font-weight:300;line-height:1.25;transition:color .35s,padding .55s var(--out)}
.menu-links a:hover,.menu-links a:focus-visible{color:var(--tan);padding-inline-start:18px}
.menu-links small{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
html[lang=ar] .menu-links small{letter-spacing:0;font-size:14px}
.menu-foot{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px;padding:5svh clamp(20px,5vw,96px)}
/* Form */
.field{position:relative;margin-top:18px}
.field>label{display:block;font-size:14px;font-weight:500}
.field .req{color:var(--orange)}
.field .hint{display:block;margin-top:6px;font-size:13px;color:var(--muted)}
.field .error{display:block;min-height:0;margin-top:6px;font-size:13px;font-weight:500;color:#b23a1c}
.field .error:empty{display:none}
.field.is-invalid input,.field.is-invalid textarea,.field.is-invalid select{border-color:#b23a1c;box-shadow:inset 3px 0 0 #b23a1c}
[dir=rtl] .field.is-invalid input,[dir=rtl] .field.is-invalid textarea{box-shadow:inset -3px 0 0 #b23a1c}
.form-summary{margin-top:16px;padding:12px 14px;border:1px solid #b23a1c;color:#b23a1c;font-size:14px;font-weight:500}
.privacy-note{margin-top:22px;border-top:1px solid var(--line);padding-top:14px}.privacy-note summary{cursor:pointer;font-weight:500}
.privacy-note p{margin-top:10px;font-size:14px;color:var(--muted)}
.reach{margin-top:18px;font-size:14px;color:var(--muted)}.reach a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.sent{margin-top:10px;padding:26px;border:1px solid var(--line);background:var(--paper)}.sent:focus{outline:none}
.sent h3{margin:0 0 10px;font-size:24px;font-weight:400}
address{font-style:normal}
.contact-grid .wide{grid-column:1/-1}
.contact-grid dd a:not(.link){font-size:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
form .honey label,.consent{font-size:14px;font-weight:500}
input,select,textarea{display:block;width:100%;max-width:100%;margin-top:8px;min-height:54px;padding:13px 15px;border:1px solid #5c311045;border-radius:0;background:var(--paper);color:var(--charcoal);font-size:16px}
textarea{resize:vertical;line-height:1.6}
form .btn{margin-top:26px}
.honey{position:absolute;left:-9999px}
.consent{display:flex!important;align-items:flex-start;gap:12px}.consent input{width:20px;min-height:20px;margin:3px 0 0;flex:none}
#form-status{margin-top:18px;font-size:15px}#draft{margin-top:28px}#draft .btn{margin-top:16px}
.preserve-lines{white-space:pre-wrap;line-height:1.8}

/* Short desktop screens */
@media (max-height:720px) and (min-width:761px){.panel{height:min(46svh,440px);min-height:250px}.panel p{font-size:15px}.service-index a{padding:9px 0;font-size:16px}.card-copy{bottom:calc(12svh + 20px)}.mark-stacked{height:min(40svh,360px)}}

/* Phones */
@media (max-width:760px){
 :root{--pad:20px;--head:68px}
 .nav,.menu-label{display:none}
 .site-header{gap:12px}.brand{height:38px}.header-actions{margin-inline-start:auto}
 .hero{--fw:min(50vw,calc(38svh * .7047));--ftop:calc(var(--head) + 3svh);--fleft:calc(50% - var(--fw) * .36)}
 [dir=ltr] .hero{--fleft:calc(50% - var(--fw) * .36)}
 .hero-copy{inset-block:auto 0;inset-inline:var(--pad);width:auto;justify-content:flex-end;padding:0 0 calc(9svh + 30px)}
 h1{font-size:clamp(36px,10vw,54px)}html[lang=ar] h1{font-size:clamp(32px,8.8vw,48px)}
 .hero-copy .lede{margin-top:16px;font-size:15px}.hero-note{font-size:14px}.actions{margin-top:22px;gap:12px 22px}
 .btn{min-height:50px;padding:0 18px;font-size:14px}
 .hero-statement{bottom:17svh;font-size:clamp(28px,8.4vw,44px)}html[lang=ar] .hero-statement{font-size:clamp(26px,7.6vw,40px)}
 .scroll-cue{display:none}
 .manifesto-text{font-size:clamp(25px,7vw,36px)}html[lang=ar] .manifesto-text{font-size:clamp(23px,6.3vw,32px)}
 .about-mark{height:110svh;top:-4svh;left:-40vw}[dir=ltr] .about-mark{right:-40vw}
 .rail-head{gap:10px}.rail-head .lede{display:none}
 .panel{width:76vw;height:min(48svh,420px);min-height:280px}
 .card-copy{bottom:calc(10svh + 30px)}
 .card-list{display:none}
 .card-intro .card-in{grid-template-columns:1fr;align-content:center;gap:4svh;padding-top:calc(var(--head) + 2svh);padding-bottom:calc(10svh + 24px)}
 .intro-copy .lede{margin-top:14px;font-size:15px}
 .service-index a{padding:8px 0;font-size:15px;grid-template-columns:36px minmax(0,1fr) auto}
 .clients-copy{max-width:none;inset-inline:var(--pad)}
 .clients-copy .lede{font-size:15px}
 .tile{width:118px}.tile figcaption{font-size:11px;padding:7px 9px}.orbit-hint{display:none}
 .contact-in{grid-template-columns:1fr;align-items:start;align-content:center;gap:5svh;padding-top:calc(var(--head) + 4svh)}
 .contact-grid{grid-template-columns:1fr}.contact-grid>div{padding:16px 0}
 .contact-mark{height:90svh;right:-45vw}[dir=ltr] .contact-mark{left:-45vw}
 .footer-top{grid-template-columns:1fr;gap:4svh}.mark-stacked{height:min(30svh,250px)}
 .footer-links{gap:4px 26px}
 .footer-base{flex-direction:column;gap:6px}
 .drawer-bar{height:66px}
 .deliverables,.form-grid{grid-template-columns:1fr}
 .next-row{grid-template-columns:96px minmax(0,1fr) auto;gap:14px}.next-media img{width:96px;height:66px}
 .menu-links a{grid-template-columns:minmax(0,1fr) auto;gap:6px 14px}.menu-links small{grid-column:1/-1}
 .reel-n{font-size:30px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
