/* Homepage conversion pass: clear service-first landing, no copy over photography. */
.front-page{
  --front-space:clamp(68px,7vw,112px);
  max-width:1440px;
  margin-inline:auto;
  padding-bottom:clamp(64px,7vw,104px);
}

.front-page>*{padding-inline:clamp(24px,4vw,56px)}
.front-page h1,.front-page h2,.front-page h3{overflow-wrap:anywhere;text-wrap:balance}
.front-kicker,.front-routes__heading>p{
  margin:0 0 15px;
  color:var(--primary);
  font-size:.7rem;
  font-weight:750;
  letter-spacing:.075em;
  text-transform:uppercase;
}

/* The first screen says precisely what Natalia does and offers a next step. */
.front-hero{
  grid-template-columns:minmax(0,1.26fr) minmax(310px,.74fr);
  min-height:clamp(620px,calc(100svh - 78px),760px);
  gap:clamp(42px,7vw,104px);
  padding-top:clamp(80px,10vh,132px);
  padding-bottom:clamp(62px,8vh,94px);
  background:transparent;
}

.front-hero h1{max-width:15ch;margin-top:clamp(26px,4vh,54px);font-size:clamp(3rem,5.45vw,5.5rem);line-height:1.02}
.front-hero__lead{max-width:38rem;margin-top:clamp(25px,3vw,42px);font-size:clamp(1rem,1.32vw,1.2rem);line-height:1.6}
.front-hero__links{gap:12px;margin-top:32px}
.front-hero__links .front-action{
  justify-content:space-between;
  gap:28px;
  min-height:50px;
  padding:0 18px;
  border:1px solid var(--line);
  color:var(--ink);
  font-size:.82rem;
}
.front-hero__links .front-action--primary{border-color:var(--primary);background:var(--primary);color:#001c17}
.front-hero__links .front-action:hover,.front-hero__links .front-action:focus-visible{border-color:var(--primary);background:oklch(.17 .035 170);outline:none}
.front-hero__links .front-action--primary:hover,.front-hero__links .front-action--primary:focus-visible{background:color-mix(in oklab,var(--primary) 85%,white)}
.front-hero__portrait{width:min(100%,430px);margin-left:auto}
.front-hero__portrait:before{inset:-9px 9px 9px -9px}
.front-hero__portrait img{width:100%;height:clamp(410px,43vw,570px);object-fit:cover;object-position:50% 38%}
.front-hero__portrait span{right:18px;bottom:17px;left:auto;text-align:right}

/* Four direct answers to the most common client requests. */
.front-routes{padding-top:var(--front-space)}
.front-routes__heading{max-width:56rem}
.front-routes h2{font-size:clamp(2rem,4vw,4.1rem);line-height:1.05}
.front-routes__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-areas:none;
  gap:14px;
  margin-top:clamp(30px,4vw,48px);
}
.front-routes__grid>.front-route,
.front-routes__grid>.front-route--service,
.front-routes__grid>.front-route--case,
.front-routes__grid>.front-route--about,
.front-routes__grid>.front-route--reviews{
  display:grid;
  grid-area:auto;
  grid-template-columns:minmax(180px,.68fr) minmax(0,1fr);
  align-items:stretch;
  min-height:280px;
  padding:0;
  overflow:hidden;
  background:var(--surface);
}
.front-route:after{display:none}
.front-route img{position:relative;inset:auto;width:100%;height:100%;min-height:280px;opacity:1;object-fit:cover;filter:none}
.front-route:hover img{transform:none;opacity:1}
.front-route>div{display:flex;min-width:0;max-width:none;flex-direction:column;align-items:flex-start;padding:clamp(22px,2.7vw,34px)}
.front-route h3{margin-top:13px;font-size:clamp(1.18rem,1.78vw,1.72rem);line-height:1.16}
.front-route p{margin-top:13px;color:var(--muted);font-size:.9rem;line-height:1.48}
.front-route b{margin-top:auto;padding-top:18px}
.front-route:hover,.front-route:focus-visible{background:oklch(.14 .016 170);transform:translateY(-2px)}

