/* O'Neill's D&C — V24 refinement pass
   Accessibility, editorial differentiation and production-readiness.
*/
:root{
  --bone:#f4f0e9;
  --gold-on-light:#7a5b1d;
}

/* Stronger micro-typography on light surfaces */
.eyebrow:not(.light):not(.gold){color:var(--gold-on-light);font-size:11px;}
.projects-index-hero h1 em,
.service-faq h2 em,
.location-faq h2 em,
.section-head h2 em,
.insights .section-head h2 em{color:var(--gold-on-light);}
.project-index-card__copy span,
.insights-feature-copy span,
.start-proof-list span,
.service-scope-grid span,
.service-process-grid span{font-size:11px;}
.brief-field label{font-size:11px;color:#5f554e;}
.about-image-pair figcaption,
.article-related span,
.article-next>span{font-size:11px;}

/* Keep brand gold luminous on dark fields */
.espresso .eyebrow.gold,
.espresso .footer-grid .label,
.espresso .cap-control-grid span,
.espresso .project-brief-meta span,
.espresso .insights-knowledge-card>span{color:var(--gold);}

/* Keyboard accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid currentColor;
  outline-offset:4px;
}
.brief-field input:focus-visible,
.brief-field select:focus-visible,
.brief-field textarea:focus-visible{
  outline:2px solid #4b403a;
  outline-offset:4px;
  border-bottom-color:#4b403a;
}
.menu-btn:focus-visible{outline-color:currentColor;}

/* Slightly stronger body readability */
.service-scope-grid p,
.service-process-grid p,
.faq-item p,
.location-grid p,
.project-index-card__copy p{color:#5f5852;}

/* Brisbane / VIC-Qld location treatment */
.about-locations .location-grid article{min-height:250px;}
.about-locations .location-grid article h3{margin-top:20px;}

/* Service pages should feel editorial rather than cloned */
.service-scope-head h2{max-width:1050px;}
.service-proof-head h2{max-width:1080px;}
.service-process .service-scope-head h2{max-width:1000px;}
.service-faq-grid>div:first-child h2{max-width:640px;}

/* Honest staging-form status note */
.brief-form-note{
  padding:16px 18px;
  border-left:2px solid var(--gold-on-light);
  background:rgba(122,91,29,.055);
  color:#5d554f;
}

/* Mobile navigation clarity */
.mobile-menu[aria-hidden="true"]{visibility:hidden;}
.mobile-menu.open[aria-hidden="false"]{visibility:visible;}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  .reveal{opacity:1!important;transform:none!important;}
}

@media(max-width:900px){
  .eyebrow:not(.light):not(.gold){font-size:11px;}
  .mobile-menu a{font-size:clamp(36px,10vw,46px);}
}

/* Enquiry form runtime states */
.brief-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.brief-status{min-height:1.45em;margin-top:16px;font-size:12px;line-height:1.5;color:#5d554f;}
.brief-submit:disabled{opacity:.58;cursor:wait;}


/* ==========================================================
   V25 — forensic quality-control / editorial differentiation
   ========================================================== */

/* Refurbishment: interface matrix -> delivery sequence -> project proof. */
.service-refurbishment .service-scope{background:#ece5dc;}
.service-refurbishment .service-scope-grid{grid-template-columns:repeat(2,1fr);}
.service-refurbishment .service-scope-grid article{min-height:260px;padding:42px 44px 48px 0;margin-right:44px;}
.service-refurbishment .service-scope-grid article:nth-child(odd){border-right:1px solid #bdb3a8;margin-right:44px;}
.service-refurbishment .service-scope-grid article:nth-child(even){border-right:0;margin-right:0;}
.service-refurbishment .service-scope-grid article:nth-child(-n+4){border-bottom:1px solid #bdb3a8;}
.service-refurbishment .service-scope-grid article:nth-child(3){border-right:1px solid #bdb3a8;}
.service-refurbishment .service-process{background:#f4f0e9;}
.service-refurbishment .service-process-grid{grid-template-columns:repeat(2,1fr);}
.service-refurbishment .service-process-grid article{min-height:230px;border-bottom:1px solid #bdb3a8;}
.service-refurbishment .service-process-grid article:nth-child(2){border-right:0;margin-right:0;}
.service-refurbishment .service-process-grid article:nth-child(3){border-bottom:0;}
.service-refurbishment .service-process-grid article:nth-child(4){border-right:0;border-bottom:0;margin-right:0;}
.service-refurbishment .service-proof-grid{grid-template-columns:1fr 1fr;}

/* Live environments: operational interfaces read as a control register. */
.service-live .service-scope{background:#e7dfd4;}
.service-live .service-scope-grid{display:block;border-bottom:1px solid #b5aa9e;}
.service-live .service-scope-grid article,
.service-live .service-scope-grid article:nth-child(3),
.service-live .service-scope-grid article:nth-child(6){
  display:grid;grid-template-columns:70px minmax(220px,.75fr) minmax(0,1.5fr);
  gap:30px;align-items:start;min-height:0;padding:27px 0;margin:0;border-right:0;border-bottom:1px solid #b5aa9e;
}
.service-live .service-scope-grid article:last-child{border-bottom:0;}
.service-live .service-scope-grid h3{margin:0;font-size:30px;}
.service-live .service-scope-grid p{margin:0;max-width:760px;}
.service-live .service-proof-grid{grid-template-columns:1fr 1fr;}

/* Heritage: quieter, material-led panels and asymmetric proof. */
.service-heritage .service-scope{background:#ddd5c9;}
.service-heritage .service-scope-grid{grid-template-columns:repeat(2,1fr);gap:1px;background:#b7ad9f;border:1px solid #b7ad9f;}
.service-heritage .service-scope-grid article,
.service-heritage .service-scope-grid article:nth-child(3),
.service-heritage .service-scope-grid article:nth-child(6),
.service-heritage .service-scope-grid article:nth-child(-n+3){
  min-height:260px;padding:42px;margin:0;border:0;background:#ece6dd;
}
.service-heritage .service-scope-grid h3{margin-top:55px;}
.service-heritage .service-proof-grid{grid-template-columns:1.45fr .55fr;}
.service-heritage .service-process-grid{grid-template-columns:repeat(2,1fr);}
.service-heritage .service-process-grid article:nth-child(2){border-right:0;margin-right:0;}
.service-heritage .service-process-grid article:nth-child(-n+2){border-bottom:1px solid #bdb3a8;}
.service-heritage .service-process-grid article:nth-child(3){border-bottom:0;}
.service-heritage .service-process-grid article:nth-child(4){border-right:0;border-bottom:0;margin-right:0;}

/* D&C: decisions read as a sequence, not a generic 4-card block. */
.service-dc .service-process{background:#e9e1d7;}
.service-dc .service-process-grid{display:block;border-bottom:1px solid #b8aea2;}
.service-dc .service-process-grid article,
.service-dc .service-process-grid article:last-child{
  display:grid;grid-template-columns:70px minmax(220px,.8fr) minmax(0,1.5fr);
  gap:30px;align-items:start;padding:28px 0;margin:0;border-right:0;border-bottom:1px solid #b8aea2;
}
.service-dc .service-process-grid article:last-child{border-bottom:0;}
.service-dc .service-process-grid h3{margin:0;font-size:31px;}
.service-dc .service-process-grid p{margin:0;max-width:760px;}
.service-dc .service-proof-grid{grid-template-columns:1.15fr .85fr;}

/* Government: evidence and governance controls lead the page. */
.service-government .service-process{background:#e7dfd4;}
.service-government .service-process-grid{grid-template-columns:repeat(2,1fr);}
.service-government .service-process-grid article{min-height:230px;}
.service-government .service-process-grid article:nth-child(2){border-right:0;margin-right:0;}
.service-government .service-process-grid article:nth-child(-n+2){border-bottom:1px solid #bdb3a8;}
.service-government .service-process-grid article:nth-child(3){border-bottom:0;}
.service-government .service-process-grid article:nth-child(4){border-right:0;border-bottom:0;margin-right:0;}
.service-government .service-scope-grid{grid-template-columns:repeat(2,1fr);}
.service-government .service-scope-grid article:nth-child(odd){border-right:1px solid #bdb3a8;margin-right:32px;}
.service-government .service-scope-grid article:nth-child(even){border-right:0;margin-right:0;}
.service-government .service-scope-grid article:nth-child(-n+4){border-bottom:1px solid #bdb3a8;}
.service-government .service-proof-grid{grid-template-columns:1.35fr .65fr;}

/* Start-a-project: keep implementation invisible to the user. */
.brief-form-note{max-width:760px;font-size:12px;line-height:1.65;}
.brief-submit:disabled{opacity:.58;cursor:wait;}
.brief-status:not(:empty){margin-top:16px;padding:13px 0;border-top:1px solid rgba(193,160,80,.28);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important;}
  .reveal,.project-image img,.service-proof-card img,.hero-image{transition:none!important;transform:none!important;}
}

@media(max-width:980px){
  .service-live .service-scope-grid article,
  .service-live .service-scope-grid article:nth-child(3),
  .service-live .service-scope-grid article:nth-child(6),
  .service-dc .service-process-grid article,
  .service-dc .service-process-grid article:last-child{grid-template-columns:52px 1fr;}
  .service-live .service-scope-grid p,.service-dc .service-process-grid p{grid-column:2;}
}

@media(max-width:620px){
  .service-refurbishment .service-scope-grid,.service-refurbishment .service-process-grid,
  .service-heritage .service-scope-grid,.service-heritage .service-process-grid,
  .service-government .service-scope-grid,.service-government .service-process-grid{grid-template-columns:1fr;}

  .service-refurbishment .service-scope-grid article,
  .service-refurbishment .service-scope-grid article:nth-child(odd),
  .service-refurbishment .service-scope-grid article:nth-child(even),
  .service-heritage .service-scope-grid article,
  .service-government .service-scope-grid article,
  .service-government .service-scope-grid article:nth-child(odd),
  .service-government .service-scope-grid article:nth-child(even){
    min-height:0;margin:0;padding:30px 0;border-right:0;border-bottom:1px solid #bdb3a8;
  }
  .service-heritage .service-scope-grid article{padding:30px 24px;}

  .service-live .service-scope-grid article,
  .service-live .service-scope-grid article:nth-child(3),
  .service-live .service-scope-grid article:nth-child(6),
  .service-dc .service-process-grid article,
  .service-dc .service-process-grid article:last-child{
    grid-template-columns:38px 1fr;gap:15px;padding:26px 0;
  }
  .service-live .service-scope-grid p,.service-dc .service-process-grid p{grid-column:1 / -1;padding-left:53px;}

  .service-live .service-proof-grid,.service-refurbishment .service-proof-grid,
  .service-heritage .service-proof-grid,.service-dc .service-proof-grid,
  .service-government .service-proof-grid{grid-template-columns:1fr;}
}

/* ==========================================================
   V26 — image fidelity / responsive media refinements
   ========================================================== */
.cap-service img{object-position:center center;}
#refurbishment-upgrades img{object-position:center 54%;}
#live-environment img{object-position:center 48%;}
#government-institutional img{object-position:center 46%;}
.service-refurbishment .service-hero>img{object-position:center 56%;}
.service-live .service-hero>img{object-position:center 48%;}
.service-government .service-hero>img{object-position:center 44%;}
@media(max-width:900px){.cap-service img{aspect-ratio:4/3;}}
@media(max-width:620px){
  .cap-service img{aspect-ratio:4/3;object-position:center center;}
  #refurbishment-upgrades img{object-position:center 52%;}
  #live-environment img{object-position:center 46%;}
  #government-institutional img{object-position:center 42%;}
  .service-refurbishment .service-hero>img{object-position:center 58%;}
  .service-live .service-hero>img{object-position:58% 48%;}
  .service-government .service-hero>img{object-position:56% 42%;}
}

/* V26.1 clean verification refinements */
#design-construct img{object-position:center 50%;}
.service-dc .service-hero>img{object-position:center 52%;}
@media(max-width:620px){
  #design-construct img{object-position:center 50%;}
  .service-dc .service-hero>img{object-position:center 50%;}
  .service-hero{min-height:620px;}
  .service-hero__content{padding-bottom:48px;}
}


/* ==========================================================
   V27 — authority, project growth and Omicron D&C case study
   ========================================================== */

/* Trust / authority strip */
.client-proof{padding:clamp(78px,8vw,125px) var(--pad);background:#ede6dc;}
.client-proof__head{display:grid;grid-template-columns:1fr 2.2fr;gap:6vw;align-items:end;margin-bottom:54px;}
.client-proof__head h2{font-family:var(--serif);font-size:clamp(42px,4.8vw,74px);font-weight:400;line-height:1.02;letter-spacing:-.035em;}
.client-proof__head h2 em{font-style:italic;color:var(--walnut);}
.client-proof__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bdb3a8;border-bottom:1px solid #bdb3a8;}
.client-proof__grid span{min-height:82px;display:flex;align-items:center;padding:18px 22px 18px 0;margin-right:22px;border-right:1px solid #bdb3a8;font-family:var(--serif);font-size:21px;line-height:1.15;color:#3d3733;}
.client-proof__grid span:nth-child(4n){border-right:0;margin-right:0;}
.client-proof__grid span:nth-child(-n+8){border-bottom:1px solid #bdb3a8;}

/* About page proof band */
.about-proof{padding:0 var(--pad) clamp(95px,10vw,155px);background:var(--espresso);color:var(--ivory);}
.about-proof__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #574a43;border-bottom:1px solid #574a43;}
.about-proof__grid article{padding:34px 30px 42px 0;margin-right:30px;border-right:1px solid #574a43;}
.about-proof__grid article:last-child{border-right:0;margin-right:0;}
.about-proof__grid span{font-size:10px;letter-spacing:.17em;color:var(--gold);text-transform:uppercase;}
.about-proof__grid strong{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,46px);line-height:1.02;margin:24px 0 12px;}
.about-proof__grid p{font-size:13px;line-height:1.65;color:#bfb3aa;max-width:250px;}

/* Omicron project */
.omicron-page .case-hero>picture,.omicron-page .case-hero>picture img{position:absolute;inset:0;width:100%;height:100%;}
.omicron-page .case-hero>picture img{object-fit:cover;object-position:center 48%;}
.omicron-page .case-feature img{object-position:center 52%;}
.case-image--landscape{aspect-ratio:4/3;}
.case-image--landscape img{width:100%;height:100%;object-fit:cover;}

/* D&C now uses Omicron as primary proof. */
.service-dc .service-hero>picture,.service-dc .service-hero>picture img{position:absolute;inset:0;width:100%;height:100%;}
.service-dc .service-hero>picture img{object-fit:cover;object-position:center 50%;}
.service-dc .service-proof-grid{grid-template-columns:1.35fr .65fr;}

/* Projects index can expand without a redesign. */
.project-index-card--new .project-index-card__copy>span:first-child{color:var(--gold-on-light);}

@media(max-width:900px){
  .client-proof__grid{grid-template-columns:repeat(2,1fr);}
  .client-proof__grid span:nth-child(4n){border-right:1px solid #bdb3a8;margin-right:22px;}
  .client-proof__grid span:nth-child(2n){border-right:0;margin-right:0;}
  .client-proof__grid span:nth-child(-n+10){border-bottom:1px solid #bdb3a8;}
  .about-proof__grid{grid-template-columns:1fr 1fr;}
  .about-proof__grid article:nth-child(2){border-right:0;margin-right:0;}
  .about-proof__grid article:nth-child(-n+2){border-bottom:1px solid #574a43;}
}

@media(max-width:620px){
  .client-proof{padding-left:22px;padding-right:22px;}
  .client-proof__head{grid-template-columns:1fr;gap:18px;}
  .client-proof__grid{grid-template-columns:1fr 1fr;}
  .client-proof__grid span{font-size:17px;min-height:70px;padding-right:12px;margin-right:12px;}
  .client-proof__grid span:nth-child(4n){margin-right:12px;}
  .about-proof{padding-left:22px;padding-right:22px;}
  .about-proof__grid{grid-template-columns:1fr;}
  .about-proof__grid article,.about-proof__grid article:nth-child(2){padding:26px 0;margin:0;border-right:0;border-bottom:1px solid #574a43;}
  .about-proof__grid article:last-child{border-bottom:0;}
  .omicron-page .case-hero>picture img{object-position:center center;}
  .service-dc .service-hero>picture img{object-position:center center;}
  .case-image--landscape{aspect-ratio:4/3;}
}

/* ==========================================================
   V28 — Level 9 photography / responsive composition
   ========================================================== */
.hero-media{display:block;width:100%;height:100%;}
.hero-media .hero-image{display:block;width:100%;height:100%;}

.level9-page .case-hero-media,
.level9-page .case-hero-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.level9-page .case-hero-media{display:block;}
.level9-page .case-hero-media img{object-fit:cover;object-position:center 50%;}

/* Level 9 portrait photography is intentionally shown at its native 2:3 rhythm
   rather than being aggressively cropped into the generic 4:5 project frame. */
.level9-page .case-image--tall{aspect-ratio:2/3;}
.level9-page .case-image--tall img{object-position:center center;}
.level9-page .case-feature img{object-position:center 50%;}

@media(max-width:620px){
  .hero-media .hero-image{object-position:center 48%;}
  .level9-page .case-hero-media img{object-position:center center;}
  .level9-page .case-image--tall{aspect-ratio:2/3;}
  .level9-page .case-feature{height:68svh;}
  .level9-page .case-feature img{object-position:center center;}
}


/* V30 social links — restrained footer integration */
.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:16px}
.footer-social a{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#cfc4bb}
.footer-social a:hover{color:var(--gold)}
.footer-social .icon-arrow-svg{width:11px;height:11px}

/* V72.8 audit polish — larger social touch targets and stronger DEECA caption contrast. */
.footer-social a{min-width:44px;min-height:44px;padding:10px 0}
.deeca-page .case-gallery .case-caption{color:#655e58}
