@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,600;0,700&display=swap");

:root{
  /* Typography: Lato everywhere (same as nav / menu) */
  --font-sans:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  /* Logo PolishedPath23.png — dusty rose, warm taupe, soft peach on white */
  --bg:#ffffff;
  --surface:#ffffff;
  --surfaceTint:#fbf7f6;
  --dusty-rose:#c49a96;
  --dusty-rose-dark:#a67f7b;
  --dusty-rose-soft:rgba(196,154,150,.14);
  --taupe:#6e625c;
  --taupe-dark:#3a332f;
  --peach:#d4a394;
  /* Stripe reference (portal band); solid #e8c8c4 = rgb(232,200,196) */
  --stripe-pink:#e8c8c4;
  /* Lighter fill for buttons & nav — borders stay var(--border) / rgba below */
  --button-pink:#f6efed;
  --soft-pink-ui:var(--button-pink);

  --text:#3a332f;
  --muted:#6e625c;
  --border:rgba(196,154,150,.22);
  --shadow:0 10px 36px rgba(58,51,47,.05);

  --brown:var(--taupe-dark);
  --brown2:var(--dusty-rose-dark);
  --pink:var(--dusty-rose);
  --pink2:#e8cfcb;

  /* Squared UI site-wide (light pink accents unchanged) */
  --radius:0;
  --radiusSm:0;
  --max:1160px;

  --space-1:8px;
  --space-2:12px;
  --space-3:16px;
  --space-4:24px;
  --space-5:32px;
  --space-6:48px;
  --space-7:72px;

  /* Focus ring: same on .btn, nav, and other controls */
  --focus-ring:3px solid rgba(196,154,150,.55);
  --focus-ring-offset:2px;

  /* Inner pages only (.pageHero h1 + client login); home uses .heroTitle, not this */
  /* ~35% smaller than prior clamp(36px,5vw,50px) */
  --page-hero-h1-size:clamp(24px,3.25vw,33px);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}

.pageClient,
.pageAdmin{
  background:var(--bg) !important;
}

a{color:inherit}
img{max-width:100%;display:block}

.container{width:min(var(--max), calc(100% - 48px)); margin-inline:auto}

.skipLink{
  position:absolute;
  left:-999px;
  top:10px;
  background:var(--brown);
  color:white;
  padding:10px 12px;
  border-radius:0;
  z-index:999;
}
.skipLink:focus,
.skipLink:focus-visible{
  left:16px;
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}

.siteHeader{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:saturate(160%) blur(14px);
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--border);
}
.headerInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding:14px 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.brand:focus,
.brand:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.brandLogo{
  width:auto;
  /* Scaled caps; +25% vs prior min(510px, 94.64vw) × 95px */
  max-width:min(638px,118.3vw);
  max-height:119px;
  height:auto;
  display:block;
}
.brandText{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.navToggle{
  font-family:var(--font-sans);
  display:none;
  align-items:center;
  gap:10px;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--taupe-dark);
  border-radius:0;
  padding:10px 14px;
  box-shadow:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.navToggle:hover,
.navToggle:active{
  background:var(--soft-pink-ui);
  color:var(--taupe-dark);
  border-color:var(--border);
}
.navToggle:focus,
.navToggle:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.navToggleIcon{
  width:18px;
  height:2px;
  background:currentColor;
  box-shadow:0 6px 0 currentColor, 0 -6px 0 currentColor;
  border-radius:0;
}
.navToggleLabel{font-weight:inherit;font-size:inherit;letter-spacing:inherit}

.siteNav{
  display:flex;
  align-items:center;
  gap:10px;
}
.navLink{
  font-family:var(--font-sans);
  text-decoration:none;
  padding:10px 14px;
  border-radius:0;
  border:1px solid transparent;
  color:var(--muted);
  font-weight:600;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.navLink:hover,
.navLink:focus-visible,
.navLink:active{
  background:var(--soft-pink-ui);
  color:var(--taupe-dark);
  border-color:var(--border);
}
.navLink.isActive{
  background:var(--soft-pink-ui);
  color:var(--taupe-dark);
  border-color:var(--border);
}
.navLink:focus,
.navLink:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}

.hero{padding:var(--space-6) 0 var(--space-6)}
.heroInner{
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:12px;
  color:var(--muted);
}
.heroTitle{
  margin:12px 0 0;
  font-family:var(--font-sans);
  font-size: clamp(28px, 3.4vw, 44px);
  line-height:1.12;
  letter-spacing:.08em;
  font-weight:500;
  color:var(--brown);
  text-transform:uppercase;
}
.heroTitleSub{
  margin:8px 0 0;
  font-family:var(--font-sans);
  font-size: clamp(20px, 2.4vw, 28px);
  line-height:1.2;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--brown);
  text-transform:none;
}
.heroLead{
  margin:16px 0 0;
  font-size:18px;
  color:var(--muted);
  max-width:60ch;
}
.heroActions{display:flex; gap:12px; margin-top:22px; flex-wrap:wrap}

