/* =========================================================
   Stardust Consulting – AI-transformation, prototyp
   Delad stilmall. Bygger på Stardusts varumärke.
   ========================================================= */

:root{
  --navy:#142330;
  --navy-dark:#0F1A24;
  --teal:#50D3AD;
  --teal-dark:#53AC92;
  --red:#A81642;
  --base:#E5E5DF;
  --white:#ffffff;
  --ink:#142330;
  --muted:#3d4c59;
  --muted-light:#9fb0ba;
  --line:rgba(20,35,48,.12);
  --line-dark:rgba(255,255,255,.14);
  --serif:"Sfizia", Georgia, "Times New Roman", serif;
  --sans:"Basier Square", Arial, Helvetica, sans-serif;
  --maxw:1180px;
  --radius:18px;
  --radius-lg:26px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--base);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; line-height:1.12; letter-spacing:.1px; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
.section{ padding:84px 0; }
.section--tight{ padding:56px 0; }

.eyebrow{
  font-family:var(--sans);
  font-size:12.5px; font-weight:700;
  letter-spacing:2.4px; text-transform:uppercase;
  color:var(--red);
}
.eyebrow--teal{ color:var(--teal-dark); }
.lead{ font-size:19px; color:var(--muted); }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-weight:600; font-size:14px;
  letter-spacing:1.4px; text-transform:uppercase;
  padding:15px 26px; border-radius:6px;
  border:1px solid transparent; cursor:pointer;
  transition:.18s ease;
}
.btn--teal{ background:var(--teal); color:var(--navy); }
.btn--teal:hover{ background:var(--teal-dark); }
.btn--ghost{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.45); }
.btn--ghost:hover{ background:rgba(255,255,255,.08); }
.btn--light{ background:var(--white); color:var(--navy); }
.btn--light:hover{ background:#f0f0ea; }

/* ---------- Top navigation ---------- */
.nav{
  background:var(--navy);
  position:relative; z-index:30;
}
.nav__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:26px 32px;
  max-width:1320px; margin:0 auto;
}
.nav__logo img{ height:34px; width:auto; }
.nav__links{ display:flex; align-items:center; gap:36px; }
.nav__links a{
  font-size:12.5px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase;
  color:rgba(255,255,255,.82); transition:.15s;
}
.nav__links a:hover{ color:var(--white); }
.nav__links a.is-active{ color:var(--teal); }
.nav__burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; }
.nav__burger span{ width:24px; height:2px; background:var(--white); display:block; }

/* ---------- Hero (navy) ---------- */
.hero{
  background:var(--navy);
  color:var(--white);
  position:relative; overflow:hidden;
  padding:18px 0 0;
}
.hero::before{ /* teal glow */
  content:""; position:absolute; top:-120px; left:6%;
  width:360px; height:360px; border-radius:50%;
  background:radial-gradient(circle, rgba(80,211,173,.30), transparent 65%);
  filter:blur(10px); pointer-events:none;
}
.hero::after{ /* red glow */
  content:""; position:absolute; top:-60px; left:-40px;
  width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle, rgba(168,22,66,.28), transparent 65%);
  pointer-events:none;
}
.hero__inner{ position:relative; z-index:2; padding-bottom:54px; }
.breadcrumb{
  font-size:12.5px; letter-spacing:.4px; color:var(--teal);
  margin-bottom:30px; border-bottom:1px solid rgba(255,255,255,.14);
  padding-bottom:14px; display:inline-block;
}
.breadcrumb span{ color:rgba(255,255,255,.5); }
.hero h1{
  font-size:clamp(34px, 5vw, 58px);
  max-width:15ch; margin-top:8px;
}
.hero .eyebrow{ margin-bottom:18px; display:block; }
.hero__lead{
  font-size:19px; color:rgba(255,255,255,.82);
  max-width:46ch; margin-top:22px;
}
.hero__cta{ margin-top:34px; display:flex; gap:14px; flex-wrap:wrap; }

