
:root{
  --black:#111111;
  --black2:#171717;
  --paper:#F6F3EE;
  --paper2:#ECE7DF;
  --white:#FFFFFF;
  --red:#FF0800;
  --red2:#D80000;
  --text:#171717;
  --muted:#69645E;
  --muted2:#8A8379;
  --line:rgba(17,17,17,.12);
  --line-light:rgba(255,255,255,.18);
  --max:1240px;
  --radius:26px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:var(--paper);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;
  font-weight:440;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:999;
  opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
img{max-width:100%;display:block}
.container{width:min(100% - 34px,var(--max));margin:0 auto}

.header{
  position:fixed;
  top:18px;
  left:0;
  right:0;
  z-index:100;
}

.nav{
  width:min(100% - 34px,var(--max));
  margin:auto;
  min-height:68px;
  padding:12px 16px;
  border:1px solid rgba(17,17,17,.10);
  border-radius:999px;
  background:rgba(246,243,238,.82);
  backdrop-filter:blur(22px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  box-shadow:0 18px 60px rgba(17,17,17,.06);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:760;
  letter-spacing:.02em;
  z-index:3;
}

.brand img{
  height:42px;
  width:auto;
  max-width:160px;
  object-fit:contain;
}

.brand-text{display:none}

.nav-links{
  display:none;
  gap:26px;
  color:var(--muted);
  font-size:14px;
  font-weight:560;
  letter-spacing:.01em;
}

.nav-links a{transition:.25s}
.nav-links a:hover,.nav-links a.active{color:var(--text)}

.nav-cta{
  display:none;
  background:var(--black);
  color:var(--white);
  border-radius:999px;
  padding:12px 18px;
  font-weight:680;
  font-size:14px;
  transition:.25s;
  letter-spacing:.01em;
}

.nav-cta:hover{
  transform:translateY(-2px);
  background:var(--red);
  box-shadow:0 16px 42px rgba(255,8,0,.18);
}

.burger{
  width:44px;height:44px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.55);
  display:grid;place-items:center;cursor:pointer;z-index:3
}

.burger span,.burger span::before,.burger span::after{
  display:block;width:18px;height:2px;background:var(--text);position:relative;transition:.25s;content:"";
}
.burger span::before{position:absolute;top:-6px}
.burger span::after{position:absolute;top:6px}
.nav.open .burger span{background:transparent}
.nav.open .burger span::before{top:0;transform:rotate(45deg)}
.nav.open .burger span::after{top:0;transform:rotate(-45deg)}

.mobile-menu{
  display:none;
  position:absolute;
  left:0;right:0;top:78px;
  padding:14px;
  border-radius:28px;
  background:rgba(246,243,238,.96);
  border:1px solid var(--line);
  backdrop-filter:blur(20px);
  box-shadow:0 18px 60px rgba(17,17,17,.08);
}
.nav.open .mobile-menu{display:grid;gap:10px}
.mobile-menu a{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  color:var(--muted);
  font-weight:640;
}

section{padding:112px 0;position:relative}

.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:132px;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%,rgba(255,8,0,.08),transparent 24%),
    linear-gradient(180deg,var(--paper) 0%,var(--paper2) 100%);
}

.hero::before{display:none}
.red-line{display:none}

.hero-inner{
  position:relative;
  z-index:2;
  max-width:980px;
}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  border:1px solid var(--line);
  padding:9px 13px;
  border-radius:999px;
  font-weight:620;
  font-size:13px;
  margin-bottom:26px;
  background:rgba(255,255,255,.55);
  letter-spacing:.03em;
}

.kicker::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:99px;
  background:var(--red);
}

h1,.mega{
  font-size:clamp(44px,8vw,94px);
  line-height:1.02;
  letter-spacing:.005em;
  font-weight:720;
  text-transform:none;
}

.hero-copy{
  max-width:760px;
  color:var(--muted);
  font-size:clamp(18px,2vw,23px);
  margin:30px 0 28px;
}

.hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:38px;
}

.pill{
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 13px;
  color:var(--muted);
  font-size:13px;
  font-weight:560;
  background:rgba(255,255,255,.55);
}

.actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:15px 21px;
  font-weight:680;
  border:1px solid var(--line);
  transition:.25s;
  cursor:pointer;
  letter-spacing:.01em;
}

.btn-red{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.btn-white{
  background:var(--white);
  color:#000;
  border-color:var(--white);
}

.btn-ghost{
  background:rgba(255,255,255,.54);
  color:var(--text);
}

.btn-dark{
  background:var(--black);
  color:var(--white);
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(17,17,17,.10);
}

.page-hero{
  min-height:56vh;
  padding-top:150px;
  display:flex;
  align-items:end;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,8,0,.08),transparent 24%),
    linear-gradient(180deg,var(--paper) 0%,var(--paper2) 100%);
}

.page-hero::before{display:none}
.page-hero .container{position:relative;z-index:2}

.page-title{
  font-size:clamp(44px,8vw,94px);
  line-height:1.02;
  letter-spacing:.005em;
  text-transform:none;
  font-weight:720;
  max-width:980px;
}

.page-intro{
  max-width:760px;
  color:var(--muted);
  font-size:clamp(18px,2vw,23px);
  margin-top:28px;
}

.section-head{
  max-width:880px;
  margin-bottom:52px;
}

.section-head h2{
  font-size:clamp(34px,5.8vw,70px);
  line-height:1.06;
  letter-spacing:.005em;
  text-transform:none;
  font-weight:690;
}

.section-head p{
  margin-top:18px;
  color:var(--muted);
  font-size:clamp(17px,2vw,21px);
  max-width:760px;
}

.light{
  background:var(--white);
  color:var(--text);
}