.heroCard{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:none;
  padding:22px 22px;
}
.heroCardTitle{
  font-family:var(--font-sans);
  font-weight:600;
  color:var(--brown);
  letter-spacing:.01em;
}
.checkList{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:var(--muted);
}
.checkList li{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.checkList li::before{
  content:"";
  flex-shrink:0;
  width:10px;
  height:10px;
  margin-top:5px;
  border-radius:0;
  background:rgba(221,188,179,.5);
  border:1px solid rgba(196,154,150,.4);
  box-shadow:none;
}

.section{
  padding:var(--space-6) 0;
}
.section + .section{
  border-top:1px solid var(--border);
}
.sectionBreak{
  width:min(var(--max), calc(100% - 48px));
  margin:12px auto 28px;
  border-top:1px solid rgba(196,154,150,.5);
}
.sectionHeader{max-width:74ch}
.sectionHeader h2{
  margin:0;
  font-family:var(--font-sans);
  font-size:28px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--brown);
}
.sectionHeader p{margin:10px 0 0; color:var(--muted)}

h1,h2,h3{font-family:var(--font-sans)}
h1{
  letter-spacing:.02em;
  font-weight:500;
}
h2{letter-spacing:.015em; font-weight:500}
h3{letter-spacing:.01em; font-weight:500}

.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:22px}
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:22px}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px;
  box-shadow:none;
}
.card h3{margin:0; font-family:var(--font-sans); font-size:22px; font-weight:500; color:var(--brown)}
.card p{margin:10px 0 0; color:var(--muted)}

.band{
  padding:var(--space-6) 0;
  background:var(--bg);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.bandInner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-6);
  align-items:start;
}
.bandCopy h2{
  margin:0;
  font-family:var(--font-sans);
  font-size:28px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--brown);
}
.bandCopy p{margin:10px 0 0; color:var(--muted)}
.bandSteps{display:grid; gap:12px}
.step{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radiusSm);
  padding:14px 14px;
}
.stepNum{
  flex-shrink:0;
  width:32px;
  height:32px;
  border-radius:0;
  display:grid;
  place-items:center;
  background:rgba(221,188,179,.35);
  border:1px solid rgba(196,154,150,.38);
  color:var(--taupe-dark);
  font-weight:700;
  font-size:14px;
  line-height:1;
}
.stepTitle{font-family:var(--font-sans); font-weight:600; color:var(--brown)}
.stepText{color:var(--muted); font-size:14px; margin-top:2px}

.btn{
  font-family:var(--font-sans);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:0;
  padding:12px 20px;
  font-weight:700;
  text-decoration:none;
  border:1px solid var(--border);
  background:transparent;
  color:var(--taupe-dark);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  box-shadow:none;
  cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
button.btn{font:inherit}
a.btn:visited{color:var(--taupe-dark)}
.btn:hover,
.btn:focus-visible,
.btn:active{
  background:var(--soft-pink-ui);
  color:var(--taupe-dark);
  border-color:var(--border);
}
a.btn:hover,
a.btn:focus-visible,
a.btn:active{
  color:var(--taupe-dark);
}
.btn:focus,
.btn:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.btn:active{transform:none} /* keeps press feedback without jumping */
.btnSmall{
  padding:8px 14px;
  font-size:11px;
  letter-spacing:.12em;
}
/* Primary actions: lighter pink fill; border rgba unchanged */
.btn.btnPrimary{
  background:var(--button-pink);
  border-color:rgba(196,154,150,.5);
  color:var(--taupe-dark);
}
.btn.btnPrimary:visited{
  color:var(--taupe-dark);
}
.btn.btnPrimary:hover,
.btn.btnPrimary:focus-visible,
.btn.btnPrimary:active{
  background:var(--button-pink);
  border-color:rgba(196,154,150,.42);
  color:var(--taupe-dark);
}

.cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:none;
}
.ctaCopy h2{
  margin:0;
  font-family:var(--font-sans);
  font-size:28px;
  font-weight:500;
  letter-spacing:.01em;
  color:var(--brown);
}
.ctaCopy p{margin:10px 0 0; color:var(--muted)}
.ctaInline{margin-top:22px}

