/* ============================================================
   ACQUISITION MONK — components
   ============================================================ */

/* ---------- hero ---------- */
.hero{min-height:94svh;display:flex;flex-direction:column;justify-content:center;
  padding:152px 0 56px;position:relative;overflow:hidden}
.hero-grid{position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:linear-gradient(to right,rgba(240,214,180,.032) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(240,214,180,.032) 1px,transparent 1px);
  background-size:82px 82px;
  mask-image:radial-gradient(ellipse 76% 60% at 50% 44%,#000 18%,transparent 76%);
  -webkit-mask-image:radial-gradient(ellipse 76% 60% at 50% 44%,#000 18%,transparent 76%)}

.hero-split{display:grid;grid-template-columns:1.22fr .78fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero .eyebrow{margin-bottom:28px}
.hero h1{margin-bottom:26px}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln > i{display:block;font-style:normal;transform:translateY(104%);
  animation:riseIn 1s cubic-bezier(.16,1,.3,1) forwards}
.hero h1 .ln:nth-child(1) > i{animation-delay:.1s}
.hero h1 .ln:nth-child(2) > i{animation-delay:.2s}
.hero h1 .ln:nth-child(3) > i{animation-delay:.3s}
@keyframes riseIn{to{transform:translateY(0)}}
.hero .lead{margin-bottom:34px;animation:fadeUp .9s .55s cubic-bezier(.16,1,.3,1) both}
.hero .btn-row{animation:fadeUp .9s .68s cubic-bezier(.16,1,.3,1) both}
.hero-foot{animation:fadeUp .9s .8s cubic-bezier(.16,1,.3,1) both}
.hero-photo{animation:fadeUp 1.1s .4s cubic-bezier(.16,1,.3,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* founder photo frame */
.photo-frame{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--edge)}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block}
.photo-frame::after{content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(22,18,14,.85) 0%,rgba(22,18,14,.1) 45%,transparent 70%)}
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:22px;z-index:2}
.photo-cap .t{font-family:'Instrument Serif',serif;font-size:1.22rem;line-height:1.2;color:var(--white)}
.photo-cap .s{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--amber);margin-top:8px}

.hero-foot{margin-top:clamp(44px,7vh,80px);padding-top:24px;border-top:1px solid var(--edge);
  display:flex;flex-wrap:wrap;gap:24px 44px;align-items:center}
.hero-foot .bit{font-family:'JetBrains Mono',monospace;font-size:.665rem;letter-spacing:.17em;
  text-transform:uppercase;color:var(--dust)}
.hero-foot .bit b{color:var(--amber);font-weight:500}

/* ---------- marquee ---------- */
.mq{overflow:hidden;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);
  padding:16px 0;background:var(--ink);position:relative;z-index:3}
.mq-track{display:flex;gap:48px;width:max-content;animation:slide 44s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
.mq-track span{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--dust);white-space:nowrap;display:flex;align-items:center;gap:48px}
.mq-track span::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--amber)}

/* ---------- logo wall ---------- */
.wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(30,24,19,.13);
  border:1px solid rgba(30,24,19,.13);border-radius:5px;overflow:hidden}
.wall div{background:#FFFCF7;display:flex;align-items:center;justify-content:center;
  padding:26px 22px;min-height:118px;transition:background .25s ease}
.wall div:hover{background:#fff}
.wall img{max-height:56px;width:auto;max-width:100%;object-fit:contain;
  filter:grayscale(1);opacity:.6;transition:filter .3s ease,opacity .3s ease}
.wall div:hover img{filter:grayscale(0);opacity:1}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5.5vw,84px);align-items:start}
.split-sticky{position:sticky;top:112px}

/* ---------- thesis ---------- */
.thesis{font-family:'Instrument Serif',serif;font-size:clamp(1.65rem,3.1vw,2.5rem);
  line-height:1.3;letter-spacing:-.015em;max-width:24ch}
.thesis em{font-style:italic;color:var(--amber)}
.light .thesis em{color:#9E4413}

/* ---------- brand switcher ---------- */
.switcher{--accent:#F0A03C}
.sw-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--edge);
  border-radius:5px;overflow:hidden;margin-bottom:40px}
.sw-tab{background:transparent;border:0;border-right:1px solid var(--edge);
  padding:21px 20px;text-align:left;cursor:pointer;position:relative;overflow:hidden;
  transition:background .22s ease}
.sw-tab:last-child{border-right:0}
.sw-tab::before{content:'';position:absolute;left:0;bottom:0;right:0;height:2px;
  background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.sw-tab .k{font-family:'JetBrains Mono',monospace;font-size:.61rem;letter-spacing:.19em;
  text-transform:uppercase;display:block;margin-bottom:7px;color:var(--whisper);transition:color .22s ease}
.sw-tab .t{font-size:.98rem;font-weight:500;color:var(--mist);display:block;line-height:1.3;transition:color .22s ease}
.sw-tab:hover{background:rgba(240,214,180,.045)}
.sw-tab:hover .t{color:var(--white)}
.sw-tab.on{background:rgba(240,214,180,.07)}
.sw-tab.on::before{transform:scaleX(1)}
.sw-tab.on .t{color:var(--white)}
.sw-tab.on .k{color:var(--c)}

.sw-panel{display:none}
.sw-panel.on{display:block;animation:panelIn .5s cubic-bezier(.16,1,.3,1) both}
@keyframes panelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.sw-body{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4.5vw,64px);align-items:start}
.sw-body h2{margin-bottom:18px}
.sw-body h2 .accent{color:var(--accent)}
.sw-meta{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}
.sw-nums{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--edge);
  border:1px solid var(--edge);margin-bottom:26px;border-radius:4px;overflow:hidden}
