/* ==========================================================================
   MERIDIAN & CO — Design tokens and base styles
   A premium professional-services site. Off-white background, dark
   authoritative typography, a single deep-navy accent, generous whitespace.
   ========================================================================== */

:root{
  --bg: #F8F8F6;
  --bg-soft: #F2F1ED;
  --surface: #FFFFFF;
  --text: #111111;
  --muted: #62605A;
  --border: #E4E2DC;
  --border-strong: #D3D0C7;
  --accent: #16305C;
  --accent-dark: #0D1D3B;
  --accent-tint: #E9EDF4;
  --gold: #A6813C;
  --black: #111111;
  --white: #FFFFFF;
  --danger: #A83B32;
  --success: #35603E;

  --font-display: 'Fraunces', serif;
  --font-body: 'Inter', sans-serif;

  --container: 1320px;
  --radius-sm: 3px;
  --radius-md: 6px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer; background:none; border:none;}
input, select, textarea{font-family:inherit;}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

.wrap{max-width:var(--container); margin:0 auto; padding:0 40px;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-0.01em;
  color:var(--text);
}

p{color:var(--muted);}

.section{padding:104px 0;}
.section-tight{padding:64px 0;}
.section-soft{background:var(--bg-soft);}
.section-dark{background:var(--accent-dark); color:var(--white);}
.section-dark h2, .section-dark h3{color:var(--white);}
.section-dark p{color:rgba(255,255,255,0.72);}

.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:48px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(28px,3.4vw,42px);}
.section-head p{max-width:520px; margin-top:12px;}
.section-head.center{flex-direction:column; align-items:center; text-align:center; margin-left:auto; margin-right:auto;}
.section-head.center p{max-width:620px;}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--accent);
  margin-bottom:16px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--gold);}
.section-dark .eyebrow{color:var(--gold);}

/* ---- Buttons ---- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 30px; border-radius:2px; font-size:14px; font-weight:600;
  letter-spacing:0.02em; transition:all .2s ease; white-space:nowrap;
  border:1px solid transparent;
}
.btn-primary{background:var(--accent); color:var(--white);}
.btn-primary:hover{background:var(--accent-dark);}
.btn-outline{border-color:var(--text); color:var(--text);}
.btn-outline:hover{background:var(--text); color:var(--white);}
.btn-outline-light{border-color:rgba(255,255,255,0.6); color:var(--white);}
.btn-outline-light:hover{background:var(--white); color:var(--accent-dark); border-color:var(--white);}
.btn-gold{background:var(--gold); color:var(--white);}
.btn-gold:hover{background:#8C6C31;}
.btn-block{width:100%;}
.btn-sm{padding:11px 20px; font-size:13px;}
.btn[disabled]{opacity:0.55; cursor:not-allowed;}

.link-arrow{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14px; color:var(--accent); transition:gap .2s ease;}
.link-arrow svg{width:16px; height:16px; transition:transform .2s ease;}
.link-arrow:hover{gap:12px;}
.link-arrow:hover svg{transform:translateX(2px);}

/* ---- Announce bar ---- */
.announce-bar{background:var(--accent-dark); color:var(--white); font-size:13px; letter-spacing:0.04em; text-align:center; padding:9px 20px; font-weight:500;}

