/* Art Home Decor — contemporary architectural studio restyle.
   Visual layer only: content, media, links and document structure are unchanged. */
:root {
  --ink:#181b1d; --paper:#f4f5f5; --white:#fff; --orange:#68767d;
  --orange-dark:#4f5e65; --cream:#f4f5f5; --muted:#686f72; --line:#d4d8da;
  --serif:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --sans:Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;
}
html { background:var(--paper); }
body,.case-study {
  color:var(--ink); background:var(--paper); font-family:var(--sans);
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection { color:#fff; background:var(--orange); }
:focus-visible { outline-color:var(--orange); outline-width:2px; }
.shell { width:min(1440px,calc(100% - clamp(40px,8vw,144px))); }
h1,h2,h3,.section-title,.project-card h3,.proof-item strong,.projects-cta p,
.step h3,.lead-form h3,.contact-details h3 {
  font-family:var(--sans); font-style:normal; font-weight:600; letter-spacing:-.045em;
}
.section-title { max-width:820px; font-size:clamp(2.65rem,4.8vw,5.15rem); line-height:1.02; }
.eyebrow {
  gap:14px; color:inherit; font-size:.75rem; font-weight:650;
  letter-spacing:.16em;
}
.eyebrow::before { width:38px; height:1px; background:var(--orange); }
.button {
  min-height:50px; padding:0 22px; border:1px solid var(--orange); border-radius:0;
  color:#fff; background:var(--orange); box-shadow:none; font-size:.82rem;
  font-weight:650; letter-spacing:.05em;
  transition:color .18s ease,background-color .18s ease,border-color .18s ease;
}
.button:hover { color:#fff; background:var(--orange-dark); border-color:var(--orange-dark); transform:none; }
.button-dark { background:var(--ink); border-color:var(--ink); }
.button-dark:hover { background:#313638; border-color:#313638; }
.button-outline { color:#fff; background:transparent; border-color:rgba(255,255,255,.68); }
.button-outline:hover { color:var(--ink); background:#fff; border-color:#fff; }

/* Header and navigation */
.site-header { border-bottom-color:rgba(255,255,255,.28); }
.site-header.scrolled {
  color:var(--ink); background:rgba(255,255,255,.97); border-color:var(--line);
  backdrop-filter:blur(10px);
}
.nav { height:78px; }
.wordmark {
  gap:15px; font-size:1.05rem; font-weight:750; letter-spacing:.105em;
  line-height:1; text-shadow:0 0 .01px currentColor;
}
.wordmark-bar { width:3px; min-height:32px; background:var(--orange); }
.nav-links { gap:clamp(20px,2.6vw,36px); }
.nav-links>a:not(.button) { font-size:.76rem; font-weight:650; letter-spacing:.1em; }
.nav-links>a:not(.button)::after { height:1px; background:currentColor; }
a.button[href*="whatsapp.com"] {
  color:#fff; background:#ef6a32; border-color:#ef6a32;
}
a.button[href*="whatsapp.com"]:hover {
  color:#fff; background:#cc4e1b; border-color:#cc4e1b;
}

/* Homepage hero: editorial image with a flat overlay */
body:not(.case-study) .hero { min-height:min(920px,100svh); background:#202426; }
body:not(.case-study) .hero::before { background:rgba(18,22,24,.57); }
body:not(.case-study) .hero-content { width:min(780px,68%); padding:174px 0 88px; }
body:not(.case-study) .hero h1 {
  max-width:760px; margin-bottom:30px; font-size:clamp(4rem,8vw,7.6rem);
  font-weight:600; line-height:.92; letter-spacing:-.065em;
}
body:not(.case-study) .hero h1 em { color:#dce1e3; font-style:normal; }
body:not(.case-study) .hero-copy {
  max-width:620px; color:rgba(255,255,255,.84); line-height:1.72;
}
.hero-caption {
  right:28px; bottom:28px; color:rgba(255,255,255,.68); letter-spacing:.12em;
}
.proof-strip { background:#1c2022; }
.proof-grid { border-left:1px solid rgba(255,255,255,.18); }
.proof-item {
  min-height:126px; padding:28px 32px; border-right-color:rgba(255,255,255,.18);
}
.proof-item strong { font-size:clamp(1.45rem,2.2vw,2.35rem); letter-spacing:-.035em; }
.proof-item span { color:rgba(255,255,255,.58); font-weight:600; letter-spacing:.13em; }

section { padding:clamp(84px,9vw,132px) 0; }
.intro-grid {
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(52px,8vw,132px);
}
#intro-title {
  max-width:680px; font-size:clamp(2.4rem,3.6vw,4.15rem);
  line-height:1.08; font-weight:600;
}
.intro-copy {
  max-width:660px; color:#42484b; font-size:clamp(1.06rem,1.5vw,1.3rem);
  line-height:1.8;
}
.signature { font-weight:650; }
.signature span { background:var(--orange); }

/* Projects: strict two-column architectural grid */
#projects { color:var(--ink); background:#fff; }
#projects .projects-head {
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr); gap:64px;
}
#projects .projects-head-copy { color:#596064; }
#projects .project-filters {
  gap:32px; margin-top:42px; border-bottom-color:var(--line);
}
#projects .filter {
  padding:13px 0; color:#687074; border-bottom-width:1px; border-radius:0;
  font-size:.86rem; transition:color .18s ease,border-color .18s ease;
}
#projects .filter.active,#projects .filter:hover {
  color:var(--ink); border-bottom-color:var(--orange); background:transparent;
}
#projects .project-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:58px 28px; margin-top:40px;
}
#projects .project-grid>a { grid-column:auto!important; }
#projects .project-card,
#projects .project-grid>a:nth-child(n+3) .project-card {
  min-height:0; overflow:visible; color:var(--ink); background:transparent;
}
#projects .project-card::after { display:none; }
#projects .project-card img {
  position:static; width:100%; height:auto; aspect-ratio:16/10;
  object-fit:cover; object-position:center; filter:saturate(.9) contrast(1.02);
  transition:opacity .22s ease,filter .22s ease;
}
#projects .project-card:hover img {
  opacity:.88; filter:saturate(1) contrast(1.02);
}
#projects .project-card figcaption {
  position:static; inset:auto; padding:20px 0 0; color:var(--ink);
}
#projects .project-status {
  margin-bottom:8px; color:#737a7d; font-size:.8rem;
}
#projects .project-card h3 {
  margin-bottom:6px; font-size:clamp(1.55rem,2vw,2.15rem); line-height:1.15;
}
#projects .project-meta { color:#636a6e; font-size:.96rem; line-height:1.55; }
#projects .project-action {
  margin-top:14px; color:var(--ink); border-bottom-color:#90989b;
}
#projects .project-status::before { border-radius:0; background:var(--orange); }
#projects .text-link { color:var(--ink); }
#projects .projects-cta { border-color:var(--line); }
#projects .projects-cta p { font-size:clamp(1.5rem,2.5vw,2.35rem); }