.sw-nums div{background:var(--slate);padding:23px 21px}
.sw-nums .n{font-family:'Instrument Serif',serif;font-size:2rem;line-height:1;color:var(--accent)}
.sw-nums .l{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.17em;
  text-transform:uppercase;color:var(--dust);margin-top:9px;line-height:1.5}

/* ---------- router ---------- */
.router-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:30px}
.route-opt{background:var(--slate);border:1px solid var(--edge);border-radius:5px;
  padding:25px 23px;text-align:left;cursor:pointer;
  transition:border-color .22s ease,background .22s ease,transform .22s var(--ease)}
.route-opt .q{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--whisper);display:block;margin-bottom:10px;transition:color .22s ease}
.route-opt .a{font-size:1.01rem;color:var(--mist);line-height:1.42;transition:color .22s ease;display:block}
.route-opt:hover{border-color:var(--edge-2);background:var(--stone);transform:translateY(-2px)}
.route-opt:hover .a{color:var(--white)}
.route-opt.on{border-color:var(--amber);background:rgba(240,160,60,.1)}
.route-opt.on .a{color:var(--white)}
.route-opt.on .q{color:var(--amber)}

.router-out:empty{display:none}
.route-card{border:1px solid var(--edge-2);border-radius:5px;padding:32px 30px;
  background:linear-gradient(150deg,rgba(240,160,60,.11),rgba(224,86,47,.05));
  animation:panelIn .45s cubic-bezier(.16,1,.3,1) both}
.route-card .eyebrow{margin-bottom:13px}
.route-card h3{margin-bottom:10px;font-size:1.32rem}
.route-card .body{margin-bottom:22px;max-width:56ch}

/* ---------- timeline ---------- */
.tl{list-style:none}
.tl li{display:grid;grid-template-columns:88px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--edge)}
.tl li:first-child{border-top:1px solid var(--edge)}
.tl .n{font-family:'JetBrains Mono',monospace;font-size:.67rem;letter-spacing:.16em;color:var(--amber);padding-top:5px}
.light .tl .n{color:#9E4413}
.tl h3{margin-bottom:8px}

/* ---------- feature rows ---------- */
.frow{display:grid;grid-template-columns:.34fr .66fr;gap:clamp(22px,3.5vw,56px);
  padding:34px 0;border-bottom:1px solid var(--edge);align-items:start}
.frow:first-of-type{border-top:1px solid var(--edge)}
.frow .fk{font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--dust);margin-bottom:9px}
.frow .fbody{color:var(--mist);font-size:.94rem;line-height:1.76}
.light .frow .fbody{color:var(--paper-mid)}
.light .frow .fk{color:#8A7A66}

/* ---------- quote ---------- */
.quote{border-left:2px solid var(--amber);padding:4px 0 4px 28px;
  font-family:'Instrument Serif',serif;font-size:clamp(1.3rem,2.3vw,1.8rem);
  line-height:1.4;letter-spacing:-.01em;border-radius:0}
.quote cite{display:block;font-family:'JetBrains Mono',monospace;font-size:.62rem;
  letter-spacing:.19em;text-transform:uppercase;color:var(--dust);margin-top:18px;font-style:normal}
.light .quote{border-left-color:var(--ember)}

/* ---------- video cards ---------- */
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vid{display:block;border-radius:5px;overflow:hidden;border:1px solid var(--edge);
  background:var(--slate);transition:border-color .25s ease,transform .25s var(--ease)}
.vid:hover{border-color:var(--edge-2);transform:translateY(-3px)}
.vid-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0F0C09}
.vid-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);opacity:.9}
.vid:hover .vid-thumb img{transform:scale(1.045);opacity:1}
.vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.vid-play i{width:48px;height:48px;border-radius:50%;background:rgba(22,18,14,.72);
  backdrop-filter:blur(6px);border:1px solid rgba(240,214,180,.3);
  display:flex;align-items:center;justify-content:center;transition:background .25s ease,border-color .25s ease}
.vid-play i::after{content:'';width:0;height:0;border-left:12px solid var(--white);
  border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;margin-left:3px}
.vid:hover .vid-play i{background:var(--amber);border-color:var(--amber)}
.vid:hover .vid-play i::after{border-left-color:#1A1309}
.vid-meta{padding:18px 20px 20px}
.vid-meta .t{font-size:.94rem;font-weight:500;line-height:1.4;color:var(--white);margin-bottom:8px}
.vid-meta .s{font-family:'JetBrains Mono',monospace;font-size:.59rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--dust)}

