﻿:root{
  --ink:#0a0a0a; --ink2:#141614; --green:#1b2a23; --cream:#ece6d4; --sand:#b9b39b; --mute:#8a8774;
  --line:rgba(236,230,212,.14);
  --f-en:"Archivo","Cairo",sans-serif; --f-ar:"Cairo","Archivo",sans-serif; --mono:"Space Mono",monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--cream);font-family:var(--f-ar);font-size:17px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.mono{font-family:var(--mono);letter-spacing:.04em}
.h-xl{font-family:var(--f-en);font-stretch:112%;font-weight:900;line-height:.92;letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(46px,9.6vw,168px)}
.h-l{font-family:var(--f-en);font-stretch:112%;font-weight:900;line-height:.95;letter-spacing:-.025em;text-transform:uppercase;font-size:clamp(40px,7vw,120px)}
.h-l em,.cta .o{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--cream)}

/* loader */
#loader{position:fixed;inset:0;z-index:100;background:var(--ink);display:grid;place-items:center;align-content:center;gap:22px}
#loader img{width:min(54vw,300px);height:auto}
.ld-bar{width:min(54vw,300px);height:2px;background:var(--line);overflow:hidden}
.ld-bar i{display:block;height:100%;width:0;background:var(--cream)}
.ld-n{font-size:12px;color:var(--mute)}
.prog{position:fixed;inset-inline:0;top:0;height:2px;z-index:60;background:transparent}
.prog i{display:block;height:100%;width:100%;background:var(--cream);transform:scaleX(0);transform-origin:left}

/* cursor */
.cursor{position:fixed;left:0;top:0;width:14px;height:14px;border-radius:50%;background:var(--cream);mix-blend-mode:difference;pointer-events:none;z-index:90;opacity:0;transform:translate(-50%,-50%);transition:width .25s,height .25s}
.cursor.big{width:64px;height:64px}
@media (hover:none){.cursor{display:none}}

/* nav */
.nav{position:fixed;inset-inline:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,3vw,40px);transition:transform .4s,background .3s}
.nav.solid{background:rgba(10,10,10,.72);backdrop-filter:blur(14px)}
.nav.hide{transform:translateY(-110%)}
.brand img{height:22px;width:auto}
.nav nav{display:flex;gap:30px;font-size:14px}
.nav nav a{opacity:.75;transition:opacity .2s}.nav nav a:hover{opacity:1}
.nav-r{display:flex;align-items:center;gap:12px}
.lang{border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:12px}
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--cream);color:var(--ink);font-weight:800;border-radius:99px;padding:15px 28px;transition:transform .3s,background .3s,color .3s}
.btn:hover{background:#fff}
.btn-sm{padding:9px 18px;font-size:14px}
.btn-lg{font-size:clamp(16px,1.6vw,22px);padding:22px 38px}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid var(--cream)}
.btn-ghost:hover{background:var(--cream);color:var(--ink)}
.btn i{font-style:normal;transition:transform .3s}.btn:hover i{transform:translate(3px,-3px)}
@media (max-width:760px){.nav nav{display:none}}

