/* ALMI client case study — soft light, warm materials, and a clear system. */
.almi-page { background:#f7f1eb; color:#3b2c2d; }
.almi-page .grain { opacity:.025; }
.almi-page main { overflow:hidden; }
.almi-page .nav.is-solid { background:#102823; }
.almi-page .footer { background:#102823; color:#f7f1eb; }

.almi-case {
  --almi-ivory:#f7f1eb;
  --almi-sand:#e9ded5;
  --almi-blush:#e6cfcb;
  --almi-gold:#c6a568;
  --almi-plum:#765265;
  --almi-ink:#3b2c2d;
  --almi-muted:#766968;
  width:100%;
  position:relative;
  z-index:1;
  background:var(--almi-ivory);
}
.almi-case h1,
.almi-case h2,
.almi-case h3,
.almi-case h4 { color:var(--almi-ink); }
.almi-case h1,
.almi-case h2 { font-family:var(--font-accent); font-weight:400; letter-spacing:-.025em; text-transform:none; }
.almi-case p { color:var(--almi-muted); }
.almi-case .meta { color:var(--almi-plum); }
.almi-case a:focus-visible { outline-color:var(--almi-plum); }

.almi-hero { min-height:calc(100svh - 88px); display:grid; grid-template-columns:minmax(0,.78fr) minmax(380px,1fr); gap:clamp(2rem,6vw,7rem); align-items:center; padding-top:clamp(8rem,12vw,11rem); padding-bottom:clamp(4rem,8vw,8rem); }
.almi-hero__copy { position:relative; z-index:1; }
.almi-hero__copy::before { content:""; position:absolute; width:32rem; height:32rem; left:-18rem; top:-16rem; border-radius:50%; background:radial-gradient(circle,rgba(230,207,203,.72),rgba(230,207,203,0) 70%); z-index:-1; }
.almi-hero h1 { font-size:clamp(4rem,8vw,8.2rem); line-height:.84; max-width:8.4ch; margin:.85rem 0 1.5rem; }
.almi-hero .lede { max-width:46ch; color:#655657; font-size:clamp(1.08rem,1.5vw,1.35rem); }
.almi-hero__image { position:relative; align-self:stretch; min-height:620px; background:linear-gradient(145deg,#f0ded7,#fcf8f3); overflow:hidden; border-radius:52% 52% 3px 3px / 18% 18% 3px 3px; box-shadow:0 35px 85px rgba(78,50,55,.12); }
.almi-hero__image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.almi-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 64%,rgba(78,50,55,.08)); pointer-events:none; }
.almi-hero__seal { position:absolute; right:clamp(1rem,2vw,2rem); bottom:clamp(1rem,2vw,2rem); width:112px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; text-align:center; background:rgba(247,241,235,.9); color:var(--almi-plum); border:1px solid rgba(118,82,101,.25); backdrop-filter:blur(10px); font:400 .58rem/1.45 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }

.almi-scope { width:min(100% - 2 * var(--space-2),var(--max-w)); margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); border-block:1px solid rgba(118,82,101,.22); }
.almi-scope div { padding:1.25rem clamp(.6rem,1.4vw,1.4rem); border-right:1px solid rgba(118,82,101,.16); }
.almi-scope div:last-child { border-right:0; }
.almi-scope span { display:block; }
.almi-scope span:first-child { color:var(--almi-gold); font:400 .6rem/1.5 var(--font-mono); letter-spacing:.1em; }
.almi-scope span:last-child { margin-top:.35rem; color:var(--almi-ink); font-size:.86rem; }

.almi-marquee { overflow:hidden; padding:clamp(1.2rem,2vw,2rem) 0; background:linear-gradient(90deg,#6e4c61,#805c71 45%,#aa7d89); color:#fff8f2; white-space:nowrap; }
.almi-marquee__track { display:inline-flex; gap:2rem; min-width:max-content; animation:almiDrift 28s linear infinite; font-family:var(--font-accent); font-size:clamp(2.1rem,4.4vw,5rem); line-height:1; }
.almi-marquee__track span::after { content:"✦"; margin-left:2rem; color:#d9b881; font-size:.38em; vertical-align:middle; }
@keyframes almiDrift { to { transform:translateX(-50%); } }

.almi-section { padding:clamp(5rem,10vw,10rem) 0; }
.almi-section--sand { background:linear-gradient(145deg,#efe4dc 0%,#f9f4ee 52%,#e7d4d0 135%); }
.almi-section--plum { background:radial-gradient(circle at 78% 18%,#9e7282 0,#765265 38%,#4f3647 100%); color:#fff8f2; }
.almi-section--plum h2,
.almi-section--plum h3,
.almi-section--plum h4 { color:#fff8f2; }
.almi-section--plum p,
.almi-section--plum .meta { color:#eadede; }
.almi-intro { display:grid; grid-template-columns:minmax(0,.82fr) minmax(320px,1fr); gap:clamp(3rem,8vw,8rem); align-items:start; }
.almi-intro h2,
.almi-section__head h2 { font-size:clamp(3.2rem,6vw,6.4rem); line-height:.94; margin:.7rem 0 0; }
.almi-intro__copy { padding-top:clamp(1rem,6vw,6rem); }
.almi-intro__copy p { font-size:clamp(1.05rem,1.35vw,1.22rem); line-height:1.75; margin-bottom:1.2rem; }
.almi-note { padding:1.1rem 1.25rem; margin-top:2rem; border-left:2px solid var(--almi-gold); background:rgba(255,255,255,.4); font:400 .68rem/1.7 var(--font-mono); letter-spacing:.04em; color:#6f6061; }

.almi-source { margin-top:clamp(3rem,6vw,6rem); display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:clamp(1rem,3vw,3rem); align-items:end; }
.almi-source figure { margin:0; }
.almi-source figure:first-child { width:76%; justify-self:end; transform:translateY(3rem); }
.almi-source img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.almi-source figure:first-child img { object-position:center 42%; }
.almi-source figcaption,
.almi-gallery figcaption { margin-top:.8rem; color:var(--almi-muted); font:400 .62rem/1.6 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; }

.almi-statement { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.7fr); gap:clamp(3rem,9vw,9rem); align-items:end; }
.almi-statement blockquote { margin:0; font-family:var(--font-accent); font-size:clamp(4rem,8vw,9rem); line-height:.82; letter-spacing:-.04em; color:#fff8f2; }
.almi-statement__copy p { font-size:clamp(1.05rem,1.3vw,1.2rem); line-height:1.8; }
.almi-promise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:clamp(4rem,7vw,7rem); background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.18); }
.almi-promise-grid article { min-height:230px; padding:clamp(1.4rem,3vw,2.6rem); background:rgba(78,49,68,.74); }
.almi-promise-grid h3 { margin:.85rem 0 .8rem; font-family:var(--font-accent); font-size:clamp(2rem,3vw,3rem); text-transform:none; }
.almi-promise-grid p { font-size:.95rem; line-height:1.7; }

.almi-section__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.6fr); gap:clamp(2rem,7vw,7rem); align-items:end; }
.almi-section__head p { font-size:1.05rem; line-height:1.75; }
.almi-palette { display:grid; grid-template-columns:repeat(5,1fr); margin-top:clamp(2.5rem,5vw,5rem); border:1px solid rgba(118,82,101,.18); }
.almi-swatch { min-height:160px; padding:1rem; display:flex; flex-direction:column; justify-content:flex-end; color:#3b2c2d; }
.almi-swatch span { font:400 .6rem/1.5 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.almi-swatch:nth-child(1) { background:#f7f1eb; }
.almi-swatch:nth-child(2) { background:#e9ded5; }
.almi-swatch:nth-child(3) { background:#e6cfcb; }
.almi-swatch:nth-child(4) { background:#c6a568; }
.almi-swatch:nth-child(5) { background:#765265; color:#fff8f2; }

.almi-gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(.8rem,2vw,1.8rem); margin-top:clamp(3rem,6vw,6rem); }
.almi-gallery figure { margin:0; min-width:0; }
.almi-gallery figure:nth-child(1) { grid-column:1/7; }
.almi-gallery figure:nth-child(2) { grid-column:7/13; padding-top:clamp(3rem,8vw,8rem); }
.almi-gallery figure:nth-child(3) { grid-column:2/6; }
.almi-gallery figure:nth-child(4) { grid-column:6/12; padding-top:clamp(2rem,5vw,5rem); }
.almi-gallery img { width:100%; aspect-ratio:4/5; object-fit:cover; box-shadow:0 24px 65px rgba(75,50,53,.1); }

.almi-experience { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(0,1fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.almi-experience__image img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.almi-experience__copy h2 { font-size:clamp(3.5rem,6vw,6.7rem); line-height:.9; margin:.8rem 0 1.5rem; }
.almi-experience__copy p { color:#eadede; font-size:1.08rem; line-height:1.8; }
.almi-experience__steps { list-style:none; margin-top:2.25rem; }
.almi-experience__steps li { display:grid; grid-template-columns:52px 1fr; gap:1rem; padding:1rem 0; border-top:1px solid rgba(255,255,255,.2); color:#fff8f2; }
.almi-experience__steps b { color:#d9b881; font:400 .65rem/1.7 var(--font-mono); }

.almi-content-board { margin-top:clamp(3rem,6vw,6rem); display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(118,82,101,.2); }
.almi-content-board article { min-height:280px; padding:clamp(1.25rem,2.5vw,2.4rem); border-right:1px solid rgba(118,82,101,.18); background:rgba(255,255,255,.38); }
.almi-content-board article:last-child { border-right:0; }
.almi-content-board strong { display:block; color:var(--almi-gold); font:400 .65rem/1.4 var(--font-mono); }
.almi-content-board h3 { margin:1.5rem 0 .8rem; font-family:var(--font-accent); font-size:clamp(2rem,2.8vw,3rem); text-transform:none; }
.almi-content-board p { font-size:.92rem; line-height:1.7; }
.almi-rhythm { margin-top:clamp(2rem,4vw,4rem); display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); gap:clamp(2rem,6vw,6rem); padding:clamp(1.5rem,3vw,3rem); background:linear-gradient(135deg,#fffaf5,#ead6d3); }
.almi-rhythm h3 { font-family:var(--font-accent); font-size:clamp(2.4rem,4vw,4rem); text-transform:none; }
.almi-rhythm p { line-height:1.75; }

.almi-outcome { text-align:center; padding:clamp(6rem,12vw,12rem) var(--space-2); background:radial-gradient(circle at 50% 20%,#fffdf9 0,#f7f1eb 48%,#e9d9d1 120%); }
.almi-outcome .meta { display:block; }
.almi-outcome h2 { max-width:12ch; margin:1rem auto 1.5rem; font-size:clamp(4rem,8vw,8.5rem); line-height:.86; }
.almi-outcome p { max-width:56ch; margin:0 auto; font-size:1.08rem; line-height:1.75; }
.almi-outcome .btn { margin-top:2rem; background:var(--almi-plum); color:#fff8f2; border-color:var(--almi-plum); }

/* Reusable client proof on Brand Building and Design pages. */
.almi-service-proof.section { position:relative; z-index:1; background:linear-gradient(145deg,#f7f1eb,#ead8d4); color:#3b2c2d; }
.almi-service-proof__grid { display:grid; grid-template-columns:minmax(0,.72fr) minmax(360px,1fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.almi-service-proof .meta { color:#765265; }
.almi-service-proof h2 { color:#3b2c2d; font-family:var(--font-accent); font-size:clamp(3rem,5vw,5.6rem); line-height:.92; letter-spacing:-.02em; text-transform:none; margin:.8rem 0 1.25rem; }
.almi-service-proof p { color:#6d5d5e; line-height:1.75; }
.almi-service-proof .btn { margin-top:1.5rem; background:#765265; border-color:#765265; color:#fff8f2; }
.almi-service-proof__image { display:block; overflow:hidden; border-radius:52% 52% 2px 2px / 18% 18% 2px 2px; }
.almi-service-proof__image img { width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .8s var(--ease-out); }
.almi-service-proof__image:hover img { transform:scale(1.025); }

@media(max-width:900px) {
  .almi-hero { grid-template-columns:1fr 1fr; gap:2rem; }
  .almi-hero h1 { font-size:clamp(3.8rem,8.8vw,6.2rem); }
  .almi-hero__image { min-height:540px; }
  .almi-scope { grid-template-columns:repeat(3,1fr); }
  .almi-scope div:nth-child(3) { border-right:0; }
  .almi-scope div:nth-child(n+4) { border-top:1px solid rgba(118,82,101,.16); }
  .almi-promise-grid { grid-template-columns:1fr; }
  .almi-promise-grid article { min-height:0; }
  .almi-content-board { grid-template-columns:1fr 1fr; }
  .almi-content-board article:nth-child(2) { border-right:0; }
  .almi-content-board article:nth-child(n+3) { border-top:1px solid rgba(118,82,101,.18); }
}

@media(max-width:680px) {
  .almi-hero { min-height:auto; grid-template-columns:1fr; padding-top:7rem; }
  .almi-hero__copy { padding-right:1rem; }
  .almi-hero h1 { max-width:9ch; font-size:clamp(4rem,19vw,6.5rem); }
  .almi-hero__image { min-height:0; aspect-ratio:4/5; }
  .almi-hero__seal { width:88px; font-size:.5rem; }
  .almi-scope { grid-template-columns:1fr 1fr; }
  .almi-scope div:nth-child(n) { border-right:1px solid rgba(118,82,101,.16); border-top:1px solid rgba(118,82,101,.16); }
  .almi-scope div:nth-child(odd) { border-left:0; }
  .almi-scope div:nth-child(even) { border-right:0; }
  .almi-scope div:first-child,
  .almi-scope div:nth-child(2) { border-top:0; }
  .almi-scope div:last-child { grid-column:1/-1; }
  .almi-intro,
  .almi-statement,
  .almi-section__head,
  .almi-experience,
  .almi-rhythm,
  .almi-service-proof__grid { grid-template-columns:1fr; }
  .almi-intro h2,
  .almi-section__head h2,
  .almi-experience__copy h2 { font-size:clamp(3.4rem,16vw,5.5rem); }
  .almi-intro__copy { padding-top:0; }
  .almi-source { grid-template-columns:1fr 1fr; gap:.7rem; }
  .almi-source figure:first-child { width:100%; transform:translateY(1.5rem); }
  .almi-source figcaption { font-size:.52rem; }
  .almi-statement blockquote { font-size:clamp(4.4rem,20vw,7rem); }
  .almi-palette { grid-template-columns:1fr; }
  .almi-swatch { min-height:76px; }
  .almi-gallery { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
  .almi-gallery figure:nth-child(n) { grid-column:auto; padding-top:0; }
  .almi-gallery figure:nth-child(even) { transform:translateY(2rem); }
  .almi-gallery figcaption { font-size:.5rem; }
  .almi-experience__image { order:2; }
  .almi-content-board { grid-template-columns:1fr; }
  .almi-content-board article:nth-child(n) { border-right:0; border-top:1px solid rgba(118,82,101,.18); min-height:0; }
  .almi-content-board article:first-child { border-top:0; }
  .almi-service-proof__image { border-radius:52% 52% 2px 2px / 15% 15% 2px 2px; }
}

@media(prefers-reduced-motion:reduce) {
  .almi-marquee__track { animation:none; }
}