/* ---------- form ---------- */
.form{display:flex;flex-direction:column;gap:20px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-family:'JetBrains Mono',monospace;font-size:.61rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--dust)}
.field input,.field textarea,.field select{background:var(--slate);border:1px solid var(--edge);
  border-radius:3px;padding:14px 15px;color:var(--white);font-family:'Inter',sans-serif;
  font-size:.93rem;font-weight:300;transition:border-color .2s ease,background .2s ease}
.field textarea{resize:vertical;min-height:128px}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--amber);background:var(--stone)}
.field input::placeholder,.field textarea::placeholder{color:var(--whisper)}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238E7F6E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center}
.field select option{background:#221C16;color:#FBF6EE}
.form-msg{font-size:.85rem;color:var(--dust);min-height:1.3em}
.form-msg.ok{color:var(--amber)}

/* ---------- contact options ---------- */
.opts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.opts.two{grid-template-columns:repeat(2,1fr)}
.opt{--oc:var(--amber);display:flex;flex-direction:column;min-height:100%;
  border:1px solid var(--edge);border-radius:6px;padding:30px 28px;background:var(--slate);
  position:relative;overflow:hidden;
  transition:border-color .22s ease,background .22s ease,transform .22s var(--ease)}
.opt::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--oc);
  transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease)}
.opt:hover{border-color:var(--edge-2);background:var(--stone);transform:translateY(-3px)}
.opt:hover::before{transform:scaleX(1)}
.opt .kicker{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--oc);margin-bottom:16px}
.opt h3{margin-bottom:10px;font-size:1.16rem}
.opt p{color:var(--mist);font-size:.91rem;line-height:1.7;margin-bottom:22px}
.opt .go{margin-top:auto;display:inline-flex;align-items:center;gap:9px;
  font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--white);transition:gap .22s ease}
.opt:hover .go{gap:14px;color:var(--oc)}
.opt .go svg{transition:transform .22s ease}
.opt:hover .go svg{transform:translateX(2px)}
.light .opt{background:#FFFCF7;border-color:rgba(30,24,19,.11)}
.light .opt:hover{background:#fff;border-color:rgba(30,24,19,.22)}
.light .opt h3{color:var(--paper-ink)}
.light .opt p{color:var(--paper-mid)}
.light .opt .go{color:var(--paper-ink)}

/* ---------- contact tiles ---------- */
.ctile{border:1px solid var(--edge);border-radius:5px;padding:26px 24px;display:block;
  background:var(--slate);transition:border-color .22s ease,background .22s ease}
.ctile:hover{border-color:var(--edge-2);background:var(--stone)}
.ctile .k{font-family:'JetBrains Mono',monospace;font-size:.59rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--whisper);margin-bottom:11px}
.ctile .v{font-size:.97rem;color:var(--white);word-break:break-word}

/* ---------- CTA band ---------- */
.band{border:1px solid var(--edge-2);border-radius:6px;padding:clamp(42px,6.5vw,76px);
  background:linear-gradient(148deg,rgba(240,160,60,.13),rgba(224,86,47,.06) 58%,rgba(240,214,180,.02));
  position:relative;overflow:hidden;text-align:center}
.band h2{max-width:20ch;margin:0 auto 20px}
.band .lead{margin:0 auto 30px;max-width:56ch}
.band .btn-row{justify-content:center}
.light .band{border-color:rgba(30,24,19,.18);
  background:linear-gradient(148deg,rgba(224,86,47,.09),rgba(240,160,60,.07))}

/* ---------- pull quote block ---------- */
.pull{background:var(--slate);border-left:3px solid var(--amber);padding:30px 32px;border-radius:0 5px 5px 0}
.pull p{font-family:'Instrument Serif',serif;font-size:1.42rem;line-height:1.36;letter-spacing:-.01em}
.pull .who{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--dust);margin-top:16px}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .split,.hero-split{grid-template-columns:1fr}
  .split-sticky{position:static}
  .sw-body{grid-template-columns:1fr}
  .sw-tabs{grid-template-columns:repeat(2,1fr)}
  .sw-tab:nth-child(2){border-right:0}
  .sw-tab:nth-child(1),.sw-tab:nth-child(2){border-bottom:1px solid var(--edge)}
  .router-opts{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr;gap:12px}
  .vids{grid-template-columns:repeat(2,1fr)}
  .wall{grid-template-columns:repeat(3,1fr)}
  .hero-photo{max-width:440px;margin-top:20px}
}
@media(max-width:1000px){
  .opts,.opts.two{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .opts,.opts.two{grid-template-columns:1fr}
  .sw-tabs{grid-template-columns:1fr}
  .sw-tab{border-right:0;border-bottom:1px solid var(--edge)}
  .sw-tab:last-child{border-bottom:0}
  .sw-nums{grid-template-columns:1fr}
  .tl li{grid-template-columns:1fr;gap:9px}
  .hero{min-height:auto;padding:118px 0 64px}
  .vids,.wall{grid-template-columns:1fr 1fr}
  .quote{padding-left:20px}
  .pull{padding:24px 22px}
  .pull p{font-size:1.2rem}
}
