/* ===========================================================
   Fiscal Ease Consulting LLP — shared site stylesheet
=========================================================== */
:root{
  --dark:#152341;
  --dark-2:#0D1830;
  --cream:#F5F7FB;
  --cream-line:#E2E7F1;
  --gold:#B8863E;
  --gold-light:#D2A155;
  --gold-pale:#EFDFC0;
  --text:#182242;
  --muted:#565F78;
  --muted-2:rgba(255,255,255,0.78);
  --white:#FFFFFF;
  --radius:10px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:var(--cream);
  font-size:16.5px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
h1,h2,h3,h4{
  font-family:'Playfair Display',serif;
  font-weight:600;
  color:var(--text);
  line-height:1.15;
}
em{font-style:italic;color:var(--gold);font-weight:600;}
.eyebrow{
  font-size:12px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold);font-weight:600;display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:32px;height:1px;background:var(--gold);display:inline-block;}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
.eyebrow.light{color:var(--gold-light);}
.eyebrow.light::before{background:var(--gold-light);}
.container{max-width:1240px;margin:0 auto;padding:0 40px;}
.container.narrow{max-width:920px;}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:15px 28px;font-weight:600;font-size:14.5px;letter-spacing:.2px;
  border-radius:var(--radius);cursor:pointer;border:1.5px solid transparent;
  transition:all .25s ease;white-space:nowrap;
}
.btn-solid{background:var(--dark);color:var(--cream);border-color:var(--dark);}
.btn-solid:hover{background:var(--dark-2);}
.btn-outline{background:transparent;color:var(--text);border-color:var(--text);}
.btn-outline:hover{background:var(--text);color:var(--cream);}
.btn-gold{background:var(--gold);color:var(--white);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-light);}
.btn-ghost-light{background:transparent;color:var(--cream);border-color:rgba(255,255,255,0.4);}
.btn-ghost-light:hover{background:rgba(255,255,255,0.12);border-color:var(--cream);}
.btn-sm{padding:10px 18px;font-size:13px;}

/* ===== HEADER ===== */
header{position:sticky;top:0;z-index:200;background:var(--cream);border-bottom:1px solid var(--cream-line);}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:11px 40px;max-width:1240px;margin:0 auto;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;flex:none;}
.brand img{height:54px;width:auto;}
.brand-text-name{font-family:'Playfair Display',serif;font-weight:600;font-size:23px;color:var(--text);line-height:1.15;}
.brand-text-sub{font-size:11.5px;letter-spacing:2.2px;color:var(--muted);font-weight:600;}
nav.main-nav{display:flex;align-items:center;gap:30px;}
nav.main-nav > ul{display:flex;gap:30px;align-items:center;}
nav.main-nav a.nav-link{font-size:14.5px;font-weight:500;color:var(--text);position:relative;padding:4px 0;}
nav.main-nav a.nav-link:hover, nav.main-nav a.nav-link.active{color:var(--gold);}
.has-dropdown{position:relative;}
.dd-toggle{display:flex;align-items:center;gap:5px;cursor:pointer;}
.dd-toggle svg{width:11px;height:11px;transition:transform .2s;}
.has-dropdown:hover .dd-toggle svg{transform:rotate(180deg);}

/* mega menu */
.mega{
  position:absolute;top:130%;left:50%;transform:translateX(-50%);
  background:var(--white);width:760px;max-width:82vw;
  box-shadow:0 24px 50px rgba(20,49,43,0.16);
  padding:34px 34px 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
  opacity:0;visibility:hidden;transition:all .2s ease;border-top:2px solid var(--gold);
}
.has-dropdown:hover .mega{opacity:1;visibility:visible;top:120%;}
.mega h5{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;font-family:'Inter',sans-serif;font-weight:700;}
.mega a{display:block;font-size:13.5px;color:var(--text);padding:6px 0;line-height:1.3;}
.mega a:hover{color:var(--gold);}
.mega-foot{grid-column:1/-1;border-top:1px solid var(--cream-line);margin-top:6px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;}
.mega-foot a{font-size:13px;font-weight:700;color:var(--gold);display:inline-flex;gap:6px;align-items:center;padding:0;}

