/*
Theme Name: Axess Expertise
Theme URI: https://webdevo.fr
Author: Webdevo
Author URI: https://webdevo.fr
Description: Theme sur-mesure pour Axess Expertise Automobile — expert automobile a Bordeaux.
Version: 3.0.0
License: GNU General Public License v2 or later
Text Domain: axess
*/

:root {
  --ink:        #0D1B2E;   /* bleu nuit profond */
  --ink-2:      #122438;
  --navy:       #16314F;
  --navy-soft:  #1E3F63;
  --steel:      #2E5980;   /* bleu acier */
  --blue:       #1F8FD0;   /* bleu charte vif */
  --blue-bright:#36A9E1;
  --orange:     #F2911B;   /* orange charte franc */
  --orange-deep:#D97908;

  --bg:         #FFFFFF;
  --bg-2:       #F4F7FA;   /* gris bleute clair, pas beige */
  --bg-3:       #E9EEF4;
  --line:       #DEE6EE;
  --line-2:     #C8D4E0;

  --text:       #1F2A38;
  --text-soft:  #51606F;
  --text-mute:  #8493A3;

  --radius:     10px;      /* coins plus arrondis */
  --radius-sm:  7px;
  --radius-lg:  16px;
  --radius-pill:100px;

  --maxw: 1240px;
  --gutter: 2rem;

  /* Wide geometrique pour titres facon constructeur, sans en corps */
  --display: 'Saira', 'Arial Narrow', sans-serif;
  --sans:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  --ease: cubic-bezier(0.16, 0.84, 0.34, 1);
  --shadow-sm: 0 2px 8px rgba(13,27,46,.06);
  --shadow:    0 14px 40px rgba(13,27,46,.12);
  --shadow-lg: 0 28px 70px rgba(13,27,46,.20);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:var(--sans); color:var(--text); background:var(--bg); line-height:1.68; font-size:1.0625rem; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }

.wrap { max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.wrap--narrow { max-width:920px; }

h1,h2,h3,h4 { font-family:var(--display); color:var(--ink); line-height:1.04; font-weight:700; letter-spacing:-0.01em; text-transform:uppercase; }
h1 { font-size:clamp(2.2rem, 4vw, 3.2rem); }
h2 { font-size:clamp(1.7rem, 2.8vw, 2.5rem); }
h3 { font-size:1.3rem; letter-spacing:0; }
h4 { letter-spacing:.02em; }
p { margin-bottom:1.1rem; }
strong { font-weight:600; color:var(--ink); }

/* Kicker — petit titre technique */
.kicker { display:inline-flex; align-items:center; gap:.7rem; font-family:var(--display); font-weight:600; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-deep); margin-bottom:1.2rem; }
.kicker::before { content:""; width:30px; height:3px; background:var(--orange); border-radius:2px; }
.kicker--center { justify-content:center; }
.kicker--light { color:var(--orange); }

