:root { --ink:#151817; --paper:#f6f5f1; --lime:#c8ff3d; --coral:#ff785e; --lavender:#a69bff; --line:rgba(21,24,23,.15); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; } a { color:inherit; text-decoration:none; } .page-glow { position:absolute; border-radius:50%; filter:blur(90px); opacity:.38; pointer-events:none; } .glow-one { width:390px;height:390px;background:var(--lime);right:-160px;top:240px; } .glow-two { width:280px;height:280px;background:var(--lavender);left:-160px;top:980px; }
.site-header { position:relative; z-index:2; height:88px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); } .brand { font-weight:800; letter-spacing:-.07em; font-size:21px; display:flex; align-items:center; gap:8px; }.brand-mark { display:grid; place-items:center; width:25px;height:25px; background:var(--ink); color:var(--lime); border-radius:7px; font-size:15px; letter-spacing:-.12em; } nav { display:flex; gap:31px; font-size:13px; font-weight:600; } nav a { opacity:.75; } nav a:hover { opacity:1; }.header-cta { font-size:13px;font-weight:700; }.header-cta span { color:#7e7a71;font-size:18px;margin-left:3px; }
.hero { position:relative; min-height:650px; padding:112px 5vw 84px; } .eyebrow { text-transform:uppercase; letter-spacing:.13em; font-family:'DM Mono',monospace; font-size:10px; font-weight:500; }.pulse { display:inline-block;width:7px;height:7px;border-radius:50%;background:#77ad00;margin-right:8px;box-shadow:0 0 0 5px rgba(119,173,0,.13); }.hero h1 { position:relative;z-index:1; max-width:870px; margin:20px 0 25px; font-size:clamp(55px,7.8vw,120px); line-height:.93; letter-spacing:-.075em; font-weight:800; }.hero h1 em,.vision h2 em { font-family:Georgia,serif;font-weight:400;letter-spacing:-.08em; }.hero-copy { max-width:440px;line-height:1.65;font-size:15px; }.hero-actions { display:flex; align-items:center; gap:27px;margin-top:31px; }.button { padding:15px 20px;border-radius:99px;font-size:13px;font-weight:700;display:inline-flex;gap:25px;align-items:center; }.button-dark {background:var(--ink);color:#fff;}.button span {font-size:18px;line-height:10px;}.text-link {font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:3px;}.text-link span {margin-left:7px;}.hero-orbit { position:absolute;width:410px;height:410px;right:4vw;bottom:27px; }.orbit {position:absolute;border:1px solid rgba(21,24,23,.18);border-radius:50%;}.orbit-outer {inset:0;}.orbit-mid {inset:68px;transform:rotate(-28deg);border-style:dashed;}.orbit-center {position:absolute;inset:142px;background:var(--coral);border-radius:50%;display:grid;place-items:center;font-size:54px;font-weight:800;letter-spacing:-.13em;transform:rotate(-12deg);}.orbit-dot {position:absolute;width:20px;height:20px;border-radius:50%;z-index:1;}.dot-a {background:var(--lime);top:45px;left:68px;}.dot-b {background:var(--lavender);right:35px;bottom:94px;}
.intro-band { background:var(--ink);color:#fff; padding:32px 5vw;display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:20px; }.intro-band p,.intro-band span {font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.11em;font-size:10px;opacity:.62;}.intro-band strong {font-size:16px;letter-spacing:-.03em;}
.products { padding:130px 5vw; }.section-heading { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:52px; }.section-heading h2,.vision h2,.cta-section h2 {font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.07em;margin:15px 0 0;}.section-heading>p {font-size:14px;line-height:1.6;max-width:325px;margin:0;}.product-grid { display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;}.product-card {min-height:460px;border-radius:20px;padding:21px;display:flex;flex-direction:column;overflow:hidden;}.desk-card {background:#d8ff6f;}.pro-card {background:#d4ceff;}.suit-card {background:#ffb59f;}.card-top {display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;}.product-status {opacity:.65;}.app-window {margin:auto;width:87%;box-shadow:0 18px 40px rgba(34,42,13,.15);border:1px solid rgba(21,24,23,.14);border-radius:11px;background:#fbfbf8;}.desk-window {height:190px;display:flex;overflow:hidden;}.window-sidebar {background:#1e2923;width:37px;padding:15px 10px;display:flex;flex-direction:column;gap:13px;}.window-sidebar i {width:16px;height:4px;border-radius:4px;background:rgba(255,255,255,.28);}.window-sidebar i:first-child {background:#d8ff6f;}.window-content {padding:22px;color:#273229;display:flex;flex-direction:column;gap:8px;font-size:9px;}.window-content b {font-size:15px;line-height:1.2;max-width:150px;}.mini-rows {display:flex;gap:5px;margin-top:8px;}.mini-rows i {height:37px;width:45px;background:#e6ebdf;border-radius:5px;}.pro-window {height:160px;padding:20px 18px;color:#222039;}.pro-window p {font-size:11px;font-weight:700;margin:0;}.chart {height:78px;display:flex;align-items:flex-end;gap:7px;padding-top:14px;border-bottom:1px solid #dad7f2;}.chart i {width:12%;background:#5e52dd;border-radius:4px 4px 0 0;}.chart i:nth-child(1){height:28%;}.chart i:nth-child(2){height:47%;}.chart i:nth-child(3){height:38%;}.chart i:nth-child(4){height:67%;}.chart i:nth-child(5){height:55%;}.chart i:nth-child(6){height:88%;}.chart i:nth-child(7){height:72%;}.chart-labels {font-size:8px;display:flex;justify-content:space-between;color:#79768d;margin-top:7px;}.suit-shape {margin:auto;position:relative;width:180px;height:170px;}.suit-shape span {position:absolute;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;font-size:38px;font-weight:500;}.suit-shape span:nth-child(1){background:#ff755d;left:0;top:24px;}.suit-shape span:nth-child(2){background:#ffe3da;right:0;top:0;}.suit-shape span:nth-child(3){background:#242824;color:#d8ff6f;bottom:0;right:25px;}.product-card-bottom {display:flex;gap:15px;justify-content:space-between;align-items:flex-end;}.product-name {font-family:'DM Mono',monospace;margin:0 0 9px;font-size:11px;letter-spacing:.04em;}.product-name b {font-weight:500;}.product-card h3 {font-size:18px;letter-spacing:-.05em;line-height:1.15;margin:0;max-width:260px;}.product-card-bottom>a {width:39px;height:39px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none;font-size:19px;}
.vision {padding:110px 5vw;background:#e9e6dc;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:end;}.vision-stamp {font-size:38px;line-height:.75;font-weight:800;letter-spacing:-.13em;background:var(--ink);color:var(--lime);width:85px;height:85px;border-radius:13px;padding:13px;}.vision>p {font-size:14px;line-height:1.75;margin:0;}.cta-section {padding:137px 5vw;text-align:center;background:var(--ink);color:#fff;}.cta-section .eyebrow {color:var(--lime);}.cta-section h2 {margin:18px auto 32px;}.button-light {background:var(--lime);color:var(--ink);}.button-light:hover,.button-dark:hover,.product-card-bottom>a:hover {transform:translateY(-2px);}.button,.product-card-bottom>a {transition:transform .2s ease;}
.active { opacity:1; position:relative; }.active:after { content:""; position:absolute; left:0; right:0; bottom:-7px; height:1px; background:var(--ink); }
.page-hero { padding:118px 5vw 92px; max-width:1100px; }.page-hero h1,.contact-layout h1,.legal-page h1 { font-size:clamp(52px,7.5vw,105px); line-height:.93; letter-spacing:-.075em; margin:19px 0 25px; }.page-hero h1 em,.contact-layout h1 em { font-family:Georgia,serif; font-weight:400; }.page-hero>p:last-child { max-width:500px; font-size:16px; line-height:1.65; }.product-detail { padding:85px 5vw; display:grid; grid-template-columns:90px 1fr 1fr; gap:4vw; align-items:center; border-top:1px solid var(--line); }.detail-number { font:500 11px 'DM Mono',monospace; align-self:start; }.product-detail h2 { font-size:clamp(34px,4vw,58px); letter-spacing:-.07em; line-height:.98; margin:14px 0 20px; max-width:470px; }.detail-copy { max-width:440px; font-size:14px; line-height:1.7; }.product-detail ul { list-style:none; padding:0; margin:27px 0; font-size:13px; line-height:1.8; }.product-detail li:before { content:"↗"; color:#6b9900; margin-right:10px; }.detail-visual { min-height:360px; display:grid; place-items:center; border-radius:18px; overflow:hidden; }.visual-desk { background:#d8ff6f; }.visual-pro { background:#d4ceff; }.visual-suit { background:#ffb59f; }.big-window { width:78%; height:228px; background:#fff; box-shadow:0 25px 55px rgba(35,48,19,.15); border-radius:13px; overflow:hidden; display:flex; }.big-window aside { width:46px; padding:20px 13px; background:#1d2822; color:var(--lime); font-weight:800; font-size:17px; display:flex; flex-direction:column; gap:15px; }.big-window aside i { width:18px; height:4px; border-radius:2px; background:#657069; }.big-window article { padding:35px 27px; color:#273229; display:flex; flex-direction:column; gap:9px; }.big-window small,.pro-panel small { font-size:10px; }.big-window b,.pro-panel b { font-size:20px; line-height:1.15; letter-spacing:-.05em; max-width:180px; }.big-window article div { display:flex; gap:6px; margin-top:12px; }.big-window article div i { width:47px; height:44px; border-radius:5px; background:#e9eee6; }.pro-panel { width:78%; padding:27px; border-radius:13px; background:#fafaff; color:#24213f; box-shadow:0 25px 55px rgba(48,41,105,.15); display:flex; flex-direction:column; gap:9px; }.large-chart { height:154px; display:flex; align-items:flex-end; gap:9px; margin-top:13px; padding-top:15px; border-bottom:1px solid #dad7f2; }.large-chart i { background:#6256d8; width:11%; border-radius:5px 5px 0 0; }.large-chart i:nth-child(1){height:32%}.large-chart i:nth-child(2){height:45%}.large-chart i:nth-child(3){height:41%}.large-chart i:nth-child(4){height:66%}.large-chart i:nth-child(5){height:57%}.large-chart i:nth-child(6){height:91%}.large-chart i:nth-child(7){height:74%}
.vision-hero { background:linear-gradient(120deg,#f6f5f1 46%,#e0ffd0); max-width:none; }.manifesto { padding:120px 5vw; }.manifesto-lead { max-width:850px; font-size:clamp(34px,4.4vw,65px); line-height:1.05; letter-spacing:-.07em; margin:0 0 85px; }.principles { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.principles article { padding:26px 30px 15px 0; border-right:1px solid var(--line); margin-right:27px; }.principles article:last-child { border:0; }.principles span { font:10px 'DM Mono',monospace; }.principles h2 { font-size:23px; line-height:1.08; letter-spacing:-.05em; }.principles p { font-size:13px; line-height:1.7; max-width:260px; }.quote-panel { background:var(--lime); padding:105px 15vw; text-align:center; }.quote-panel span { font:90px Georgia,serif; line-height:.5; }.quote-panel p { max-width:800px; margin:15px auto 0; font-size:clamp(32px,4vw,57px); line-height:1.08; letter-spacing:-.06em; }
.contact-layout { padding:110px 12vw; display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:start; }.contact-layout>div>p:not(.eyebrow) { max-width:420px; line-height:1.7; font-size:15px; }.contact-mail { display:inline-block; margin-top:24px; font-size:17px; font-weight:700; border-bottom:1px solid; padding-bottom:5px; }.contact-mail span { margin-left:15px; }.contact-form { background:#e9e6dc; padding:29px; border-radius:18px; display:flex; flex-direction:column; gap:17px; }.contact-form label { display:flex; flex-direction:column; gap:7px; font-size:12px; font-weight:700; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid #cbc8bf; border-radius:7px; background:#f8f7f4; padding:12px; font:14px Manrope,sans-serif; color:var(--ink); resize:vertical; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:2px solid #b0e623; border-color:transparent; }.contact-form .button { align-self:flex-start; border:0; cursor:pointer; margin-top:4px; }.form-note { font-size:10px; line-height:1.5; color:#686861; margin:0; }.form-note a { text-decoration:underline; }
.legal-page { max-width:800px; padding:105px 5vw 120px; }.legal-page h1 { font-size:clamp(45px,6vw,83px); }.legal-page .updated { color:#74746e; font-size:12px; margin-bottom:70px; }.legal-page section { border-top:1px solid var(--line); padding:26px 0 20px; }.legal-page h2 { letter-spacing:-.05em; font-size:22px; margin:0 0 12px; }.legal-page section p { font-size:14px; line-height:1.75; max-width:650px; }.legal-page section a { text-decoration:underline; }
.site-footer { padding:48px 5vw; display:grid; grid-template-columns:1.5fr 1fr 1.25fr 1.35fr; gap:20px; align-items:start; font-size:11px; border-top:1px solid var(--line); }.site-footer p { color:#72746f; margin:11px 0 0; }.footer-links { display:flex; flex-direction:column; gap:10px; }.footer-links a,.footer-meta a { width:max-content; }.footer-links a:hover,.footer-meta a:hover { text-decoration:underline; }.footer-meta { justify-self:end; display:flex; flex-direction:column; gap:10px; color:#72746f; }.footer-meta a { color:var(--ink); }
@media (max-width:800px){.site-header{height:70px;padding:0 6vw}.site-header nav,.header-cta{display:none}.hero{padding:87px 6vw 48px;min-height:630px}.hero-orbit{transform:scale(.64);transform-origin:bottom right;right:-6vw;bottom:21px;opacity:.8}.hero h1{font-size:clamp(51px,15vw,76px)}.hero-copy{max-width:350px}.intro-band{padding:25px 6vw;grid-template-columns:1fr auto}.intro-band strong{grid-row:2;grid-column:1/3;font-size:14px}.products{padding:85px 6vw}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:23px}.product-grid{grid-template-columns:1fr;gap:12px}.product-card{min-height:385px}.vision{padding:80px 6vw;grid-template-columns:1fr;gap:25px}.vision-stamp{display:none}.cta-section{padding:90px 6vw}.site-footer{padding:34px 6vw;grid-template-columns:1fr 1fr;gap:28px}.footer-meta{justify-self:start}.desk-window{width:70%;}.pro-window{width:70%;}.page-hero{padding:78px 6vw 63px}.product-detail{padding:60px 6vw;grid-template-columns:35px 1fr;gap:18px}.product-detail .detail-visual{grid-column:1/3;min-height:280px}.product-detail .detail-number{grid-row:1}.product-detail>div:nth-child(2){grid-column:2}.manifesto{padding:78px 6vw}.manifesto-lead{margin-bottom:50px}.principles{grid-template-columns:1fr}.principles article{border-right:0;border-bottom:1px solid var(--line);margin:0;padding:25px 0}.quote-panel{padding:75px 8vw}.contact-layout{padding:76px 6vw;grid-template-columns:1fr;gap:42px}.legal-page{padding:78px 6vw}.legal-page .updated{margin-bottom:45px}}

/* Identités héritées directement des trois logiciels HANUP. */
.pro-card { background:#f5e1e3; }.suit-card { background:#0f172a; color:#fff; }.suit-card .product-card-bottom>a { background:#f97316; color:#0f172a; }.pro-window { color:#1a1a1a; }.pro-window .chart { border-color:#ead4d7; }.pro-window .chart i { background:#d4919a; }.pro-window .chart-labels { color:#8a7273; }.visual-pro { background:#f5e1e3; }.visual-suit { background:#0f172a; }.pro-panel { background:#fdf8f5; color:#1a1a1a; box-shadow:0 25px 55px rgba(119,73,79,.15); }.pro-panel .large-chart { border-color:#ead4d7; }.pro-panel .large-chart i { background:#d4919a; }.suit-shape span:nth-child(1) { background:#f97316; }.suit-shape span:nth-child(2) { background:#fff; color:#0f172a; }.suit-shape span:nth-child(3) { background:#334155; color:#f97316; }
