/* ============================================================
   DESIGN HUB HOME — Native form styles
   Matches the site design system (Fraunces/Archivo, gold accent).
   ============================================================ */
.dh-form{display:flex;flex-direction:column;gap:14px;}
.dh-form .dh-row{display:flex;gap:12px;}
.dh-form .dh-row .dh-field{flex:1;min-width:0;}
.dh-field{display:flex;flex-direction:column;gap:6px;}
.dh-field label{
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:#6E6E6A;
}
.dh-field .req{color:#B08D57;}
.dh-form input,
.dh-form select,
.dh-form textarea{
  width:100%;font-family:'Archivo',sans-serif;font-size:15px;color:#0A0A0A;
  background:#FFFFFF;border:1.5px solid rgba(10,10,10,.16);border-radius:10px;
  padding:13px 14px;transition:border-color .18s ease,box-shadow .18s ease;
  -webkit-appearance:none;appearance:none;
}
.dh-form textarea{resize:vertical;min-height:96px;line-height:1.5;}
.dh-form select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236E6E6A' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer;
}
.dh-form input:focus,
.dh-form select:focus,
.dh-form textarea:focus{
  outline:none;border-color:#B08D57;box-shadow:0 0 0 3px rgba(176,141,87,.16);
}
.dh-form input::placeholder,
.dh-form textarea::placeholder{color:#A6A6A2;}
/* honeypot — visually hidden, off-screen */
.dh-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;}
.dh-submit{width:100%;justify-content:center;margin-top:4px;}
.dh-submit[disabled]{opacity:.6;cursor:default;}
.dh-consent{font-size:12px;color:#8A8A86;line-height:1.5;margin-top:2px;}
.dh-status{font-size:14px;line-height:1.5;margin-top:4px;min-height:1px;}
.dh-status.ok{color:#2e7d4f;font-weight:600;}
.dh-status.err{color:#b3261e;font-weight:600;}
.dh-form.is-sent .dh-fields{display:none;}
.dh-success{display:none;text-align:left;padding:8px 0;}
.dh-form.is-sent .dh-success{display:block;}
.dh-success h4{font-family:'Fraunces',serif;font-size:24px;font-weight:500;margin:0 0 8px;color:#0A0A0A;}
.dh-success p{font-size:15px;color:#6E6E6A;margin:0;}

/* CTA form band added to pages that had no form */
.dh-cta{background:#0A0A0A;color:#FFFFFF;padding:84px 0;}
.dh-cta .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.dh-cta .dh-cta-copy .eyebrow{color:#B08D57;}
.dh-cta .dh-cta-copy h2{color:#FFFFFF;margin:10px 0 16px;}
.dh-cta .dh-cta-copy p{color:rgba(255,255,255,.7);max-width:42ch;font-size:16px;}
.dh-cta .dh-cta-copy .dh-cta-phone{display:inline-block;margin-top:22px;font-family:'Fraunces',serif;font-size:26px;color:#fff;text-decoration:none;}
.dh-cta-card{background:#FFFFFF;border-radius:16px;padding:30px 28px;box-shadow:0 30px 80px rgba(0,0,0,.35);}
.dh-cta-card .dh-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#B08D57;font-weight:700;margin-bottom:8px;}
.dh-cta-card .dh-heading{font-family:'Fraunces',serif;font-size:25px;font-weight:500;margin:0 0 18px;color:#0A0A0A;}

/* Newsletter strip in the footer */
.dh-news{border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:34px 0;margin-bottom:8px;}
.dh-news .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.dh-news-copy h4{font-family:'Fraunces',serif;font-weight:500;font-size:24px;color:#fff;margin:0 0 4px;}
.dh-news-copy p{font-size:14px;color:rgba(255,255,255,.62);margin:0;}
.dh-news form{display:flex;gap:10px;flex:1;min-width:280px;max-width:480px;}
.dh-news input{
  flex:1;font-family:'Archivo',sans-serif;font-size:15px;color:#fff;
  background:transparent;border:1.5px solid rgba(255,255,255,.3);border-radius:999px;padding:13px 18px;
}
.dh-news input::placeholder{color:rgba(255,255,255,.5);}
.dh-news input:focus{outline:none;border-color:#B08D57;}
.dh-news button{white-space:nowrap;}
.dh-news .dh-status{flex-basis:100%;text-align:right;}
.dh-news .dh-status.ok{color:#d9b87f;}

@media(max-width:900px){
  .dh-cta{padding:56px 0;}
  .dh-cta .wrap{grid-template-columns:1fr;gap:30px;}
  .dh-form .dh-row{flex-direction:column;gap:14px;}
  .dh-news .wrap{flex-direction:column;align-items:flex-start;}
  .dh-news form{max-width:none;width:100%;}
  .dh-news .dh-status{text-align:left;}
}

/* Skip to content (a11y) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:#0A0A0A;color:#fff;padding:10px 16px;font-weight:600;border-radius:0 0 8px 0;text-decoration:none;}
.skip-link:focus{left:0;}

/* Portfolio venue image credit + case-study photo band */
.pj .ph .pj-credit{position:absolute;bottom:8px;right:8px;z-index:2;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.42);padding:3px 7px;border-radius:5px;font-weight:600;}
.cs-photo{padding:0 0 6px;}
.cs-photo .wrap{max-width:1240px;margin:0 auto;padding:0 24px;}
.cs-figure{margin:-56px 0 0;position:relative;z-index:3;}
.cs-figure img{width:100%;height:auto;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.28);display:block;}
.cs-credit{margin-top:10px;font-size:12px;color:#8A8A86;line-height:1.5;}
.cs-credit a{color:#8A8A86;text-decoration:underline;}
@media(max-width:600px){.cs-figure{margin-top:-28px;}}

/* ===== Lighting Brands directory ===== */
.lbrands-sec{padding:96px 0;border-top:1px solid rgba(10,10,10,.1);background:#fff;}
.lbrands{max-width:1240px;margin:0 auto;}
.lb-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:700;color:#B08D57;margin-bottom:12px;}
.lb-h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(32px,4.6vw,56px);letter-spacing:-.01em;margin:0 0 14px;color:#0A0A0A;}
.lb-intro{font-size:17px;color:#6E6E6A;max-width:60ch;line-height:1.7;margin:0 0 12px;}
.lb-group{margin-top:46px;}
.lb-label{font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:700;color:#6E6E6A;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid rgba(10,10,10,.12);}
.lb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;}
.lb-grid a{display:block;font-size:15px;font-weight:600;color:#0A0A0A;text-decoration:none;padding:11px 2px;border-bottom:1px solid rgba(10,10,10,.08);transition:color .15s ease,padding-left .15s ease;}
.lb-grid a:hover{color:#B08D57;padding-left:6px;}
.lb-featured .lb-label{color:#B08D57;}
.lb-featured .lb-grid a{font-weight:700;}
.lb-note{margin-top:40px;font-size:15px;color:#6E6E6A;}
.lb-note a{color:#B08D57;font-weight:600;text-decoration:none;}
@media(max-width:900px){.lb-grid{grid-template-columns:repeat(2,1fr);}.lbrands-sec{padding:64px 0;}}
@media(max-width:520px){.lb-grid{grid-template-columns:1fr;}}

/* ===== Lighting brand-finder ===== */
.lbf-bar{margin-top:30px;padding:22px;border:1px solid rgba(10,10,10,.12);border-radius:16px;background:#FAFAF8;}
.lbf-search{width:100%;font-family:'Archivo',sans-serif;font-size:16px;color:#0A0A0A;background:#fff;border:1.5px solid rgba(10,10,10,.16);border-radius:10px;padding:14px 16px;margin-bottom:16px;}
.lbf-search:focus{outline:none;border-color:#B08D57;box-shadow:0 0 0 3px rgba(176,141,87,.16);}
.lbf-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.lbf-glabel{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#8A8A86;width:56px;flex-shrink:0;}
.lbf-chips{display:flex;gap:8px;flex-wrap:wrap;}
.lbf-chip{font-family:'Archivo',sans-serif;font-size:13px;font-weight:600;color:#0A0A0A;background:#fff;border:1.5px solid rgba(10,10,10,.14);border-radius:999px;padding:7px 14px;cursor:pointer;transition:all .15s;}
.lbf-chip:hover{border-color:#0A0A0A;}
.lbf-chip.is-on{background:#0A0A0A;color:#fff;border-color:#0A0A0A;}
.lbf-count{margin:6px 0 0;font-size:13px;color:#6E6E6A;font-weight:600;}
.lbf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:24px;}
.lbf-card{display:flex;flex-direction:column;gap:8px;padding:16px 16px 14px;border:1px solid rgba(10,10,10,.12);border-radius:12px;background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;}
.lbf-card:hover{border-color:#B08D57;box-shadow:0 10px 30px rgba(0,0,0,.06);transform:translateY(-2px);}
.lbf-top{display:flex;align-items:center;gap:6px;}
.lbf-star{color:#B08D57;font-size:13px;}
.lbf-name{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:#0A0A0A;letter-spacing:-.01em;line-height:1.15;}
.lbf-sub{font-size:12px;color:#8A8A86;}
.lbf-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px;}
.lbf-b{font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;padding:3px 7px;border-radius:5px;}
.lbf-on{background:#E3F0E4;color:#2e7d4f;}
.lbf-sel{background:#FBF3E2;color:#9a7b3f;}
.lbf-off{background:#F2F2F0;color:#B9B9B4;}
.lbf-empty{margin-top:24px;font-size:15px;color:#6E6E6A;}
.lbf-empty a,.lbf-count a{color:#B08D57;font-weight:600;}
@media(max-width:560px){.lbf-glabel{width:100%;}.lbf-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:400px){.lbf-grid{grid-template-columns:1fr;}}

/* ===== Brand ribbon (auto-scroll) ===== */
.lb-ribbon{margin:26px 0 4px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.lb-rib-track{display:inline-flex;align-items:center;white-space:nowrap;animation:lbRib 48s linear infinite;will-change:transform;}
.lb-ribbon:hover .lb-rib-track{animation-play-state:paused;}
.lb-rib-item{font-family:'Fraunces',serif;font-size:clamp(20px,2.4vw,30px);font-weight:500;color:#3a3a37;letter-spacing:-.01em;padding:0 4px;}
.lb-rib-dot{color:#B08D57;font-size:14px;padding:0 22px;}
@keyframes lbRib{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(prefers-reduced-motion:reduce){.lb-rib-track{animation:none;}}

/* ===== Featured maker logos ===== */
.lb-logos-wrap{margin:26px 0 4px;padding:22px 0;border-top:1px solid rgba(10,10,10,.08);border-bottom:1px solid rgba(10,10,10,.08);}
.lb-logos-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:#8A8A86;margin:0 0 16px;}
.lb-logos{display:flex;flex-wrap:wrap;align-items:center;gap:22px 46px;}
.lb-logo{display:inline-flex;align-items:center;filter:grayscale(1);opacity:.62;transition:filter .25s ease,opacity .25s ease,transform .2s ease;}
.lb-logo:hover{filter:grayscale(0);opacity:1;transform:translateY(-1px);}
.lb-logo img{height:44px;width:auto;display:block;}
@media(max-width:560px){.lb-logo img{height:34px;}.lb-logos{gap:18px 30px;}}
