/* ============================================================
   Twin Tiger Studio — static site styles
   Palette, type, and spacing are defined once in :root below.
   Change brand name in index.html (BRAND const, one place).
   ============================================================ */
:root{
  --bone:#f7f4ef;        /* base warm off-white */
  --sand:#efe8dd;        /* alternate section */
  --ink:#211d16;         /* warm off-black */
  --muted:#6f685b;       /* secondary text */
  --line:#d8cfbf;        /* hairlines */
  --accent:#5c5e49;      /* quiet olive, used sparingly */
  --dark:#211d16;        /* dark sections */
  --dark-text:#e9e1d3;
  --maxw:1180px;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bone);color:var(--ink);
  font-family:var(--sans);font-weight:300;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
section{padding:130px 0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:.01em;line-height:1.08}
p{color:var(--muted)}
a{color:inherit;text-decoration:none}

/* eyebrow label */
.eyebrow{
  font-family:var(--sans);font-weight:400;font-size:12px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  margin-bottom:26px;display:inline-block;
}

/* buttons / CTA */
.cta{
  display:inline-block;font-family:var(--sans);font-weight:400;
  font-size:13px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink);border:1px solid var(--ink);
  padding:16px 34px;transition:background .4s ease,color .4s ease;
  background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;
}
.cta:hover{background:var(--ink);color:var(--bone)}
.cta.light{color:var(--dark-text);border-color:var(--dark-text)}
.cta.light:hover{background:var(--dark-text);color:var(--ink)}

