/* Inner pages A: work, services, about, 404 (linked only from those four pages).
   Builds on styles.css (system D). Each page gets its own header composition:
   work = ledger head, services = split head with photo, about = photo-led head, 404 = quiet single route. */

/* ---------- shared bits ---------- */
.pa-sec{padding:clamp(64px,9vw,128px) 0}
.pa-sec.alt{background:var(--ground-2)}
.pa-head2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 32px;margin-bottom:clamp(24px,4vw,40px);border-top:1px solid var(--rule);padding-top:40px}
.pa-head2 h2{margin:0}
.pa-head2 p{margin:0;color:var(--silver);max-width:42ch}
.pa-photo{position:relative;margin:0}
.pa-photo .frame{aspect-ratio:16/9}
.pa-photo.bleed .frame{--cut:0px;clip-path:none;aspect-ratio:auto;height:clamp(280px,62svh,640px)}
.pa-photo figcaption{padding:14px var(--gut) 0;color:var(--silver);font-size:.95rem;max-width:var(--max);margin-inline:auto}
.pa-table{width:100%;border-collapse:collapse;border-top:1px solid var(--brass-lo)}
.pa-table caption{text-align:left}
.pa-table th,.pa-table td{text-align:left;vertical-align:baseline;padding:16px 0;border-bottom:1px solid var(--rule)}
.pa-table th[scope=col]{padding:12px 0;font:600 .74rem/1.3 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.pa-table th[scope=row]{font:500 1.3rem/1.2 var(--display);color:var(--stone);padding-right:24px;width:42%}
.pa-table td{color:var(--silver);font-size:1rem;line-height:1.45}
.pa-table td.ph{color:var(--brass)}
.pa-table.area td+td,.pa-table.area th+th{text-align:right}
.pa-table.area td:first-child{font:500 1.3rem/1.2 var(--display);color:var(--stone)}

/* ---------- WORK: ledger head ---------- */
.work-page .wk-head{padding:clamp(56px,9vw,112px) 0 0}
.wk-grid{display:grid;gap:32px;align-items:end}
.wk-head h1{font-size:clamp(2.8rem,8vw,6rem);margin-bottom:.25em}
.wk-head .lede{margin:0}
.wk-ledger{margin:0;border-top:1px solid var(--brass-lo)}
.wk-ledger div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:12px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.wk-ledger dt{font:600 .74rem/1.3 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--silver)}
.wk-ledger dd{margin:0;color:var(--stone);font-size:1rem;line-height:1.4}
.wk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:clamp(40px,6vw,64px);padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.wk-bar .filters{margin:0}
.wk-bar #gallery-status{margin:0;color:var(--silver)}
.wk-gallery{padding:clamp(40px,6vw,64px) 0 clamp(72px,10vw,128px)}
/* tickets: photo-led, the first of every seven runs wide; spec stays quiet */
.work-page .tickets{gap:clamp(44px,6vw,72px) clamp(20px,3vw,40px)}
.work-page .ticket h3{font-size:clamp(1.4rem,2.2vw,1.7rem)}
.work-page .ticket .spec div{grid-template-columns:minmax(6.5rem,8.5rem) minmax(0,1fr)}
.work-page .ticket-head .tag{background:var(--ground-3)}
.work-page .ticket > button:hover h3{color:#fff}
.lightbox .lb-inner figcaption{max-width:60ch}

/* ---------- SERVICES: split head with photo + index ---------- */
.sv-head{padding:clamp(48px,8vw,104px) 0 clamp(56px,8vw,104px);background:var(--ground-2)}
.sv-grid{display:grid;gap:40px;align-items:center}
.sv-head h1{font-size:clamp(2.8rem,7vw,5.4rem);max-width:12ch;margin-bottom:.3em}
.sv-head .lede{margin-bottom:28px}
.sv-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--brass-lo);display:grid;grid-template-columns:1fr;column-gap:32px}
.sv-index li{border-bottom:1px solid var(--rule)}
.sv-index a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;color:var(--stone);text-decoration:none;font:500 1.15rem/1.2 var(--display);letter-spacing:.01em}
.sv-index a::after{content:"";flex:none;width:8px;height:8px;border:solid var(--brass);border-width:0 1px 1px 0;transform:rotate(45deg) translate(-2px,-2px)}
.sv-index a:hover{color:#fff}
.sv-head .pa-photo .frame{aspect-ratio:4/3}
.sv-head .sample{z-index:4}

.sv-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--brass-lo)}
.sv-item{display:grid;gap:12px 48px;padding:clamp(28px,4vw,44px) 0;border-bottom:1px solid var(--rule);scroll-margin-top:84px}
.sv-item h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0}
.sv-item p{margin:0 0 .8em;color:var(--silver);max-width:58ch}
.sv-item p:last-child{margin-bottom:0}
.sv-item .sv-lead{color:var(--stone);font-size:1.1rem}

