.service-card {
  min-height: 280px;
  text-align: center;
  padding: 34px 20px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.025), transparent);
  color: var(--cream);
  cursor: pointer;
  transition: .3s;
}
.service-card:hover,.service-card:focus-visible { background: linear-gradient(180deg,rgba(234,184,105,.14),rgba(234,184,105,.03)); outline: 0; transform: translateY(-5px); }
.service-card i { display:block; }
.service-card span { display:inline-block; margin-top:8px; color:var(--gold); font-size:12px; letter-spacing:1px; border-bottom:1px solid transparent; }
.service-card:hover span { border-color:var(--gold); }
.text-link { border-left:0; border-right:0; border-top:0; background:transparent; font:inherit; cursor:pointer; }
.compact-dialog { width:min(850px,calc(100% - 32px)); }
.compact-dialog .close { right:max(calc((100vw - 850px)/2 + 18px),34px); }
.folder-head { padding:46px 48px 34px; background:radial-gradient(circle at 85% 10%,rgba(234,184,105,.18),transparent 34%),linear-gradient(135deg,#3a2015,#1b0d08); border-bottom:1px solid var(--line); }
.folder-head h2 { font-size:clamp(40px,5vw,58px); margin:0 0 10px; }
.folder-head>p:last-child { color:var(--muted); margin:0; max-width:650px; }
.folder-tabs { position:sticky; top:0; z-index:3; display:flex; padding:0 44px; background:#130905; border-bottom:1px solid var(--line); overflow-x:auto; }
.folder-tabs button { flex:1; min-width:max-content; padding:17px 18px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--muted); cursor:pointer; }
.folder-tabs button.active,.folder-tabs button:hover { color:var(--gold); border-bottom-color:var(--gold); background:rgba(234,184,105,.06); }
.folder-panel { display:none; min-height:210px; animation:folderIn .3s ease; }
.folder-panel.active { display:block; }
.panel-lead { font-family:"Cormorant Garamond"; font-size:28px; line-height:1.35; color:var(--muted); max-width:760px; }
.budget-card { padding:28px; border:1px solid var(--line); background:linear-gradient(135deg,rgba(234,184,105,.12),transparent); }
.budget-card small { display:block; color:var(--gold); letter-spacing:2px; }
.budget-card strong { display:block; font-family:"Cormorant Garamond"; font-size:46px; color:var(--cream); margin:4px 0 10px; }
.budget-card p { color:var(--muted); max-width:700px; }
.mini-timeline,.service-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:0; list-style:none; counter-reset:step; margin:22px 0; }
.mini-timeline li,.service-steps li { counter-increment:step; border:1px solid var(--line); padding:18px; color:var(--muted); }
.mini-timeline li:before,.service-steps li:before { content:"0" counter(step); display:block; font-family:"Cormorant Garamond"; font-size:30px; color:var(--gold); }
.story-panels .folder-panel { padding:12px 4px; }
.story-panels .chapter { display:block; font-family:"Cormorant Garamond"; font-size:62px; line-height:1; color:var(--gold); }
.story-panels h3 { font-family:"Cormorant Garamond"; font-size:34px; margin:10px 0; }
.story-panels p { font-size:18px; color:var(--muted); max-width:720px; }
.gallery-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:18px; }
.gallery-head h3 { font-family:"Cormorant Garamond"; font-size:34px; margin:0; }
.gallery-head p { color:var(--muted); margin:0; }
.subproject-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.gallery-empty { grid-column:1/-1; min-height:180px; display:grid; place-items:center; padding:28px; border:1px dashed var(--line); color:var(--muted); text-align:center; }
.subproject-card { position:relative; min-height:270px; padding:0; overflow:hidden; border:1px solid var(--line); background:#130905; color:var(--cream); text-align:left; cursor:pointer; }
.subproject-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(10,4,2,.94)); }
.subproject-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s,filter .4s; }
.subproject-placeholder { position:absolute; inset:0; display:grid; place-items:center; background:radial-gradient(circle at 50% 35%,rgba(190,141,72,.16),transparent 42%),linear-gradient(145deg,#1b0d08,#0d0604); }
.subproject-placeholder:before { content:"+"; width:64px; height:64px; display:grid; place-items:center; border:1px solid rgba(190,141,72,.5); border-radius:50%; color:var(--gold); font:300 38px/1 sans-serif; }
.subproject-card.empty:after { background:linear-gradient(180deg,transparent 12%,rgba(10,4,2,.82)); }
.subproject-card span { position:absolute; z-index:1; left:22px; right:22px; bottom:20px; display:grid; gap:5px; }
.subproject-card small { color:var(--gold); letter-spacing:1.1px; text-transform:uppercase; }
.subproject-card b { font-family:"Cormorant Garamond"; font-size:28px; line-height:1.05; }
.subproject-card em { color:var(--muted); font-style:normal; }
.subproject-card:hover img,.subproject-card:focus-visible img { transform:scale(1.045); filter:brightness(1.08); }
.subproject-card:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.project-back { margin:0 0 22px; padding:10px 0; border:0; border-bottom:1px solid var(--gold); background:transparent; color:var(--gold); font:inherit; cursor:pointer; }
#serviceProjectDetail[hidden],#serviceProjectIndex[hidden] { display:none; }
.photo-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.photo-gallery button { border:1px solid var(--line); padding:0; height:190px; overflow:hidden; background:#130905; cursor:zoom-in; }
.photo-gallery button:first-child { grid-column:span 2; grid-row:span 2; height:390px; }
.photo-gallery img { width:100%; height:100%; display:block; object-fit:cover; transition:.35s; }
.photo-gallery button:hover img,.photo-gallery button:focus-visible img { transform:scale(1.045); filter:brightness(1.08); }
.lightbox { width:min(1180px,calc(100% - 28px)); max-height:94vh; background:#0d0704; border:1px solid var(--line); padding:14px 72px; overflow:auto; }
.lightbox .close { right:max(calc((100vw - 1180px)/2 + 28px),28px); top:5vh; }
.lightbox-stage { position:relative; }
.lightbox img { display:block; width:100%; max-height:82vh; object-fit:contain; }
.lightbox p { margin:10px 4px 0; color:var(--muted); text-align:center; }
.lightbox small { display:block; margin-top:4px; color:var(--gold); text-align:center; letter-spacing:1px; }
.lightbox-nav { position:fixed; z-index:6; top:50%; width:52px; height:72px; transform:translateY(-50%); border:1px solid var(--gold); background:rgba(19,9,5,.86); color:var(--cream); font-family:Arial,sans-serif; font-size:48px; line-height:1; cursor:pointer; transition:.2s; }
.lightbox-nav:hover,.lightbox-nav:focus-visible { background:var(--gold); color:var(--ink); outline:0; }
.lightbox-prev { left:max(calc((100vw - 1180px)/2 + 18px),18px); }
.lightbox-next { right:max(calc((100vw - 1180px)/2 + 18px),18px); }
@keyframes folderIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(max-width:720px) {
  .service-card { min-height:245px; padding:25px 14px; }
  .folder-head { padding:38px 22px 28px; }
  .folder-tabs { padding:0 10px; }
  .folder-tabs button { padding:14px 12px; }
  .mini-timeline,.service-steps { grid-template-columns:1fr 1fr; }
  .compact-dialog .close { right:24px; }
  .budget-card strong { font-size:38px; }
  .brand-mark { width:52px; height:38px; }
  .canal-houses { width:78vw; opacity:.2; }
  .gallery-head { display:block; }
  .subproject-grid { grid-template-columns:1fr; }
  .subproject-card { min-height:240px; }
  .photo-gallery { grid-template-columns:1fr 1fr; }
  .photo-gallery button,.photo-gallery button:first-child { height:180px; grid-column:auto; grid-row:auto; }
  .photo-gallery button:first-child { grid-column:span 2; height:260px; }
  .lightbox .close { right:22px; }
  .lightbox { padding:58px 12px 14px; }
  .lightbox-nav { top:auto; bottom:18px; width:54px; height:54px; transform:none; font-size:40px; }
  .lightbox-prev { left:22px; }
  .lightbox-next { right:22px; }
  .lightbox-stage { padding-bottom:62px; }
}
.brand-mark {
  width: 64px;
  height: 45px;
  flex: 0 0 auto;
  object-fit: contain;
}
.nav-wrap .brand-mark { width:58px; height:40px; }
.language-picker { display:flex; align-items:center; gap:6px; }
.language-picker label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.language-picker select { width:auto; min-width:62px; margin:0; padding:9px 10px; color:var(--cream); background:#1b0d08; border:1px solid var(--line); cursor:pointer; }
.footer { position:relative; overflow:hidden; }
.footer > *:not(.canal-houses) { position:relative; z-index:1; }
.canal-houses {
  position:absolute;
  right:-30px;
  bottom:0;
  width:min(440px,42vw);
  opacity:.32;
  pointer-events:none;
  filter:sepia(1) saturate(.8);
}
@media(max-width:1100px) {
  .language-picker { margin-left:auto; }
}