/* A complete, understandable service catalogue with safely contained source imagery. */
.front-services{padding-top:var(--front-space);padding-bottom:var(--front-space);background:transparent}
.front-section-heading{grid-template-columns:minmax(0,1.1fr) minmax(280px,.66fr);gap:clamp(30px,6vw,92px);align-items:end}
.front-section-heading h2{max-width:15ch;font-size:clamp(2.15rem,4.2vw,4.45rem);line-height:1.04}
.front-section-heading>p{padding-bottom:4px;font-size:clamp(1rem,1.2vw,1.12rem)}
.front-services__grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:clamp(34px,5vw,58px)}
.front-services__grid>.front-service-card,
.front-services__grid>.front-service-card--1,
.front-services__grid>.front-service-card--2,
.front-services__grid>.front-service-card--3,
.front-services__grid>.front-service-card--4,
.front-services__grid>.front-service-card--5,
.front-services__grid>.front-service-card--6,
.front-services__grid>.front-service-card--13,
.front-services__grid>.front-service-card--15{
  grid-column:span 4;
  grid-template-columns:1fr;
  min-height:0;
  background:var(--surface);
}
.front-service-card img{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:contain;background:oklch(.12 .005 170)}
.front-service-card>div{min-height:215px;padding:22px 23px}
.front-service-card h3{margin-top:20px;font-size:clamp(1.15rem,1.55vw,1.5rem);line-height:1.17}
.front-service-card p{font-size:.9rem;line-height:1.5}
.front-service-card:hover,.front-service-card:focus-visible{border-color:var(--primary);background:oklch(.14 .014 170);transform:translateY(-2px)}
.front-services__all{min-height:82px;margin-top:2px}

/* Social proof is clear, short and visually quiet. */
.front-cases{padding-top:var(--front-space)}
.front-cases__grid{gap:14px;margin-top:clamp(30px,4vw,52px)}
.front-case-card img{aspect-ratio:4 / 5;object-fit:contain;background:var(--surface)}
.front-case-card h3{font-size:clamp(1rem,1.3vw,1.28rem)}

/* Editorial comes after services; card copy is never layered on an image. */
.front-magazine{padding-top:var(--front-space);padding-bottom:var(--front-space);background:transparent}
.front-magazine__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.front-magazine-card,
.front-magazine-card--1,
.front-magazine-card--2,
.front-magazine-card--3,
.front-magazine-card--4,
.front-magazine-card--5,
.front-magazine-card--6,
.front-magazine-card--7,
.front-magazine-card--8{
  display:flex;
  grid-column:auto;
  grid-template-columns:none;
  min-height:0;
  flex-direction:column;
  background:var(--bg);
}
.front-magazine-card--1{grid-column:span 2}
.front-magazine-card__media,
.front-magazine-card--1 .front-magazine-card__media,
.front-magazine-card--2 .front-magazine-card__media,
.front-magazine-card--3 .front-magazine-card__media,
.front-magazine-card--5 .front-magazine-card__media,
.front-magazine-card--6 .front-magazine-card__media,
.front-magazine-card--7 .front-magazine-card__media,
.front-magazine-card--8 .front-magazine-card__media{order:0;height:auto;aspect-ratio:16 / 10}
.front-magazine-card__media img{object-fit:contain;background:oklch(.12 .006 170)}
.front-magazine-card__content,.front-magazine-card--1 .front-magazine-card__content{min-height:212px;padding:22px}
.front-magazine-card h3,.front-magazine-card--1 h3,.front-magazine-card--review h3{margin-top:19px;font-size:clamp(1.1rem,1.45vw,1.42rem);line-height:1.17}
.front-magazine-card--1 h3{font-size:clamp(1.45rem,2.2vw,2.22rem)}
.front-magazine-card p,.front-magazine-card--1 p{font-size:.88rem;-webkit-line-clamp:3}
.front-magazine-card b{padding-top:17px}
.front-magazine-card--review{background:var(--bg)}

.front-closing{display:block;padding-top:var(--front-space);padding-bottom:var(--front-space);background:transparent}
.front-closing>div{max-width:52rem}.front-closing h2{font-size:clamp(2.3rem,4.8vw,5rem);line-height:1.03}.front-closing p{max-width:42rem}.front-closing a{display:inline-flex;align-items:center;gap:14px;margin-top:28px;color:var(--primary);font-size:.9rem;font-weight:750}

