:root{
  --accent:#35765a; --accent-soft:color-mix(in srgb,#35765a 55%,#f7f6f2);
  --paper:#f7f6f2; --field:#e9e9e6; --ink:#222222; --fog:#cdcdc8; --fog-dark:#555550;
  --signal-red:#c7473c; --olive:#69705b; --forest:#113d2c; --forest-paper:#f3efe4; --black:#171717;
  --d-border:#454540; --d-num:#8a8a82; --d-txt:#9e9e96; --d-hover:#33332f; --d-link:#aaa9a2;
  --pad:clamp(20px,3.4vw,56px);
  --f:"Inter Tight",Arial,sans-serif; --jp:"Shippori Mincho B1",serif; --ar:"Noto Kufi Arabic",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--field);color:var(--ink);font-family:var(--f);line-height:1.35;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--paper)}
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:2000;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}}

/* loader */
#loader{position:fixed;inset:0;z-index:3000;background:var(--black);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.4rem}
#loader .bars{display:inline-grid;grid-template-columns:repeat(2,7px);gap:6px;height:44px}
#loader .bars i{background:var(--paper);display:block;width:7px;animation:bar 1s ease-in-out infinite alternate}
#loader .bars i:last-child{transform:translateY(8px);background:var(--accent-soft);animation-delay:.25s}
@keyframes bar{from{transform:scaleY(.4)}to{transform:scaleY(1)}}
#loader .lt{color:var(--paper);font-size:.8rem;letter-spacing:.5em;opacity:.7}
#loader .lt b{font-family:var(--jp);font-weight:600}

/* cursor */
.cursor{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent);z-index:2500;pointer-events:none;transform:translate(-50%,-50%)}
.cursor-ring{position:fixed;top:0;left:0;width:40px;height:40px;border-radius:50%;border:1px solid var(--fog-dark);z-index:2499;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s}
body.hovering .cursor-ring{width:70px;height:70px;border-color:var(--accent)}
@media (hover:none){.cursor,.cursor-ring{display:none}}

/* header */
header{position:fixed;top:0;left:0;right:0;z-index:900;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;padding:10px var(--pad);background:color-mix(in srgb,var(--field) 90%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--fog)}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:-.02em;line-height:.86;width:max-content}
.wordmark .bars{display:inline-grid;grid-template-columns:repeat(2,5px);gap:4px;height:26px}
.wordmark .bars i{background:var(--ink);display:block;width:5px}
.wordmark .bars i:last-child{transform:translateY(5px)}
nav.primary{display:flex;gap:clamp(18px,3vw,44px);font-size:13px}
nav.primary a,.lang,.h-contact{position:relative}
nav.primary a::after,.lang::after,.h-contact::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s ease}
nav.primary a:hover::after,.lang:hover::after,.h-contact:hover::after{transform:scaleX(1);transform-origin:left}
.h-actions{display:flex;align-items:center;gap:22px;font-size:13px;justify-self:end}
.lang{color:var(--fog-dark);font-size:11px;letter-spacing:.06em;font-family:var(--ar)}
@media(max-width:880px){nav.primary{display:none}}

/* hero */
.hero{min-height:100svh;position:relative;padding:calc(72px + 26px) var(--pad) 0;overflow:clip;background:var(--field)}
.meta-row{display:grid;grid-template-columns:repeat(3,1fr);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--fog);padding-bottom:10px}
.meta-row span:nth-child(2){text-align:center}
.meta-row span:last-child{text-align:right}
.hero-grid{position:relative;padding-top:clamp(40px,5vw,80px)}
.hero-kicker{display:flex;align-items:center;gap:14px;font-size:.78rem;letter-spacing:.4em;color:var(--fog-dark);text-transform:uppercase;margin-bottom:2.5vh}
.hero-kicker .jp{font-family:var(--jp);color:var(--accent);letter-spacing:.5em}
.hero-kicker::after{content:"";flex:1;height:1px;background:var(--fog)}
h1{font-weight:300;text-transform:uppercase;letter-spacing:-.075em;line-height:.84;font-size:clamp(3.6rem,9.5vw,12.5rem);position:relative;z-index:3}
h1 .row{display:block;overflow:hidden}
h1 .row>span{display:inline-block}
h1 .indented{margin-left:clamp(18px,10vw,180px)}
h1 .red{color:var(--accent)}
@media(min-width:881px){h1 .row>span{white-space:nowrap}}
.hero-sub{display:flex;align-items:center;gap:1.4rem;margin-top:3vh;font-size:clamp(.95rem,1.6vw,1.4rem);color:var(--fog-dark);letter-spacing:.14em;text-transform:uppercase}
.hero-sub::after{content:"";height:1px;width:clamp(60px,12vw,180px);background:linear-gradient(90deg,var(--accent),var(--olive))}
.hero-suns{position:absolute;top:2vh;right:4vw;width:clamp(170px,24vw,360px);aspect-ratio:1;z-index:1;pointer-events:none}
.hero-suns .s1,.hero-suns .s2{position:absolute;border-radius:50%;mix-blend-mode:multiply}
.hero-suns .s1{inset:0;background:radial-gradient(circle at 40% 35%,#d4554a,#c7473c 72%)}
.hero-suns .s2{display:none}
.hero-cards{position:absolute;right:2vw;bottom:-6vh;display:flex;gap:1rem;z-index:2}
.hero-cards figure{width:clamp(92px,10.5vw,150px);aspect-ratio:3/4;border-radius:10px;overflow:hidden;box-shadow:0 26px 50px -18px rgba(23,23,23,.35);border:1px solid var(--fog);background:var(--paper)}
.hero-cards figure img{width:100%;height:100%;object-fit:cover}
.hero-cards figure:nth-child(1){transform:rotate(-7deg) translateY(16px)}
.hero-cards figure:nth-child(2){transform:rotate(3deg)}
.hero-cards figure:nth-child(3){transform:rotate(8deg) translateY(24px)}
.hero-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,64px);align-items:end;max-width:1040px;margin:clamp(48px,7vw,110px) 0 0 auto;position:relative;z-index:3;padding-bottom:16vh}
.hero-intro p{font-size:clamp(1rem,1.28vw,1.3rem);max-width:480px}
.hero-intro p strong{font-weight:600;color:var(--accent)}
.hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:0 18px;border-radius:8px;font-size:13px;white-space:nowrap;transition:background .18s,color .18s}
.btn-dark{background:var(--black);color:var(--paper)}
.btn-dark:hover{background:var(--accent);color:var(--paper)}
.t-link{font-size:13px;position:relative}
.t-link::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s}
.t-link:hover::after{transform:scaleX(1);transform-origin:left}
.scroll-hint{position:absolute;left:var(--pad);bottom:9vh;display:flex;align-items:center;gap:.9rem;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--fog-dark);writing-mode:vertical-rl;z-index:3}
.scroll-hint::after{content:"";width:1px;height:56px;background:var(--fog-dark);animation:drip 2.2s ease-in-out infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}55%{transform:scaleY(1)}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:880px){.hero-intro{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:row}}
@media(min-width:881px) and (max-width:1024px){.scroll-hint{display:none}}