.light .section-head p{color:var(--muted)}

.grid{display:grid;gap:18px}
.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}

.card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  background:rgba(255,255,255,.58);
  transition:.25s;
  overflow:hidden;
  position:relative;
  box-shadow:0 12px 40px rgba(17,17,17,.035);
}

.card:hover{
  transform:translateY(-5px);
  border-color:rgba(255,8,0,.26);
  box-shadow:0 20px 60px rgba(17,17,17,.07);
}

.card h3{
  font-size:clamp(23px,2.4vw,31px);
  letter-spacing:.005em;
  line-height:1.08;
  font-weight:680;
  margin-bottom:14px;
}

.card p{color:var(--muted)}

.card ul{
  list-style:none;
  display:grid;
  gap:9px;
  color:var(--muted);
  margin-top:18px;
}

.card li::before{
  content:"— ";
  color:var(--red);
  font-weight:760;
}

.light .card{
  background:#fff;
  border-color:var(--line);
}

.problem{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--paper);
}

.symptom{
  display:flex;
  gap:16px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.symptom:last-child{border-bottom:0}

.num{
  color:var(--red);
  font-weight:720;
  font-size:14px;
  min-width:42px;
}

.symptom strong{
  display:block;
  font-size:22px;
  letter-spacing:.005em;
  font-weight:650;
}

.symptom span{color:var(--muted)}

.results-list{display:grid;gap:12px}

.result-row{
  padding:24px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  display:grid;
  gap:10px;
  box-shadow:0 12px 36px rgba(17,17,17,.04);
}

.result-row strong{
  font-size:24px;
  letter-spacing:.005em;
  font-weight:680;
}

.result-row span{color:var(--muted)}

.offer{
  border-radius:30px;
  padding:30px;
  border:1px solid var(--line);
  background:#fff;
  display:flex;
  flex-direction:column;
  box-shadow:0 14px 46px rgba(17,17,17,.05);
}

.offer.featured{
  background:var(--black);
  color:var(--white);
  border-color:rgba(255,8,0,.38);
  box-shadow:0 28px 80px rgba(17,17,17,.14);
}

.tag{
  display:inline-flex;
  width:max-content;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,8,0,.09);
  color:var(--red);
  font-size:12px;
  font-weight:650;
  margin-bottom:18px;
}

.offer h3{
  font-size:30px;
  letter-spacing:.005em;
  line-height:1.08;
  font-weight:680;
  margin-bottom:10px;
}

.offer p{
  color:var(--muted);
  margin-bottom:22px;
}

.offer.featured p,
.offer.featured li,
.offer.featured .price{color:#DADADA}

.price{
  font-size:14px;
  font-weight:650;
  color:var(--muted);
  margin-bottom:18px;
}

.offer ul{
  list-style:none;
  display:grid;
  gap:10px;
  margin-bottom:28px;
  color:var(--muted);
}

.offer li::before{
  content:"✓ ";
  color:var(--red);
  font-weight:760;
}

.offer .btn{margin-top:auto}

.process{counter-reset:step}

.step{
  padding:28px 0;
  border-bottom:1px solid var(--line);
  display:grid;
  gap:14px;
}

.step:last-child{border-bottom:0}

.step-top{
  display:flex;
  align-items:start;
  gap:20px;
}

.step-num{
  width:52px;
  height:52px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:720;
  flex:0 0 auto;
}

.step h3{
  font-size:clamp(26px,3.4vw,42px);
  letter-spacing:.005em;
  text-transform:none;
  font-weight:680;
  line-height:1.05;
}

.step p{
  color:var(--muted);
  max-width:720px;
}

.project{
  min-height:410px;
  border-radius:34px;
  border:1px solid var(--line);
  background:
    linear-gradient(135deg,rgba(255,8,0,.08),transparent 35%),
    linear-gradient(160deg,#FDFBF8,#E6E0D8);
  overflow:hidden;
  position:relative;
  transition:.3s;
  box-shadow:0 16px 54px rgba(17,17,17,.06);
}

.project::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent),
    repeating-linear-gradient(90deg,rgba(17,17,17,.035) 0 1px,transparent 1px 90px);
}

