/* ---------- About page: the "Mosaic" look (photo collage hero, 2x2 What We Do, full-width photo bands) ---------- */
.am{color:#1B1417; --am-red:#B91C1C; --am-line:#E7DFDA; --am-soft:#5B5054}
.am h1,.am h2{font-family:'Outfit','Plus Jakarta Sans',sans-serif; margin:0; color:#1B1417}
.am p{margin:0}
:where(.am) p{color:inherit}
.am-kick{display:inline-block; font:600 .7rem 'JetBrains Mono',ui-monospace,monospace; letter-spacing:.2em; text-transform:uppercase; color:var(--am-red)}

/* buttons */
.am-btns{display:flex; gap:12px; flex-wrap:wrap}
.am-btn{display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 26px; border-radius:14px; font-weight:800; font-size:.96rem; transition:transform .3s var(--ease), background .25s, color .25s, box-shadow .3s var(--ease)}
.am-btn:hover{transform:translateY(-2px)}
.am-btn svg{transition:transform .3s var(--ease)}
.am-btn:hover svg{transform:translateX(4px)}
.am-btn:focus-visible{outline:3px solid currentColor; outline-offset:3px}
.am-btn-red{background:var(--am-red); color:#fff; box-shadow:0 18px 30px -20px rgba(185,28,28,.8)}
.am-btn-red:hover{background:#991B1B}
.am-btn-line{border:1.5px solid #1B1417; color:#1B1417}
.am-btn-line:hover{background:#1B1417; color:#fff}
.am-btn-ghost{border:1.5px solid rgba(255,255,255,.35); color:#fff}
.am-btn-ghost:hover{background:#fff; color:#1B1417}

/* hero: copy and a three-photo collage */
.am-hero{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; padding-top:48px; padding-bottom:24px}
.am-copy{grid-column:1 / 8; padding:24px 24px 24px 0; align-self:center}
.am-copy h1{font-size:clamp(2.5rem,6vw,5rem); font-weight:800; line-height:.96; letter-spacing:-.045em; margin-top:16px}
.am-copy h1 em{font-style:normal; color:var(--am-red)}
.am-sub{margin-top:18px !important; font:700 clamp(1.1rem,2vw,1.3rem)/1.4 'Outfit','Plus Jakarta Sans',sans-serif; color:#3A3034}
.am-lead{margin-top:14px !important; max-width:52ch; color:var(--am-soft); font-size:1.05rem; line-height:1.7}
.am-btns{margin-top:28px}
.am-mos{grid-column:8 / 13; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:12px; min-height:440px}
.am-ph{position:relative; margin:0; overflow:hidden; border-radius:18px; background:#EADFDA}
.am-ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}
.am-m1{grid-row:1 / 3}
.am-m1 img{object-position:center 30%}
.am-mos .am-ph:nth-child(2) img{object-position:center 20%}
.am-tag{position:absolute; left:12px; bottom:12px; z-index:2; background:var(--am-red); color:#fff; border-radius:14px; padding:10px 14px; box-shadow:0 16px 26px -14px rgba(0,0,0,.6)}
.am-tag b{display:block; font:800 1.5rem/1 'Outfit',sans-serif; letter-spacing:-.02em}
.am-tag small{display:block; margin-top:5px; max-width:11em; font:600 .52rem 'JetBrains Mono',monospace; letter-spacing:.12em; text-transform:uppercase; opacity:.92}

/* the two intro paragraphs */
.am-two{display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-top:32px; padding-bottom:24px; color:#4A3F43; font-size:1.06rem; line-height:1.75}

/* What We Do */
.am-what{padding-top:48px; padding-bottom:48px}
.am-what h2,.am-why h2{font-size:clamp(1.9rem,4vw,3rem); font-weight:800; line-height:1; letter-spacing:-.035em}
.am-ln{margin:10px 0 28px !important; color:#6B6064}
.am-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.am-g{display:flex; gap:18px; padding:26px; border-radius:20px; background:#fff; border:1px solid var(--am-line); color:var(--am-soft); line-height:1.65; transition:transform .3s var(--ease), box-shadow .4s var(--ease), border-color .3s}
.am-g:hover{transform:translateY(-3px); border-color:#DCCFC9; box-shadow:0 26px 40px -30px rgba(153,27,27,.5)}
.am-g strong{color:#1B1417}
.am-ic{flex:none; display:grid; place-items:center; width:54px; height:54px; border-radius:16px; background:var(--am-red); color:#fff}
.am-pay{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
.am-pay img,.am-paystrip img{display:block; height:36px; width:auto; border-radius:9px; box-shadow:0 6px 14px -10px rgba(0,0,0,.6)}

/* Vision and Mission: full-width photo bands */
.am-band{position:relative; isolation:isolate; display:grid; align-items:end; min-height:340px; color:#fff; overflow:hidden}
.am-band>img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2}
.am-band::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(23,10,12,.93) 0%,rgba(23,10,12,.8) 50%,rgba(23,10,12,.4) 100%)}
.am-v>img{object-position:center 40%}
.am-m>img{object-position:center 30%}
.am-m::after{background:linear-gradient(270deg,rgba(23,10,12,.93) 0%,rgba(23,10,12,.8) 50%,rgba(23,10,12,.4) 100%)}
.am-band .wrap{width:100%}
.am-band-in{padding:56px 0; max-width:620px}
.am-m .am-band-in{margin-left:auto}
.am-band .am-kick{color:#FCA5A5}
.am-band p{margin-top:12px; text-shadow:0 2px 18px rgba(0,0,0,.5); font:600 clamp(1.1rem,2.2vw,1.5rem)/1.5 'Outfit','Plus Jakarta Sans',sans-serif}

/* Why Choose */
.am-why{padding-top:64px; padding-bottom:24px}
.am-six{list-style:none; margin:28px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.am-six li{display:flex; gap:12px; padding:20px; background:#fff; border:1px solid var(--am-line); border-radius:16px; font-weight:600; line-height:1.5}
.am-six svg{flex:none; margin-top:2px; color:var(--am-red)}

/* Promise */
.am-promise{padding-top:48px; padding-bottom:56px; text-align:center}
.am-promise p{max-width:32em; margin:14px auto 0; font:600 clamp(1.2rem,2.5vw,1.75rem)/1.45 'Outfit','Plus Jakarta Sans',sans-serif; text-wrap:balance}

/* closing card */
.am-endwrap{padding-bottom:80px}
.am-endwrap{container-type:inline-size}
.am-end{position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:32px; align-items:end; min-height:460px; padding:64px 48px; border-radius:30px; background:#17110F; color:#fff; text-align:left}
.am-end-img{position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:center 38%}
.am-end::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(18,8,10,.93) 0%,rgba(18,8,10,.72) 55%,rgba(18,8,10,.36) 100%)}
.am-end h2{color:#fff; font-size:clamp(2.2rem,5.4vw,4.6rem); font-size:clamp(2.2rem,6cqi,4.6rem); font-weight:800; line-height:.94; letter-spacing:-.045em; text-transform:uppercase}
.am-end-brand{display:block; margin-bottom:18px; font:600 .7rem 'JetBrains Mono',ui-monospace,monospace; letter-spacing:.2em; color:#FCA5A5}
.am-w{display:block}
.am-w3{color:#F87171}
.am-end .am-end-sub{margin-top:20px; font:600 clamp(1.05rem,2vw,1.2rem)/1.4 'Outfit','Plus Jakarta Sans',sans-serif; color:#F0E6E8}
.am-glass{display:grid; gap:16px; padding:26px; border-radius:22px; background:rgba(23,10,12,.62); border:1px solid rgba(255,255,255,.22)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .am-glass{background:rgba(255,255,255,.1); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px)}
}
.am-paystrip{display:flex; align-items:center; gap:10px; flex-wrap:wrap; font:600 .7rem 'JetBrains Mono',monospace; letter-spacing:.14em; text-transform:uppercase; color:#E8DEE0}
.am-glass .am-btn{width:100%; justify-content:center}
.am-end .am-btn-red{background:#DC2626; color:#fff}
.am-end .am-btn-red:hover{background:#EF4444}
.am-btn-white{background:#fff; color:#17110F}
.am-btn-white:hover{background:#FCE7E7}
@media (max-width:980px){
  .am-hero{grid-template-columns:minmax(0,1fr)}
  .am-copy,.am-mos{grid-column:1 / -1}
  .am-copy{padding-right:0}
  .am-mos{min-height:0; aspect-ratio:5/4}
  .am-two,.am-grid{grid-template-columns:minmax(0,1fr)}
  .am-six{grid-template-columns:repeat(2,minmax(0,1fr))}
  .am-end{grid-template-columns:minmax(0,1fr); align-items:start; padding:48px 32px; min-height:0}
}
@media (max-width:640px){
  .am-hero{padding-top:28px}
  .am-mos{aspect-ratio:1/1.05}
  .am-g{padding:20px; gap:14px}
  .am-band{min-height:300px}
  .am-band-in{padding:40px 0}
  .am-six{grid-template-columns:minmax(0,1fr)}
  .am-end{padding:40px 22px 22px; border-radius:24px; gap:28px}
  .am-glass{padding:20px}
  .am-btn{height:50px; padding:0 22px}
  .am-btns{flex-direction:column; align-items:stretch}
  .am-btns .am-btn{justify-content:center}
  .am-endwrap{padding-bottom:56px}
}
@media (prefers-reduced-motion:reduce){
  .am-btn,.am-btn svg,.am-g{transition:none}
  .am-btn:hover,.am-g:hover{transform:none}
}
