/* ============================================================
   ETCHD Design System
   Bold. Premium. Editorial. Cinematic. Minimal. Confident.
   ============================================================ */

:root{
  --etchd-black:#0B0B0B;
  --etchd-bone:#E8E3DC;
  --etchd-crimson:#C1121F;
  --etchd-crimson-text:#E63946; /* WCAG AA-safe (4.7:1 on #0B0B0B) for small crimson text; brand #C1121F stays for backgrounds/buttons/dividers */
  --etchd-accent-line:#2b6f94; /* accent color for decorative lines/dashes/dividers (not buttons, not text labels) */
  --etchd-steel:#2F3E46;
  --etchd-grey:#7A7A7A;
  --etchd-max:1320px;
  --etchd-gutter:clamp(24px, 5vw, 64px);
  --etchd-ease:cubic-bezier(.16,.84,.44,1);
}



body{
  background:var(--etchd-black) !important;
  color:var(--etchd-bone);
  font-family:'Satoshi', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.admin-bar .etchd-hero{min-height:calc(100vh - 32px);}

:where(.etchd-section, body) h1,
:where(.etchd-section, body) h2,
:where(.etchd-section, body) h3,
:where(.etchd-section, body) h4{
  font-family:'Satoshi', sans-serif;
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:1.02;
  color:var(--etchd-bone);
  text-transform:none;
}

:where(.etchd-section, body) p{
  color:var(--etchd-bone);
  font-weight:400;
}

.etchd-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  font-size:13px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--etchd-crimson-text);
  margin-bottom:1.4em;
}
.etchd-eyebrow::before{
  content:'';
  width:28px;
  height:2px;
  background:var(--etchd-accent-line);
  display:inline-block;
}

.etchd-section{
  padding-top:clamp(64px, 11vw, 160px);
  padding-bottom:clamp(64px, 11vw, 160px);
  position:relative;
}
.etchd-section-tight{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(48px,7vw,96px);}
.etchd-inner{
  max-width:var(--etchd-max);
  margin:0 auto;
  padding-left:var(--etchd-gutter);
  padding-right:var(--etchd-gutter);
}
.etchd-border-top{border-top:1px solid rgba(232,227,220,0.12);}

.wp-block-button.etchd-btn-primary .wp-block-button__link{
  background:var(--etchd-crimson) !important;
  color:var(--etchd-bone) !important;
  border-radius:2px;
  padding:1.15em 2.2em;
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  text-transform:none;
  border:1px solid var(--etchd-crimson);
  transition:transform .45s var(--etchd-ease), background .3s ease, border-color .3s ease;
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.wp-block-button.etchd-btn-primary .wp-block-button__link:hover{
  background:transparent !important;
  border-color:var(--etchd-bone);
  color:var(--etchd-bone) !important;
  transform:translate3d(0,-3px,0);
}
.wp-block-button.etchd-btn-secondary .wp-block-button__link{
  background:transparent !important;
  color:var(--etchd-bone) !important;
  border:1px solid rgba(232,227,220,0.45);
  border-radius:2px;
  padding:1.1em 2.2em;
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  transition:transform .45s var(--etchd-ease), border-color .3s ease, background .3s ease;
}
.wp-block-button.etchd-btn-secondary .wp-block-button__link:hover{
  border-color:var(--etchd-bone);
  background:rgba(232,227,220,0.06) !important;
  transform:translate3d(0,-3px,0);
}
.wp-block-buttons.etchd-btn-row{gap:18px;}

.etchd-reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:opacity .9s var(--etchd-ease), transform .9s var(--etchd-ease);
  transition-delay:var(--etchd-delay, 0s);
  will-change:opacity, transform;
}
.etchd-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
@media (prefers-reduced-motion: reduce){
  .etchd-reveal{opacity:1;transform:none;transition:none;}
  .etchd-hero-bg img{animation:none !important;}
}

