
:root{
  --forest:#143D32;
  --forest-2:#1D4E40;
  --deep:#0E2E27;
  --sage:#A8B9A7;
  --gold:#C7A45B;
  --gold-soft:#E6D2A2;
  --ivory:#F7F5EF;
  --white:#FFFFFF;
  --charcoal:#252A28;
  --muted:#68726D;
  --line:rgba(20,61,50,.12);
  --shadow:0 18px 55px rgba(14,46,39,.12);
  --max:1280px;
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--ivory);color:var(--charcoal)}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%}
body.menu-open{overflow:hidden}
.site-shell{min-height:100dvh;display:flex;flex-direction:column}
.container{width:min(86%,var(--max));margin-inline:auto}
.wordmark{
  font-weight:760;letter-spacing:.28em;font-size:1.03rem;color:var(--deep);
  white-space:nowrap;
}
.wordmark.light{color:#fff}
.topbar{
  height:72px;display:flex;align-items:center;position:relative;z-index:50;
  border-bottom:1px solid var(--line);background:rgba(247,245,239,.88);
  backdrop-filter:blur(14px);
}
.topbar.dark{
  background:rgba(14,46,39,.84);border-bottom-color:rgba(255,255,255,.08)
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px}
.nav-links{display:flex;align-items:center;gap:24px;font-size:.91rem}
.nav-links>a,.nav-dropdown>button{
  color:var(--muted);background:none;border:0;padding:10px 0;cursor:pointer
}
.topbar.dark .nav-links>a,.topbar.dark .nav-dropdown>button{color:#dbe5e0}
.nav-links>a:hover,.nav-dropdown>button:hover,.nav-links>a.active{color:var(--forest)}
.topbar.dark .nav-links>a:hover,.topbar.dark .nav-links>a.active,.topbar.dark .nav-dropdown>button:hover{color:#fff}
.nav-dropdown{position:relative}
.dropdown-menu{
  position:absolute;top:44px;left:-18px;width:245px;padding:10px;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s ease;
}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{
  opacity:1;visibility:visible;transform:translateY(0)
}
.dropdown-menu a{display:block;padding:11px 12px;border-radius:10px;font-size:.9rem;color:var(--charcoal)}
.dropdown-menu a:hover{background:var(--ivory);color:var(--forest)}
.nav-cta{
  padding:10px 15px!important;border-radius:999px!important;background:var(--forest)!important;color:#fff!important
}
.topbar.dark .nav-cta{background:var(--gold)!important;color:var(--deep)!important}
.menu-btn{display:none;background:none;border:0;padding:6px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2px;background:currentColor;margin:5px 0}
.topbar.dark .menu-btn{color:#fff}

.mobile-menu{
  position:fixed;inset:72px 0 0;background:var(--deep);z-index:45;padding:28px 5%;
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s ease;
}
.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0)}
.mobile-menu a{display:block;color:#fff;font-size:1.22rem;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.mobile-menu .sub{color:#bed0c8;font-size:1rem;padding-left:16px}

.page{
  flex:1;min-height:calc(100dvh - 72px);display:flex;align-items:center;position:relative;overflow:hidden
}
.page.scrollable{align-items:flex-start;overflow:visible}
.hero{
  background:
   radial-gradient(circle at 84% 18%, rgba(199,164,91,.24), transparent 26%),
   radial-gradient(circle at 14% 85%, rgba(168,185,167,.11), transparent 25%),
   linear-gradient(135deg,var(--deep),var(--forest));
  color:#fff;
}
.hero::after{
  content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);
  border-radius:50%;right:-110px;bottom:-135px;animation:floatRing 8s ease-in-out infinite alternate
}
@keyframes floatRing{to{transform:translate(-20px,-18px) scale(1.06)}}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;padding:54px 0}
.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.22em;font-weight:760;color:var(--gold-soft)}
h1,h2,h3,p{margin-top:0}
.hero h1{
  font-size:clamp(3.35rem,7vw,6.8rem);line-height:.92;letter-spacing:.10em;margin:16px 0 22px;font-weight:760
}
.hero h2{font-size:clamp(1.45rem,2.8vw,2.25rem);font-weight:520;margin-bottom:16px}
.hero-copy{max-width:720px;color:#dbe5e0;font-size:1.02rem;line-height:1.72}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border-radius:999px;
  font-size:.91rem;font-weight:720;border:1px solid transparent;transition:.2s ease
}
.btn.gold{background:var(--gold);color:var(--deep)}
.btn.gold:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(199,164,91,.25)}
.btn.ghost{border-color:rgba(255,255,255,.28);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.green{background:var(--forest);color:#fff}
.btn.outline{border-color:var(--line);color:var(--forest);background:#fff}

.hero-services{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.service-tile{
  min-height:150px;padding:22px;border-radius:20px;border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);backdrop-filter:blur(10px);transition:.22s ease;
  display:flex;flex-direction:column;justify-content:space-between
}
.service-tile:hover{transform:translateY(-5px);background:rgba(255,255,255,.10);border-color:rgba(199,164,91,.55)}
.service-tile small{color:var(--gold-soft);letter-spacing:.14em}
.service-tile h3{font-size:1.03rem;margin:18px 0 0}
.service-tile p{font-size:.83rem;color:#c9d6d0;margin:7px 0 0}
.service-tile .arrow{align-self:flex-end;color:var(--gold)}

.section-wrap{width:100%;padding:38px 0 34px}
.split{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}
.section-kicker{color:var(--forest);font-size:.75rem;font-weight:780;text-transform:uppercase;letter-spacing:.20em}
.display{
  color:var(--deep);font-size:clamp(2.25rem,4.4vw,4.2rem);line-height:1.02;letter-spacing:-.025em;margin:12px 0 22px
}
.lead{color:var(--muted);font-size:1.04rem;line-height:1.75;max-width:720px}
.panel{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)
}
.values{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.value{
  padding:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#fbfaf6)
}
.value strong{display:block;color:var(--forest);margin-bottom:6px}
.value span{font-size:.89rem;color:var(--muted);line-height:1.55}

.service-page{background:var(--ivory)}
.cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:28px}
.cap-card{
  background:#fff;padding:22px;border:1px solid var(--line);border-radius:18px;transition:.2s ease
}
.cap-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(14,46,39,.10)}
.cap-card strong{display:block;color:var(--forest);margin-bottom:7px}
.cap-card p{font-size:.88rem;color:var(--muted);margin:0;line-height:1.55}
.side-quote{
  border-radius:26px;padding:38px;background:linear-gradient(145deg,var(--deep),var(--forest));color:#fff;
  position:relative;overflow:hidden
}
.side-quote::after{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-55px;bottom:-70px;
  border:1px solid rgba(255,255,255,.12)
}
.side-quote h3{font-size:1.7rem;line-height:1.25;margin:0 0 15px}
.side-quote p{color:#d6e1dc;font-size:.96rem;line-height:1.7}
.side-quote .micro{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}

.services-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}
.overview-card{
  min-height:238px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;
  display:flex;flex-direction:column;justify-content:space-between;transition:.2s ease
}
.overview-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.overview-card .idx{color:var(--gold);font-size:.78rem;font-weight:760;letter-spacing:.16em}
.overview-card h3{color:var(--forest);font-size:1.08rem;margin:30px 0 8px}
.overview-card p{color:var(--muted);font-size:.86rem;line-height:1.58}
.overview-card .go{color:var(--forest);font-weight:700;font-size:.86rem}

.career-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)
}
.career-card h3{color:var(--deep);font-size:1.35rem;margin-bottom:7px}
.career-card p{color:var(--muted);font-size:.93rem;line-height:1.6}
.filebox{
  margin:18px 0;padding:18px;border:1px dashed rgba(20,61,50,.28);border-radius:14px;background:#fbfaf6
}
.filebox label{display:block;color:var(--forest);font-weight:720;font-size:.9rem;margin-bottom:10px}
.filebox input{width:100%;font-size:.86rem}
.file-note{font-size:.78rem;color:var(--muted);margin-top:8px}
.selected-file{font-size:.82rem;color:var(--forest);margin-top:8px;font-weight:650}
.email-box{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:28px}
.contact-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px
}
.contact-card strong{display:block;color:var(--forest);margin-bottom:6px}
.contact-card span{color:var(--muted);font-size:.9rem}