.project:nth-child(2){background:linear-gradient(160deg,#fff,#EAE4DC)}
.project:nth-child(3){background:radial-gradient(circle at 70% 20%,rgba(255,8,0,.12),transparent 30%),linear-gradient(160deg,#F7F3EF,#E7E0D8)}
.project:hover{transform:scale(.99)}

.project-info{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  padding:22px;
  border-radius:24px;
  border:1px solid rgba(17,17,17,.10);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(18px);
  color:var(--text);
}

.project-info span{
  color:var(--red);
  font-weight:680;
  font-size:13px;
}

.project-info h3{
  font-size:29px;
  letter-spacing:.005em;
  font-weight:680;
  margin:6px 0;
}

.project-info p{color:var(--muted)}

.testimonial{
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.quote{
  font-size:20px;
  color:var(--muted);
  margin-bottom:28px;
}

.client{
  font-weight:650;
  color:var(--muted2);
}

.faq{
  display:grid;
  gap:12px;
  max-width:900px;
}

.faq-item{
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.58);
}

.faq-question{
  width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  padding:22px;
  text-align:left;
  display:flex;
  justify-content:space-between;
  gap:18px;
  font-weight:650;
  cursor:pointer;
}

.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}

.faq-answer p{
  padding:0 22px 22px;
  color:var(--muted);
}

.faq-item.active .faq-answer{max-height:220px}

.contact-wrap{display:grid;gap:28px}

.contact-panel{
  border-radius:32px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 48px rgba(17,17,17,.05);
}

.contact-panel h3{
  font-size:30px;
  letter-spacing:.005em;
  font-weight:680;
  margin-bottom:16px;
}

.contact-panel p{color:var(--muted)}

form{display:grid;gap:14px}

.form-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

input,textarea,select{
  width:100%;
  border:1px solid rgba(17,17,17,.14);
  border-radius:18px;
  padding:16px 17px;
  background:#FAFAFA;
  color:#000;
  outline:none;
  transition:.2s;
}

input:focus,textarea:focus,select:focus{
  border-color:var(--red);
  box-shadow:0 0 0 4px rgba(255,8,0,.10);
}

textarea{
  min-height:170px;
  resize:vertical;
}

.submit{
  border:0;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  padding:17px 24px;
  font-weight:680;
  cursor:pointer;
  transition:.25s;
}

.submit:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(255,8,0,.18);
}

.footer{
  padding:58px 0 28px;
  background:var(--black);
  color:var(--white);
}

.footer-grid{display:grid;gap:32px}

.footer-logo img{
  height:54px;
  width:auto;
}

.footer p,.footer a{color:#BDBDBD}
.footer-links{display:grid;gap:10px}
.footer-links strong{color:var(--white);font-weight:650}

.footer-bottom{
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid var(--line-light);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:14px;
  color:#BDBDBD;
  font-size:14px;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:.7s ease;
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

.tarifs .offer h3,
.tarifs .price,
.tarifs .offer p,
.tarifs .offer li {
  font-weight: 450;
}

.tarifs .offer h3 {
  font-weight: 650;
}

.tarifs .section-head h2,
.tarifs .page-title {
  letter-spacing: .005em;
}

.tarifs .offer {
  font-weight: 430;
}

.tarifs .offer.featured {
  box-shadow: 0 28px 80px rgba(17,17,17,.14);
}

@media(min-width:760px){
  .brand img{height:46px;max-width:180px}
  .nav-links,.nav-cta{display:flex}
  .burger,.mobile-menu{display:none!important}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .form-grid{grid-template-columns:repeat(2,1fr)}
  .contact-wrap{grid-template-columns:.85fr 1.15fr}
  .footer-grid{grid-template-columns:1.35fr 1fr 1fr 1fr}
  .step{grid-template-columns:320px 1fr;align-items:start}
  .project.large{grid-column:span 2}
}


/* V6 — more Ghostline contrast, safer layouts */
:root{
  --shadow-soft:0 18px 55px rgba(17,17,17,.10);
  --shadow-strong:0 28px 90px rgba(17,17,17,.18);
  --shadow-red:0 22px 70px rgba(255,8,0,.20);
}

body{
  background:
    radial-gradient(circle at 8% 10%, rgba(255,8,0,.055), transparent 22%),
    linear-gradient(180deg,#F6F3EE 0%,#EFEAE2 100%);
}

.nav{
  background:rgba(255,255,255,.88);
  border-color:rgba(17,17,17,.16);
  box-shadow:0 18px 55px rgba(17,17,17,.12);
}

.brand img{
  max-width:190px;
}

.nav-links{
  color:#4D4944;
}

.nav-links a.active{
  color:var(--red);
}

.nav-cta{
  background:var(--red);
  color:#fff;
  box-shadow:0 12px 34px rgba(255,8,0,.22);
}

.hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(255,8,0,.16),transparent 25%),
    linear-gradient(135deg,#F7F3EC 0%,#FFFFFF 44%,#EDE7DE 100%);
}

.hero::after{
  content:"";
  position:absolute;
  right:-12vw;
  top:15%;
  width:38vw;
  height:38vw;
  min-width:340px;
  min-height:340px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 35%,rgba(255,8,0,.22),transparent 34%),
    radial-gradient(circle at 65% 65%,rgba(17,17,17,.08),transparent 40%);
  filter:blur(4px);
  pointer-events:none;
}

.hero-inner{
  max-width:1040px;
}

.kicker{
  background:#111;
  color:#fff;
  border-color:#111;
  box-shadow:var(--shadow-soft);
}

h1,.mega,.page-title{
  font-weight:700;
  letter-spacing:.018em;
  max-width:1050px;
  overflow-wrap:normal;
  text-wrap:balance;
}

.hero-copy,.page-intro,.section-head p{
  color:#4C4741;
}

.hero-proof{
  max-width:860px;
}

.pill{
  background:#fff;
  color:#211F1D;
  border-color:rgba(17,17,17,.16);
  box-shadow:0 8px 22px rgba(17,17,17,.055);
}

.btn{
  min-height:52px;
  white-space:normal;
  text-align:center;
  line-height:1.15;
}

.btn-red{
  box-shadow:var(--shadow-red);
}

.btn-ghost{
  background:#111;
  color:#fff;
  border-color:#111;
}

.btn-ghost:hover{
  background:var(--red);
  border-color:var(--red);
}

.page-hero{
  background:
    radial-gradient(circle at 86% 16%,rgba(255,8,0,.14),transparent 24%),
    linear-gradient(135deg,#F7F3EC 0%,#FFFFFF 48%,#EDE7DE 100%);
}

section:nth-of-type(even):not(.light):not(.hero):not(.page-hero){
  background:rgba(255,255,255,.32);
}

.section-head{
  max-width:960px;
}

.section-head h2{
  font-weight:680;
  letter-spacing:.018em;
  text-wrap:balance;
}

.card{
  background:#fff;
  border-color:rgba(17,17,17,.14);
  box-shadow:var(--shadow-soft);
}

.card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:5px;
  height:100%;
  background:var(--red);
  opacity:.85;
}

.card:hover{
  box-shadow:var(--shadow-strong);
  border-color:rgba(255,8,0,.34);
}

.card h3{
  font-weight:670;
}

.problem{
  background:#111;
  color:#fff;
  border:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(255,255,255,.08);
}

.problem .section-head p,
.problem .symptom span{
  color:#CFCAC3;
}

.problem .symptom{
  border-bottom-color:rgba(255,255,255,.14);
}

.problem .symptom strong{
  color:#fff;
}

.light{
  box-shadow:0 -1px 0 rgba(17,17,17,.08),0 1px 0 rgba(17,17,17,.08);
}

.result-row{
  border-color:rgba(17,17,17,.14);
  box-shadow:var(--shadow-soft);
  border-top:4px solid var(--red);
}

.offer{
  border-color:rgba(17,17,17,.16);
  box-shadow:var(--shadow-soft);
}

.offer.featured{
  box-shadow:0 30px 90px rgba(17,17,17,.22), 0 0 0 1px rgba(255,8,0,.22);
}

.offer h3{
  font-weight:670;
}

.process{
  display:grid;
  gap:14px;
}

.step{
  border:1px solid rgba(17,17,17,.13);
  border-radius:26px;
  padding:24px;
  background:#fff;
  box-shadow:var(--shadow-soft);
  grid-template-columns:1fr;
  overflow:hidden;
}

.step:last-child{
  border-bottom:1px solid rgba(17,17,17,.13);
}

.step-top{
  min-width:0;
}

.step h3{
  color:#111;
  font-weight:660;
  overflow-wrap:anywhere;
}

.step p{
  color:#56504A;
  max-width:none;
}

.step-num{
  box-shadow:0 12px 30px rgba(255,8,0,.22);
}

.project{
  box-shadow:var(--shadow-strong);
  border-color:rgba(17,17,17,.14);
  min-height:430px;
}

.project-info{
  box-shadow:0 18px 46px rgba(17,17,17,.12);
  border-left:5px solid var(--red);
}

.faq-item{
  background:#fff;
  box-shadow:0 12px 36px rgba(17,17,17,.055);
}

.contact-panel{
  box-shadow:var(--shadow-strong);
  border-color:rgba(17,17,17,.15);
}

.footer{
  box-shadow:0 -24px 90px rgba(17,17,17,.18);
}

@media(max-width:759px){
  .hero{
    min-height:auto;
    padding-top:128px;
    padding-bottom:82px;
  }

  h1,.mega,.page-title{
    font-size:clamp(38px,11vw,58px);
    line-height:1.06;
    letter-spacing:.008em;
  }

  .section-head h2{
    font-size:clamp(31px,9vw,46px);
    line-height:1.1;
  }

  .actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .btn{
    width:100%;
  }

  .step-top{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
  }

  .step h3{
    font-size:clamp(24px,8vw,34px);
  }

  .project-info{
    left:14px;
    right:14px;
    bottom:14px;
    padding:18px;
  }

  .project-info h3{
    font-size:24px;
  }

  .brand img{
    max-width:145px;
  }
}

@media(min-width:760px){
  .step{
    grid-template-columns:300px 1fr;
    align-items:center;
  }

  .step-top{
    display:grid;
    grid-template-columns:64px 1fr;
    align-items:center;
  }

  .actions{
    align-items:center;
  }
}

@media(min-width:1100px){
  .hero-inner{
    padding-right:120px;
  }
}


/* V7 — process text fixes, storytelling and review polish */
.step{
  grid-template-columns:1fr !important;
  gap:18px;
}

.step-top{
  display:flex !important;
  align-items:center;
  gap:18px;
  min-width:0;
}

.step h3{
  font-size:clamp(24px,3vw,36px) !important;
  line-height:1.12 !important;
  letter-spacing:.01em !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  white-space:normal !important;
}

.step p{
  font-size:16px;
  line-height:1.6;
}

.story-block{
  display:grid;
  gap:28px;
  align-items:start;
}

.story-copy{
  font-size:clamp(19px,2vw,24px);
  color:#4C4741;
  line-height:1.65;
}

.story-copy p + p{
  margin-top:22px;
}

.story-card{
  background:#111;
  color:#fff;
  border-radius:32px;
  padding:32px;
  box-shadow:0 30px 90px rgba(17,17,17,.20);
  border:1px solid rgba(255,255,255,.12);
}

.story-card .tag{
  background:rgba(255,8,0,.16);
}

.story-card h3{
  font-size:clamp(28px,4vw,48px);
  line-height:1.08;
  letter-spacing:.01em;
  font-weight:680;
  margin-bottom:18px;
}

.story-card p{
  color:#D9D4CC;
}

.reviews{
  background:#111;
  color:#fff;
}

.reviews .section-head p{
  color:#D9D4CC;
}

.review-card{
  background:#fff;
  color:#111;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
  display:flex;
  flex-direction:column;
  min-height:260px;
}

.stars{
  color:var(--red);
  letter-spacing:.12em;
  font-size:18px;
  margin-bottom:18px;
}

.review-card p{
  color:#423D38;
  font-size:17px;
  line-height:1.62;
  margin-bottom:24px;
}

.review-author{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#6A645C;
  font-weight:620;
  font-size:14px;
}

.google-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  background:#fff;
  color:#111;
  border-radius:999px;
  padding:9px 13px;
  font-size:13px;
  font-weight:650;
  box-shadow:0 14px 38px rgba(0,0,0,.18);
}

.google-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--red);
}

