:root{--con:#e9e7e1;--con2:#d9d6cd;--ink:#131417;--ink2:#2a2c31;--lime:#c8f03c;--lime-dk:#4d6a00;--steel:#5d6168;--white:#fff;--disp:"Sofia Sans Extra Condensed","Arial Narrow",sans-serif;--body:"Instrument Sans",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--body);font-size:1.03rem;line-height:1.6;color:var(--ink);background:var(--con)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--lime-dk);outline-offset:3px}
h1,h2,h3{font-family:var(--disp);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:.005em;margin:0 0 .4em}
h2{font-size:clamp(2.4rem,7vw,3.8rem)}
.wrap{width:min(1180px,100% - 36px);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:6px;z-index:999;background:var(--ink);color:var(--lime);padding:10px 14px}
.skip-link:focus{left:6px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.demo-strip{margin:0;background:var(--lime);color:var(--ink);font-size:.82rem;font-weight:600;text-align:center;padding:5px 12px}

/* header: concrete bar, wordmark left, flush lime call block on the right edge */
.hdr{position:sticky;top:0;z-index:50;background:var(--con);border-bottom:3px solid var(--ink)}
.hdr-in{display:flex;align-items:stretch;min-height:64px;padding-left:18px}
.mark{display:flex;flex-direction:column;justify-content:center;text-decoration:none;margin-right:auto;padding:6px 0}
.mark-word{font-family:var(--disp);font-weight:900;font-size:2rem;line-height:.85;text-transform:uppercase}
.mark-word b{color:var(--ink);background:linear-gradient(transparent 62%,var(--lime) 62%)}
.mark-sub{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--steel)}
.hdr-nav{display:none}
.nav-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;border-left:3px solid var(--ink);padding:0 18px;font:700 .95rem var(--body);cursor:pointer;color:var(--ink)}
.bars,.bars::before,.bars::after{display:block;width:20px;height:3px;background:var(--ink);position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-6px}.bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
.hdr-call{display:none;align-items:center;gap:8px;background:var(--lime);text-decoration:none;font-weight:700;padding:0 22px;border-left:3px solid var(--ink)}
.hdr-call span{font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.3rem}
.mobile-menu{display:none;background:var(--ink);padding:6px 18px 18px}
.mobile-menu.is-open{display:block}
.mobile-menu a{display:block;color:var(--con);text-decoration:none;font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.7rem;padding:10px 0;border-bottom:1px solid var(--ink2)}
.mobile-menu .mm-call{color:var(--lime);border:0}
@media (min-width:960px){
  .hdr-nav{display:flex;align-items:center;gap:26px;margin-right:26px}
  .hdr-nav a{text-decoration:none;font-weight:600;font-size:.95rem;padding:4px 0;border-bottom:3px solid transparent}
  .hdr-nav a:hover{border-color:var(--lime-dk)}
  .hdr-call{display:flex}
  .nav-toggle,.mobile-menu{display:none!important}
}

/* hero: type-led, photo framed with a diagonal blade cut */
.hero{display:grid;gap:26px;width:min(1180px,100% - 36px);margin:0 auto;padding:34px 0 40px}
.hero-loc{margin:0 0 10px;font-weight:700;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.hero h1{font-size:clamp(3rem,11vw,6.4rem);margin-bottom:.3em}
.hl{background:var(--ink);color:var(--lime);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero-sub{font-size:1.12rem;max-width:34rem;margin:0 0 22px}
.hero-act{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.btn-blade{display:inline-block;background:var(--ink);color:var(--lime);font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.45rem;letter-spacing:.02em;text-decoration:none;padding:12px 26px 10px;border:0;cursor:pointer;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%)}
.btn-blade:hover{background:var(--ink2)}
.btn-line{font-weight:700;text-decoration:none;border-bottom:3px solid var(--lime-dk);padding:4px 0}
.hero-pic{margin:0;position:relative}
.hero-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 82%,78% 100%,0 100%)}
.hero-pic::after{content:"";position:absolute;right:-6px;bottom:22px;width:38%;height:10px;background:var(--lime);transform:rotate(-38deg);transform-origin:right}
@media (min-width:900px){.hero{grid-template-columns:1.15fr .85fr;align-items:center;padding:56px 0 64px}}


.no-js-only{display:none}
.no-js .no-js-only{display:block}

/* get a chair: one lime slab, one path, a footnote */
.seat{background:var(--lime);color:var(--ink);padding:60px 0 48px;position:relative;overflow:hidden}
.seat::after{content:"";position:absolute;right:-60px;top:0;width:150px;height:100%;background:var(--ink);transform:skewX(-18deg);opacity:.9}
.seat-wrap{position:relative;z-index:1}
.seat-eyebrow{margin:0 0 10px;font-weight:700;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.seat h2{font-size:clamp(3rem,10vw,7.4rem);line-height:.88;margin:0 0 28px;max-width:11ch}
.seat-row{display:grid;gap:22px;align-items:center;padding:22px 0;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);max-width:880px}
.seat-copy{margin:0;max-width:34rem;font-size:1.08rem}
.seat .btn-blade{justify-self:start}
.seat-foot{margin:18px 0 0;font-size:.95rem}
.seat-foot a{color:var(--ink);font-weight:700}
@media (min-width:860px){.seat{padding:84px 0 64px}.seat-row{grid-template-columns:1fr auto;gap:40px}.seat::after{width:240px;right:-40px}}
@media (max-width:859px){.seat::after{display:none}.seat{border-top:12px solid var(--ink)}}

