/* Home — hero mood board, material palette, services, process, featured projects */

/* Hero — stacked: copy on top, triptych below, facts underneath */
.hero-stacked { max-width:1160px; margin:64px auto 0; padding:0 48px; }
.hero-copy { max-width:820px; margin:0 auto; text-align:center; padding:0 0 56px; }
.hero-eyebrow { font-family:'Newsreader',serif; font-style:italic; font-size:14px; color:var(--muted); margin:0 0 20px; letter-spacing:.02em; }
.hero-stacked h1 { font-family:'Newsreader',serif; font-weight:500; font-size:52px; line-height:1.12; margin:0 0 22px; color:var(--forest); letter-spacing:-.015em; }
.hero-stacked h1 em { font-style:italic; color:var(--gold); font-weight:500; }
.hero-sub { font-size:16px; line-height:1.65; color:var(--ink-soft); margin:0 auto; max-width:560px; }

.hero-triptych { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.hero-tile { aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius-lg); background:var(--line); cursor:pointer; }
.hero-tile img { transition:transform .5s var(--ease); }
.hero-tile:hover img { transform:scale(1.06); }

.facts-strip { display:flex; justify-content:center; gap:0; flex-wrap:wrap; margin-top:40px; font-size:11.5px; letter-spacing:.06em; color:var(--muted); }
.facts-strip span { padding:0 12px; position:relative; }
.facts-strip span:not(:last-child)::after { content:'·'; position:absolute; right:-3px; top:50%; transform:translateY(-50%); color:var(--line-soft); }

@media (max-width:900px){
  .hero-stacked { padding:0 24px; margin-top:40px; }
  .hero-stacked h1 { font-size:34px; }
  .hero-copy { padding-bottom:36px; }
  .hero-triptych { grid-template-columns:1fr; gap:12px; }
  .hero-tile { aspect-ratio:16/10; }
  .hero-tile:nth-child(n+2) { display:none; } /* mobile: only the anchor image */
}

/* Material palette lives in its own component now: assets/css/material-palette.css
   + template-parts/material-palette.php, enqueued as 'ailikee-material-palette'.
   Moved out of here so any page (not just the front page) can reuse it. */

.services-band { background:var(--forest); color:var(--bg); padding:56px 48px; text-align:center; }
.services-band h2 { font-family:'Newsreader',serif; font-weight:500; font-size:26px; margin:0 0 8px; }
.services-band p { color:var(--forest-ink); font-size:14px; margin:0; }