/* nav */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 40px;transition:background .5s ease,padding .5s ease,border-color .5s;
  border-bottom:1px solid transparent;
}
header.nav.solid{background:rgba(247,244,239,.92);backdrop-filter:blur(8px);border-bottom-color:var(--line);padding:8px 40px}
.brand{font-family:var(--serif);font-size:22px;letter-spacing:.02em;color:#fff;transition:color .5s}
header.nav.solid .brand{color:var(--ink)}
.navlinks{display:flex;gap:38px}
.navlinks a{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:#fff;opacity:.85;transition:color .5s,opacity .3s}
.navlinks a:hover{opacity:1}
header.nav.solid .navlinks a{color:var(--ink)}
.navtoggle{display:none}

/* placeholder image blocks */
.ph{position:relative;overflow:hidden;background:
  linear-gradient(135deg,#cdbfa9 0%,#b8a88f 45%,#9d8e75 100%);}
.ph::after{
  content:attr(data-label);position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.85);padding:20px;
}
.ph.dark{background:linear-gradient(135deg,#3a352b 0%,#2a261d 60%,#211d16 100%)}
.ph.soft{background:linear-gradient(135deg,#e4dccc 0%,#d4c8b2 100%)}
.ph.soft::after{color:rgba(60,52,40,.7)}

/* hero */
.hero{position:relative;height:100vh;min-height:660px;display:flex;align-items:center;color:#fff}
.hero .ph{position:absolute;inset:0}
.hero .ph::after{align-items:flex-end;justify-content:flex-end;padding:18px 24px;color:rgba(255,255,255,.5)}
.hero .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,11,.85) 0%,rgba(18,15,11,.6) 45%,rgba(18,15,11,.42) 100%),linear-gradient(180deg,rgba(18,15,11,.28) 0%,rgba(18,15,11,.12) 24%,rgba(18,15,11,.4) 100%)}
.hero .wrap{position:relative;z-index:2}
.hero .eyebrow{color:#d7cdb9}
.hero h1{font-size:clamp(46px,6.4vw,92px);font-weight:400;max-width:14ch;margin-bottom:30px}
.hero p.lede{color:rgba(255,255,255,.86);font-size:19px;font-weight:300;max-width:44ch;margin-bottom:40px}

/* generic section intro */
.lead h2{font-size:clamp(30px,3.6vw,50px);max-width:20ch;margin-bottom:30px}
.lead p{font-size:19px;max-width:56ch}
.center{text-align:center}
.center .lead-inner{margin:0 auto}
.center p{margin-left:auto;margin-right:auto}

/* chef split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split.alt .txt{order:1}
.split.alt .media{order:2}
.split .media .ph{aspect-ratio:4/5;width:100%}
.split h2{font-size:clamp(32px,3.8vw,52px);margin-bottom:8px}
.split .role{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:26px}
.split .kicker{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--ink);margin-bottom:22px}
.split ul{list-style:none;margin:28px 0;columns:2;column-gap:30px}
.split ul li{font-size:15px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.split .close{font-family:var(--serif);font-size:24px;color:var(--ink);margin-top:22px}

/* how we work */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:70px}
.step .n{font-family:var(--serif);font-size:20px;color:var(--accent);border-top:1px solid var(--line);padding-top:20px;margin-bottom:14px;display:block}
.step h3{font-size:26px;margin-bottom:10px}
.step p{font-size:15px}

/* services grid */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:60px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.svc .cell{padding:50px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc .cell .lead-by{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.svc .cell h3{font-size:28px;margin-bottom:14px}
.svc .cell p{font-size:15.5px}

/* work / portfolio */
.projects{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:66px}
.project .ph{aspect-ratio:3/2;width:100%;margin-bottom:24px}
.project .meta{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.project h3{font-size:30px;margin-bottom:8px}
.project p{font-size:15.5px}
.milestone{margin-top:90px;border-top:1px solid var(--line);padding-top:60px;display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:center}
.milestone .mstat{font-family:var(--serif);font-weight:400;font-size:clamp(72px,10vw,132px);line-height:.9;color:var(--ink)}
.milestone .mtext{max-width:46ch}
.milestone .mtext .eyebrow{margin-bottom:14px}
.milestone .mtext p{font-size:19px}

/* who / press */
.audience{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}
.audience .a{border-top:1px solid var(--line);padding-top:22px;font-family:var(--serif);font-size:24px;color:var(--ink)}
.press{display:flex;gap:60px;flex-wrap:wrap;margin-top:50px;align-items:baseline}
.press .p{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--muted)}

/* contact (dark) */
.contact{background:var(--dark);color:var(--dark-text)}
.contact h2{color:#fff;font-size:clamp(34px,4.4vw,64px);max-width:16ch;margin-bottom:26px}
.contact .manifesto{font-family:var(--serif);font-size:22px;color:rgba(233,225,211,.8);font-style:italic;margin-bottom:44px;max-width:40ch}
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:620px;margin-top:40px}
.form input,.form textarea{
  background:transparent;border:none;border-bottom:1px solid rgba(233,225,211,.32);
  color:var(--dark-text);font-family:var(--sans);font-weight:300;font-size:15px;
  padding:14px 2px;width:100%;
}
.form input::placeholder,.form textarea::placeholder{color:rgba(233,225,211,.5);letter-spacing:.04em}
.form input:focus,.form textarea:focus{outline:none;border-bottom-color:var(--dark-text)}
.form .full{grid-column:1/-1}
.form textarea{resize:vertical;min-height:90px}
.form select{
  background:transparent;border:none;border-bottom:1px solid rgba(233,225,211,.32);
  color:var(--dark-text);font-family:var(--sans);font-weight:300;font-size:15px;
  padding:14px 2px;width:100%;cursor:pointer;letter-spacing:.02em;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23e9e1d3' stroke-width='1.6'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center;background-size:13px;padding-right:22px;
}
.form select:focus{outline:none;border-bottom-color:var(--dark-text)}
.form select:invalid{color:rgba(233,225,211,.5)}
.form select option{color:var(--dark-text);background:var(--dark)}
.form select option[disabled]{color:rgba(233,225,211,.55)}
.form .submit{grid-column:1/-1;justify-self:start;margin-top:10px}
.form .submit,.cta.light.submit{background:#e0842e;color:var(--ink);border-color:#e0842e}
.form .submit:hover,.cta.light.submit:hover{background:var(--ink);color:#e0842e;border-color:#e0842e}

/* footer */
footer.foot{background:var(--dark);color:rgba(233,225,211,.6);border-top:1px solid rgba(233,225,211,.12);padding:50px 0}
footer.foot .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
footer.foot .brand{color:var(--dark-text)}
footer.foot .meta{font-size:12.5px;letter-spacing:.12em}

/* reveal motion */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
html.reveal-all .reveal,.no-js .reveal{opacity:1!important;transform:none!important;transition:none!important}

/* responsive */
@media(max-width:860px){
  section{padding:88px 0}
  .wrap{padding:0 24px}
  header.nav{padding:8px 24px}
  .navlinks{display:none}
  .split{grid-template-columns:1fr;gap:40px}
  .split.alt .txt{order:1}.split.alt .media{order:2}
  #tina .media,#solanky .media{order:1}
  #tina .txt,#solanky .txt{order:2}
  .split ul{columns:1}
  .steps{grid-template-columns:1fr;gap:34px}
  .svc{grid-template-columns:1fr}
  .svc .cell{padding:34px 26px}
  .projects{grid-template-columns:1fr;gap:44px}
  .milestone{grid-template-columns:1fr;gap:24px;text-align:left}
  .audience{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .hero{min-height:600px}
  footer.foot .wrap{flex-direction:column;text-align:center}
}

/* real photos in place of placeholder blocks */
.ph.photo{background-size:cover;background-repeat:no-repeat}
.ph.photo::after{content:none}
#tina .ph.photo,#solanky .ph.photo{background-size:contain;background-repeat:no-repeat;background-color:transparent;-webkit-mask-image:linear-gradient(to bottom,#000 80%,rgba(0,0,0,.72) 88%,rgba(0,0,0,.32) 94%,transparent 100%);mask-image:linear-gradient(to bottom,#000 80%,rgba(0,0,0,.72) 88%,rgba(0,0,0,.32) 94%,transparent 100%)}
#solanky .ph.photo{transform:scaleX(-1)}

/* ============================================================
   Enrichment: hero carousel, texture breaks, gallery, cuisines
   ============================================================ */

/* hero carousel slides */
.hero .slides{position:absolute;inset:0;z-index:0}
.hero .slide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 2.4s ease-in-out;will-change:opacity}
.hero .slide.on{opacity:1}

/* full-bleed texture break */
.texture{position:relative;height:360px;background-size:cover;background-position:center}
.texture::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(24,20,15,.62),rgba(24,20,15,.5))}
.texture .line{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}
.texture .line span{font-family:var(--serif);font-style:italic;
  font-size:clamp(21px,2.8vw,33px);color:#f3ede1;letter-spacing:.01em;
  padding:0 28px;max-width:26ch;line-height:1.3;text-shadow:0 1px 18px rgba(0,0,0,.35)}

/* gallery grid */
#gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:64px}
#gallery .g{position:relative;overflow:hidden;aspect-ratio:1/1;background:var(--sand)}
#gallery .g .ph{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;
  transition:transform 1.5s ease}
#gallery .g:hover .ph{transform:scale(1.05)}

/* cuisines band */
.cuisines{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:60px}
.cuisines .c{position:relative;aspect-ratio:5/4;overflow:hidden}
.cuisines .c .ph{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;
  transition:transform 1.6s ease}
.cuisines .c:hover .ph{transform:scale(1.06)}
.cuisines .c::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,16,12,.04) 32%,rgba(20,16,12,.74))}
.cuisines .c .name{position:absolute;left:22px;bottom:18px;z-index:2;
  font-family:var(--serif);font-size:24px;color:#fff;letter-spacing:.01em;
  text-shadow:0 1px 14px rgba(0,0,0,.4)}

@media(max-width:860px){
  #gallery .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cuisines{grid-template-columns:repeat(2,1fr);gap:10px}
  .cuisines .c .name{font-size:20px;left:16px;bottom:14px}
  .texture{height:260px}
  .texture .line span{font-size:20px}
}

/* cuisines slideshow (matches hero cross-fade) */
.cuisine-show{position:relative;margin-top:56px;aspect-ratio:16/7;overflow:hidden;background:var(--dark)}
.cuisine-show .cslide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 2.2s ease-in-out;will-change:opacity}
.cuisine-show .cslide.on{opacity:1}
.cuisine-show .cslide::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(20,16,12,.06) 40%,rgba(20,16,12,.72))}
.cuisine-show .cslide .name{position:absolute;left:38px;bottom:32px;z-index:2;
  font-family:var(--serif);font-size:clamp(28px,3.4vw,44px);color:#fff;letter-spacing:.01em;
  text-shadow:0 2px 18px rgba(0,0,0,.45)}
