/* ---- Home hero ---- */
.hero{position:relative;padding:72px 0 90px;overflow:hidden;}
.hero-layout{position:relative;display:grid;grid-template-columns:1fr 0.92fr;gap:56px;align-items:center;}
.hero-col h1{
  font-size:clamp(34px,4.6vw,54px);
  line-height:1.1;font-weight:600;letter-spacing:-0.01em;
  margin:20px 0 20px;color:var(--ink);max-width:15ch;
}
.hero-col h1 .hl-yat,.hero-col h1 .hl-karavan{font-weight:800;text-transform:uppercase;}
.hero-col h1 .hl-yat{color:var(--accent);}
.hero-col h1 .hl-karavan{color:#5b7a3a;}
.hero-col .sub{font-size:17px;line-height:1.7;color:var(--ink-dim);max-width:48ch;margin:0 0 30px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px;}
.hero-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-soft);}
.hero-photo img{width:100%;height:100%;object-fit:cover;}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(36,27,19,0) 40%,rgba(36,27,19,0.5) 100%);}
.hero-photo-badge{
  position:absolute;left:20px;bottom:20px;z-index:2;
  background:rgba(255,255,255,0.94);backdrop-filter:blur(6px);
  border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-card);
  display:flex;align-items:center;gap:14px;max-width:calc(100% - 40px);
}
.hero-photo-badge .num{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--accent);}
.hero-photo-badge .txt{font-size:12.5px;color:var(--ink-dim);line-height:1.4;}

.hero-stats{display:flex;flex-wrap:wrap;gap:36px;padding-top:34px;border-top:1px solid var(--line);}
.hero-stats .stat b{display:block;font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--ink);}
.hero-stats .stat span{font-size:13px;color:var(--ink-faint);}

/* ---- section scaffolding ---- */
.section{padding:80px 0;}
.section.tight{padding:56px 0;}
.section-head{max-width:640px;margin:0 0 44px;}
.section-head .pill{margin-bottom:16px;}
.section-head h2{font-size:clamp(26px,3.2vw,36px);margin:0 0 14px;}
.section-head p{font-size:15.5px;color:var(--ink-dim);line-height:1.7;margin:0;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section.on-cream{background:var(--bg-2);}

/* ---- CTA banner ---- */
.cta-banner{background:var(--dark);border-radius:var(--radius-lg);padding:56px clamp(28px,5vw,64px);
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;color:#fff;}
.cta-banner h2{color:#fff;margin:0 0 10px;font-size:clamp(22px,2.8vw,30px);}
.cta-banner p{color:#d9c9b3;margin:0;font-size:15px;max-width:46ch;}
.cta-banner-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* ---- Category page ---- */
.category-hero{position:relative;padding:60px 0;overflow:hidden;background:var(--bg-2);margin-bottom:0;}
.category-hero-media{position:absolute;inset:0;}
.category-hero-media img{width:100%;height:100%;object-fit:cover;}
.category-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(36,27,19,0.86) 30%,rgba(36,27,19,0.35) 100%);}
.category-hero.has-photo{color:#fff;}
.category-hero.has-photo .breadcrumb,.category-hero.has-photo .breadcrumb a{color:#e3d4bf;}
.category-hero.has-photo h1{color:#fff;}
.category-hero.has-photo p{color:#e3d4bf;}
.category-hero-inner{position:relative;z-index:1;}
.category-hero h1{font-size:clamp(28px,3.8vw,42px);margin:14px 0 16px;max-width:18ch;}
.category-hero p{font-size:15.5px;color:var(--ink-dim);max-width:62ch;line-height:1.7;}

/* ---- Cover photo (service/project detail hero image) ---- */
.cover-photo{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);
  aspect-ratio:16/9;max-height:420px;background:var(--bg-2);
}
.cover-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---- Service detail ---- */
.service-hero{position:relative;padding:52px 0;background:var(--bg-2);}
.service-detail{padding:56px 0 90px;}
.service-detail h1{font-size:clamp(26px,3.4vw,38px);margin:14px 0 18px;}
.service-summary{font-size:16px;color:var(--ink-dim);max-width:70ch;margin:0 0 8px;line-height:1.65;}
.service-layout{display:grid;grid-template-columns:1fr;gap:44px;}
.service-media-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin:36px 0 44px;}
.service-media-gallery figure{margin:0;background:var(--bg-1);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);}
.service-media-gallery figure:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.service-media-gallery img,.service-media-gallery video{width:100%;height:220px;object-fit:cover;display:block;transition:transform .6s var(--ease-out);}
.service-media-gallery figure:hover img,.service-media-gallery figure:hover video{transform:scale(1.05);}
.service-media-gallery figcaption{padding:12px 14px;font-size:12.5px;color:var(--ink-faint);}
.service-media-gallery .embed-wrap{position:relative;padding-top:56.25%;}
.service-media-gallery .embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.service-side-cta{background:var(--bg-2);border-radius:var(--radius-lg);padding:32px;margin-top:20px;}
.service-side-cta h3{font-size:18px;margin:0 0 10px;}
.service-side-cta p{font-size:14px;color:var(--ink-dim);margin:0 0 20px;line-height:1.6;}

/* ---- About / static pages ---- */
.static-page{padding:56px 0 90px;max-width:800px;}
.static-page h1{font-size:clamp(28px,3.8vw,42px);margin:14px 0 26px;}

/* ---- References / gallery ---- */
.references-page{padding:56px 0 90px;}
.references-page h1{font-size:clamp(28px,3.8vw,42px);margin:14px 0 30px;}
.project-detail{padding:56px 0 90px;}
.project-detail h1{font-size:clamp(26px,3.4vw,38px);margin:14px 0 10px;}
.project-meta{font-size:13.5px;color:var(--ink-faint);margin:0 0 26px;}

/* ---- Contact ---- */
.contact-page{padding:56px 0 90px;display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;}
.contact-info h1{font-size:clamp(28px,3.8vw,42px);margin:14px 0 18px;max-width:14ch;}
.contact-info p{color:var(--ink-dim);font-size:16px;line-height:1.7;margin:0 0 30px;}
.contact-list{list-style:none;margin:0;padding:24px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:20px;}
.contact-list li{display:flex;gap:16px;align-items:flex-start;}
.contact-list .icn{
  width:44px;height:44px;border-radius:12px;background:rgba(var(--accent-rgb),0.1);color:var(--accent);
  display:flex;align-items:center;justify-content:center;flex:none;
}
.contact-list .icn svg{width:20px;height:20px;}
.contact-list h3{font-size:14.5px;font-weight:600;margin:0 0 3px;color:var(--ink);}
.contact-list p{font-size:14px;margin:0;color:var(--ink-dim);}
.contact-form-wrap{background:var(--bg-1);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-card);}

@media (max-width:900px){
  .hero-layout{grid-template-columns:1fr;gap:44px;}
  .hero-photo{order:-1;aspect-ratio:16/10;}
  .hero-col h1{max-width:none;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .contact-page{grid-template-columns:1fr;gap:40px;}
  .cover-photo{aspect-ratio:4/3;max-height:280px;}
}