/* simple dropdown (non-mega) */
.dropdown{
  position:absolute;top:130%;left:50%;transform:translateX(-50%);background:var(--white);
  min-width:230px;box-shadow:0 18px 40px rgba(20,49,43,0.14);padding:10px;
  opacity:0;visibility:hidden;transition:all .2s ease;border-top:2px solid var(--gold);
}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;top:120%;}
.dropdown a{display:block;padding:11px 14px;font-size:14px;color:var(--text);border-radius:2px;}
.dropdown a:hover{background:var(--cream);color:var(--gold);}

.nav-right{display:flex;align-items:center;gap:22px;flex:none;}
.nav-contact{display:flex;flex-direction:column;gap:5px;padding-right:20px;border-right:1px solid var(--cream-line);}
.nav-contact a{font-size:12.5px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:7px;white-space:nowrap;line-height:1;}
.nav-contact a svg{width:13px;height:13px;flex:none;color:var(--gold);}
.nav-contact a:hover{color:var(--gold);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.burger span{width:24px;height:2px;background:var(--text);transition:transform .25s ease, opacity .2s ease;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== PAGE HERO (inner pages) ===== */
.page-hero{position:relative;background:linear-gradient(155deg, var(--dark) 0%, var(--dark-2) 100%);color:var(--cream);overflow:hidden;padding:52px 0 46px;}
.page-hero::before{content:"";position:absolute;top:-100px;right:-100px;width:340px;height:340px;border:1px solid rgba(201,151,76,0.15);border-radius:50%;}
.page-hero::after{content:"";position:absolute;bottom:-140px;left:-60px;width:260px;height:260px;border:1px solid rgba(201,151,76,0.1);border-radius:50%;}
.breadcrumb{position:relative;z-index:1;font-size:12.5px;color:var(--muted-2);margin-bottom:22px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.breadcrumb a{color:var(--muted-2);}
.breadcrumb a:hover{color:var(--gold-light);}
.page-hero-inner{position:relative;z-index:1;max-width:760px;}
.page-hero h1{font-size:36px;line-height:1.16;color:var(--cream);margin:14px 0 14px;letter-spacing:-.5px;}
.page-hero h1 em{color:var(--gold-light);}
.page-hero p{font-size:16.5px;color:var(--muted-2);max-width:600px;margin-bottom:30px;}
.page-hero .btn-row{display:flex;gap:14px;flex-wrap:wrap;}

/* small hero stat row under page-hero */
.hero-mini-stats{position:relative;z-index:1;display:flex;gap:36px;margin-top:24px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,0.14);padding-top:18px;}
.hero-mini-stats div{font-size:13px;color:var(--muted-2);}
.hero-mini-stats strong{display:block;font-family:'Playfair Display',serif;font-size:24px;color:var(--gold-light);font-weight:700;}

/* ===== SECTION GENERIC ===== */
section{padding:72px 0;}
section.tight{padding:50px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head .eyebrow{margin-bottom:20px;}
.section-head h2{font-size:32px;letter-spacing:-.5px;}
.section-head p{color:var(--muted);font-size:16px;margin-top:16px;}
.bg-white{background:var(--white);}
.bg-cream{background:var(--cream);}
.bg-dark{background:var(--dark);color:var(--cream);}
.bg-dark .section-head h2{color:var(--cream);}
.bg-dark .section-head p{color:var(--muted-2);}
.bg-dark h3, .bg-dark h4{color:var(--cream);}

/* ===== HOME HERO ===== */
.hero{position:relative;overflow:hidden;background:var(--cream);}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--cream-line) 1px, transparent 1px),linear-gradient(90deg, var(--cream-line) 1px, transparent 1px);background-size:64px 64px;opacity:.6;z-index:0;}
.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;align-items:stretch;}
.hero-left{padding:52px 56px 48px 40px;max-width:620px;}
.hero-left .eyebrow{margin-bottom:16px;}
.hero-left h1{font-size:42px;line-height:1.14;letter-spacing:-0.5px;margin-bottom:18px;}
.hero-left p.lead{font-size:15.5px;color:var(--muted);max-width:520px;margin-bottom:26px;}
.hero-btns{display:flex;gap:14px;margin-bottom:32px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:40px;padding-top:20px;border-top:1px solid var(--cream-line);flex-wrap:wrap;}
.hero-stat .num{font-family:'Playfair Display',serif;font-size:34px;font-weight:700;color:var(--text);display:flex;align-items:flex-start;gap:2px;}
.hero-stat .num sup{font-size:16px;margin-top:2px;}
.hero-stat .label{font-size:13px;color:var(--muted);margin-top:4px;}
.hero-right{position:relative;background:linear-gradient(155deg, var(--dark) 0%, var(--dark-2) 100%);overflow:visible;}
.hero-right::before{content:"";position:absolute;top:-80px;right:-80px;width:320px;height:320px;border:1px solid rgba(201,151,76,0.18);border-radius:50%;}
.hero-right::after{content:"";position:absolute;top:-40px;right:-40px;width:240px;height:240px;border:1px solid rgba(201,151,76,0.14);border-radius:50%;}
.advisory-card{position:absolute;top:54px;left:52px;right:52px;background:var(--white);padding:32px 32px 34px;box-shadow:0 30px 60px rgba(0,0,0,0.28);}
.advisory-card .eyebrow{margin-bottom:16px;}
.advisory-card h3{font-size:22px;margin-bottom:18px;max-width:340px;}
.advisory-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;}
.compass-badge{width:52px;height:52px;flex:none;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.adv-step{display:flex;gap:14px;padding:10px 0;}
.adv-step .step-icon{width:40px;height:40px;flex:none;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.adv-step h4{font-family:'Inter',sans-serif;font-size:15.5px;font-weight:700;margin-bottom:4px;color:var(--text);}
.adv-step p{font-size:13.5px;color:var(--muted);}
.adv-divider{width:1px;height:12px;background:var(--cream-line);margin-left:20px;}
.quote-card{position:absolute;bottom:34px;left:-6%;width:260px;background:var(--gold);color:var(--white);padding:26px 26px;box-shadow:0 24px 50px rgba(20,49,43,0.35);}
.quote-card .mark{font-family:'Playfair Display',serif;font-size:38px;line-height:0;color:rgba(255,255,255,0.55);display:block;margin-bottom:10px;}
.quote-card p{font-family:'Playfair Display',serif;font-style:italic;font-size:19px;line-height:1.35;}

/* trust strip */
.trust-strip{position:relative;z-index:1;background:var(--dark);display:grid;grid-template-columns:repeat(4,1fr);}
.trust-item{display:flex;gap:16px;align-items:flex-start;padding:34px 40px;border-right:1px solid rgba(255,255,255,0.1);color:var(--cream);}
.trust-item:last-child{border-right:none;}
.trust-item .ic{width:38px;height:38px;flex:none;color:var(--gold-light);}
.trust-item h4{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;color:var(--cream);margin-bottom:3px;}
.trust-item p{font-size:12.5px;color:var(--muted-2);}

/* ===== ABOUT ===== */
.about-layout{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
.about-visual{position:relative;background:url('about-team.jpg') center/cover no-repeat;aspect-ratio:4/5;display:flex;align-items:flex-end;padding:36px;overflow:hidden;}
.about-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(21,35,65,0) 45%, rgba(13,24,48,.88) 100%);}
.about-visual-caption{position:relative;z-index:1;color:var(--cream);border-top:1px solid rgba(255,255,255,0.25);padding-top:20px;}
.about-visual-caption .num{font-family:'Playfair Display',serif;font-size:30px;color:var(--gold-light);}
.about-visual-caption p{font-size:13px;color:var(--muted-2);margin-top:4px;}
.about-copy p{color:var(--muted);font-size:16px;margin-bottom:20px;max-width:560px;}
.about-points{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:34px;}
.about-point{display:flex;gap:14px;align-items:flex-start;}
.about-point .dot{width:8px;height:8px;background:var(--gold);margin-top:7px;flex:none;}
.about-point h4{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;margin-bottom:3px;}
.about-point p{font-size:13.5px;color:var(--muted);}

/* value / timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.timeline-line{position:absolute;top:26px;left:0;right:0;height:1px;background:var(--cream-line);z-index:0;}
.t-step{padding:0 30px 0 0;position:relative;}
.t-step .t-num{font-family:'Playfair Display',serif;font-style:italic;font-size:44px;-webkit-text-stroke:1.4px var(--gold);color:transparent;margin-bottom:22px;}
.t-step h3{font-size:19px;margin-bottom:10px;}
.t-step p{font-size:14px;color:var(--muted);}

/* WHY / feature grid */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--cream-line);border:1px solid var(--cream-line);}
.why-card{background:var(--cream);padding:38px 30px;}
.why-card.white{background:var(--white);}
.why-card .why-num{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);font-size:22px;margin-bottom:20px;}
.why-card h3{font-size:18.5px;margin-bottom:10px;}
.why-card p{font-size:14px;color:var(--muted);}