.etchd-hero{
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden;
  background:var(--etchd-black);
}
.etchd-hero .wp-block-cover__image-background,
.etchd-hero-bg img{
  animation:etchd-kenburns 22s ease-in-out infinite alternate;
  filter:contrast(1.05) brightness(.95) saturate(1.1);
}
@keyframes etchd-kenburns{
  0%{transform:scale(1.0) translate3d(0,0,0);}
  100%{transform:scale(1.12) translate3d(-1%,-1%,0);}
}
.etchd-hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,11,11,.05) 0%, rgba(11,11,11,.35) 55%, rgba(11,11,11,.9) 100%);
  pointer-events:none;
}
.etchd-hero .wp-block-cover__inner-container{
  position:relative;
  z-index:2;
  max-width:var(--etchd-max);
  margin:0 auto;
  width:100%;
  padding:0 var(--etchd-gutter) clamp(56px,9vw,120px);
}
.etchd-hero .etchd-hero-kicker{
  font-size:13px;
  font-weight:700;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--etchd-crimson-text);
  margin-bottom:28px;
}
.etchd-hero h1{
  font-size:clamp(40px, 7.4vw, 118px);
  font-weight:900;
  letter-spacing:-0.03em;
  line-height:0.98;
  max-width:16ch;
  margin:0 0 32px;
}
.etchd-hero p{
  font-size:clamp(17px, 1.6vw, 22px);
  color:rgba(232,227,220,0.78);
  max-width:44ch;
  font-weight:400;
  margin:0 0 44px;
  line-height:1.5;
}
.etchd-hero .etchd-scroll-cue{
  position:absolute;
  right:var(--etchd-gutter);
  bottom:40px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(232,227,220,0.55);
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
}
.etchd-scroll-cue::after{
  content:'';
  width:1px;
  height:52px;
  background:rgba(232,227,220,0.35);
  display:block;
  animation:etchd-scrollline 2.4s ease-in-out infinite;
}
@keyframes etchd-scrollline{
  0%{transform:scaleY(0);transform-origin:top;}
  50%{transform:scaleY(1);transform-origin:top;}
  50.01%{transform-origin:bottom;}
  100%{transform:scaleY(0);transform-origin:bottom;}
}
@media (max-width:600px){
  .etchd-hero .etchd-scroll-cue{display:none;}
}

.etchd-services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(232,227,220,0.12);
  border-top:1px solid rgba(232,227,220,0.12);
  border-bottom:1px solid rgba(232,227,220,0.12);
  margin-top:clamp(40px,6vw,72px);
}
@media (max-width:900px){
  .etchd-services-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .etchd-services-grid{grid-template-columns:1fr;}
}
.etchd-service-card{
  background:var(--etchd-black);
  padding:clamp(32px,3vw,48px) clamp(24px,2.6vw,40px);
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  position:relative;
  transition:background .45s var(--etchd-ease);
}
.etchd-service-card:hover{background:#121212;}
.etchd-service-num{
  font-size:13px;
  color:var(--etchd-grey);
  font-weight:700;
  letter-spacing:.1em;
}
.etchd-service-card h3{
  font-size:clamp(22px,1.9vw,28px);
  font-weight:700;
  margin:20px 0 12px;
  letter-spacing:-0.01em;
  transition:transform .45s var(--etchd-ease), color .3s ease;
  transform:translate3d(0,0,0);
}
.etchd-service-card:hover h3{transform:translate3d(6px,0,0);color:var(--etchd-bone);}
:where(.etchd-service-card) p{
  color:var(--etchd-grey);
  font-size:15px;
  line-height:1.6;
  margin:0;
}
.etchd-service-line{
  width:0;
  height:2px;
  background:var(--etchd-accent-line);
  margin-top:24px;
  transition:width .5s var(--etchd-ease);
}
.etchd-service-card:hover .etchd-service-line{width:44px;}

.etchd-case{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,4vw,64px);
  align-items:center;
  padding-top:clamp(56px,7vw,96px);
  padding-bottom:clamp(56px,7vw,96px);
  border-top:1px solid rgba(232,227,220,0.12);
}
.etchd-case:first-of-type{border-top:none;}
.etchd-case:nth-of-type(even) .etchd-case-media{order:2;}
@media (max-width:820px){
  .etchd-case{grid-template-columns:1fr;}
  .etchd-case:nth-of-type(even) .etchd-case-media{order:0;}
}
.etchd-case-media{
  overflow:hidden;
  position:relative;
  aspect-ratio:4/5;
  background:#141414;
}
.etchd-case-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(30%) contrast(1.05) brightness(.85);
  transition:transform .8s var(--etchd-ease), filter .5s ease;
}
.etchd-case:hover .etchd-case-media img{transform:scale(1.05);filter:grayscale(0%) contrast(1.05) brightness(.95);}
.etchd-case-tag{
  font-size:12px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--etchd-crimson-text);
  margin-bottom:18px;
  display:block;
}
.etchd-case h3{
  font-size:clamp(28px,3vw,44px);
  margin:0 0 20px;
  line-height:1.05;
}
:where(.etchd-case) p{color:var(--etchd-grey);font-size:16px;line-height:1.7;margin:0 0 24px;max-width:46ch;}
.etchd-case-stats{display:flex;gap:clamp(24px,3vw,48px);margin-top:8px;flex-wrap:wrap;}
.etchd-case-stat-num{font-size:clamp(22px,2vw,30px);font-weight:900;color:var(--etchd-bone);display:block;line-height:1;}
.etchd-case-stat-label{font-size:12px;color:var(--etchd-grey);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;display:block;}