.clientLoginLead{
  font-size:120%;
}

.clientHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.clientTitle{
  margin:0;
  font-family:var(--font-sans);
  font-size:clamp(26px,3vw,34px);
  font-weight:500;
  color:var(--taupe-dark);
}
.clientSubtitle{
  margin:8px 0 0;
  color:var(--muted);
  font-size:clamp(16px,1.1vw,18px);
}
body.themeMinimal .clientTitle{color:var(--taupe)}
body.themeMinimal .clientSubtitle{color:var(--muted)}

.adminHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* Add horizontal breathing room between table columns */
.table th + th,
.table td + td{
  padding-left:6px;
}

.adminCustomersTable th{
  text-align:left;
}

/* Column layout for Customers table */
.adminCustomersTable th:nth-child(1),
.adminCustomersTable td:nth-child(1){
  width:30%;
}
.adminCustomersTable th:nth-child(2),
.adminCustomersTable td:nth-child(2){
  width:35%;
}
.adminCustomersTable th:nth-child(3),
.adminCustomersTable td:nth-child(3){
  width:35%;
}

.itemDescription{
  margin-top:12px;
}

.tableActions{
  text-align:right;
  white-space:nowrap;
}

.adminModeBadge{
  display:inline-block;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:0;
  border:1px solid var(--border);
  background:var(--dusty-rose-soft);
  color:var(--taupe-dark);
  font-weight:700;
  font-size:13px;
}

.workSection{
  margin-top:24px;
}
.workSection h2{
  text-transform:uppercase;
  letter-spacing:.06em;
}
.workGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-top:12px;
}
.workCard{
  position:relative;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radiusSm);
  overflow:hidden;
}
.workCard.isDraggable{
  cursor:grab;
}
.workCard.isDragging{
  opacity:.55;
}
.workCard img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
/* Non-image files: neutral placeholder, no on-card text */
.workFile{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:180px;
  aspect-ratio:4/3;
  background:var(--dusty-rose-soft);
  border:0;
}
.workFile::after{
  content:"";
  width:44px;
  height:52px;
  border:2px solid rgba(110,98,92,.22);
  background:rgba(255,255,255,.35);
}
.workCardActions{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  max-width:calc(100% - 16px);
}
.workCardActions .inlineForm{
  margin:0;
}
.workCardActionBtn{
  padding:6px 10px;
  font-size:11px;
  background:rgba(255,255,255,.92);
}
.workCardActionBtn:hover,
.workCardActionBtn:focus-visible{
  background:var(--soft-pink-ui);
  color:var(--taupe-dark);
  border-color:var(--border);
}

.pageHero{padding:var(--space-6) 0 var(--space-4)}
.pageHero h1{
  margin:0;
  font-family:var(--font-sans);
  font-size:var(--page-hero-h1-size);
  font-weight:500;
  line-height:1.12;
  color:var(--brown);
  text-transform:none;
  letter-spacing:.02em;
}
.pageHero .lead{margin:12px 0 0; color:var(--muted); font-size:18px; max-width:68ch}