/* Process and contact: common architectural dark surface */
.process {
  color:#fff; background:#1c2022; border-top:1px solid #353b3e;
}
.process-layout {
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:clamp(64px,10vw,160px);
}
.process-intro p { color:rgba(255,255,255,.65); line-height:1.75; }
.steps { border-top-color:rgba(255,255,255,.22); }
.step {
  grid-template-columns:58px 1fr; padding:32px 0;
  border-bottom-color:rgba(255,255,255,.18);
}
.step-num { color:#aeb8bc; font-weight:650; }
.step h3 { margin-top:-4px; font-size:1.75rem; }
.step p { color:rgba(255,255,255,.6); line-height:1.7; }
.about-layout {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(58px,10vw,150px);
}
.about-copy p { color:#444b4e; line-height:1.75; }
.values { border-top-color:var(--line); }
.value { border-bottom-color:var(--line); }
.value:nth-child(odd) { border-right-color:var(--line); }
.value strong { font-weight:650; }
.contact {
  color:#fff; background:#202426; border-top:1px solid #343a3d;
}
.contact-grid {
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
}
.contact-copy p { color:rgba(255,255,255,.64); line-height:1.75; }
.contact-details-inner { border-top-color:rgba(255,255,255,.24); }
.contact-details h3 { font-size:clamp(1.35rem,2vw,1.85rem); }
.contact-detail { border-top-color:rgba(255,255,255,.13); }
.contact-detail a { border-bottom-color:rgba(255,255,255,.38); }
.lead-form {
  color:var(--ink); background:#f1f3f3; border:1px solid #d6dadd;
}
.lead-form h3 { font-size:2rem; }
input,select,textarea { border-color:#bcc3c6; background:#fff; }
input:focus,select:focus,textarea:focus {
  border-color:var(--orange); outline-color:rgba(104,118,125,.16);
}
.site-footer { background:#141719; }
.whatsapp-float {
  width:56px; height:56px; border:1px solid rgba(255,255,255,.45);
  border-radius:2px; background:#25d366; box-shadow:none;
}
.whatsapp-float:hover { background:#1ebe5b; transform:none; }

/* Project pages */
.top {
  color:#fff; background:#1a1e20; border-bottom:1px solid #353b3e;
}
.top .shell { min-height:78px; }
.brand {
  gap:15px; font-size:1rem; font-weight:750; letter-spacing:.105em;
  text-shadow:0 0 .01px currentColor;
}
.brand::before { width:3px; height:32px; background:var(--orange); }
.top-link {
  border-bottom:1px solid #9aa5aa; font-size:.78rem; letter-spacing:.04em;
}
.case-study .hero {
  color:#fff; background:#1a1e20; border-bottom:1px solid #353b3e;
}
.case-study .hero-grid {
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  min-height:600px; gap:clamp(44px,6vw,96px);
}
.case-study .hero-copy { padding:80px 0; }
.case-study h1 {
  font-size:clamp(2.8rem,5vw,5.5rem); font-weight:600;
  line-height:1.01; letter-spacing:-.055em;
}
.case-study .lede {
  max-width:620px; color:rgba(255,255,255,.7); line-height:1.75;
}
.case-study .hero-visual { border-left:1px solid #353b3e; }
.case-study .hero-visual img {
  max-height:720px; filter:saturate(.92) contrast(1.02);
}
.case-study .story { background:var(--paper); }
.case-study .facts { border-bottom-color:var(--line); }
.case-study .fact+.fact { border-left-color:var(--line); }
.case-study .fact span { color:#747c80; font-weight:650; }
.case-study .story-row { border-bottom-color:var(--line); }
.case-study .story-text,.chapter-copy p:last-child,.comparison-copy {
  color:#51595c;
}
.case-nav { border-bottom-color:var(--line); }
.case-nav a { color:#5d6569; border-bottom:1px solid transparent; }
.case-nav a:hover { color:var(--ink); border-bottom-color:var(--orange); }
.case-palette,.case-chapter,.case-comparison { border-top-color:var(--line); }
.case-chapter {
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
}
.case-chapter:nth-of-type(even) {
  grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);
}
.case-chapter img { max-height:760px; }
.compare-grid { gap:24px; }
.compare-grid img { aspect-ratio:4/3; }
.compare-grid figcaption { border-bottom-color:var(--line); }
.case-principles span { color:var(--orange-dark); font-weight:650; }
.case-study .media-section {
  background:#fff; border-top:1px solid var(--line);
}
.case-study .gallery { gap:24px; }
.case-study .gallery figure { background:#e3e5e5; }
.gallery-open { transition:opacity .18s ease; }
.gallery-open:hover { opacity:.9; }
.media-label::before { height:1px; background:var(--orange); }
.bottom { border-top:1px solid var(--line); }
.footer { color:#aeb5b8; background:#16191b; }
.lightbox { background:#111416; }
.lightbox::backdrop { background:rgba(17,20,22,.96); }

@media (max-width:900px) {
  .shell { width:min(100% - 40px,760px); }
  .nav-links { background:#1a1e20; }
  body:not(.case-study) .hero { min-height:780px; }
  body:not(.case-study) .hero::before { background:rgba(18,22,24,.62); }
  body:not(.case-study) .hero-content { width:100%; }
  #projects .projects-head,.intro-grid,.process-layout,.about-layout,
  .contact-grid,.case-study .hero-grid { grid-template-columns:1fr; }
  .process-intro { position:static; }
  .case-study .hero-copy { padding:68px 0 30px; }
  .case-study .hero-visual {
    min-height:440px; border-top:1px solid #353b3e; border-left:0;
  }
}
@media (max-width:620px) {
  .shell { width:calc(100% - 30px); }
  section { padding:72px 0; }
  .nav { height:70px; }
  .wordmark { gap:11px; font-size:.92rem; letter-spacing:.08em; }
  .wordmark-bar { min-height:28px; }
  .brand { gap:11px; font-size:.88rem; letter-spacing:.08em; }
  .brand::before { height:28px; }
  body:not(.case-study) .hero { min-height:720px; }
  body:not(.case-study) .hero-content { padding:132px 0 62px; }
  body:not(.case-study) .hero h1 {
    font-size:clamp(3.25rem,16vw,4.8rem); line-height:.95;
  }
  .proof-grid { border-left:0; }
  .proof-item { border-right:0; }
  #projects .projects-head { gap:28px; }
  #projects .project-filters { gap:22px; }
  #projects .project-grid { grid-template-columns:1fr; gap:42px; }
  #projects .project-card img { aspect-ratio:4/3; }
  .case-study .hero-grid { min-height:auto; }
  .case-study .hero-visual { min-height:360px; margin:0 -15px; }
  .case-study .facts { grid-template-columns:1fr; }
  .case-study .fact+.fact { border-left:0; }
  .case-study .gallery { gap:16px; }
  .contact-detail { grid-template-columns:88px 1fr; }
  .lead-form { padding:24px 18px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    transition-duration:.001ms!important; animation-duration:.001ms!important;
  }
}