.etchd-process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,3vw,32px);
  margin-top:clamp(40px,6vw,72px);
}
@media (max-width:900px){.etchd-process-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.etchd-process-grid{grid-template-columns:1fr;}}
.etchd-process-step{
  position:relative;
  padding-top:28px;
  border-top:2px solid var(--etchd-accent-line);
}
.etchd-process-step-num{
  font-size:13px;
  font-weight:700;
  color:var(--etchd-grey);
  letter-spacing:.1em;
  display:block;
  margin-bottom:18px;
}
.etchd-process-step h3{
  font-size:clamp(22px,1.9vw,30px);
  margin:0 0 12px;
}
:where(.etchd-process-step) p{color:var(--etchd-grey);font-size:15px;line-height:1.6;margin:0;}

.etchd-testi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(232,227,220,0.12);
  border-top:1px solid rgba(232,227,220,0.12);
  border-bottom:1px solid rgba(232,227,220,0.12);
  margin-top:clamp(40px,6vw,72px);
}
@media (max-width:900px){.etchd-testi-grid{grid-template-columns:1fr;}}
.etchd-testi-card{
  background:var(--etchd-black);
  padding:clamp(28px,3vw,44px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:280px;
}
.etchd-testi-quote{
  font-size:clamp(18px,1.6vw,21px);
  line-height:1.55;
  font-weight:500;
  color:var(--etchd-bone);
  margin:0 0 28px;
  letter-spacing:-0.005em;
}
.etchd-testi-name{font-weight:700;font-size:14px;color:var(--etchd-bone);}
.etchd-testi-role{font-size:13px;color:var(--etchd-grey);margin-top:2px;}

.etchd-final-cta{
  background:var(--etchd-black);
  text-align:center;
  border-top:1px solid rgba(232,227,220,0.12);
}
.etchd-final-cta h2{
  font-size:clamp(38px,7vw,104px);
  line-height:0.98;
  margin:0 auto 44px;
  max-width:18ch;
}
.etchd-final-cta .wp-block-buttons{justify-content:center;}

.etchd-fine{
  color:var(--etchd-grey);
  font-size:13px;
  letter-spacing:.04em;
}
.etchd-service-icon{color:var(--etchd-crimson);margin-bottom:22px;display:inline-flex;}
.etchd-service-icon svg{display:block;width:28px;height:28px;}
.wp-block-post-title{
  display:none;
}
.wp-block-post-title + .wp-block-spacer{
  display:none;
}
.etchd-divider-wrap{
  display:flex;
  justify-content:center;
  padding:0 var(--etchd-gutter);
}
.etchd-divider{
  width:140px;
  height:3px;
  background-color:var(--etchd-accent-line) !important;
  color:var(--etchd-accent-line) !important;
  border:none !important;
  clip-path:polygon(0 100%, 88% 100%, 100% 0, 12% 0);
}
.etchd-divider-left{
  justify-content:flex-start;
}
.etchd-divider-left .etchd-divider{
  margin-left:0;
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.etchd-about-hero{
  padding-top:clamp(120px, 16vw, 220px);
}
.etchd-about-hero h1{
  font-size:clamp(44px, 7vw, 104px);
  line-height:0.98;
  margin:0 0 20px;
  max-width:16ch;
}
.etchd-about-hero .etchd-subhead{
  font-size:clamp(20px, 2.2vw, 30px);
  font-weight:700;
  color:var(--etchd-crimson);
  margin:0 0 40px;
  letter-spacing:-0.01em;
}
.etchd-about-hero .etchd-lede p{
  font-size:clamp(17px, 1.7vw, 22px);
  line-height:1.6;
  color:rgba(232,227,220,0.82);
  max-width:62ch;
  margin:0 0 20px;
}

.etchd-story-grid{
  display:grid;
  grid-template-columns:0.8fr 1.2fr;
  gap:clamp(32px,5vw,80px);
  margin-top:clamp(32px,5vw,56px);
  align-items:start;
}
@media (max-width:820px){
  .etchd-story-grid{grid-template-columns:1fr;}
}
:where(.etchd-story-grid) p{
  color:var(--etchd-grey);
  font-size:clamp(16px,1.4vw,19px);
  line-height:1.75;
  margin:0 0 22px;
}

.etchd-belief-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(232,227,220,0.12);
  border-top:1px solid rgba(232,227,220,0.12);
  border-bottom:1px solid rgba(232,227,220,0.12);
  margin-top:clamp(40px,6vw,72px);
}
@media (max-width:900px){.etchd-belief-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.etchd-belief-grid{grid-template-columns:1fr;}}
.etchd-belief-card{
  background:var(--etchd-black);
  padding:clamp(28px,3vw,40px) clamp(22px,2.4vw,32px);
  min-height:200px;
  transition:background .45s var(--etchd-ease);
}
.etchd-belief-card:hover{background:#121212;}
.etchd-belief-card h3{
  font-size:clamp(19px,1.6vw,23px);
  margin:0 0 14px;
  line-height:1.15;
}
:where(.etchd-belief-card) p{
  color:var(--etchd-grey);
  font-size:15px;
  line-height:1.6;
  margin:0;
}

.etchd-founder-grid{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:clamp(40px,6vw,90px);
  align-items:center;
  margin-top:clamp(32px,5vw,56px);
}
@media (max-width:900px){
  .etchd-founder-grid{grid-template-columns:1fr;}
}
.etchd-founder-portrait{
  aspect-ratio:4/5;
  background:linear-gradient(155deg,#161616 0%, #0B0B0B 65%, #1a1212 100%);
  border:1px solid rgba(232,227,220,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.etchd-founder-portrait::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, transparent 46%, rgba(43,111,148,0.5) 49%, rgba(43,111,148,0.5) 51%, transparent 54%);
}
.etchd-founder-portrait p{
  font-family:'Satoshi', sans-serif;
  font-weight:900;
  font-size:clamp(64px,9vw,120px);
  color:rgba(232,227,220,0.14);
  letter-spacing:-0.03em;
  position:relative;
  z-index:1;
}
:where(.etchd-founder-copy) p{
  color:var(--etchd-bone);
  font-size:clamp(16px,1.4vw,18px);
  line-height:1.75;
  margin:0 0 20px;
}
.etchd-founder-mark{
  font-size:clamp(20px,1.9vw,26px);
  font-weight:700;
  color:var(--etchd-bone);
  font-style:italic;
  line-height:1.4;
  margin:28px 0 24px;
  max-width:34ch;
}
.etchd-founder-name{
  font-weight:700;
  font-size:17px;
  color:var(--etchd-bone);
  margin:0;
}
.etchd-founder-title{
  font-size:14px;
  color:var(--etchd-bone);
  margin:2px 0 0;
}
.etchd-founder-quote{
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid rgba(232,227,220,0.12);
  font-style:italic;
  color:var(--etchd-bone);
  font-size:15px;
  max-width:40ch;
}
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation-item__content{
  color:var(--etchd-bone) !important;
  transition:color .3s ease;
}
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation-item__content:hover{
  color:#2b6f94 !important;
}
.etchd-case-media-landscape{
  aspect-ratio:3/2 !important;
}
.grunion-field-label,
.contact-form label,
.wp-block-jetpack-contact-form label{
  color:var(--etchd-bone) !important;
}
.etchd-founder-portrait.has-photo::after{
  content:none;
}
.etchd-founder-portrait img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  display:block;
}
.etchd-founder-portrait.has-photo{
  background:#0B0B0B;
}
/* ============================================================
   CONTACT PAGE v2
   ============================================================ */
.etchd-contact-hero-v2{
  padding-top:clamp(140px, 16vw, 220px);
  position:relative;
}
.etchd-contact-hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(48px,6vw,100px);
  align-items:start;
}
@media (max-width:900px){
  .etchd-contact-hero-grid{grid-template-columns:1fr;}
}
.etchd-contact-hero-left h1{
  font-size:clamp(40px, 5.2vw, 78px);
  line-height:1.0;
  margin:0 0 22px;
  max-width:14ch;
}
.etchd-contact-hero-left p.etchd-contact-sub{
  font-size:clamp(16px,1.3vw,19px);
  line-height:1.65;
  color:var(--etchd-bone);
  max-width:46ch;
  margin:0 0 44px;
}
.etchd-contact-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 28px;
}
@media (max-width:500px){
  .etchd-contact-features{grid-template-columns:1fr;}
}
.etchd-contact-feature{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(232,227,220,0.1);
}
.etchd-contact-feature .etchd-service-icon{
  margin-bottom:0;
  color:var(--etchd-crimson);
  flex-shrink:0;
}
.etchd-contact-feature .etchd-service-icon svg{width:20px;height:20px;}
.etchd-contact-feature p{
  margin:0;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--etchd-bone);
}