/* ===== SERVICES GRID (home / hub) ===== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.12);}
.bg-white .services-grid, .services-grid.on-light{background:var(--cream-line);}
.service-card{background:var(--dark);padding:32px 30px;transition:background .25s ease;}
.service-card:hover{background:var(--dark-2);}
.service-card.light{background:var(--white);}
.service-card.light:hover{background:var(--cream);}
.service-card .s-icon{width:50px;height:50px;border:1px solid rgba(201,151,76,0.4);display:flex;align-items:center;justify-content:center;color:var(--gold-light);margin-bottom:24px;}
.service-card.light .s-icon{color:var(--gold);}
.service-card h3{color:var(--cream);font-size:19px;margin-bottom:12px;}
.service-card.light h3{color:var(--text);}
.service-card p{color:var(--muted-2);font-size:14px;margin-bottom:16px;}
.service-card.light p{color:var(--muted);}
.service-card .s-link{font-size:13px;font-weight:600;color:var(--gold-light);display:inline-flex;align-items:center;gap:6px;}
.service-card.light .s-link{color:var(--gold);}

/* service hub category blocks */
.svc-category{margin-bottom:50px;}
.svc-category-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--cream-line);padding-bottom:16px;}
.svc-category-head h2{font-size:26px;}
.svc-category-head .tag{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);font-weight:700;}
.svc-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.svc-mini-card{background:var(--white);border:1px solid var(--cream-line);padding:26px 24px;transition:all .2s ease;display:flex;flex-direction:column;gap:10px;}
.svc-mini-card:hover{border-color:var(--gold);box-shadow:0 14px 30px rgba(20,49,43,0.08);transform:translateY(-2px);}
.svc-mini-card .mi{width:38px;height:38px;background:var(--cream);color:var(--gold);display:flex;align-items:center;justify-content:center;flex:none;}
.svc-mini-card h4{font-family:'Inter',sans-serif;font-size:15px;font-weight:700;}
.svc-mini-card p{font-size:13px;color:var(--muted);flex:1;}
.svc-mini-card .go{font-size:12.5px;font-weight:700;color:var(--gold);display:inline-flex;gap:5px;align-items:center;}