/* ---- Header ---- */
header{position:sticky; top:0; z-index:500; background:rgba(248,248,246,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
nav{max-width:var(--container); margin:0 auto; padding:0 40px; height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
.logo{font-family:var(--font-display); font-weight:600; font-size:22px; letter-spacing:-0.01em; display:flex; align-items:center; gap:8px;}
.logo .mark{width:11px; height:11px; background:var(--gold); display:inline-block; border-radius:1px;}
.nav-links{display:flex; align-items:center; gap:34px;}
.nav-links a{font-size:14px; font-weight:500; color:var(--text); position:relative; padding:6px 0;}
.nav-links a::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:right; transition:transform .25s ease;}
.nav-links a:hover::after, .nav-links a.active::after{transform:scaleX(1); transform-origin:left;}
.nav-links a.active{color:var(--accent);}
.nav-right{display:flex; align-items:center; gap:20px;}
.icon-btn{display:flex; align-items:center; justify-content:center; width:20px; height:20px; color:var(--text);}
.icon-btn svg{width:20px; height:20px;}
.menu-toggle{display:none; flex-direction:column; gap:5px; width:24px;}
.menu-toggle span{display:block; width:100%; height:1.5px; background:var(--text);}

.drawer-overlay{position:fixed; inset:0; background:rgba(13,29,59,0.4); opacity:0; visibility:hidden; transition:opacity .3s ease; z-index:900;}
.drawer-overlay.open{opacity:1; visibility:visible;}
.mobile-drawer{position:fixed; top:0; right:-340px; width:320px; max-width:88vw; height:100%; background:var(--white); z-index:950; transition:right .32s ease; padding:32px 28px; overflow-y:auto;}
.mobile-drawer.open{right:0;}
.drawer-close{display:flex; justify-content:flex-end; margin-bottom:28px;}
.drawer-close button{font-size:28px; line-height:1;}
.mobile-drawer .nav-links{flex-direction:column; align-items:flex-start; gap:22px;}
.mobile-drawer .btn{margin-top:16px;}

/* ---- Search ---- */
.search-overlay{position:fixed; inset:0; background:rgba(13,29,59,0.5); z-index:1000; opacity:0; visibility:hidden; transition:opacity .25s ease; display:flex; align-items:flex-start; justify-content:center; padding-top:110px;}
.search-overlay.open{opacity:1; visibility:visible;}
.search-panel{background:var(--white); width:600px; max-width:92vw; border-radius:var(--radius-md); padding:28px; max-height:70vh; overflow-y:auto;}
.search-input-row{display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--border); padding-bottom:16px;}
.search-input-row svg{width:20px; height:20px; color:var(--muted); flex-shrink:0;}
.search-input-row input{flex:1; border:none; font-size:18px; background:none;}
.search-close{font-size:22px; color:var(--muted);}
.search-meta{font-size:12px; color:var(--muted); margin-top:14px;}
.search-results{margin-top:10px;}
.search-result{display:block; padding:14px 0; border-bottom:1px solid var(--border);}
.search-result:last-child{border-bottom:none;}
.search-result-tag{font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--accent); font-weight:600;}
.search-result-title{font-family:var(--font-display); font-size:17px; margin-top:4px;}
.search-result-desc{font-size:13px; color:var(--muted); margin-top:3px;}
.search-empty{padding:24px 0; text-align:center; color:var(--muted); font-size:14px;}

/* ---- Hero ---- */
.hero{position:relative; min-height:88vh; display:flex; align-items:flex-end; color:var(--white); overflow:hidden;}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,20,36,0.35) 0%, rgba(9,15,28,0.55) 55%, rgba(6,10,20,0.82) 100%);}
.hero-content{position:relative; z-index:1; padding-bottom:88px; max-width:760px;}
.hero-content .eyebrow{color:var(--gold);}
.hero h1{font-size:clamp(38px,5.6vw,68px); color:var(--white); margin-bottom:22px;}
.hero p{font-size:19px; color:rgba(255,255,255,0.82); max-width:560px; margin-bottom:34px;}
.hero-actions{display:flex; gap:16px; flex-wrap:wrap;}

.page-hero{position:relative; padding:170px 0 90px; color:var(--white); overflow:hidden;}
.page-hero .hero-media::after{background:linear-gradient(180deg, rgba(9,15,28,0.6) 0%, rgba(9,15,28,0.72) 100%);}
.page-hero-content{position:relative; z-index:1; max-width:760px;}
.page-hero h1{font-size:clamp(34px,4.6vw,54px); color:var(--white); margin-bottom:16px;}
.page-hero p{color:rgba(255,255,255,0.8); font-size:18px; max-width:600px;}
.breadcrumb{position:relative; z-index:1; font-size:13px; color:rgba(255,255,255,0.65); margin-bottom:22px;}
.breadcrumb a{color:rgba(255,255,255,0.85);}
.breadcrumb a:hover{text-decoration:underline;}

/* ---- Trust bar ---- */
.trust-bar{padding:56px 0; border-bottom:1px solid var(--border);}
.trust-label{text-align:center; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); margin-bottom:34px;}
.trust-logos{display:flex; align-items:center; justify-content:center; gap:64px; flex-wrap:wrap;}
.trust-logos img{max-height:36px; width:auto; opacity:0.75; filter:grayscale(1);}

/* ---- Stats ---- */
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px;}
.stat-item{text-align:center; padding:0 12px;}
.stat-number{font-family:var(--font-display); font-size:clamp(36px,4vw,52px); font-weight:600; color:var(--accent);}
.stat-label{font-size:14px; color:var(--muted); margin-top:8px; letter-spacing:0.02em;}