/* hero */
.hero{height:100vh;position:relative}
.hero-pin{height:100vh;position:relative;overflow:hidden;display:grid;place-items:center}
.hero-bgtxt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around;font-family:var(--f-en);font-weight:900;font-stretch:125%;font-size:clamp(90px,22vw,340px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(236,230,212,.08);white-space:nowrap;letter-spacing:-.04em;pointer-events:none}
.hero-bgtxt span:nth-child(2){margin-inline-start:-14%}
.hero-front{position:relative;z-index:3;text-align:center;padding:0 16px}
.hero-front .eyebrow{font-size:12px;color:var(--sand);margin-bottom:22px}
.hero-front .l2{display:block;color:transparent;-webkit-text-stroke:1.5px var(--cream)}
.hero-front .l1{display:block}
.hero-card{position:absolute;inset:0;z-index:2;clip-path:inset(62% 36% 6% 36% round 22px);will-change:clip-path}
.hero-card img{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
.hero-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.25),rgba(10,10,10,.65))}
.hero-card-txt{position:absolute;inset:0;z-index:2;display:grid;place-items:end start;padding:clamp(24px,5vw,80px);opacity:0}
.scroll-hint{position:absolute;bottom:22px;inset-inline-start:50%;transform:translateX(-50%);z-index:4;font-size:11px;color:var(--mute);display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-hint i{width:1px;height:34px;background:linear-gradient(var(--cream),transparent);animation:sh 1.8s infinite}
@keyframes sh{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* marquee */
.mq{border-block:1px solid var(--line);padding:22px 0;overflow:hidden;background:var(--ink2)}
.mq-in{display:flex;align-items:center;gap:44px;width:max-content;font-family:var(--f-en);font-stretch:120%;font-weight:900;font-size:clamp(28px,4.4vw,64px);letter-spacing:-.02em;white-space:nowrap;will-change:transform}
.mq-in img{height:.62em;width:auto}

/* statement */
.statement{padding:clamp(100px,16vw,240px) clamp(20px,6vw,100px)}
.stm{font-weight:800;font-size:clamp(26px,4.4vw,68px);line-height:1.35;max-width:22em;margin-inline:auto}
.stm .w{display:inline-block;opacity:.14;margin-inline-end:.28em;will-change:opacity}

/* drop */
.drop{position:relative}
.drop-pin{direction:ltr;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,3vh,36px);overflow:hidden}
.drop-head{display:flex;align-items:flex-end;justify-content:space-between;padding:0 clamp(16px,4vw,60px);padding-top:70px}
.drop-count{font-size:clamp(14px,1.4vw,18px);color:var(--sand)}
.drop-count b{font-size:1.9em;color:var(--cream)}
.drop-track{display:flex;gap:clamp(14px,2vw,30px);padding:0 clamp(16px,4vw,60px);width:max-content;will-change:transform}
.pc{width:clamp(250px,30vw,460px);flex:none}
.pc-img{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:20px;background:var(--green)}
.pc-img img{width:100%;height:116%;object-fit:cover;will-change:transform}
.tag{position:absolute;top:14px;inset-inline-start:14px;background:var(--cream);color:var(--ink);padding:5px 10px;border-radius:99px;font-size:12px;font-weight:700}
.pc-t{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding-top:14px;align-items:baseline}
.pc-t span{color:var(--mute);font-size:12px;grid-row:span 2}
.pc-t h3{font-family:var(--f-en);font-weight:800;font-size:clamp(17px,1.7vw,24px);letter-spacing:-.01em}
.pc-t p{color:var(--sand);font-size:14px}

/* collections */
.cols{padding:clamp(90px,12vw,200px) clamp(16px,4vw,60px) clamp(60px,8vw,120px)}
.cols .h-l{margin-bottom:clamp(30px,5vw,70px)}
.cols-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,24px)}
.cl{position:relative;display:block}
.cl-img{aspect-ratio:3/4.4;overflow:hidden;border-radius:22px;background:var(--green);clip-path:inset(100% 0 0 0 round 22px)}
.cl-img img{width:100%;height:120%;object-fit:cover;transition:filter .4s}
.cl:hover .cl-img img{filter:brightness(1.08) saturate(1.1)}
.cl-t{position:absolute;inset-inline:0;bottom:0;padding:22px;display:flex;align-items:baseline;gap:12px;background:linear-gradient(transparent,rgba(10,10,10,.82));border-radius:0 0 22px 22px}
.cl-t span{font-size:12px;color:var(--sand)}
.cl-t h3{font-family:var(--f-en);font-weight:900;font-stretch:112%;font-size:clamp(30px,4vw,60px);line-height:1;letter-spacing:-.03em;text-transform:uppercase}
.cl-t em{font-style:normal;color:var(--sand);margin-inline-start:auto;font-size:15px}
@media (max-width:760px){.cols-grid{grid-template-columns:1fr}.cl-img{aspect-ratio:4/4.6}}

/* bag */
.bag{position:relative;height:130vh;overflow:hidden;background:var(--green)}
.bag-big{position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);text-align:center;font-family:var(--f-en);font-weight:900;font-stretch:125%;font-size:clamp(100px,26vw,420px);line-height:.8;letter-spacing:-.05em;color:var(--cream);opacity:.95;will-change:transform}
.bag-img{position:absolute;overflow:hidden;border-radius:18px;will-change:transform}
.bag-img img{width:100%;height:100%;object-fit:cover}
.b1{width:min(30vw,380px);aspect-ratio:3/4;inset-inline-start:7%;top:8%}
.b2{width:min(24vw,300px);aspect-ratio:3/4;inset-inline-end:9%;top:24%}
.b3{width:min(20vw,260px);aspect-ratio:1;inset-inline-start:34%;bottom:17%}
.bag-cap{position:absolute;inset-inline:0;bottom:7%;text-align:center;font-weight:800;font-size:clamp(16px,1.8vw,24px);padding:0 20px;text-shadow:0 2px 20px rgba(0,0,0,.5)}
@media (max-width:760px){.b1{width:44vw}.b2{width:36vw;top:36%}.b3{width:40vw;inset-inline-start:8%}}

