/* ===== Havant ITG — shared stylesheet ===== */
@font-face{font-family:'Fraunces';font-weight:900;font-display:swap;src:url(../fonts/fraunces-latin-900.woff2) format('woff2');}
@font-face{font-family:'Fraunces';font-weight:700;font-display:swap;src:url(../fonts/fraunces-latin-700.woff2) format('woff2');}
@font-face{font-family:'Fraunces';font-weight:600;font-display:swap;src:url(../fonts/fraunces-latin-600.woff2) format('woff2');}
@font-face{font-family:'Fraunces';font-weight:500;font-display:swap;src:url(../fonts/fraunces-latin-500.woff2) format('woff2');}
@font-face{font-family:'Manrope';font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400.woff2) format('woff2');}
@font-face{font-family:'Manrope';font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500.woff2) format('woff2');}
@font-face{font-family:'Manrope';font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600.woff2) format('woff2');}
@font-face{font-family:'Manrope';font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700.woff2) format('woff2');}

:root{
  --bg:#07140F; --bg2:#0A1E18; --panel:#0E2A24; --panel2:#102F28;
  --gold:#E3BB63; --gold-d:#C49A45; --cyan:#63E3CE;
  --text:#ECE7D8; --muted:#9BB0A7; --line:rgba(227,187,99,.16); --line2:rgba(255,255,255,.07);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Manrope',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:radial-gradient(ellipse 90% 60% at 80% -5%,rgba(99,227,206,.05),transparent 60%),radial-gradient(ellipse 70% 50% at 0% 30%,rgba(227,187,99,.04),transparent 55%);
  background-attachment:fixed;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
section{position:relative;}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:26px;height:1.5px;background:var(--gold);display:inline-block;}
h2.title{font-family:'Fraunces';font-weight:600;font-size:clamp(28px,4vw,46px);line-height:1.05;letter-spacing:-.02em;color:#fff;margin:14px 0 0;}
.lede{color:var(--muted);font-size:17px;max-width:640px;margin-top:16px;}
.section-pad{padding:96px 0;}

/* glow accents */
.glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;pointer-events:none;}
.glow.g1{width:480px;height:480px;background:radial-gradient(circle,rgba(99,227,206,.22),transparent 65%);top:-120px;right:-60px;}
.glow.g2{width:520px;height:520px;background:radial-gradient(circle,rgba(227,187,99,.18),transparent 65%);bottom:-180px;left:-120px;}
.glow.g3{width:600px;height:600px;background:radial-gradient(circle,rgba(227,187,99,.12),transparent 65%);top:-200px;right:-150px;}

