/* Morocco: a transparent masthead, editorial hero and port-call experience. */
.topbar{display:none}
.header{position:fixed;inset:0 0 auto;z-index:100;background:linear-gradient(180deg,rgba(9,13,17,.88),rgba(9,13,17,.15));border:0;transition:background .38s ease,box-shadow .38s ease}
.header::after{content:"";position:absolute;bottom:0;left:0;width:var(--scroll-progress,0%);height:2px;background:#d71930;transition:width .1s linear}
.header.is-scrolled{background:#111317;box-shadow:0 5px 24px #0004}
.header-inner{min-height:76px;transition:min-height .38s ease}
.header.is-scrolled .header-inner{min-height:94px}
.brand img{height:52px;transition:height .38s ease}
.header.is-scrolled .brand img{height:62px}
.page-hero{padding-top:165px;padding-bottom:80px}
.hero{min-height:min(780px,100svh);overflow:hidden;isolation:isolate;background:#111}
.hero::before{content:"";position:absolute;z-index:-2;inset:-2%;background:url('../images/hero.jpg') center 58%/cover no-repeat;animation:hero-drift 22s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,10,14,.91),rgba(7,10,14,.62) 50%,rgba(7,10,14,.26)),linear-gradient(0deg,rgba(7,10,14,.42),transparent 55%)}
.hero-content{max-width:900px;padding:170px 0 155px}
.hero-kicker{border:0;border-left:3px solid #dc1d32;padding:3px 0 3px 14px;margin-bottom:22px;letter-spacing:.2em}
.hero h1{font-size:clamp(54px,7vw,100px);line-height:.97;letter-spacing:.01em}
.hero h1 span{color:#f14756}
.hero p{max-width:540px;margin:24px 0 30px}
.hero-accent{display:flex;align-items:center;gap:16px;margin-top:37px;color:#fff;font:600 12px var(--title);letter-spacing:.2em;text-transform:uppercase}
.hero-accent::before{content:"";width:52px;height:2px;background:#e72539}
.hero-rail{position:absolute;right:3.5%;bottom:105px;color:#fff9;font:600 12px var(--title);letter-spacing:.2em;writing-mode:vertical-rl;text-transform:uppercase}
.hero-content>*{animation:hero-enter .8s both}
.hero-content>:nth-child(2){animation-delay:.12s}.hero-content>:nth-child(3){animation-delay:.22s}.hero-content>:nth-child(4){animation-delay:.32s}.hero-content>:nth-child(5){animation-delay:.42s}
@keyframes hero-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.075)}}
.why-section{background:#17191d;color:#fff;position:relative;overflow:hidden}
.why-section::after{content:"MOROCCO";position:absolute;right:-15px;bottom:-67px;color:#ffffff08;font:800 clamp(100px,17vw,230px)/1 var(--title);pointer-events:none}
.why-layout{display:grid;grid-template-columns:.9fr 1.4fr;gap:70px;position:relative;z-index:1;align-items:start}
.why-intro{position:sticky;top:125px}
.why-intro p{color:#b5bbc0;max-width:420px}
.why-intro .rule{margin-bottom:25px}
.why-intro .why-callout{display:flex;align-items:center;gap:14px;margin-top:35px;color:#fff;font:700 19px var(--title);letter-spacing:.04em;text-transform:uppercase}
.why-mark{display:grid;place-items:center;width:54px;height:54px;flex:none;background:var(--red);font-size:27px}
.why-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
.why-list li{display:flex;gap:16px;align-items:flex-start;padding:22px 0;border-top:1px solid #ffffff2c;transition:border-color .25s,transform .25s}
.why-list li:hover{border-color:#e01a2e;transform:translateX(5px)}
.why-list .why-number{color:#ee4051;font:700 14px var(--title);letter-spacing:.1em;line-height:1.5}
.why-list strong{font-size:14px;line-height:1.55;color:#f4f5f6}
.js-animate .reveal{transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s ease var(--reveal-delay,0ms)}
.form-section-title{grid-column:1/-1;margin:16px 0 0;padding-bottom:10px;border-bottom:1px solid #ddd;color:var(--red);font:700 20px var(--title);letter-spacing:.06em;text-transform:uppercase}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #b40f22;outline-offset:2px;border-color:#b40f22}
.attachment-note{font-size:12px;line-height:1.55;color:#555;margin:8px 0 0}
@media(max-width:900px){.header-inner{min-height:72px}.header.is-scrolled .header-inner{min-height:84px}.header.is-scrolled .brand img{height:55px}.main-nav{background:#17191d}.why-layout{grid-template-columns:1fr;gap:35px}.why-intro{position:static}}
@media(max-width:640px){.hero{min-height:700px;min-height:95svh}.hero-content{padding:155px 0 120px}.hero h1{font-size:clamp(48px,12vw,66px)}.hero-rail{display:none}.hero .whatsapp-pill{font-size:11px;gap:7px;white-space:nowrap}.hero .whatsapp-pill .wa-label{font-size:10px}.page-hero{padding-top:145px;padding-bottom:60px}.why-list{grid-template-columns:1fr}.why-list li{padding:16px 0}.form-section-title{grid-column:auto}.header-inner{min-height:70px}.header.is-scrolled .header-inner{min-height:82px}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero-content>*{animation:none!important}.header,.header-inner,.brand img{transition:none!important}.js-animate .reveal{opacity:1;transform:none}}
.morocco-hero .hero-content{animation:moroccoHeroIn .9s cubic-bezier(.22,1,.36,1) both}.morocco-hero .hero-scene{animation:moroccoSceneIn 1.1s cubic-bezier(.22,1,.36,1) .12s both}.morocco-hero .hero-orbit{animation:moroccoOrbit 7s ease-in-out infinite}.service-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 42px rgba(23,25,29,.14)}.service-card img{transition:transform .55s cubic-bezier(.22,1,.36,1)}.service-card:hover img{transform:scale(1.045)}.section-heading .rule{transform-origin:left;animation:moroccoRule 1s cubic-bezier(.22,1,.36,1) .3s both}.cta-band{position:relative;overflow:hidden}.cta-band::after{content:"";position:absolute;inset:-80% 55% -80% -20%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.1),transparent);transform:translateX(-80%) rotate(8deg);animation:moroccoCtaSweep 8s ease-in-out infinite}.cta-band>*{position:relative;z-index:1}@keyframes moroccoHeroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes moroccoSceneIn{from{opacity:0;transform:scale(1.08) translateX(24px)}to{opacity:1;transform:scale(1) translateX(0)}}@keyframes moroccoOrbit{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}50%{transform:translate3d(0,-10px,0) rotate(4deg)}}@keyframes moroccoRule{from{transform:scaleX(0);opacity:.3}to{transform:scaleX(1);opacity:1}}@keyframes moroccoCtaSweep{0%,55%{transform:translateX(-80%) rotate(8deg)}80%,100%{transform:translateX(260%) rotate(8deg)}}@media(prefers-reduced-motion:reduce){.morocco-hero .hero-content,.morocco-hero .hero-scene,.morocco-hero .hero-orbit,.section-heading .rule,.cta-band::after{animation:none}.morocco-hero .hero-content,.morocco-hero .hero-scene{opacity:1;transform:none}.service-card,.service-card img{transition:none}}