.etchd-contact-hero-right{
  position:relative;
}
.etchd-form{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.etchd-form .grunion-field-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.etchd-form input[type=text],
.etchd-form input[type=email],
.etchd-form input[type=tel],
.etchd-form textarea{
  width:100%;
  background:rgba(232,227,220,0.03) !important;
  border:1px solid rgba(232,227,220,0.14) !important;
  border-radius:10px !important;
  padding:18px 20px !important;
  font-family:'Satoshi', sans-serif !important;
  font-size:15px !important;
  color:var(--etchd-bone) !important;
  transition:border-color .3s ease, background .3s ease, box-shadow .3s ease;
  box-sizing:border-box;
}
.etchd-form textarea{
  min-height:150px;
  resize:vertical;
}
.etchd-form input::placeholder,
.etchd-form textarea::placeholder{
  color:var(--etchd-grey);
  opacity:1;
  font-weight:400;
}
.etchd-form input:hover,
.etchd-form textarea:hover{
  border-color:rgba(232,227,220,0.3) !important;
}
body .etchd-form input:focus,
body .etchd-form textarea:focus,
body .etchd-form input.grunion-field:focus,
body .etchd-form textarea.grunion-field:focus{
  outline:none !important;
  border-color:var(--etchd-crimson) !important;
  background:rgba(232,227,220,0.05) !important;
  box-shadow:0 0 0 3px rgba(193,18,31,0.12) !important;
}
.etchd-form .wp-block-jetpack-button{margin-top:6px;}
.etchd-form .wp-block-button.etchd-btn-primary .wp-block-button__link{
  width:100%;
  justify-content:center;
}

/* ============================================================
   WHAT HAPPENS NEXT
   ============================================================ */
.etchd-next-flow{
  max-width:640px;
  margin:clamp(40px,6vw,72px) auto 0;
}
.etchd-next-step{
  display:flex;
  gap:28px;
  align-items:flex-start;
  padding:clamp(28px,3vw,40px) 0;
}
.etchd-next-step-num{
  font-size:15px;
  font-weight:900;
  color:var(--etchd-crimson-text);
  letter-spacing:.05em;
  flex-shrink:0;
  padding-top:4px;
}
.etchd-next-step-body h3{
  font-size:clamp(22px,2vw,28px);
  margin:0 0 10px;
}
.etchd-next-step-body p{
  color:var(--etchd-grey);
  font-size:15px;
  line-height:1.6;
  margin:0;
  max-width:44ch;
}
.etchd-next-connector{
  display:flex;
  justify-content:flex-start;
  padding-left:1px;
}
.etchd-next-connector p{
  color:rgba(232,227,220,0.3);
  font-size:18px;
  margin:0;
  line-height:1;
}

/* ============================================================
   METRICS
   ============================================================ */
.etchd-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(232,227,220,0.12);
  border-top:1px solid rgba(232,227,220,0.12);
  border-bottom:1px solid rgba(232,227,220,0.12);
  margin-top:clamp(40px,6vw,72px);
}
@media (max-width:900px){.etchd-metric-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.etchd-metric-grid{grid-template-columns:1fr;}}
.etchd-metric-card{
  background:var(--etchd-black);
  padding:clamp(32px,3vw,44px) clamp(20px,2.2vw,28px);
  min-height:170px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:background .45s var(--etchd-ease);
}
.etchd-metric-card:hover{background:#121212;}
.etchd-metric-num{
  font-size:clamp(30px,3vw,42px);
  font-weight:900;
  color:var(--etchd-crimson);
  line-height:1;
  display:block;
  margin-bottom:10px;
}
.etchd-metric-label{
  font-size:13px;
  color:var(--etchd-grey);
  text-transform:uppercase;
  letter-spacing:.08em;
  display:block;
}
.etchd-metric-statement{
  font-size:clamp(20px,1.8vw,24px);
  font-weight:900;
  color:var(--etchd-bone);
  line-height:1.15;
  display:block;
}

/* ============================================================
   ATMOSPHERE (contact page only)
   ============================================================ */
.etchd-atmosphere{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.etchd-atmosphere::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center, rgba(11,11,11,0) 0%, rgba(11,11,11,0.55) 78%, rgba(11,11,11,0.92) 100%);
  z-index:2;
}
.etchd-atmosphere::after{
  content:'';
  position:absolute;
  inset:-10%;
  opacity:0.05;
  z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  mix-blend-mode:overlay;
}
.etchd-atmosphere-streak{
  position:absolute;
  top:-20%;
  left:8%;
  width:3px;
  height:150%;
  background:linear-gradient(180deg, transparent 0%, rgba(193,18,31,0.35) 45%, rgba(193,18,31,0.35) 55%, transparent 100%);
  transform:rotate(18deg);
  filter:blur(1.5px);
  z-index:1;
}
.etchd-atmosphere-float{
  position:absolute;
  opacity:0.07;
  filter:grayscale(60%) contrast(1.05);
  object-fit:cover;
  border-radius:12px;
  z-index:1;
}
.etchd-atmosphere-float-1{width:360px; top:6%; left:-4%; transform:rotate(-8deg);}
.etchd-atmosphere-float-2{width:280px; top:28%; right:-6%; transform:rotate(10deg);}
.etchd-atmosphere-float-3{width:320px; bottom:14%; left:2%; transform:rotate(6deg);}
.etchd-atmosphere-float-4{width:300px; bottom:-4%; right:4%; transform:rotate(-10deg);}
@media (max-width:900px){
  .etchd-atmosphere-float{display:none;}
}