/* ===== PROCESS ===== */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.process-step{padding:0 30px 0 0;position:relative;}
.process-step .p-num{font-family:'Playfair Display',serif;font-style:italic;font-size:44px;-webkit-text-stroke:1.4px var(--gold);color:transparent;margin-bottom:22px;}
.process-step h3{font-size:19px;margin-bottom:10px;}
.process-step p{font-size:14px;color:var(--muted);}
.process-line{position:absolute;top:26px;left:0;right:0;height:1px;background:var(--cream-line);z-index:0;}
.bg-dark .process-step .p-num{-webkit-text-stroke:1.4px var(--gold-light);}
.bg-dark .process-line{background:rgba(255,255,255,0.15);}
.bg-dark .process-step p{color:var(--muted-2);}

/* ===== INDUSTRIES ===== */
.industries-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.industry-card{border:1px solid var(--cream-line);padding:24px 22px;display:flex;align-items:center;gap:18px;transition:border-color .2s ease, box-shadow .2s ease;background:var(--white);}
.industry-card:hover{border-color:var(--gold);box-shadow:0 14px 30px rgba(20,49,43,0.08);}
.industry-card .i-icon{width:46px;height:46px;flex:none;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.industry-card h4{font-family:'Inter',sans-serif;font-size:15.5px;font-weight:700;}
.industry-card p{font-size:12.5px;color:var(--muted);margin-top:2px;}

/* ===== QUOTE BAND ===== */
.quote-band{background:var(--gold);color:var(--white);padding:56px 0;text-align:center;}
.quote-band .mark-big{font-family:'Playfair Display',serif;font-size:52px;color:rgba(255,255,255,0.5);}
.quote-band p{font-family:'Playfair Display',serif;font-style:italic;font-size:29px;max-width:760px;margin:8px auto 22px;line-height:1.35;}
.quote-band .who{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,0.85);}

