/* ============ SHARED INNER-PAGE STYLES ============ */

/* reused across about, blog */
.page-index{font:600 11px/1 "Archivo";letter-spacing:.3em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:12px}
.section-title{font-family:"Archivo Black";font-size:clamp(34px,6vw,80px);line-height:.95;letter-spacing:-.03em}
.section-title em{font-family:"Fraunces";font-style:italic;font-weight:300;color:var(--accent)}

/* ===== ABOUT — CINEMATIC HERO ===== */
.about-cinematic{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;
  overflow:hidden;
}

/* darkened fire-portrait placeholder — swap for real img via background-image */
.about-cinematic__img{
  position:absolute;inset:0;
  background:
    radial-gradient(55% 70% at 62% 38%, rgba(255,90,31,.18), transparent 60%),
    radial-gradient(40% 50% at 38% 62%, rgba(196,30,42,.12), transparent 55%),
    linear-gradient(160deg,#0c0301 0%,#0a0705 100%);
  filter:contrast(1.1);
}
/* heavy shadow mask so figure bleeds into darkness */
.about-cinematic__shadow{
  position:absolute;inset:0;
  background:
    linear-gradient(to right, rgba(10,7,5,.92) 0%, rgba(10,7,5,.3) 55%, rgba(10,7,5,.85) 100%),
    linear-gradient(to bottom, rgba(10,7,5,.6) 0%, transparent 30%, transparent 65%, rgba(10,7,5,.95) 100%);
}
/* subtle scanline texture over the portrait */
.about-cinematic__scanlines{
  position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(0,0,0,.08) 3px,
    rgba(0,0,0,.08) 4px
  );
  opacity:.6;
}

/* full-height overlay layout */
.about-cinematic__overlay{
  position:relative;z-index:10;
  flex:1;display:flex;flex-direction:column;
  padding:clamp(90px,12vh,130px) clamp(20px,5vw,60px) clamp(30px,5vh,60px);
  min-height:100svh;
}

/* top bar tags */
.about-cinematic__top{
  display:flex;justify-content:space-between;align-items:flex-start;
  border-bottom:1px solid rgba(246,236,224,.08);padding-bottom:18px;
}
.about-tag{
  font:600 10px/1 "Archivo";letter-spacing:.35em;text-transform:uppercase;
  color:rgba(246,236,224,.35);
}
.about-tag em{color:var(--accent);font-style:normal}
@media (max-width:600px){ .about-tag--right{display:none} }

/* centred title */
.about-cinematic__centre{
  flex:1;display:flex;align-items:center;
  padding:clamp(30px,5vw,60px) 0;
}
.about-cinematic__title{
  font-family:"Archivo Black";
  font-size:clamp(60px,16vw,210px);
  line-height:.85;letter-spacing:-.03em;text-transform:uppercase;
}
.about-cinematic__line{display:block;overflow:hidden}
.about-cinematic__line--indent{margin-left:clamp(20px,8vw,120px)}
.about-cinematic__title em{
  font-family:"Fraunces";font-style:italic;font-weight:300;
  color:var(--accent);text-transform:lowercase;
  text-shadow:0 0 50px rgba(255,90,31,.5);
}

/* bottom row */
.about-cinematic__bottom{
  display:flex;justify-content:space-between;align-items:flex-end;
  border-top:1px solid rgba(246,236,224,.08);padding-top:20px;
}

/* redacted identity elements */
.about-redacted{
  display:flex;align-items:center;gap:14px;
  flex-wrap:wrap;
}
.about-redacted__loc{
  font:600 11px/1 "Archivo";letter-spacing:.25em;text-transform:uppercase;color:var(--muted);
}
.redact{
  display:inline-block;
  font-family:"Archivo Black";letter-spacing:.06em;
  color:var(--accent);opacity:.7;
  position:relative;
  user-select:none;
}
.redact--sm{font-size:.75em;opacity:.45}

/* scroll indicator */
.about-cinematic__scroll{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--muted);
}
.about-cinematic__scroll span{
  font:600 9px/1 "Archivo";letter-spacing:.3em;text-transform:uppercase;
}
.about-cinematic__scroll svg{width:18px;height:32px}

/* ===== DOSSIER SECTION ===== */
.about-dossier{
  padding:clamp(50px,8vw,100px) clamp(20px,5vw,60px);
  border-top:1px solid var(--line);
}

