/*
Theme Name: Cielo Tech
Theme URI: https://cielotech.ma
Author: Cielo Tech
Author URI: https://cielotech.ma
Description: A bespoke one-page theme for Cielo Tech, a senior IT consultancy delivering architecture, security, advisory, and project expertise remotely from Morocco. Built as a single-page brand site rather than a general-purpose theme.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cielo-tech
*/

:root{
  --sand:#F7F6F2;
  --sand-2:#EFEDE6;
  --ink:#161A1D;
  --ink-soft:#52565A;
  --ink-faint:#8A8E90;
  --sky:#2E5F8A;
  --sky-deep:#1C3E5C;
  --gold:#B8912A;
  --line:rgba(22,26,29,0.12);
  --line-strong:rgba(22,26,29,0.22);
  --radius:10px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter', system-ui, sans-serif; background:var(--sand); color:var(--ink); line-height:1.62;}
h1,h2,h3,.display{font-family:'Space Grotesk','Inter',sans-serif; font-weight:700; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img,svg{display:block;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}

header.nav{position:sticky; top:0; z-index:50; background:rgba(247,246,242,0.94); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.nav-inner{display:flex; align-items:center; justify-content:space-between; height:76px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand svg{height:19px; width:auto;}
.brand span.name{font-family:'Space Grotesk'; font-weight:700; font-size:17px;}
nav.links{display:flex; gap:34px; font-size:14px; font-weight:500; color:var(--ink-soft);}
nav.links a:hover{color:var(--ink);}
.btn{display:inline-flex; align-items:center; gap:8px; padding:11px 22px; border-radius:var(--radius); font-weight:600; font-size:14px; white-space:nowrap;}
.btn-primary{background:var(--ink); color:var(--sand);}
.btn-primary:hover{background:var(--sky-deep);}
.btn-ghost{border:1px solid var(--line-strong); color:var(--ink);}
.btn-ghost:hover{border-color:var(--ink);}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; padding:100px 0 0;}
.hero .wrap{position:relative; z-index:2;}
.eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; letter-spacing:0.06em; color:var(--sky-deep); background:rgba(46,95,138,0.08); border:1px solid rgba(46,95,138,0.18); padding:6px 14px; border-radius:999px; margin-bottom:24px;}
.hero h1{font-size:52px; line-height:1.1; max-width:660px; margin-bottom:22px;}
.hero p.lead{font-size:18px; color:var(--ink-soft); max-width:540px; margin-bottom:34px;}
.hero .cta-row{display:flex; gap:14px; align-items:center; margin-bottom:56px;}
.hero .btn-primary,.hero .btn-ghost{padding:14px 26px; font-size:15px;}

.arch-frieze{width:100%; height:64px; display:block;}

.stat-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--sand-2);}
.stat-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); padding:32px 32px;}
.stat{padding:0 24px; border-left:1px solid var(--line);}
.stat:first-child{border-left:none; padding-left:0;}
.stat .n{font-family:'Space Grotesk'; font-size:26px; font-weight:700;}
.stat .l{font-size:13px; color:var(--ink-soft); margin-top:6px;}

section{padding:100px 0;}
.section-head{max-width:600px; margin-bottom:56px;}
.section-head .kicker{font-size:12.5px; font-weight:600; letter-spacing:0.08em; color:var(--sky); text-transform:uppercase; margin-bottom:12px; display:block;}
.section-head h2{font-size:32px; margin-bottom:14px;}
.section-head p{color:var(--ink-soft); font-size:16px;}

/* expertise */
.expertise-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden;}
.expertise{background:var(--sand); padding:36px;}
.expertise .arch-icon{margin-bottom:20px;}
.expertise h3{font-size:18px; margin-bottom:10px; font-weight:600; font-family:'Inter';}
.expertise p{font-size:14.5px; color:var(--ink-soft); margin-bottom:16px;}
.expertise .roles{font-size:13px; color:var(--ink-faint); border-top:1px solid var(--line); padding-top:14px;}
.expertise .roles strong{color:var(--ink-soft); font-weight:600;}