.footer-logo img{
  content:url("ghostline-logo-footer.png");
}

@media(min-width:760px){
  .step{
    grid-template-columns:220px 1fr !important;
  }

  .step h3{
    font-size:clamp(24px,2.6vw,34px) !important;
  }

  .story-block{
    grid-template-columns:1fr .85fr;
  }
}

@media(min-width:1100px){
  .step{
    grid-template-columns:260px 1fr !important;
  }
}

@media(max-width:759px){
  .step-top{
    gap:14px;
  }

  .step h3{
    font-size:26px !important;
  }

  .story-card{
    padding:26px;
  }
}


/* V8 fixes */
.brand img{height:58px!important;max-width:240px!important;}
.footer-logo img{height:84px!important;max-width:320px!important;}

.step{
 align-items:start!important;
}
.step h3{
 font-size:clamp(20px,2vw,28px)!important;
 line-height:1.15!important;
}
.step p{
 font-size:15px!important;
 line-height:1.55!important;
}
.reviews .section-head h2{
 color:#ffffff!important;
}
.reviews .section-head p{
 color:#d8d2ca!important;
}
@media(max-width:760px){
 .step h3{font-size:22px!important;}
 .brand img{height:50px!important;}
 .footer-logo img{height:72px!important;}
}


/* V9 refinements */
.hero .container,.hero-inner{
 text-align:left !important;
 margin-left:0 !important;
}

