/* ===================== AN KOUD MAIN — warm editorial ===================== */
:root{
  --paper:#FBF3E7;
  --paper-2:#F4E6CE;
  --cocoa:#392720;
  --cocoa-soft:#6A5448;
  --clay:#C8553D;
  --clay-deep:#A8402B;
  --ochre:#E0A02E;
  --leaf:#5E7D4F;
  --butter:#F0D9A8;
  --cream-card:#FFFBF3;
  --line:rgba(57,39,32,.14);
  --shadow:0 26px 60px -30px rgba(57,39,32,.45);
  --shadow-sm:0 12px 28px -18px rgba(57,39,32,.5);
  --r:22px;
  --maxw:1200px;
}
*{box-sizing:border-box}
html{overflow-x:clip}
body{
  margin:0;background:var(--paper);color:var(--cocoa);
  font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,h3{font-family:"Gloock",Georgia,serif;font-weight:400;line-height:1.04;margin:0;letter-spacing:.005em}
h2{font-size:clamp(2rem, 1.2rem + 3.2vw, 3.5rem)}
p{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul,ol{margin:0;padding:0;list-style:none}
section{position:relative}

/* paper grain overlay */
.grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

#progress{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,var(--clay),var(--ochre));transform:scaleX(0);transform-origin:0 50%;z-index:60}
.hl{color:var(--clay)}
.hl-2{color:var(--ochre)}
.hl-3{color:var(--ochre)}
.kicker{font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:1rem}
.kicker.light{color:var(--ochre)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;font-weight:700;font-size:1rem;padding:.95rem 1.7rem;border-radius:100px;cursor:pointer;border:2px solid var(--cocoa);transition:transform .18s ease,background .18s,color .18s,box-shadow .18s}
.btn-fill{background:var(--clay);border-color:var(--clay);color:#fff;box-shadow:0 14px 26px -14px rgba(168,64,43,.8)}
.btn-fill:hover{background:var(--clay-deep);border-color:var(--clay-deep);transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--cocoa)}
.btn-line:hover{background:var(--cocoa);color:var(--paper);transform:translateY(-2px)}
.btn-wide{width:100%;margin-top:.3rem}

/* ===================== HEADER ===================== */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;gap:1.6rem;
  padding:1rem clamp(1.1rem,4vw,2.6rem);
  background:transparent;transition:background .3s,box-shadow .3s,border-color .3s;
  border-bottom:1px solid transparent;
}
.hdr.scrolled{background:rgba(251,243,231,.92);backdrop-filter:blur(10px);border-bottom-color:var(--line);box-shadow:0 6px 22px -18px rgba(57,39,32,.6)}
.logo{display:flex;align-items:center;gap:.8rem;margin-right:auto}
.logo img{height:62px;width:auto;filter:drop-shadow(0 3px 6px rgba(57,39,32,.2))}
.logo-txt{display:flex;flex-direction:column;line-height:1.05}
.logo b{font-family:"Gloock",serif;font-weight:400;font-size:1.7rem}
.logo small{font-size:.82rem;color:var(--cocoa-soft);font-weight:600;letter-spacing:.01em}
.menu{display:flex;gap:2rem}
.menu a{font-weight:700;font-size:1.08rem;position:relative}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--clay);transition:right .25s}
.menu a:hover::after{right:0}
.hdr-call{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.05rem;background:var(--cocoa);color:var(--paper);padding:.7rem 1.3rem;border-radius:100px;transition:transform .2s,background .2s}
.hdr-call:hover{background:var(--clay);transform:translateY(-2px)}
.hdr-call .dot{width:8px;height:8px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 0 rgba(224,160,46,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(224,160,46,.6)}70%{box-shadow:0 0 0 9px rgba(224,160,46,0)}100%{box-shadow:0 0 0 0 rgba(224,160,46,0)}}
.burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{width:26px;height:2.5px;background:var(--cocoa);border-radius:2px;transition:.25s}

