/* Introvertical dynamic website - image-ready version */
:root {
  --dark-teal:#00474C; --teal:#067F83; --accent:#0B9EA3; --light:#F4F7F7;
  --white:#FFFFFF; --text:#1F2D2F; --border:#DDE7E7; --muted:#627174;
  --shadow:0 16px 40px rgba(0,71,76,.10); --radius:18px; --container:1180px;
  --font:Inter,Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--white);line-height:1.65}
img{max-width:100%;display:block} a{color:inherit;text-decoration:none} p{margin:0 0 1rem}
h1,h2,h3,h4{margin:0 0 1rem;color:var(--dark-teal);line-height:1.12}
h1{font-size:clamp(2.45rem,5vw,4.3rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,3.8vw,3rem);letter-spacing:-.035em}
h3{font-size:1.28rem}.container{width:min(100% - 40px,var(--container));margin:0 auto}.narrow{max-width:900px}
.section{padding:92px 0}.section-light{background:var(--light)}.text-center{text-align:center}
.eyebrow{display:inline-block;margin:0 0 14px;color:var(--teal);font-size:.86rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.section-heading{max-width:880px;margin:0 auto 48px;text-align:center}.section-heading p{color:var(--muted);font-size:1.06rem}
.section-action{margin-top:40px;text-align:center}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(221,231,231,.75);backdrop-filter:blur(12px);transition:box-shadow .25s ease,background .25s ease}
.site-header.is-scrolled{box-shadow:0 10px 28px rgba(0,71,76,.08);background:rgba(255,255,255,.98)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.logo{display:inline-flex;align-items:center}.logo-img{display:block;width:auto;height:90px;max-width:230px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:22px;font-size:.95rem;font-weight:650}
.main-nav a{position:relative;color:var(--text);transition:color .2s ease}.main-nav a:hover,.main-nav a.active{color:var(--teal)}
.mobile-menu-toggle{display:none;border:1px solid var(--border);border-radius:999px;padding:9px 13px;background:var(--white);color:var(--dark-teal);font-weight:850;cursor:pointer}

/* Buttons */
.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:13px 23px;border-radius:999px;border:1px solid transparent;font-weight:850;font-size:.95rem;cursor:pointer;transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--teal);color:var(--white);box-shadow:0 12px 24px rgba(6,127,131,.18)}.btn-primary:hover{background:var(--dark-teal)}
.btn-secondary{color:var(--teal);border-color:var(--teal);background:transparent}.btn-secondary:hover{color:var(--white);background:var(--teal)}
.btn-light{background:var(--white);color:var(--dark-teal)}.btn-light:hover{background:var(--light)}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* Hero and page headers */
.hero{padding:108px 0 96px}.hero-grid,.page-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hero-text,.page-hero p{max-width:700px;color:var(--muted);font-size:1.17rem}.page-hero{padding:90px 0;background:var(--light)}
.breadcrumb{margin-bottom:14px;color:var(--teal);font-size:.86rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.hero-visual,.page-visual{position:relative;min-height:430px;overflow:hidden;border-radius:30px;border:1px solid var(--border);background:var(--light);display:flex;align-items:center;justify-content:center;padding:0}
.visual-image{width:100%;height:100%;min-height:430px;object-fit:cover;display:block}

/* Cards */
.card-grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:28px}
.service-card{position:relative;padding:28px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.service-card::before{content:"";display:block;width:44px;height:4px;margin-bottom:22px;border-radius:999px;background:var(--teal);transition:width .24s ease,background-color .24s ease}
.service-card:hover::before{width:72px;background:var(--accent)}.service-card:hover{transform:translateY(-5px);border-color:rgba(11,158,163,.45);box-shadow:0 22px 45px rgba(0,71,76,.13)}.service-card p{color:var(--muted);margin-bottom:0}
.hover-lift{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.hover-lift:hover{transform:translateY(-6px);box-shadow:0 22px 45px rgba(0,71,76,.13);border-color:rgba(11,158,163,.45)}
.project-card{overflow:hidden}.project-image-img{width:100%;height:174px;object-fit:cover;display:block;background:var(--light)}.project-content{padding:26px}.project-meta{color:var(--teal);font-size:.92rem;font-weight:850}
.badge,.category{display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:rgba(6,127,131,.10);color:var(--teal);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.text-link{display:inline-flex;margin-top:12px;color:var(--teal);font-weight:900;transition:color .2s ease,transform .2s ease}.text-link:hover{color:var(--dark-teal);transform:translateX(2px)}

.credibility-item {
  padding:28px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--light)
}

.number {
  display:block;
  margin-bottom:18px;
  color:var(--teal);
  font-size:.9rem;
  font-weight:950
}

.credibility-item p {
  margin:0;color:var(--dark-teal);
  font-weight:850
}

.credibility-item-centered {
  text-align: center;
}

.credibility-logo {
  width: 120px;
  height: 80px;
  margin: 0 auto 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.credibility-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.credibility-item-centered .number {
  margin-left: auto;
  margin-right: auto;
}

.insight-card-centered {
  text-align: center;
}

.insight-card-centered .text-link {
  justify-content: center;
}

.team-card{padding:28px}.team-photo-img{width:100%;height:210px;object-fit:cover;border-radius:16px;border:1px solid var(--border);margin-bottom:20px;display:block}
.fact-list{list-style:none;margin:0;padding:0}.fact-list li{padding:12px 0;border-bottom:1px solid var(--border)}.fact-list li:last-child{border-bottom:0}.fact-list strong{color:var(--dark-teal)}
.accordion{display:grid;gap:14px}details{background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}summary{cursor:pointer;padding:22px 24px;color:var(--dark-teal);font-weight:900}.details-content{padding:0 24px 24px;color:var(--muted)}
.form-placeholder{padding:32px;border-radius:var(--radius);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow)}.form-row{display:grid;gap:16px;margin-bottom:16px}.form-row.two{grid-template-columns:repeat(2,1fr)}
label{color:var(--dark-teal);font-weight:850;font-size:.9rem}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font:inherit;color:var(--text);background:#fff}textarea{min-height:140px;resize:vertical}
.notice{padding:20px;border-radius:16px;background:rgba(6,127,131,.08);border:1px solid rgba(6,127,131,.18)}
.final-cta{background:var(--dark-teal);color:var(--white)}.final-cta h2{color:var(--white)}.final-cta p{margin-bottom:28px;color:rgba(255,255,255,.88);font-size:1.08rem}
.site-footer{background:#00383d;color:rgba(255,255,255,.86)}.site-footer h3,.site-footer h4{color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:48px;padding:60px 0}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:8px}.site-footer a{color:rgba(255,255,255,.9)}.site-footer a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding:18px 0}.footer-bottom p{margin:0;font-size:.9rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.fade-up{opacity:0;transform:translateY(18px);animation:fadeUp .75s ease forwards}.delay-1{animation-delay:.12s}.delay-2{animation-delay:.24s}.delay-3{animation-delay:.36s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){.header-inner{min-height:auto;padding:18px 0;flex-wrap:wrap}.main-nav{order:4;width:100%;justify-content:center;flex-wrap:wrap}.hero-grid,.page-hero-grid{grid-template-columns:1fr}.hero-visual,.page-visual{min-height:330px}.visual-image{min-height:330px}.grid-3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.container{width:min(100% - 28px,var(--container))}.section,.hero,.page-hero{padding:56px 0}.main-nav{display:none}.main-nav.open{display:flex}.mobile-menu-toggle{display:inline-flex}.header-cta{display:none}.logo-img{height:44px;max-width:190px}.button-row{flex-direction:column;align-items:stretch}.btn{width:100%}.grid-2,.grid-3,.footer-grid,.form-row.two{grid-template-columns:1fr}.hero-visual,.page-visual{min-height:260px}.visual-image{min-height:260px}.footer-grid{gap:28px;padding:46px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

/* projects on homepage */
.project-content-centered {
  text-align: center;
}

.project-content-centered .text-link {
  justify-content: center;
}

.project-full-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--text);
}

/* Contact form helper fields */
.checkbox-row label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--text);
  font-weight: 500;
}

.checkbox-row input {
  width: auto;
  margin-top: 5px;
}

.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