@media (max-width:1100px){
  .front-services__grid>.front-service-card,.front-services__grid>.front-service-card--1,.front-services__grid>.front-service-card--2,.front-services__grid>.front-service-card--3,.front-services__grid>.front-service-card--4,.front-services__grid>.front-service-card--5,.front-services__grid>.front-service-card--6,.front-services__grid>.front-service-card--13,.front-services__grid>.front-service-card--15{grid-column:span 6;grid-template-columns:minmax(150px,.56fr) minmax(0,1fr)}
  .front-service-card img{height:100%;aspect-ratio:auto}.front-service-card>div{min-height:0}.front-magazine__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.front-magazine-card--1{grid-column:span 2}
}

@media (max-width:760px){
  .front-page{--front-space:56px}.front-page>*{padding-inline:18px}
  .front-hero{display:flex;min-height:0;padding-top:48px;padding-bottom:0;gap:28px;background:transparent}
  .front-hero h1{margin-top:24px;font-size:clamp(2.55rem,10.5vw,3.65rem)}.front-hero__lead{margin-top:23px}.front-hero__links{display:grid;grid-template-columns:1fr;gap:8px;margin-top:24px}.front-hero__links .front-action{width:100%}
  .front-hero__portrait{width:calc(100% + 36px);margin:0 -18px}.front-hero__portrait img{height:min(105vw,450px)}
  .front-routes h2{font-size:clamp(1.85rem,8.6vw,2.85rem)}.front-routes__grid{grid-template-columns:1fr;gap:10px;margin-top:28px}
  .front-routes__grid>.front-route,.front-routes__grid>.front-route--service,.front-routes__grid>.front-route--case,.front-routes__grid>.front-route--about,.front-routes__grid>.front-route--reviews{grid-template-columns:116px minmax(0,1fr);min-height:160px}
  .front-route img{min-height:160px}.front-route>div{padding:16px}.front-route h3{margin-top:8px;font-family:Manrope,Arial,sans-serif;font-size:1.04rem;font-weight:700;letter-spacing:-.02em}.front-route p{display:none}.front-route b{margin-top:11px;padding-top:0;font-size:.68rem}
  .front-section-heading{display:block}.front-section-heading h2{font-size:clamp(2rem,9vw,3.1rem)}.front-section-heading>p{margin-top:20px}
  .front-services__grid{gap:10px;margin-top:30px}.front-services__grid>.front-service-card,.front-services__grid>.front-service-card--1,.front-services__grid>.front-service-card--2,.front-services__grid>.front-service-card--3,.front-services__grid>.front-service-card--4,.front-services__grid>.front-service-card--5,.front-services__grid>.front-service-card--6,.front-services__grid>.front-service-card--13,.front-services__grid>.front-service-card--15{grid-column:span 12;grid-template-columns:112px minmax(0,1fr)}
  .front-service-card img{min-height:136px}.front-service-card>div{padding:15px}.front-service-card h3{margin-top:9px;font-family:Manrope,Arial,sans-serif;font-size:1.08rem;font-weight:700;letter-spacing:-.02em}.front-service-card p{display:none}.front-service-card b{margin-top:11px;font-size:.68rem}.front-services__all{min-height:70px}
  .front-cases__grid{gap:18px 10px}.front-case-card img{aspect-ratio:1 / 1}
  .front-magazine{padding-bottom:56px}.front-magazine__grid{grid-template-columns:1fr;gap:10px}.front-magazine-card--1{grid-column:auto}.front-magazine-card,.front-magazine-card--1,.front-magazine-card--2,.front-magazine-card--3,.front-magazine-card--4,.front-magazine-card--5,.front-magazine-card--6,.front-magazine-card--7,.front-magazine-card--8{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:132px}.front-magazine-card__media,.front-magazine-card--1 .front-magazine-card__media{aspect-ratio:auto;min-height:132px}.front-magazine-card__content,.front-magazine-card--1 .front-magazine-card__content{min-height:0;padding:15px}.front-magazine-card h3,.front-magazine-card--1 h3{margin-top:9px;font-size:1rem}.front-magazine-card p,.front-magazine-card--1 p,.front-magazine-card b{display:none}
  .front-page>.callback,.front-page>.channel-cta{margin-inline:18px}
}

@media (prefers-reduced-motion:reduce){.front-route,.front-service-card,.front-magazine-card{transition:none}}