@media(max-width:860px){
  .cuisine-show{aspect-ratio:4/3;margin-top:40px}
  .cuisine-show .cslide .name{left:22px;bottom:20px;font-size:26px}
}

/* gallery slideshow (one dish at a time, matches hero/cuisines) */
.gallery-show{position:relative;margin-top:64px;aspect-ratio:3/2;overflow:hidden;background:var(--sand);
  box-shadow:0 24px 60px -30px rgba(33,29,22,.5)}
.gallery-show .gslide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 2.2s ease-in-out;will-change:opacity}
.gallery-show .gslide.on{opacity:1}
@media(max-width:860px){
  .gallery-show{aspect-ratio:4/5;margin-top:40px}
}

/* ============================================================
   Update: brighter slideshow imagery + inline contact status
   ============================================================ */

/* brighten images across all slideshows (hero, kitchen gallery, cuisines) */
.hero .slide,
.gallery-show .gslide,
.cuisine-show .cslide{filter:brightness(1.16) contrast(1.03) saturate(1.04)}

/* inline success / error line under the contact form */
.form-status{max-width:620px;margin-top:24px;font-family:var(--serif);font-style:italic;
  font-size:20px;line-height:1.5;color:rgba(233,225,211,.85);opacity:0;transition:opacity .5s ease}