/* numbers */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.nm{padding:clamp(30px,5vw,70px) clamp(14px,2vw,30px);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.nm:last-child{border-inline-end:0}
.nm b{font-size:clamp(34px,5.4vw,84px);font-weight:700;line-height:1}
.nm span{color:var(--sand);font-size:14px}
@media (max-width:760px){.nums{grid-template-columns:1fr 1fr}.nm:nth-child(2){border-inline-end:0}.nm:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* order */
.order{padding:clamp(90px,12vw,200px) clamp(16px,4vw,60px)}
.steps{list-style:none;margin-top:clamp(30px,5vw,70px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px)}
.steps li{border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,40px);background:var(--ink2);display:flex;flex-direction:column;gap:10px;min-height:240px}
.steps span{color:var(--mute);font-size:13px}
.steps h3{font-weight:800;font-size:clamp(22px,2.4vw,34px);line-height:1.2;margin-top:auto}
.steps p{color:var(--sand)}
@media (max-width:760px){.steps{grid-template-columns:1fr}.steps li{min-height:0}}

/* cta */
.cta{padding:clamp(90px,12vw,200px) clamp(16px,4vw,60px);text-align:center;background:var(--cream);color:var(--ink)}
.cta .h-xl{font-size:clamp(42px,9vw,150px)}
.cta .o{-webkit-text-stroke:1.5px var(--ink)}
.cta .btn{background:var(--ink);color:var(--cream)}
.cta .btn:hover{background:#000}
.cta .btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.cta .btn-ghost:hover{background:var(--ink);color:var(--cream)}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:clamp(30px,4vw,56px)}
.ph{margin-top:28px;font-size:clamp(18px,2vw,26px)}

.ft{padding:36px clamp(16px,4vw,60px);display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between;background:var(--ink)}
.ft img{height:24px;width:auto}
.ft p{font-size:12px;color:var(--mute)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}



/* ===== explainer video ===== */
.vid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(24px,6vw,100px);padding:clamp(90px,12vw,200px) clamp(16px,6vw,100px);background:var(--ink2);border-block:1px solid var(--line)}
.vid-txt p{margin-top:22px;color:var(--sand);max-width:30em;font-size:clamp(16px,1.5vw,21px)}
.vid-frame{position:relative;width:min(78vw,380px);aspect-ratio:9/16;border-radius:38px;overflow:hidden;border:2px solid var(--cream);box-shadow:0 40px 100px rgba(0,0,0,.55);background:#000;justify-self:center}
.vid-frame video{width:100%;height:100%;object-fit:cover;display:block}
.vid-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:transform .3s,opacity .3s}
.vid-play i{width:0;height:0;border-style:solid;border-width:14px 0 14px 24px;border-color:transparent transparent transparent var(--ink);margin-inline-start:6px}
.vid-play:hover{transform:scale(1.1)}
.vid-frame.playing .vid-play{opacity:0;pointer-events:none}
@media (max-width:860px){.vid{grid-template-columns:1fr}}