body.page-id-123 main{position:relative; z-index:1;}
body.page-id-123 .etchd-section{position:relative; z-index:1;}
/* ============================================================
   FAQ ACCORDION (blue accent variant)
   ============================================================ */
.etchd-faq-list{
  max-width:860px;
  margin-top:clamp(40px,6vw,64px);
}
.etchd-faq-item{
  list-style:none;
  border:1px solid rgba(232,227,220,0.14);
  border-radius:14px;
  margin-bottom:14px;
  background:rgba(232,227,220,0.02);
  transition:border-color .4s ease, box-shadow .4s ease, background .4s ease;
}
.etchd-faq-item[open]{
  border-color:var(--etchd-accent-line);
  background:rgba(43,111,148,0.04);
  box-shadow:0 0 0 1px rgba(43,111,148,0.35), 0 8px 32px rgba(43,111,148,0.12);
}
.etchd-faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:clamp(20px,2.4vw,28px) 60px clamp(20px,2.4vw,28px) clamp(22px,2.4vw,28px);
  position:relative;
  font-weight:700;
  font-size:clamp(16px,1.3vw,18px);
  color:var(--etchd-bone);
  display:flex;
  align-items:baseline;
  gap:18px;
  line-height:1.4;
  -webkit-tap-highlight-color:transparent;
}
.etchd-faq-item summary::-webkit-details-marker{display:none;}
.etchd-faq-item summary::marker{content:'';}
.etchd-faq-item summary:focus-visible{
  outline:2px solid var(--etchd-accent-line);
  outline-offset:-2px;
  border-radius:14px;
}
.etchd-faq-num{
  color:var(--etchd-accent-line);
  font-size:13px;
  font-weight:900;
  flex-shrink:0;
  letter-spacing:.05em;
  padding-top:2px;
}
.etchd-faq-item summary::after{
  content:'';
  position:absolute;
  right:24px;
  top:50%;
  width:16px;
  height:16px;
  transform:translateY(-50%);
  background-image:
    linear-gradient(var(--etchd-grey), var(--etchd-grey)),
    linear-gradient(var(--etchd-grey), var(--etchd-grey));
  background-position:center, center;
  background-repeat:no-repeat, no-repeat;
  background-size:100% 2px, 2px 100%;
  transition:background-size .3s var(--etchd-ease), background-image .3s ease;
}
.etchd-faq-item[open] summary::after{
  background-size:100% 2px, 2px 0%;
  background-image:
    linear-gradient(var(--etchd-accent-line), var(--etchd-accent-line)),
    linear-gradient(var(--etchd-accent-line), var(--etchd-accent-line));
}
.etchd-faq-answer{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .4s var(--etchd-ease), opacity .3s ease;
}
.etchd-faq-item[open] > .etchd-faq-answer{
  max-height:640px;
  opacity:1;
}
.etchd-faq-answer-inner{
  padding:0 60px clamp(22px,2.6vw,30px) clamp(22px,2.6vw,28px);
}
.etchd-faq-answer-inner p{
  color:var(--etchd-grey);
  font-size:15px;
  line-height:1.7;
  margin:0 0 14px;
}
.etchd-faq-answer-inner p:last-child{margin-bottom:0;}

