/* CRM Conseil — editorial bento grid, burgundy + warm grey, Space Grotesk / IBM Plex Sans, flat sharp corners. */
:root{
  --bg:#f3f0ed; --surface:#fff; --tile:#e7e2dd; --line:#cfc7c0; --ink:#26211f; --muted:#5b534f;
  --accent:#7b1e3a; --accent-hover:#5a1429; --accent-ink:#fff; --dark:#3b2a2f; --danger:#a3191f;
  --font-head:'Space Grotesk',system-ui,sans-serif; --font-body:'IBM Plex Sans',system-ui,sans-serif;
  --wrap:1120px; --gap:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--font-body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.dark :focus-visible,.accent :focus-visible,.band :focus-visible{outline-color:#fff}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:0}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.1;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(2.2rem,6vw,4.2rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.eyebrow{font:500 .8rem/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;display:block}
.dark .eyebrow,.accent .eyebrow{color:#f0d5dc}
.muted,.meta{color:var(--muted)}
.meta{font-size:.92rem}

/* header */
.top{background:var(--surface);border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:50}
.top-in{max-width:var(--wrap);margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
.brand{display:flex;align-items:center;gap:10px;font:700 1.2rem var(--font-head);color:var(--ink);text-decoration:none;margin-right:auto}
.top-act{display:flex;gap:10px;align-items:center}
.nav-toggle{background:none;border:2px solid var(--ink);color:var(--ink);padding:8px 14px;font:500 .95rem var(--font-body);cursor:pointer}
.nav{display:none;width:100%;order:3}
.nav.open{display:block}
.nav a{display:block;padding:12px 4px;color:var(--ink);text-decoration:none;border-top:1px solid var(--line)}
.nav a[aria-current=page]{color:var(--accent);font-weight:600}
.nav a:hover{color:var(--accent)}
@media(min-width:820px){
  .top-in{flex-wrap:nowrap}
  .nav-toggle{display:none}
  .nav{display:flex;width:auto;order:0;gap:6px}
  .nav a{border:0;padding:8px 12px}
  .brand{margin-right:0}
  .nav{margin-left:auto}
}

/* buttons */
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);font:600 1rem var(--font-body);padding:13px 24px;border:2px solid var(--accent);text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
.btn.sm{padding:8px 16px;font-size:.95rem}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.dark .btn{background:#fff;color:var(--accent);border-color:#fff}
.dark .btn:hover{background:var(--tile);border-color:var(--tile);color:var(--accent-hover)}
.dark .btn.ghost,.accent .btn.ghost{background:transparent;color:#fff;border-color:#fff}
.dark .btn.ghost:hover{background:#fff;color:var(--accent)}
.btn.light{background:#fff;color:var(--accent);border-color:#fff}
.btn.light:hover{background:var(--tile);border-color:var(--tile);color:var(--accent-hover)}
.btn[disabled]{background:var(--tile);border-color:#8a817b;color:#5b534f;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.2rem}

/* hero */
.hero{padding:40px 0 56px}
.hero-grid{display:grid;gap:var(--gap);align-items:stretch}
.hero-copy{padding:8px 0}
.hero h1{max-width:760px;letter-spacing:-.03em;line-height:1.04}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lead{font-size:1.15rem;max-width:620px;color:var(--muted)}
.hero-art{min-height:240px;overflow:hidden}
.hero-art svg{width:100%;height:100%}
@media(min-width:900px){.hero-grid{grid-template-columns:7fr 5fr}.hero{padding:64px 0 72px}}
.page-hero{padding:52px 0 36px;border-bottom:1px solid var(--line)}
.page-hero p{max-width:720px;color:var(--muted)}
section{padding:48px 0}
.notice{border:2px solid var(--accent);padding:12px 16px;margin:0 0 1.5rem;font-size:.95rem;background:var(--surface)}

/* bento tiles */
.tile{background:var(--surface);padding:28px;min-width:0}
.tile.dark{background:var(--dark);color:#fff}
.tile.accent{background:var(--accent);color:#fff}
.tile.band{background:var(--dark);color:#fff;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.tile.band h2{margin-bottom:.2em}.tile.band p{margin:0}
.tile.t-a,.tile.t-d{background:var(--tile)}
.dark a,.accent a{color:#fff}
.bento{display:grid;gap:var(--gap)}
@media(min-width:860px){
  .bento{grid-template-columns:repeat(12,1fr)}
  .t-a{grid-column:span 7}.t-b{grid-column:span 5}
  .t-c{grid-column:span 5}.t-d{grid-column:span 7}
}
.tile-foot{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.18)}
.dark .tile-foot{border-color:rgba(255,255,255,.3)}
.price{font:700 2.4rem/1.1 var(--font-head)}
.price.sm{font-size:1.7rem}
.price-note{font-size:.88rem;margin:.3em 0 0;opacity:.92}
.steps{padding-left:1.2em;margin:0}.steps li{margin-bottom:.7em}
.pbox{display:grid;gap:var(--gap);margin-bottom:32px}
.pbox .tagline{font:500 1.15rem var(--font-head);color:var(--accent)}
.pbox .accent .price-note{color:#fff}
@media(min-width:860px){
  .pbox{grid-template-columns:repeat(12,1fr)}
  .pbox .main{grid-column:span 8}
  .pbox .price-tile{grid-column:span 4;display:flex;flex-direction:column;justify-content:flex-end}
  .pbox>.tile:nth-child(3){grid-column:span 4}
  .pbox>.tile:nth-child(4){grid-column:span 4}
  .pbox>.tile:nth-child(5){grid-column:span 4}
  .pbox>.tile:nth-child(6){grid-column:span 12}
  .pbox.rev .main{grid-column:span 7;order:2}
  .pbox.rev .price-tile{grid-column:span 5;order:1}
  .pbox.quote .main{grid-column:span 8}
}
.pbox .tile:nth-child(n+3){background:var(--surface)}
.pbox .tile:nth-child(4){background:var(--tile)}
ul.ticks{list-style:none;padding:0;margin:0 0 1em}
ul.ticks li{padding:5px 0 5px 24px;position:relative}
ul.ticks li::before{content:"";position:absolute;left:0;top:17px;width:12px;height:3px;background:var(--accent)}
.dark ul.ticks li::before{background:#f0d5dc}
ul.cross li::before{background:var(--danger)}
.note{background:var(--tile)}
.card{background:var(--surface);border:2px solid var(--ink);padding:22px;margin-top:8px}
.cols{display:grid;gap:24px}

/* forms */
form{display:grid;gap:18px}
label{font-weight:500;display:block;margin-bottom:6px}
.req{color:var(--accent)}
input,select,textarea{width:100%;background:var(--surface);color:var(--ink);border:1px solid #6b625c;padding:12px 14px;font:inherit;border-radius:0}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--danger)}
.err{color:var(--danger);font-size:.9rem;margin-top:4px;display:none}
.field.invalid .err{display:block}
.grid2{display:grid;gap:18px}
@media(min-width:700px){.grid2{grid-template-columns:1fr 1fr}}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--accent)}
.check label{margin:0;font-weight:400}
.hp{position:absolute;left:-5000px}
.summary{background:var(--tile);padding:24px}
.summary .line{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.summary .line span:last-child{text-align:right}
.summary .total{font:700 1.4rem var(--font-head);border:0;padding-top:16px}
.form-status{padding:12px 16px;border:2px solid var(--ink);display:none;background:var(--surface)}
.form-status.show{display:block}
.form-status.bad{border-color:var(--danger);color:var(--danger)}
.form-status.good{border-color:var(--accent)}
.checkout{display:grid;gap:24px}
@media(min-width:960px){.checkout{grid-template-columns:1.6fr 1fr;align-items:start}.checkout aside{position:sticky;top:96px}}
fieldset{border:0;background:var(--surface);padding:24px;margin:0 0 var(--gap)}
legend{font:700 1.1rem var(--font-head);padding:0;color:var(--accent);float:left;width:100%;margin-bottom:14px}
legend+*{clear:both}

/* legal */
.legal{max-width:840px}
.legal h2{font-size:1.35rem;margin-top:2.2em}
.legal table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
.legal th,.legal td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}
.legal th{background:var(--tile)}
.tablewrap{overflow-x:auto}

/* footer */
.site-footer{background:var(--dark);color:#ece6e1;padding:48px 0 28px;font-size:.95rem;margin-top:24px}
.fgrid{display:grid;gap:32px}
@media(min-width:800px){.fgrid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer h4{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#d8cfc9}
.site-footer .muted{color:#d8cfc9}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:4px 0}
.site-footer a,.site-footer .linkbtn{color:#fff}
.site-footer a:hover,.site-footer .linkbtn:hover{color:#f0d5dc}
.copy{border-top:1px solid #5a474c;margin-top:32px;padding-top:20px;color:#d8cfc9}
.linkbtn{background:none;border:0;color:var(--ink);font:inherit;text-decoration:underline;cursor:pointer;padding:0;text-underline-offset:3px}
.legal .linkbtn{color:var(--accent)}

/* cookie banner */
#cc{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--surface);border-top:4px solid var(--accent);padding:18px 16px;display:none;max-height:90vh;overflow:auto}
#cc.show{display:block}
#cc .in{max-width:var(--wrap);margin:0 auto}
#cc p{margin:0 0 12px;font-size:.95rem}
#cc .acts{display:flex;flex-wrap:wrap;gap:10px}
#cc .acts .btn{flex:1 1 140px;padding:12px 16px}
#cc .acts .btn.ghost{color:var(--ink);border-color:var(--ink)}
#cc .prefs{display:none;margin:12px 0}
#cc .prefs.show{display:block}
#cc .prefs .check{padding:8px 0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