/* ===== INSIGHTS ===== */
.insights-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;gap:30px;flex-wrap:wrap;}
.insights-head .section-head{margin-bottom:0;}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.insight-card{background:var(--white);border:1px solid var(--cream-line);display:flex;flex-direction:column;}
.insight-thumb{height:170px;background:var(--dark);position:relative;overflow:hidden;}
.insight-thumb::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.07) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.07) 1px, transparent 1px);background-size:24px 24px;}
.insight-tag{position:absolute;bottom:16px;left:16px;z-index:1;background:var(--gold);color:var(--white);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 12px;}
.insight-body{padding:22px 22px 24px;flex:1;display:flex;flex-direction:column;}
.insight-body .date{font-size:12px;color:var(--muted);margin-bottom:8px;}
.insight-body h3{font-size:18px;margin-bottom:12px;flex:1;}
.insight-body a.read{font-size:13px;font-weight:700;color:var(--gold);display:inline-flex;gap:6px;align-items:center;}

/* ===== SERVICE DETAIL PAGE ===== */
.svc-layout{display:grid;grid-template-columns:1fr 320px;gap:60px;align-items:start;}
.svc-main p{color:var(--muted);font-size:16px;margin-bottom:20px;max-width:680px;}
.svc-main h2{font-size:22px;margin:34px 0 16px;}

/* ===== INSIGHT ARTICLE PAGE ===== */
.article-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted-2);margin-top:18px;}
.article-meta span:not(:last-child)::after{content:"\2022";margin-left:10px;color:var(--gold-light);}
.article-body{max-width:760px;margin:0 auto;}
.article-body p{color:var(--muted);font-size:16px;line-height:1.75;margin-bottom:20px;}
.article-body h2{font-size:26px;margin:48px 0 18px;}
.article-body h2:first-child{margin-top:0;}
.article-body h3{font-size:18px;margin:28px 0 10px;color:var(--text);}
.article-body strong{color:var(--text);}
.article-table{width:100%;border-collapse:collapse;margin:24px 0 28px;font-size:14.5px;}
.article-table th{background:var(--dark);color:var(--cream);text-align:left;padding:12px 16px;font-weight:600;font-size:13px;letter-spacing:.3px;}
.article-table td{padding:12px 16px;border-bottom:1px solid var(--cream-line);color:var(--muted);}
.article-table tr:last-child td{border-bottom:none;}
.article-table td:first-child, .article-table th:first-child{color:var(--text);font-weight:600;}
.article-callout{background:var(--cream);border-left:3px solid var(--gold);padding:20px 24px;margin:24px 0 28px;font-size:14.5px;color:var(--muted);line-height:1.7;}
.article-callout strong{color:var(--text);}
.article-note{font-size:13px;color:var(--muted);font-style:italic;margin-top:-10px;margin-bottom:24px;}
.svc-main h2:first-child{margin-top:0;}
.check-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-bottom:10px;}
.check-list li{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--text);}
.check-list .chk{width:20px;height:20px;flex:none;background:var(--gold);color:var(--white);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.simple-list{margin-bottom:10px;}
.simple-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted);padding:10px 0;border-top:1px solid var(--cream-line);}
.simple-list li:first-child{border-top:none;}
.simple-list b{color:var(--text);}

.side-card{background:var(--white);border:1px solid var(--cream-line);padding:26px 24px;margin-bottom:20px;}
.side-card h4{font-size:17px;margin-bottom:16px;}
.side-card .side-line{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--cream-line);font-size:13.5px;}
.side-card .side-line:first-of-type{border-top:none;}
.side-card .side-line svg{color:var(--gold);flex:none;margin-top:2px;}
.side-card.dark{background:var(--dark);color:var(--cream);}
.side-card.dark h4{color:var(--cream);}
.side-card .btn{width:100%;justify-content:center;margin-top:10px;}
.side-related a{display:block;font-size:14px;padding:10px 0;border-top:1px solid var(--cream-line);color:var(--text);}
.side-related a:first-of-type{border-top:none;}
.side-related a:hover{color:var(--gold);}