/* Page hero titles: all caps (Contact, About, Our Work, Services) */
body.pageContact .pageHero h1,
body.pageAbout .pageHero h1,
body.pageOurWork .pageHero h1,
body.pageServices .servicesHeroIntro.pageHero h1{
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.pageClientLogin .section .container > h1{
  font-size:var(--page-hero-h1-size);
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* ------------------------------------------------------------------
   Services page — logo strip first (like home hero image), then intro copy
   ------------------------------------------------------------------ */
body.pageServices main#main{
  position:relative;
  z-index:0;
}
.servicesHeroAmbient{
  position:relative;
  z-index:0;
  overflow:hidden;
}
/* Title + lead — below visual band */
body.pageServices .servicesHeroIntro.pageHero{
  padding:var(--space-6) 0 var(--space-4);
  margin:0;
  background:
    linear-gradient(
      135deg,
      rgba(251,247,246,.98) 0%,
      rgba(255,255,255,1) 55%,
      rgba(232,200,196,.08) 100%
    );
}
/* Full-width band first, aligned with home .heroVisual rhythm */
.servicesHeroVisual{
  position:relative;
  margin:0;
  width:100%;
  overflow:hidden;
  line-height:0;
  min-height:min(248px, 35vh);
  max-height:min(397px, 47vh);
  border-top:0;
  border-bottom:1px solid var(--border);
  /* Soft peach–cream diagonal (ties to --peach, reads warmer than pink-blush) */
  background:linear-gradient(
    135deg,
    #ffffff 0%,
    rgba(212, 163, 148, 0.09) 42%,
    #faf8f6 100%
  );
}
.servicesHeroCarousel{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:1;
}
.servicesHeroSlide{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  /* +24% vs prior min(420px,58vw) × min(240px,32vh) */
  width:min(521px, 72vw);
  height:min(298px, 40vh);
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  transition:opacity 1.5s ease;
}
.servicesHeroSlide.isActive{
  opacity:1;
}
/* Kept for markup; no overlay — logos at full opacity */
.servicesHeroScrim{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:transparent;
}

/* Dots sit in their own row below the logo strip (no overlap) */
.servicesHeroDotsBar{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  padding:12px 16px 14px;
  box-sizing:border-box;
  background:var(--bg);
  border-bottom:1px solid var(--border);
}
.servicesHeroDots{
  position:static;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0;
  padding:0;
  pointer-events:auto;
}
.servicesHeroDot{
  width:10px;
  height:10px;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(196,154,150,.65);
  background:rgba(255,255,255,.85);
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .15s ease;
}
.servicesHeroDot:hover{
  border-color:rgba(58,51,47,.45);
  background:var(--soft-pink-ui);
}
.servicesHeroDot.isActive{
  background:var(--button-pink);
  border-color:rgba(196,154,150,.75);
  transform:scale(1.15);
}
.servicesHeroDot:focus{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}

.cardTitle{
  margin:0;
  font-family:var(--font-sans);
  color:var(--brown);
  font-size:22px;
  font-weight:500;
}
.cardLead{margin:10px 0 0; color:var(--muted)}
.cardSoft{background:var(--dusty-rose-soft)}
.cardService .bullets{margin-top:14px}

.bullets{
  margin:14px 0 0;
  padding-left:18px;
  color:var(--muted);
  display:grid;
  gap:8px;
}

.prose h2{
  margin:32px 0 0;
  font-family:var(--font-sans);
  font-size:28px;
  font-weight:500;
  color:var(--brown);
}
.prose h2:first-child{
  margin-top:16px;
}
.prose p{margin:12px 0 0; color:var(--muted); max-width:78ch}
.prose .grid3{margin-top:18px}

.callout{
  margin-top:22px;
  padding:18px;
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:var(--surface);
  box-shadow:none;
}
.calloutTitle{font-family:var(--font-sans); font-weight:600; color:var(--brown)}
.callout p{margin-top:10px}
.callout .btn{margin-top:12px}

.contactGrid{align-items:start}
.form{margin-top:14px; display:grid; gap:14px}
.field label{display:block; font-weight:700; color:var(--brown); font-size:14px}
.field input,.field textarea{
  width:100%;
  margin-top:8px;
  padding:12px 12px;
  border-radius:0;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  font:inherit;
}
.field input:focus,
.field input:focus-visible,
.field textarea:focus,
.field textarea:focus-visible,
.field select:focus,
.field select:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.hpField{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

.notice{
  padding:12px 12px;
  border-radius:0;
  border:1px solid var(--border);
  margin-top:12px;
}
.noticeSuccess{background:var(--dusty-rose-soft)}
.noticeError{background:rgba(196,154,150,.08)}

.divider{height:1px; background:var(--border); margin:18px 0}
.finePrint{font-size:13px; color:var(--muted)}

.siteFooter{
  padding:28px 0;
  border-top:1px solid var(--border);
  background:var(--bg);
}
.footerInner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.footerName{
  font-family:var(--font-sans);
  font-weight:600;
  color:var(--brown);
  text-transform:none;
  letter-spacing:.04em;
}
.footerTagline{color:var(--muted); margin-top:4px}
.footerMeta{color:var(--muted); display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.footerLink{text-decoration:none; font-weight:700; display:inline-flex; align-items:center; justify-content:center}
.footerLink:hover{text-decoration:underline}
.footerImgLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  text-decoration:none;
}
.footerImgLink:focus,
.footerImgLink:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}

/* Form controls outside .field (e.g. admin tables) */
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}