/* ===== NAV ===== */
header.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.35s;}
header.nav.scrolled{background:rgba(7,20,15,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line2);}
nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:baseline;gap:2px;font-family:'Fraunces';font-weight:900;font-size:24px;color:#fff;letter-spacing:-.01em;}
.brand .dot{color:var(--gold);}
.brand .itg{font-family:'Manrope';font-weight:700;font-size:12px;letter-spacing:.22em;color:var(--gold);margin-left:9px;align-self:center;border:1px solid var(--line);padding:3px 8px;border-radius:6px;}
.navlinks{display:flex;gap:30px;align-items:center;}
.navlinks a{font-size:14px;font-weight:500;color:var(--muted);transition:.2s;position:relative;}
.navlinks a:hover{color:#fff;}
.navlinks a.active{color:#fff;}
.navlinks a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);border-radius:2px;}
.navtools{display:flex;align-items:center;gap:14px;}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;}
.lang button{background:none;border:none;color:var(--muted);font-family:'Manrope';font-weight:700;font-size:12px;letter-spacing:.05em;padding:7px 12px;cursor:pointer;transition:.2s;}
.lang button.active{background:var(--gold);color:#0a1813;}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#0a1813;font-weight:700;font-size:14px;padding:11px 20px;border-radius:999px;transition:.25s;border:none;cursor:pointer;}
.btn:hover{background:#fff;transform:translateY(-1px);}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line);}
.btn.ghost:hover{background:rgba(255,255,255,.06);color:#fff;}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1;}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:99;background:rgba(7,20,15,.97);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;opacity:0;pointer-events:none;transition:.3s;}
.drawer.open{opacity:1;pointer-events:auto;}
.drawer a{font-family:'Fraunces';font-weight:600;font-size:26px;color:var(--text);}
.drawer a.active{color:var(--gold);}

/* ===== HERO (home) ===== */
.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;
  background-image:linear-gradient(180deg,rgba(7,20,15,.62),rgba(7,20,15,.93)),
    linear-gradient(115deg,rgba(7,20,15,.5),rgba(7,20,15,.2)),
    url('https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=1900&q=80');
  background-size:cover;background-position:center;}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 70% 40%,#000,transparent 80%);opacity:.6;}
.hero-inner{position:relative;z-index:3;padding-top:90px;}
.hero h1{font-family:'Fraunces';font-weight:600;font-size:clamp(38px,6.4vw,76px);line-height:1.02;letter-spacing:-.025em;color:#fff;max-width:15ch;}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero .sub{margin-top:24px;font-size:clamp(16px,1.6vw,20px);color:var(--muted);max-width:56ch;}
.hero-cta{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap;}
.hero-meta{margin-top:54px;display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line2);padding-top:26px;max-width:640px;}
.hero-meta .m .k{font-family:'Fraunces';font-weight:600;font-size:26px;color:var(--gold);}
.hero-meta .m .v{font-size:12.5px;color:var(--muted);letter-spacing:.02em;}

/* ===== PAGE HERO (inner pages) ===== */
.page-hero{padding:150px 0 70px;position:relative;overflow:hidden;border-bottom:1px solid var(--line2);}
.page-hero .glow{opacity:.4;}
.page-hero h1{font-family:'Fraunces';font-weight:600;font-size:clamp(34px,5.4vw,62px);line-height:1.03;letter-spacing:-.025em;color:#fff;max-width:18ch;margin-top:16px;}
.page-hero h1 em{font-style:normal;color:var(--gold);}
.page-hero p{margin-top:20px;color:var(--muted);font-size:18px;max-width:60ch;}

/* ===== MARQUEE ===== */
.strip{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:var(--bg2);overflow:hidden;}
.strip .row{display:flex;gap:48px;padding:18px 0;white-space:nowrap;animation:scroll 32s linear infinite;}
.strip .row span{font-family:'Fraunces';font-weight:500;font-size:18px;color:var(--muted);display:inline-flex;align-items:center;gap:48px;}
.strip .row span::after{content:"\25C6";color:var(--gold);font-size:9px;}
@keyframes scroll{to{transform:translateX(-50%);}}

/* ===== CARDS GRID ===== */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:54px;}
.card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line2);border-radius:16px;padding:30px 26px;transition:.3s;position:relative;overflow:hidden;}
.card::after{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--gold);transition:.35s;}
.card:hover{transform:translateY(-4px);border-color:var(--line);}
.card:hover::after{width:100%;}
.card .ix{font-family:'Fraunces';font-weight:600;font-size:13px;color:var(--gold);}
.card h3{font-size:20px;font-weight:700;color:#fff;margin:14px 0 8px;letter-spacing:-.01em;}
.card p{font-size:15px;color:var(--muted);}
.card ul{margin-top:14px;padding-left:0;list-style:none;}
.card ul li{font-size:14px;color:var(--muted);padding:7px 0 7px 20px;position:relative;border-top:1px solid var(--line2);}
.card ul li:first-child{border-top:none;}
.card ul li::before{content:"\2192";position:absolute;left:0;color:var(--gold);}

/* ===== BAND ===== */
.band{margin:0;padding:84px 0;position:relative;overflow:hidden;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);}
.band-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,20,15,.96),rgba(7,20,15,.66)),url('https://images.unsplash.com/photo-1561233835-f937539b95b9?auto=format&fit=crop&w=1900&q=80');background-size:cover;background-position:center;}
.band .wrap{position:relative;z-index:2;}
.band blockquote{font-family:'Fraunces';font-weight:500;font-size:clamp(24px,3.4vw,40px);line-height:1.18;color:#fff;max-width:20ch;letter-spacing:-.02em;}
.band blockquote em{color:var(--gold);font-style:normal;}
.band .src{margin-top:20px;color:var(--muted);font-size:14px;}

/* ===== APPROACH ===== */
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.ap-list{margin-top:30px;display:flex;flex-direction:column;gap:4px;}
.ap-item{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line2);}
.ap-item:last-child{border-bottom:1px solid var(--line2);}
.ap-item .n{font-family:'Fraunces';font-weight:600;font-size:15px;color:var(--gold);flex:none;width:34px;}
.ap-item .t{font-weight:700;color:#fff;font-size:16px;}
.ap-item .d{color:var(--muted);font-size:14px;margin-top:3px;}
.ap-visual{position:relative;border-radius:18px;overflow:hidden;min-height:440px;border:1px solid var(--line2);
  background-image:linear-gradient(160deg,rgba(7,20,15,.35),rgba(7,20,15,.85)),url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=1300&q=80');
  background-size:cover;background-position:center;}
.ap-visual .tag{position:absolute;left:22px;bottom:22px;right:22px;background:rgba(7,20,15,.6);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.ap-visual .tag .t{color:#fff;font-weight:700;font-size:15px;}
.ap-visual .tag .d{color:var(--muted);font-size:13px;margin-top:2px;}

/* ===== SECTORS ===== */
.sec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px;}
.chip{border:1px solid var(--line2);border-radius:13px;padding:24px 22px;background:var(--bg2);transition:.25s;}
.chip:hover{border-color:var(--line);background:var(--panel);transform:translateY(-3px);}
.chip .ic{color:var(--gold);font-size:24px;line-height:1;}
.chip .t{color:#fff;font-weight:700;margin-top:14px;font-size:17px;}
.chip .d{color:var(--muted);font-size:14px;margin-top:5px;}

/* ===== FEATURE TWO-COL ===== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.two-col .visual{border-radius:18px;overflow:hidden;min-height:420px;border:1px solid var(--line2);background-size:cover;background-position:center;}
.v-ai{background-image:linear-gradient(160deg,rgba(7,20,15,.4),rgba(7,20,15,.88)),url('https://images.unsplash.com/photo-1545987796-200677ee1011?auto=format&fit=crop&w=1300&q=80');}
.v-startup{background-image:linear-gradient(160deg,rgba(7,20,15,.3),rgba(7,20,15,.8)),url('https://images.unsplash.com/photo-1559136555-9303baea8ebd?auto=format&fit=crop&w=1300&q=80');}

/* ===== CTA STRIP ===== */
.cta{padding:90px 0;position:relative;overflow:hidden;}
.cta-card{background:linear-gradient(135deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:22px;padding:60px;text-align:center;position:relative;overflow:hidden;}
.cta-card::after{content:"";position:absolute;right:-60px;top:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(227,187,99,.18),transparent 62%);}
.cta-card h2{font-family:'Fraunces';font-weight:600;font-size:clamp(26px,3.6vw,42px);color:#fff;letter-spacing:-.02em;position:relative;z-index:2;}
.cta-card p{color:var(--muted);margin-top:14px;font-size:17px;position:relative;z-index:2;}
.cta-card .btn{margin-top:30px;position:relative;z-index:2;}

/* ===== CONTACT ===== */
.c-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;margin-top:50px;}
.c-card{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line2);border-radius:18px;padding:32px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;}
.field input,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line2);border-radius:10px;padding:13px 14px;color:var(--text);font-family:inherit;font-size:14.5px;transition:.2s;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold);}
.c-info .row{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line2);}
.c-info .row:first-of-type{border-top:none;}
.c-info .ic{color:var(--gold);font-size:17px;flex:none;width:24px;}
.c-info .k{font-size:12px;color:var(--muted);letter-spacing:.03em;}
.c-info .v{color:#fff;font-weight:600;font-size:15px;}
.c-info .v small{display:block;color:var(--muted);font-weight:500;font-size:12.5px;}
.fill{color:var(--gold);border-bottom:1px dotted rgba(227,187,99,.5);}
.reg-note{font-size:12px;color:var(--muted);margin-top:18px;padding-top:16px;border-top:1px solid var(--line2);}

/* ===== TRUST BAND ===== */
.trust{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:linear-gradient(180deg,var(--bg2),var(--bg));}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.trust-item{padding:34px 28px;border-left:1px solid var(--line2);display:flex;gap:16px;align-items:flex-start;}
.trust-item:first-child{border-left:none;}
.trust-item .ic{flex:none;width:38px;height:38px;border-radius:10px;background:rgba(227,187,99,.1);border:1px solid var(--line);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:18px;}
.trust-item .t{color:#fff;font-weight:700;font-size:15px;}
.trust-item .d{color:var(--muted);font-size:13px;margin-top:3px;line-height:1.45;}

/* ===== FOOTER ===== */
footer.site{border-top:1px solid var(--line2);background:var(--bg2);padding:54px 0 30px;margin-top:0;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid var(--line2);}
.foot-col h4{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.foot-col p,.foot-col a{display:block;color:var(--muted);font-size:14px;margin-bottom:9px;transition:.2s;}
.foot-col a:hover{color:#fff;}
.foot-brand .brand{margin-bottom:14px;}
.foot-brand .tag{color:var(--muted);font-size:14px;max-width:34ch;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:24px;}
.foot-bottom .small{color:var(--muted);font-size:12.5px;}

/* draft badge */
.badge{display:inline-block;background:var(--gold);color:#0a1813;font-weight:700;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 12px;border-radius:5px;position:fixed;bottom:16px;left:16px;z-index:200;box-shadow:0 6px 24px rgba(0,0,0,.4);}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:.7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}

@media(max-width:900px){
  .navlinks{display:none;}
  .menu-toggle{display:block;}
  .svc-grid,.sec-grid{grid-template-columns:1fr 1fr;}
  .ap-grid,.c-grid,.two-col{grid-template-columns:1fr;gap:36px;}
  .ap-visual,.two-col .visual{min-height:300px;}
  .foot-top{grid-template-columns:1fr 1fr;gap:30px;}
  .cta-card{padding:40px 26px;}
}
@media(max-width:560px){
  .svc-grid,.sec-grid{grid-template-columns:1fr;}
  .hero-meta{gap:22px;}
  .foot-top{grid-template-columns:1fr;}
}

/* trust band responsive */
@media(max-width:760px){
  .trust-grid{grid-template-columns:1fr;}
  .trust-item{border-left:none;border-top:1px solid var(--line2);}
  .trust-item:first-child{border-top:none;}
}

/* ===== LEGAL PAGES ===== */
.legal{padding:150px 0 90px;position:relative;}
.legal .glow{opacity:.3;}
.legal-wrap{max-width:820px;}
.legal h1{font-family:'Fraunces';font-weight:600;font-size:clamp(30px,4.4vw,48px);color:#fff;letter-spacing:-.02em;margin-top:14px;}
.legal .updated{color:var(--muted);font-size:13px;margin-top:14px;}
.legal h2{font-family:'Fraunces';font-weight:600;font-size:22px;color:#fff;margin:42px 0 12px;letter-spacing:-.01em;}
.legal h3{font-size:16px;font-weight:700;color:var(--text);margin:24px 0 8px;}
.legal p,.legal li{color:var(--muted);font-size:15px;line-height:1.7;}
.legal p{margin-bottom:14px;}
.legal ul{margin:0 0 16px 0;padding-left:22px;}
.legal li{margin-bottom:7px;}
.legal a{color:var(--gold);border-bottom:1px dotted rgba(227,187,99,.5);}
.legal a:hover{color:#fff;}
.legal table{width:100%;border-collapse:collapse;margin:14px 0 22px;font-size:14px;}
.legal th,.legal td{text-align:left;padding:12px 14px;border:1px solid var(--line2);color:var(--muted);vertical-align:top;}
.legal th{background:var(--bg2);color:#fff;font-weight:600;}
.legal .fill{color:var(--gold);border-bottom:1px dotted rgba(227,187,99,.5);}

/* ===== COOKIE BANNER ===== */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:300;background:rgba(10,30,24,.97);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:none;box-shadow:0 20px 60px rgba(0,0,0,.5);max-width:560px;margin:0 auto;}
.cookie.show{display:block;animation:cookieUp .4s ease;}
@keyframes cookieUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
.cookie h4{color:#fff;font-size:15px;font-weight:700;margin-bottom:8px;}
.cookie p{color:var(--muted);font-size:13px;line-height:1.55;margin-bottom:16px;}
.cookie p a{color:var(--gold);border-bottom:1px dotted rgba(227,187,99,.5);}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-actions .btn{font-size:13px;padding:9px 18px;}
.cookie-actions .btn.ghost{color:var(--text);}