/* why morocco */
.why{background:var(--ink); color:var(--sand);}
.why .section-head p{color:rgba(247,246,242,0.65);}
.why .section-head .kicker{color:#8FB6D6;}
.why-grid{display:grid; grid-template-columns:1.1fr 1fr; gap:60px; align-items:start;}
.why-list{display:flex; flex-direction:column; gap:28px;}
.why-item{display:flex; gap:16px;}
.why-item .mark{width:34px; height:34px; flex-shrink:0;}
.why-item h3{font-size:16px; margin-bottom:6px; font-weight:600; font-family:'Inter'; color:var(--sand);}
.why-item p{font-size:14px; color:rgba(247,246,242,0.6);}
.why-panel{border:1px solid rgba(247,246,242,0.16); border-radius:14px; padding:32px; background:rgba(247,246,242,0.03);}
.why-panel .row{display:flex; justify-content:space-between; align-items:baseline; padding:16px 0; border-bottom:1px solid rgba(247,246,242,0.12);}
.why-panel .row:last-child{border-bottom:none;}
.why-panel .row .k{font-size:13.5px; color:rgba(247,246,242,0.6);}
.why-panel .row .v{font-family:'Space Grotesk'; font-size:15px; font-weight:700; color:var(--sand);}

/* how we work */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:32px;}
.step .num{font-family:'Space Grotesk'; font-size:13px; font-weight:700; color:var(--sky); letter-spacing:0.06em; margin-bottom:14px;}
.step h3{font-size:16.5px; margin-bottom:10px;}
.step p{font-size:14px; color:var(--ink-soft);}

/* engagement models */
.model-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.model{border:1px solid var(--line); border-radius:16px; padding:32px; background:var(--sand);}
.model.featured{border-color:var(--ink);}
.model h3{font-size:18px; margin-bottom:10px;}
.model p.desc{font-size:14px; color:var(--ink-soft); margin-bottom:22px;}
.model ul{list-style:none; margin-bottom:26px;}
.model li{font-size:13.5px; color:var(--ink-soft); padding:9px 0; border-top:1px solid var(--line); display:flex; gap:9px; align-items:flex-start;}
.model li:first-child{border-top:none;}
.model li svg{flex-shrink:0; margin-top:3px;}
.model .btn{width:100%; justify-content:center;}

/* sectors */
.sectors{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--sand-2); padding:44px 0;}
.sectors .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px;}
.sectors .label{font-size:12px; letter-spacing:0.08em; color:var(--ink-faint); font-weight:600; text-transform:uppercase;}
.sectors .marks{display:flex; gap:32px; font-size:14px; font-weight:600; color:var(--ink-soft); flex-wrap:wrap;}

/* final cta */
.final-cta{text-align:left; background:var(--sand);}
.final-cta .box{border:1px solid var(--line); border-radius:20px; padding:56px; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.final-cta h2{font-size:28px; max-width:520px;}
.final-cta .cta-row{display:flex; gap:14px;}

footer{background:var(--ink); color:var(--sand); padding:64px 0 32px;}
.footer-top{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:40px; margin-bottom:48px;}
.footer-brand svg{height:20px; margin-bottom:14px;}
.footer-brand p{font-size:14px; color:rgba(247,246,242,0.6); max-width:300px;}
.footer-links{display:flex; gap:64px; flex-wrap:wrap;}
.footer-col h4{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(247,246,242,0.5); margin-bottom:14px; font-weight:600;}
.footer-col a,.footer-col p{display:block; font-size:14px; color:rgba(247,246,242,0.85); margin-bottom:10px;}
.footer-col-offices{min-width:190px;}
.offices-grid{display:grid; grid-template-columns:1fr 1fr; column-gap:20px;}
.offices-grid p{margin-bottom:10px; white-space:nowrap;}
.footer-bottom{border-top:1px solid rgba(247,246,242,0.14); padding-top:24px; display:flex; justify-content:space-between; font-size:12.5px; color:rgba(247,246,242,0.45); flex-wrap:wrap; gap:10px;}

@media (max-width:900px){
  .hero h1{font-size:36px;}
  .stat-strip .wrap{grid-template-columns:repeat(2,1fr); gap:20px 0;}
  .stat{border-left:none; padding-left:0;}
  .expertise-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr 1fr; gap:28px;}
  .model-grid{grid-template-columns:1fr;}
  .final-cta .box{flex-direction:column; align-items:flex-start;}
  nav.links{display:none;}
}
