.mill-page { --mill-width:1240px; }
.mill-page figure { margin:0; }
.mill-breadcrumbs { max-width:1480px; margin:auto; padding:1rem clamp(1.25rem,4vw,3.5rem); }
.mill-breadcrumbs .seo-breadcrumbs { display:flex; flex-wrap:wrap; gap:.65rem; margin:0; font-size:.875rem; }
.mill-hero { position:relative; max-width:1480px; margin:auto; isolation:isolate; background:#111512; }
.mill-hero picture,.mill-hero img { display:block; width:100%; }
.mill-hero img { height:auto; aspect-ratio:4/3; object-fit:contain; }
.mill-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.58),transparent 40%); }
.mill-hero-copy { position:absolute; z-index:2; top:clamp(1.75rem,4vw,4rem); left:clamp(1.25rem,4vw,4rem); right:1.25rem; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.55); }
.mill-eyebrow { margin:0 0 1rem; color:#b9c4bb; font-size:.875rem; font-weight:700; letter-spacing:.07em; line-height:1.5; }
.mill-hero .mill-eyebrow { color:#fff; }
.mill-hero h1 { font-size:clamp(3rem,5.5vw,5.5rem); line-height:1.04; letter-spacing:-.045em; margin:0 0 .75rem; }
.mill-hero-copy > p:last-child { margin:0; font-size:clamp(1.125rem,1.8vw,1.55rem); line-height:1.5; }
.mill-intro { max-width:var(--mill-width); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; padding:clamp(3rem,7vw,6rem) clamp(1.25rem,4vw,4rem); }
.mill-intro h2,.mill-detail h2,.mill-final h2 { font-size:clamp(2.2rem,3.5vw,3.5rem); line-height:1.1; letter-spacing:-.035em; margin:0; }
.mill-intro > p,.mill-detail-copy > p:last-child { margin:0; color:#ced5cf; font-size:1.0625rem; line-height:1.8; max-width:34rem; }
.mill-detail { max-width:var(--mill-width); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding:0 clamp(1.25rem,4vw,4rem) clamp(3rem,7vw,6rem); }
.mill-detail img,.mill-final img,.mill-final picture { display:block; width:100%; height:auto; }
.mill-detail figcaption,.mill-final figcaption { font-size:.875rem; line-height:1.6; color:#b9c4bb; padding-top:.8rem; }
.mill-detail-copy { padding:1rem 0 2.5rem; }
.mill-detail-copy h2 { margin-bottom:1.25rem; }
.mill-overhead { position:relative; max-width:1480px; margin:0 auto !important; background:#111512; }
.mill-overhead img { width:100%; height:auto; display:block; }
.mill-overhead figcaption { position:absolute; bottom:clamp(1rem,3vw,3rem); left:clamp(1rem,3vw,3rem); display:grid; max-width:30rem; padding:1.1rem 1.35rem; background:rgba(8,10,9,.83); border-left:3px solid #b9ce83; color:#fff; }
.mill-overhead .mill-eyebrow { color:#d5dfd7; margin:0 0 .5rem; }
.mill-overhead strong { font-size:clamp(1.6rem,2.5vw,2.6rem); line-height:1.1; letter-spacing:-.025em; }
.mill-final { max-width:var(--mill-width); margin:auto; padding:clamp(3rem,7vw,6rem) clamp(1.25rem,4vw,4rem) 0; }
.mill-final-heading { margin-bottom:2rem; }
.mill-final-grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:clamp(1.25rem,4vw,4rem); }
.mill-next { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; max-width:var(--mill-width); margin:auto; padding:3rem clamp(1.25rem,4vw,4rem); }
.mill-next a { font-size:1rem; text-underline-offset:5px; padding:.4rem 0; }
@media(max-width:700px) {
 .mill-hero img { aspect-ratio:3/4; }
 .mill-hero::after { background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.86)); }
 .mill-hero-copy { top:auto; bottom:1.5rem; left:1.25rem; right:1.25rem; }
 .mill-hero h1 { font-size:clamp(2.65rem,10vw,4rem); }
 .mill-hero .mill-eyebrow { margin-bottom:.55rem; }
 .mill-intro { grid-template-columns:1fr; gap:1.5rem; }
 .mill-detail { grid-template-columns:1fr; gap:2rem; }
 .mill-detail-copy { padding:0 0 1.75rem; }
 .mill-overhead figcaption { position:static; max-width:none; padding:1.35rem 1.25rem; border-left:0; background:#171d19; }
 .mill-overhead strong { font-size:1.9rem; }
 .mill-final-grid { grid-template-columns:1fr; gap:2rem; }
 .mill-next { flex-direction:column; gap:.6rem; }
}
@media(max-width:360px) {
 .mill-hero-copy { position:relative; inset:auto; padding:1.25rem; }
 .mill-hero::after { display:none; }
 .mill-hero h1 { font-size:2.5rem; }
}