/* ---- Cards / grids ---- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:32px;}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}

.service-card{background:var(--surface); border:1px solid var(--border); padding:40px 34px; transition:all .25s ease; display:flex; flex-direction:column; height:100%;}
.service-card:hover{border-color:var(--accent); box-shadow:0 24px 48px -28px rgba(17,17,17,0.22); transform:translateY(-3px);}
.service-card .icon-wrap{width:46px; height:46px; display:flex; align-items:center; justify-content:center; background:var(--accent-tint); color:var(--accent); border-radius:var(--radius-sm); margin-bottom:22px;}
.service-card .icon-wrap svg{width:22px; height:22px;}
.service-card h3{font-size:21px; margin-bottom:10px;}
.service-card p{font-size:14.5px; margin-bottom:20px;}
.service-card .link-arrow{margin-top:auto;}

.service-card-img{background:var(--surface); border:1px solid var(--border); overflow:hidden; transition:all .25s ease; display:flex; flex-direction:column; height:100%;}
.service-card-img:hover{box-shadow:0 24px 48px -28px rgba(17,17,17,0.22); transform:translateY(-3px);}
.service-card-img .img-wrap{aspect-ratio:4/3; overflow:hidden;}
.service-card-img .img-wrap img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.service-card-img:hover .img-wrap img{transform:scale(1.05);}
.service-card-img .body{padding:28px 30px 32px; display:flex; flex-direction:column; flex:1;}
.service-card-img h3{font-size:20px; margin-bottom:10px;}
.service-card-img p{font-size:14.5px; margin-bottom:18px;}
.service-card-img .link-arrow{margin-top:auto;}

.value-card{padding:8px 0;}
.value-card .num{font-family:var(--font-display); font-size:15px; color:var(--gold); font-weight:600; margin-bottom:14px; letter-spacing:0.04em;}
.value-card h3{font-size:19px; margin-bottom:10px;}
.value-card p{font-size:14.5px;}

/* ---- Industries ---- */
.industries-layout{display:grid; grid-template-columns:340px 1fr; gap:0; border:1px solid var(--border); background:var(--surface);}
.industries-list{border-right:1px solid var(--border);}
.industry-item{display:flex; align-items:center; justify-content:space-between; padding:22px 30px; border-bottom:1px solid var(--border); cursor:pointer; transition:background .2s ease;}
.industry-item:last-child{border-bottom:none;}
.industry-item span{font-family:var(--font-display); font-size:18px;}
.industry-item svg{width:16px; height:16px; opacity:0; transition:opacity .2s ease; color:var(--accent);}
.industry-item:hover, .industry-item.active{background:var(--bg-soft);}
.industry-item.active span{color:var(--accent);}
.industry-item.active svg{opacity:1;}
.industry-detail{padding:44px 48px; position:relative; min-height:340px;}
.industry-detail-img{width:100%; aspect-ratio:16/8; object-fit:cover; margin-bottom:26px; border-radius:var(--radius-sm);}
.industry-detail h3{font-size:26px; margin-bottom:14px;}
.industry-detail p{max-width:560px; margin-bottom:20px;}
.industry-tags{display:flex; gap:10px; flex-wrap:wrap;}
.industry-tag{font-size:12px; padding:6px 14px; border:1px solid var(--border-strong); border-radius:20px; color:var(--muted);}

/* ---- Why choose us ---- */
.why-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.why-media{position:relative;}
.why-media img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.why-media-badge{position:absolute; bottom:-26px; left:-26px; background:var(--accent); color:var(--white); padding:26px 30px; max-width:230px;}
.why-media-badge .stat-number{color:var(--white); font-size:34px;}
.why-media-badge .stat-label{color:rgba(255,255,255,0.75); font-size:13px;}
.why-list{display:flex; flex-direction:column; gap:34px; margin-top:36px;}
.why-list-item{display:flex; gap:20px;}
.why-list-item .icon-wrap{width:42px; height:42px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--accent-tint); color:var(--accent); border-radius:50%;}
.why-list-item .icon-wrap svg{width:19px; height:19px;}
.why-list-item h3{font-size:18px; margin-bottom:6px;}
.why-list-item p{font-size:14.5px;}