.form-status.ok{opacity:1}
.form-status.err{opacity:1;color:#e6b7a6;font-style:normal;font-family:var(--sans);
  font-size:15px;letter-spacing:.02em;line-height:1.6}

/* ============================================================
   Brand logo in nav + Chefs dropdown
   ============================================================ */
.brand{display:flex;align-items:center}
.brand-logo{height:117px;width:auto;display:block;border-radius:4px}
@media(max-width:860px){ .brand-logo{height:83px} }

.navdrop{position:relative;display:flex;align-items:center}
.navdrop::after{content:"";position:absolute;top:100%;left:-10px;right:-10px;height:18px}
.navdrop-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:14px;
  display:none;flex-direction:column;
  background:rgba(247,244,239,.98);backdrop-filter:blur(8px);
  border:1px solid var(--line);box-shadow:0 12px 32px rgba(18,15,11,.14);
  padding:6px 0;min-width:184px;
}
.navdrop:hover .navdrop-menu{display:flex}
.navdrop-menu a{
  color:var(--ink) !important;opacity:.9;padding:11px 22px;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;
}
.navdrop-menu a:hover{opacity:1;background:var(--sand)}
/* ===== Selected-work sliding carousel ===== */
#workgallery .lead{margin-bottom:46px}
.wgal{position:relative;max-width:920px;margin:0 auto}
.wgal-viewport{overflow:hidden;border:1px solid var(--line);background:var(--bone);
  box-shadow:0 18px 44px -26px rgba(33,29,22,.4);
  transition:box-shadow .35s ease,transform .35s ease}
