
  :root {
    --navy: #0B1B3A;
    --navy-mid: #13284d;
    --navy-light: #1d3865;
    --gold: #C9A84C;
    --gold-light: #E4C06A;
    --steel: #5B6B85;
    --concrete: #E8E9EC;
    --concrete-warm: #F3F2EF;
    --white: #FFFFFF;
    --ink: #16233d;
    --gray: #6A7690;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    font-family:'Archivo', sans-serif;
    background:var(--white);
    color:var(--ink);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4 { font-family:'Archivo Narrow', sans-serif; font-weight:700; line-height:1.05; }
  .mono { font-family:'IBM Plex Mono', monospace; }

  /* ===== NAV ===== */
  nav {
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:1rem 3rem;
    background:rgba(11,27,58,0.92);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(201,168,76,0.15);
  }
  .nav-logo { display:flex; align-items:center; gap:0.7rem; text-decoration:none; }
  .nav-logo img { width:38px; height:38px; object-fit:contain; }
  .nav-logo .wm { font-family:'Archivo Narrow'; font-weight:700; font-size:1.25rem; letter-spacing:0.08em; color:#fff; line-height:1; }
  .nav-logo .wm span { color:var(--gold); }
  .nav-links { display:flex; gap:2rem; list-style:none; }
  .nav-links a { font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:#B9C2D6; text-decoration:none; transition:color .2s; }
  .nav-links a:hover { color:var(--gold); }
  .nav-cta { background:var(--gold); color:var(--navy)!important; padding:0.6rem 1.3rem; border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; text-decoration:none; transition:background .2s,transform .15s; }
  .nav-cta:hover { background:var(--gold-light); transform:translateY(-1px); }

  /* ===== HERO ===== */
  .hero { position:relative; min-height:92vh; display:flex; align-items:center; padding:8rem 3rem 4rem; overflow:hidden; }
  .hero-bg { position:absolute; inset:0; background:url('images/hero-background.jpg') center/cover; }
  .hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg, rgba(11,27,58,0.96) 0%, rgba(11,27,58,0.88) 42%, rgba(11,27,58,0.55) 100%); }
  .hero-inner { position:relative; z-index:2; max-width:760px; }
  .hero-eyebrow { display:inline-flex; align-items:center; gap:0.7rem; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1.6rem; }
  .hero-eyebrow::before { content:''; width:30px; height:2px; background:var(--gold); }
  .hero h1 { font-size:clamp(2.6rem,5.5vw,4.6rem); color:#fff; letter-spacing:-0.01em; margin-bottom:1.5rem; }
  .hero h1 em { font-style:normal; color:var(--gold); }
  .hero-sub { font-size:1.12rem; color:#C5CDDE; max-width:560px; margin-bottom:2.5rem; font-weight:400; }
  .hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
  .btn-primary { background:var(--gold); color:var(--navy); padding:1rem 2rem; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; text-decoration:none; border-radius:3px; transition:background .2s,transform .15s,box-shadow .2s; box-shadow:0 6px 26px rgba(201,168,76,0.28); }
  .btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); }
  .btn-ghost { color:#fff; padding:1rem 2rem; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; text-decoration:none; border:1px solid rgba(255,255,255,0.28); border-radius:3px; transition:border-color .2s,color .2s; }
  .btn-ghost:hover { border-color:var(--gold); color:var(--gold); }

  /* ===== TRUST BAR ===== */
  .trust { background:var(--navy); border-top:1px solid rgba(201,168,76,0.18); padding:1.3rem 3rem; }
  .trust-inner { max-width:1200px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
  .trust-item { display:flex; align-items:center; gap:0.7rem; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:#AEB8CD; }
  .trust-item svg { flex-shrink:0; }

  /* ===== SECTION SHARED ===== */
  section { padding:6rem 3rem; }
  .wrap { max-width:1200px; margin:0 auto; }
  .sec-eyebrow { font-family:'IBM Plex Mono',monospace; font-size:0.7rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-bottom:0.9rem; display:flex; align-items:center; gap:0.6rem; }
  .sec-eyebrow::before { content:''; width:22px; height:2px; background:var(--gold); }
  .sec-title { font-size:clamp(2.2rem,4vw,3.4rem); color:var(--ink); margin-bottom:1rem; letter-spacing:-0.01em; }
  .sec-title span { color:var(--gold); }
  .sec-desc { color:var(--gray); font-size:1.05rem; max-width:600px; }

  /* ===== SERVICES ===== */
  #services { background:var(--concrete-warm); }
  .svc-header { margin-bottom:3.5rem; max-width:640px; }
  .svc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
  .svc-card { background:#fff; border:1px solid #E3E4E8; border-radius:6px; padding:2.2rem; position:relative; overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
  .svc-card::before { content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:var(--gold); transform:scaleY(0); transform-origin:top; transition:transform .3s; }
  .svc-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(11,27,58,0.1); border-color:transparent; }
  .svc-card:hover::before { transform:scaleY(1); }
  .svc-card.primary { grid-column:1/-1; background:var(--navy); border-color:var(--navy); display:grid; grid-template-columns:1.3fr 1fr; gap:2.5rem; align-items:center; }
  .svc-card.primary .svc-name, .svc-card.primary .svc-copy { color:#fff; }
  .svc-card.primary .svc-copy { color:#B9C2D6; }
  .svc-tag { display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); background:rgba(201,168,76,0.12); border:1px solid rgba(201,168,76,0.3); padding:0.3rem 0.7rem; border-radius:3px; margin-bottom:1.2rem; }
  .svc-name { font-size:1.55rem; color:var(--ink); margin-bottom:0.8rem; }
  .svc-card.primary .svc-name { font-size:2rem; }
  .svc-copy { color:var(--gray); font-size:0.95rem; margin-bottom:1.2rem; }
  .svc-list { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0.4rem 1.2rem; }
  .svc-card.primary .svc-list { grid-template-columns:1fr; }
  .svc-list li { font-size:0.85rem; color:var(--steel); display:flex; align-items:center; gap:0.5rem; }
  .svc-card.primary .svc-list li { color:#C5CDDE; }
  .svc-list li::before { content:''; width:5px; height:5px; background:var(--gold); border-radius:50%; flex-shrink:0; }

  /* ===== WHY BUILDERS ===== */
  #why { background:#fff; }
  .why-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; align-items:center; }
  .why-benefits { display:flex; flex-direction:column; gap:0; }
  .why-item { display:flex; gap:1.3rem; padding:1.4rem 0; border-bottom:1px solid #ECEDF0; }
  .why-item:last-child { border-bottom:none; }
  .why-num { font-family:'Archivo Narrow'; font-weight:700; font-size:1.6rem; color:var(--gold); min-width:38px; line-height:1; }
  .why-text h4 { font-size:1.08rem; color:var(--ink); margin-bottom:0.25rem; font-family:'Archivo'; font-weight:600; }
  .why-text p { font-size:0.9rem; color:var(--gray); }
  .why-visual { position:relative; border-radius:8px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 20px 50px rgba(11,27,58,0.18); }
  .why-visual img { width:100%; height:100%; object-fit:cover; }
  .why-visual .ov { position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(11,27,58,0.85) 100%); }
  .why-visual .cap { position:absolute; bottom:1.5rem; left:1.5rem; right:1.5rem; color:#fff; }
  .why-visual .cap .mono { font-size:0.65rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); }
  .why-visual .cap h4 { font-size:1.3rem; margin-top:0.3rem; }

  /* ===== PROJECT ARCHIVE ===== */
  #archive { background:var(--navy); color:#fff; position:relative; overflow:hidden; }
  #archive::after { content:'ORGANIZED'; position:absolute; right:1rem; bottom:0.5rem; font-family:'Archivo Narrow'; font-weight:700; font-size:9vw; color:rgba(201,168,76,0.05); pointer-events:none; line-height:0.8; }
  .arch-head { max-width:640px; margin-bottom:3rem; position:relative; z-index:1; }
  .arch-head .sec-title { color:#fff; }
  .arch-head .sec-desc { color:#B9C2D6; }
  .folder { background:var(--navy-mid); border:1px solid rgba(201,168,76,0.2); border-radius:8px; overflow:hidden; position:relative; z-index:1; max-width:920px; }
  .folder-top { display:flex; align-items:center; justify-content:space-between; padding:1.3rem 1.8rem; background:rgba(201,168,76,0.08); border-bottom:1px solid rgba(201,168,76,0.15); flex-wrap:wrap; gap:0.5rem; }
  .folder-top .proj { display:flex; align-items:center; gap:0.9rem; }
  .folder-top .proj svg { flex-shrink:0; }
  .folder-top .name { font-family:'Archivo Narrow'; font-weight:700; font-size:1.3rem; color:#fff; }
  .folder-top .addr { font-family:'IBM Plex Mono',monospace; font-size:0.72rem; color:var(--gold); }
  .folder-top .status { font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:#0B1B3A; background:var(--gold); padding:0.3rem 0.7rem; border-radius:3px; }
  .tl-list { display:flex; flex-direction:column; }
  .tl-row { display:flex; align-items:center; gap:1.2rem; padding:0.85rem 1.8rem; border-bottom:1px solid rgba(255,255,255,0.06); }
  .tl-row:last-child { border-bottom:none; }
  .tl-row .tl-folder-icon { flex-shrink:0; }
  .tl-row .tl-folder-name { font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--gold); flex-shrink:0; width:190px; }
  .tl-row .tl-milestone { font-family:'DM Sans',sans-serif; font-size:0.88rem; color:#fff; flex:1; }
  .tl-row .tl-assets-inline { display:flex; gap:0.7rem; flex-shrink:0; }
  .tl-row .tl-assets-inline span { font-size:0.7rem; color:#9DA8BF; white-space:nowrap; }
  .tl-gap { display:flex; align-items:center; gap:1rem; padding:0.7rem 1.8rem; font-size:0.78rem; color:#6B7690; font-style:italic; }
  .tl-gap::before, .tl-gap::after { content:''; flex:1; height:1px; background:rgba(255,255,255,0.06); }
  @media (max-width:640px) {
    .tl-row { flex-wrap:wrap; }
    .tl-row .tl-folder-name { width:auto; }
    .tl-row .tl-assets-inline { width:100%; margin-left:2.5rem; }
  }
  .tl-col { padding:1.5rem 1.2rem; border-right:1px solid rgba(255,255,255,0.06); text-align:center; transition:background .2s; }
  .tl-col:last-child { border-right:none; }
  .tl-col:hover { background:rgba(201,168,76,0.06); }
  .tl-week { font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:0.9rem; }
  .tl-dot { width:12px; height:12px; border-radius:50%; background:var(--gold); margin:0 auto 0.9rem; position:relative; }
  .tl-dot::before { content:''; position:absolute; top:50%; left:100%; width:calc(100% + 1.2rem); height:2px; background:rgba(201,168,76,0.25); transform:translateY(-50%); }
  .tl-col:last-child .tl-dot::before { display:none; }
  .tl-assets { display:flex; flex-direction:column; gap:0.3rem; }
  .tl-assets span { font-size:0.75rem; color:#9DA8BF; }
  .folder-foot { padding:1.2rem 1.8rem; border-top:1px solid rgba(255,255,255,0.06); font-size:0.85rem; color:#9DA8BF; text-align:center; }
  .folder-foot strong { color:#fff; font-weight:600; }

  /* ===== PROGRAMS ===== */
  #programs { background:var(--concrete-warm); }
  .prog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3rem; }
  .prog-card { background:#fff; border:1px solid #E3E4E8; border-radius:8px; padding:2.2rem; display:flex; flex-direction:column; transition:transform .25s,box-shadow .25s; }
  .prog-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(11,27,58,0.1); }
  .prog-card.featured { background:var(--navy); border-color:var(--navy); position:relative; }
  .prog-card.featured .prog-name,.prog-card.featured .prog-for { color:#fff; }
  .prog-card.featured .prog-desc { color:#B9C2D6; }
  .prog-card.featured .prog-feat li { color:#C5CDDE; }
  .prog-badge { position:absolute; top:1.3rem; right:1.3rem; font-family:'IBM Plex Mono',monospace; font-size:0.58rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:0.25rem 0.6rem; border-radius:3px; }
  .prog-name { font-size:1.5rem; color:var(--ink); margin-bottom:0.4rem; }
  .prog-for { font-family:'IBM Plex Mono',monospace; font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:1.3rem; }
  .prog-desc { font-size:0.92rem; color:var(--gray); margin-bottom:1.5rem; }
  .prog-feat { list-style:none; display:flex; flex-direction:column; gap:0.6rem; margin-bottom:1.8rem; flex-grow:1; }
  .prog-feat li { font-size:0.88rem; color:var(--steel); display:flex; gap:0.6rem; align-items:flex-start; }
  .prog-feat li svg { flex-shrink:0; margin-top:3px; }
  .prog-cta { text-align:center; padding:0.85rem; border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:500; text-decoration:none; transition:all .2s; }
  .prog-card .prog-cta { background:var(--concrete); color:var(--navy); }
  .prog-card .prog-cta:hover { background:var(--gold); }
  .prog-card.featured .prog-cta { background:var(--gold); color:var(--navy); }
  .prog-card.featured .prog-cta:hover { background:var(--gold-light); }
  .prog-price { font-family:'Archivo Narrow'; font-weight:700; font-size:1.6rem; color:var(--gold); margin-bottom:0.2rem; }
  .prog-card.featured .prog-price { color:var(--gold); }
  .prog-price span { font-family:'IBM Plex Mono',monospace; font-weight:400; font-size:0.68rem; letter-spacing:0.04em; text-transform:none; color:#9DA8BF; }
  .prog-price-note { font-size:0.76rem; color:var(--gray); margin-bottom:1.3rem; }
  .prog-card.featured .prog-price-note { color:#8B96AD; }
  .prog-ext { margin-top:1.5rem; background:#fff; border:1px dashed #C9A84C; border-radius:8px; padding:1.8rem 2.2rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
  .prog-ext-text h4 { font-size:1.15rem; color:var(--ink); margin-bottom:0.35rem; }
  .prog-ext-text p { font-size:0.88rem; color:var(--gray); max-width:560px; }
  .prog-ext .prog-cta { background:var(--navy); color:#fff; white-space:nowrap; }
  .prog-ext .prog-cta:hover { background:var(--gold); color:var(--navy); }
  @media (max-width:640px) { .prog-ext { flex-direction:column; align-items:flex-start; } }

  /* ===== HOME PORTRAITS ===== */
  #portraits { background:#fff; }
  .portrait-hero { position:relative; border-radius:10px; overflow:hidden; margin-top:2.5rem; margin-bottom:3rem; aspect-ratio:16/7; }
  .portrait-hero img { width:100%; height:100%; object-fit:cover; display:block; }
  .portrait-hero::after { content:'Blue Hour Session'; position:absolute; left:1.8rem; bottom:1.6rem; font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:#fff; background:rgba(11,27,58,0.75); padding:0.5rem 0.9rem; border-radius:3px; }
  .portrait-addon { margin-top:1.5rem; background:var(--concrete-warm); border:1px solid #E3E4E8; border-radius:8px; padding:1.8rem 2.2rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
  .portrait-addon-text h4 { font-size:1.15rem; color:var(--ink); margin-bottom:0.35rem; }
  .portrait-addon-text p { font-size:0.88rem; color:var(--gray); max-width:560px; }
  .portrait-addon-price { font-family:'Archivo Narrow'; font-weight:700; font-size:1.3rem; color:var(--gold); white-space:nowrap; }
  @media (max-width:640px) { .portrait-addon { flex-direction:column; align-items:flex-start; } }

  /* ===== GALLERY ===== */
  #work { background:#fff; }
  .work-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }
  .work-item { position:relative; aspect-ratio:4/3; border-radius:6px; overflow:hidden; background:var(--navy); }
  .work-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
  .work-item:hover img { transform:scale(1.06); }
  .work-item .wlabel { position:absolute; left:0; right:0; bottom:0; padding:1.2rem; background:linear-gradient(transparent,rgba(11,27,58,0.9)); color:#fff; font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; opacity:0; transition:opacity .3s; }
  .work-item:hover .wlabel { opacity:1; }

  /* ===== CTA / CONTACT ===== */
  #contact { background:var(--navy); color:#fff; text-align:center; position:relative; overflow:hidden; }
  #contact::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 60% at 50% 0%, rgba(201,168,76,0.1), transparent 70%); }
  .contact-inner { position:relative; z-index:1; max-width:640px; margin:0 auto; }
  #contact .sec-eyebrow { justify-content:center; }
  #contact .sec-eyebrow::before { display:none; }
  #contact h2 { font-size:clamp(2.2rem,4.5vw,3.6rem); color:#fff; margin-bottom:1.2rem; }
  #contact h2 span { color:var(--gold); }
  #contact p.lead { color:#B9C2D6; font-size:1.05rem; margin-bottom:2.5rem; }
  .cform { background:rgba(255,255,255,0.04); border:1px solid rgba(201,168,76,0.2); border-radius:8px; padding:2.4rem; text-align:left; }
  .cform-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .fg { display:flex; flex-direction:column; gap:0.4rem; }
  .fg.full { grid-column:1/-1; }
  .fg label { font-family:'IBM Plex Mono',monospace; font-size:0.62rem; letter-spacing:0.1em; text-transform:uppercase; color:#9DA8BF; }
  .fg input,.fg select,.fg textarea { background:rgba(255,255,255,0.05); border:1px solid rgba(201,168,76,0.22); border-radius:4px; padding:0.75rem 1rem; color:#fff; font-family:'Archivo',sans-serif; font-size:0.92rem; outline:none; transition:border-color .2s; width:100%; }
  .fg input::placeholder,.fg textarea::placeholder { color:rgba(157,168,191,0.5); }
  .fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--gold); }
  .fg select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; cursor:pointer; }
  .fg select option { background:var(--navy); }
  .fg textarea { resize:vertical; min-height:100px; }
  .cform button { width:100%; margin-top:1.2rem; background:var(--gold); color:var(--navy); border:none; padding:1rem; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; font-weight:500; border-radius:4px; cursor:pointer; transition:background .2s,transform .15s; }
  .cform button:hover { background:var(--gold-light); transform:translateY(-1px); }
  .cform-note { font-family:'IBM Plex Mono',monospace; font-size:0.6rem; letter-spacing:0.06em; text-transform:uppercase; color:#9DA8BF; text-align:center; margin-top:0.9rem; opacity:0.7; }
  .csuccess { display:none; text-align:center; padding:2rem; color:var(--gold); font-family:'IBM Plex Mono',monospace; font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase; }
  .contact-meta { display:flex; justify-content:center; gap:2.5rem; flex-wrap:wrap; margin-top:2.5rem; }
  .cm-item { text-align:center; }
  .cm-item .mono { font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:#9DA8BF; margin-bottom:0.3rem; }
  .cm-item .val { font-size:0.95rem; font-weight:600; color:#fff; }
  .cm-item a { color:#fff; text-decoration:none; }

  /* ===== FOOTER ===== */
  footer { background:#071224; padding:2.5rem 3rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; border-top:1px solid rgba(255,255,255,0.05); }
  .foot-copy { font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.06em; color:rgba(255,255,255,0.3); text-transform:uppercase; }
  .foot-links { display:flex; gap:1.8rem; list-style:none; }
  .foot-links a { font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.3); text-decoration:none; transition:color .2s; }
  .foot-links a:hover { color:var(--gold); }


  .work-ph { aspect-ratio:4/3; border-radius:6px; border:2px dashed rgba(201,168,76,0.25); background:var(--concrete-warm); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.8rem; }
  .work-ph span { font-family:'IBM Plex Mono',monospace; font-size:0.66rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--steel); }
  .work-note { text-align:center; margin-top:1.8rem; font-family:'IBM Plex Mono',monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gray); }

  /* ===== CASE STUDY PHASES ===== */
  .case-study-phases { display:flex; flex-direction:column; gap:2.5rem; }
  .phase-group { background:var(--concrete-warm); border:1px solid #E3E4E8; border-radius:10px; padding:2rem; }
  .phase-header { margin-bottom:1.5rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
  .phase-header .phase-tag { font-family:'IBM Plex Mono',monospace; font-size:0.65rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:0.35rem 0.8rem; border-radius:3px; }
  .phase-header h3 { font-family:'Archivo Narrow'; font-weight:700; font-size:1.5rem; color:var(--ink); }
  .phase-header p { font-size:0.9rem; color:var(--gray); width:100%; margin-top:-0.3rem; }
  .phase-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
  .phase-group:first-child .phase-row { grid-template-columns:minmax(0,420px); }
  .cs-step { background:#fff; border:1px solid #E3E4E8; border-radius:8px; overflow:hidden; transition:transform .25s,box-shadow .25s; }
  .cs-step:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(11,27,58,0.1); }
  .cs-img { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--navy); }
  .cs-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
  .cs-step:hover .cs-img img { transform:scale(1.05); }
  .cs-label { padding:1rem 1.2rem; }
  .cs-label h4 { font-family:'Archivo'; font-weight:600; font-size:0.98rem; color:var(--ink); }
  .cs-step.nolabel .cs-img { aspect-ratio:4/3; }
  .model-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2.5rem; }
  .model-grid .work-item { aspect-ratio:4/3; }
  .lux-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
  .lux-grid .work-item { aspect-ratio:4/3; }
  .lux-grid .lux-wide { grid-column:1/-1; aspect-ratio:16/7; }
  .lux-grid-3col { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1rem; }
  .lux-grid-3col .work-item { aspect-ratio:4/3; }
  /* ===== RESPONSIVE ===== */
  @media (max-width:1024px){
    nav { padding:1rem 1.5rem; }
    .nav-links { display:none; }
    section { padding:4.5rem 1.5rem; }
    .hero { padding:7rem 1.5rem 3rem; }
    .svc-grid { grid-template-columns:1fr; }
    .svc-card.primary { grid-template-columns:1fr; gap:1.5rem; }
    .why-grid { grid-template-columns:1fr; gap:2.5rem; }
    .why-visual { aspect-ratio:16/10; max-height:400px; }
    .prog-grid { grid-template-columns:1fr; }
    .timeline { grid-template-columns:1fr 1fr; }
    .tl-dot::before { display:none; }
    .work-grid { grid-template-columns:1fr 1fr; }
    .phase-row, .phase-group:first-child .phase-row { grid-template-columns:1fr 1fr; }
    .model-grid { grid-template-columns:1fr; }
    .lux-grid { grid-template-columns:1fr; }
    .lux-grid .lux-wide { aspect-ratio:4/3; }
    .lux-grid-3col { grid-template-columns:1fr; }
    .trust-inner { justify-content:flex-start; gap:1.2rem; }
  }
  @media (max-width:560px){
    .cform-grid { grid-template-columns:1fr; }
    .svc-list { grid-template-columns:1fr; }
    .timeline { grid-template-columns:1fr; }
    .work-grid { grid-template-columns:1fr; }
    .phase-row, .phase-group:first-child .phase-row { grid-template-columns:1fr; }
    .hero h1 { font-size:2.4rem; }
    .contact-meta { gap:1.3rem; }
    footer { flex-direction:column; text-align:center; }
  }

/* Multi-page navigation and layouts */
nav{position:sticky;padding:1rem 3%;gap:1rem;background:var(--navy);min-height:78px}.nav-links{gap:1.3rem}.nav-links a{font:500 .875rem 'Archivo',sans-serif;letter-spacing:0;text-transform:none}.nav-links a[aria-current=page]{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:8px}.nav-cta{font-size:.875rem;letter-spacing:0;text-transform:none}.menu-toggle{display:none;background:none;color:white;border:1px solid #758198;padding:.55rem .8rem;font:inherit}.hero{min-height:620px;padding:5rem 5%}.hero-inner{max-width:800px}.hero-sub{max-width:660px}.page-hero{min-height:390px}.page-hero h1{font-size:clamp(2.6rem,5vw,4rem)}section{padding:4.5rem 5%}.sec-eyebrow,.hero-eyebrow,.trust-item,.svc-tag,.prog-for,.prog-price-note,.cform-note{font-size:.875rem;letter-spacing:.04em}.svc-copy,.svc-list li,.prog-desc,.prog-feat li,.why-text p{font-size:1rem}.service-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-link{color:inherit;text-decoration:none;background:white;border:1px solid #e1e4e9;display:flex;flex-direction:column}.service-link img{width:100%;aspect-ratio:3/2;object-fit:cover}.service-link .copy{padding:1.7rem;flex:1}.service-link h3{font-size:1.7rem;margin-bottom:1rem}.service-link p{color:var(--steel)}.service-link .go{display:block;color:var(--navy);font-weight:600;margin-top:1.5rem}.service-link:hover{border-color:var(--gold)}.closing{background:var(--navy);color:white}.closing .wrap{display:flex;justify-content:space-between;gap:2rem;align-items:center}.closing h2{font-size:2.5rem;margin-bottom:.8rem}.closing p{color:#c5cdde}.closing a{flex-shrink:0}.project{border-top:1px solid #ccd1da;padding:1.8rem 0}.project summary{cursor:pointer;font-family:'Archivo Narrow',sans-serif;font-size:1.8rem;font-weight:700;color:var(--navy)}.project summary::marker{color:var(--gold)}.project .svc-header{margin-top:2rem!important}.project summary small{display:block;font:400 1rem 'Archivo',sans-serif;color:var(--steel);margin-top:.5rem}.project .sec-title{font-size:2rem}.skip{position:fixed;top:-80px;left:1rem;z-index:200;background:white;padding:1rem}.skip:focus{top:1rem}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.foot-links{flex-wrap:wrap}.foot-links a,.foot-copy{font-size:.875rem}.fg label{font-size:.875rem}.fg input,.fg select,.fg textarea{font-size:1rem}.page-contact{padding-top:4rem}#contact h1{font-size:clamp(2.6rem,5vw,3.6rem);color:white;margin-bottom:1rem}#contact h1 span{color:var(--gold)}.inline-link{color:var(--gold)}
@media(max-width:1050px){.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:1.5rem 5%;flex-direction:column}.nav-links.open{display:flex}.nav-cta{margin-left:auto}.nav-links a{display:block;padding:.6rem 0}.service-overview{grid-template-columns:1fr}.service-link{display:grid;grid-template-columns:1fr 1.2fr}.service-link img{height:100%}}
@media(max-width:600px){nav{padding:.9rem 5%}.nav-cta{display:none}.menu-toggle{margin-left:auto}.hero{min-height:560px;padding:3.5rem 6%}.page-hero{min-height:380px}.hero h1{font-size:2.65rem}.hero-sub{font-size:1rem}.hero-actions a{width:100%;text-align:center;padding:1rem}.service-link{display:block}.service-link img{height:auto}.closing .wrap{display:block}.closing a{display:inline-block;margin-top:1.5rem}section{padding:3.3rem 6%}.trust{padding:1.3rem 6%}.trust-inner{gap:1rem}.trust-item{font-size:.8rem}.svc-list{grid-template-columns:1fr}.folder{overflow-x:auto}.tl-list{min-width:540px}.nav-logo .wm{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
