/* ============================================================
   SHYINE, PLLC — Wireframe and Prototype Desk
   Dark studio-dusk system with quiet-teal accent
   ============================================================ */

:root{
  --studio-dusk:#12171B;
  --canvas-panel:#1A2126;
  --desk-deep:#212A30;
  --deeper-dusk:#0C1013;
  --paper-pale:#F2F6F4;
  --mist-text:#C6CFCC;
  --pencil-graphite:#8B949A;
  --quiet-teal:#4E9C96;
  --flare-coral:#D97757;
  --grid-blue:#5A7A9C;
  --hairline:#2A343B;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:16px;                     /* literal 16px, required */
  line-height:1.7;
  color:var(--mist-text);
  background-color:var(--studio-dusk);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

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

p{margin:0 0 1rem;color:var(--mist-text);}

a{color:var(--quiet-teal);text-decoration:none;}

h1,h2,h3,h4{color:var(--paper-pale);font-weight:600;}

/* ---------- Ruler strip shared pieces ---------- */
.ruler-band{position:relative;height:36px;overflow:hidden;}

/* ============================================================
   ARTBOARD-RAIL NAV — sticky top only
   ============================================================ */
.artboard-nav{
  background-color:var(--canvas-panel);
  border-bottom:1px solid var(--hairline);
  position:sticky;
  top:0;
  z-index:50;
}
.ruler-strip{
  height:26px;
  background-color:var(--studio-dusk);
  border-bottom:1px solid var(--hairline);
  position:relative;
  overflow:hidden;
}
.ruler-top{
  height:4px;
  background-color:var(--desk-deep);
}
.tick-row{position:absolute;top:6px;left:0;right:0;height:9px;}
.tick{
  position:absolute;top:0;width:1px;background-color:var(--grid-blue);opacity:.8;
}
.measure-chip{
  position:absolute;right:14px;top:2px;
  background-color:var(--quiet-teal);
  color:var(--studio-dusk);
  font-size:9px;letter-spacing:.3em;
  padding:1px 7px;border-radius:3px;
  font-weight:700;
}
.margin-line-left{position:absolute;left:48px;top:3px;bottom:0;width:1px;background-color:var(--grid-blue);opacity:.5;}
.margin-line-right{position:absolute;right:48px;top:3px;bottom:0;width:1px;background-color:var(--grid-blue);opacity:.5;}

.nav-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1280px;
  margin:0 auto;
  padding:16px 24px;
  position:relative;
  z-index:2;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:21px;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--paper-pale);
  text-transform:uppercase;
}
.pen-glyph{
  width:16px;height:16px;
  background-color:var(--quiet-teal);
  clip-path:polygon(0 0,40% 0,100% 60%,60% 100%,0 60%);
  position:relative;
}
.pen-glyph::after{
  content:"";
  position:absolute;left:23%;top:23%;
  width:5px;height:5px;
  background-color:var(--studio-dusk);
}
.nav-links{
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
}
.nav-links li{display:flex;align-items:center;}
.nav-links li::after{
  content:"";
  width:4px;height:4px;border-radius:50%;
  background-color:var(--flare-coral);
  margin:0 16px;
}
.nav-links li:last-child::after{content:none;}
.nav-links a{
  color:var(--mist-text);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  padding:6px 0 4px;
  border-bottom:2px solid transparent;
  transition:color .2s,border-color .2s;
}
.nav-links a:hover{
  color:var(--quiet-teal);
  border-bottom-color:var(--quiet-teal);
}

/* Mobile nav */
.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:6px;
}
.nav-toggle span{
  width:24px;height:2px;
  background-color:var(--paper-pale);
}

@media(max-width:820px){
  .ruler-strip{height:22px;}
  .nav-toggle{
    display:flex;
    margin-left:auto;
  }
  .nav-links{
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    width:100%;
    background-color:var(--desk-deep);
    padding:10px 20px 18px;
    border-top:1px solid var(--hairline);
  }
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;padding:8px 0;}
  .nav-links li::after{content:none;}
  .nav-links a{
    font-size:14px;
    display:block;
    width:100%;
    border-bottom:1px solid var(--hairline);
    padding-bottom:10px;
  }
  .nav-row{flex-wrap:wrap;padding:14px 20px;}
  .brand{font-size:18px;}
}