.faq-item{border-top:1px solid var(--cream-line);padding:18px 0;}
.faq-item:last-child{border-bottom:1px solid var(--cream-line);}
.faq-item h4{font-size:16px;margin-bottom:8px;font-family:'Inter',sans-serif;font-weight:700;}
.faq-item p{font-size:14.5px;color:var(--muted);}

/* related services (bottom, full width) */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

/* ===== CONTACT ===== */
.contact-layout{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;}
.contact-info h2{color:var(--cream);font-size:36px;margin:20px 0 18px;letter-spacing:-.5px;}
.contact-info > p{color:var(--muted-2);font-size:16px;margin-bottom:36px;max-width:440px;}
.contact-line{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-top:1px solid rgba(255,255,255,0.12);}
.contact-line:last-of-type{border-bottom:1px solid rgba(255,255,255,0.12);}
.contact-line .c-icon{width:22px;height:22px;flex:none;color:var(--gold-light);margin-top:2px;}
.contact-line .c-label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);margin-bottom:4px;}
.contact-line .c-value{font-size:16px;font-weight:600;color:var(--cream);}
.contact-form{background:var(--cream);padding:46px;color:var(--text);}
.contact-form h3{font-size:22px;margin-bottom:6px;}
.contact-form .sub{color:var(--muted);font-size:14px;margin-bottom:28px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.form-field{display:flex;flex-direction:column;gap:8px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:12.5px;font-weight:600;letter-spacing:.4px;color:var(--text);}
.form-field input, .form-field select, .form-field textarea{border:1px solid var(--cream-line);background:var(--white);padding:13px 15px;font-size:14.5px;font-family:'Inter',sans-serif;color:var(--text);outline:none;}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{border-color:var(--gold);}
.contact-form button{width:100%;justify-content:center;margin-top:6px;}
.contact-form button:disabled{opacity:.75;cursor:default;}
.form-status{font-size:13.5px;margin-top:14px;min-height:1em;}
.form-status-success{color:#2E7D4F;font-weight:600;}
.form-status-error{color:#B23A3A;font-weight:600;}
.map-embed{margin-top:40px;border:1px solid var(--cream-line);}
.map-embed iframe{width:100%;height:320px;border:0;display:block;}

/* ===== FOOTER ===== */
footer{background:var(--dark-2);color:var(--muted-2);padding:56px 0 0;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-brand .brand{margin-bottom:20px;}
.footer-badge-link{display:inline-block;margin-bottom:22px;}
.footer-badge-img{width:190px;height:auto;display:block;}

.footer-brand p{font-size:14px;color:var(--muted-2);max-width:280px;margin-bottom:22px;}
.footer-contact{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;}
.footer-contact a{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--cream);}
.footer-contact a svg{width:16px;height:16px;flex:none;color:var(--gold-light);}
.footer-contact a:hover{color:var(--gold-light);}
.footer-social{display:flex;gap:12px;}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;color:var(--cream);}
.footer-social a:hover{border-color:var(--gold-light);color:var(--gold-light);}
.footer-col h4{font-family:'Inter',sans-serif;color:var(--cream);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{font-size:13.5px;color:var(--muted-2);}
.footer-col ul li a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;color:var(--muted-2);flex-wrap:wrap;gap:12px;}
.footer-bottom a{color:var(--muted-2);}
.footer-bottom a:hover{color:var(--gold-light);}

.icon{fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0;display:inline-block;vertical-align:middle;}
/* Only these fixed-size icon boxes stretch their svg to fill the box.
   Everywhere else the svg uses its own width/height attribute — this
   prevents icons from blowing up inside stretched flex/grid cells. */
.s-icon svg,.i-icon svg,.c-icon svg,.mi svg,.step-icon svg,.compass-badge svg,
.trust-item .ic svg,.footer-social a svg{width:100%;height:100%;}

/* Floating WhatsApp button — fixed bottom-right on every page */
.wa-float{
  position:fixed;right:26px;bottom:26px;z-index:150;
  width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(20,49,43,0.28);
  transition:transform .2s ease, box-shadow .2s ease;
}
.wa-float:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 14px 32px rgba(20,49,43,0.34);}
.wa-float svg{width:30px;height:30px;}
.wa-float .wa-tooltip{
  position:absolute;right:70px;top:50%;transform:translateY(-50%);
  background:var(--dark);color:var(--cream);font-size:13px;font-weight:600;
  padding:8px 14px;border-radius:8px;white-space:nowrap;
  opacity:0;visibility:hidden;transition:opacity .2s ease;pointer-events:none;
}
.wa-float:hover .wa-tooltip{opacity:1;visibility:visible;}
@media (max-width:720px){
  .wa-float{right:16px;bottom:16px;width:54px;height:54px;}
  .wa-float svg{width:27px;height:27px;}
  .wa-float .wa-tooltip{display:none;}
}

/* CTA band */
.cta-band{background:var(--dark);color:var(--cream);padding:56px 0;text-align:center;}
.cta-band h2{color:var(--cream);font-size:34px;margin-bottom:16px;}
.cta-band p{color:var(--muted-2);font-size:16px;max-width:560px;margin:0 auto 30px;}
.cta-band .btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .hero-layout{grid-template-columns:1fr;}
  .hero-right{min-height:600px;}
  .hero-left{padding:48px 40px 56px;max-width:100%;}
  .advisory-card{position:relative;top:0;left:0;right:0;margin:40px 40px 36px;}
  .quote-card{position:relative;bottom:0;left:0;margin:0 40px 40px;width:auto;}
  .trust-strip{grid-template-columns:repeat(2,1fr);}
  .trust-item:nth-child(2n){border-right:none;}
  .about-layout,.contact-layout,.svc-layout{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid,.svc-list-grid,.related-grid{grid-template-columns:repeat(2,1fr);}
  .timeline,.process-steps{grid-template-columns:repeat(2,1fr);row-gap:50px;}
  .timeline-line,.process-line{display:none;}
  .industries-grid{grid-template-columns:repeat(2,1fr);}
  .insights-grid{grid-template-columns:repeat(2,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;}
  .mega{width:600px;grid-template-columns:repeat(2,1fr);}

  /* Header collapses to hamburger from tablet width down, so the full nav
     links + phone/email + CTA button never has to fight for space. */
  .nav-wrap{padding:12px 22px;gap:10px;}
  nav.main-nav{position:fixed;top:80px;left:0;right:0;bottom:0;background:var(--cream);flex-direction:column;align-items:flex-start;padding:24px 22px;gap:0;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;}
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav > ul{flex-direction:column;align-items:flex-start;gap:0;width:100%;}
  nav.main-nav > ul > li{width:100%;border-bottom:1px solid var(--cream-line);}
  nav.main-nav a.nav-link{padding:15px 0;display:block;}
  .mega,.dropdown{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border-top:none;display:none;padding:0 0 14px 10px;width:100%;grid-template-columns:1fr;}
  .has-dropdown.open .mega, .has-dropdown.open .dropdown{display:grid;}
  .mega-foot{flex-direction:column;align-items:flex-start;gap:8px;}
  .mega-foot span{display:none;}
  .nav-contact{display:none;}
  .brand img{height:38px;}
  .brand-text-name{font-size:16px;}
  .brand-text-sub{font-size:8.5px;letter-spacing:1.4px;}
  .nav-right{gap:8px;}
  .nav-right .btn-solid{padding:9px 12px;font-size:12px;gap:5px;}
  .nav-right .btn-solid svg{width:11px;height:11px;}
  .burger{display:flex;}
}
@media (max-width:720px){
  .container{padding:0 22px;}
  .burger{display:flex;}
  .hero-left h1,.page-hero h1{font-size:32px;}
  .hero-btns,.page-hero .btn-row{flex-direction:column;}
  .hero-btns .btn,.page-hero .btn-row .btn{width:100%;justify-content:center;}
  .hero-stats,.hero-mini-stats{gap:28px;}
  .advisory-card{margin:32px 20px 28px;padding:32px 24px 36px;}
  .quote-card{margin:0 20px 32px;}
  .trust-strip{grid-template-columns:1fr;}
  .trust-item{border-right:none !important;border-bottom:1px solid rgba(255,255,255,0.1);}
  section{padding:60px 0;}
  section.tight{padding:46px 0;}
  .section-head h2,.svc-category-head h2{font-size:26px;}
  .why-grid,.services-grid,.timeline,.process-steps,.industries-grid,.insights-grid,.svc-list-grid,.related-grid,.check-list{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;gap:32px;}
  .form-row{grid-template-columns:1fr;}
  .contact-form{padding:26px 22px;}
  .insights-head,.svc-category-head{flex-direction:column;align-items:flex-start;}
  .footer-bottom{flex-direction:column;text-align:center;}
}

/* Footer office locations */
.footer-offices{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);}
.footer-offices h5{font-family:'Inter',sans-serif;color:var(--cream);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-weight:700;}
.footer-offices .office-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted-2);margin-bottom:8px;}
.footer-offices .office-line svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--gold-light);}
.footer-offices .office-line b{color:var(--cream);font-weight:600;}