/* top metadata strip */
.about-dossier__line{
  display:flex;gap:clamp(20px,4vw,60px);flex-wrap:wrap;
  padding-bottom:28px;margin-bottom:clamp(36px,5vw,60px);
  border-bottom:1px solid var(--line);
  font:600 10px/1 "Archivo";letter-spacing:.3em;text-transform:uppercase;
  color:rgba(246,236,224,.2);
}

.about-dossier__body{
  display:grid;grid-template-columns:1fr auto;
  gap:clamp(40px,8vw,120px);align-items:start;
}
@media (max-width:760px){
  .about-dossier__body{grid-template-columns:1fr}
  .about-dossier__col--meta{border-top:1px solid var(--line);padding-top:32px}
}

.about-dossier__col--main{display:flex;flex-direction:column;gap:26px}

.about-dossier__text{
  font-family:"Archivo Black";
  font-size:clamp(26px,4.5vw,56px);
  line-height:.98;letter-spacing:-.03em;text-transform:uppercase;
  color:var(--ink);
  max-width:16ch;
}
.about-dossier__text--muted{
  font-family:"Fraunces";font-weight:300;font-style:italic;
  font-size:clamp(17px,2.2vw,26px);
  letter-spacing:0;text-transform:none;
  color:var(--muted);line-height:1.5;
}

/* meta dossier table */
.about-dossier__col--meta{
  display:flex;flex-direction:column;gap:0;
  min-width:220px;
}
.about-meta-block{
  display:flex;justify-content:space-between;align-items:baseline;
  gap:20px;padding:14px 0;
  border-bottom:1px solid var(--line);
}
.about-meta-block__label{
  font:600 9px/1 "Archivo";letter-spacing:.28em;text-transform:uppercase;color:var(--muted);
  flex-shrink:0;
}
.about-meta-block__val{
  font:500 13px/1 "Archivo";color:var(--ink);text-align:right;
}
.about-meta-block__val.redact{
  font-family:"Archivo Black";font-size:14px;
  color:var(--accent);opacity:.55;
  letter-spacing:.04em;
}