/* ============================================================
   HERO — PROTOTYPE-DESK HERO (asymmetric)
   ============================================================ */
.protodesk-hero{
  position:relative;
  background-color:var(--studio-dusk);
  overflow:hidden;
}
.hero-inner{
  max-width:1280px;
  margin:0 auto;
  padding:80px 24px 110px;
  display:grid;
  grid-template-columns:55% 45%;
  gap:40px;
  align-items:center;
}
.hero-copy{max-width:620px;}
.eyebrow-chip{
  display:inline-block;
  background-color:var(--quiet-teal);
  color:var(--studio-dusk);
  font-size:11px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
  padding:6px 14px;
  margin-bottom:26px;
}
.hero-copy h1{
  font-size:54px;
  line-height:1.05;
  letter-spacing:-.01em;
  margin-bottom:24px;
  font-weight:700;
}
.hero-copy h1 .teal{color:var(--quiet-teal);}
.hero-copy h1 .coral{color:var(--flare-coral);}
.hero-sub{
  font-size:18px;
  color:var(--pencil-graphite);
  line-height:1.8;
  margin-bottom:34px;
  max-width:560px;
}
.hero-sub strong{color:var(--mist-text);font-weight:600;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.btn{
  display:inline-block;
  font-weight:600;
  font-size:14px;
  letter-spacing:.06em;
  padding:14px 26px;
  transition:transform .15s,box-shadow .2s,background-color .2s,color .2s;
}
.btn-teal{
  background-color:var(--quiet-teal);
  color:var(--studio-dusk);
}
.btn-teal:hover{background-color:#5db1ab;transform:translateY(-2px);}
.btn-coral-outline{
  background:none;
  color:var(--flare-coral);
  border:1px solid var(--flare-coral);
}
.btn-coral-outline:hover{background-color:var(--flare-coral);color:var(--studio-dusk);}

@media(max-width:980px){
  .hero-inner{grid-template-columns:1fr;padding:60px 24px 80px;}
  .hero-copy h1{font-size:40px;}
}

/* ---------- Prototype desk graphic ---------- */
.protodesk-stage{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.protodesk-artboard{
  position:relative;
  width:100%;
  max-width:560px;
  aspect-ratio:1/1.15;
  background-color:#E9EDEA;
  border-radius:4px;
  padding:28px;
  box-shadow:0 30px 60px #05080A;
}
@media(max-width:980px){.protodesk-artboard{background-color:#E9EDEA;}}

.desk-guide-v{position:absolute;top:8%;bottom:8%;width:1px;background-color:#3F5F80;}
.desk-guide-h{position:absolute;left:6%;right:6%;height:1px;background-color:#3F5F80;}

.phone-frame{
  position:relative;
  width:44%;
  aspect-ratio:9/17;
  background-color:#FFFFFF;
  border-radius:14px;
  border:6px solid #2A343B;
  overflow:hidden;
  box-shadow:0 14px 30px #06090B;
  top:6%;
  left:6%;
}
.phone-frame .notch{
  position:absolute;
  top:0;left:26%;
  width:48%;height:12px;
  background-color:#2A343B;
  border-radius:0 0 8px 8px;
  z-index:2;
}
.phone-screen{
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background-color:#F4F6F5;
  padding:26px 12px 12px;
}
.screen-header{background-color:#C6CFCC;height:14px;border-radius:3px;margin-bottom:14px;}
.screen-hero-block{
  background-color:#AEB8B4;height:88px;border-radius:4px;
  position:relative;margin-bottom:12px;
}
.screen-hero-block::before,.screen-hero-block::after{
  content:"";
  position:absolute;top:50%;left:0;right:0;height:2px;background-color:#5A7A9C;
}
.screen-hero-block::before{transform:rotate(-45deg);}
.screen-hero-block::after{transform:rotate(45deg);}
.screen-line{background-color:#C6CFCC;height:6px;border-radius:3px;margin-bottom:8px;}
.screen-line.short{width:70%;}
.screen-btn{background-color:var(--quiet-teal);height:20px;border-radius:4px;margin-top:12px;margin-bottom:20px;}

.tablet-frame{
  position:absolute;
  bottom:18%;
  right:8%;
  width:40%;
  aspect-ratio:3/4;
  background-color:#FFFFFF;
  border-radius:10px;
  border:5px solid #2A343B;
  padding:10px;
}
.tablet-cols{display:flex;gap:6px;height:100%;}
.tablet-col{width:50%;background-color:#D9DFDC;border-radius:3px;}
.tablet-col .row{background-color:#C6CFCC;height:10px;margin:2px;border-radius:2px;}

/* pen tool path */
.pen-tool-path{
  position:absolute;
  top:-4%;right:-2%;
  width:60%;height:42%;
  pointer-events:none;
}
.anchor-point{
  position:absolute;width:9px;height:9px;
  background-color:#FFFFFF;
  border:3px solid var(--quiet-teal);
}
.anchor-point::after{
  content:"";position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:3px;height:3px;background-color:var(--flare-coral);border-radius:50%;
}
.ap1{top:14%;left:8%;}
.ap2{top:60%;left:70%;}
.ap3{top:78%;left:30%;}
.anchor-handle{position:absolute;background-color:var(--quiet-teal);height:1px;transform-origin:left;}

/* sticky annotations with arrows */
.annotation{
  position:absolute;
  background-color:var(--flare-coral);
  color:#1A1513;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  padding:6px 9px;
  border-radius:3px;
  z-index:5;
  line-height:1.4;
  box-shadow:0 6px 14px #05080A;
}
.annotation::after{
  content:"";
  position:absolute;
  width:0;height:0;
  border:5px solid transparent;
}
.ann-1{top:1%;left:2%;}
.ann-1::after{top:100%;left:30px;border-top-color:var(--flare-coral);}
.ann-2{top:38%;right:-6%;}
.ann-2::after{top:6px;right:100%;border-right-color:var(--flare-coral);}
.ann-3{bottom:-10px;left:30%;}
.ann-3::after{bottom:100%;right:20px;border-bottom-color:var(--flare-coral);}

.pen-nib{
  position:absolute;
  bottom:0;left:6%;
  width:46px;height:20px;
  background-color:var(--quiet-teal);
  clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);
  opacity:.9;
}
.pen-nib::after{
  content:"";
  position:absolute;left:50%;bottom:2px;
  width:3px;height:6px;background-color:var(--studio-dusk);
}

.component-sheet{
  position:absolute;
  right:-6px;top:2%;
  width:150px;
  background-color:#FFFFFF;
  padding:12px;
  border-radius:4px;
  box-shadow:0 16px 34px #07090B;
  z-index:4;
}
.component-sheet h6{
  font-size:8px;letter-spacing:.2em;color:#6B746F;
  text-transform:uppercase;margin-bottom:8px;border-bottom:1px solid #E0E4E1;padding-bottom:4px;
}
.csbtn-l,.csbtn-s{background-color:var(--quiet-teal);border-radius:3px;margin-bottom:5px;}
.csbtn-l{height:16px;width:100%;}
.csbtn-s{height:11px;width:56%;}
.csrow{display:flex;align-items:center;gap:6px;margin:4px 0;}
.csbox{width:10px;height:10px;border:2px solid var(--quiet-teal);border-radius:2px;}
.csbox.checked{background-color:var(--quiet-teal);}
.csdot{width:10px;height:10px;border:2px solid var(--quiet-teal);border-radius:50%;}
.cstrack{width:22px;height:9px;background-color:#CDD4D0;border-radius:5px;position:relative;}
.cstrack::after{content:"";position:absolute;left:55%;top:0;width:9px;height:9px;background-color:var(--quiet-teal);border-radius:50%;}
.cslabel{font-size:7px;color:#6B746F;}

.flow-diagram{
  position:absolute;
  bottom:4%;right:4%;
  left:40%;
}
.flow-col{display:flex;align-items:center;gap:6px;}
.flow-node{
  background-color:#FFFFFF;
  border:1.5px solid var(--quiet-teal);
  border-radius:2px;
  height:26px;flex:1;
  position:relative;
}
.flow-node::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:12px;height:4px;background-color:#C6CFCC;border-radius:2px;}
.flow-arrow{color:var(--quiet-teal);font-weight:700;font-size:11px;}

.usability-card{
  position:absolute;
  bottom:-2px;left:4%;
  width:180px;
  background-color:#F4EAD9;
  border-radius:4px;
  padding:12px;
  box-shadow:0 16px 30px #05080A;
  z-index:4;
}
.usability-card h6{
  font-size:8px;letter-spacing:.18em;color:#5C5344;
  text-transform:uppercase;margin-bottom:8px;
  border-bottom:1px solid #D8CDB8;padding-bottom:5px;
}
.utest-row{display:flex;align-items:center;gap:6px;margin:5px 0;font-size:8px;color:#574B37;}
.utest-box{width:9px;height:9px;border:1.5px solid #7C6B4C;border-radius:1px;flex-shrink:0;}
.utest-box.checked{background-color:var(--flare-coral);border-color:var(--flare-coral);}

.cursor-arrow{
  position:absolute;
  top:8%;right:12%;
  width:0;height:0;
  border-left:14px solid var(--paper-pale);
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
  transform:rotate(-30deg);
  filter:drop-shadow(0 3px 4px #05080A);
  z-index:6;
  pointer-events:none;
}

.pencil-figure{
  position:absolute;
  bottom:16%;left:16%;
  width:90px;height:12px;
  background-color:var(--quiet-teal);
  transform:rotate(-18deg);
  border-left:10px solid #2A343B;
  clip-path:polygon(0 100%,70% 100%,100% 50%,100% 50%,70% 0,0 0);
}
.pencil-tip{position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:14px;height:14px;background-color:#E9CFB0;}
@media(max-width:720px){
  .protodesk-stage{min-height:440px;overflow:hidden;}
}

/* ============================================================
   FLOW-FRAME ROWS
   ============================================================ */
.flowrows{
  background-color:var(--studio-dusk);
  padding:90px 24px;
  max-width:none;
}
.flowrows-wrap{max-width:1120px;margin:0 auto;}
.section-head-label{
  font-size:12px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--quiet-teal);
  display:block;margin-bottom:10px;
}
.flowrows h2, .ctaband h2, .statement-band h2{
  font-size:38px;line-height:1.15;
  margin-bottom:14px;
}
.flowrows .lead-kicker, .ctaband .lead-kicker{
  color:var(--pencil-graphite);
  max-width:640px;margin-bottom:40px;
}
.flow-list{display:flex;flex-direction:column;gap:12px;}
.flow-row{
  display:flex;
  align-items:center;
  gap:34px;
  background-color:var(--canvas-panel);
  border:1px solid var(--hairline);
  padding:34px 36px;
  transition:border-color .2s,transform .2s;
}
.flow-row:hover{border-color:var(--quiet-teal);transform:none;}
.row-num{
  font-size:30px;font-weight:700;color:var(--quiet-teal);
  flex-shrink:0;line-height:1;letter-spacing:-.02em;
}
.frame-chip-ic{
  width:14px;height:12px;
  margin-top:8px;
  border:2px solid var(--flare-coral);
  background-color:#0C1013;
  position:relative;
  border-radius:1px;
}
.flow-body{flex:1;min-width:0;}
.flow-body h3{font-size:22px;margin-bottom:10px;color:var(--paper-pale);}
.flow-body p{color:var(--pencil-graphite);margin:0;font-size:15px;}
.pass-chip{
  flex-shrink:0;
  padding:10px 14px;
  border:1px solid var(--hairline);
  background-color:var(--desk-deep);
  text-align:center;
  font-family:"Courier New",monospace;
}
.pass-chip .pval{color:var(--quiet-teal);font-size:20px;font-weight:700;line-height:1;white-space:nowrap;}
.pass-chip .plab{color:var(--mist-text);font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:5px;}

@media(max-width:820px){
  .flow-row{flex-direction:column;align-items:flex-start;gap:16px;padding:26px;}
  .row-num{order:-1;}
  .pass-chip{align-self:flex-start;}
}

/* ============================================================
   USABILITY METRIC BAND
   ============================================================ */
.metric-band{
  background-color:var(--desk-deep);
  padding:54px 24px;
}
.metric-grid{
  max-width:1120px;margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  text-align:center;
}
.metric{
  position:relative;
  padding:6px 24px;
}
.metric:not(:last-child)::after{
  content:"";
  position:absolute;right:0;top:8%;bottom:8%;
  width:1px;
  background-color:var(--flare-coral);
  opacity:.5;
}
.metric .num{
  font-size:52px;font-weight:700;color:var(--quiet-teal);
  line-height:1;
  font-family:"Segoe UI",Helvetica,sans-serif;
}
.metric .lbl{
  display:block;margin-top:10px;
  color:var(--mist-text);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
}
@media(max-width:820px){
  .metric-grid{grid-template-columns:1fr 1fr;gap:0;}
  .metric{max-width:100%;}
  .metric .num{font-size:40px;}
}
@media(max-width:540px){
  .metric-grid{grid-template-columns:1fr;gap:30px;}
}

/* ============================================================
   STATEMENT BAND
   ============================================================ */
.statement-band{
  background-color:var(--canvas-panel);
  padding:90px 24px;
}
.statement-inner{
  max-width:1120px;margin:0 auto;
}
.statement-block{
  border-left:4px solid var(--flare-coral);
  padding-left:40px;
  max-width:880px;
}
.statement-block .label-dash{
  color:var(--quiet-teal);
  font-size:12px;letter-spacing:.3em;text-transform:uppercase;
  display:block;margin-bottom:18px;
}
.statement-block p.speak{
  color:var(--paper-pale);
  font-size:26px;
  line-height:1.6;
  font-weight:400;
  margin-bottom:24px;
}
.statement-sign{
  color:var(--pencil-graphite);
  font-size:14px;letter-spacing:.12em;text-transform:uppercase;
}
.statement-sign strong{color:var(--quiet-teal);font-weight:600;}

/* ============================================================
   CTA BAND
   ============================================================ */
.ctaband{
  background-color:var(--studio-dusk);
  padding:100px 24px 120px;
  position:relative;
}
.cta-inner{
  max-width:820px;margin:0 auto;text-align:center;
}
.ctaband h2{font-size:42px;}
.ctaband .lead-kicker{font-size:18px;color:var(--pencil-graphite);line-height:1.8;margin:0 auto 36px;max-width:640px;}
.cta-inner .btn{font-size:15px;padding:16px 34px;}

/* ============================================================
   FOOTER — ANNOTATION-DESK FOOTER
   ============================================================ */
.annotdesk-footer{
  background-color:var(--deeper-dusk);
  position:relative;
  z-index:1;
}
.margin-guide-strip{
  position:relative;
  height:26px;
  border-top:1px solid var(--hairline);
  overflow:hidden;
}
.flags{position:absolute;top:0;right:12px;bottom:0;width:1px;background-color:var(--grid-blue);opacity:.4;}
.fl-flag{
  position:absolute;
  right:1px;
  background-color:var(--flare-coral);
  width:8px;height:3px;
}
.footer-center{
  text-align:center;
  padding:64px 24px 46px;
  max-width:1120px;
  margin:0 auto;
}
.footer-pen-glyph{
  width:22px;height:22px;
  margin:0 auto 12px;
  background-color:var(--quiet-teal);
  clip-path:polygon(0 0,45% 0,100% 55%,55% 100%,0 55%);
}
.footer-wordmark{
  font-size:26px;
  letter-spacing:.26em;
  color:var(--paper-pale);
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:26px;
  display:block;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:0 30px;
  list-style:none;
  margin-bottom:30px;
}
.footer-links li{position:relative;padding:4px 0;}
.footer-links a{
  color:var(--mist-text);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.footer-links a:hover{color:var(--quiet-teal);}
.pen-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-bottom:26px;
}
.pen-divider .ddot{width:6px;height:6px;border-radius:50%;background-color:var(--quiet-teal);}
.pen-divider .dnib{
  width:20px;height:14px;
  background-color:var(--paper-pale);
  clip-path:polygon(0 0,100% 0,100% 70%,35% 100%,0 70%);
  position:relative;
}
.pen-divider .dnib::after{
  content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);
  width:4px;height:4px;background-color:var(--flare-coral);
}
.footer-legal{
  color:var(--pencil-graphite);
  font-size:13px;
  letter-spacing:.02em;
  line-height:2;
}
.footer-legal a{color:var(--mist-text);}
.footer-legal a:hover{color:var(--quiet-teal);}

/* ============================================================
   SHARED inner-page bits (services/contact use artboard nav)
   ============================================================ */
.inner-kingboard{
  max-width:1080px;
  margin:0 auto;
  padding:70px 24px 40px;
}
.page-kicker{
  color:var(--quiet-teal);
  font-size:12px;letter-spacing:.28em;
  text-transform:uppercase;
  display:block;margin-bottom:12px;
}
.page-title{font-size:48px;line-height:1.08;margin-bottom:18px;color:var(--paper-pale);}
.page-lede{font-size:18px;color:var(--pencil-graphite);max-width:760px;line-height:1.8;}

.svc-detail{border-top:1px solid var(--hairline);margin-top:14px;}
.svc-split{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:60px;
  padding:64px 24px;
  border-bottom:1px solid var(--hairline);
}
.svc-num{color:var(--quiet-teal);font-family:"Courier New",monospace;font-size:14px;display:block;margin-bottom:14px;}
.svc-split h3{font-size:30px;margin-bottom:18px;color:var(--paper-pale);line-height:1.2;}
.svc-split p{color:var(--pencil-graphite);margin-bottom:14px;line-height:1.85;}
.svc-split ul{margin:0;padding-left:0;list-style:none;}
.svc-split ul li{
  color:var(--mist-text);
  padding:10px 0 10px 26px;
  border-bottom:1px solid var(--hairline);
  position:relative;
  font-size:15px;
}
.svc-split ul li:last-child{border-bottom:none;}
.svc-split ul li::before{
  content:"";
  position:absolute;left:4px;top:17px;
  width:7px;height:7px;border-radius:1px;
  background-color:var(--flare-coral);
}
@media(max-width:820px){
  .svc-split{grid-template-columns:1fr;gap:30px;padding:44px 20px;}
  .page-title{font-size:36px;}
}

.process-band{background-color:var(--canvas-panel);padding:80px 24px;}
.process-inner{max-width:980px;margin:0 auto;}
.process-inner h3{font-size:34px;color:var(--paper-pale);margin-bottom:14px;}
.process-inner .kick{color:var(--quiet-teal);letter-spacing:.26em;font-size:12px;text-transform:uppercase;display:block;margin-bottom:10px;}
.process-list{counter-reset:step;margin-top:40px;}
.process-step{
  display:flex;gap:26px;align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--hairline);
}
.process-step:last-child{border-bottom:none;}
.process-step .stepno{
  counter-increment:step;
  flex-shrink:0;
  width:54px;height:54px;
  border:1px solid var(--quiet-teal);
  color:var(--quiet-teal);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:700;
  border-radius:2px;
  background-color:transparent;
}
.process-step .steptxt h4{color:var(--paper-pale);font-size:20px;margin-bottom:8px;}
.process-step .steptxt p{color:var(--pencil-graphite);margin:0;}

/* ---------- Contact ---------- */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:60px;
  align-items:start;
  padding:30px 0 90px;
}
@media(max-width:840px){.contact-grid{grid-template-columns:1fr;gap:40px;}}

.contact-panel{
  background-color:var(--canvas-panel);
  border:1px solid var(--hairline);
  padding:36px;
}
.contact-panel h3{color:var(--paper-pale);font-size:24px;margin-bottom:20px;}
.form-row{margin-bottom:22px;}
.form-row label{
  display:block;
  color:var(--mist-text);
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:8px;
}
.form-row input,.form-row textarea,.form-row select{
  width:100%;
  background-color:var(--studio-dusk);
  border:1px solid var(--hairline);
  color:var(--paper-pale);
  font-size:16px;
  font-family:inherit;
  padding:13px 16px;
  transition:border-color .2s;
}
.form-row input:focus,.form-row textarea:focus{
  outline:none;
  border-color:var(--quiet-teal);
}
.form-row textarea{min-height:150px;resize:vertical;}
.form-hint{color:var(--pencil-graphite);font-size:13px;margin-top:14px;line-height:1.6;}
.form-status{color:var(--quiet-teal);font-size:14px;margin-top:14px;min-height:20px;}

.info-card{border-left:3px solid var(--quiet-teal);padding:6px 0 6px 26px;margin-bottom:26px;}
.info-card h4{color:var(--paper-pale);font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;}
.info-card p{color:var(--mist-text);margin:0;font-size:16px;}
.info-card a{color:var(--quiet-teal);}
.hours-table{width:100%;border-collapse:collapse;}
.hours-table td{
  padding:9px 0;
  border-bottom:1px solid var(--hairline);
  color:var(--mist-text);
  font-size:15px;
}
.hours-table td:last-child{text-align:right;color:var(--quiet-teal);}
.hours-table tr:last-child td{border-bottom:none;}
.mini-faq{margin-top:44px;}
.mini-faq h3{font-size:24px;color:var(--paper-pale);margin-bottom:6px;}
.mini-faq .kick{color:var(--quiet-teal);font-size:12px;letter-spacing:.24em;text-transform:uppercase;display:block;margin-bottom:20px;}
.faq-item{
  border:1px solid var(--hairline);
  background-color:var(--canvas-panel);
  margin-bottom:12px;
}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;
  text-align:left;
  background:none;border:none;
  color:var(--paper-pale);
  font-size:17px;
  font-weight:600;
  padding:20px 24px;
  cursor:pointer;
  font-family:inherit;
}
.faq-q .fq-ic{color:var(--quiet-teal);font-weight:700;font-size:20px;transition:transform .25s;}
.faq-item.open .fq-ic{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-a p{padding:0 24px 22px;color:var(--pencil-graphite);margin:0;font-size:15px;}

/* ---------- reveal-on-scroll (safe fallback) ---------- */
.fade-up{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease;
}
.fade-up.visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .fade-up{opacity:1;transform:none;transition:none;}
}

/* count number counters handled by js tokens */

.map-frame{
  background-color:var(--desk-deep);
  border:1px solid var(--hairline);
  margin-top:44px;
}
.map-topline{height:12px;background-color:var(--quiet-teal);}
.map-inner{display:flex;align-items:center;gap:26px;padding:30px;flex-wrap:wrap;}
.map-marker{
  flex-shrink:0;width:54px;height:54px;
  border:2px solid var(--flare-coral);
  display:flex;align-items:center;justify-content:center;
  color:var(--flare-coral);
  font-size:26px;
  border-radius:50% 50% 50% 0;
}
.pin-pulse-note{color:var(--mist-text);font-size:24px;}
.map-desc *{margin-bottom:0;}
.map-desc p{color:var(--pencil-graphite);}
.map-desc strong{color:var(--paper-pale);}