/* Offices section on the contact page */
.offices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.office-card{border:1px solid var(--cream-line);background:var(--white);padding:30px 28px;display:flex;gap:18px;align-items:flex-start;}
.office-card .o-icon{width:46px;height:46px;flex:none;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.office-card h4{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;margin-bottom:4px;}
.office-card p{font-size:14px;color:var(--muted);}
@media (max-width:720px){.offices-grid{grid-template-columns:1fr;}}
}

/* ===========================================================
   V2 DESIGN LAYER — softer, rounded, "global professional
   services" treatment on top of the same markup/structure.
=========================================================== */
.service-card,.why-card,.industry-card,.insight-card,.svc-mini-card,
.side-card,.contact-form,.advisory-card,.quote-card,.faq-item,
.trust-item,.form-field input,.form-field select,.form-field textarea,
.mega,.dropdown{
  border-radius:14px;
}
.form-field input,.form-field select,.form-field textarea{border-radius:8px;}
.compass-badge,.s-icon,.i-icon,.c-icon,.mi,.step-icon,.trust-item .ic{border-radius:10px;}
.brand-mark{border-radius:8px;}

.service-card,.why-card.white,.industry-card,.insight-card,.svc-mini-card,
.side-card,.advisory-card{
  box-shadow:0 2px 10px rgba(21,35,65,0.05);
  transition:box-shadow .25s ease, transform .25s ease, border-color .2s ease;
}
.industry-card:hover,.svc-mini-card:hover,.insight-card:hover{
  box-shadow:0 16px 34px rgba(21,35,65,0.10);
}
.advisory-card{box-shadow:0 30px 60px rgba(13,24,48,0.22);}
.quote-card{box-shadow:0 20px 44px rgba(184,134,62,0.30);}