.wgal:hover .wgal-viewport{box-shadow:0 26px 60px -24px rgba(33,29,22,.55)}
.wgal-track{display:flex;transition:transform .8s cubic-bezier(.65,0,.35,1);will-change:transform}
.wgal-slide{flex:0 0 100%;aspect-ratio:16/9;background:var(--sand)}
.wgal-slide img{width:100%;height:100%;object-fit:cover;display:block}
.wgal-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:rgba(247,244,239,.9);color:var(--ink);font-family:var(--serif);font-size:24px;line-height:1;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:3px;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:.82;
  transition:background .35s ease,color .35s ease,opacity .35s ease,border-color .35s ease}
.wgal:hover .wgal-arrow{opacity:1}
.wgal-arrow:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.wgal-arrow.prev{left:-22px}
.wgal-arrow.next{right:-22px}
.wgal-dots{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:28px}
.wgal-dots button{width:7px;height:7px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:var(--line);transition:background .35s ease,transform .35s ease}
.wgal-dots button:hover{background:var(--muted)}
.wgal-dots button.on{background:var(--accent);transform:scale(1.45)}
@media(max-width:980px){.wgal{max-width:100%}.wgal-arrow.prev{left:12px}.wgal-arrow.next{right:12px}}
@media(max-width:640px){.wgal-arrow{width:38px;height:38px;font-size:20px}.wgal-arrow.prev{left:8px}.wgal-arrow.next{right:8px}}

/* ===== Press page ===== */
.press-page{padding-top:150px}
.press-page .lead{margin-bottom:50px}
.press-grid{column-count:2;column-gap:26px}
@media(max-width:760px){.press-grid{column-count:1}.press-page{padding-top:120px}}
.press-item{display:block;break-inside:avoid;margin:0 0 26px;background:var(--bone);
  border:1px solid var(--line);box-shadow:0 18px 44px -26px rgba(33,29,22,.4);
  overflow:hidden;text-decoration:none;
  transition:box-shadow .35s ease,transform .35s ease}
.press-item:hover{box-shadow:0 26px 60px -24px rgba(33,29,22,.55);transform:translateY(-3px)}
.press-item img{display:block;width:100%;height:auto}
.press-cap{padding:15px 18px 18px;font-family:var(--sans);font-size:12px;line-height:1.5;
  color:var(--muted);letter-spacing:.16em;text-transform:uppercase}
.press-cap strong{display:block;margin-bottom:6px;color:var(--ink);font-weight:600;
  font-family:var(--serif);font-size:18px;line-height:1.3;letter-spacing:.01em;text-transform:none}

/* See all press link under homepage carousel */
.wgal-more{text-align:center;margin-top:30px}
.wgal-more a{font-family:var(--sans);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px;
  transition:color .3s ease,border-color .3s ease}
.wgal-more a:hover{color:var(--ink);border-color:var(--ink)}

/* ===== Chef Instagram link ===== */
.ig-link{display:inline-flex;align-items:center;gap:9px;margin-top:26px;
  font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;transition:color .3s ease}
.ig-link:hover{color:var(--ink)}
.ig-link svg{flex:none;display:block}



/* ===== Roadmap (journey) ===== */
.roadmap{margin-top:58px;border-top:1px solid var(--line)}
.rstage{display:grid;grid-template-columns:auto 1fr;gap:44px;padding:38px 0;
  border-bottom:1px solid var(--line);align-items:start}
.rnum{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5vw,64px);
  line-height:.9;color:var(--accent);min-width:1.6em}
.rstage-body h3{font-size:26px;margin-bottom:10px}
.rstage-body p{font-size:16px;line-height:1.6;color:var(--muted);max-width:54ch;margin-bottom:16px}
.rcomein{font-family:var(--sans);font-size:15px;color:var(--ink)}
.rlabel{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);margin-right:16px}
@media(max-width:640px){.rstage{grid-template-columns:1fr;gap:10px}.rnum{font-size:36px}}