/* ============================================================
   ASK ANOTHER QUESTION (blue accent variant)
   ============================================================ */
.etchd-faq .etchd-eyebrow,
.etchd-ask-question .etchd-eyebrow{
  color:var(--etchd-accent-line) !important;
}
.etchd-ask-card{
  position:relative;
  max-width:760px;
  margin:clamp(40px,6vw,64px) auto 0;
  padding:clamp(36px,4vw,56px);
  border:1px solid rgba(232,227,220,0.14);
  border-radius:18px;
  background:rgba(232,227,220,0.02);
  overflow:hidden;
}
.etchd-ask-card::before{
  content:'';
  position:absolute;
  top:-40%;
  right:-20%;
  width:60%;
  height:180%;
  background:linear-gradient(180deg, transparent 0%, rgba(43,111,148,0.18) 45%, rgba(43,111,148,0.18) 55%, transparent 100%);
  transform:rotate(18deg);
  filter:blur(2px);
  pointer-events:none;
}
.etchd-ask-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 30% 20%, rgba(43,111,148,0.10) 0%, transparent 60%);
  pointer-events:none;
}
.etchd-ask-card > *{position:relative; z-index:1;}
.etchd-ask-card h2{
  font-size:clamp(26px,2.6vw,36px);
  margin:0 0 14px;
}
.etchd-ask-card > p{
  color:var(--etchd-grey);
  font-size:15px;
  line-height:1.6;
  margin:0 0 32px;
  max-width:52ch;
}
.etchd-form-blue{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.etchd-form-blue .grunion-field-label{
  position:absolute;
  width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.etchd-form-blue input[type=text],
.etchd-form-blue input[type=email],
.etchd-form-blue textarea{
  width:100%;
  background:rgba(232,227,220,0.03) !important;
  border:1px solid rgba(232,227,220,0.16) !important;
  border-radius:10px !important;
  padding:16px 18px !important;
  font-family:'Satoshi', sans-serif !important;
  font-size:15px !important;
  color:var(--etchd-bone) !important;
  transition:border-color .3s ease, background .3s ease, box-shadow .3s ease;
  box-sizing:border-box;
}
.etchd-form-blue textarea{min-height:130px; resize:vertical;}
.etchd-form-blue input::placeholder,
.etchd-form-blue textarea::placeholder{
  color:var(--etchd-grey);
  opacity:1;
  font-weight:400;
}
.etchd-form-blue input:hover,
.etchd-form-blue textarea:hover{
  border-color:rgba(232,227,220,0.32) !important;
}
body .etchd-form-blue input:focus,
body .etchd-form-blue textarea:focus,
body .etchd-form-blue input.grunion-field:focus,
body .etchd-form-blue textarea.grunion-field:focus{
  outline:none !important;
  border-color:var(--etchd-accent-line) !important;
  background:rgba(43,111,148,0.05) !important;
  box-shadow:0 0 0 3px rgba(43,111,148,0.16) !important;
}
.etchd-hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
.etchd-form-blue .wp-block-button.etchd-btn-blue .wp-block-button__link{
  background:var(--etchd-accent-line) !important;
  color:var(--etchd-bone) !important;
  border-radius:2px;
  padding:1.15em 2.2em;
  font-weight:700;
  font-size:15px;
  letter-spacing:.02em;
  border:1px solid var(--etchd-accent-line) !important;
  transition:transform .45s var(--etchd-ease), background .3s ease, border-color .3s ease, box-shadow .3s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  width:100%;
}
.etchd-form-blue .wp-block-button.etchd-btn-blue .wp-block-button__link:hover{
  background:#245e7f !important;
  border-color:#245e7f !important;
  transform:translate3d(0,-3px,0);
  box-shadow:0 8px 28px rgba(43,111,148,0.35);
}
.etchd-form-blue .wp-block-button.etchd-btn-blue .wp-block-button__link .etchd-arrow{
  display:inline-block;
  transition:transform .3s var(--etchd-ease);
}
.etchd-form-blue .wp-block-button.etchd-btn-blue .wp-block-button__link:hover .etchd-arrow{
  transform:translateX(5px);
}
.etchd-ask-privacy{
  color:var(--etchd-grey);
  font-size:12px;
  line-height:1.6;
  margin-top:18px;
  max-width:52ch;
}
.etchd-ask-privacy a{
  color:var(--etchd-bone);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Success message body text (Jetpack default is near-black, invisible on dark bg) */
.contact-form-submission,
.jetpack_forms_contact-form-custom-success-message{
  color:var(--etchd-bone) !important;
}
.contact-form-submission a{
  color:var(--etchd-accent-line) !important;
}

/* Success message checkmark */
.etchd-form-blue #contact-form-success-header,
.etchd-ask-card #contact-form-success-header{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--etchd-bone);
}
.etchd-form-blue #contact-form-success-header::before,
.etchd-ask-card #contact-form-success-header::before{
  content:'';
  flex-shrink:0;
  width:26px;
  height:26px;
  border-radius:50%;
  background:rgba(43,111,148,0.15);
  border:1.5px solid var(--etchd-accent-line);
  background-image:linear-gradient(135deg, transparent 42%, var(--etchd-accent-line) 42%, var(--etchd-accent-line) 46%, transparent 46%),
    linear-gradient(45deg, transparent 55%, var(--etchd-accent-line) 55%, var(--etchd-accent-line) 59%, transparent 59%);
  background-size:60% 30%, 30% 60%;
  background-position:35% 55%, 40% 35%;
  background-repeat:no-repeat;
  animation:etchd-check-pop .4s var(--etchd-ease);
}
@keyframes etchd-check-pop{
  0%{transform:scale(0.4); opacity:0;}
  60%{transform:scale(1.15); opacity:1;}
  100%{transform:scale(1);}
}
@media (max-width:600px){
  .etchd-faq-item summary{padding-right:52px;}
  .etchd-faq-answer-inner{padding-right:52px;}
  .etchd-ask-card{padding:28px 22px;}
}

/* ============================================================
   SCROLL-SCRUBBED VIDEO HERO (homepage)
   ============================================================ */
.etchd-video-hero-wrap{
  position:relative;
  height:300vh;
  background:var(--etchd-black);
  width:100vw !important;
  max-width:100vw !important;
  left:50% !important;
  right:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  transform:translateX(-50%);
}
.etchd-video-hero-sticky{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}
.etchd-scroll-video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:var(--etchd-black);
}
.etchd-video-hero-fade{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:26vh;
  background:linear-gradient(to bottom, transparent, var(--etchd-black));
  pointer-events:none;
}
.etchd-video-hero-cue{
  position:absolute;
  left:50%;
  bottom:36px;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  color:var(--etchd-bone);
  opacity:.65;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  animation:etchd-cue-bounce 2s ease-in-out infinite;
  pointer-events:none;
}
.etchd-video-hero-cue::after{
  content:'';
  width:1px;
  height:26px;
  background:linear-gradient(var(--etchd-bone), transparent);
}
@keyframes etchd-cue-bounce{
  0%,100%{ transform:translate(-50%,0); opacity:.65; }
  50%{ transform:translate(-50%,6px); opacity:.3; }
}
@media (max-width:680px){
  .etchd-video-hero-wrap{ height:220vh; }
}