/* ---- Process ---- */
.process-list{display:flex; flex-direction:column;}
.process-row{display:grid; grid-template-columns:100px 1fr; gap:32px; padding:34px 0; border-bottom:1px solid var(--border); align-items:flex-start;}
.process-row:first-child{padding-top:0;}
.process-row:last-child{border-bottom:none;}
.process-num{font-family:var(--font-display); font-size:42px; color:var(--border-strong); font-weight:600;}
.process-row.is-current .process-num{color:var(--accent);}
.process-row h3{font-size:22px; margin-bottom:8px;}
.process-row p{max-width:520px;}
.process-media{position:sticky; top:120px;}
.process-media img{width:100%; aspect-ratio:4/5; object-fit:cover;}

/* ---- Case studies ---- */
.case-card{background:var(--surface); border:1px solid var(--border); overflow:hidden; transition:all .25s ease;}
.case-card:hover{box-shadow:0 24px 48px -28px rgba(17,17,17,0.22); transform:translateY(-3px);}
.case-card .img-wrap{aspect-ratio:16/10; overflow:hidden; position:relative;}
.case-card .img-wrap img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.case-card:hover .img-wrap img{transform:scale(1.05);}
.case-tag{position:absolute; top:18px; left:18px; background:rgba(255,255,255,0.94); color:var(--accent); font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:6px 14px; border-radius:20px;}
.case-body{padding:30px 32px 34px;}
.case-body .kicker{font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px;}
.case-body h3{font-size:22px; margin-bottom:14px;}
.case-metrics{display:flex; gap:28px; margin:20px 0 6px; padding-top:20px; border-top:1px solid var(--border);}
.case-metric-num{font-family:var(--font-display); font-size:24px; color:var(--accent); font-weight:600;}
.case-metric-label{font-size:12px; color:var(--muted); margin-top:2px;}

.filter-bar{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:44px;}
.filter-btn{padding:10px 20px; border:1px solid var(--border-strong); font-size:13px; font-weight:500; border-radius:20px; transition:all .2s ease;}
.filter-btn:hover{border-color:var(--accent);}
.filter-btn.active{background:var(--accent); color:var(--white); border-color:var(--accent);}

/* ---- Testimonials ---- */
.testimonial-slider{position:relative; max-width:800px; margin:0 auto; text-align:center;}
.testimonial-slide{display:none;}
.testimonial-slide.active{display:block; animation:fadeIn .5s ease;}
@keyframes fadeIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
.stars{color:var(--gold); font-size:16px; letter-spacing:3px; margin-bottom:26px;}
.testimonial-quote{font-family:var(--font-display); font-size:clamp(20px,2.4vw,28px); line-height:1.5; color:var(--text); margin-bottom:28px;}
.testimonial-author{display:flex; align-items:center; justify-content:center; gap:14px;}
.testimonial-avatar{width:48px; height:48px; border-radius:50%; object-fit:cover;}
.testimonial-name{font-weight:600; font-size:14.5px;}
.testimonial-role{font-size:13px; color:var(--muted);}
.slider-dots{display:flex; justify-content:center; gap:8px; margin-top:36px;}
.slider-dot{width:8px; height:8px; border-radius:50%; background:var(--border-strong); transition:all .2s ease;}
.slider-dot.active{background:var(--accent); width:22px; border-radius:4px;}

/* ---- Team ---- */
.team-card{text-align:left;}
.team-card .img-wrap{aspect-ratio:4/5; overflow:hidden; margin-bottom:20px; background:var(--surface);}
.team-card .img-wrap img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.team-card:hover .img-wrap img{transform:scale(1.04);}
.team-card h3{font-size:19px; margin-bottom:4px;}
.team-card .role{font-size:13.5px; color:var(--accent); font-weight:500; margin-bottom:12px;}
.team-card p{font-size:14px; margin-bottom:14px;}
.team-social{display:flex; gap:12px;}
.team-social a{width:32px; height:32px; border:1px solid var(--border-strong); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:all .2s ease;}
.team-social a:hover{background:var(--accent); border-color:var(--accent); color:var(--white);}
.team-social svg{width:14px; height:14px;}

