/* The problem section follows Pipeline's half-page editorial composition. */
.home-problem-section { padding-block:clamp(72px,7vw,120px); font-family:var(--font-site); }
.home-problem-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gap); min-height:clamp(540px,44vw,680px); }
.home-problem-grid>* { grid-column:span 6; min-width:0; }
.home-problem-copy { display:flex; flex-direction:column; justify-content:space-between; gap:64px; padding-block:28px; }
.home-problem-copy h2 { font-family:var(--font-site); font-weight:400; font-size:clamp(40px,3.8vw,62px); line-height:1.015; letter-spacing:-.052em; max-width:18ch; overflow-wrap:break-word; text-wrap:pretty; }
.home-problem-copy>p { max-width:460px; font-size:15px; line-height:1.6; color:var(--muted); }
.home-problem-arguments { display:grid; grid-template-rows:repeat(3,1fr); background:var(--concrete); }
.home-problem-argument { display:grid; grid-template-columns:24px minmax(0,1fr) 40px; grid-template-rows:auto 1fr; gap:20px 16px; padding:28px; background:var(--concrete); color:var(--ink); border-bottom:1px solid #20231f40; transition:background-color .6s ease,color .6s ease,border-color .6s ease; }
.home-problem-argument:last-child { border-bottom:0; }
.home-problem-number { grid-column:1; grid-row:1; font-size:11px; padding-top:5px; color:var(--muted); transition:color .6s ease; }
.home-problem-argument h3 { grid-column:2; grid-row:1; font-size:clamp(20px,1.55vw,25px); font-weight:400; line-height:1.2; letter-spacing:-.025em; }
.home-problem-argument>img { grid-column:3; grid-row:1; width:40px; height:40px; }
.home-problem-argument>p { grid-column:2/4; grid-row:2; align-self:end; max-width:480px; font-size:14px; line-height:1.5; }
.home-problem-argument.is-revealed { background:var(--ink); color:var(--paper); border-color:#f2f1eb40; }
.home-problem-argument.is-revealed .home-problem-number { color:var(--orange); }
.home-problem-argument:nth-child(2),.home-problem-argument:nth-child(2) .home-problem-number { transition-delay:.18s; }
.home-problem-argument:nth-child(3),.home-problem-argument:nth-child(3) .home-problem-number { transition-delay:.36s; }
@media(max-width:1000px) and (min-width:801px) {
  .home-problem-copy { padding-block:24px; }
  .home-problem-copy h2 { font-size:40px; }
  .home-problem-argument { padding:24px 20px; grid-template-columns:20px minmax(0,1fr) 32px; gap:18px 12px; }
  .home-problem-argument>img { width:32px; height:32px; }
}
@media(max-width:800px) {
  .home-problem-grid { grid-template-columns:repeat(4,minmax(0,1fr)); min-height:0; gap:40px; }
  .home-problem-grid>* { grid-column:1/-1; }
  .home-problem-copy { gap:32px; padding-block:0; }
  .home-problem-copy h2 { font-size:clamp(36px,6vw,48px); }
  .home-problem-argument { min-height:190px; }
}
@media(max-width:480px) {
  .home-problem-section { padding-block:64px; }
  .home-problem-copy h2 { font-size:clamp(32px,8.5vw,40px); }
  .home-problem-argument { padding:24px 20px; grid-template-columns:20px minmax(0,1fr) 30px; gap:20px 12px; }
  .home-problem-argument>img { width:30px; height:30px; }
  .home-problem-argument>p { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) {
  .home-problem-argument,.home-problem-number { transition:none; }
}

/* Offers and references share the problem cards' type, padding and square edges. */
.home-offers,.home-work { font-family:var(--font-site); }
.home-offers .section-heading,.home-work .section-heading { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--gap); }
.home-offers .section-heading h2,.home-work .section-heading h2 { font-family:var(--font-site); font-weight:400; font-size:clamp(40px,3.8vw,62px); line-height:1.015; letter-spacing:-.052em; max-width:18ch; text-wrap:pretty; }
.home-work .section-heading>p { font-size:15px; line-height:1.6; }
.home-work .eyebrow { font-size:11px; font-weight:400; }
.home-work .eyebrow::before { display:none; }
.home-offers .offer-cards,.home-work .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--gap); }
.home-offers .feature { border-radius:var(--radius); padding:28px; gap:24px; background:var(--ink); color:var(--paper); grid-template-rows:auto auto 1fr auto auto; }
.home-offers .feature-heading { padding:0; min-height:0; }
.home-offers .offer-name { font-size:16px; font-weight:400; color:var(--orange); }
.home-offers .foundation-label { font-size:11px; font-weight:400; color:#c5c7bf; border:0; border-radius:var(--radius); padding:0; }
.home-offers .offer-cards h3,.home-work .work-card h3 { font-family:var(--font-site); font-size:clamp(20px,1.55vw,25px); font-weight:400; line-height:1.2; letter-spacing:-.025em; max-width:100%; }
.home-offers .offer-cards h3 { min-height:2.4em; }
.home-offers .foundation-visual { margin:0; align-self:center; }
.home-offers .foundation-visual :is(img,.service-illustration) { width:100%; aspect-ratio:2/1; object-fit:contain; border-radius:var(--radius); }
.home-offers .feature>p { font-size:14px; line-height:1.5; min-height:3em; max-width:480px; color:var(--paper); }
.home-offers .offer-link { min-height:44px; padding-top:18px; border-color:#f2f1eb40; font-size:13px; font-weight:400; }
.home-offers .offer-link svg { width:20px; height:20px; color:var(--orange); }
/* Keep the original offer colors within the updated card layout. */
.home-offers .feature--web { background:var(--orange); color:var(--ink); }
.home-offers .feature--web .offer-name,.home-offers .feature--web .foundation-label,.home-offers .feature--web>p,.home-offers .feature--web .offer-link svg { color:var(--ink); }
.home-offers .feature--web .offer-link { border-color:#20231f45; }
.home-work .work-card { border-radius:var(--radius); padding:28px; background:var(--concrete); color:var(--ink); }
.home-work .work-card--film { background:var(--ink); color:var(--paper); }
.home-work .work-meta { margin-bottom:28px; gap:20px; font-size:11px; line-height:1.5; min-height:0; }
.home-work .work-meta>span:first-child { font-size:16px; }
.home-work .work-card--film .work-meta>span:first-child { color:var(--orange); }
.home-work .work-card--film .work-meta { color:#c5c7bf; }
.home-work .work-client { display:none; }
.home-work .work-image { border-radius:var(--radius); }
.home-work .work-image img { object-fit:contain; border-radius:var(--radius); }
.home-work .work-copy { flex:1; width:100%; padding:0; }
.home-work .work-card--film .work-copy { padding-top:28px; }
.home-work .work-category { font-size:11px; line-height:1.5; margin-bottom:12px; }
.home-work .work-card h3 { margin-bottom:28px; }
.home-work .work-card p { font-size:14px; line-height:1.5; margin-top:auto; color:var(--muted); }
.home-work .work-card--film p { color:var(--paper); }
.home-work .project-tags { gap:8px 16px; margin-top:20px; }
.home-work .project-tags span { font-size:11px; border:0; border-radius:var(--radius); padding:0; }
.home-work .service-card-link { min-height:44px; padding-top:18px; margin-top:24px; font-size:13px; font-weight:400; border-top:1px solid #20231f40; }
.home-work .work-card--film .service-card-link { border-color:#f2f1eb40; }
.home-work .service-card-link svg { color:var(--orange); }
.home-work .section-actions>.button { min-height:44px; padding:12px 16px; font-size:13px; font-weight:400; border-radius:var(--radius); }
@media(max-width:1000px) and (min-width:801px) {
  .home-offers .section-heading h2,.home-work .section-heading h2 { font-size:40px; }
  .home-offers .feature,.home-work .work-card { padding:24px 20px; }
  .home-work .work-card--film { grid-column:auto; grid-row:span 2; display:flex; }
}
@media(max-width:800px) {
  .home-offers .section-heading h2,.home-work .section-heading h2 { font-size:clamp(36px,6vw,48px); }
  .home-offers .offer-cards,.home-work .work-grid { grid-template-columns:1fr; gap:24px; }
  .home-offers .section-heading,.home-work .section-heading { display:grid; grid-template-columns:1fr; gap:24px; }
  .home-work .section-heading>p { margin:0; padding:0; }
  .home-work .work-card--film { grid-column:auto; grid-row:auto; display:flex; }
  .home-offers .offer-cards h3,.home-offers .feature>p { min-height:0; }
  .home-offers .foundation-visual :is(img,.service-illustration) { max-height:300px; }
}
@media(max-width:480px) {
  .home-offers .section-heading h2,.home-work .section-heading h2 { font-size:clamp(32px,8.5vw,40px); }
  .home-offers .feature,.home-work .work-card { padding:24px 20px; }
  .home-work .work-meta { gap:16px; }
}

/* V3 refinement: V2 sections, brand and image-led opening remain intact. */
.home-v3{--ease-ui:cubic-bezier(.23,1,.32,1);--ease-image:cubic-bezier(.22,1,.36,1)}
.home-v3 h1,.home-v3 h2{letter-spacing:-.035em;line-height:1.08}
.home-v3 h3{letter-spacing:-.025em;line-height:1.2}
.home-v3 :focus-visible{outline:2px solid currentColor;outline-offset:6px}
.home-v3 .button{transition:transform 160ms var(--ease-ui),background-color 180ms ease,color 180ms ease}
.home-v3 .button:active{transform:scale(.975)}
.home-v3 .button svg,.home-v3 .offer-link svg{transition:transform 180ms var(--ease-ui)}
.home-v3 .hero{min-height:650px;height:clamp(650px,79svh,830px);padding:clamp(28px,3.4vw,52px)}
.home-v3 .hero-top{left:clamp(28px,3.4vw,52px);right:clamp(28px,3.4vw,52px);top:32px}
.home-v3 .hero-content{max-width:920px}
.home-v3 .hero h1{font-size:clamp(46px,5.15vw,78px);max-width:850px;line-height:1.045;letter-spacing:-.035em;margin-bottom:26px}
.home-v3 .hero-content>p{max-width:53ch;line-height:1.6}
.home-v3 .hero-actions{gap:14px;margin-top:28px}
.home-v3 .hero-actions .button{min-height:52px;padding:15px 20px}
.home-v3 .hero-sectors{margin-top:24px}
/* Keep contrast stable even when the footage crosses a bright concrete slab. */
.home-v3 .hero::before{display:block;background:linear-gradient(90deg,rgba(10,14,10,.82),rgba(10,14,10,.66) 65%,rgba(10,14,10,.54));pointer-events:none}
.home-v3 .hero-image,.home-v3 .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.home-v3 .hero-video{opacity:0}
.home-v3 .hero-video.is-ready{opacity:1}
.home-v3 .hero-content>p{color:var(--paper);text-shadow:none}
.home-v3 .hero-video-toggle{flex-shrink:0;min-height:44px;padding:10px 14px;border:1px solid #f2f1eb80;border-radius:var(--radius);background:var(--ink);color:var(--paper);font-size:12px;line-height:1.4}
.home-v3 .hero-video-toggle:hover{background:var(--paper);color:var(--ink)}
@media(max-width:800px){
 .home-v3 .hero-top{position:absolute;padding:0;align-items:flex-start;gap:20px}
 .home-v3 .hero .sector-label{max-width:270px}
}
.home-v3 .home-problem-copy h2,.home-v3 .home-offers .section-heading h2,.home-v3 .home-work .section-heading h2{line-height:1.075;letter-spacing:-.035em}
.home-v3 .home-problem-copy>p,.home-v3 .home-work .section-heading>p{font-size:16px;line-height:1.65}
.home-v3 .home-problem-argument>p{font-size:15px;line-height:1.6}
.home-v3 .home-problem-argument{transition:background-color 350ms ease,color 350ms ease,border-color 350ms ease}
.home-v3 .home-problem-number{transition:color 350ms ease}
.home-v3 .home-problem-argument:nth-child(2),.home-v3 .home-problem-argument:nth-child(2) .home-problem-number{transition-delay:60ms}
.home-v3 .home-problem-argument:nth-child(3),.home-v3 .home-problem-argument:nth-child(3) .home-problem-number{transition-delay:120ms}
.home-v3 .home-offers .feature{padding:clamp(24px,2.65vw,40px);gap:24px}
.home-v3 .home-offers .offer-cards h3{font-size:clamp(24px,2.2vw,32px);max-width:26ch;min-height:2.4em}
.home-v3 .home-offers .feature>p{font-size:15px;line-height:1.6;max-width:48ch}
.home-v3 .home-offers .offer-link{font-size:14px;min-height:48px}
.home-v3 .home-offers .foundation-visual{overflow:hidden;border-radius:var(--radius)}
.home-v3 .home-offers .foundation-visual>svg{transition:transform 400ms var(--ease-image)}
/* No expanded project, no featured panel: four equally compact links. */
.home-v3 .reason>p{font-size:15px;line-height:1.65}
.home-v3 .lead-cards h3{letter-spacing:-.025em;line-height:1.15}
.home-v3 .lead-cards article>p{line-height:1.6}
.home-v3 .contact h2{letter-spacing:-.035em;line-height:1.06}
@media(hover:hover) and (pointer:fine){
  .home-v3 .button:hover svg,.home-v3 .offer-link:hover svg{transform:translate(2px,-2px)}
  .home-v3 .home-offers .feature:hover .foundation-visual>svg{transform:scale(1.025)}
}
@media(prefers-reduced-motion:no-preference){
  .home-v3 .hero-content{animation:home-intro 600ms var(--ease-ui)}
  @keyframes home-intro{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:800px){
  .home-v3 .hero{height:auto;min-height:650px;padding:32px}
  .home-v3 .hero-top{left:32px;right:32px}
  .home-v3 .hero h1{font-size:clamp(38px,6.3vw,54px);max-width:680px}
  .home-v3 .home-offers .offer-cards h3{min-height:0}
}
@media(max-width:560px){
  .home-v3 .hero{min-height:660px;padding:26px 24px}
  .home-v3 .hero-top{left:24px;right:24px;top:24px}
  .home-v3 .hero h1{font-size:clamp(36px,9.6vw,48px);max-width:16ch;margin-bottom:24px}
  .home-v3 .hero-content{padding-top:116px}
  .home-v3 .hero-content>p{font-size:16px;line-height:1.6}
  .home-v3 .hero-actions{gap:12px;margin-top:24px}
  .home-v3 .hero-actions .button{min-height:50px;font-size:14px}
  .home-v3 .hero-content .hero-sectors{font-size:12px;margin-top:22px}
  .home-v3 .home-problem-copy h2,.home-v3 .home-offers .section-heading h2,.home-v3 .home-work .section-heading h2{font-size:clamp(32px,8.5vw,40px);line-height:1.09}
  .home-v3 .home-problem-argument{padding:24px;gap:18px 12px}
  .home-v3 .home-problem-argument>p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.home-v3 *, .home-v3 *::before,.home-v3 *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.home-v3[data-input="keyboard"] *{animation:none!important;transition:none!important}
/* On phones, keep the sector and playback control in flow above the copy. */
@media(min-width:1600px){
  .home-v3 .hero{padding-inline:max(52px,calc((100% - 1536px)/2))}
  .home-v3 .hero-top{left:max(52px,calc((100% - 1536px)/2));right:max(52px,calc((100% - 1536px)/2))}
}
@media(max-width:600px){
  .home-v3 .hero{min-height:0;height:auto;padding:0}
  .home-v3 .hero-top{position:relative;left:auto;right:auto;top:auto;padding:26px 24px 0;gap:16px}
  .home-v3 .hero-content{padding:24px 24px 30px}
  .home-v3 .hero h1{max-width:100%;text-wrap:pretty}
}
/* Offer panels: image above the summary, full details on pointer or keyboard focus. */
.home-v3 .home-offers .offer-reveal{--offer-height:540px;--offer-padding:32px;display:flex;flex-direction:column;position:relative;gap:0;padding:0;overflow:hidden;isolation:isolate}
.home-v3 .home-offers .offer-cover{width:100%;height:280px;object-fit:cover;object-position:center 55%}
.home-v3 .home-offers .feature--images .offer-cover{object-position:center 48%}
.home-v3 .home-offers .offer-panel{display:flex;flex-direction:column;flex:1;padding:var(--offer-padding);background:var(--ink);color:var(--paper);position:relative}
.home-v3 .home-offers .feature--web .offer-panel{background:var(--orange);color:var(--ink)}
.home-v3 .home-offers .offer-summary{display:flex;flex-direction:column;gap:20px}
.home-v3 .home-offers .offer-summary h3{min-height:0;max-width:23ch;font-size:clamp(26px,2.4vw,36px);line-height:1.12}
.home-v3 .home-offers .offer-details{display:flex;flex:1;flex-direction:column;gap:24px;margin-top:24px}
.home-v3 .home-offers .offer-details p{font-size:15px;line-height:1.6;max-width:46ch}
.home-v3 .home-offers .offer-details ul{padding:0;list-style:none;margin:0;font-size:14px;line-height:1.5}
.home-v3 .home-offers .offer-details li{padding:10px 0;border-top:1px solid #f2f1eb35}
.home-v3 .home-offers .feature--web .offer-details li{border-color:#20231f35}
.home-v3 .home-offers .offer-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;min-height:44px}
@media(hover:hover) and (pointer:fine) and (min-width:801px){
  .home-v3 .home-offers .offer-reveal{height:var(--offer-height)}
  .home-v3 .home-offers .offer-cover{height:64%;flex:none}
  .home-v3 .home-offers .offer-panel{position:absolute;inset:0;transform:translateY(54%);transition:transform 350ms var(--ease-ui)}
  .home-v3 .home-offers .offer-summary{min-height:calc(var(--offer-height)*.46 - var(--offer-padding)*2);flex-shrink:0}
  .home-v3 .home-offers .offer-details{opacity:0;visibility:hidden;transition:opacity 180ms ease,visibility 180ms}
  .home-v3 .home-offers .offer-reveal:is(:hover,:focus-visible) .offer-panel{transform:translateY(0)}
  .home-v3 .home-offers .offer-reveal:is(:hover,:focus-visible) .offer-details{opacity:1;visibility:visible}
  .home-v3 .home-offers .offer-reveal:focus-visible .offer-panel,.home-v3 .home-offers .offer-reveal:focus-visible .offer-details{transition:none}
}
@media(max-width:1000px){
  .home-v3 .home-offers .offer-reveal{--offer-padding:24px;--offer-height:560px}
}
@media(max-width:800px){
  .home-v3 .home-offers .offer-cover{height:260px}
  .home-v3 .home-offers .offer-summary h3{font-size:30px}
}