.about-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.btn-about{
  font:700 11px/1 "Archivo";letter-spacing:.1em;text-transform:uppercase;
  padding:13px 22px;border-radius:2px;background:var(--accent);color:#fff;
  transition:background .3s var(--easing);cursor:none;
}
.btn-about:hover{background:#e04a10}
.btn-about--ghost{background:none;border:1px solid var(--line);color:var(--ink);transition:border-color .3s,color .3s}
.btn-about--ghost:hover{background:none;border-color:var(--ink);color:var(--ink)}
@media (hover:none){.btn-about,.btn-about--ghost{cursor:pointer}}

/* ===== ABOUT STATEMENT ===== */
.about-statement{
  padding:clamp(60px,12vw,160px) clamp(20px,5vw,60px);
  border-top:1px solid var(--line);
}
.about-statement__text{
  font-family:"Fraunces";font-weight:300;
  font-size:clamp(24px,4.8vw,62px);line-height:1.2;
  max-width:22ch;letter-spacing:-.01em;color:var(--muted);
}
.about-statement__text em{font-style:italic;color:var(--accent);display:block;margin-bottom:.25em}

/* ===== BLOG LISTING ===== */
.blog-hero{
  padding:160px clamp(18px,4vw,46px) 60px;border-bottom:1px solid var(--line);
}
.blog-hero__inner{max-width:680px;display:flex;flex-direction:column;gap:14px}
.blog-hero__title{font-family:"Archivo Black";font-size:clamp(48px,9vw,120px);line-height:.92;letter-spacing:-.03em;text-transform:uppercase}
.blog-hero__title em{font-family:"Fraunces";font-style:italic;font-weight:300;color:var(--accent);text-transform:lowercase}
.blog-hero__sub{font-family:"Fraunces";font-weight:300;font-size:clamp(16px,2vw,22px);color:var(--muted);max-width:50ch;line-height:1.4}

.blog-grid{
  padding:clamp(30px,5vw,60px) clamp(18px,4vw,46px);
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:clamp(14px,2vw,28px);
}
.blog-empty{text-align:center;padding:80px 20px;font-family:"Fraunces";font-style:italic;font-size:22px;color:var(--muted)}

.post-card{
  display:flex;flex-direction:column;border:1px solid var(--line);border-radius:3px;overflow:hidden;
  background:var(--paper);text-decoration:none;
  opacity:0;transform:translateY(24px);transition:opacity .7s var(--easing),transform .7s var(--easing),border-color .3s;
  transition-delay:calc(var(--pi,0)*.07s);cursor:none;
}
.post-card.in{opacity:1;transform:none}
.post-card:hover{border-color:rgba(246,236,224,.3)}
@media (hover:none){.post-card{cursor:pointer}}

.post-card__img{
  aspect-ratio:16/9;background-size:cover;background-position:center;
  position:relative;overflow:hidden;
}
.post-card__img-inner{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s var(--easing)}
.post-card:hover .post-card__img-inner{transform:scale(1.05)}
.post-card__cat{
  position:absolute;top:12px;left:12px;
  font:700 9px/1 "Archivo";letter-spacing:.2em;text-transform:uppercase;
  background:var(--accent);color:#fff;padding:4px 8px;border-radius:2px;
}

.post-card__body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card__date{font:600 10px/1 "Archivo";letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.post-card__title{font-family:"Archivo Black";font-size:clamp(18px,2.2vw,24px);line-height:1.1;letter-spacing:-.01em}
.post-card__excerpt{font-family:"Fraunces";font-weight:300;font-size:15px;color:var(--muted);line-height:1.5;flex:1}
.post-card__read{font:700 11px/1 "Archivo";letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:6px;transition:letter-spacing .3s var(--easing)}
.post-card:hover .post-card__read{letter-spacing:.18em}

/* ===== BLOG POST ===== */
.post-full{
  max-width:740px;margin:0 auto;
  padding:160px clamp(18px,4vw,46px) 80px;
}
.post-full__back{
  display:inline-flex;align-items:center;gap:8px;
  font:700 10px/1 "Archivo";letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  transition:color .3s,gap .3s var(--easing);margin-bottom:48px;
}
.post-full__back:hover{color:var(--accent);gap:14px}
.post-full__cat{font:700 10px/1 "Archivo";letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;display:block}
.post-full__title{font-family:"Archivo Black";font-size:clamp(36px,7vw,88px);line-height:.92;letter-spacing:-.03em;margin-bottom:22px}
.post-full__meta{font:600 10px/1 "Archivo";letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:40px;display:flex;gap:20px;flex-wrap:wrap}
.post-full__hero-img{
  width:100%;aspect-ratio:16/9;border-radius:3px;overflow:hidden;
  margin-bottom:48px;border:1px solid var(--line);
}
.post-full__hero-img-inner{width:100%;height:100%;background-size:cover;background-position:center}
.post-full__body{font-family:"Fraunces";font-weight:300;font-size:clamp(17px,2vw,21px);line-height:1.65;color:var(--ink)}
.post-full__body p{margin-bottom:1.4em}
.post-full__body h2{font-family:"Archivo Black";font-size:clamp(24px,3.5vw,38px);letter-spacing:-.02em;margin:1.6em 0 .6em;color:var(--ink)}
.post-full__body blockquote{
  border-left:3px solid var(--accent);padding-left:20px;margin:1.6em 0;
  font-style:italic;color:var(--muted);
}
.post-full__body strong{font-weight:700;color:var(--ink)}

/* ===== COMMISSION MODAL ===== */
.comm-overlay{
  position:fixed;inset:0;z-index:1800;
  background:rgba(0,0,0,.72);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .45s var(--easing);
}
.comm-wrap{
  position:fixed;inset:0;z-index:1801;
  display:flex;align-items:center;justify-content:center;
  padding:20px;pointer-events:none;
}
.comm-wrap.is-open,
.comm-wrap.is-open + .comm-overlay{
  pointer-events:auto;
}
.comm-wrap.is-open + .comm-overlay{ opacity:1; }

.comm{
  position:relative;
  width:100%;max-width:640px;max-height:90svh;overflow-y:auto;
  background:var(--paper);border:1px solid var(--line);border-radius:4px;
  padding:clamp(28px,5vw,52px) clamp(24px,5vw,48px);
  transform:translateY(28px) scale(.97);opacity:0;
  transition:transform .45s var(--easing),opacity .45s var(--easing);
}
.comm-wrap.is-open .comm{
  transform:none;opacity:1;
}

/* close */
.comm__close{
  position:absolute;top:18px;right:20px;
  background:none;border:0;color:var(--muted);font-size:15px;
  cursor:none;transition:color .25s;padding:4px;
}
.comm__close:hover{color:var(--ink)}
@media(hover:none){.comm__close{cursor:pointer}}

/* head */
.comm__head{ margin-bottom:32px; }
.comm__tag{
  display:block;margin-bottom:14px;
  font:600 10px/1 "Archivo";letter-spacing:.3em;text-transform:uppercase;
  color:var(--accent);
}
.comm__title{
  font-family:"Archivo Black";
  font-size:clamp(28px,5vw,46px);line-height:.92;letter-spacing:-.03em;
  text-transform:uppercase;margin-bottom:14px;
}
.comm__title em{
  font-family:"Fraunces";font-style:italic;font-weight:300;
  color:var(--accent);text-transform:lowercase;
}
.comm__sub{
  font-family:"Fraunces";font-weight:300;font-size:clamp(14px,1.8vw,17px);
  color:var(--muted);line-height:1.5;max-width:44ch;
}

/* form layout */
.comm__form{ display:flex;flex-direction:column;gap:20px; }
.comm__row{ display:grid;grid-template-columns:1fr 1fr;gap:16px; }
@media(max-width:520px){ .comm__row{ grid-template-columns:1fr; } }

.comm__field{
  display:flex;flex-direction:column;gap:7px;
}
.comm__label{
  font:600 9px/1 "Archivo";letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);
}
.comm__label em{ color:var(--accent);font-style:normal; }

.comm__form input,
.comm__form textarea,
.comm__form select{
  background:rgba(246,236,224,.04);
  border:1px solid var(--line);border-radius:2px;
  padding:12px 14px;color:var(--ink);
  font:400 14px/1.4 "Archivo";
  transition:border-color .3s,box-shadow .3s;outline:none;
  width:100%;
}
.comm__form input:focus,
.comm__form textarea:focus,
.comm__form select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(255,90,31,.12);
}
.comm__form input::placeholder,
.comm__form textarea::placeholder{ color:rgba(246,236,224,.22); }
.comm__form select{ appearance:none;cursor:none; }
.comm__form select option{ background:var(--paper);color:var(--ink); }
.comm__form textarea{ resize:vertical;min-height:110px; }