.sv-also{display:grid;gap:32px}
.sv-also ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--brass-lo);display:grid;grid-template-columns:1fr;column-gap:40px}
.sv-also li{padding:14px 0;border-bottom:1px solid var(--rule);font:500 clamp(1.25rem,2.2vw,1.55rem)/1.2 var(--display);color:var(--stone)}
.sv-also p{color:var(--silver);max-width:40ch}

/* ---------- ABOUT: photo-led head ---------- */
.ab-head{position:relative;min-height:clamp(460px,78svh,760px);display:flex;align-items:flex-end;overflow:hidden;background:var(--ground-2)}
.ab-head .ab-img{position:absolute;inset:0}
.ab-head .ab-img img{width:100%;height:100%;object-fit:cover;filter:sepia(.28) saturate(.7) brightness(.62)}
.ab-head .ab-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,32,30,.35) 0%,rgba(34,32,30,.55) 45%,rgba(34,32,30,.94) 82%,var(--ground) 100%),rgba(140,112,64,.12)}
.ab-head .sample{top:16px;bottom:auto}
.ab-copy{position:relative;z-index:3;padding:96px 0 clamp(40px,7vw,72px)}
.ab-head h1{font-size:clamp(2.6rem,7vw,5.4rem);max-width:13ch;margin-bottom:.3em}
.ab-head .lede{color:var(--stone);margin:0;max-width:36rem}

.ab-intro{display:grid;gap:40px}
.ab-intro .statement{font-size:clamp(1.9rem,4vw,3rem);max-width:20ch;margin-bottom:.6em}
.ab-intro p{color:var(--silver);max-width:56ch}

.ab-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--brass-lo)}
.ab-steps li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 40px;padding:20px 0;border-bottom:1px solid var(--rule)}
.ab-steps h3{font-size:1.45rem}
.ab-steps p{margin:0;color:var(--silver);max-width:52ch}

/* ---------- 404 ---------- */
.nf{min-height:calc(100svh - 68px - 200px);display:flex;align-items:center;padding:clamp(64px,12vw,160px) 0}
.nf-grid{display:grid;gap:40px;align-items:center}
.nf h1{font-size:clamp(2.6rem,6.5vw,4.8rem);max-width:13ch;margin-bottom:.35em}
.nf p:not(.cta){color:var(--silver);max-width:40ch;margin-bottom:1.8rem}
.nf-tile{width:clamp(150px,26vw,300px);aspect-ratio:1;position:relative;justify-self:start;--cut:28%;clip-path:var(--oct);
  background:linear-gradient(rgba(236,232,225,.4),rgba(236,232,225,.4)),url(../img/marble.svg) center/cover,var(--stone)}
.nf-tile::after{content:"";position:absolute;inset:0;background:var(--ground);clip-path:polygon(52% 0,47% 18%,56% 31%,44% 49%,53% 63%,46% 80%,51% 100%,49.4% 100%,44.4% 80%,51.4% 63%,42.4% 49%,54.4% 31%,45.4% 18%,50.4% 0)}

@media (min-width:760px){
  .wk-grid{grid-template-columns:1.5fr 1fr;gap:72px}
  .sv-grid{grid-template-columns:1.25fr 1fr;gap:72px}
  .sv-index{grid-template-columns:1fr 1fr}
  .sv-item{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:baseline}
  .sv-also{grid-template-columns:1fr 1.4fr;gap:72px;align-items:start}
  .sv-also ul{grid-template-columns:1fr 1fr}
  .ab-intro{grid-template-columns:1.4fr 1fr;gap:72px;align-items:start}
  .ab-steps li{grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:baseline}
  .about-area{display:grid;grid-template-columns:1fr 1.3fr;gap:72px;align-items:start}
  .nf-grid{grid-template-columns:1.4fr 1fr}
  .nf-tile{justify-self:end}
}
@media (max-width:759px){
  .pa-table th[scope=row]{width:auto;display:block;padding-bottom:4px;border-bottom:0}
  .pa-table.creds td{display:block;padding-top:0}
  .pa-table.creds tr{display:block;border-bottom:1px solid var(--rule);padding:14px 0}
  .pa-table.creds th,.pa-table.creds td{border-bottom:0;padding-left:0;padding-right:0}
}
@media (prefers-reduced-motion:no-preference){
  .ab-head .ab-img img{animation:settle 2.4s var(--ease) both}
}