.footerBtnImg{
  height:52px;
  width:auto;
  display:block;
}
.cta .footerBtnImg{
  height:84px;
}

/* ------------------------------------------------------------------
   Minimal theme — white ground, logo colours only as light dusty rose
   ------------------------------------------------------------------ */
body.themeMinimal{
  /* Match home hero: body copy uses same tone as hero lead */
  color:var(--taupe);
  background:var(--bg);
}
body.themeMinimal.pageClient,
body.themeMinimal.pageAdmin{
  background:var(--bg) !important;
}
/* Client portal: vertical stripes only under main site header (not behind header) */
body.themeMinimal.pageClientStriped main.clientMain{
  background-color:#fff;
  background-image:repeating-linear-gradient(
    to right,
    #ffffff 0,
    #ffffff 32px,
    rgba(232,200,196,0.2) 32px,
    rgba(232,200,196,0.2) 64px
  );
  min-height:calc(100dvh - 5.5rem);
}
body.themeMinimal .siteHeader{
  background:var(--bg);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(10px);
}
body.themeMinimal .siteFooter{
  background:var(--bg);
  border-top:1px solid var(--border);
}
body.themeMinimal .pageHero h1{color:var(--taupe)}
body.themeMinimal .pageHero .lead{color:var(--muted)}

.hero.heroMinimal{
  padding:0;
}
.heroVisual{
  margin:0;
  width:100%;
  overflow:hidden;
  line-height:0;
}
.heroVisual img{
  width:100%;
  height:min(50vh, 520px);
  object-fit:cover;
  filter:saturate(1.08) brightness(1.04) sepia(0.05);
  opacity:.5;
}
.heroMinimal .heroInner{
  padding:var(--space-3) 0 var(--space-3);
  gap:var(--space-4);
}
body.themeMinimal .heroTitle,
body.themeMinimal .heroTitleSub,
body.themeMinimal .heroCardTitle{
  color:var(--taupe);
}
body.themeMinimal .heroLead,
body.themeMinimal .sectionHeader p{
  color:var(--muted);
}
body.themeMinimal .eyebrow{
  color:rgba(110,98,92,.82);
}
body.themeMinimal .heroCard{
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:none;
}
body.themeMinimal .checkList li::before{
  background:rgba(221,188,179,.5);
  border:1px solid rgba(196,154,150,.4);
  box-shadow:none;
}

/* Home hero + first content section: tighten vertical spacing */
body.home .heroLead{
  margin:10px 0 0;
}
body.home .heroActions{
  margin-top:16px;
}
body.home .heroMinimal + .section{
  padding-top:var(--space-4);
}
body.themeMinimal .card{
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:none;
}
body.themeMinimal .card h3{color:var(--taupe)}
body.themeMinimal .sectionHeader h2{color:var(--taupe)}
body.themeMinimal .cardTitle{color:var(--taupe)}
body.themeMinimal .prose h2{color:var(--taupe)}
body.themeMinimal .calloutTitle{color:var(--taupe)}
body.themeMinimal .field label{color:var(--taupe)}
body.themeMinimal .workSection h2{color:var(--taupe)}
body.themeMinimal .footerName{color:var(--taupe)}
body.themeMinimal .section + .section{
  border-top:1px solid var(--border);
}