/* ---- FAQ ---- */
.faq-list{max-width:840px; margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-question{display:flex; align-items:center; justify-content:space-between; padding:26px 4px; cursor:pointer; gap:20px;}
.faq-question h3{font-size:18px; font-weight:600; font-family:var(--font-body);}
.faq-icon{width:20px; height:20px; flex-shrink:0; position:relative;}
.faq-icon::before, .faq-icon::after{content:""; position:absolute; background:var(--text); transition:transform .25s ease;}
.faq-icon::before{width:14px; height:1.5px; top:9px; left:3px;}
.faq-icon::after{width:1.5px; height:14px; top:3px; left:9px;}
.faq-item.open .faq-icon::after{transform:rotate(90deg);}
.faq-answer{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-answer-inner{padding:0 4px 26px; font-size:15px; color:var(--muted); max-width:680px;}

/* ---- Insights / blog ---- */
.insight-card{background:var(--surface); border:1px solid var(--border); overflow:hidden; transition:all .25s ease;}
.insight-card:hover{box-shadow:0 24px 48px -28px rgba(17,17,17,0.22); transform:translateY(-3px);}
.insight-card .img-wrap{aspect-ratio:16/10; overflow:hidden;}
.insight-card .img-wrap img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.insight-card:hover .img-wrap img{transform:scale(1.05);}
.insight-body{padding:26px 28px 30px;}
.insight-meta{display:flex; gap:12px; align-items:center; font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:var(--accent); font-weight:600; margin-bottom:12px;}
.insight-meta .date{color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0;}
.insight-body h3{font-size:19px; margin-bottom:10px; line-height:1.3;}
.insight-body p{font-size:14px; margin-bottom:16px;}

/* ---- Newsletter ---- */
.newsletter-box{background:var(--accent-dark); color:var(--white); padding:64px 60px; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.newsletter-box h3{color:var(--white); font-size:26px; max-width:380px;}
.newsletter-box p{color:rgba(255,255,255,0.7); margin-top:10px; max-width:380px;}
.newsletter-form{display:flex; gap:0; max-width:400px; width:100%;}
.newsletter-form input{flex:1; padding:15px 18px; border:1px solid rgba(255,255,255,0.25); background:rgba(255,255,255,0.06); color:var(--white); font-size:14px;}
.newsletter-form input::placeholder{color:rgba(255,255,255,0.5);}
.newsletter-form button{padding:15px 24px; background:var(--gold); color:var(--white); font-weight:600; font-size:13px; white-space:nowrap;}

/* ---- Forms ---- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.form-group{display:flex; flex-direction:column; gap:8px; margin-bottom:22px;}
.form-group.full{grid-column:1/-1;}
.form-group label{font-size:13px; font-weight:600; color:var(--text);}
.form-group .required{color:var(--danger);}
.form-group input, .form-group select, .form-group textarea{
  padding:14px 16px; border:1px solid var(--border-strong); background:var(--surface); font-size:14.5px; border-radius:var(--radius-sm); color:var(--text); width:100%;
}
.form-group textarea{resize:vertical; min-height:120px;}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus{border-color:var(--accent);}
.form-group.error input, .form-group.error select, .form-group.error textarea{border-color:var(--danger);}
.form-error-msg{font-size:12.5px; color:var(--danger); display:none;}
.form-group.error .form-error-msg{display:block;}
.form-card{background:var(--surface); border:1px solid var(--border); padding:52px; }

.radio-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.radio-card{border:1px solid var(--border-strong); padding:16px 18px; border-radius:var(--radius-sm); display:flex; align-items:center; gap:12px; cursor:pointer; transition:all .2s ease; font-size:14px;}
.radio-card:hover{border-color:var(--accent);}
.radio-card input{width:16px; height:16px; accent-color:var(--accent);}
.radio-card.checked{border-color:var(--accent); background:var(--accent-tint);}

.success-panel{text-align:center; padding:64px 20px;}
.success-check{width:64px; height:64px; border-radius:50%; background:var(--accent-tint); color:var(--accent); display:flex; align-items:center; justify-content:center; margin:0 auto 26px;}
.success-check svg{width:30px; height:30px;}
.success-panel h3{font-size:26px; margin-bottom:12px;}
.success-panel p{max-width:420px; margin:0 auto;}

/* ---- Estimator ---- */
.estimator-box{background:var(--surface); border:1px solid var(--border); padding:48px; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start;}
.estimator-result{background:var(--accent-dark); color:var(--white); padding:40px; text-align:center; position:sticky; top:120px;}
.estimator-result .label{font-size:12px; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.6); margin-bottom:14px;}
.estimator-result .amount{font-family:var(--font-display); font-size:38px; color:var(--white); margin-bottom:10px;}
.estimator-result .note{font-size:12.5px; color:rgba(255,255,255,0.55);}

/* ---- Toast ---- */
.toast-container{position:fixed; bottom:28px; right:28px; z-index:1100; display:flex; flex-direction:column; gap:12px;}
.toast{background:var(--accent-dark); color:var(--white); padding:16px 22px; border-radius:var(--radius-sm); font-size:14px; display:flex; align-items:center; gap:12px; min-width:260px; box-shadow:0 20px 40px -20px rgba(0,0,0,0.4); animation:toastIn .3s ease;}
.toast svg{width:18px; height:18px; color:var(--gold); flex-shrink:0;}
@keyframes toastIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}

/* ---- Footer ---- */
footer{background:var(--accent-dark); color:rgba(255,255,255,0.7); padding-top:80px;}
.footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:50px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,0.12);}
.footer-logo{font-family:var(--font-display); font-size:22px; color:var(--white); margin-bottom:18px; display:block;}
.footer-grid p{font-size:14px; color:rgba(255,255,255,0.55); max-width:280px;}
.footer-col h4{color:var(--white); font-size:13px; text-transform:uppercase; letter-spacing:0.08em; font-family:var(--font-body); margin-bottom:20px;}
.footer-col ul{display:flex; flex-direction:column; gap:12px;}
.footer-col a{font-size:14.5px; color:rgba(255,255,255,0.65); transition:color .2s ease;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{display:flex; align-items:center; justify-content:space-between; padding:26px 0; font-size:13px; color:rgba(255,255,255,0.5); flex-wrap:wrap; gap:14px;}
.footer-bottom-links{display:flex; gap:24px;}
.footer-social{display:flex; gap:12px;}
.footer-social a{width:34px; height:34px; border:1px solid rgba(255,255,255,0.2); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.footer-social a:hover{background:rgba(255,255,255,0.1);}
.footer-social svg{width:15px; height:15px;}

/* ---- Reveal on scroll ---- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1; transform:translateY(0);}

/* ---- Misc ---- */
.divider{height:1px; background:var(--border); width:100%;}
.pill{display:inline-block; font-size:12px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; padding:6px 14px; border-radius:20px; background:var(--accent-tint); color:var(--accent);}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
.two-col img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.check-list{display:flex; flex-direction:column; gap:16px; margin:26px 0;}
.check-list li{display:flex; align-items:flex-start; gap:12px; font-size:15px; color:var(--text);}
.check-list svg{width:18px; height:18px; color:var(--accent); flex-shrink:0; margin-top:2px;}
.values-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:24px; text-align:center;}
.values-grid .value-num{font-family:var(--font-display); font-size:15px; color:var(--gold); margin-bottom:12px;}
.values-grid h4{font-size:17px; margin-bottom:8px;}
.values-grid p{font-size:13.5px;}
.counter-anim{transition:none;}
.goal-btn{padding:20px 26px; border:1px solid var(--border-strong); text-align:left; font-size:15px; font-weight:600; transition:all .2s ease; display:flex; align-items:center; justify-content:space-between;}
.goal-btn:hover{border-color:var(--accent);}
.goal-btn.selected{background:var(--accent); color:var(--white); border-color:var(--accent);}
.goal-btn svg{width:18px; height:18px; opacity:0.5;}
.recommend-panel{background:var(--bg-soft); border:1px solid var(--border); padding:36px; margin-top:8px;}
.recommend-panel.hidden{display:none;}

/* ---- Placeholder block (fallback) ---- */
.placeholder-block{width:100%; height:100%; background:linear-gradient(135deg, var(--bg-soft), var(--border)); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:13px;}

/* ---- Responsive ---- */
@media (max-width:1080px){
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .why-grid, .two-col{grid-template-columns:1fr; gap:40px;}
  .industries-layout{grid-template-columns:1fr;}
  .industries-list{border-right:none; border-bottom:1px solid var(--border);}
  .footer-grid{grid-template-columns:1fr 1fr; gap:40px;}
  .estimator-box{grid-template-columns:1fr;}
  .estimator-result{position:static;}
  .values-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:860px){
  .nav-links{display:none;}
  .menu-toggle{display:flex;}
  .nav-right .btn{display:none;}
  .stats-grid{grid-template-columns:repeat(2,1fr); gap:32px;}
  .grid-3, .grid-4{grid-template-columns:1fr;}
  .section{padding:72px 0;}
  .wrap{padding:0 24px;}
  nav{padding:0 24px;}
  .process-row{grid-template-columns:60px 1fr;}
  .form-grid, .radio-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .newsletter-box{flex-direction:column; align-items:flex-start; padding:44px 32px;}
  .newsletter-form{max-width:100%;}
  .values-grid{grid-template-columns:repeat(2,1fr);}
  .estimator-box, .form-card{padding:28px;}
  .hero-content{padding-bottom:56px;}
  .why-media-badge{position:static; margin-top:-1px;}
}