.contact-form,.side-card{border:1px solid var(--cream-line);}
.contact-form{box-shadow:0 18px 44px rgba(21,35,65,0.08);}

.btn{border-radius:var(--radius);}
.mega{box-shadow:0 24px 50px rgba(21,35,65,0.14);}
.dropdown{box-shadow:0 18px 40px rgba(21,35,65,0.12);}

/* header gets a touch more definition since bg is now near-white */
header{box-shadow:0 1px 0 rgba(21,35,65,0.04);}

/* slightly calmer hero grid on white canvas */
.hero-grid-bg{opacity:.45;}

/* body copy: constrain line length a touch more for readability */
.hero-left p.lead,.section-head p,.about-copy p,.svc-main p{max-width:62ch;}

/* Footer office locations */
.footer-offices{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);}
.footer-offices h5{font-family:'Inter',sans-serif;color:var(--cream);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-weight:700;}
.footer-offices .office-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted-2);margin-bottom:8px;}
.footer-offices .office-line svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--gold-light);}
.footer-offices .office-line b{color:var(--cream);font-weight:600;}

/* Offices section on the contact page */
.offices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.office-card{border:1px solid var(--cream-line);background:var(--white);padding:30px 28px;display:flex;gap:18px;align-items:flex-start;}
.office-card .o-icon{width:46px;height:46px;flex:none;background:var(--cream);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.office-card h4{font-family:'Inter',sans-serif;font-size:16px;font-weight:700;margin-bottom:4px;}
.office-card p{font-size:14px;color:var(--muted);}
@media (max-width:720px){.offices-grid{grid-template-columns:1fr;}}

/* v2 rounding for new office cards + social icons */
.office-card{border-radius:14px;box-shadow:0 2px 10px rgba(21,35,65,0.05);}
.office-card:hover{box-shadow:0 16px 34px rgba(21,35,65,0.10);}
.footer-social a{border-radius:10px;}
