:root{
    --ink:#123138;
    --muted:#587077;
    --sea:#0e8e98;
    --deep:#06333c;
    --foam:#e9fbf8;
    --paper:#fff8ea;
    --sand:#f2dfbb;
    --orange:#ff7a24;
    --line:#153d44;
    --danger:#a23a2e;
    --ok:#0b6f59;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Verdana, Geneva, sans-serif;
    color:var(--ink);
    background:
        radial-gradient(circle at 18% 6%, rgba(255,122,36,.12), transparent 16rem),
        linear-gradient(180deg,#dff7f3 0,#fff9ec 24rem,#fff7e6 100%);
    line-height:1.55;
}
a{color:#075f68;text-decoration-thickness:2px;text-underline-offset:3px}
img{max-width:100%;height:auto}
.site-header{
    position:sticky;top:0;z-index:30;
    min-height:76px;
    display:flex;align-items:center;justify-content:space-between;gap:20px;
    padding:10px 4vw;
    background:rgba(245,255,252,.93);
    border-bottom:3px solid var(--line);
    box-shadow:0 4px 0 rgba(0,0,0,.05);
}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900;letter-spacing:.02em;text-transform:uppercase}
.brand img{width:92px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 0 rgba(0,0,0,.12))}
.site-header nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:.95rem}
.site-header nav a{text-decoration:none;color:var(--ink);border-bottom:2px solid transparent;padding:5px 0}
.site-header nav a:hover{border-bottom-color:var(--orange)}
.nav-cta{background:var(--orange);padding:8px 12px!important;border:2px solid var(--line)!important;color:white!important;box-shadow:3px 3px 0 var(--line)}
.page{width:min(1180px,92vw);margin:0 auto;padding:34px 0 80px}
.site-footer{border-top:3px solid var(--line);background:var(--deep);color:#dff7f3;padding:28px 4vw}.site-footer a{color:white}
.flash{width:min(1180px,92vw);margin:18px auto 0;padding:12px 16px;border:2px solid var(--line);background:#fff;box-shadow:4px 4px 0 rgba(0,0,0,.12)}
.flash.success{border-color:var(--ok)}.flash.error{border-color:var(--danger);color:var(--danger)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.05;color:var(--deep);margin:0 0 14px}h1{font-size:clamp(2.1rem,5vw,4.8rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.2rem}p{margin:0 0 14px}.small{font-size:.9rem;color:var(--muted)}.preline{white-space:pre-line}.meta,.eyebrow{color:var(--muted);font-size:.92rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--orange)}
.hero{position:relative;min-height:430px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px;padding:38px 34px;margin-bottom:30px;border:3px solid var(--line);background:linear-gradient(120deg,#ecfffa,#d4f4f2);box-shadow:8px 8px 0 rgba(6,51,60,.13);overflow:hidden}
.hero:before,.project-hero:before{content:"";position:absolute;left:-5%;right:-5%;bottom:-22px;height:72px;background:repeating-linear-gradient(-8deg,transparent 0 30px,rgba(14,142,152,.2) 31px 33px);transform:rotate(-1deg)}
.hero-water{position:absolute;inset:0;background:linear-gradient(160deg,rgba(14,142,152,.18),transparent 45%),radial-gradient(ellipse at 70% 20%,rgba(255,122,36,.17),transparent 22rem);pointer-events:none}
.hero-copy{position:relative;z-index:1}.hero-copy p{font-size:1.08rem;max-width:720px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.hero-mascot{position:relative;z-index:1;width:min(470px,100%);justify-self:end;transform:rotate(-2deg);filter:drop-shadow(9px 10px 0 rgba(0,0,0,.12))}
.button,button{display:inline-block;border:2px solid var(--line);background:#fff;color:var(--ink);padding:10px 15px;font-weight:800;text-decoration:none;box-shadow:3px 3px 0 var(--line);cursor:pointer;border-radius:0;font-family:inherit}.button:hover,button:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--line)}.button.primary,button.primary{background:var(--orange);color:white}.button.light{background:#eefdfb;color:var(--deep)}
.quick-search,.main-panel,.project-side,.side-note,.plan,.install,.narrow{background:rgba(255,255,255,.78);border:3px solid var(--line);box-shadow:6px 6px 0 rgba(0,0,0,.09);padding:24px;margin:0 0 32px}.quick-search label{font-weight:900;display:block;margin-bottom:8px}.search-line{display:flex;gap:10px}.search-line input{flex:1}
.section-split{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;margin:34px 0}.project-feed{display:grid;gap:14px}.project-row{border-left:5px solid var(--sea);border-bottom:2px solid rgba(21,61,68,.25);padding:12px 14px;background:rgba(255,255,255,.58)}.project-row strong{font-size:1.1rem}.project-row span{display:block;color:var(--muted);font-size:.9rem;margin-top:2px}.side-note{background:var(--paper)}.side-note ol{padding-left:22px}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.category-tile{display:block;padding:20px;border:2px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);box-shadow:4px 4px 0 rgba(0,0,0,.09)}.category-tile b{display:block}.category-tile span{color:var(--muted);font-size:.9rem}.category-tile:nth-child(3n+1){transform:rotate(-.4deg)}.category-tile:nth-child(3n+2){transform:rotate(.35deg)}
.form{display:grid;gap:16px}.form label{display:grid;gap:6px;font-weight:800}.form input,.form select,.form textarea,.filters input,.filters select{width:100%;border:2px solid var(--line);background:#fffaf0;padding:11px;font:inherit;border-radius:0}.form textarea{resize:vertical}.form fieldset{border:2px dashed var(--line);padding:16px}.form legend{font-weight:900;padding:0 8px}.radio,.check{display:flex!important;align-items:flex-start;gap:8px;font-weight:500!important}.radio input,.check input{width:auto!important;margin-top:4px}.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 14px}.check-grid label{display:flex!important;gap:6px;font-weight:500!important}.check-grid input{width:auto!important}.narrow{width:min(760px,100%);margin-left:auto;margin-right:auto}.narrow.wide{width:min(980px,100%)}.mini{background:#fff8ea;padding:12px;border:2px solid rgba(21,61,68,.35)}
.filters{display:grid;grid-template-columns:1.4fr .8fr .8fr auto;gap:10px;margin-top:18px}.project-list{display:grid;gap:18px}.project-card{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:start;border-top:3px solid var(--line);background:rgba(255,255,255,.68);padding:18px 0}.project-card h2{font-size:1.7rem;margin-bottom:8px}.project-thumb{width:220px;height:140px;object-fit:cover;border:2px solid var(--line);background:#dff7f3}.status-line{background:rgba(255,255,255,.7);padding:12px 0;border-bottom:2px solid rgba(21,61,68,.2)}.actions-bar{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.project-hero{position:relative;display:flex;justify-content:space-between;gap:20px;align-items:end;min-height:310px;padding:34px;border:3px solid var(--line);background:linear-gradient(120deg,var(--deep),var(--sea));background-size:cover;background-position:center;color:white;box-shadow:8px 8px 0 rgba(0,0,0,.12);overflow:hidden}.project-hero h1,.project-hero a{color:white}.project-hero .meta,.project-hero .eyebrow{color:#fff0d3}.project-hero form{position:relative;z-index:1}.tabs{display:flex;gap:0;margin:26px 0 0;border-bottom:3px solid var(--line)}.tabs a{padding:12px 18px;border:3px solid var(--line);border-bottom:0;margin-right:-3px;background:#fffaf0;color:var(--ink);text-decoration:none;font-weight:900}.tabs a.active{background:var(--orange);color:white}.project-layout{display:grid;grid-template-columns:1fr 310px;gap:26px}.main-panel,.project-side{margin-top:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.tags span{border:2px solid var(--line);background:#e7fffb;padding:6px 9px;font-weight:800;font-size:.9rem}.small-tags span{font-size:.78rem;padding:4px 7px}.inline-form{border-top:3px solid var(--line);padding-top:18px;margin-top:24px}.warning{border-left:5px solid var(--orange);padding-left:10px;font-weight:800}.application-row,.update-entry,.chat-message{border-bottom:2px solid rgba(21,61,68,.25);padding:16px 0}.actions-inline{display:flex;gap:10px;flex-wrap:wrap}.update-img{border:2px solid var(--line);max-height:360px;object-fit:contain;background:#fff;margin:10px 0}.chat-message strong{margin-right:12px}.chat-message span{color:var(--muted);font-size:.85rem}.profile-head{display:flex;align-items:center;gap:20px;margin-bottom:28px}.avatar{width:52px;height:52px;object-fit:cover;border:2px solid var(--line);background:#fff}.avatar.big{width:110px;height:110px}.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan{margin:0}.price{font-size:1.7rem;font-weight:900;color:var(--orange)}.install{width:min(780px,92vw);margin:34px auto}
@media (max-width:900px){.site-header{position:relative;align-items:flex-start;flex-direction:column}.hero,.section-split,.project-layout{grid-template-columns:1fr}.hero{min-height:0}.hero-mascot{justify-self:start}.category-grid,.plans{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.project-card{grid-template-columns:1fr}.project-thumb{width:100%;height:180px}.check-grid{grid-template-columns:1fr 1fr}.project-hero{display:block}.search-line{display:grid}.tabs{overflow-x:auto}}
@media (max-width:560px){.page{width:94vw;padding-top:18px}.hero,.quick-search,.main-panel,.project-side,.side-note,.plan,.narrow{padding:18px}.category-grid,.plans,.check-grid{grid-template-columns:1fr}.site-header nav{gap:10px;font-size:.86rem}.tabs a{padding:10px 12px}.project-hero{padding:22px}h1{font-size:2.15rem}}
.turnstile-wrap{margin:4px 0 6px;min-height:65px}.muted-link{margin-top:14px;font-size:.95rem}.muted-link a{font-weight:800;color:var(--deep)}code{background:#fff8ea;border:1px solid rgba(21,61,68,.35);padding:2px 5px}
/* V1.5 - accueil éditorial */
.home-landing{margin-bottom:36px}.home-landing .hero-copy p{font-size:1.08rem}.intro-manifesto{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;margin:36px 0;padding:30px 0;border-top:3px solid var(--line);border-bottom:3px solid var(--line)}.wave-title{position:relative;padding-left:18px}.wave-title:before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:6px;background:var(--orange)}.manifesto-text{font-size:1.04rem}.comic-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:36px 0}.comic-strip article{position:relative;min-height:210px;background:#fffdf4;border:3px solid var(--line);padding:48px 16px 18px;box-shadow:5px 5px 0 rgba(0,0,0,.11)}.comic-strip article:nth-child(odd){transform:rotate(-.45deg)}.comic-strip article:nth-child(even){transform:rotate(.35deg)}.comic-strip span{position:absolute;top:12px;left:14px;width:32px;height:32px;border:2px solid var(--line);background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:900}.comic-strip h3{font-size:1.28rem}.about-home{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start;margin:46px 0}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-columns article{border-left:5px solid var(--sea);border-bottom:2px solid rgba(21,61,68,.35);padding:0 0 14px 16px;background:transparent}.home-cta{margin:42px 0 0;padding:28px 30px;background:var(--deep);color:#e9fbf8;border:3px solid var(--line);box-shadow:7px 7px 0 rgba(0,0,0,.14)}.home-cta h2{color:white}.home-cta p{max-width:760px}.home-cta .button{margin-top:10px}
@media (max-width:900px){.intro-manifesto,.about-home{grid-template-columns:1fr}.comic-strip{grid-template-columns:1fr 1fr}.about-columns{grid-template-columns:1fr}}
@media (max-width:560px){.comic-strip{grid-template-columns:1fr}.intro-manifesto{gap:18px;padding:22px 0}.home-cta{padding:22px}.comic-strip article{min-height:auto}.about-home{gap:18px}}