/* Hero photo overlapping into next light section */
.hero-photo{
  position:relative; z-index:2;
  margin-top:-1px;
}
.hero-photo__media{
  height:380px;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  background:
    radial-gradient(120% 140% at 80% 10%, rgba(80,211,173,.18), transparent 50%),
    linear-gradient(120deg, #1d3242, #2a4254 60%, #45606e);
  position:relative; overflow:hidden;
}
.section-after-hero{ background:var(--base); }

/* ---------- Generic photo / illustration placeholders ---------- */
.media{
  border-radius:var(--radius); overflow:hidden; position:relative;
  background:linear-gradient(135deg,#23394a,#3a5566);
}
img.media{ width:100%; height:100%; object-fit:cover; }
.media--photo{ background:linear-gradient(135deg,#26323b,#46555f); }
.media--tall{ aspect-ratio:4/5; }
.media--wide{ aspect-ratio:16/10; }
.media--square{ aspect-ratio:1/1; }
.illus{
  border-radius:var(--radius-lg);
  background:linear-gradient(150deg,#dfeee7,#eef1ec 55%,#e9eef0);
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:1/1; padding:8%;
}
.illus svg{ width:78%; height:auto; }

/* ---------- Service area blocks (start page) ---------- */
.area{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:70px; align-items:center;
}
.area + .area{ margin-top:30px; }
.area--rev .area__text{ order:2; }
.area h2{ font-size:clamp(30px,3.4vw,42px); margin-bottom:18px; }
.area__text p{ color:var(--muted); max-width:42ch; }
.area__links{ margin-top:26px; display:flex; flex-direction:column; gap:14px; }
.svc-link{
  font-family:var(--serif); font-size:21px; color:var(--red);
  display:inline-flex; align-items:center; gap:12px; width:fit-content;
  transition:.15s; border-bottom:1px solid transparent;
}
.svc-link .arr{ color:var(--teal-dark); transition:transform .18s; }
.svc-link:hover{ color:var(--navy); }
.svc-link:hover .arr{ transform:translateX(5px); }
.area__cta{ margin-top:30px; }

/* glow accent behind light sections */
.glow-pink{ position:relative; }
.glow-pink::before{
  content:""; position:absolute; top:-60px; left:-80px;
  width:320px; height:320px; border-radius:50%;
  background:radial-gradient(circle, rgba(168,22,66,.10), transparent 65%);
  pointer-events:none; z-index:0;
}
.glow-pink > *{ position:relative; z-index:1; }

/* ---------- v2: package cards (one pager-struktur) ---------- */
.pkg-head{
  display:grid; grid-template-columns:minmax(230px,.9fr) 1fr 1fr;
  gap:32px; padding:0 30px; margin-bottom:14px;
}
.pkg-head span{
  font-size:12px; font-weight:700; letter-spacing:2.6px; text-transform:uppercase;
  color:var(--navy);
}
.pkg-head .ph-omr{ grid-column:1; }
.pkg-head .ph-ins{ grid-column:2; }
.pkg-head .ph-for{ grid-column:3; }
.pkg{
  background:var(--white); border-radius:var(--radius-lg);
  padding:30px; margin-bottom:26px;
  display:grid; grid-template-columns:minmax(230px,.9fr) 1fr 1fr;
  gap:32px; align-items:stretch;
  box-shadow:0 2px 24px rgba(20,35,48,.05);
}
.pkg__area{
  background:var(--navy); border-radius:var(--radius);
  padding:30px 28px;
  display:flex; flex-direction:column; justify-content:center;
}
.pkg__area h2{ font-size:clamp(24px,2.3vw,30px); margin-bottom:8px; color:var(--white); }
.pkg__area > p{ color:rgba(255,255,255,.78); font-size:15px; max-width:30ch; }
.pkg__area .btn{ margin-top:26px; padding:13px 20px; font-size:12px; width:fit-content; }
.pkg__col{ display:flex; flex-direction:column; justify-content:center; gap:14px; }
.pkg__svc{
  background:#F2F2ED; border-radius:12px;
  border-left:3px solid var(--teal);
  padding:18px 20px;
}
.pkg__col--red .pkg__svc{ border-left-color:var(--red); }
.pkg__svc h3{ font-family:var(--sans); font-size:16.5px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.pkg__svc p{ font-size:14.5px; line-height:1.55; color:var(--muted); }
.pkg-labels{ display:none; }
@media (max-width:900px){
  .pkg-head{ display:none; }
  .pkg{ grid-template-columns:1fr; gap:24px; padding:22px 18px; }
  .pkg-labels{ display:block; font-size:11px; font-weight:700; letter-spacing:2.4px; text-transform:uppercase; color:var(--navy); margin-bottom:12px; }
}

/* ---------- People / proof section ---------- */
.people{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.people__grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.people__grid .media{ aspect-ratio:1/1; }
.people__text .eyebrow{ display:block; margin-bottom:16px; }
.people__text h2{ font-size:clamp(26px,3vw,36px); margin-bottom:22px; }
.people__text p{ color:var(--muted); margin-bottom:14px; }
.people__text strong{ color:var(--navy); }
.people__text .more{ color:var(--red); font-weight:600; margin-top:8px; display:inline-block; }

/* ---------- Quote + clients (navy) ---------- */
.dark{ background:var(--navy); color:var(--white); }
.dark .eyebrow--teal{ color:var(--teal); }
.quote{ display:grid; grid-template-columns:1fr .9fr; gap:80px; align-items:center; }
.quote__photo{
  position:relative; aspect-ratio:5/4; border-radius:4px; overflow:hidden;
  background:linear-gradient(160deg,#3a4a55,#1c2b36 70%);
}
.quote__photo blockquote{
  position:absolute; left:7%; bottom:26%;
  font-family:var(--serif); font-size:clamp(20px,2vw,26px);
  font-style:italic; line-height:1.3; color:var(--white);
  max-width:16ch; text-shadow:0 1px 14px rgba(0,0,0,.45);
}
.quote__photo cite{
  position:absolute; left:34%; bottom:8%;
  font-style:normal; font-family:var(--sans); font-size:13px;
  color:rgba(255,255,255,.85); line-height:1.6;
}
.quote__dots{ display:flex; gap:6px; margin-top:16px; padding-left:8px; }
.quote__dots i{ width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.35); }
.quote__dots i.on{ background:var(--teal); }
.clients h3{ font-size:30px; margin-bottom:14px; }
.clients p{ font-size:15px; color:rgba(255,255,255,.7); max-width:38ch; }

/* logo wall – two full-bleed rows of varied wordmarks */
.logo-wall{ margin-top:80px; overflow:hidden; }
.logo-wall__row{
  display:flex; gap:64px; align-items:center; justify-content:space-between;
  padding:20px 0; white-space:nowrap;
}
.logo-wall__row + .logo-wall__row{ border-top:1px solid rgba(255,255,255,.07); }
.logo-wall span{
  color:rgba(255,255,255,.88); flex:0 0 auto;
  font-family:var(--sans); font-size:13px; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
}
.logo-wall .lw-serif{ font-family:var(--serif); font-weight:600; font-size:17px; letter-spacing:.5px; text-transform:none; }
.logo-wall .lw-lower{ text-transform:lowercase; letter-spacing:.5px; font-size:16px; }
.logo-wall .lw-small{ font-size:10px; letter-spacing:1.8px; font-weight:600; }
.logo-wall .lw-frame{ border:1px solid rgba(255,255,255,.55); padding:5px 14px; font-family:var(--serif); font-weight:500; font-size:14px; letter-spacing:1px; text-transform:none; }
.logo-wall .lw-mark::after{ content:" ✦"; color:rgba(255,255,255,.88); }

/* ---------- Testimonial cards ---------- */
.tcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:50px; }
.tcard{ background:var(--navy-dark); border:1px solid var(--line-dark); border-radius:var(--radius); padding:30px; }
.tcard .co{ font-size:12px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--teal); margin-bottom:18px; }
.tcard blockquote{ font-family:var(--serif); font-style:italic; font-size:18px; margin-bottom:14px; }
.tcard p{ font-size:14.5px; color:rgba(255,255,255,.72); }
.tcard__who{ display:flex; align-items:center; gap:12px; margin-top:22px; }
.tcard__who .av{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#46555f,#26323b); flex:0 0 auto; }
.tcard__who b{ display:block; font-size:14px; }
.tcard__who small{ color:var(--muted-light); }

/* =========================================================
   Landing-page template (undersidor)
   ========================================================= */
.lp{ display:grid; grid-template-columns:340px 1fr; gap:64px; align-items:start; }
.lp__aside{ position:sticky; top:30px; }
.consultant{ display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.consultant .av{ width:62px; height:62px; border-radius:50%; background:linear-gradient(135deg,#46555f,#26323b); flex:0 0 auto; }
.consultant b{ display:block; font-size:15px; }
.consultant small{ color:var(--muted); }
.lp__aside h3{ font-size:26px; margin-bottom:8px; }
.lp__aside .hint{ color:var(--muted); font-size:15px; margin-bottom:22px; }
.form label{ display:block; font-size:11px; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:var(--muted); margin-bottom:7px; }
.form .field{ margin-bottom:18px; }
.form input, .form textarea{
  width:100%; font-family:var(--sans); font-size:15px;
  padding:13px 14px; border:1px solid var(--line); border-radius:8px;
  background:var(--white); color:var(--ink); resize:vertical;
}
.form input:focus, .form textarea:focus{ outline:2px solid var(--teal); border-color:transparent; }
.form textarea{ min-height:96px; }

.lp__main > * + *{ margin-top:22px; }
.lp__main h2{ font-size:clamp(26px,2.8vw,34px); margin-top:46px; }
.lp__main h2:first-child{ margin-top:0; }
.lp__main p{ color:var(--muted); }
.lp__main p strong, .lp__main li strong{ color:var(--navy); }
.checklist{ list-style:none; display:flex; flex-direction:column; gap:13px; margin-top:6px; }
.checklist li{ position:relative; padding-left:30px; color:var(--muted); }
.checklist li::before{ content:""; position:absolute; left:0; top:9px; width:9px; height:9px; border-radius:50%; background:var(--teal); }
.steplist--red li::before{ background:var(--red); }

/* numbered steps */
.steps{ display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; }
.steps__list{ counter-reset:step; display:flex; flex-direction:column; gap:30px; }
.step{ display:grid; grid-template-columns:42px 1fr; gap:20px; align-items:start; }
.step__n{ font-family:var(--serif); font-size:28px; color:var(--navy); }
.step h4{ font-family:var(--sans); font-size:16px; font-weight:700; margin-bottom:6px; }
.step p{ color:var(--muted); font-size:15px; }

/* benefit grid (mint card) */
.benefits{
  background:linear-gradient(150deg,#d7ece4,#eef1ec 70%);
  border-radius:var(--radius-lg); padding:60px;
}
.benefits h2{ margin-bottom:42px; }
.benefits__grid{ display:grid; grid-template-columns:1fr 1fr; gap:42px 60px; }
.benefit .bar{ width:46px; height:2px; background:var(--navy); opacity:.4; margin-bottom:16px; }
.benefit h3{ font-size:21px; margin-bottom:8px; }
.benefit p{ color:var(--muted); font-size:15px; }

/* CTA block */
.cta-block{ display:grid; grid-template-columns:.85fr 1.15fr; gap:54px; align-items:center; }
.cta-block__media{ display:grid; gap:18px; }
.cta-block__media .media{ aspect-ratio:16/10; }
.cta-block h2{ font-size:clamp(28px,3vw,38px); margin:14px 0 18px; }
.cta-block p{ color:var(--muted); }
.cta-block .checklist{ margin:24px 0 28px; }

/* related services */
.related h2{ font-size:clamp(26px,3vw,34px); margin-bottom:30px; }
.rel-item{
  display:grid; grid-template-columns:200px 1fr 30px; gap:30px; align-items:center;
  padding:24px 0; border-top:1px solid var(--line);
}
.rel-item:last-child{ border-bottom:1px solid var(--line); }
.rel-item .media{ aspect-ratio:16/10; }
.rel-item h3{ font-size:24px; margin-bottom:6px; }
.rel-item p{ color:var(--muted); font-size:15px; }
.rel-item .arr{ color:var(--teal-dark); font-size:20px; justify-self:end; }

/* FAQ */
.faq{ background:linear-gradient(150deg,#eef1ec,#dbece5); }
.faq__inner{ display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.faq h2{ font-size:clamp(28px,3.2vw,40px); }
.faq__list{ display:flex; flex-direction:column; }
.faq__item{ border-top:1px solid var(--line); }
.faq__item:last-child{ border-bottom:1px solid var(--line); }
.faq__q{
  width:100%; text-align:left; background:none; border:0; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  padding:24px 4px; font-size:17px; color:var(--navy);
}
.faq__q .arr{ color:var(--teal-dark); transition:transform .2s; }
.faq__item.open .faq__q .arr{ transform:rotate(90deg); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.faq__a p{ padding:0 4px 24px; color:var(--muted); font-size:15.5px; max-width:60ch; }

/* ---------- Program (team & individer) ---------- */
.facts{ display:flex; gap:14px; flex-wrap:wrap; margin-top:38px; }
.fact{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14);
  border-radius:12px; padding:16px 22px; min-width:180px;
}
.fact b{ display:block; font-family:var(--serif); font-size:24px; color:var(--teal); margin-bottom:3px; }
.fact span{ font-size:13px; color:rgba(255,255,255,.75); line-height:1.4; display:block; max-width:24ch; }

.phases{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:22px; margin-top:46px; }
.phase{
  background:var(--white); border-radius:var(--radius-lg);
  padding:34px 30px; position:relative;
  box-shadow:0 2px 24px rgba(20,35,48,.05);
  display:flex; flex-direction:column;
}
.phase:not(:last-child)::after{
  content:"→"; position:absolute; right:-19px; top:44%;
  font-size:22px; color:var(--teal-dark); z-index:2;
}
.phase__n{
  font-size:11.5px; font-weight:700; letter-spacing:2.4px; text-transform:uppercase;
  color:var(--red); margin-bottom:12px;
}
.phase h3{ font-size:27px; margin-bottom:10px; }
.phase > p{ color:var(--muted); font-size:15px; margin-bottom:18px; }
.phase ul{ list-style:none; display:flex; flex-direction:column; gap:9px; margin-bottom:22px; }
.phase ul li{ position:relative; padding-left:22px; font-size:14.5px; color:var(--muted); }
.phase ul li::before{ content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--teal); }
.phase__out{
  margin-top:auto; background:#F2F2ED; border-radius:10px; padding:14px 16px;
  font-size:14px; color:var(--navy);
}
.phase__out b{ display:block; font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--teal-dark); margin-bottom:4px; }
.phases-note{ text-align:center; margin-top:26px; color:var(--muted); font-size:15px; }

.phase-detail{ display:grid; grid-template-columns:.38fr 1fr; gap:56px; align-items:start; }
.phase-detail__head .pd-n{
  font-family:var(--serif); font-size:64px; line-height:1; color:var(--teal-dark);
}
.phase-detail__head h2{ font-size:clamp(28px,3vw,38px); margin:10px 0 14px; }
.phase-detail__head p{ color:var(--muted); font-size:15.5px; }
.pd-cards{ display:flex; flex-direction:column; gap:18px; }
.pd-card{
  background:var(--white); border-radius:var(--radius); padding:26px 28px;
  box-shadow:0 2px 18px rgba(20,35,48,.04);
}
.section--white .pd-card{ background:#F6F6F2; box-shadow:none; }
.pd-card h4{ font-family:var(--sans); font-size:16px; font-weight:700; margin-bottom:6px; }
.pd-card .who{ font-size:12px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; color:var(--red); margin-bottom:10px; display:block; }
.pd-card p{ font-size:14.5px; color:var(--muted); margin-bottom:10px; }
.pd-card ul{ list-style:none; display:flex; flex-direction:column; gap:8px; }
.pd-card ul li{ position:relative; padding-left:22px; font-size:14.5px; color:var(--muted); }
.pd-card ul li::before{ content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--teal); }
.pd-meta{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:6px; }
.chip{
  background:#EAF6F1; color:var(--navy); border:1px solid rgba(83,172,146,.35);
  border-radius:99px; padding:6px 14px; font-size:13px; font-weight:600;
}
.measure{
  background:var(--navy); color:var(--white); border-radius:var(--radius);
  padding:24px 28px; display:flex; gap:18px; align-items:center;
}
.measure .m-ico{ font-family:var(--serif); font-size:34px; color:var(--teal); flex:0 0 auto; }
.measure b{ display:block; margin-bottom:4px; }
.measure p{ font-size:14px; color:rgba(255,255,255,.78); }

.prereqs{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.prereq{
  background:var(--white); border-radius:var(--radius); padding:24px;
  border-top:3px solid var(--teal);
}
.prereq:nth-child(even){ border-top-color:var(--red); }
.prereq h4{ font-family:var(--sans); font-size:15px; font-weight:700; margin-bottom:8px; }
.prereq p{ font-size:13.5px; color:var(--muted); line-height:1.55; }
.prereq-note{
  margin-top:24px; background:#F2F2ED; border-radius:12px; padding:18px 22px;
  font-size:14.5px; color:var(--navy); text-align:center;
}

.principles{ display:flex; flex-direction:column; gap:4px; margin-top:10px; }
.principle{ padding:22px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:.45fr 1fr; gap:30px; }
.principle:last-child{ border-bottom:1px solid var(--line); }
.principle h4{ font-family:var(--serif); font-size:20px; font-weight:600; }
.principle p{ color:var(--muted); font-size:15px; }

@media (max-width:900px){
  .phases{ grid-template-columns:1fr; }
  .phase:not(:last-child)::after{ content:"↓"; right:auto; left:50%; top:auto; bottom:-22px; }
  .phase-detail{ grid-template-columns:1fr; gap:26px; }
  .phase-detail__head .pd-n{ font-size:46px; }
  .prereqs{ grid-template-columns:1fr; }
  .principle{ grid-template-columns:1fr; gap:8px; padding:18px 0; }
  .facts{ gap:10px; }
  .fact{ min-width:46%; }
}

/* ---------- Footer ---------- */
.footer{ background:var(--navy); color:var(--white); }
.footer__photos{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-top:60px; }
.footer__photos .media{ aspect-ratio:16/11; }
.footer__main{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:60px 0; }
.footer__brand img{ height:30px; margin-bottom:24px; }
.footer__brand p{ font-size:14px; color:rgba(255,255,255,.7); margin-bottom:18px; }
.news{ display:flex; gap:8px; max-width:320px; }
.news input{ flex:1; padding:12px 14px; border-radius:8px; border:1px solid var(--line-dark); background:transparent; color:var(--white); font-family:var(--sans); }
.news button{ width:46px; border:1px solid var(--line-dark); background:transparent; color:var(--white); border-radius:8px; cursor:pointer; font-size:18px; }
.footer__col h4{ font-family:var(--sans); font-size:15px; font-weight:700; margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid var(--line-dark); }
.footer__col a{ display:block; font-size:14.5px; color:rgba(255,255,255,.72); margin-bottom:11px; transition:.15s; }
.footer__col a:hover{ color:var(--teal); }
.footer__col a.btn--light{ display:inline-flex; color:var(--navy); width:fit-content; }
.footer__col a.btn--light:hover{ color:var(--navy); }
.footer__addr{ font-size:14px; color:rgba(255,255,255,.7); line-height:1.9; }
.footer__bottom{ border-top:1px solid var(--line-dark); padding:22px 0; display:flex; justify-content:space-between; font-size:12.5px; color:rgba(255,255,255,.55); }

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .nav__links{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--navy); flex-direction:column; gap:0; padding:8px 0 18px;
    border-top:1px solid var(--line-dark);
  }
  .nav__links.open{ display:flex; }
  .nav__links a{ padding:14px 32px; }
  .nav__burger{ display:flex; }
  .area, .people, .quote, .steps, .cta-block, .lp, .faq__inner, .benefits__grid{ grid-template-columns:1fr; gap:40px; }
  .area--rev .area__text{ order:0; }
  .lp__aside{ position:static; }
  .tcards{ grid-template-columns:1fr; }
  .footer__main{ grid-template-columns:1fr 1fr; }
  .footer__photos{ grid-template-columns:1fr; }
  .rel-item{ grid-template-columns:1fr; gap:14px; }
  .section{ padding:60px 0; }
  .benefits{ padding:36px 24px; }
}
@media (max-width:560px){
  .wrap{ padding:0 20px; }
  .footer__main{ grid-template-columns:1fr; }
  .people__grid{ grid-template-columns:1fr 1fr; }
}