.section-head h2{
 font-size:clamp(30px,5vw,60px)!important;
}

.card,.result-row,.offer{
 box-shadow:0 12px 30px rgba(0,0,0,.06)!important;
}
.offer.featured{
 box-shadow:0 28px 80px rgba(0,0,0,.18)!important;
}

.reviews .google-badge{
 margin-bottom:20px;
}

.reviews .section-head h2{
 color:#ffffff!important;
 font-weight:700!important;
 text-shadow:0 2px 12px rgba(0,0,0,.45);
}

.reviews .section-head::before{
 content:"AVIS CLIENTS";
 display:block;
 color:#FF0800;
 font-weight:700;
 letter-spacing:.12em;
 margin-bottom:14px;
}

.reviews .section-head p{
 color:#d5d0c8!important;
}


/* V10 — uniform grid, lighter reviews, final spacing polish */
:root{
  --site-max: 1240px;
  --site-pad: clamp(24px, 5vw, 72px);
}

.container{
  width: min(100%, var(--site-max)) !important;
  padding-left: var(--site-pad) !important;
  padding-right: var(--site-pad) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero .container,
.hero-inner,
.page-hero .container{
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

.hero-inner{
  max-width: var(--site-max) !important;
  padding-left: var(--site-pad) !important;
  padding-right: var(--site-pad) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.hero .container.hero-inner{
  width: min(100%, var(--site-max)) !important;
}

h1,.mega,.page-title{
  max-width: 980px !important;
  font-size: clamp(42px, 7.2vw, 86px) !important;
  line-height: 1.04 !important;
  letter-spacing: .012em !important;
  font-weight: 690 !important;
  text-align: left !important;
}

.hero-copy,
.page-intro{
  max-width: 760px !important;
  text-align: left !important;
}

.section-head{
  max-width: 900px !important;
}

.section-head h2{
  font-size: clamp(30px, 4.7vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: .01em !important;
  font-weight: 660 !important;
}

section{
  padding-top: clamp(78px, 9vw, 112px) !important;
  padding-bottom: clamp(78px, 9vw, 112px) !important;
}

.hero{
  padding-top: 140px !important;
}

.page-hero{
  padding-top: 150px !important;
  min-height: 54vh !important;
}

/* Process: stable layout, no overlap */
.process{
  display: grid !important;
  gap: 16px !important;
}

.step{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  padding: 24px !important;
  overflow: visible !important;
  min-height: auto !important;
  align-items: start !important;
}

.step-top{
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  min-width: 0 !important;
}

.step-num{
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
}

.step h3{
  font-size: clamp(21px, 2.4vw, 30px) !important;
  line-height: 1.18 !important;
  letter-spacing: .01em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  margin: 0 !important;
}

.step p{
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 760px !important;
}

/* Reviews: light section, black title/subtitle */
.reviews{
  background: linear-gradient(180deg, #FFFFFF 0%, #F6F3EE 100%) !important;
  color: #171717 !important;
  border-top: 1px solid rgba(17,17,17,.08);
  border-bottom: 1px solid rgba(17,17,17,.08);
}

.reviews .section-head::before{
  content: "AVIS GOOGLE" !important;
  display: block !important;
  color: #FF0800 !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  font-size: 13px !important;
  margin-bottom: 14px !important;
}

.reviews .section-head h2{
  color: #171717 !important;
  text-shadow: none !important;
}

.reviews .section-head p{
  color: #5D574F !important;
}

.reviews .google-badge{
  background: #111111 !important;
  color: #FFFFFF !important;
  box-shadow: 0 14px 38px rgba(17,17,17,.12) !important;
}

.review-card{
  background: #FFFFFF !important;
  color: #171717 !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  box-shadow: 0 18px 54px rgba(17,17,17,.08) !important;
}

.review-card p{
  color: #3F3A35 !important;
}

.review-author{
  color: #6A645C !important;
}

/* Header/footer logo scale */
.brand img{
  height: 60px !important;
  max-width: 250px !important;
}

.footer-logo img{
  height: 88px !important;
  max-width: 330px !important;
}

/* Cleaner cards */
.card,.result-row,.offer,.contact-panel,.project{
  box-shadow: 0 16px 48px rgba(17,17,17,.075) !important;
}

.card:hover,.offer:hover,.result-row:hover{
  box-shadow: 0 26px 78px rgba(17,17,17,.12) !important;
}

/* Footer legal links */
.footer-bottom a{
  color: #DADADA !important;
  text-decoration: none;
}

.footer-bottom a:hover{
  color: #FFFFFF !important;
}

/* Social links */
.footer-links a:empty{
  display:none !important;
}

@media (min-width: 900px){
  .step{
    grid-template-columns: 300px 1fr !important;
  }

  .step-top{
    align-self: start !important;
  }
}

@media (max-width: 759px){
  :root{
    --site-pad: 22px;
  }

  .hero{
    padding-top: 126px !important;
  }

  h1,.mega,.page-title{
    font-size: clamp(38px, 10.5vw, 56px) !important;
  }

  .section-head h2{
    font-size: clamp(29px, 8.5vw, 44px) !important;
  }

  .brand img{
    height: 50px !important;
    max-width: 170px !important;
  }

  .footer-logo img{
    height: 72px !important;
  }

  .step{
    grid-template-columns: 1fr !important;
  }

  .step h3{
    font-size: 22px !important;
  }
}


/* V11 animations */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.card,.offer,.project,.review-card,.btn{transition:all .35s ease}
.card:hover,.offer:hover,.review-card:hover{transform:translateY(-8px);box-shadow:0 28px 80px rgba(0,0,0,.14)!important}
.project:hover{transform:scale(1.02)}
.nav.scrolled{transform:scale(.98);background:rgba(255,255,255,.96)!important;box-shadow:0 20px 60px rgba(0,0,0,.12)!important}
.hero::before{animation:floatHero 10s ease-in-out infinite}
@keyframes floatHero{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}


/* V11 CLEAN — only selected animations */

/* Scroll progress bar */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:4px;
  width:0%;
  background:linear-gradient(90deg,#FF0800,#111111);
  z-index:9999;
  box-shadow:0 0 16px rgba(255,8,0,.45);
}

/* Continuous red cursor glow */
.cursor-glow{
  position:fixed;
  width:280px;
  height:280px;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  background:radial-gradient(circle,rgba(255,8,0,.13),transparent 62%);
  transform:translate(-50%,-50%);
  mix-blend-mode:multiply;
  transition:opacity .2s ease;
}

/* Keep content above glow */
.header,
main,
.footer{
  position:relative;
  z-index:2;
}

/* Subtle card animation only */
.card,
.offer,
.result-row,
.review-card,
.contact-panel{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease !important;
}

.card:hover,
.offer:hover,
.result-row:hover,
.review-card:hover,
.contact-panel:hover{
  transform:translateY(-7px) !important;
  box-shadow:0 24px 70px rgba(17,17,17,.12) !important;
  border-color:rgba(255,8,0,.28) !important;
}

/* Keep standard reveal, not too dramatic */
.reveal{
  opacity:0;
  transform:translateY(26px);
  filter:none!important;
  transition:opacity .65s ease, transform .65s ease!important;
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

/* No big title splitting / marquee / process line / excessive effects */
.char{
  all:unset;
}

.marquee,
.process::before{
  display:none!important;
}

.project:hover{
  transform:scale(1.01)!important;
}

.btn:hover{
  transform:translateY(-3px)!important;
}

@media(max-width:759px){
  .cursor-glow{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .cursor-glow,
  .scroll-progress{
    display:none!important;
  }
  *,*::before,*::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .reveal{
    opacity:1!important;
    transform:none!important;
  }
}


/* V12 — header fixed and display QA */
.header{
  top:18px !important;
  left:0 !important;
  right:0 !important;
  padding:0 !important;
  overflow:visible !important;
  z-index:1000 !important;
}

.nav{
  width:min(calc(100% - 40px), var(--site-max, 1240px)) !important;
  min-height:76px !important;
  height:auto !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  overflow:visible !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  transform:none !important;
}

.nav.scrolled{
  min-height:68px !important;
  transform:none !important;
  padding:9px 18px !important;
}

.brand{
  flex:0 0 auto !important;
  min-width:0 !important;
}

.brand img{
  height:52px !important;
  max-width:190px !important;
  object-fit:contain !important;
  display:block !important;
}

.nav.scrolled .brand img{
  height:48px !important;
}

.nav-links{
  flex:1 1 auto !important;
  justify-content:center !important;
  align-items:center !important;
  min-width:0 !important;
  white-space:nowrap !important;
}

.nav-links a{
  line-height:1 !important;
}

.nav-cta{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  line-height:1 !important;
  padding:13px 18px !important;
}

.burger{
  flex:0 0 auto !important;
}

.mobile-menu{
  top:86px !important;
  overflow:hidden !important;
}

.hero,
.page-hero{
  padding-top:160px !important;
}

.cursor-glow{
  z-index:0 !important;
}

.scroll-progress{
  z-index:2000 !important;
}

@media(max-width:980px){
  .nav-links,
  .nav-cta{
    display:none !important;
  }

  .burger{
    display:grid !important;
  }

  .nav{
    min-height:74px !important;
    width:min(calc(100% - 28px), var(--site-max, 1240px)) !important;
    padding:10px 14px !important;
  }

  .brand img{
    height:50px !important;
    max-width:175px !important;
  }

  .mobile-menu{
    top:84px !important;
  }
}

@media(max-width:480px){
  .nav{
    min-height:68px !important;
    width:calc(100% - 22px) !important;
    padding:8px 12px !important;
  }

  .brand img{
    height:44px !important;
    max-width:150px !important;
  }

  .burger{
    width:42px !important;
    height:42px !important;
  }

  .mobile-menu{
    top:78px !important;
  }

  .hero,
  .page-hero{
    padding-top:136px !important;
  }
}


/* V13 — cursor glow restored */
.cursor-glow{
  position:fixed !important;
  width:390px !important;
  height:390px !important;
  border-radius:50% !important;
  pointer-events:none !important;
  z-index:50 !important;
  background:
    radial-gradient(circle,
      rgba(255,8,0,.22) 0%,
      rgba(255,8,0,.13) 28%,
      rgba(255,8,0,.06) 48%,
      transparent 70%) !important;
  transform:translate(-50%,-50%) !important;
  mix-blend-mode:multiply !important;
  filter:blur(2px) !important;
  opacity:.9 !important;
}

.header{
  z-index:1000 !important;
}

.scroll-progress{
  z-index:2000 !important;
}

main,
.footer{
  position:relative;
  z-index:2;
}

@media(max-width:759px){
  .cursor-glow{
    display:none!important;
  }
}


/* V14 — refined cursor glow: smaller, lighter, no lag */
.cursor-glow{
  width:230px !important;
  height:230px !important;
  background:
    radial-gradient(circle,
      rgba(255,8,0,.105) 0%,
      rgba(255,8,0,.065) 30%,
      rgba(255,8,0,.025) 52%,
      transparent 72%) !important;
  filter:blur(1px) !important;
  opacity:.72 !important;
  transition:none !important;
}


/* V15 — process vertical alignment, bigger header logo, background seam fix */

/* Remove the visible background split/seam near the top */
body{
  background:#F6F3EE !important;
}

.hero,
.page-hero{
  background:
    radial-gradient(circle at 86% 16%, rgba(255,8,0,.105), transparent 24%),
    linear-gradient(180deg, #F6F3EE 0%, #F6F3EE 54%, #F1ECE5 100%) !important;
}

/* Make the fixed header sit on a clean, seamless top layer */
.header{
  top:14px !important;
}

.nav{
  min-height:82px !important;
  padding:10px 20px !important;
  background:rgba(255,255,255,.92) !important;
  border-color:rgba(17,17,17,.12) !important;
  box-shadow:0 18px 55px rgba(17,17,17,.105) !important;
}

/* Larger logo without clipping the rounded menu */
.brand img{
  height:64px !important;
  max-width:255px !important;
  object-fit:contain !important;
}

.nav.scrolled{
  min-height:76px !important;
  padding:9px 20px !important;
}

.nav.scrolled .brand img{
  height:58px !important;
}

/* More top breathing room so larger header never overlaps hero text */
.hero,
.page-hero{
  padding-top:176px !important;
}

/* Process: align the description vertically in the same container */
.step{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:center !important;
  gap:18px !important;
  min-height:118px !important;
}

.step-top{
  align-self:center !important;
}

.step p{
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  min-height:48px !important;
  margin:0 !important;
}

/* Desktop process alignment */
@media(min-width:900px){
  .step{
    grid-template-columns:300px 1fr !important;
    align-items:center !important;
  }

  .step-top{
    height:100% !important;
    align-items:center !important;
  }

  .step p{
    height:100% !important;
    min-height:64px !important;
  }
}

/* Tablet/mobile header safety */
@media(max-width:980px){
  .nav{
    min-height:80px !important;
    padding:9px 16px !important;
  }

  .brand img{
    height:60px !important;
    max-width:220px !important;
  }

  .hero,
  .page-hero{
    padding-top:166px !important;
  }

  .mobile-menu{
    top:90px !important;
  }
}

@media(max-width:480px){
  .header{
    top:11px !important;
  }

  .nav{
    min-height:72px !important;
    padding:8px 13px !important;
  }

  .brand img{
    height:52px !important;
    max-width:175px !important;
  }

  .hero,
  .page-hero{
    padding-top:146px !important;
  }

  .mobile-menu{
    top:82px !important;
  }

  .step{
    min-height:auto !important;
    align-items:start !important;
  }

  .step p{
    min-height:auto !important;
    display:block !important;
  }
}


/* V16 — About page storytelling */
.about-story{
  background:
    radial-gradient(circle at 85% 12%, rgba(255,8,0,.09), transparent 24%),
    linear-gradient(180deg,#F6F3EE 0%,#FFFFFF 100%);
}

.about-split{
  display:grid;
  gap:42px;
  align-items:start;
}

.about-lead{
  font-size:clamp(22px,2.6vw,34px);
  line-height:1.28;
  font-weight:620;
  letter-spacing:.005em;
  color:#171717;
  max-width:820px;
}

.about-lead span{
  color:#FF0800;
}

.story-stack{
  display:grid;
  gap:16px;
}

.story-step{
  background:#fff;
  border:1px solid rgba(17,17,17,.12);
  border-radius:28px;
  padding:28px;
  box-shadow:0 18px 54px rgba(17,17,17,.07);
  display:grid;
  gap:12px;
}

.story-step small{
  color:#FF0800;
  font-weight:720;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.story-step h3{
  font-size:clamp(24px,3vw,38px);
  line-height:1.08;
  font-weight:670;
  letter-spacing:.005em;
}

.story-step p{
  color:#5B554E;
  font-size:17px;
  line-height:1.62;
}

.about-dark{
  background:#111;
  color:#fff;
  border-radius:36px;
  padding:clamp(32px,5vw,64px);
  box-shadow:0 34px 100px rgba(17,17,17,.20);
  position:relative;
  overflow:hidden;
}

.about-dark::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-110px;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,8,0,.28),transparent 68%);
}

.about-dark h2{
  font-size:clamp(34px,5vw,64px);
  line-height:1.04;
  font-weight:670;
  letter-spacing:.005em;
  position:relative;
  z-index:2;
}

.about-dark p{
  color:#D9D4CC;
  font-size:18px;
  line-height:1.65;
  max-width:780px;
  margin-top:22px;
  position:relative;
  z-index:2;
}

.values-row{
  display:grid;
  gap:18px;
  margin-top:34px;
  position:relative;
  z-index:2;
}

.value-pill{
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:20px;
  background:rgba(255,255,255,.05);
}

.value-pill strong{
  display:block;
  color:#fff;
  margin-bottom:8px;
  font-size:18px;
}

.value-pill span{
  color:#CFC8BE;
  font-size:15px;
}

.about-timeline{
  position:relative;
  display:grid;
  gap:18px;
}

.timeline-item{
  display:grid;
  gap:16px;
  padding:26px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(17,17,17,.12);
  box-shadow:0 18px 54px rgba(17,17,17,.06);
}

.timeline-num{
  width:46px;
  height:46px;
  border-radius:50%;
  background:#FF0800;
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:720;
  box-shadow:0 14px 34px rgba(255,8,0,.24);
}

.timeline-item h3{
  font-size:25px;
  line-height:1.12;
  font-weight:670;
}

.timeline-item p{
  color:#5B554E;
}

.manifesto-quote{
  font-size:clamp(30px,5vw,70px);
  line-height:1.06;
  font-weight:670;
  letter-spacing:.005em;
  max-width:1050px;
}

.manifesto-quote span{
  color:#FF0800;
}

@media(min-width:900px){
  .about-split{
    grid-template-columns:1.05fr .95fr;
  }

  .values-row{
    grid-template-columns:repeat(3,1fr);
  }

  .timeline-item{
    grid-template-columns:70px 1fr;
    align-items:start;
  }
}


/* V17 — top-right background line fix */
.hero,
.page-hero,
.about-story{
  background:#F6F3EE !important;
}

.hero::after,
.page-hero::after,
.about-story::after{
  display:none !important;
}

body{
  background:#F6F3EE !important;
}

/* V19 — more visuals + SEO blog */
.hero.v19-hero{min-height:100vh;padding-top:176px!important;padding-bottom:96px!important;background:#111!important;color:#fff;position:relative;isolation:isolate}
.v19-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.56),rgba(0,0,0,.75)),url("iron-dames.jpg") center/cover no-repeat;z-index:-2}
.v19-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 32%,rgba(255,8,0,.22),transparent 30%);z-index:-1;display:block!important}
.v19-hero h1{color:#fff!important;text-shadow:0 18px 60px rgba(0,0,0,.45)}
.v19-hero .hero-copy{color:#eee6dc!important}
.v19-hero .kicker,.v19-hero .pill{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important;backdrop-filter:blur(14px)}
.hero-proof-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;max-width:760px;margin-top:34px}
.hero-proof-panel div{padding:18px;border-radius:22px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px)}
.hero-proof-panel strong{display:block;font-size:26px;color:#fff}.hero-proof-panel span{color:#d9d4cc;font-size:13px}
.home-visual-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-48px;position:relative;z-index:4}
.home-visual-strip img{width:100%;height:260px;object-fit:cover;border-radius:26px;box-shadow:0 24px 70px rgba(17,17,17,.16);border:1px solid rgba(255,255,255,.18)}
.service-visual-card{padding:0!important;overflow:hidden}.service-visual-card img{width:100%;height:220px;object-fit:cover}.service-visual-card .service-body{padding:26px}
.logo-cloud{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.logo-cloud div{min-height:86px;border-radius:24px;background:#fff;border:1px solid rgba(17,17,17,.1);box-shadow:0 14px 44px rgba(17,17,17,.06);display:grid;place-items:center;font-weight:780;letter-spacing:.04em;text-align:center}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{background:#fff;border:1px solid rgba(17,17,17,.1);border-radius:28px;overflow:hidden;box-shadow:0 18px 54px rgba(17,17,17,.07);transition:.28s ease}.blog-card:hover{transform:translateY(-7px);box-shadow:0 28px 80px rgba(17,17,17,.12)}
.blog-cover{height:190px;background:#111 center/cover no-repeat;position:relative}.blog-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.45))}
.blog-body{padding:24px}.blog-meta{color:#ff0800;font-size:12px;font-weight:720;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.blog-card h3{font-size:23px;line-height:1.15;margin-bottom:12px;font-weight:680}.blog-card p{color:#5b554e;font-size:15px}
.founder-block{display:grid;gap:28px;align-items:center}.founder-photo{border-radius:34px;overflow:hidden;box-shadow:0 26px 80px rgba(17,17,17,.13)}.founder-photo img{width:100%;height:520px;object-fit:cover}
@media(min-width:900px){.founder-block{grid-template-columns:.85fr 1.15fr}}
@media(max-width:900px){.home-visual-strip{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}}
@media(max-width:580px){.home-visual-strip{grid-template-columns:1fr}.home-visual-strip img{height:230px}.founder-photo img{height:420px}}


/* V20.1 — home hero Iron Dames + cleaned home layout */
.hero.v19-hero{
  min-height:100vh!important;
  padding-top:176px!important;
  padding-bottom:96px!important;
  background:#111!important;
  color:#fff!important;
  position:relative!important;
  isolation:isolate!important;
}
.hero.v19-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.52),rgba(0,0,0,.76)),
    url("iron-dames.jpg") center/cover no-repeat!important;
  z-index:-2!important;
}
.hero.v19-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  display:block!important;
  background:
    radial-gradient(circle at 74% 34%,rgba(255,8,0,.24),transparent 28%),
    linear-gradient(180deg,rgba(255,8,0,.08),transparent 36%,rgba(0,0,0,.22))!important;
  z-index:-1!important;
}
.hero.v19-hero h1{color:#fff!important;text-shadow:0 18px 60px rgba(0,0,0,.48)!important}
.hero.v19-hero .hero-copy{color:#eee6dc!important}
.hero.v19-hero .kicker,
.hero.v19-hero .pill{background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important;backdrop-filter:blur(14px)!important}
.hero.v19-hero .btn-ghost{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.24)!important;backdrop-filter:blur(14px)!important}