/* ===== Who We Work With - client accordion ===== */
.clients{margin-top:52px}
.client{border-top:1px solid var(--line)}
.client:last-child{border-bottom:1px solid var(--line)}
.client>summary{list-style:none;cursor:pointer;padding:30px 0;display:flex;
  flex-wrap:wrap;align-items:baseline;gap:6px 22px;position:relative}
.client>summary::-webkit-details-marker{display:none}
.client>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.ctag{font-family:var(--serif);font-size:clamp(24px,3vw,32px);color:var(--ink);line-height:1.1}
.cintro{font-family:var(--sans);font-size:15px;color:var(--muted);flex:1 1 260px}
.cmark{margin-left:auto;width:16px;height:16px;flex:none;align-self:center;position:relative}
.cmark::before,.cmark::after{content:"";position:absolute;background:var(--accent);transition:transform .3s ease}
.cmark::before{top:7px;left:0;width:16px;height:2px}
.cmark::after{top:0;left:7px;width:2px;height:16px}
.client[open] .cmark::after{transform:scaleY(0)}
.client-body{padding:4px 0 44px}
.client-body .roadmap{margin-top:6px}
.areas-label{margin-bottom:6px}
.areas{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.areas li{padding:20px 0;border-bottom:1px solid var(--line)}
.area-name{display:block;font-family:var(--serif);font-size:21px;color:var(--ink);margin-bottom:4px}
.area-note{font-family:var(--sans);font-size:15px;color:var(--muted)}
@media(max-width:640px){.client>summary{gap:4px 0}.cintro{flex-basis:100%}}



/* ===== Brands marquee (auto-scrolling logo strip above footer) ===== */
#brand-marquee{background:#f2ece1;border-top:1px solid #d8cfbf;border-bottom:1px solid #d8cfbf;padding:34px 0 38px;overflow:hidden}
#brand-marquee .bm-eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:#6f685b;text-align:center;margin:0 0 26px}
#brand-marquee .bm-viewport{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
#brand-marquee .bm-track{display:flex;width:max-content;align-items:center;animation:bm-scroll 110s linear infinite}
#brand-marquee:hover .bm-track{animation-play-state:paused}
#brand-marquee .bm-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 42px;height:60px}
#brand-marquee .bm-logo img{height:54px;width:auto;max-width:360px;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter .3s ease,opacity .3s ease}
#brand-marquee .bm-logo img:hover{filter:none;opacity:1}
@keyframes bm-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:640px){#brand-marquee{padding:26px 0 30px}#brand-marquee .bm-logo{padding:0 26px;height:46px}#brand-marquee .bm-logo img{height:42px;max-width:240px}#brand-marquee .bm-eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){#brand-marquee .bm-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:22px 8px}#brand-marquee .bm-dup{display:none}}


/* ===== Mobile nav toggle ===== */
.navtoggle{background:none;border:0;cursor:pointer;padding:8px;width:44px;height:44px;align-items:center;justify-content:center;color:#fff}
header.nav.solid .navtoggle{color:var(--ink)}
.navtoggle svg{display:block}
@media(max-width:860px){
  .navtoggle{display:flex}
  .navlinks{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;
    background:rgba(247,244,239,.98);backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);box-shadow:0 14px 34px rgba(18,15,11,.14);
    padding:6px 0;max-height:0;overflow:hidden;opacity:0;pointer-events:none;
    transition:max-height .3s ease,opacity .25s ease}
  .navlinks.open{max-height:82vh;opacity:1;pointer-events:auto;overflow:auto}
  header.nav .navlinks a{color:var(--ink);opacity:.9;padding:13px 24px}
  .navdrop{display:block;position:static;align-items:stretch}
  .navdrop::after{display:none}
  .navdrop-top{padding:13px 24px}
  .navdrop-menu{position:static;transform:none;margin:0;display:flex;background:transparent;
    border:0;box-shadow:none;padding:0;min-width:0;backdrop-filter:none}
  .navdrop-menu a{padding:11px 24px 11px 42px;opacity:.78}
}