.services-grid { max-width:1160px; margin:0 auto; padding:48px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.service-card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); padding:var(--space-xl); transition:border-color .25s ease; }
.service-card:hover { border-color:var(--ink); }
.service-card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.service-icon { width:26px; height:26px; flex-shrink:0; }
.service-icon svg { width:100%; height:100%; fill:none; stroke:var(--gold); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.service-card .idx { font-size:11px; letter-spacing:.06em; font-weight:500; color:#B8A87A; }
.service-card h3 { font-family:'Archivo',sans-serif; font-weight:500; font-size:15px; margin:0 0 6px; }
.service-card p { font-size:12.5px; color:var(--muted); margin:0; line-height:1.6; }

.explore-band { max-width:1160px; margin:0 auto; padding:88px 48px 0; }
.explore-head { text-align:center; margin-bottom:48px; }
.explore-head .eyebrow { margin-bottom:12px; }
.explore-head h2 { font-family:'Newsreader',serif; font-weight:500; font-size:30px; margin:0; letter-spacing:-.01em; }
.explore-grid { display:grid; grid-template-columns:5fr 7fr; gap:56px; }

.explore-about { background:var(--forest); color:var(--bg); border-radius:4px; padding:36px 32px; display:flex; flex-direction:column; }
.explore-about .eyebrow { color:var(--gold); font-size:11px; margin-bottom:14px; }
.explore-about h3 { font-family:'Newsreader',serif; font-weight:500; font-style:italic; font-size:22px; line-height:1.4; margin:0 0 16px; }
.explore-about p { font-size:13.5px; line-height:1.7; color:var(--forest-ink); margin:0 0 24px; flex-grow:1; }
.explore-about a { font-size:12.5px; font-weight:500; color:var(--bg); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:3px; align-self:flex-start; }

.explore-journal { display:flex; flex-direction:column; }
.explore-journal-head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.explore-journal-head h3 { font-family:'Newsreader',serif; font-weight:500; font-style:italic; font-size:16px; margin:0; color:var(--ink); }
.explore-journal-head a { font-size:12px; font-weight:500; color:var(--muted); text-decoration:none; }
.explore-article-row { display:flex; align-items:center; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; transition:padding-left .3s cubic-bezier(.2,.7,.2,1); }
.explore-article-row:hover { padding-left:6px; }
.explore-article-row:last-child { border-bottom:none; }
.explore-article-thumb { width:56px; height:56px; border-radius:3px; flex-shrink:0; overflow:hidden; background:var(--line); }
.explore-article-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.explore-article-info { min-width:0; }
.explore-article-meta { font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:500; margin-bottom:4px; }
.explore-article-title { font-family:'Newsreader',serif; font-weight:500; font-size:15px; color:var(--ink); line-height:1.35; }

.process-head { max-width:1160px; margin:0 auto; padding:80px 48px 40px; text-align:center; }
.process-head .eyebrow { margin-bottom:12px; }
.process-head h2 { font-family:'Newsreader',serif; font-weight:500; font-size:30px; margin:0 0 10px; }
.process-head p { font-size:14px; color:var(--muted); margin:0 auto; max-width:520px; }

.process-steps { max-width:1160px; margin:0 auto; padding:0 48px 24px; display:grid; grid-template-columns:repeat(5,1fr); gap:24px; }
.process-step { position:relative; }
.process-step-img { aspect-ratio:4/3; border-radius:var(--radius-lg); border:1px solid var(--line); overflow:hidden; background:var(--line); margin-bottom:16px; position:relative; }
.process-step-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease); }
.process-step:hover .process-step-img img { transform:scale(1.06); }
.step-num { position:absolute; top:10px; left:10px; z-index:2; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:var(--radius-md); background:var(--bg); border:1px solid var(--line); font-family:'Newsreader',serif; font-weight:500; font-size:16px; color:var(--ink); transition:background .3s ease, color .3s ease, border-color .3s ease; }
.process-step:hover .step-num { background:var(--gold); color:#fff; border-color:var(--gold); }
.process-step h3 { font-family:'Archivo',sans-serif; font-weight:500; font-size:14px; margin:0 0 7px; }
.process-step p { font-size:12.5px; color:var(--muted); margin:0; line-height:1.6; }

.process-cta-wrap { text-align:center; padding:16px 48px 24px; }
.process-cta { font-size:13px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px; text-decoration:none; }

@media (max-width:900px){
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .process-steps { grid-template-columns:repeat(2,1fr); gap:32px 24px; }
  .explore-grid { grid-template-columns:1fr; gap:32px; }
  .explore-band { padding:64px 24px 0; }
}
@media (max-width:600px){
  .services-grid { grid-template-columns:1fr; }
  .process-steps { grid-template-columns:1fr; }
}

.featured-head { max-width:1160px; margin:0 auto; padding:80px 48px 0; }
.featured-head .eyebrow { margin-bottom:12px; }
.featured-head h2 { font-family:'Newsreader',serif; font-weight:500; font-size:30px; margin:0 0 10px; }
.featured-head p { font-size:14px; color:var(--muted); margin:0; max-width:480px; }

.featured-grid { max-width:1160px; margin:0 auto; padding:40px 48px 24px; display:grid; grid-template-columns:repeat(2,1fr); gap:56px; }
.project-visual { position:relative; margin-bottom:32px; }
.project-visual .main { width:100%; aspect-ratio:3/2; border-radius:var(--radius-lg); border:1px solid var(--line); overflow:hidden; cursor:pointer; background:var(--line); }
.project-visual .main img { transition:transform .5s var(--ease); }
.project-visual .main:hover img { transform:scale(1.06); }
.project-visual .thumb { position:absolute; right:-18px; bottom:-22px; width:34%; aspect-ratio:1; border-radius:var(--radius-lg); border:4px solid var(--bg); overflow:hidden; cursor:pointer; background:var(--line); }
.project-visual .thumb img { transition:transform .5s var(--ease); }
.project-visual .thumb:hover img { transform:scale(1.06); }
.featured-tag { display:inline-block; font-size:11px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; padding:4px 10px; border-radius:var(--radius-sm); border:1px solid var(--wine); color:var(--wine); margin-bottom:12px; }
.project-card h3 { font-family:'Newsreader',serif; font-weight:500; font-size:22px; margin:0 0 8px; }
.project-card p { font-size:13.5px; color:var(--muted); margin:0 0 14px; line-height:1.6; }
.project-meta a { font-size:12.5px; font-weight:500; color:var(--ink); text-decoration:none; border:1px solid var(--line); padding:6px 12px; border-radius:2px; transition:border-color .25s ease; }
.project-meta a:hover { border-color:var(--ink); }

.view-all-wrap { text-align:center; padding:8px 48px 0; }
.view-all { font-size:13px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px; text-decoration:none; }

@media (max-width:600px){ .featured-grid { grid-template-columns:1fr; } }

.quote-cta { margin-top:80px; }