/* ===== whatsapp flow ===== */
.wa{position:relative}
.wa-pin{min-height:100vh;display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(24px,6vw,100px);padding:90px clamp(16px,6vw,100px) 40px}
.wa-txt p{margin:22px 0 30px;color:var(--sand);max-width:26em;font-size:clamp(16px,1.5vw,21px)}
.wa-phone{width:min(84vw,390px);height:min(76vh,700px);border-radius:44px;border:2px solid var(--cream);background:#0b141a;display:flex;flex-direction:column;overflow:hidden;justify-self:center;box-shadow:0 40px 100px rgba(0,0,0,.55)}
.wa-bar{display:flex;align-items:center;gap:12px;padding:18px 18px 14px;background:#202c33}
.wa-bar img{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#000}
.wa-bar b{display:block;font-size:17px;line-height:1.1}.wa-bar small{font-size:12px;color:#8fa2ab}
.wa-msgs{flex:1;padding:16px 14px;display:flex;flex-direction:column;gap:10px;overflow:hidden;background:#0b141a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='8' cy='8' r='1.2' fill='%23ffffff' fill-opacity='.04'/%3E%3C/svg%3E")}
.m{max-width:82%;padding:10px 14px;border-radius:14px;font-size:15.5px;line-height:1.5;opacity:0}
.m.me{align-self:flex-start;background:#005c4b;color:#e9edef;border-top-right-radius:4px}
.m.them{align-self:flex-end;background:#202c33;color:#e9edef;border-top-left-radius:4px}
.typing{align-self:flex-end;display:flex;gap:5px;background:#202c33;padding:14px 16px;border-radius:14px;opacity:0}
.typing i{width:7px;height:7px;border-radius:50%;background:#8fa2ab;animation:tp 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tp{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.wa-in{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#202c33;color:#8fa2ab;font-size:14px}
.wa-in i{font-style:normal;width:36px;height:36px;border-radius:50%;background:#00a884;color:#fff;display:grid;place-items:center;font-size:14px}
@media (max-width:860px){.wa-pin{grid-template-columns:1fr;padding-top:100px}.wa-phone{height:min(62vh,560px)}}

/* ===== costa watermark ===== */
.wm{position:fixed;inset:0;z-index:65;pointer-events:none;overflow:hidden}
.wm::before{content:"";position:absolute;inset:-50%;background:url("../assets/img/costa-white.png") 0 0/110px auto,url("../assets/img/costa-white.png") 110px 110px/110px auto;background-repeat:repeat;opacity:.03;transform:rotate(-24deg)}
.costa-tag{position:fixed;inset-inline-start:14px;bottom:14px;z-index:70;display:flex;align-items:center;gap:10px;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:99px;padding:7px 16px 7px 8px;font-family:var(--f-en);transition:transform .3s}
.costa-tag:hover{transform:translateY(-3px)}
.costa-tag img{width:30px;height:30px;object-fit:contain;background:#e03a2f;border-radius:50%;padding:6px}
.costa-tag span{display:flex;flex-direction:column;line-height:1.15}
.costa-tag b{font-size:12px;letter-spacing:.04em;color:var(--cream)}
.costa-tag small{font-size:10px;color:var(--mute)}

/* ===== AI assistant ===== */
.ai{position:fixed;inset-inline-end:16px;bottom:16px;z-index:80;font-family:var(--f-ar)}
.ai-fab{position:relative;width:68px;height:68px;border-radius:50%;background:#050505;border:2px solid var(--cream);display:grid;place-items:center;box-shadow:0 14px 40px rgba(0,0,0,.6);transition:transform .3s}
.ai-fab:hover{transform:scale(1.07)}
.ai-fab img{width:46px;height:auto}
.ai-fab::before,.ai-fab::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--cream);animation:ring 2.6s infinite;opacity:0}
.ai-fab::after{animation-delay:1.3s}
@keyframes ring{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.7);opacity:0}}
.ai.open .ai-fab::before,.ai.open .ai-fab::after{display:none}
.ai-tip{position:absolute;inset-inline-end:80px;bottom:10px;background:var(--cream);color:var(--ink);font-weight:800;font-size:14px;padding:10px 16px;border-radius:16px 16px 4px 16px;white-space:nowrap;opacity:0;transform:translateY(8px);transition:.4s;pointer-events:none}
.ai-tip.show{opacity:1;transform:none}
.ai-panel{position:absolute;inset-inline-end:0;bottom:84px;width:min(92vw,380px);height:min(72vh,540px);background:#0d0f0d;border:1px solid var(--line);border-radius:24px;display:none;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.ai.open .ai-panel{display:flex;animation:pop .35s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.ai-h{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#050505;border-bottom:1px solid var(--line)}
.ai-h img{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--cream);padding:6px;background:#000;object-fit:contain}
.ai-h b{display:block;font-size:15px}.ai-h small{font-size:11px;color:var(--mute)}
.ai-x{margin-inline-start:auto;font-size:20px;opacity:.7}
.ai-b{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.ai-m{max-width:86%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.55;white-space:pre-line}
.ai-m.bot{background:#1a1f1b;align-self:flex-start;border-top-left-radius:4px}
.ai-m.usr{background:var(--cream);color:var(--ink);align-self:flex-end;border-top-right-radius:4px;font-weight:600}
[dir=rtl] .ai-m.bot{border-top-left-radius:16px;border-top-right-radius:4px}[dir=rtl] .ai-m.usr{border-top-right-radius:16px;border-top-left-radius:4px}
.ai-m a{color:var(--cream);text-decoration:underline}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.ai-chips button{border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:12.5px;transition:.2s}
.ai-chips button:hover{background:var(--cream);color:var(--ink)}
.ai-f{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#050505}
.ai-f input{flex:1;background:#141814;border:1px solid var(--line);border-radius:99px;padding:10px 16px;color:var(--cream);font:inherit;font-size:14px;outline:none}
.ai-f button{background:var(--cream);color:var(--ink);border-radius:50%;width:40px;height:40px;font-weight:900}
.ai-dots{display:flex;gap:4px;padding:12px 14px}.ai-dots i{width:6px;height:6px;border-radius:50%;background:var(--sand);animation:tp 1s infinite}.ai-dots i:nth-child(2){animation-delay:.15s}.ai-dots i:nth-child(3){animation-delay:.3s}
@media (max-width:760px){.costa-tag small{display:none}.ai-tip{display:none}.costa-tag{bottom:14px}.ai{bottom:76px}}


@media (max-width:760px){.hero-card{clip-path:inset(56% 12% 9% 12% round 20px)}.hero-front .eyebrow{font-size:11px}.drop-head{padding-top:84px}.pc{width:72vw}.nav{padding:10px 14px}.brand img{height:18px}.btn-lg{padding:18px 26px}.cta-row .btn{width:100%;justify-content:center}.wa-phone{width:88vw}.vid-frame{width:min(80vw,340px)}.nm b{font-size:clamp(28px,9vw,44px)}.bag{height:110vh}.statement{padding-inline:20px}}

