html { scroll-snap-type: y proximity; }
.flow > section, .fin, .contact, .hero-spacer { scroll-snap-align: start; scroll-snap-stop: always; }
.contact { position: relative; height: 100svh; min-height: 560px; overflow: hidden; background: radial-gradient(120% 90% at 50% 0%, #06222a 0%, #03090c 55%, #000 100%); color: #e8fbff; display: flex; align-items: center; justify-content: center; padding: clamp(20px, 4vw, 64px); box-sizing: border-box; }
.contact::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(25,230,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(25,230,255,.07) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(70% 70% at 50% 45%, #000, transparent); pointer-events: none; }
.contact__in { position: relative; width: min(1100px, 100%); display: grid; gap: clamp(16px, 3vh, 34px); }
.contact__eye { font: 500 12px/1 Oswald, 'Arial Narrow', sans-serif; letter-spacing: .42em; text-transform: uppercase; color: #19e6ff; }
.contact h2 { margin: 0; font: 400 clamp(44px, 9vw, 120px)/.92 Anton, Impact, sans-serif; letter-spacing: .01em; text-transform: uppercase; }
.contact h2 em { display: block; font-style: normal; color: #19e6ff; text-shadow: 0 0 34px rgba(25,230,255,.45); }
.contact__ven { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(12px, 2vw, 24px); }
.cv { display: block; padding: clamp(14px, 2.4vw, 26px); border: 1px solid rgba(25,230,255,.35); border-radius: 14px; background: rgba(3,18,24,.62); backdrop-filter: blur(6px); color: inherit; text-decoration: none; transition: border-color .25s, box-shadow .25s, transform .25s; }
.cv:hover, .cv:focus-visible { border-color: #19e6ff; box-shadow: 0 0 30px rgba(25,230,255,.3); transform: translateY(-3px); }
.cv small { display: block; font: 500 11px/1 Oswald, sans-serif; letter-spacing: .3em; text-transform: uppercase; color: #7fdfee; margin-bottom: 10px; }
.cv b { display: block; font: 400 clamp(22px, 3.4vw, 40px)/1.05 Anton, Impact, sans-serif; text-transform: uppercase; letter-spacing: .02em; }
.cv span { display: block; margin-top: 10px; font: 500 13px/1.3 Oswald, sans-serif; letter-spacing: .14em; color: #19e6ff; }
.contact__row { display: flex; flex-wrap: wrap; gap: 10px 12px; }
.cb { display: inline-flex; align-items: center; gap: 10px; padding: 13px 20px; border: 1px solid rgba(25,230,255,.45); border-radius: 999px; color: #e8fbff; text-decoration: none; font: 500 13px/1 Oswald, sans-serif; letter-spacing: .16em; text-transform: uppercase; background: rgba(2,12,16,.7); transition: background .25s, color .25s, box-shadow .25s; }
.cb:hover, .cb:focus-visible { background: #19e6ff; color: #021014; box-shadow: 0 0 26px rgba(25,230,255,.5); }
.cb--wa { border-color: #25d366; }
.cb--wa:hover { background: #25d366; }
.contact__c { font: 500 10px/1.6 Oswald, sans-serif; letter-spacing: .24em; text-transform: uppercase; color: rgba(190,240,250,.45); }
.contact__c a { color: inherit; }
@media (max-aspect-ratio: 1/1) and (max-width: 700px) { .contact__ven { grid-template-columns: 1fr; } .contact { align-items: center; padding-bottom: 80px; } .cb { padding: 12px 16px; font-size: 12px; } }

/* header wordmark: clean, readable type (the distressed texture turned to mush at small sizes) */
.hdr .mark-word { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; -webkit-text-fill-color: #19e6ff; color: #19e6ff; text-shadow: 0 0 12px rgba(25,230,255,.45); letter-spacing: .06em; filter: none !important; }



/* contact: never clip the top; grows taller than the screen if it must */
.contact { height: auto; min-height: 100svh; overflow: hidden; align-items: flex-start; padding-top: clamp(84px, 12vh, 120px); padding-bottom: 64px; }
.contact__eye { display: none; }
.contact h2 { display: grid; gap: 8px; }
.contact h2 .ct-pre { font: 500 clamp(13px, 3.4vw, 20px)/1 Oswald, 'Arial Narrow', sans-serif; letter-spacing: .5em; color: #19e6ff; text-transform: uppercase; }
.contact h2 .ct-big { font: 400 clamp(40px, 11vw, 104px)/.95 Anton, Impact, sans-serif; text-transform: uppercase; color: #eafcff; }
.contact h2 em { font: 400 clamp(30px, 8.6vw, 84px)/1 Anton, Impact, sans-serif; background: linear-gradient(180deg,#fff 0%,#9af4ff 55%,#19e6ff 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; filter: drop-shadow(0 0 22px rgba(25,230,255,.4)); }
@media (max-aspect-ratio: 1/1) and (max-width: 700px) { .contact { padding-bottom: 90px; } .contact__ven { gap: 10px; } .cv { padding: 12px 14px; } .cv small { margin-bottom: 6px; } .cv b { font-size: 20px; } .cv span { margin-top: 6px; font-size: 12px; } }
@media (min-aspect-ratio: 1/1), (min-width: 701px) { .contact__ven { grid-template-columns: repeat(3, 1fr); } .contact { align-items: center; } }

/* hero tagline: bigger, cyan hologram plate */
.chip--legend { background: rgba(2,14,18,.72) !important; color: #19e6ff !important; border: 1px solid rgba(25,230,255,.75); border-radius: 4px; font-size: clamp(15px, 1.5vw, 24px) !important; font-weight: 600; letter-spacing: .2em !important; padding: .55em .8em .48em !important; text-shadow: 0 0 10px rgba(25,230,255,.7); box-shadow: 0 0 22px rgba(25,230,255,.35), inset 0 0 14px rgba(25,230,255,.15); backdrop-filter: blur(4px); }
@media (max-aspect-ratio: 1/1) and (max-width: 700px) { .chip--legend { font-size: 12.5px !important; letter-spacing: .1em !important; padding: .5em .6em .44em !important; } }

/* ---- contact page: black + red DEVESH theme (matches the finale frames) ---- */
.contact { background: radial-gradient(120% 90% at 50% 0%, #3a0509 0%, #14040a 52%, #000 100%); color: #fff1f2; }
.contact::before { background-image: linear-gradient(rgba(255,40,60,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,40,60,.08) 1px, transparent 1px); }
.contact h2 .ct-pre { color: #ff3b4a; text-shadow: 0 0 14px rgba(255,40,60,.6); }
.contact h2 .ct-big { color: #fff4f4; }
.contact h2 em { background: linear-gradient(180deg,#fff 0%,#ff9aa2 45%,#ff2a3a 100%); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 0 22px rgba(255,35,55,.55)); }
.cv { border-color: rgba(255,50,70,.45); background: rgba(24,3,7,.7); }
.cv:hover, .cv:focus-visible { border-color: #ff3b4a; box-shadow: 0 0 30px rgba(255,40,60,.4); }
.cv small { color: #ff9aa2; }
.cv span { color: #ff4d5b; }
.cb { border-color: rgba(255,50,70,.5); color: #fff1f2; background: rgba(20,2,6,.75); }
.cb:hover, .cb:focus-visible { background: #ff2a3a; color: #fff; box-shadow: 0 0 26px rgba(255,40,60,.55); }
.cb--wa { border-color: #25d366; }
.cb--wa:hover { background: #25d366; color: #021014; }
.contact__c { color: rgba(255,200,205,.5); }

/* wide screens: the tagline plate sits under the right end of the wordmark,
   clear of the WELCOME line and the figure */
@media (min-aspect-ratio: 1/1), (min-width: 701px) {
  .chip--legend { left: auto !important; right: 16.5% !important; top: 58% !important; }
}

/* one-line intro on each company card */
.cv__d { display: block; margin-top: 10px; font: 500 12.5px/1.35 Oswald, 'Arial Narrow', sans-serif; font-style: normal; letter-spacing: .05em; text-transform: none; color: #f3cfd3; }
/* heading must never run off the left edge on a laptop */
.contact { justify-content: safe center; }
.contact__in { min-width: 0; max-width: 100%; box-sizing: border-box; }
.contact h2 { font-size: clamp(40px, 7.2vw, 112px); overflow-wrap: anywhere; }
@media (min-aspect-ratio: 1/1), (min-width: 701px) { .contact h2 { font-size: clamp(40px, min(7.2vw, 13vh), 112px); } }

.cv__l { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cv__l li { font: 500 11px/1 Oswald, 'Arial Narrow', sans-serif; letter-spacing: .06em; color: #f3cfd3; padding: .5em .8em .42em; border: 1px solid rgba(255,77,91,.4); border-radius: 999px; background: rgba(255,40,60,.07); }

/* founder portrait on the contact page */
.contact__top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: clamp(18px, 4vw, 56px); }
.contact__ph { margin: 0; width: clamp(170px, 19vw, 280px); aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; border: 1px solid rgba(255,59,74,.6); box-shadow: 0 0 0 5px rgba(255,40,60,.08), 0 0 46px rgba(255,35,55,.4); background: #14040a; }
.contact__ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; }
@media (max-aspect-ratio: 1/1) and (max-width: 700px) {
  .contact__top { grid-template-columns: 1fr; gap: 14px; }
  .contact__ph { order: -1; width: 104px; aspect-ratio: 1; border-radius: 50%; box-shadow: 0 0 0 4px rgba(255,40,60,.12), 0 0 30px rgba(255,35,55,.45); }
  .contact__ph img { object-position: 50% 24%; }
}