/* ===================== HERO ===================== */
.first-screen{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.hero{
  position:relative;z-index:2;flex:1 0 auto;width:100%;max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:0.97fr 1.03fr;gap:3rem;align-items:center;
  padding:clamp(5.5rem,9vw,7rem) clamp(1.2rem,4vw,2rem) clamp(1.8rem,3vw,2.6rem);
}
.eyebrow{font-weight:700;font-size:.9rem;color:var(--cocoa-soft);margin-bottom:1.2rem;letter-spacing:.02em}
.hero h1{font-size:clamp(2.7rem, 1.6rem + 3.7vw, 4.9rem);line-height:1.04}
.hero h1 .hl{position:relative;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.06em;height:.16em;background:var(--ochre);opacity:.55;z-index:-1;border-radius:4px}
.hero-sub{margin-top:1.5rem;font-size:1.15rem;color:var(--cocoa-soft);max-width:34ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
.hero-foot{margin-top:1.8rem;font-size:.92rem;color:var(--cocoa-soft)}
.hero-foot strong{color:var(--clay)}

.hero-art{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.art-blob{
  position:absolute;inset:6%;background:linear-gradient(150deg,var(--clay),var(--clay-deep));
  border-radius:42% 58% 56% 44% / 50% 44% 56% 50%;box-shadow:var(--shadow);
  animation:morph 14s ease-in-out infinite;
}
@keyframes morph{0%,100%{border-radius:42% 58% 56% 44% / 50% 44% 56% 50%}50%{border-radius:56% 44% 48% 52% / 42% 56% 44% 58%}}
.art-photo{
  position:relative;width:84%;aspect-ratio:4/5;overflow:hidden;
  border-radius:46% 46% 42% 42% / 13% 13% 11% 11%;
  border:8px solid var(--cream-card);
  box-shadow:0 28px 52px -22px rgba(57,39,32,.65);
  transform:rotate(-2deg);
}
.art-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.badge-name{position:absolute;bottom:5%;left:-5%;transform:rotate(-4deg);background:var(--cocoa);color:var(--paper);font-weight:800;font-size:.85rem;padding:.5rem 1.05rem;border-radius:100px;box-shadow:var(--shadow-sm);white-space:nowrap}
.sticker{
  position:absolute;font-weight:800;font-size:.82rem;padding:.5rem .9rem;border-radius:100px;
  background:var(--cream-card);color:var(--cocoa);box-shadow:var(--shadow-sm);border:1.5px solid var(--line);white-space:nowrap;
}
.sticker.s1{top:6%;left:-4%;transform:rotate(-7deg);color:var(--leaf)}
.sticker.s2{top:40%;right:-8%;transform:rotate(6deg);color:var(--clay)}
.sticker.s3{bottom:8%;left:2%;transform:rotate(4deg);color:var(--ochre)}
.hand-note{position:absolute;bottom:-2%;right:4%;font-family:"Caveat",cursive;font-weight:700;font-size:1.7rem;color:var(--cocoa);transform:rotate(-6deg)}
.hand-note svg{display:block;width:64px;height:32px;color:var(--clay);margin-top:-4px}

/* ===================== TICKER BAND ===================== */
.ticker{background:var(--clay);color:#fff;overflow:hidden;border-block:3px solid var(--ochre)}
.ticker-row{display:inline-flex;align-items:center;gap:1.4rem;white-space:nowrap;padding:.7rem 0;font-family:"Gloock",serif;font-size:1.15rem;will-change:transform}
.ticker-row span{opacity:.95}
.ticker-row i{color:var(--butter);font-style:normal}

/* ===================== SERVICES ===================== */
.sec-head{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.2rem,4vw,2rem)}
.sec-head h2{max-width:18ch}
.sec-head.center{text-align:center}
.sec-head.center h2{margin:0 auto}
.services{padding:clamp(4rem,8vw,7rem) 0 clamp(3rem,5vw,4.5rem);background:linear-gradient(180deg,#E9D4A8,#E0C994)}
.svc-list{max-width:var(--maxw);margin:2.5rem auto 0;padding:0 clamp(1.2rem,4vw,2rem)}
.svc{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem 2rem;align-items:start;padding:2.2rem 0;border-top:2px solid var(--line)}
.svc:last-child{border-bottom:2px solid var(--line)}
.svc-num{font-family:"Gloock",serif;font-size:2.4rem;color:var(--clay);line-height:1}
.svc-main h3{font-size:clamp(1.4rem, 1rem + 1.4vw, 2rem);margin-bottom:.5rem}
.svc-main p{color:var(--cocoa-soft);max-width:52ch}
.svc-tags{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}
.svc-tags li{font-size:.82rem;font-weight:700;background:var(--cream-card);border:1px solid var(--line);padding:.35rem .8rem;border-radius:100px;white-space:nowrap;transition:border-color .25s,color .25s}
.svc-main{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.svc-main h3{transition:color .25s ease}
.svc-num{transition:color .25s ease}
.svc:hover .svc-main{transform:translateX(10px)}
.svc:hover .svc-main h3{color:var(--clay)}
.svc:hover .svc-num{color:var(--ochre)}
.svc:hover .svc-tags li{border-color:var(--clay);color:var(--clay)}

/* ===================== CREDIT IMPOT (ticket) ===================== */
.impot{
  margin:clamp(2rem,5vw,4rem) auto;width:min(var(--maxw),calc(100% - clamp(2rem,6vw,3.2rem)));border-radius:34px;
  background:radial-gradient(120% 120% at 0% 0%, #433027 0%, var(--cocoa) 55%);
  color:var(--paper);overflow:hidden;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,4vw,4rem);align-items:center;
  padding:clamp(2.5rem,5vw,4.5rem);
}
.impot h2{color:var(--paper)}
.impot .kicker.light{color:var(--ochre)}
.impot-sub{margin-top:1.3rem;color:rgba(251,243,231,.8);font-size:1.1rem;max-width:46ch}
.impot-pts{margin-top:1.8rem;display:grid;gap:1rem}
.impot-pts li{padding-left:1.5rem;position:relative;color:rgba(251,243,231,.82);font-size:.98rem}
.impot-pts li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--ochre)}
.impot-pts b{color:var(--paper)}
.urssaf-badge{display:inline-flex;flex-wrap:wrap;align-items:center;gap:1rem;background:#fff;border-radius:16px;padding:.85rem 1.2rem;margin-top:1.8rem;box-shadow:var(--shadow-sm);max-width:min(440px,100%)}
.urssaf-badge img{height:46px;width:auto;flex:none}
.urssaf-badge span{font-size:.8rem;line-height:1.3;color:var(--cocoa-soft);font-weight:600}

.impot-demo{display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.toggle-wrap{display:flex;align-items:center;gap:.7rem;font-weight:700;color:var(--paper)}
.switch{width:52px;height:30px;border-radius:100px;border:0;background:rgba(255,255,255,.25);position:relative;cursor:pointer;transition:background .25s;padding:0}
.switch span{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .25s}
.switch.on{background:var(--ochre)}
.switch.on span{left:25px}

.ticket{width:min(360px,100%);position:relative;filter:drop-shadow(0 24px 40px rgba(0,0,0,.35));transform:rotate(-1.4deg)}
.ticket-in{background:var(--cream-card);color:var(--cocoa);padding:1.6rem 1.5rem 1.3rem}
.perf{height:14px;background:var(--cream-card);
  -webkit-mask:radial-gradient(9px at 9px 50%,transparent 98%,#000) left/18px 100% repeat-x;
  mask:radial-gradient(9px at 9px 50%,transparent 98%,#000) left/18px 100% repeat-x;}
.perf-top{-webkit-mask-position:left bottom;mask-position:left bottom}
.ticket-head{display:flex;align-items:center;gap:.7rem;padding-bottom:1rem;border-bottom:2px dashed var(--line)}
.ticket-head img{height:38px}
.ticket-head b{font-family:"Gloock",serif;font-size:1.05rem;display:block}
.ticket-head small{color:var(--cocoa-soft);font-size:.78rem}
.ticket-rows{padding:1rem 0;display:grid;gap:.7rem}
.trow{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;font-weight:600}
.trow span:first-child{color:var(--cocoa-soft);font-weight:500}
.trow.credit span:last-child{color:var(--leaf);font-weight:800}
.ticket-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:1rem;border-top:2px dashed var(--line)}
.ticket-total span{font-weight:700}
.ticket-total strong{font-family:"Gloock",serif;font-size:2rem;color:var(--clay)}
.ticket-note{margin-top:.8rem;font-size:.82rem;color:var(--cocoa-soft)}
.ticket.off .credit{display:none}
.ticket.off .ticket-total strong{color:var(--cocoa)}
.barcode{margin-top:1rem;height:34px;background:repeating-linear-gradient(90deg,var(--cocoa) 0 2px,transparent 2px 4px,var(--cocoa) 4px 5px,transparent 5px 9px);opacity:.85}

/* ===================== ETAPES — timeline zigzag ===================== */
.etapes{padding:clamp(4rem,8vw,7rem) 0}
.flow{position:relative;max-width:860px;margin:3.2rem auto 0;padding:0 clamp(1.2rem,4vw,2rem)}
.flow-steps{position:relative}
.flow-steps::before{content:"";position:absolute;top:34px;bottom:34px;left:50%;width:3px;transform:translateX(-50%);background:linear-gradient(180deg,var(--clay),var(--ochre),var(--leaf),var(--clay-deep),var(--cocoa));border-radius:3px}
.flow-step{display:grid;grid-template-columns:1fr 68px 1fr;align-items:center;margin-bottom:2.2rem}
.flow-dot{grid-column:2;grid-row:1;justify-self:center;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-family:"Gloock",serif;font-size:1.4rem;color:#fff;z-index:1;border:4px solid var(--paper);box-shadow:0 10px 20px -8px rgba(57,39,32,.5)}
.flow-step[data-c="clay"] .flow-dot{background:var(--clay)}
.flow-step[data-c="ochre"] .flow-dot{background:var(--ochre)}
.flow-step[data-c="leaf"] .flow-dot{background:var(--leaf)}
.flow-step[data-c="clayd"] .flow-dot{background:var(--clay-deep)}
.flow-step[data-c="cocoa"] .flow-dot{background:var(--cocoa)}
.flow-card{position:relative;grid-row:1;background:var(--cream-card);border:1.5px solid var(--line);border-radius:18px;padding:1.3rem 1.5rem;box-shadow:var(--shadow-sm);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.flow-card h3{font-size:1.25rem;margin-bottom:.35rem}
.flow-card p{color:var(--cocoa-soft);font-size:.93rem}
.flow-card:hover{transform:translateY(-6px);box-shadow:0 26px 46px -24px rgba(57,39,32,.5);border-color:var(--clay)}
.flow-step:nth-child(odd) .flow-card{grid-column:1;text-align:right}
.flow-step:nth-child(even) .flow-card{grid-column:3}
.flow-step:nth-child(odd) .flow-card::after,.flow-step:nth-child(even) .flow-card::after{content:"";position:absolute;top:50%;width:30px;height:2px;background:var(--line)}
.flow-step:nth-child(odd) .flow-card::after{right:-31px}
.flow-step:nth-child(even) .flow-card::after{left:-31px}
.flow-cta{position:relative;max-width:560px;margin:0 auto;text-align:center;background:var(--cocoa);color:var(--paper);border-radius:26px;padding:2.4rem 2rem;box-shadow:var(--shadow);z-index:1}
.flow-cta::before{content:"";position:absolute;top:-34px;left:50%;width:3px;height:34px;background:var(--cocoa);transform:translateX(-50%)}
.flow-cta-eyebrow{color:var(--ochre);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}
.flow-cta h3{color:var(--paper);font-size:clamp(1.4rem, 1rem + 1.4vw, 1.9rem);margin:.5rem auto 1.4rem;max-width:18ch}
.flow-cta .btn-line{border-color:var(--paper);color:var(--paper)}
.flow-cta .btn-line:hover{background:var(--paper);color:var(--cocoa)}

/* ===================== WHY ===================== */
.why{background:var(--paper-2);padding:clamp(4rem,8vw,7rem) 0;border-block:2px solid var(--line)}
.why-grid{max-width:var(--maxw);margin:2.5rem auto 0;padding:0 clamp(1.2rem,4vw,2rem);display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.why-card{background:var(--cream-card);border-radius:var(--r);padding:1.8rem 1.5rem;box-shadow:var(--shadow-sm);border:1.5px solid transparent;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.why-card .emoji{font-size:2rem;display:inline-block;margin-bottom:.8rem;transition:transform .35s ease}
.why-card h3{transition:color .25s}
.why-card:hover{transform:translateY(-10px) rotate(-1.2deg);box-shadow:0 34px 60px -26px rgba(57,39,32,.55);border-color:var(--ochre)}
.why-card:hover .emoji{transform:scale(1.25) rotate(10deg)}
.why-card:hover h3{color:var(--clay)}
.why-card h3{font-size:1.3rem;margin-bottom:.5rem}
.why-card p{color:var(--cocoa-soft);font-size:.95rem}

/* ===================== AVIS ===================== */
.avis{padding:clamp(4rem,8vw,7rem) 0}
.avis-grid{max-width:920px;margin:2.5rem auto 0;padding:0 clamp(1.2rem,4vw,2rem);display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.bubble{margin:0}
.bubble blockquote{margin:0;background:var(--cream-card);border:1.5px solid var(--line);border-radius:24px 24px 24px 6px;padding:1.8rem;font-family:"Gloock",serif;font-size:1.2rem;line-height:1.4;position:relative;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.bubble .ava{transition:transform .3s ease}
.bubble:hover blockquote{transform:translateY(-8px);box-shadow:0 30px 54px -26px rgba(57,39,32,.5);border-color:var(--clay)}
.bubble:hover .ava{transform:scale(1.12) rotate(-6deg)}
.bubble figcaption{display:flex;align-items:center;gap:.7rem;margin-top:1rem;font-weight:700}
.ava{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ochre);color:#fff;font-family:"Gloock",serif}
.bubble:nth-child(2) .ava{background:var(--leaf)}

/* ===================== LOGO BAND ===================== */
.logo-band{text-align:center;margin-top:clamp(1.8rem,3.5vw,2.8rem)}
.logo-band img{width:clamp(190px,26vw,320px);height:auto;margin:0 auto;filter:drop-shadow(0 16px 30px rgba(57,39,32,.28))}

/* ===================== CONTACT ===================== */
.contact{padding:clamp(3rem,6vw,5rem) clamp(1rem,3vw,1.6rem) clamp(4rem,8vw,6rem)}
.contact-in{max-width:var(--maxw);margin:0 auto;background:var(--clay);color:#fff;border-radius:34px;padding:clamp(2.2rem,5vw,4rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);box-shadow:var(--shadow)}
.contact h2{color:#fff}
.contact .kicker{color:var(--butter)}
.contact-sub{margin-top:1.2rem;color:rgba(255,255,255,.85);max-width:40ch}
.coords{margin-top:2rem;display:grid;gap:1rem}
.coords li{display:grid;grid-template-columns:110px 1fr;gap:.6rem;align-items:baseline;font-weight:600}
.coords li span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--butter);font-weight:800}
.coords a{border-bottom:1px solid rgba(255,255,255,.4);margin-right:.6rem}
.phones{display:flex;flex-direction:column;gap:.25rem}
.phones a{margin-right:0;white-space:nowrap;width:max-content}
.coords a:hover{border-color:#fff}
.form{background:var(--cream-card);border-radius:24px;padding:1.8rem;display:grid;gap:1rem}
.form label{display:grid;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--cocoa)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form input,.form select,.form textarea{font-family:inherit;font-size:1rem;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--cocoa);transition:border-color .15s,box-shadow .15s}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--clay);box-shadow:0 0 0 3px rgba(200,85,61,.16)}
.form textarea{resize:vertical}
.status{min-height:1.2em;font-weight:700;font-size:.92rem;margin:0;color:var(--cocoa)}
.status.ok{color:var(--leaf)}
.status.err{color:var(--clay-deep)}

/* ===================== FOOTER ===================== */
.ftr{background:var(--cocoa);color:rgba(251,243,231,.8);padding:3rem clamp(1.2rem,4vw,2rem) 1.6rem}
.ftr-in{max-width:var(--maxw);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.ftr-brand{display:flex;align-items:center;gap:1rem}
.ftr-brand img{height:54px}
.ftr-brand b{font-family:"Gloock",serif;font-size:1.3rem;color:var(--paper);display:block}
.ftr-brand span{font-size:.9rem}
.ftr-meta{text-align:right;font-size:.9rem;line-height:1.9}
.ftr-urssaf{display:inline-flex;align-items:center;gap:.7rem;background:#fff;border-radius:12px;padding:.5rem .8rem;margin-top:.8rem}
.ftr-urssaf img{height:34px;width:auto}
.ftr-urssaf span{font-size:.74rem;color:var(--cocoa-soft);font-weight:700}
.ftr-legal{max-width:var(--maxw);margin:2.4rem auto 0;padding-top:1.4rem;border-top:1px solid rgba(251,243,231,.15);text-align:center;font-size:.82rem;color:rgba(251,243,231,.55)}

/* reveal base (released by JS) */
.pre-anim .hero-text > *,.pre-anim .hero-art{opacity:0}
.lenis.lenis-smooth{scroll-behavior:auto !important}

/* ===================== RESPONSIVE ===================== */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;gap:2.5rem}
  .hero-art{max-width:420px;margin:0 auto;width:100%}
  .impot{grid-template-columns:1fr;gap:2.5rem}
  .impot-demo{order:-1}
  .contact-in{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .menu,.hdr-call{display:none}
  .burger{display:flex}
  .menu.open{display:flex;position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:.2rem;background:var(--paper);padding:1rem 1.4rem 1.6rem;box-shadow:var(--shadow);border-bottom:1px solid var(--line)}
  .menu.open a{padding:.8rem 0}
  .sticker.s1{left:0}
  .sticker.s2{right:0}
  .svc{grid-template-columns:auto 1fr;gap:1rem 1.2rem}
  .svc-tags{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .impot{padding:clamp(1.4rem,5vw,2rem)}
  .flow-steps::before{left:28px}
  .flow-step{grid-template-columns:56px 1fr;gap:1rem;margin-bottom:1.6rem}
  .flow-dot{grid-column:1}
  .flow-step:nth-child(odd) .flow-card,.flow-step:nth-child(even) .flow-card{grid-column:2;text-align:left}
  .flow-step:nth-child(odd) .flow-card::after,.flow-step:nth-child(even) .flow-card::after{left:-31px;right:auto}
  .flow-cta::before{display:none}
  .why-grid{grid-template-columns:1fr}
  .avis-grid{grid-template-columns:1fr}
  .coords li{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .ftr-in{flex-direction:column}
  .ftr-meta{text-align:left}
}