.section { padding:6rem 0; position:relative; }
.section--sm { padding:4rem 0; }
.section--bg2 { background:var(--bg-2); }
.section--ink { background:var(--ink); color:#AEBDCE; }
.section--ink h1,.section--ink h2,.section--ink h3 { color:#fff; }
.section--ink .text-soft { color:#9DB0C6; }

.lede { font-size:1.16rem; color:var(--text-soft); line-height:1.65; }
.section-head { max-width:680px; margin-bottom:3.2rem; }
.section-head.center { margin-inline:auto; text-align:center; }
.section-head h2 { margin-bottom:1rem; }

/* Buttons — solides, arrondis */
.btn { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--display); font-weight:600; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; padding:1rem 1.9rem; border-radius:var(--radius-sm); cursor:pointer; border:2px solid transparent; transition:all .3s var(--ease); }
.btn svg { width:17px; height:17px; fill:currentColor; }
.btn--orange { background:var(--orange); color:#fff; box-shadow:0 10px 26px rgba(242,145,27,.34); }
.btn--orange:hover { background:var(--orange-deep); transform:translateY(-2px); box-shadow:0 16px 34px rgba(242,145,27,.42); }
.btn--blue { background:var(--blue); color:#fff; }
.btn--blue:hover { background:var(--steel); transform:translateY(-2px); }
.btn--ghost { background:transparent; color:var(--ink); border-color:var(--line-2); }
.btn--ghost:hover { border-color:var(--ink); background:var(--ink); color:#fff; }
.btn--light { background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.btn--light:hover { background:#fff; color:var(--ink); border-color:#fff; }

.arrow-link { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--display); font-weight:600; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; color:var(--blue); transition:all .3s var(--ease); }
.arrow-link svg { width:16px; height:16px; fill:currentColor; transition:transform .3s var(--ease); }
.arrow-link:hover { color:var(--orange-deep); }
.arrow-link:hover svg { transform:translateX(4px); }

/* TOPBAR + HEADER */
.topbar { background:var(--ink); color:#90A0B3; font-size:.82rem; }
.topbar__in { display:flex; justify-content:space-between; align-items:center; min-height:42px; gap:1rem; }
.topbar__left { display:flex; gap:1.8rem; }
.topbar__item { display:inline-flex; align-items:center; gap:.45rem; }
.topbar__item svg { width:13px; height:13px; fill:var(--orange); }
.topbar__item a:hover { color:#fff; }
.topbar__tag { font-family:var(--display); letter-spacing:.12em; text-transform:uppercase; font-size:.74rem; font-weight:500; color:var(--blue-bright); }

.header { position:sticky; top:0; z-index:1000; background:#fff; border-bottom:1px solid var(--line); transition:box-shadow .3s var(--ease); }
.header.scrolled { box-shadow:0 6px 24px rgba(13,27,46,.08); }
.header__in { display:flex; align-items:center; justify-content:space-between; min-height:80px; gap:2rem; }

.brand { display:flex; align-items:center; gap:.85rem; flex-shrink:0; }
.brand img { height:64px; width:auto; }
.brand__mark { display:flex; flex-direction:column; line-height:1; }
.brand__name { font-family:var(--display); font-weight:800; font-size:1.6rem; color:var(--ink); letter-spacing:.06em; }
.brand__name b { color:var(--blue); font-weight:800; }
.brand__sub { font-family:var(--display); font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--text-mute); margin-top:4px; font-weight:500; }

.nav { display:flex; align-items:center; gap:.3rem; }
.nav > a, .nav__has > a { font-family:var(--display); font-weight:600; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; color:var(--text); padding:.6rem .9rem; border-radius:var(--radius-sm); transition:color .25s; position:relative; display:inline-flex; align-items:center; gap:.35rem; }
.nav > a:hover, .nav__has:hover > a { color:var(--blue); }
.nav > a.current { color:var(--blue); }
.nav > a.current::after { content:""; position:absolute; bottom:-1px; left:.9rem; right:.9rem; height:3px; background:var(--orange); border-radius:2px; }
.nav__has { position:relative; }
.nav__has > a svg { width:11px; height:11px; fill:currentColor; transition:transform .25s; }
.nav__has:hover > a svg { transform:rotate(180deg); }
.nav__sub { position:absolute; top:calc(100% + 8px); left:50%; transform:translateX(-50%) translateY(8px); background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:.5rem; min-width:280px; opacity:0; visibility:hidden; transition:all .28s var(--ease); }
.nav__has:hover .nav__sub { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.nav__sub a { display:block; padding:.75rem .95rem; border-radius:var(--radius-sm); font-size:.95rem; font-weight:600; color:var(--text); transition:background .2s; }
.nav__sub a span { display:block; font-size:.8rem; color:var(--text-mute); font-weight:400; margin-top:1px; text-transform:none; letter-spacing:0; font-family:var(--sans); }
.nav__sub a:hover { background:var(--bg-2); color:var(--blue); }

.header__cta { display:flex; align-items:center; gap:1rem; flex-shrink:0; }
.header__phone { font-family:var(--display); font-size:1.05rem; color:var(--ink); font-weight:700; display:inline-flex; align-items:center; gap:.5rem; letter-spacing:.02em; }
.header__phone svg { width:16px; height:16px; fill:var(--orange); }

.burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.burger span { width:26px; height:2.5px; background:var(--ink); border-radius:2px; transition:.3s; }
.mobile { display:none; position:fixed; inset:0; background:var(--ink); z-index:1100; padding:5.5rem 2rem 2rem; flex-direction:column; overflow-y:auto; }
.mobile.open { display:flex; }
.mobile a { font-family:var(--display); font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:1.4rem; color:#fff; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.1); }
.mobile a.sub { font-size:1rem; padding-left:1rem; color:#9DB0C6; }
.mobile .btn { margin-top:1.8rem; justify-content:center; }
.mobile__close { position:absolute; top:1.5rem; right:1.5rem; background:none; border:none; font-size:2.4rem; line-height:1; cursor:pointer; color:#fff; }

/* HERO */
.hero { position:relative; background:var(--ink); color:#fff; overflow:hidden; }
.hero__bg { position:absolute; inset:0; z-index:0; }
.hero__bg img { width:100%; height:100%; object-fit:cover; opacity:.32; }
.hero__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(95deg, var(--ink) 12%, rgba(13,27,46,.78) 55%, rgba(13,27,46,.45) 100%); }
.hero__ph { position:absolute; inset:0; background:
  radial-gradient(circle at 80% 20%, rgba(31,143,208,.22), transparent 55%),
  linear-gradient(125deg, var(--ink), var(--ink-2) 65%, var(--navy)); }
.hero__streak { position:absolute; z-index:1; right:-8%; top:0; bottom:0; width:48%; background:linear-gradient(115deg, transparent, rgba(31,143,208,.08)); transform:skewX(-12deg); }
.hero__in { position:relative; z-index:2; padding:6.5rem 0 9rem; max-width:860px; }
.hero__label { display:inline-block; font-family:var(--display); font-weight:700; font-size:1rem; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--orange); padding:.7rem 1.5rem; border-radius:var(--radius-pill); margin-bottom:2rem; box-shadow:0 8px 24px rgba(242,145,27,.3); }
.hero h2 { color:#fff; font-size:clamp(2rem, 3.4vw, 3rem); line-height:1.05; margin-bottom:1.6rem; max-width:24ch; }
.hero h2 em { font-style:normal; color:var(--orange); }
.hero h2 .b { color:var(--blue-bright); }
.hero__lede { font-size:1.22rem; color:#C2CEDD; max-width:56ch; margin-bottom:2.4rem; line-height:1.6; }
.hero__actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* FEATURE STRIP — chevauche le hero, petits logos, arrondis */
.featband { position:relative; z-index:5; margin-top:-5rem; }
.featband__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.feat { background:#fff; border-radius:var(--radius); padding:1.9rem 1.6rem; box-shadow:var(--shadow); transition:all .35s var(--ease); border-bottom:4px solid var(--orange); }
.feat:nth-child(even){ border-bottom-color:var(--blue); }
.feat:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.feat__ic { width:48px; height:48px; border-radius:var(--radius-sm); background:var(--ink); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
.feat__ic svg { width:24px; height:24px; fill:var(--orange); }
.feat:nth-child(even) .feat__ic svg { fill:var(--blue-bright); }
.feat h3 { font-size:1.1rem; margin-bottom:.4rem; }
.feat p { font-size:.9rem; color:var(--text-soft); margin:0; line-height:1.55; }

/* PAGE HERO */
.phero { position:relative; background:var(--ink); color:#fff; padding:6.5rem 0 5rem; overflow:hidden; }
.phero__bg { position:absolute; inset:0; z-index:0; }
.phero__bg img { width:100%; height:100%; object-fit:cover; opacity:.22; }
.phero__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(95deg, var(--ink) 22%, rgba(13,27,46,.7)); }
.phero__streak { position:absolute; z-index:1; right:-8%; top:0; bottom:0; width:46%; background:linear-gradient(115deg, transparent, rgba(31,143,208,.08)); transform:skewX(-12deg); }
.phero__in { position:relative; z-index:2; max-width:800px; }
.phero h1 { color:#fff; margin-bottom:1.2rem; }
.phero h1 em { font-style:normal; color:var(--orange); }
.phero__lede { font-size:1.18rem; color:#C2CEDD; max-width:60ch; }

/* CONTENT */
.prose p { font-size:1.07rem; margin-bottom:1.25rem; color:var(--text-soft); }
.prose strong { color:var(--ink); }

/* Contenu générique (pages légales, contenu plugin) */
.page-content h2 { font-size:1.6rem; margin:2.2rem 0 1rem; }
.page-content h3 { font-size:1.25rem; margin:1.8rem 0 .8rem; }
.page-content h4 { font-size:1.05rem; margin:1.5rem 0 .6rem; }
.page-content p { font-size:1.05rem; margin-bottom:1.2rem; color:var(--text-soft); }
.page-content ul, .page-content ol { margin:0 0 1.2rem 1.4rem; color:var(--text-soft); }
.page-content ul { list-style:disc; }
.page-content ol { list-style:decimal; }
.page-content li { margin-bottom:.5rem; padding-left:.3rem; }
.page-content a { color:var(--blue); border-bottom:1px solid transparent; transition:border-color .2s; }
.page-content a:hover { border-bottom-color:var(--blue); }
.page-content strong { color:var(--ink); }
.page-content table { width:100%; border-collapse:collapse; margin:1.5rem 0; }
.page-content th, .page-content td { border:1px solid var(--line); padding:.7rem 1rem; text-align:left; }
.page-content th { background:var(--bg-2); font-weight:600; color:var(--ink); }

.split { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; align-items:center; }
.split--text-left { grid-template-columns:1.05fr .95fr; }
.split--media-left { grid-template-columns:.95fr 1.05fr; }
.figure { position:relative; }
.figure__img { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--bg-2); border-radius:var(--radius); box-shadow:var(--shadow); }
.figure__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.figure__ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--text-mute); font-size:.85rem; text-align:center; padding:1.5rem; }
.figure__cap { position:absolute; z-index:3; bottom:-18px; right:-14px; background:var(--orange); color:#fff; padding:1rem 1.4rem; border-radius:var(--radius-sm); box-shadow:var(--shadow); max-width:220px; }
.figure__cap .n { font-family:var(--display); font-weight:800; font-size:1.7rem; line-height:1; display:block; }
.figure__cap .t { font-size:.8rem; opacity:.95; margin-top:.2rem; }

/* Values badges */
.vlist { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.7rem; }
.vlist li { font-family:var(--display); font-weight:600; font-size:.84rem; letter-spacing:.04em; text-transform:uppercase; color:var(--navy); background:var(--bg-2); border:1px solid var(--line); padding:.5rem 1rem; border-radius:var(--radius-pill); display:inline-flex; align-items:center; gap:.5rem; }
.vlist li::before { content:""; width:7px; height:7px; background:var(--orange); border-radius:50%; }

/* Checklist */
.clist { display:grid; gap:.7rem; margin:1.6rem 0; }
.clist li { display:flex; gap:.85rem; align-items:flex-start; }
.clist li svg { width:22px; height:22px; flex-shrink:0; margin-top:2px; fill:var(--blue); }
.clist li span { color:var(--text-soft); }
.clist--orange li svg { fill:var(--orange); }

/* DOMAIN CARDS — solides avec logo */
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem 1.8rem; transition:all .35s var(--ease); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.card::after { content:""; position:absolute; top:0; left:0; right:0; height:4px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.card:hover { box-shadow:var(--shadow); transform:translateY(-5px); border-color:transparent; }
.card:hover::after { transform:scaleX(1); }
.card__ic { width:54px; height:54px; border-radius:var(--radius-sm); background:var(--bg-2); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; transition:all .3s var(--ease); }
.card__ic svg { width:27px; height:27px; fill:var(--navy); transition:fill .3s; }
.card:hover .card__ic { background:var(--ink); }
.card:hover .card__ic svg { fill:var(--orange); }
.card h3 { margin-bottom:.55rem; }
.card p { font-size:.96rem; color:var(--text-soft); margin-bottom:1.2rem; flex-grow:1; }
.card__go { font-family:var(--display); font-weight:600; font-size:.86rem; letter-spacing:.04em; text-transform:uppercase; color:var(--blue); display:inline-flex; align-items:center; gap:.45rem; margin-top:auto; }
.card__go svg { width:15px; height:15px; fill:currentColor; transition:transform .3s var(--ease); }
.card:hover .card__go svg { transform:translateX(4px); }

/* STEPS */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; counter-reset:s; }
.step { position:relative; }
.step__n { width:54px; height:54px; border-radius:var(--radius-sm); background:rgba(31,143,208,.12); border:1px solid rgba(31,143,208,.3); display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:800; font-size:1.4rem; color:var(--blue-bright); margin-bottom:1.1rem; }
.step__n::before { counter-increment:s; content:"0" counter(s); }
.section--ink .step__n { background:rgba(31,143,208,.15); }
.step h3 { font-size:1.15rem; margin-bottom:.5rem; }
.step p { font-size:.95rem; color:var(--text-soft); margin:0; }
.section--ink .step p { color:#9DB0C6; }

/* Situations grid */
.sit-grid { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-top:1.5rem; }
.sit-grid li { display:flex; align-items:center; gap:.7rem; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:.85rem 1.1rem; font-size:.96rem; color:var(--ink); font-weight:500; }
.sit-grid li svg { width:18px; height:18px; fill:var(--orange); flex-shrink:0; }

/* ZONE */
.zone { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.zone__cell { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:2rem; transition:all .3s var(--ease); }
.zone__cell:hover { border-color:var(--blue); box-shadow:var(--shadow-sm); }
.zone__ic { width:46px; height:46px; border-radius:50%; background:var(--bg-2); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.zone__ic svg { width:21px; height:21px; fill:var(--blue); }
.zone__cell h3 { font-size:1.2rem; margin-bottom:.4rem; }
.zone__cell p { font-size:.95rem; color:var(--text-soft); margin:0; }

/* PRICE */
.price { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:2.6rem; position:relative; overflow:hidden; box-shadow:var(--shadow-sm); }
.price__tag { display:inline-block; font-family:var(--display); font-weight:600; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--orange-deep); background:rgba(242,145,27,.12); padding:.4rem .9rem; border-radius:var(--radius-pill); margin-bottom:1.2rem; }
.price__amt { font-family:var(--display); font-weight:800; font-size:3.4rem; color:var(--ink); line-height:1; margin-bottom:.2rem; }
.price__amt small { font-size:1rem; color:var(--text-mute); font-weight:500; }
.price h3 { font-size:1.3rem; margin:.6rem 0 .7rem; }
.price p { color:var(--text-soft); font-size:.97rem; margin-bottom:1.5rem; }
.price--ink { background:var(--ink); border-color:var(--ink); color:#AEBDCE; }
.price--ink .price__amt, .price--ink h3 { color:#fff; }
.price--ink p { color:#9DB0C6; }
.price--ink .price__tag { background:rgba(242,145,27,.2); color:var(--orange); }

/* FAQ */
.faq { max-width:850px; margin:0 auto; }
.faq-item { background:#fff; border:1px solid var(--line); border-radius:var(--radius); margin-bottom:.85rem; overflow:hidden; transition:all .3s var(--ease); }
.faq-item.open { border-color:var(--blue); box-shadow:var(--shadow-sm); }
.faq-q { display:flex; justify-content:space-between; gap:1.2rem; align-items:center; padding:1.4rem 1.6rem; cursor:pointer; }
.faq-q h3 { font-size:1.1rem; color:var(--ink); text-transform:none; letter-spacing:0; }
.faq-sign { width:30px; height:30px; border-radius:50%; background:var(--bg-2); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .3s var(--ease); }
.faq-sign svg { width:16px; height:16px; fill:var(--ink); transition:all .3s var(--ease); }
.faq-item.open .faq-sign { background:var(--orange); }
.faq-item.open .faq-sign svg { fill:#fff; transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq-a__in { padding:0 1.6rem 1.5rem; color:var(--text-soft); }
.faq-a__in p:last-child { margin:0; }

/* CTA */
.cta { background:var(--ink); color:#fff; position:relative; overflow:hidden; }
.cta::before { content:""; position:absolute; top:-40%; right:-6%; width:520px; height:520px; background:radial-gradient(circle, rgba(31,143,208,.2), transparent 65%); }
.cta::after { content:""; position:absolute; bottom:-50%; left:-8%; width:420px; height:420px; background:radial-gradient(circle, rgba(242,145,27,.14), transparent 65%); }
.cta__in { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap; padding:4.5rem 0; }
.cta h2 { color:#fff; margin-bottom:.7rem; max-width:18ch; }
.cta p { color:#AEBDCE; margin:0; max-width:46ch; }
.cta__actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* CONTACT */
.contact-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:3.5rem; align-items:start; }
.cform { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:2.6rem; box-shadow:var(--shadow-sm); min-width:0; }
.cform h3 { font-size:1.5rem; margin-bottom:.4rem; }
.cform > p { color:var(--text-soft); margin-bottom:1.7rem; }
.form-ph { border:2px dashed var(--line-2); border-radius:var(--radius); padding:3rem 1.5rem; text-align:center; color:var(--text-mute); font-size:.92rem; }
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform textarea,.cform select { width:100%; padding:.9rem 1.05rem; border:1px solid var(--line-2); border-radius:var(--radius-sm); font-family:var(--sans); font-size:1rem; margin-bottom:1rem; background:var(--bg-2); color:var(--text); }
.cform textarea { min-height:140px; resize:vertical; }
.cform input:focus,.cform textarea:focus,.cform select:focus { outline:none; border-color:var(--blue); background:#fff; }
.cform input[type=submit],.cform button[type=submit] { background:var(--orange); color:#fff; border:none; padding:1rem 2.2rem; border-radius:var(--radius-sm); font-family:var(--display); font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:.92rem; cursor:pointer; width:auto; }
.cform input[type=submit]:hover { background:var(--orange-deep); }

.cinfo { min-width:0; }
.cinfo__card { background:var(--ink); color:#AEBDCE; border-radius:var(--radius-lg); padding:2.4rem; margin-bottom:1.5rem; }
.cinfo__card h3 { color:#fff; font-size:1.3rem; margin-bottom:1.4rem; }
.cline { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.09); }
.cline:last-child { border:none; }
.cline > svg { width:20px; height:20px; fill:var(--blue-bright); flex-shrink:0; margin-top:3px; }
.cline__ic { width:40px; height:40px; border-radius:var(--radius-sm); background:rgba(31,143,208,.16); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cline__ic svg { width:18px; height:18px; fill:var(--blue-bright); }
.cline__l { font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:#7E8DA0; font-family:var(--display); font-weight:500; }
.cline__v { color:#fff; font-weight:500; }
.cline__v a:hover { color:var(--blue-bright); }

/* FOOTER */
.footer { background:var(--ink); color:#8493A3; padding:5rem 0 0; }
.footer__top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:3rem; padding-bottom:3.5rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer__brand .brand__name { color:#fff; }
.footer__brand p { font-size:.92rem; line-height:1.7; max-width:32ch; margin-top:1.2rem; }
.footer__col h4 { color:#fff; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; font-family:var(--display); font-weight:600; margin-bottom:1.3rem; }
.footer__col li { margin-bottom:.7rem; }
.footer__col a { font-size:.94rem; transition:color .2s; }
.footer__col a:hover { color:#fff; }
.footer__c { display:flex; gap:.6rem; align-items:flex-start; margin-bottom:.8rem; font-size:.92rem; }
.footer__c svg { width:15px; height:15px; fill:var(--orange); flex-shrink:0; margin-top:4px; }
.footer__bottom { display:flex; justify-content:space-between; padding:1.7rem 0; font-size:.84rem; flex-wrap:wrap; gap:1rem; }
.footer__bottom a { color:#fff; border-bottom:1px solid var(--orange); }
.footer__legal { display:inline-flex; gap:1.4rem; }
.footer__legal a { border-bottom:none; color:#8493A3; }
.footer__legal a:hover { color:#fff; }

/* ANIM */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity:1; transform:none; }
.reveal.d1{transition-delay:.07s}.reveal.d2{transition-delay:.14s}.reveal.d3{transition-delay:.21s}.reveal.d4{transition-delay:.28s}

/* RESPONSIVE */
@media (max-width:1080px){
  .featband__grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .zone{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr 1fr;gap:2rem}
  .split,.split--text-left,.split--media-left{gap:3rem}
}
@media (max-width:860px){
  .nav,.header__phone{display:none}
  .burger{display:flex}
  .featband{margin-top:2.5rem}
  .featband__grid{grid-template-columns:1fr 1fr}
  .split,.split--text-left,.split--media-left{grid-template-columns:1fr;gap:2.5rem}
  .figure{order:-1;max-width:520px}
  .contact-grid{grid-template-columns:1fr;gap:2.5rem}
  .cards{grid-template-columns:1fr}
  .cta__in{flex-direction:column;align-items:flex-start}
  .footer__top{grid-template-columns:1fr}
  .topbar__item--zone{display:none}
  .topbar__tag{display:none}
}
@media (max-width:560px){
  :root{--gutter:1.3rem}
  .section{padding:4rem 0}
  .hero__in{padding:3.5rem 0 6rem}
  .hero__label{font-size:.82rem;padding:.55rem 1.1rem}
  .hero h2{font-size:1.85rem;max-width:none}
  .hero__lede{font-size:1.05rem}
  .featband__grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .sit-grid{grid-template-columns:1fr}
  .topbar__left{gap:1rem}
  .topbar__item--email{display:none}
  .btn{width:100%;justify-content:center}
  .hero__actions .btn,.cta__actions .btn{width:100%}
}
