
:root{--bg:#f5f7fb;--ink:#071323;--muted:#68768a;--line:rgba(7,19,35,.085);--surface:rgba(255,255,255,.84);--blue:#1769ff;--cyan:#20c7f7;--shadow:0 30px 80px rgba(26,49,82,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:var(--ink);background:radial-gradient(900px 500px at 85% -10%,rgba(32,199,247,.14),transparent 65%),radial-gradient(760px 520px at 4% 12%,rgba(23,105,255,.11),transparent 62%),var(--bg)}a{color:inherit;text-decoration:none}.wrap{width:min(1220px,90vw);margin:auto}
nav{position:sticky;top:0;z-index:40;padding:16px 0;background:rgba(245,247,251,.76);backdrop-filter:blur(24px);border-bottom:1px solid var(--line)}.navin{width:min(1220px,90vw);margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;font-weight:850;font-size:20px}.brandmark{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#20c7f7,#1769ff 70%);display:grid;place-items:center;color:#fff;box-shadow:0 12px 30px rgba(23,105,255,.25)}.navlinks{display:flex;gap:26px;align-items:center;font-size:14px;color:#34465f}.navcta{padding:10px 14px;border-radius:12px;background:#071323;color:#fff}
.hero{min-height:78vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:68px;padding:68px 0 90px}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);font-weight:800}h1{font-size:clamp(58px,7.6vw,104px);line-height:.92;letter-spacing:-.066em;margin:15px 0 28px}.lead{font-size:21px;line-height:1.58;color:var(--muted);max-width:690px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{padding:13px 17px;border-radius:13px;font-weight:720;font-size:14px}.primary{background:var(--ink);color:#fff}.secondary{background:#fff;border:1px solid var(--line)}
.hero-visual{position:relative;height:560px}.ring{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:410px;height:410px;border-radius:50%;background:conic-gradient(from 210deg,#1769ff,#20c7f7,#7c3aed,#1769ff);filter:drop-shadow(0 38px 70px rgba(23,105,255,.26));animation:drift 7s ease-in-out infinite}.ring:before{content:"";position:absolute;inset:42px;background:var(--bg);border-radius:50%}.ring:after{content:"";position:absolute;inset:130px;border-radius:50%;background:linear-gradient(145deg,#1769ff,#20c7f7);box-shadow:0 0 75px rgba(32,199,247,.5)}.hero-e{position:absolute;inset:0;display:grid;place-items:center;font-size:160px;font-weight:900;color:white;z-index:2}.floatcard{position:absolute;padding:14px 16px;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.72);backdrop-filter:blur(20px);border-radius:18px;box-shadow:var(--shadow);font-size:13px;font-weight:760}.fc1{top:70px;right:0}.fc2{bottom:75px;left:5px}.fc3{bottom:25px;right:45px}@keyframes drift{50%{transform:translate(-50%,-53%) rotate(4deg)}}
.section{padding:50px 0 90px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px}h2{font-size:46px;line-height:1;letter-spacing:-.045em;margin:0}.section-head p{max-width:510px;color:var(--muted);line-height:1.6}.apps{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.appcard{grid-column:span 4;min-height:350px;border-radius:28px;padding:26px;background:var(--surface);border:1px solid rgba(255,255,255,.95);box-shadow:0 20px 60px rgba(26,49,82,.075);position:relative;overflow:hidden;transition:.28s}.appcard:nth-child(1),.appcard:nth-child(4){grid-column:span 7}.appcard:nth-child(2),.appcard:nth-child(5){grid-column:span 5}.appcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.appcard:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;top:-90px;background:radial-gradient(circle,var(--a2),transparent 67%);opacity:.22}.appicon{width:76px;height:76px;border-radius:21px;background:linear-gradient(145deg,var(--a),var(--a2));display:grid;place-items:center;color:white;font-size:34px;font-weight:850}.appeyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--a);margin-top:25px}.appcard h3{font-size:28px;letter-spacing:-.035em;margin:8px 0 9px}.appcard p{color:var(--muted);line-height:1.55;max-width:570px}.arrow{position:absolute;left:26px;bottom:25px;font-weight:800}
.philosophy{margin:10px 0 90px;border-radius:38px;padding:80px 7vw;background:linear-gradient(135deg,#071323,#0b2856 56%,#1769ff);color:#fff;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.philosophy h2{font-size:58px}.philosophy p{font-size:19px;color:#c4d5ec;line-height:1.65}.pillrow{display:flex;flex-wrap:wrap;gap:10px}.pill{padding:10px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);font-size:13px}footer{border-top:1px solid var(--line);padding:35px 0 48px;color:#7b8797;font-size:13px}.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.product-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center;padding:86px 0 60px}.product-hero h1{font-size:clamp(62px,7vw,94px)}.product-icon{justify-self:center;width:300px;height:300px;border-radius:72px;background:linear-gradient(145deg,var(--a),var(--a2));display:grid;place-items:center;color:#fff;font-size:128px;font-weight:900;box-shadow:0 38px 80px color-mix(in srgb,var(--a) 28%,transparent)}.featuregrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 76px}.feature{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;min-height:120px;font-weight:700;line-height:1.45}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;margin:25px 0 80px}.story p{font-size:20px;line-height:1.7;color:#526176;margin-top:0}.screens{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:25px 0 86px}.screen{aspect-ratio:16/10;border-radius:26px;border:1px solid var(--line);background:#fff;box-shadow:0 22px 60px rgba(26,49,82,.08);overflow:hidden;padding:17px}.screenbar{height:28px;border-radius:12px;background:linear-gradient(90deg,#edf1f6,#f8fafc);margin-bottom:15px;display:flex;align-items:center;padding:0 10px;gap:6px}.dot{width:7px;height:7px;border-radius:50%;background:#c7d0db}.mock{height:calc(100% - 43px);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--a) 13%,#fff),#f8fbff);display:grid;grid-template-columns:80px 1fr;gap:12px;padding:12px}.side{border-radius:12px;background:rgba(255,255,255,.82)}.content{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.tile{border-radius:12px;background:rgba(255,255,255,.92);border:1px solid rgba(20,40,70,.05)}.note{font-size:13px;color:#8290a3;margin-top:-60px;margin-bottom:80px}
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:95px 0}.contact h1{font-size:78px}.contactcard{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin:8px 0}input,textarea{width:100%;font:inherit;padding:14px 15px;border:1px solid #dce4ee;border-radius:12px;background:#fbfcfe;margin-bottom:16px}textarea{min-height:150px;resize:vertical}button{border:0;background:var(--ink);color:#fff;border-radius:12px;padding:14px 18px;font-weight:760}
@media(max-width:900px){.navlinks a:not(.navcta){display:none}.hero,.product-hero,.story,.contact,.philosophy{grid-template-columns:1fr}.hero-visual{height:420px}.ring{width:310px;height:310px}.ring:after{inset:100px}.apps{grid-template-columns:1fr}.appcard,.appcard:nth-child(n){grid-column:auto}.featuregrid{grid-template-columns:repeat(2,1fr)}.screens{grid-template-columns:1fr}.product-icon{justify-self:start}}@media(max-width:560px){h1{font-size:56px}.hero{padding-top:48px}.hero-visual{height:330px}.floatcard{display:none}.section-head{display:block}.featuregrid{grid-template-columns:1fr}.philosophy{padding:55px 28px}.philosophy h2{font-size:42px}.contact h1{font-size:58px}}

/* V3: real brand and app assets */
.brand-logo{height:42px;width:auto;display:block}
.real-appicon{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(24,42,70,.16))}
.product-real-icon{width:300px;height:300px;object-fit:contain;filter:drop-shadow(0 34px 48px rgba(24,42,70,.22))}
.hero-logo-wrap{height:560px;display:grid;place-items:center;position:relative}
.hero-logo-wrap:before{content:"";position:absolute;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(32,199,247,.18),rgba(23,105,255,.07) 45%,transparent 70%);animation:v3glow 7s ease-in-out infinite}
.hero-logo{width:min(500px,90%);height:auto;position:relative;z-index:2;filter:drop-shadow(0 28px 45px rgba(23,105,255,.14))}
.solar-placeholder{opacity:.78}
.icon-note{font-size:12px;color:#8a96a7;margin-top:8px}
@keyframes v3glow{50%{transform:translateY(-12px) scale(1.04)}}
@media(max-width:900px){.hero-logo-wrap{height:400px}.product-real-icon{width:240px;height:240px}}

/* V4 */
.screen.real{padding:0;background:#fff}
.screen.real img{width:100%;height:100%;object-fit:cover;display:block}
.appcard.exacart-card{--a:#0ea5e9;--a2:#14b8a6}

/* V5 — ExaCart real iPhone screenshots */
.phone-screens{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;align-items:start;margin:28px 0 90px}
.phone-shot{display:block;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 55px rgba(26,49,82,.14);transition:.25s}
.phone-shot:hover{transform:translateY(-5px);box-shadow:0 30px 68px rgba(26,49,82,.19)}
.phone-shot img{display:block;width:100%;height:auto}
@media(max-width:900px){.phone-screens{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.phone-screens{grid-template-columns:1fr}}

/* V7 — platform identification + App Store CTA */
.platform{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(7,19,35,.06);font-size:12px;font-weight:800;margin-top:10px}
.platform .apple{font-size:16px;line-height:1}
.storelink{display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border-radius:13px;background:#071323;color:#fff;font-size:13px;font-weight:760;margin-top:13px}
.storelink.pending{opacity:.58;cursor:default}
.appcard .platform{position:absolute;right:22px;bottom:21px;margin:0}
.product-platforms{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 4px}

/* V8 — expanded Examac portfolio */
.placeholder-appicon{width:84px;height:84px;border-radius:22px;display:grid;place-items:center;
 color:#fff;font-size:30px;font-weight:900;letter-spacing:-.05em;
 background:linear-gradient(145deg,var(--a),var(--a2));box-shadow:0 16px 35px color-mix(in srgb,var(--a) 28%,transparent)}
.placeholder-product-icon{width:300px;height:300px;border-radius:70px;display:grid;place-items:center;
 color:#fff;font-size:78px;font-weight:900;letter-spacing:-.06em;
 background:linear-gradient(145deg,var(--a),var(--a2));box-shadow:0 38px 80px color-mix(in srgb,var(--a) 28%,transparent)}
.platform-stack{position:absolute;right:22px;bottom:21px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.appcard .platform-stack .platform{position:static}
@media(max-width:900px){.placeholder-product-icon{width:240px;height:240px}}

/* V10 — privacy links + coming soon */
.cardlinks{position:absolute;left:26px;bottom:24px;display:flex;gap:15px;align-items:center;font-size:13px;font-weight:780}
.cardlinks .privacy-link{color:#66758a}
.cardlinks .privacy-link:hover{color:var(--blue)}
.coming-soon{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:12px;background:rgba(7,19,35,.07);color:#526176;font-size:13px;font-weight:780;margin-top:13px}
.legal{max-width:860px;margin:70px auto 100px}
.legal h1{font-size:64px}.legal h2{font-size:28px;margin:42px 0 14px}.legal p,.legal li{color:#536277;line-height:1.7}
.legal .updated{font-size:13px;color:#8a96a7;margin-bottom:40px}

/* V12 — animated Examac 3D emblem */
.hero-3d-wrap{
  height:560px;display:grid;place-items:center;position:relative;perspective:1100px;
}
.hero-3d-wrap:before{
  content:"";position:absolute;width:470px;height:470px;border-radius:50%;
  background:radial-gradient(circle,rgba(32,199,247,.17),rgba(23,105,255,.07) 48%,transparent 72%);
  animation:exaHalo 6s ease-in-out infinite;
}
.hero-3d{
  width:min(510px,92%);height:auto;position:relative;z-index:2;border-radius:34px;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 34px 34px rgba(19,78,170,.20));
  transform-origin:50% 58%;
  animation:exaFloat3D 6.5s ease-in-out infinite;
  will-change:transform,filter;
}
@keyframes exaFloat3D{
  0%,100%{transform:translateY(0) rotateX(0deg) rotateY(-2deg) rotateZ(0deg);filter:drop-shadow(0 34px 34px rgba(19,78,170,.20))}
  50%{transform:translateY(-16px) rotateX(2deg) rotateY(3deg) rotateZ(.7deg);filter:drop-shadow(0 46px 42px rgba(19,78,170,.27))}
}
@keyframes exaHalo{
  0%,100%{transform:scale(.96);opacity:.72}
  50%{transform:scale(1.05);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .hero-3d,.hero-3d-wrap:before{animation:none!important}
}
@media(max-width:900px){.hero-3d-wrap{height:410px}.hero-3d{width:min(420px,92%)}}

/* V13 — Examac identity: rotating 3D emblem, fixed company name */
.examac-brand-stage{
  height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  perspective:1200px;position:relative;isolation:isolate;
}
.examac-brand-stage:before{
  content:"";position:absolute;width:480px;height:300px;top:75px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(31,190,255,.20),rgba(23,105,255,.07) 48%,transparent 72%);
  filter:blur(8px);z-index:-1;
}
.examac-rotator{
  width:min(360px,70%);height:330px;display:grid;place-items:center;
  transform-style:preserve-3d;animation:exaTurn 12s ease-in-out infinite;
}
.examac-rotator img{
  width:100%;height:auto;border-radius:28px;mix-blend-mode:multiply;
  filter:drop-shadow(0 28px 24px rgba(17,79,175,.22));
  backface-visibility:visible;
}
.examac-wordmark{
  margin-top:-10px;text-align:center;line-height:1;position:relative;z-index:3;
}
.examac-name{
  font-size:clamp(66px,7vw,104px);font-weight:850;letter-spacing:-.065em;color:#071b35;
}
.examac-name .mac{color:#1168f5}
.examac-tagline{
  margin-top:16px;font-size:clamp(14px,1.5vw,22px);letter-spacing:.34em;
  color:#112c4d;font-weight:500;white-space:nowrap;
}
.examac-floor{
  width:330px;height:22px;margin-top:-145px;margin-bottom:123px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(15,105,235,.28),rgba(32,199,247,.10) 45%,transparent 72%);
  filter:blur(9px);animation:exaFloor 12s ease-in-out infinite;
}
@keyframes exaTurn{
  0%{transform:rotateY(-10deg) translateY(0)}
  25%{transform:rotateY(28deg) translateY(-8px)}
  50%{transform:rotateY(0deg) translateY(-13px)}
  75%{transform:rotateY(-28deg) translateY(-8px)}
  100%{transform:rotateY(-10deg) translateY(0)}
}
@keyframes exaFloor{
  0%,100%{transform:scaleX(.90);opacity:.62}
  50%{transform:scaleX(1.08);opacity:.90}
}
@media(prefers-reduced-motion:reduce){
 .examac-rotator,.examac-floor{animation:none!important}
}
@media(max-width:900px){
 .examac-brand-stage{height:500px}.examac-rotator{width:min(300px,72%);height:285px}
 .examac-floor{width:270px}.examac-tagline{letter-spacing:.23em}
}
@media(max-width:560px){
 .examac-brand-stage{height:430px}.examac-rotator{width:245px;height:235px}
 .examac-name{font-size:62px}.examac-tagline{font-size:11px;letter-spacing:.18em}
 .examac-floor{width:220px;margin-top:-110px;margin-bottom:92px}
}

/* V14 — Carto2D help access */
.manual-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 34px;margin:25px 0 70px;border-radius:26px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 45px rgba(26,49,82,.07)}
.manual-cta h2{font-size:27px;margin:0 0 12px}
.manual-cta p{color:var(--muted);line-height:1.55;margin:0}
.manual-cta .btn{flex-shrink:0}
@media(max-width:720px){.manual-cta{flex-direction:column;align-items:flex-start}}

/* V15 : Carto2D direct downloads */
.carto-download{background:#fff;border:1px solid var(--line);border-radius:30px;padding:38px;margin:15px 0 75px;box-shadow:0 18px 52px rgba(26,49,82,.07)}
.carto-download h2{font-size:38px;margin:12px 0}.carto-download p,.carto-download li{line-height:1.7;color:var(--muted)}
.carto-download .btn{display:inline-flex;margin:14px 0 22px}.carto-download h3{font-size:23px;margin-top:30px}
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 25px}
.download-grid a{display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#f7f9fc}
.download-grid a:hover{border-color:#1769ff;background:#eef5ff}.download-grid strong{font-size:17px}.download-grid span{color:var(--muted);font-size:13px}.download-grid small{color:#1769ff;font-weight:750}
.carto-download .distribution-warning{border-left:3px solid #d08b30;padding:12px 17px;background:#fff9f0;border-radius:6px;color:#745124}
@media(max-width:760px){.carto-download{padding:24px}.download-grid{grid-template-columns:1fr}}

.download-counter{font-size:15px;color:#536277;margin:18px 0 32px}
.download-counter strong{color:#1769ff}

/* V17 — captures réelles, proportions respectées */
.real-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.real-gallery .screen{height:auto;aspect-ratio:auto;padding:0;display:block;overflow:hidden}
.real-gallery .screen img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:720px){.real-gallery{grid-template-columns:1fr}}