/* the chair: photo + quotes, film strip */
.chair{background:var(--ink);color:var(--con);padding:64px 0}
.chair-grid{display:grid;gap:30px}
.chair-big{margin:0}
.chair-big img{width:100%;aspect-ratio:3/2;object-fit:cover}
.chair-txt h2{color:var(--white)}
.pull{margin:22px 0 0;border-left:5px solid var(--lime);padding:2px 0 2px 16px}
.pull blockquote{margin:0;font-size:1.05rem}
.pull figcaption{margin-top:6px;font-size:.82rem;color:#a9adb3;letter-spacing:.04em}
.chair-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chair-strip button{padding:0;border:0;background:none;cursor:zoom-in}
.chair-strip img{width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(.2)}
@media (min-width:900px){.chair-grid{grid-template-columns:1.1fr .9fr}.chair-strip{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:end}.chair-strip img{aspect-ratio:16/10}}

/* find us */
.find{padding:64px 0;background:var(--white)}
.find-grid{display:grid;gap:36px}
address{font-style:normal;font-size:1.15rem;font-weight:600}
.big-tel{font-family:var(--disp);font-weight:900;font-size:2.4rem;text-decoration:none;border-bottom:4px solid var(--lime)}
.hrs{border-collapse:collapse;margin-top:16px;min-width:260px}
.hrs caption{text-align:left;font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:1.5rem}
.hrs th,.hrs td{text-align:left;padding:7px 16px 7px 0;border-bottom:1px solid var(--con2)}
.map{margin-top:22px;border:3px solid var(--ink)}
.map iframe{display:block;width:100%;height:280px;border:0}
.find-form{background:var(--con);padding:24px 20px;border-top:8px solid var(--ink)}
.ff-h{font-size:2.2rem}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;font:inherit;padding:11px 12px;border:2px solid var(--ink);background:var(--white);border-radius:0}
.field-error{display:none;color:#a11;font-size:.85rem;margin:4px 0 0}
.field.has-error input,.field.has-error textarea{border-color:#a11}
.field.has-error .field-error{display:block}
.form-success{display:none;padding:16px 0}
.form-success.is-visible{display:block}
@media (min-width:900px){.find-grid{grid-template-columns:1.1fr .9fr}}

.ftr{background:var(--con);border-top:3px solid var(--ink);padding:18px 0;font-size:.9rem}
.ftr-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px}
.ftr p{margin:0}

/* lightbox (main.js) */
.lightbox{position:fixed;inset:0;z-index:500;background:rgba(10,10,12,.94);display:none;align-items:center;justify-content:center;padding:56px 16px}
.lightbox.is-open{display:flex}
.lightbox img{max-height:82vh;max-width:min(1100px,100%);object-fit:contain}
.lightbox-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#ddd;font-size:.92rem}
.lightbox-btn{position:absolute;width:46px;height:46px;border:2px solid var(--lime);background:var(--ink);color:var(--lime);font-size:1.5rem;cursor:pointer}
.lightbox-close{top:12px;right:12px}.lightbox-prev{left:10px;top:50%}.lightbox-next{right:10px;top:50%}
.reveal{opacity:1}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* signature: service blades (accordion) */
.blades{padding:64px 0;background:var(--white)}
.blades-head{max-width:34rem;margin-bottom:26px}
.blades-head p{color:var(--steel);margin:0}
.blades-row{display:grid;gap:0;border:3px solid var(--ink)}
.blade{border-top:3px solid var(--ink);background:var(--con);min-width:0}
.blade:first-child{border-top:0}
.blade h3{margin:0}
.blade-btn{all:unset;box-sizing:border-box;display:flex;align-items:baseline;gap:14px;width:100%;padding:16px 18px;cursor:pointer;font-family:var(--disp);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,6vw,2.6rem);line-height:1;color:var(--ink)}
.blade-btn:focus-visible{outline:3px solid var(--lime-dk);outline-offset:-6px}
.blade-no{font-family:var(--body);font-size:.85rem;font-weight:700;letter-spacing:.1em;color:var(--lime-dk)}
.blade.is-open{background:var(--ink)}
.blade.is-open .blade-btn{color:var(--lime)}
.blade.is-open .blade-no{color:var(--con)}
.blade-body{padding:0 18px 22px;color:var(--con)}
.blade-body p{margin:0 0 16px;max-width:26rem}
.blade.is-open .btn-blade{background:var(--lime);color:var(--ink)}
@media (min-width:900px){
  .blades-row{grid-template-columns:repeat(4,minmax(0,1fr));min-height:300px}
  .blade{border-top:0;border-left:3px solid var(--ink);display:flex;flex-direction:column}
  .blade:first-child{border-left:0}
  .blades-row:has(.is-open){grid-template-columns:var(--cols,2.2fr 1fr 1fr 1fr)}
  .blade-btn{flex-direction:column;align-items:flex-start;gap:6px;padding:22px}
  .blade-body{padding:0 22px 26px;margin-top:auto}
}