/* Home: three-image strip + bottom quote overlay */
.sectionMediaStrip{
  position:relative;
  width:100%;
  overflow:hidden;
  line-height:0;
}
.sectionMediaGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  width:100%;
}
.sectionMediaCell{
  margin:0;
  padding:0;
  overflow:hidden;
  min-height:0;
}
.sectionMediaCell img{
  width:100%;
  height:min(42vh, 460px);
  min-height:200px;
  object-fit:cover;
  display:block;
  opacity:.5;
  filter:saturate(1.05) brightness(1.02);
}
.sectionMediaOverlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:var(--space-4) var(--space-3) var(--space-5);
  background:linear-gradient(to top, rgba(58,51,47,.72) 0%, rgba(58,51,47,.35) 55%, transparent 100%);
  line-height:1.35;
  pointer-events:none;
}
.sectionMediaQuote{
  margin:0 auto;
  max-width:min(920px, 94vw);
  text-align:center;
  font-family:var(--font-sans);
  font-size:clamp(12px, 2.2vw, 17px);
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.45);
}

.instagramStripSection{
  padding-top:var(--space-4);
}
.instagramStripHeader{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.instagramStripTitleBlock{
  min-width:0;
}
.instagramStripHeader h2{
  margin:0;
  font-size:22px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--taupe);
}
.instagramStripHandle{
  margin:6px 0 0;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--muted);
}
.instagramStripHeader a{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  text-decoration:none;
  color:var(--muted);
}
.instagramStripHeader a:hover{
  text-decoration:underline;
}
.instagramStripGrid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:10px;
}
.instagramPostCard{
  display:block;
  border:1px solid var(--border);
  background:#fff;
  overflow:hidden;
  text-decoration:none;
}
.instagramPostCard img{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}
.instagramPostCard:hover img{
  transform:scale(1.02);
}
.instagramPostCard:focus,
.instagramPostCard:focus-visible{
  outline:var(--focus-ring);
  outline-offset:var(--focus-ring-offset);
}
.instagramFallback{
  padding-top:8px;
}

.band.bandMinimal{
  background:var(--bg) !important;
  border-top:1px solid var(--border) !important;
  border-bottom:1px solid var(--border) !important;
}
body.themeMinimal .bandCopy h2{color:var(--taupe)}
body.themeMinimal .bandCopy p{color:var(--muted)}
body.themeMinimal .step{
  background:var(--surface);
  border:1px solid var(--border);
}
body.themeMinimal .stepNum{
  background:rgba(221,188,179,.35);
  border:1px solid rgba(196,154,150,.38);
  color:var(--taupe);
}
body.themeMinimal .stepTitle{color:var(--taupe)}
body.themeMinimal .cta{
  background:var(--surface);
  border:1px solid var(--border);
  box-shadow:none;
}
body.themeMinimal .ctaCopy h2{color:var(--taupe)}
body.themeMinimal .ctaCopy p{color:var(--muted)}
body.themeMinimal .workCard{
  background:var(--surface);
  border:1px solid var(--border);
}

@media (max-width: 920px){
  .heroInner{grid-template-columns:1fr; gap:18px}
  .bandInner{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .workGrid{grid-template-columns:1fr}
  .cta{flex-direction:column; align-items:flex-start}
  .navToggle{display:inline-flex}
  .siteNav{
    display:none;
    position:absolute;
    top:64px;
    right:calc((100% - min(var(--max), calc(100% - 48px))) / 2);
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:0;
    padding:10px;
    box-shadow:none;
    flex-direction:column;
    align-items:stretch;
    min-width:220px;
  }
  body.themeMinimal .siteNav{
    background:var(--bg);
    border:1px solid var(--border);
  }
  .siteNav.isOpen{display:flex}
  .sectionMediaCell img{
    height:min(28vh, 240px);
    min-height:120px;
  }
  .instagramStripGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .sectionMediaQuote{
    letter-spacing:.08em;
    font-size:clamp(10px, 2.6vw, 14px);
  }
  .sectionMediaOverlay{
    padding:var(--space-3) var(--space-2) var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce){
  .btn{transition:none}
  .instagramPostCard img{
    transition:none;
  }
  .heroVisual img,
  .sectionMediaCell img{
    filter:brightness(1.02);
  }
}