.footer{
  height:48px;border-top:1px solid var(--line);display:flex;align-items:center;
  color:var(--muted);font-size:.76rem;background:rgba(247,245,239,.9)
}
.footer .container{display:flex;justify-content:space-between;gap:20px;align-items:center}

.fade-up{opacity:0;transform:translateY(16px);animation:fadeUp .7s ease forwards}
.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}

@media (max-width:980px){
  .nav-links{display:none}.menu-btn{display:block}
  .hero-grid,.split{grid-template-columns:1fr;gap:34px}
  .hero-grid{padding:40px 0}
  .hero-services{grid-template-columns:1fr 1fr}
  .services-overview{grid-template-columns:1fr 1fr}
  .page{min-height:auto;overflow:visible}
  .section-wrap{padding:48px 0}
}
@media (max-width:640px){
  .topbar{height:64px}.mobile-menu{inset:64px 0 0}
  .page{min-height:calc(100dvh - 64px)}
  .hero-grid{padding:32px 0 38px}
  .hero h1{font-size:clamp(2.9rem,18vw,4.5rem);letter-spacing:.08em}
  .hero-services,.services-overview,.values,.cap-grid,.contact-grid{grid-template-columns:1fr}
  .service-tile{min-height:118px}
  .display{font-size:2.45rem}
  .side-quote,.panel,.career-card{padding:24px}
  .footer{height:auto;padding:14px 0}.footer .container{align-items:flex-start;flex-direction:column;gap:4px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* V1.1 — denser enterprise layouts */
.enterprise-wrap{
  min-height:calc(100dvh - 120px);
  display:flex;flex-direction:column;justify-content:center;gap:28px;
}
.enterprise-top{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:center}
.enterprise-copy .lead{max-width:760px}
.supporting-copy{color:var(--muted);font-size:.94rem;line-height:1.68;max-width:760px;margin-top:13px}
.principles-panel{
  background:linear-gradient(145deg,#fff,#fbfaf6);border:1px solid var(--line);border-radius:24px;
  padding:26px;box-shadow:0 14px 42px rgba(14,46,39,.08)
}
.principles-panel .panel-title{color:var(--deep);font-weight:760;font-size:1.05rem;margin-bottom:14px}
.principles-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.principle{padding:17px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.principle b{display:block;color:var(--forest);margin-bottom:5px;font-size:.92rem}
.principle span{display:block;color:var(--muted);font-size:.82rem;line-height:1.5}
.method-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:18px;border-top:1px solid var(--line)
}
.method-step{position:relative;padding:16px 16px 14px;border-radius:14px;background:rgba(255,255,255,.64);border:1px solid var(--line)}
.method-step .step-no{color:var(--gold);font-size:.72rem;letter-spacing:.16em;font-weight:800}
.method-step strong{display:block;color:var(--deep);margin:8px 0 5px;font-size:.92rem}
.method-step p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.46}

.service-enterprise{min-height:calc(100dvh - 120px);display:flex;flex-direction:column;justify-content:center;gap:24px}
.service-head{display:grid;grid-template-columns:1fr .9fr;gap:72px;align-items:end}
.service-head .display{margin-bottom:14px}
.service-head .lead{max-width:800px}
.service-position{
  padding:22px 24px;border-radius:18px;background:linear-gradient(145deg,var(--deep),var(--forest));color:#fff
}
.service-position .micro{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:8px}
.service-position strong{display:block;font-size:1.18rem;line-height:1.35;margin-bottom:8px}
.service-position p{margin:0;color:#d5e0db;font-size:.86rem;line-height:1.56}
.cap-grid.compact{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:0}
.cap-grid.compact .cap-card{padding:18px;min-height:126px}
.cap-grid.compact .cap-card p{font-size:.82rem}
.service-bottom{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding-top:14px;border-top:1px solid var(--line)}
.outcome-line{display:flex;gap:12px;flex-wrap:wrap}
.outcome-chip{padding:9px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--forest);font-size:.78rem;font-weight:680}
.service-bottom .actions{margin-top:0}

.overview-wrap{min-height:calc(100dvh - 120px);display:flex;flex-direction:column;justify-content:center;gap:20px}
.engagement-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:8px}
.engagement-step{padding:14px 16px;border-top:2px solid var(--gold);background:rgba(255,255,255,.55);border-radius:0 0 12px 12px}
.engagement-step strong{display:block;color:var(--deep);font-size:.87rem;margin-bottom:4px}
.engagement-step span{color:var(--muted);font-size:.78rem;line-height:1.45}

.careers-wrap,.contact-wrap{min-height:calc(100dvh - 120px);display:flex;flex-direction:column;justify-content:center;gap:26px}
.careers-top,.contact-top{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.bottom-note{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.bottom-note .note{padding:14px 16px;background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:14px}
.bottom-note strong{display:block;color:var(--forest);font-size:.86rem;margin-bottom:5px}
.bottom-note span{color:var(--muted);font-size:.78rem;line-height:1.45}

@media (max-width:980px){
  .container{width:min(90%,var(--max))}
  .enterprise-wrap,.service-enterprise,.overview-wrap,.careers-wrap,.contact-wrap{min-height:auto;padding:18px 0}
  .enterprise-top,.service-head,.careers-top,.contact-top{grid-template-columns:1fr;gap:30px}
  .method-strip,.engagement-strip{grid-template-columns:1fr 1fr}
  .cap-grid.compact{grid-template-columns:1fr 1fr}
  .bottom-note{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:640px){
  .container{width:min(90%,var(--max))}
  .enterprise-wrap,.service-enterprise,.overview-wrap,.careers-wrap,.contact-wrap{gap:20px;padding:20px 0 24px}
  .principles-grid,.method-strip,.engagement-strip,.cap-grid.compact,.bottom-note{grid-template-columns:1fr}
  .service-bottom{grid-template-columns:1fr}
  .service-bottom .actions{margin-top:4px}
  .display{font-size:2.25rem}
}