/* project type pills */
.comm__fieldset{
  border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;
}
.comm__types{
  display:flex;flex-wrap:wrap;gap:8px;
}
.comm__type-btn{
  font:600 10px/1 "Archivo";letter-spacing:.14em;text-transform:uppercase;
  padding:8px 14px;border:1px solid var(--line);border-radius:2px;
  background:none;color:var(--muted);cursor:none;
  transition:background .25s,color .25s,border-color .25s,transform .2s var(--easing);
}
.comm__type-btn:hover{ border-color:var(--ink);color:var(--ink);transform:translateY(-1px); }
.comm__type-btn.is-selected{
  background:var(--accent);border-color:var(--accent);color:#fff;
}
@media(hover:none){ .comm__type-btn,.comm__form select{ cursor:pointer; } }

/* footer row */
.comm__form-foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;flex-wrap:wrap;padding-top:8px;
  border-top:1px solid var(--line);
}
.comm__note{
  font:400 11px/1.5 "Archivo";color:var(--muted);letter-spacing:.04em;
  max-width:30ch;
}
.comm__submit{
  font:700 12px/1 "Archivo";letter-spacing:.1em;text-transform:uppercase;
  padding:14px 28px;border:0;border-radius:2px;
  background:var(--accent);color:#fff;cursor:none;
  transition:background .3s var(--easing),transform .2s;
  white-space:nowrap;flex-shrink:0;
}
.comm__submit:hover{ background:#e04a10; }
.comm__submit:active{ transform:scale(.98); }
@media(hover:none){ .comm__submit{ cursor:pointer; } }

/* error highlight */
.comm__form input.is-error,
.comm__form textarea.is-error,
.comm__fieldset.is-error .comm__types{
  border-color:var(--crimson);
  box-shadow:0 0 0 3px rgba(196,30,42,.15);
}
.comm__fieldset.is-error .comm__types{
  border:1px solid var(--crimson);border-radius:2px;padding:6px;
}

/* success */
.comm__success{
  display:flex;flex-direction:column;align-items:center;
  gap:16px;text-align:center;padding:20px 0;
}
.comm__success-icon{
  font-size:52px;color:var(--accent);
  animation:commPulse 1.6s var(--easing) infinite;
}
@keyframes commPulse{
  0%,100%{ text-shadow:0 0 0 rgba(255,90,31,0); transform:scale(1); }
  50%    { text-shadow:0 0 24px rgba(255,90,31,.6); transform:scale(1.08); }
}
.comm__success h3{ font-family:"Archivo Black";font-size:28px;letter-spacing:-.02em; }
.comm__success p{ font-family:"Fraunces";font-size:16px;color:var(--muted);max-width:34ch;line-height:1.5; }
