﻿:root {
  --forest:        #1a3025;
  --forest-mid:    #244734;
  --forest-light:  #2f5638;
  --gold:          #c9a24a;
  --gold-soft:     #e5c87f;
  --gold-dim:      rgba(201,162,74,0.32);
  --gold-faint:    rgba(201,162,74,0.1);
  --lavender:      #e7def4;
  --lavender-mid:  #c8b8d8;
  --lavender-deep: #b0a0c8;
  --beige:         #f4efe4;
  --beige-mid:     #ede4d2;
  --cream:         #fdfbf7;
  --ink:           #111810;
  --muted:         #6a6760;
  --white:         #ffffff;
  --shadow-sm:     0 4px 16px rgba(16,33,24,0.08);
  --shadow-md:     0 12px 36px rgba(16,33,24,0.12);
  --shadow-lg:     0 24px 64px rgba(16,33,24,0.16);
}
.cursor-dot {
  position: fixed;
  top: 0;
  left: 0;
  width: 11px;
  height: 11px;
  background: #d4af37;
  border-radius: 50%;
  pointer-events: none;
  transform: translate3d(50vw, 50vh, 0) translate(-50%, -50%);
  z-index: 10000;
  opacity: 0;
  box-shadow:
    0 0 10px rgba(212, 175, 55, 0.95),
    0 0 24px rgba(212, 175, 55, 0.48),
    0 0 44px rgba(212, 175, 55, 0.26);
  transition: opacity 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  will-change: transform;
}

.cursor-dot.is-visible {
  opacity: 1;
}

.cursor-dot.is-hovering {
  background: var(--gold);
  box-shadow:
    0 0 14px rgba(201, 168, 76, 1),
    0 0 32px rgba(201, 168, 76, 0.55),
    0 0 58px rgba(201, 168, 76, 0.3);
}

@media (hover: none), (pointer: coarse) {
  .cursor-dot {
    display: none !important;
  }
}
@font-face{
font-family:"Hakaya Impact";
src:url("../assets/fonts/impact.ttf") format("truetype");
font-weight:700;
font-style:normal;
font-display:swap;
}

@font-face{
font-family:"Hakaya Poppins";
src:url("../assets/fonts/Poppins-Regular.ttf") format("truetype");
font-weight:400;
font-style:normal;
font-display:swap;
}

@font-face{
font-family:"Hakaya Poppins";
src:url("../assets/fonts/Poppins-Medium.ttf") format("truetype");
font-weight:500;
font-style:normal;
font-display:swap;
}

@font-face{
font-family:"Hakaya Poppins";
src:url("../assets/fonts/Poppins-SemiBold.ttf") format("truetype");
font-weight:600;
font-style:normal;
font-display:swap;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:"Poppins",sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:
radial-gradient(circle at top, rgba(201,162,74,0.16), transparent 26%),
linear-gradient(180deg, #f8f1e6 0%, #f3ecf2 52%, #e7def4 100%);
color:var(--ink);
line-height:1.6;
}

a{
color:inherit;
}

img{
display:block;
max-width:100%;
max-height: 100%;
}

.navbar{
position:sticky;
top:0;
z-index:1000;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 64px;
background:rgba(248, 241, 230, 0.94);
backdrop-filter:blur(12px);
border-bottom:1px solid rgba(36, 71, 52, 0.12);
}

.logo img{
height:22px;
}

.nav-links{
display:flex;
align-items:center;
gap:28px;
list-style:none;
}

.nav-links a{
position:relative;
text-decoration:none;
font-size:15px;
font-weight:500;
color:var(--forest);
}

.nav-links a::after{
content:"";
position:absolute;
left:0;
bottom:-7px;
width:100%;
height:2px;
background:var(--gold);
transform:scaleX(0);
transform-origin:left;
transition:transform 0.3s ease;
}

.nav-links a:hover::after,
.nav-links a:focus-visible::after{
transform:scaleX(1);
}

.hero{
padding:50px 30px 20px;
}

.hero-shell{
max-width:1040px;
margin:0 auto;
padding:64px 72px;
border:1px solid rgba(36, 71, 52, 0.12);
border-radius:32px;
background:
linear-gradient(145deg, rgba(255,255,255,0.72), rgba(255,255,255,0.4)),
linear-gradient(180deg, rgba(201,162,74,0.12), rgba(36,71,52,0.03));
box-shadow:var(--shadow);
text-align:center;
overflow:hidden;
position:relative;
}

.hero-shell::before,
.hero-shell::after{
content:"";
position:absolute;
border-radius:999px;
pointer-events:none;
}

.hero-shell::before{
width:220px;
height:220px;
top:-70px;
left:-70px;
background:rgba(201,162,74,0.16);
filter:blur(10px);
}

.hero-shell::after{
width:280px;
height:280px;
right:-120px;
bottom:-140px;
background:rgba(36,71,52,0.09);
}

.eyebrow,
.section-kicker{
letter-spacing:0.18em;
text-transform:uppercase;
font-size:12px;
font-weight:700;
color:var(--muted);
}

.hero-brand{
display:flex;
flex-direction:column;
align-items:center;
gap:22px;
margin:18px 0 28px;
}

.hero-logo{
width:min(340px, 80vw);
filter:drop-shadow(0 14px 30px rgba(36, 71, 52, 0.12));
}

.hero-line{
width:min(180px, 40vw);
height:4px;
border-radius:999px;
background:linear-gradient(90deg, transparent, var(--gold), transparent);
animation:glowLine 2.8s ease-in-out infinite;
}

.hero-copy{
max-width:760px;
margin:0 auto;
}

.hero-copy h2{
font-size:clamp(1.9rem,3vw,3.4rem);
line-height:1.04;
font-weight:400;
letter-spacing:.01em;
color:var(--forest-deep);
margin:0;
}

.hero h1{
font-size:clamp(2.3rem, 4vw, 4.4rem);
line-height:1.06;
color:var(--forest-deep);
margin-bottom:22px;
}

.hero-intro,
.hero-problem,
.section-intro{
font-size:1.05rem;
color:#3c443d;
max-width:860px;
margin:0 auto;
}

.hero-problem{
margin-top:14px;
}

.hero-actions{
display:flex;
justify-content:center;
gap:16px;
margin-top:34px;
flex-wrap:wrap;
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 22px;
border-radius:999px;
text-decoration:none;
font-weight:600;
transition:transform 0.25s ease, background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.button:hover,
.button:focus-visible{
transform:translateY(-2px);
}

.button-primary{
background:var(--forest);
color:var(--cream);
}

.button-primary:hover,
.button-primary:focus-visible{
background:var(--forest-deep);
}

.button-secondary{
border:1px solid rgba(36, 71, 52, 0.2);
background:rgba(255,255,255,0.55);
color:var(--forest);
}

.section{
padding:3px 4px 8px;
}

.section-heading{
max-width:1120px;
margin:0 auto 34px;
text-align:center;
}

.section-title{
font-size:clamp(1.8rem, 3vw, 3rem);
line-height:1.15;
color:var(--gold);
margin:10px 0 0;
}

.statement-section{
padding-top:12px;
}

.statement-section .section-title{
max-width:980px;
margin:10px auto 0;
}

.pillar-section .section-intro{
margin-top:16px;
}

.pillar-placeholder{
max-width:920px;
min-height:360px;
margin:0 auto;
padding:44px;
border-radius:28px;
border:1px dashed rgba(36, 71, 52, 0.28);
background:
linear-gradient(180deg, rgba(255,255,255,0.68), rgba(255,255,255,0.42)),
repeating-linear-gradient(
135deg,
rgba(201,162,74,0.08),
rgba(201,162,74,0.08) 10px,
rgba(255,255,255,0.04) 10px,
rgba(255,255,255,0.04) 20px
);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:22px;
box-shadow:var(--shadow);
}

.pillar-stage{
display:flex;
align-items:flex-end;
justify-content:center;
gap:24px;
min-height:180px;
}

.pillar{
display:block;
width:62px;
border-radius:24px 24px 8px 8px;
background:linear-gradient(180deg, rgba(36,71,52,0.18), rgba(36,71,52,0.42));
animation:pillarPulse 2.8s ease-in-out infinite;
}

.pillar-one{
height:86px;
animation-delay:0s;
}

.pillar-two{
height:126px;
animation-delay:0.3s;
}

.pillar-three{
height:168px;
animation-delay:0.6s;
}

.pillar-caption{
font-size:0.95rem;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--muted);
}

.service-grid,
.grid{
max-width:1160px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
gap:24px;
}

.card{
background:linear-gradient(180deg, var(--forest) 0%, #203f2e 100%);
color:var(--cream);
padding:30px;
border-radius:24px;
border:1px solid rgba(255,255,255,0.08);
box-shadow:var(--shadow);
opacity:0;
transform:translateY(36px);
transition:transform 0.35s ease, box-shadow 0.35s ease, opacity 0.35s ease;
}

.card h3{
font-size:1.28rem;
margin-bottom:10px;
}

.card p{
color:rgba(244,239,228,0.88);
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 28px 60px rgba(18, 36, 26, 0.22);
}

.card.show{
opacity:1;
transform:translateY(0);
}

.service-card{
text-decoration:none;
min-height:220px;
display:flex;
flex-direction:column;
justify-content:space-between;
position:relative;
overflow:hidden;
}

.service-card::after{
content:"Open";
align-self:flex-start;
margin-top:24px;
font-size:0.88rem;
font-weight:600;
color:var(--gold-soft);
}

.service-index{
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
padding:6px 10px;
border-radius:999px;
margin-bottom:18px;
background:rgba(255,255,255,0.08);
font-size:0.78rem;
letter-spacing:0.12em;
text-transform:uppercase;
}

.service-card-more{
background:linear-gradient(180deg, var(--forest) 0%, #203f2e 100%);
color:var(--cream);
}

.service-card-more p,
.service-card-more .service-index{
color:rgba(244,239,228,0.9);
}

.service-card-more::after{
color:var(--gold-soft);
}

.team-preview-grid{
max-width:1160px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
gap:22px;
}

.team-flip-card{
text-decoration:none;
perspective:1200px;
min-height:250px;
}

.team-flip-inner{
position:relative;
width:100%;
height:100%;
min-height:250px;
transform-style:preserve-3d;
transition:transform 0.7s ease;
}

.team-flip-card:hover .team-flip-inner,
.team-flip-card:focus-visible .team-flip-inner{
transform:rotateY(180deg);
}

.team-face{
position:absolute;
inset:0;
padding:26px;
border-radius:24px;
backface-visibility:hidden;
box-shadow:var(--shadow);
display:flex;
flex-direction:column;
justify-content:space-between;
}

.team-front{
background:linear-gradient(180deg, rgba(255,255,255,0.82), rgba(255,255,255,0.56));
border:1px solid rgba(36,71,52,0.12);
color:var(--forest-deep);
}

.team-back{
background:linear-gradient(180deg, var(--forest-deep), var(--forest));
color:var(--cream);
transform:rotateY(180deg);
}

.team-tag{
display:inline-flex;
align-items:center;
justify-content:center;
width:52px;
height:52px;
border-radius:50%;
background:rgba(201,162,74,0.18);
color:var(--forest-deep);
font-weight:700;
letter-spacing:0.08em;
}

.team-back p{
color:rgba(244,239,228,0.9);
}

.founders-section{
--f-forest:#1a3025;
--f-forest-mid:#244734;
--f-gold:#c9a24a;
--f-gold-soft:#e5c87f;
--f-gold-dim:rgba(201,162,74,.3);
--f-lavender:#e7def4;
position:relative;
overflow:hidden;
background:var(--f-forest);
padding:88px 64px 96px;
isolation:isolate;
}

.founders-bg{
position:absolute;
inset:0;
z-index:0;
background-image:
linear-gradient(rgba(231,222,244,.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(231,222,244,.05) 1px, transparent 1px);
background-size:72px 72px;
mask-image:radial-gradient(ellipse 90% 90% at 50% 50%, #000 0%, transparent 100%);
pointer-events:none;
}

.founders-shell{
position:relative;
z-index:1;
max-width:1160px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:52px;
}

.founders-header{
max-width:760px;
}

.founders-kicker{
display:inline-flex;
align-items:center;
gap:14px;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:.68rem;
font-weight:700;
letter-spacing:.28em;
text-transform:uppercase;
color:var(--f-gold);
margin-bottom:18px;
}

.founders-kicker::before{
content:"";
width:28px;
height:1px;
background:rgba(201,162,74,.5);
flex-shrink:0;
}

.founders-title{
font-family:"Hakaya Impact",Impact,sans-serif;
font-size:clamp(3rem, 7vw, 6.4rem);
line-height:.92;
letter-spacing:.02em;
color:var(--f-lavender);
margin:0 0 20px;
}

.founders-sub{
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:1rem;
line-height:1.82;
color:rgba(231,222,244,.65);
max-width:540px;
margin:0;
}

.founders-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:2px;
background:rgba(231,222,244,.08);
border:1px solid rgba(231,222,244,.08);
border-radius:4px;
overflow:hidden;
}

.founders-card{
position:relative;
margin:0;
display:flex;
flex-direction:column;
background:var(--f-forest-mid);
overflow:hidden;
cursor:default;
}

.founders-photo-wrap{
position:relative;
width:100%;
aspect-ratio:4 / 3;
overflow:hidden;
}

.founders-photo{
position:absolute;
inset:0;
background-size:cover;
background-position:center top;
transition:transform .65s cubic-bezier(.16,1,.3,1), filter .65s cubic-bezier(.16,1,.3,1);
filter:grayscale(18%) brightness(.88);
}

.founders-photo-1{
background-color:#1e3a28;
background-image:url("../assets/images/founders1.svg");

}

.founders-photo-2{
background-color:#1a2e25;
background-image:url("../assets/images/founders.svg");

}

.founders-photo-3{
background-color:#16261e;
background-image:url("../assets/images/founders3.svg");

}

.founders-photo-4{
background-color:#1c3220;
background-image:url("../assets/images/founders4.svg");

}

.founders-photo-overlay{
position:absolute;
inset:0;
background:linear-gradient(to bottom, rgba(10,24,16,.05) 0%, rgba(10,24,16,.18) 45%, rgba(10,24,16,.82) 100%);
pointer-events:none;
}

.founders-card:hover .founders-photo{
transform:scale(1.04);
filter:grayscale(0%) brightness(.96);
}

.founders-card::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:linear-gradient(90deg, var(--f-gold), rgba(200,184,216,.7), transparent);
transform:scaleX(0);
transform-origin:left;
transition:transform .45s cubic-bezier(.16,1,.3,1);
z-index:3;
}

.founders-card:hover::before{
transform:scaleX(1);
}

.founders-caption{
position:relative;
z-index:2;
padding:22px 24px 26px;
display:flex;
flex-direction:column;
gap:10px;
background:rgba(10,24,16,.72);
backdrop-filter:blur(4px);
border-top:1px solid rgba(231,222,244,.07);
}

.founders-chip{
display:inline-flex;
width:fit-content;
align-items:center;
padding:6px 14px;
border-radius:999px;
border:1px solid var(--f-gold-dim);
background:rgba(201,162,74,.1);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:.64rem;
font-weight:700;
letter-spacing:.18em;
text-transform:uppercase;
color:var(--f-gold-soft);
transition:background .25s, border-color .25s;
}

.founders-card:hover .founders-chip{
background:rgba(201,162,74,.2);
border-color:rgba(201,162,74,.55);
}

.founders-caption p{
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:.88rem;
line-height:1.7;
color:rgba(231,222,244,.72);
margin:0;
}

.founders-cta{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:28px 36px;
border-radius:8px;
border:1px solid rgba(231,222,244,.12);
background:rgba(231,222,244,.04);
flex-wrap:wrap;
}

.founders-cta-copy{
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:1.04rem;
font-weight:500;
color:rgba(231,222,244,.78);
margin:0;
line-height:1.6;
}

.founders-cta-btn{
display:inline-flex;
align-items:center;
gap:6px;
flex-shrink:0;
padding:13px 28px;
border-radius:999px;
border:1px solid var(--f-gold-dim);
background:var(--f-gold);
color:var(--f-forest);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:.78rem;
font-weight:700;
letter-spacing:.12em;
text-transform:uppercase;
text-decoration:none;
transition:background .25s, color .25s, transform .25s, box-shadow .25s;
box-shadow:0 8px 24px rgba(201,162,74,.26);
}

.founders-cta-btn:hover{
background:var(--f-gold-soft);
transform:translateY(-3px);
box-shadow:0 16px 36px rgba(201,162,74,.34);
}

.js-founders-reveal{
opacity:0;
transform:translateY(32px);
transition:
opacity .82s cubic-bezier(.16,1,.3,1) var(--delay, 0s),
transform .82s cubic-bezier(.16,1,.3,1) var(--delay, 0s);
}

.js-founders-reveal.is-visible{
opacity:1;
transform:translateY(0);
}

.founders-card:nth-child(1){
--delay:.08s;
}

.founders-card:nth-child(2){
--delay:.16s;
}

.founders-card:nth-child(3){
--delay:.24s;
}

.founders-card:nth-child(4){
--delay:.32s;
}

.founders-cta{
--delay:.44s;
}

@media (max-width: 900px){
.founders-section{
padding:64px 24px 72px;
}

.founders-grid{
grid-template-columns:1fr;
}

.founders-photo-wrap{
aspect-ratio:16 / 7;
}

.founders-cta{
flex-direction:column;
align-items:flex-start;
gap:18px;
padding:22px 24px;
}

.founders-cta-btn{
width:100%;
justify-content:center;
}
}

@media (max-width: 600px){
.founders-title{
font-size:clamp(2.6rem, 12vw, 3.8rem);
}

.founders-caption{
padding:16px 18px 20px;
}
}

.team-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
gap:28px;
max-width:1100px;
margin:0 auto;
}

.team-card{
background:rgba(255,255,255,0.8);
padding:35px;
text-align:center;
border:1px solid rgba(36,71,52,0.1);
border-radius:24px;
box-shadow:var(--shadow);
transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.team-card:hover{
transform:translateY(-8px);
box-shadow:0 25px 50px rgba(18, 36, 26, 0.14);
}

.team-photo{
width:120px;
height:120px;
margin:0 auto 18px;
border-radius:50%;
background:linear-gradient(180deg, rgba(201,162,74,0.22), rgba(36,71,52,0.1));
border:2px solid rgba(201,162,74,0.7);
}

.team-card h3{
color:var(--forest-deep);
}

.role{
color:var(--gold);
font-size:14px;
font-weight:600;
}

.services-intro{
max-width:860px;
margin:0 auto;
padding:34px 38px;
border-left:6px solid var(--gold);
border-radius:20px;
background:linear-gradient(180deg, var(--forest) 0%, #203f2e 100%);
color:var(--cream);
box-shadow:var(--shadow);
text-align:center;
}

.method-card{
min-height:220px;
}

.contact-form{
max-width:680px;
margin:24px auto 0;
padding:30px;
border-radius:24px;
background:rgba(255, 255, 255, 0.951);
border:1px solid rgba(36,71,52,0.12);
box-shadow:var(--shadow);
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:15px 16px;
margin-bottom:14px;
border-radius:16px;
border:1px solid rgba(36,71,52,0.16);
background:rgba(255,255,255,0.72);
font:inherit;
}

.contact-form button{
width:100%;
padding:15px 18px;
border:none;
border-radius:999px;
background:var(--forest);
color:var(--cream);
font:inherit;
font-weight:600;
cursor:pointer;
transition:background 0.25s ease, transform 0.25s ease;
}

.contact-form button:hover{
background:var(--forest-deep);
transform:translateY(-2px);
}

.contact-form button:disabled{
opacity:0.7;
cursor:wait;
transform:none;
}

.contact-form-status{
min-height:1.5em;
margin-top:12px;
font-family:"Hakaya Poppins", sans-serif;
font-size:0.95rem;
}

.contact-form-status.is-success{
color:var(--forest-deep);
}

.contact-form-status.is-error{
color:#a33b2b;
}

.fade-section{
opacity:0;
transform:translateY(44px);
transition:opacity 0.8s ease, transform 0.8s ease;
}

.fade-section.visible{
opacity:1;
transform:translateY(0);
}

.reveal{
opacity:0;
transform:translateY(22px);
transition:opacity 0.8s ease, transform 0.8s ease;
}

.reveal.is-visible{
opacity:1;
transform:translateY(0);
}

footer,
.site-footer{
position:relative;
overflow:hidden;
background:#ffffff;
color:var(--forest-deep);
padding:60px 64px 28px;
margin-top:48px;
border-top:4px solid var(--gold);
}

.site-footer::before{
content:"";
position:absolute;
inset:22px 64px auto;
height:1px;
background:linear-gradient(90deg, transparent, rgba(229,200,127,0.82), transparent);
opacity:0.85;
pointer-events:none;
}

.site-footer::after{
content:"";
position:absolute;
top:-120px;
right:-70px;
width:320px;
height:320px;
border-radius:50%;
background:radial-gradient(circle, rgba(201,162,74,0.16), rgba(201,162,74,0) 72%);
pointer-events:none;
}

.footer-container{
max-width:1160px;
margin:0 auto 28px;
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
gap:40px;
position:relative;
z-index:1;
align-items:start;
}

.footer-container > *{
min-width:0;
}

.footer-logo img{
width:240px;
margin-bottom:10px;
}

.footer-links h3{
margin-bottom:14px;
font-size:0.84rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:rgba(229,200,127,0.9);
}

.footer-links ul{
list-style:none;
}

.footer-links li + li{
margin-top:8px;
}

.footer-links a{
text-decoration:none;
color:var(--cream);
}

.footer-link-inline{
display:inline-block;
margin-top:14px;
padding:10px 0 4px;
border-bottom:1px solid rgba(229,200,127,0.36);
border-radius:999px;
background:transparent;
color:var(--gold-soft);
}

.footer-socials{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:14px;
margin-top:18px;
}

.footer-socials img{
width:30px;
height:30px;
object-fit:contain;
display:block;
}

.brand-logo-wall{
display:flex;
align-items:center;
justify-content:center;
flex-wrap:wrap;
gap:30px;
}

.brand-logo-link{
display:flex;
align-items:center;
justify-content:center;
min-height:72px;
text-decoration:none;
}

.brand-logo-link img{
width:auto;
height:100px;
max-width:170px;
object-fit:contain;
display:block;
}

.footer-links a:hover,
.footer-link-inline:hover{
color:var(--gold-soft);
}

.footer-bottom{
max-width:1160px;
margin:0 auto;
padding-top:20px;
border-top:1px solid rgba(255,255,255,0.16);
font-size:14px;
text-align:center;
color:rgba(244,239,228,0.8);
position:relative;
z-index:1;
}

@keyframes glowLine{
0%, 100%{
transform:scaleX(0.9);
opacity:0.65;
}
50%{
transform:scaleX(1.08);
opacity:1;
}
}

@keyframes pillarPulse{
0%, 100%{
transform:translateY(0);
opacity:0.72;
}
50%{
transform:translateY(-10px);
opacity:1;
}
}

@media (max-width: 900px){
.navbar{
padding:18px 24px;
flex-direction:column;
gap:18px;
}

.nav-links{
flex-wrap:wrap;
justify-content:center;
gap:16px 20px;
}

.hero{
padding:36px 20px 24px;
}

.hero-shell{
padding:42px 22px;
border-radius:24px;
}

.section{
padding:24px 20px 72px;
}

.pillar-placeholder{
padding:28px 18px;
min-height:300px;
}

footer{
padding:48px 20px 24px;
}
}

@media (max-width: 600px){
.hero h1{
font-size:2rem;
}

.hero-intro,
.hero-problem,
.section-intro{
font-size:0.98rem;
}

.pillar-stage{
gap:14px;
}

.pillar{
width:48px;
}

.proof-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

.page-intro{
padding-top:32px;
}

.story-list{
max-width:920px;
margin:18px auto 0;
padding-left:22px;
color:#3c443d;
}

.story-list li + li{
margin-top:10px;
}

.team-preview-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
}

.team-flip-card{
min-height:280px;
}

.team-face{
justify-content:flex-start;
gap:14px;
}

.team-front p,
.team-back p{
font-size:0.82rem;
line-height:1.45;
}

.team-front p{
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--muted);
}

.team-back p{
margin-top:auto;
}

.team-grid{
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:24px;
}

.team-card{
height:100%;
display:flex;
flex-direction:column;
align-items:flex-start;
text-align:left;
text-decoration:none;
}

.team-card h3{
font-size:1.18rem;
}

.role{
font-size:0.68rem;
line-height:1.45;
letter-spacing:0.12em;
text-transform:uppercase;
}

.team-card p:last-child{
margin-top:auto;
}

.team-detail-list{
max-width:1100px;
margin:0 auto;
display:grid;
gap:24px;
}

.team-member-section{
scroll-margin-top:120px;
}

.team-member-section .section-kicker{
margin-bottom:10px;
}

.member-name{
font-size:clamp(1.7rem, 3vw, 2.5rem);
line-height:1.1;
color:var(--forest-deep);
margin-bottom:16px;
}

.member-summary{
font-size:1rem;
color:var(--forest);
font-weight:600;
margin-bottom:20px;
}

.member-beyond{
margin-top:16px;
padding-top:16px;
border-top:1px solid rgba(36,71,52,0.14);
}

@media (max-width: 900px){
.team-preview-grid,
.team-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 600px){
.team-preview-grid,
.team-grid{
grid-template-columns:1fr;
}

.story-slides{
min-height:90vh;
width:calc(100% + 40px);
margin:0 -20px 24px;
padding:20px;
}

.story-slides-meta{
top:20px;
padding:0 8px;
}

.story-slides-kicker{
font-size:0.68rem;
letter-spacing:0.22em;
}

.story-slides-status{
font-size:0.84rem;
}

.story-slide{
padding:22px;
}

.story-slide-heading p{
font-size:clamp(1.85rem, 9vw, 3.2rem);
}

.story-slide-support p{
font-size:clamp(1.15rem, 5vw, 1.7rem);
line-height:1.35;
}

.story-slide-small p{
font-size:clamp(1rem, 4.8vw, 1.45rem);
transform:translateY(-2vh);
}

.story-slide .big{
font-size:1.14rem;
}

.story-slides-nav{
bottom:18px;
}

.story-slides-progress{
bottom:50px;
width:min(100%, 220px);
}

.story-slides-controls{
inset:0;
}

.story-slides-button{
width:48px;
height:48px;
padding:0;
font-size:1.45rem;
}

.story-slides-prev{
left:10px;
}

.story-slides-next{
right:10px;
}

.story-orb-one{
width:160px;
height:160px;
}

.story-orb-two{
width:190px;
height:190px;
}

.story-orb-three{
width:110px;
height:110px;
}
}


.card{
opacity:1;
transform:none;
}

.fade-section,
.fade-section.visible,
.reveal,
.reveal.is-visible{
opacity:1;
transform:none;
}

.pillar-section{
padding-top:0;
padding-bottom:8px;
}

.story-slides{
--story-slides-scale:1;
position:relative;
width:calc(100% + 128px);
margin:0 -64px 36px;
min-height:100vh;
overflow:hidden;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
padding:40px;
background:linear-gradient(180deg, #0b2e26 0%, #050807 100%);
text-align:center;
isolation:isolate;
}

.story-slides::before{
content:"";
position:absolute;
inset:0;
background:
radial-gradient(circle at 20% 20%, rgba(200, 162, 200, 0.12), transparent 35%),
radial-gradient(circle at 78% 16%, rgba(212, 175, 55, 0.16), transparent 24%),
radial-gradient(circle at 50% 100%, rgba(11, 46, 38, 0.76), transparent 55%),
linear-gradient(180deg, #0b2e26 0%, #050807 100%);
transform:scale(var(--story-slides-scale));
transform-origin:center center;
z-index:-2;
}

.story-slides-ambient{
position:absolute;
inset:0;
pointer-events:none;
z-index:-1;
overflow:hidden;
}

.story-orb,
.story-beam{
position:absolute;
display:block;
}

.story-orb{
border-radius:999px;
filter:blur(10px);
opacity:0.38;
}

.story-orb-one{
top:14%;
left:10%;
width:220px;
height:220px;
background:radial-gradient(circle, rgba(212, 175, 55, 0.36) 0%, rgba(212, 175, 55, 0) 72%);
}

.story-orb-two{
right:10%;
bottom:16%;
width:300px;
height:300px;
background:radial-gradient(circle, rgba(200, 162, 200, 0.24) 0%, rgba(200, 162, 200, 0) 74%);
}

.story-orb-three{
top:42%;
left:48%;
width:180px;
height:180px;
background:radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 72%);
}

.story-beam{
top:0;
bottom:0;
width:1px;
background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0) 100%);
opacity:0.28;
}

.story-beam-left{
left:14%;
}

.story-beam-right{
right:14%;
}

.story-slides-overlay{
position:absolute;
inset:0;
background-image:
radial-gradient(rgba(255, 255, 255, 0.18) 0.7px, transparent 0.9px),
radial-gradient(rgba(200, 162, 200, 0.14) 0.7px, transparent 0.9px),
radial-gradient(rgba(212, 175, 55, 0.08) 0.6px, transparent 0.8px);
background-position:0 0, 13px 17px, 29px 11px;
background-size:24px 24px, 31px 31px, 37px 37px;
opacity:0.08;
mix-blend-mode:soft-light;
pointer-events:none;
z-index:-1;
}

.story-slides-meta{
position:absolute;
top:34px;
left:50%;
z-index:2;
width:min(100%, 1080px);
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
padding:0 42px;
transform:translateX(-50%);
}

.story-slides-kicker{
margin:0;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:0.82rem;
font-weight:600;
letter-spacing:0.28em;
text-transform:uppercase;
color:rgba(255,255,255,0.72);
}

.story-slides-status{
display:flex;
align-items:center;
gap:8px;
font-family:"Hakaya Impact", Impact, sans-serif;
font-size:1rem;
letter-spacing:0.12em;
color:rgba(255,255,255,0.78);
}

.story-slides-current{
color:#d4af37;
}

.story-slides-viewport{
position:relative;
z-index:1;
width:min(100%, 1060px);
overflow:hidden;
}

.story-slides-track{
display:flex;
width:100%;
transform:translateX(0);
transition:transform 1.1s ease-in-out;
will-change:transform;
}

.story-slide{
flex:0 0 100%;
min-height:min(72vh, 760px);
display:flex;
align-items:center;
justify-content:center;
padding:72px 72px 112px;
position:relative;
overflow:hidden;
}

.story-slide::before{
content:"";
position:absolute;
inset:10% 8%;
border-radius:40px;
opacity:0;
pointer-events:none;
transition:opacity 0.8s ease, transform 0.8s ease;
transform:scale(0.96);
}

.story-slide.is-active::before{
opacity:1;
transform:scale(1);
}

.story-slide p{
width:min(100%, 900px);
margin:0 auto;
font-family:"Hakaya Impact", Impact, sans-serif;
font-size:clamp(2rem, 5vw, 5rem);
line-height:1.08;
letter-spacing:0.02em;
color:#ffffff;
opacity:0.35;
transform:translateY(34px) scale(0.98);
filter:blur(8px);
transition:
opacity 1s ease,
transform 1s ease,
filter 1s ease,
text-shadow 1s ease;
text-shadow:0 18px 48px rgba(0,0,0,0.22);
}

.story-slide.is-active p{
opacity:1;
transform:translateY(0) scale(1);
filter:blur(0);
}

.story-scene-hero{
align-items:flex-end;
padding-bottom:18vh;
}

.story-scene-hero p{
max-width:960px;
font-size:clamp(2.7rem, 6.6vw, 6.4rem);
line-height:0.98;
letter-spacing:0.015em;
}

.story-scene-hero::before{
background:radial-gradient(circle at 50% 75%, rgba(212, 175, 55, 0.14), rgba(212, 175, 55, 0) 45%);
}

.story-scene-rhythm{
align-items:center;
justify-content:flex-start;
padding-left:10%;
}

.story-scene-rhythm p{
max-width:760px;
text-align:left;
font-size:clamp(2.4rem, 6vw, 5.3rem);
line-height:1.02;
}

.story-scene-rhythm .gold{
display:block;
margin-top:0.16em;
font-size:1.08em;
}

.story-scene-rhythm::before{
background:linear-gradient(90deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 34%), radial-gradient(circle at 16% 52%, rgba(200, 162, 200, 0.16), rgba(200, 162, 200, 0) 28%);
}

.story-scene-emphasis{
align-items:center;
justify-content:center;
}

.story-scene-emphasis p{
font-size:clamp(3rem, 8vw, 7.4rem);
line-height:0.94;
letter-spacing:0.01em;
}

.story-scene-emphasis::before{
background:radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.16), rgba(212, 175, 55, 0) 34%);
}

.story-scene-explainer{
align-items:flex-start;
padding-top:16vh;
}

.story-scene-explainer p{
max-width:920px;
text-align:left;
font-size:clamp(1.45rem, 2.8vw, 2.4rem);
line-height:1.45;
}

.story-scene-explainer::before{
background:linear-gradient(135deg, rgba(255,255,255,0.035) 0 12%, transparent 12% 24%, rgba(255,255,255,0.025) 24% 36%, transparent 36% 48%, rgba(255,255,255,0.02) 48% 60%, transparent 60% 72%, rgba(255,255,255,0.03) 72% 84%, transparent 84% 100%);
}

.story-scene-legends{
align-items:center;
justify-content:center;
}

.story-scene-legends p{
max-width:980px;
font-size:clamp(1.5rem, 2.8vw, 2.4rem);
line-height:1.25;
}

.story-scene-legends .big{
display:block;
margin-top:0.18em;
font-size:clamp(4.4rem, 10vw, 8.6rem);
letter-spacing:0.02em;
}

.story-scene-legends::before{
background:radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.18), rgba(212, 175, 55, 0) 42%);
}

.story-scene-problem{
align-items:flex-end;
justify-content:flex-start;
padding-left:10%;
padding-bottom:18vh;
}

.story-scene-problem p{
max-width:760px;
text-align:left;
color:rgba(255,255,255,0.92);
}

.story-scene-problem::before{
background:radial-gradient(circle at 20% 80%, rgba(255,255,255,0.08), rgba(255,255,255,0) 24%);
}

.story-scene-solution{
align-items:center;
justify-content:flex-end;
padding-right:10%;
}

.story-scene-solution p{
max-width:720px;
text-align:right;
font-size:clamp(1.7rem, 3.2vw, 2.9rem);
}

.story-scene-solution::before{
background:linear-gradient(270deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 34%);
}

.story-scene-system{
align-items:flex-start;
justify-content:center;
padding-top:13vh;
}

.story-scene-system p{
max-width:1000px;
text-align:left;
font-size:clamp(1.25rem, 2.35vw, 2rem);
line-height:1.52;
}

.story-scene-system::before{
background:radial-gradient(circle at 78% 26%, rgba(200, 162, 200, 0.16), rgba(200, 162, 200, 0) 22%), radial-gradient(circle at 22% 72%, rgba(212, 175, 55, 0.12), rgba(212, 175, 55, 0) 24%);
}

.story-scene-brand{
align-items:center;
justify-content:center;
}

.story-scene-brand p{
max-width:820px;
font-size:clamp(2.1rem, 5vw, 4.8rem);
line-height:1.03;
}

.story-scene-brand::before{
background:radial-gradient(circle at 50% 50%, rgba(200, 162, 200, 0.14), rgba(200, 162, 200, 0) 34%);
}

.story-scene-closing{
align-items:flex-start;
justify-content:center;
padding-top:20vh;
}

.story-scene-closing p{
font-size:clamp(1.1rem, 2vw, 1.9rem);
letter-spacing:0.12em;
text-transform:uppercase;
color:rgba(255,255,255,0.82);
}

.story-scene-closing::before{
background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0));
}

.story-slide-support p{
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:clamp(1.4rem, 2.6vw, 2.35rem);
font-weight:500;
line-height:1.35;
letter-spacing:0;
}

.story-slide-small p{
font-size:clamp(1.2rem, 2.3vw, 2rem);
font-family:"Hakaya Poppins","Poppins",sans-serif;
transform:translateY(-4vh);
}

.story-slide-small.is-active p{
transform:translateY(-4vh);
}

.story-slide .gold{
color:#d4af37;
}

.story-slide .lilac{
color:#c8a2c8;
}

.story-slide .big{
display:inline-block;
font-size:1.2em;
line-height:0.95;
text-shadow:0 0 26px rgba(212, 175, 55, 0.22), 0 16px 40px rgba(0,0,0,0.2);
}

.story-glow{
text-shadow:0 0 0 rgba(212, 175, 55, 0);
}

.story-slides-progress{
position:absolute;
left:50%;
bottom:62px;
z-index:2;
width:min(100%, 320px);
height:2px;
background:rgba(255,255,255,0.14);
transform:translateX(-50%);
overflow:hidden;
}

.story-slides-progress-bar{
display:block;
width:10%;
height:100%;
background:linear-gradient(90deg, rgba(212, 175, 55, 0.5) 0%, #d4af37 100%);
box-shadow:0 0 18px rgba(212, 175, 55, 0.34);
transform-origin:left center;
}

.story-slides-nav{
position:absolute;
left:50%;
bottom:26px;
z-index:2;
display:flex;
gap:10px;
transform:translateX(-50%);
}

.story-slides-controls{
position:absolute;
inset:0;
z-index:2;
pointer-events:none;
}

.story-slides-button{
appearance:none;
position:absolute;
top:50%;
transform:translateY(-50%);
width:58px;
height:58px;
border:1px solid rgba(255,255,255,0.22);
background:rgba(255,255,255,0.06);
color:#ffffff;
font-family:"Hakaya Impact", Impact, sans-serif;
font-size:1.8rem;
font-weight:700;
line-height:1;
padding:0;
border-radius:999px;
cursor:pointer;
pointer-events:auto;
transition:background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease, opacity 0.25s ease, box-shadow 0.25s ease, text-shadow 0.25s ease;
}

.story-slides-prev{
left:24px;
}

.story-slides-next{
right:24px;
}

.story-slides-button:hover:not(:disabled),
.story-slides-button:focus-visible:not(:disabled){
background:rgba(212, 175, 55, 0.14);
border-color:rgba(212, 175, 55, 0.72);
color:#d4af37;
transform:translateY(calc(-50% - 1px));
box-shadow:0 0 22px rgba(212, 175, 55, 0.26), 0 0 44px rgba(212, 175, 55, 0.14);
text-shadow:0 0 14px rgba(212, 175, 55, 0.48);
}

.story-slides-button:disabled{
opacity:0.45;
cursor:default;
}

.story-slides-dot{
width:9px;
height:9px;
border-radius:999px;
background:rgba(255,255,255,0.25);
box-shadow:0 0 0 1px rgba(255,255,255,0.08);
transition:transform 0.45s ease, background-color 0.45s ease, width 0.45s ease;
}

.story-slides-dot.is-active{
width:28px;
background:#d4af37;
box-shadow:0 0 18px rgba(212, 175, 55, 0.3);
}

.story-slides.story-slides-playing::before{
animation:storySlidesScale 28s ease-in-out forwards;
}

@media (max-width: 900px){
.story-slides{
width:calc(100% + 40px);
margin:0 -20px 28px;
}

.story-slides-meta{
padding:0 18px;
}

.story-slide{
padding:76px 28px 118px;
}
}

@keyframes storySlidesScale{
from{
transform:scale(1);
}
to{
transform:scale(1.05);
}
}

.pillar-placeholder{
max-width:1160px;
min-height:320px;
margin:0 auto;
padding:44px;
border-radius:28px;
border:1px dashed rgba(44, 78, 56, 0.18);
background:rgba(248, 242, 229, 0.58);
}

.pillar-placeholder-empty{
background:transparent;
box-shadow:none;
}

.animated-banner{
width:min(100%, 900px);
height:auto;
aspect-ratio:16 / 11;
margin:0 auto;
padding:0;
min-height:0;
overflow:hidden;
border:0;
background:transparent;
border-radius:0;
box-shadow:none;
}

.animated-banner-video{
display:block;
width:100%;
height:100%;
object-fit:cover;
border-radius:0;
}


.team-preview-section .team-card{
height:100%;
display:flex;
flex-direction:column;
align-items:flex-start;
text-align:left;
text-decoration:none;
justify-content:flex-start;
gap:14px;
}

.team-preview-section .team-card h3{
font-size:1.18rem;
margin:0;
}

.team-preview-section .team-card p{
margin:0;
}

.team-preview-section .team-card p:last-child{
margin-top:auto;
}


.footer-links h3{
color:var(--forest-deep);
}

.footer-links a,
.footer-logo p,
.footer-bottom{
color:rgba(25,51,37,0.82);
}

footer{
background:#e7def4;
color:var(--forest-deep);
border-top:4px solid rgba(201,162,74,0.55);
}

/* Hakayaa parity overrides */
*{
font-family:Georgia, "Times New Roman", serif;
}

.navbar,
.footer-container,
.footer-bottom,
.service-grid,
.grid,
.team-preview-grid,
.team-grid,
.section-heading,
.hero-shell,
.manifesto-panel{
max-width:1160px;
margin:0 auto;
}

.navbar{
padding:18px 64px;
backdrop-filter:blur(14px);
}

.nav-links a{
font-size:15px;
letter-spacing:.08em;
text-transform:uppercase;
font-weight:400;
}

.nav-links a::after{
height:1px;
bottom:-8px;
}

.hero{
padding:28px 64px 42px;
}

.section{
padding:28px 64px 84px;
}

.page-intro{
padding-top:56px;
}

.hero-shell,
.manifesto-panel,
.contact-form{
padding:64px 72px;
border-radius:32px;
box-shadow:0 24px 70px rgba(16, 33, 24, 0.14);
}

.hero-shell::before,
.manifesto-panel::before{
content:"";
position:absolute;
inset:0;
background:radial-gradient(circle at top, rgba(201,162,74,0.14), transparent 26%), radial-gradient(circle at bottom right, rgba(36,71,52,0.12), transparent 34%);
pointer-events:none;
}

.hero-wireframe .hero-shell,
.one-pager-hero .hero-shell{
text-align:center;
min-height:calc(100vh - 180px);
display:flex;
flex-direction:column;
justify-content:flex-start;
padding-top:12px;
}

.eyebrow,
.section-kicker{
font-size:16px;
letter-spacing:.34em;
text-transform:uppercase;
font-weight:550;
}

.hero-brand,
.hero-copy,
.hero-actions,
.section-heading{
position:relative;
z-index:1;
}

.hero-brand{
display:flex;
flex-direction:column;
align-items:center;
gap:0;
margin:0 0 18px;
}

.hero-logo{
width:min(980px, 94vw);
height:auto;
max-height:520px;
object-fit:contain;
filter:drop-shadow(0 14px 30px rgba(36,71,52,.10));
}

.hero-logo-video{
display:block;
background:transparent;
}

.hero-logo-svg{
display:block;
border:0;
background:transparent;
}

.hero-logo-svg svg{
display:block;
width:100%;
height:100%;
max-height:inherit;
}

.hero-wordmark{
font-size:clamp(3.4rem, 10vw, 6.8rem);
line-height:.95;
text-transform:uppercase;
letter-spacing:.18em;
color:var(--forest-deep);
text-shadow:0 8px 30px rgba(36,71,52,.08);
}

.hero-brand-line{
max-width:620px;
font-size:.95rem;
letter-spacing:.08em;
text-transform:uppercase;
color:rgba(25,51,37,.76);
}

.hero h1,
.hero-copy h2,
.section-title,
.manifesto-panel h2,
.member-name,
.team-member-section h2,
.team-member-section h3{
font-size:clamp(2.1rem,4vw,4.8rem);
line-height:1.04;
font-weight:400;
letter-spacing:.01em;
}

.hero-copy h2,
.section-title,
.manifesto-panel h2,
.member-name,
.team-member-section h2,
.team-member-section h3{
font-size:clamp(1.9rem,3vw,3.4rem);
margin-top:12px;
}

.manifesto-panel h2{
margin:14px auto 18px;
max-width:860px;
}

.hero-intro,
.section-intro,
.manifesto-panel p,
.card p,
.footer-logo p,
.footer-links p{
font-size:1.5rem;
}

.hero-intro,
.section-intro,
.manifesto-panel p{
max-width:760px;
margin:18px auto 0;
}

.hero-copy{
max-width:1120px;
}

.hero-intro{
max-width:980px;
}

.section-heading{
text-align:center;
margin-bottom:34px;
}

.narrow-heading{
max-width:980px;
}

.service-grid,
.grid,
.team-preview-grid,
.team-grid{
gap:24px;
}

.card{
padding:28px;
border-radius:26px;
box-shadow:0 24px 70px rgba(16, 33, 24, 0.14);
transition:transform .35s ease, opacity .35s ease, border-color .35s ease;
}

.card h3{
font-size:1.5rem;
font-weight:400;
margin-bottom:12px;
}

.card:hover{
transform:translateY(-6px);
}

.service-card,
.method-card{
min-height:230px;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.service-index,
.role,
.team-role{
display:inline-flex;
width:max-content;
max-width:100%;
padding:6px 12px;
border-radius:999px;
margin-bottom:18px;
font-size:.68rem;
line-height:1.45;
letter-spacing:.12em;
text-transform:uppercase;
white-space:normal;
font-weight:400;
}

.team-story,
.team-card{
height:100%;
display:flex;
flex-direction:column;
align-items:flex-start;
text-align:left;
gap:12px;
}

.team-story p:last-child,
.team-card p:last-child{
margin-top:auto;
}

.team-photo{
width:74px;
height:74px;
margin-bottom:18px;
}

.proof-chip{
min-height:220px;
padding:26px 28px;
line-height:1.05;
}

footer{
margin-top:36px;
padding:56px 64px 28px;
}

.footer-container{
gap:30px;
margin-bottom:24px;
}

.footer-logo img{
width:240px;
margin-bottom:10px;
}

.footer-links h3{
font-weight:400;
}

.footer-bottom{
padding-top:18px;
font-size:14px;
text-align:center;
}

@media (max-width: 900px){
.navbar{padding:18px 22px;flex-direction:column;gap:18px;}
.nav-links{flex-wrap:wrap;justify-content:center;gap:14px 18px;}
.hero{padding:34px 20px 20px;}
.section{padding:24px 20px 72px;}
.hero-shell,.manifesto-panel,.contact-form{padding:38px 24px;border-radius:24px;}
.hero-wireframe .hero-shell,.one-pager-hero .hero-shell{min-height:auto;}
footer{padding:44px 20px 24px;}
}

@media (max-width: 600px){
.hero h1,
.hero-copy h2,
.section-title,
.manifesto-panel h2,
.member-name,
.team-member-section h2,
.team-member-section h3{font-size:2rem;}
.hero-logo{width:min(92vw, 440px);max-height:none;}
.hero-wordmark{font-size:3rem;letter-spacing:.12em;}
.hero-brand-line,.hero-intro,.section-intro,.manifesto-panel p,.card p{font-size:.98rem;}
}

/* About panel neutral fix */
body:has(main > .section .manifesto-panel),
body:has(.page-intro + .section .manifesto-panel){
background:
radial-gradient(circle at top, rgba(201,162,74,0.12), transparent 26%),
linear-gradient(180deg, #f8f1e6 0%, #f3ecf2 52%, #e7def4 100%);
}

.manifesto-panel{
background:linear-gradient(180deg, rgba(255,250,244,0.88), rgba(247,240,246,0.84));
border:1px solid rgba(36,71,52,0.08);
position:relative;
overflow:hidden;
}

.manifesto-panel::before{
background:radial-gradient(circle at top, rgba(201,162,74,0.08), transparent 24%), radial-gradient(circle at bottom right, rgba(231,222,244,0.32), transparent 34%);
}

/* Global alignment and type cleanup */
body,
input,
textarea,
button{
font-family:Georgia, "Times New Roman", serif;
}

.nav-links a,
.hero-brand-line,
.section-kicker,
.service-index,
.role,
.team-role,
.member-summary,
.footer-link-inline{
color:var(--gold);
}

.hero h1,
.section-title,
.manifesto-panel h2,
.card h3,
.member-name{
color:#8f6f36;
}

.hero-intro,
.hero-problem,
.section-intro,
.manifesto-panel p,
.card p,
.story-list,
.member-beyond,
.footer-logo p,
.footer-links p,
.footer-links a,
.footer-bottom{
color:#201c19;
}

.manifesto-panel{
text-align:center;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
}

.manifesto-panel .section-kicker,
.manifesto-panel h2,
.manifesto-panel p{
width:100%;
text-align:center;
margin-left:auto;
margin-right:auto;
}

.manifesto-panel h2{
max-width:1120px;
}

.manifesto-panel p{
max-width:980px;
}

.story-list{
max-width:760px;
margin:18px auto 0;
text-align:left;
}

.section-heading,
.narrow-heading,
.page-intro .section-heading,
.statement-section .section-heading,
.proof-section .section-heading{
margin-left:auto;
margin-right:auto;
text-align:center;
}

.hero-copy,
.section-heading,
.manifesto-panel,
.contact-form,
.team-detail-list,
.proof-grid,
.grid,
.service-grid,
.team-preview-grid,
.team-grid{
justify-items:stretch;
}

.team-card,
.team-story,
.team-member-section{
text-align:left;
}

.footer-links a{
text-decoration:none;
}

/* Green card text fix */
.card p,
.service-card p,
.method-card p,
.team-member-section p,
.team-member-section li{
color:rgba(244,239,228,0.9);
}

.card h3,
.service-card h3,
.method-card h3,
.team-member-section h2,
.team-member-section h3{
color:var(--gold-soft);
}

.card .role,
.card .team-role,
.card .service-index,
.team-member-section .section-kicker,
.team-member-section .member-summary{
color:var(--gold-soft);
}



/* Full width header fix */
.navbar{
max-width:none;
width:100%;
margin:0;
}

.navbar .logo,
.navbar .nav-links{
position:relative;
z-index:1;
}

/* Hero corner fix */
.home-page .hero-shell::after{
display:none;
}

/* Card link underline fix */
.team-card-link,
.team-card-link h3,
.team-card-link p,
.team-story-link,
.team-story-link h3,
.team-story-link p,
.team-card-link:hover,
.team-card-link:hover h3,
.team-card-link:hover p,
.team-story-link:hover,
.team-story-link:hover h3,
.team-story-link:hover p{
text-decoration:none;
}

/* Proof chip text alignment */
.proof-chip{
text-align:left;
justify-content:flex-start;
align-items:flex-start;
}

/* Scroll header behavior */
.navbar{
transition:transform .38s ease, opacity .38s ease, background .25s ease;
will-change:transform;
}

.navbar-hidden{
transform:translateY(calc(-100% - 8px));
opacity:.02;
}

/* Team card green restore */
.team-grid .team-card,
.team-preview-grid .team-card,
.team-grid .team-card-link,
.team-preview-grid .team-card-link{
background:linear-gradient(180deg, var(--forest) 0%, #203f2e 100%);
color:var(--cream);
border:1px solid rgba(255,255,255,0.08);
box-shadow:var(--shadow);
}

.team-grid .team-card h3,
.team-preview-grid .team-card h3{
color:var(--gold-soft);
}

.team-grid .team-card p,
.team-preview-grid .team-card p{
color:rgba(244,239,228,0.9);
}

.team-grid .team-card .role,
.team-preview-grid .team-card .role{
color:var(--gold-soft);
}

.team-grid .team-photo,
.team-preview-grid .team-photo{
background:radial-gradient(circle at top, rgba(242,200,117,.42), rgba(65,121,79,.16));
border:1px solid rgba(242,200,117,.26);
}

/* Brands section */
.brands-section .section-heading{
margin-bottom:30px;
}

.brand-wall{
max-width:1160px;
margin:0 auto;
display:grid;
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:16px;
}

.brand-chip{
display:flex;
align-items:center;
justify-content:center;
min-height:78px;
padding:18px 20px;
border-radius:22px;
border:1px solid rgba(36,71,52,0.12);
background:rgba(255,250,244,0.86);
color:var(--forest-deep);
font-size:1rem;
letter-spacing:.04em;
text-align:center;
box-shadow:var(--shadow);
}

@media (max-width: 900px){
.brand-wall{grid-template-columns:repeat(3, minmax(0, 1fr));}
}

@media (max-width: 600px){
.brand-wall{grid-template-columns:repeat(2, minmax(0, 1fr));}
.brand-chip{min-height:68px;font-size:.92rem;padding:16px;}
}

.brand-logos-figure{
max-width:1160px;
margin:0 auto;
padding:0;
border-radius:0;
border:none;
background:transparent;
box-shadow:none;
}

.brand-logos-figure img{
display:block;
width:100%;
height:auto;
border-radius:0;
background:transparent;
}

/* Flat homepage hero */
.home-page .hero-shell{
background:transparent;
border:none;
border-radius:0;
box-shadow:none;
overflow:visible;
padding:0 0 12px;
}

.home-page .hero-shell::before,
.home-page .hero-shell::after{
display:none;
}

/* White site background override */
body,
.home-page,
.home-page body{
background:#ffffff;
}

.navbar,
footer{
background:#ffffff;
}

.navbar{
border-bottom:1px solid rgba(36,71,52,0.10);
backdrop-filter:none;
}

footer{
border-top:1px solid rgba(36,71,52,0.10);
}

.footer-links h3,
.footer-links a,
.footer-logo p,
.footer-links p,
.footer-bottom,
.footer-link-inline{
color:rgba(25,51,37,0.82);
}

/* About page white flatten */
body:has(main > .section .manifesto-panel),
body:has(.page-intro + .section .manifesto-panel){
background:#ffffff;
}

.manifesto-panel{
background:#ffffff;
border:1px solid rgba(36,71,52,0.08);
box-shadow:none;
}

.manifesto-panel::before{
display:none;
}

/* Green text sitewide override */
body,
.hero-intro,
.hero-problem,
.section-intro,
.manifesto-panel p,
.card p,
.story-list,
.member-beyond,
.footer-logo p,
.footer-links p,
.footer-links a,
.footer-bottom,
.brand-chip,
.brand-logos-figure,
.proof-chip,
.member-summary,
.contact-form input,
.contact-form textarea{
color:var(--forest);
}

.hero h1,
.section-title,
.member-name,
.team-tag,
.team-front,
.section-callout,
.footer-links h3,
.footer-link-inline{
color:var(--forest);
}

.nav-links a,
.button-secondary,
.logo,
a{
color:inherit;
}

.nav-links a{
color:var(--forest);
font-size:17px;
font-weight:600;
}


/* Paragraph size boost */
.hero-intro,
.hero-problem,
.section-intro,
.manifesto-panel p,
.card p,
.story-list,
.member-beyond,
.footer-logo p,
.footer-links p,
.footer-links a,
.footer-bottom,
.member-summary,
.contact-form input,
.contact-form textarea{
font-size:1.16rem;
line-height:1.75;
}

@media (max-width: 600px){
.hero-intro,
.hero-problem,
.section-intro,
.manifesto-panel p,
.card p,
.story-list,
.member-beyond,
.footer-logo p,
.footer-links p,
.footer-links a,
.footer-bottom,
.member-summary,
.contact-form input,
.contact-form textarea{
font-size:1.04rem;
line-height:1.65;
}
}

/* Final green-card text visibility override */
.service-card,
.service-card p,
.service-card li,
.service-card a,
.service-card-more,
.service-card-more p,
.service-card-more li,
.service-card-more a,
.method-card,
.method-card p,
.method-card li,
.method-card a,
.team-grid .team-card,
.team-grid .team-card p,
.team-grid .team-card a,
.team-preview-grid .team-card,
.team-preview-grid .team-card p,
.team-preview-grid .team-card a,
.team-member-section,
.team-member-section p,
.team-member-section li,
.team-member-section a{
color:var(--gold-soft);
}

.service-card h3,
.service-card-more h3,
.method-card h3,
.team-grid .team-card h3,
.team-preview-grid .team-card h3,
.team-member-section h2,
.team-member-section h3{
color:var(--gold);
}

.service-card .service-index,
.service-card-more .service-index,
.method-card .service-index,
.team-grid .team-card .role,
.team-preview-grid .team-card .role,
.team-member-section .section-kicker,
.team-member-section .member-summary{
color:var(--gold-soft);
}




/* Leaf background visibility boost */
html,
body{
min-height:100%;
}

body,
.home-page,
.home-page body{
background:#ffffff;
}

main,
.section,
.page-intro,
.proof-section,
.brands-section{
background:transparent;
}

@media (max-width: 900px){
body,
.home-page,
.home-page body{
background:#ffffff;
}
}



/* Background image reveal override */
.hero-shell,
.manifesto-panel,
.brand-chip,
.contact-form{
background:rgba(255,255,255,0.72);
backdrop-filter:blur(2px);
}

.home-page .hero-shell{
background:transparent;
backdrop-filter:none;
}

.card{
box-shadow:0 18px 40px rgba(16, 33, 24, 0.10);
}


/* Transparent header footer override */
.navbar,
footer{
background:transparent;
}

.navbar{
backdrop-filter:none;
}

/* Large logo header */
.navbar{
display:flex;
flex-direction:row;
justify-content:space-between;
align-items:center;
gap:24px;
padding:6px 64px;
}

.navbar .logo{
display:flex;
align-items:center;
justify-content:flex-start;
flex:0 0 auto;
width:auto;
}

.logo img{
width:auto;
height:auto;
max-width:none;
max-height:68px;
object-fit:contain;
}

.nav-links{
display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:18px;
list-style:none;
padding:0;
background:transparent;
box-shadow:none;
}

.nav-links a{
padding:8px 14px;
border-radius:999px;
background:radial-gradient(circle at center, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.95) 44%, rgba(255,255,255,0.84) 76%, rgba(255,255,255,0.64) 100%);
box-shadow:0 10px 24px rgba(36,71,52,0.08);
}

@media (max-width: 900px){
.navbar{
padding:12px 22px;
flex-direction:column;
gap:12px;
}

.navbar .logo,
.logo img{
width:auto;
max-width:100%;
max-height:60px;
}

.nav-links{
gap:10px 14px;
}

.nav-links a{
padding:7px 12px;
}
}

@media (max-width: 600px){
.navbar{
padding:10px 16px 12px;
}

.navbar .logo,
.logo img{
width:auto;
max-height:52px;
}

.nav-links{
gap:8px 10px;
}

.nav-links a{
padding:6px 10px;
}
}

.footer-logo img{
width:240px;
}

/* Homepage familiar section */
.familiar-section{
position:relative;
overflow:hidden;
min-height:860px;
padding:48px 0;
background:
linear-gradient(rgba(12, 56, 36, 0.42), rgba(12, 56, 36, 0.42)),
#0f1511 url("../assets/images/first-section-background.svg") center/contain no-repeat;
margin-bottom:0;
}

.familiar-shell{
max-width:1160px;
margin:0 auto;
min-height:calc(860px - 96px);
padding:42px;
border:none;
border-radius:0;
background:transparent;
box-shadow:none;
position:relative;
overflow:hidden;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
}

.familiar-shell::after{
content:"";
position:absolute;
right:-90px;
top:-110px;
width:240px;
height:240px;
border-radius:50%;
background:radial-gradient(circle, rgba(36,71,52,0.1), rgba(36,71,52,0.01) 72%);
pointer-events:none;
}

.familiar-header,
.familiar-icons-figure,
.familiar-card-grid,
.familiar-why{
position:relative;
z-index:1;
}

.familiar-header{
margin-bottom:28px;
text-align:center;
}

.familiar-header > p{
display:none;
}

.familiar-problem-text{
max-width:1320px;
margin:12px auto 0;
font-size:30px;
line-height:1.55;
font-weight:600;
color:#ffffff;
}

.familiar-title{
max-width:980px;
margin:10px auto 0;
}

.familiar-intro{
max-width:820px;
margin:18px auto 0;
}

.familiar-icons-figure{
max-width:880px;
margin:0 auto 34px;
padding:18px 26px;
border-radius:28px;
background:rgba(255,255,255,0.72);
box-shadow:0 18px 40px rgba(22, 46, 33, 0.06);
opacity:0;
transform:translateY(24px);
}

.familiar-icons-figure img{
display:block;
width:100%;
height:auto;
}

.familiar-card-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:18px;
margin:0 auto 34px;
}

.familiar-card{
min-height:180px;
padding:24px;
border-radius:26px;
border:1px solid rgba(36,71,52,0.08);
background:rgba(255,255,255,0.68);
box-shadow:0 18px 36px rgba(22, 46, 33, 0.06);
display:flex;
align-items:flex-end;
text-align:left;
opacity:0;
transform:translateY(32px);
}

.familiar-card p{
margin:0;
font-size:1.05rem;
line-height:1.65;
color:var(--forest-deep);
}

.familiar-heading{
color:var(--gold);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size: 34px;
font-weight:700;
}

.familiar-why{
max-width:1040px;
margin-bottom:0;
text-align:center;
}

.familiar-why .section-title{
margin:8px auto 20px;
max-width:1080px;
}

.familiar-why-title{
max-width:920px;
font-size: 30px;
color:#ffffff;
}

.familiar-fix-wrap{
display:flex;
justify-content:center;
padding:0 0 12px;
text-align:center;
}

.familiar-fix-heading{
display:inline-block;
margin:18px auto 0;
color:#ffffff;
}

.one-line-fix-heading{
margin-bottom:14px;
color:var(--gold);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size: 30px;
font-weight:700;
}

.one-line-section{
padding-top:0;
padding-bottom:50px;
}

.one-line-section .section-heading{
margin-bottom:0;
}

.one-line-title{
margin:10px auto 0;
text-align:center;
color:var(--forest-deep);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size: 35px;
font-weight:500;
}

.one-line-first,
.one-line-second{
margin-left:auto;
margin-right:auto;
text-align:center;
}

.services-main-title{
color:var(--gold);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size: 34px;
font-weight:600;
}

@media (max-width: 980px){
.familiar-section{
min-height:700px;
padding:32px 0;
}

.familiar-shell{
min-height:calc(700px - 64px);
padding:30px 24px;
}

.familiar-card-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 640px){
.familiar-section{
min-height:560px;
background-position:center;
}

.familiar-shell{
min-height:calc(560px - 64px);
padding:22px 18px;
}

.familiar-icons-figure{
padding:14px 16px;
margin-bottom:24px;
}

.familiar-card-grid{
grid-template-columns:1fr;
gap:14px;
}

.familiar-card{
min-height:150px;
padding:20px;
}

.familiar-card p{
font-size:1rem;
}
}

/* Homepage service feature grid */
.services-section{
position:relative;
padding:46px 0 64px;
overflow:hidden;
}

.services-section::before{
display:none;
}

.services-section .section-heading{
padding:0 64px;
}

.services-section .section-heading,
.services-section .services-banner,
.services-section .service-grid{
position:relative;
z-index:1;
}

.services-section .section-kicker,
.services-section .section-title,
.services-section .section-intro{
color:var(--forest-deep);
}

.services-section .section-title{
letter-spacing:.03em;
}

.services-section .section-intro{
max-width:900px;
color:rgba(25,51,37,.82);
}

.services-banner{
width:min(1160px, calc(100% - 48px));
max-width:1160px;
margin:0 auto 28px;
}

.services-banner img{
display:block;
width:100%;
height:auto;
}

.services-banner .banner-wrap{
width:100%;
max-width:1160px;
margin:0 auto;
aspect-ratio:1024 / 576;
display:grid;
grid-template-columns:repeat(3, 1fr);
grid-template-rows:repeat(2, 1fr);
gap:2px;
background:#0e1f16;
border-radius:4px;
overflow:hidden;
font-family:"Hakaya Poppins","Poppins",system-ui,sans-serif;
}

.services-banner .panel{
position:relative;
overflow:hidden;
display:flex;
flex-direction:column;
justify-content:flex-end;
padding:0;
}

.services-banner .panel-photo{
position:absolute;
inset:0;
background-size:cover;
background-position:center;
transition:transform 0.55s ease;
}

.services-banner .panel-photo::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to bottom, rgba(10,24,16,0.08) 0%, rgba(10,24,16,0.22) 40%, rgba(10,24,16,0.72) 75%, rgba(10,24,16,0.9) 100%);
}

.services-banner .panel:hover .panel-photo{
transform:scale(1.04);
}

.services-banner .panel-text{
position:relative;
z-index:2;
padding:18px 20px 20px;
}

.services-banner .panel-text::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to right, rgba(201,162,74,0.06), transparent 60%);
pointer-events:none;
}

.services-banner .panel-label{
display:flex;
align-items:center;
gap:8px;
margin-bottom:7px;
}

.services-banner .panel-num{
font-family:"Hakaya Impact",Impact,sans-serif;
font-size:clamp(0.55rem, 1vw, 0.68rem);
font-weight:700;
letter-spacing:0.2em;
color:var(--gold);
line-height:1;
flex-shrink:0;
}

.services-banner .panel-divider{
width:16px;
height:1px;
background:rgba(201,162,74,0.5);
flex-shrink:0;
}

.services-banner .panel-category{
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:clamp(0.6rem, 0.9vw, 0.82rem);
font-weight:600;
letter-spacing:0.22em;
text-transform:uppercase;
color:#cea2fd;
line-height:1;
}

.services-banner .panel-title{
font-family:"Hakaya Impact",Impact,sans-serif;
font-size:clamp(0.95rem, 2vw, 1.35rem);
font-weight:700;
line-height:1.05;
letter-spacing:0.01em;
color:#ffffff;
margin-bottom:6px;
}

.services-banner .panel-tagline{
font-size:clamp(0.75rem, 1.1vw, 0.9rem);
font-weight:400;
line-height:1.55;
color:rgba(255,255,255,0.65);
max-width:95%;
}

.services-banner .panel::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:linear-gradient(90deg, var(--gold), #cea2fd, transparent);
z-index:3;
transform:scaleX(0);
transform-origin:left;
transition:transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.services-banner .panel:hover::before{
transform:scaleX(1);
}

.services-banner .panel-consumer .panel-photo{
background-image:url("../assets/images/creative1.svg");
/* background-image:radial-gradient(ellipse at 30% 60%, rgba(180,120,80,0.65) 0%, transparent 60%), radial-gradient(ellipse at 70% 30%, rgba(100,60,40,0.5) 0%, transparent 55%), linear-gradient(160deg, #2a1a0e 0%, #5c3520 45%, #8c5c34 100%); */
}

.services-banner .panel-sonic .panel-photo{
background-image:url("../assets/images/creative2.svg");
/* background-image:radial-gradient(ellipse at 50% 70%, rgba(20,80,100,0.75) 0%, transparent 60%), radial-gradient(ellipse at 20% 30%, rgba(10,40,60,0.6) 0%, transparent 55%), linear-gradient(155deg, #04131c 0%, #0a3040 45%, #125572 100%); */
}

.services-banner .panel-data .panel-photo{
background-image:url("../assets/images/creative3.svg");
/* background-image:radial-gradient(ellipse at 65% 40%, rgba(30,90,80,0.7) 0%, transparent 55%), radial-gradient(ellipse at 25% 75%, rgba(15,50,45,0.6) 0%, transparent 50%), linear-gradient(155deg, #020d0c 0%, #0e3530 45%, #1a5a50 100%); */
}

.services-banner .panel-creative .panel-photo{
background-image:url("../assets/images/creative4.svg");
/* background-image:radial-gradient(ellipse at 55% 55%, rgba(160,100,30,0.65) 0%, transparent 55%), radial-gradient(ellipse at 20% 25%, rgba(80,50,15,0.55) 0%, transparent 50%), linear-gradient(155deg, #120c02 0%, #3a2408 45%, #6a4010 100%); */
}

.services-banner .panel-tech .panel-photo{
background-image:url("../assets/images/creative5.svg");
/* background-image:radial-gradient(ellipse at 60% 50%, rgba(40,50,90,0.7) 0%, transparent 55%), radial-gradient(ellipse at 25% 30%, rgba(20,25,55,0.6) 0%, transparent 50%), linear-gradient(155deg, #050810 0%, #141b38 45%, #222e5a 100%); */
}

.services-banner .panel-business .panel-photo{
background-image:url("../assets/images/creative6.svg");
/* background-image:radial-gradient(ellipse at 50% 65%, rgba(50,40,30,0.65) 0%, transparent 55%), radial-gradient(ellipse at 30% 30%, rgba(30,25,20,0.6) 0%, transparent 50%), linear-gradient(155deg, #0a0806 0%, #28201a 45%, #40302a 100%); */
}

.services-banner .panel-noise{
position:absolute;
inset:0;
z-index:1;
opacity:0.035;
pointer-events:none;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
background-size:200px 200px;
}

.services-section .service-grid{
width:min(1160px, calc(100% - 48px));
max-width:1160px;
margin:0 auto;
grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
gap:32px;
padding:0;
}

.services-section .service-card{
position:relative;
isolation:isolate;
overflow:hidden;
min-height:280px;
display:flex;
align-items:flex-end;
padding:28px;
background:transparent;
border:none;
border-radius:0;
box-shadow:none;
opacity:1;
transform:none;
}

.services-section .service-card::after{
content:none;
}

.services-section .service-feature-media{
display:none;
}

.services-section .service-feature-media img{
width:154px;
height:154px;
object-fit:contain;
filter:none;
}

.services-section .service-lottie{
width:154px;
height:154px;
display:block;
}

.services-section .service-lottie-large{
width:184px;
height:184px;
margin-left:-8px;
margin-top:-4px;
}

.services-section .service-feature-copy{
display:flex;
flex-direction:column;
gap:8px;
padding-top:0;
position:relative;
z-index:1;
height:100%;
}

.services-section .service-card h3{
margin:0;
font-family:"Hakaya Impact","Impact",sans-serif;
font-size:1.3rem;
line-height:1.05;
letter-spacing:.08em;
text-transform:uppercase;
color:var(--white);
text-shadow:0 3px 14px rgba(0,0,0,0.35);
}

.services-section .service-card p{
margin:0;
font-size:1.1rem;
line-height:1.45;
color:rgba(255,255,255,0.92);
font-family:"Hakaya Poppins","Poppins",sans-serif;
text-shadow:0 2px 12px rgba(0,0,0,0.32);
}

.services-section .service-card:nth-child(1) h3,
.services-section .service-card:nth-child(1) p,
.services-section .service-card:nth-child(4) h3,
.services-section .service-card:nth-child(4) p{
color:#111111;
text-shadow:none;
}

.services-section .service-card:nth-child(2) .service-feature-copy{
justify-content:flex-end;
}

@media (max-width: 980px){
.services-section{
padding:40px 0 52px;
}

.services-section .section-heading{
padding:0 24px;
}

.services-banner{
width:min(100%, calc(100% - 40px));
margin-bottom:24px;
}

.services-banner .banner-wrap{
grid-template-columns:repeat(2, 1fr);
grid-template-rows:repeat(3, 1fr);
aspect-ratio:auto;
min-height:540px;
}

.services-section .service-grid{
width:min(100%, calc(100% - 40px));
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:24px;
padding:0;
}

.services-section .service-card{
min-height:250px;
}
}

@media (max-width: 640px){
.services-banner{
width:min(100%, calc(100% - 32px));
margin-bottom:20px;
}

.services-banner .banner-wrap{
grid-template-columns:1fr;
grid-template-rows:repeat(6, 160px);
aspect-ratio:auto;
}

.services-section .service-grid{
grid-template-columns:1fr;
width:min(100%, calc(100% - 32px));
gap:20px;
padding:0;
}

.services-section .service-card{
min-height:220px;
padding:20px;
}

.services-section .service-feature-media img{
width:112px;
height:112px;
}

.services-section .service-lottie{
width:112px;
height:112px;
}

.services-section .service-lottie-large{
width:128px;
height:128px;
margin-left:-6px;
margin-top:-2px;
}

.services-section .service-card h3{
font-size:1.12rem;
}

.services-section .service-card p{
font-size:1rem;
}
}

/* Transparent team detail cards */
.team-member-section{
background:transparent;
border:1px solid rgba(36,71,52,0.08);
box-shadow:none;
}

.team-member-section,
.team-member-section p,
.team-member-section li,
.team-member-section a{
color:var(--forest-deep);
}

.team-member-section h2,
.team-member-section h3,
.team-member-section .member-name{
color:var(--forest-deep);
}

.team-member-section .section-kicker,
.team-member-section .member-summary{
color:var(--forest);
}

/* ScrollTrigger section flow */
.scroll-section{
position:relative;
padding-top:30px;
padding-bottom:24px;
}

.pillar-section.scroll-section{
padding-top:0;
padding-bottom:8px;
}

.scroll-section .section-heading{
margin-bottom:28px;
}

.statement-section,
.one-line-section,
.pillar-section,
.services-section,
.team-preview-section,
.proof-section,
.brands-section{
scroll-margin-top:120px;
}

@media (max-width: 900px){
.scroll-section{
padding-top:30px;
padding-bottom:30px;
}

.pillar-section.scroll-section{
padding-top:0;
padding-bottom:8px;
}
}

/* Premium homepage hero */
.premium-hero{
padding:28px 64px 56px;
}

.premium-hero .hero-shell{
position:relative;
overflow:hidden;
padding:48px;
border:1px solid rgba(36,71,52,0.08);
border-radius:36px;
background-color:rgba(255,255,255,0.96);
background-image:url("../assets/images/first-section-background.svg");
background-repeat:no-repeat;
background-position:center;
background-size:cover;
box-shadow:0 28px 80px rgba(22, 46, 33, 0.12);
backdrop-filter:none;
}

.premium-hero .hero-grid{
position:relative;
z-index:1;
display:grid;
grid-template-columns:minmax(0, 1.2fr) minmax(280px, 0.75fr);
gap:32px;
align-items:end;
}

.premium-hero .hero-copy,
.premium-hero .hero-panel{
opacity:0;
transform:translateY(28px);
}

.hero-kicker{
display:inline-flex;
align-items:center;
gap:10px;
margin-bottom:20px;
padding:8px 14px;
border:1px solid rgba(36,71,52,0.1);
border-radius:999px;
background:rgba(255,255,255,0.72);
color:var(--forest);
font-size:0.84rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
}

.hero-kicker::before{
content:"";
width:8px;
height:8px;
border-radius:50%;
background:linear-gradient(135deg, var(--gold), var(--forest));
box-shadow:0 0 0 6px rgba(201,162,74,0.12);
}

.premium-hero .hero-title{
max-width:11ch;
margin:0;
font-size:clamp(3.6rem, 7vw, 7rem);
line-height:0.94;
letter-spacing:-0.04em;
font-weight:600;
color:#173123;
text-wrap:balance;
}

.premium-hero .hero-intro{
max-width:640px;
margin:24px 0 0;
font-size:1.08rem;
line-height:1.8;
color:rgba(23,49,35,0.8);
}

.premium-hero .hero-actions{
justify-content:flex-start;
margin-top:30px;
}

.premium-hero .button{
min-width:178px;
padding:15px 24px;
font-size:0.98rem;
letter-spacing:0.01em;
}

.premium-hero .button-primary{
background:linear-gradient(135deg, #173123, #2a523d);
box-shadow:0 16px 36px rgba(23,49,35,0.18);
}

.premium-hero .button-secondary{
border:1px solid rgba(23,49,35,0.12);
background:rgba(255,255,255,0.84);
}

.hero-proof-strip{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:28px;
}

.hero-proof-strip span{
display:inline-flex;
align-items:center;
padding:10px 14px;
border-radius:999px;
background:rgba(255,255,255,0.8);
border:1px solid rgba(36,71,52,0.08);
color:rgba(23,49,35,0.82);
font-size:0.92rem;
font-weight:500;
}

.premium-hero .hero-panel{
position:relative;
padding:26px;
border-radius:28px;
background:linear-gradient(180deg, #173123 0%, #234635 100%);
color:var(--cream);
box-shadow:0 24px 48px rgba(18, 36, 26, 0.18);
}

.hero-panel-label{
margin:0 0 18px;
font-size:0.82rem;
font-weight:600;
letter-spacing:0.18em;
text-transform:uppercase;
color:rgba(229,200,127,0.9);
}

.hero-panel-stat{
display:grid;
grid-template-columns:58px 1fr;
gap:14px;
align-items:start;
padding:18px 0;
border-top:1px solid rgba(255,255,255,0.12);
}

.hero-panel-stat:first-of-type{
border-top:none;
padding-top:0;
}

.hero-panel-stat strong{
font-size:1.7rem;
line-height:1;
font-weight:600;
color:var(--gold-soft);
}

.hero-panel-stat span{
font-size:1rem;
line-height:1.65;
color:rgba(244,239,228,0.88);
}

.hero-orb{
position:absolute;
border-radius:50%;
filter:blur(10px);
pointer-events:none;
}

.hero-orb-left{
top:-48px;
left:-58px;
width:180px;
height:180px;
background:radial-gradient(circle, rgba(201,162,74,0.28), rgba(201,162,74,0.02) 70%);
}

.hero-orb-right{
right:-80px;
bottom:-92px;
width:260px;
height:260px;
background:radial-gradient(circle, rgba(36,71,52,0.16), rgba(36,71,52,0.02) 72%);
}

@media (max-width: 980px){
.premium-hero{
padding:20px 20px 44px;
}

.premium-hero .hero-shell{
padding:30px 24px;
border-radius:28px;
}

.premium-hero .hero-grid{
grid-template-columns:1fr;
gap:24px;
}

.premium-hero .hero-title{
max-width:12ch;
font-size:clamp(2.9rem, 10vw, 5rem);
}
}

@media (max-width: 640px){
.premium-hero .hero-shell{
padding:26px 18px;
}

.hero-kicker{
font-size:0.76rem;
letter-spacing:0.13em;
}

.premium-hero .hero-title{
max-width:none;
font-size:clamp(2.6rem, 13vw, 4rem);
}

.premium-hero .hero-intro{
font-size:1rem;
line-height:1.7;
}

.premium-hero .hero-actions{
flex-direction:column;
align-items:stretch;
}

.premium-hero .button{
width:100%;
}

.hero-proof-strip span{
width:100%;
justify-content:center;
}

.hero-panel-stat{
grid-template-columns:44px 1fr;
}
}

/* Premium team section */
.team-preview-section{
padding:40px 64px 88px;
}

.team-preview-shell{
max-width:1160px;
margin:0 auto;
padding:44px;
border:0;
border-radius:0;
background:transparent;
box-shadow:none;
position:relative;
overflow:hidden;
}

.team-preview-shell::before{
display:none;
}

.team-preview-header{
position:relative;
z-index:1;
max-width:1020px;
margin-bottom:32px;
opacity:0;
transform:translateY(30px);
}

.team-preview-kicker{
margin-bottom:18px;
color:var(--forest);
}

.team-preview-title{
margin:0;
font-size:clamp(2.8rem, 5vw, 5rem);
line-height:0.98;
letter-spacing:-0.04em;
font-weight:600;
color:#173123;
text-align:left;
}

.team-preview-intro{
max-width:1020px;
margin:20px 0 0;
font-size:1.06rem;
line-height:1.8;
color:rgba(23,49,35,0.8);
text-align:left;
}

.team-preview-section .team-preview-grid{
position:relative;
z-index:1;
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:22px;
align-items:stretch;
}

.team-preview-section .team-story,
.team-preview-section .team-story-link{
min-height:250px;
padding:26px;
border-radius:28px;
border:1px solid rgba(36,71,52,0.08);
background:rgba(255,255,255,0.72);
box-shadow:0 18px 40px rgba(22, 46, 33, 0.08);
backdrop-filter:blur(6px);
text-decoration:none;
display:flex;
flex-direction:column;
align-items:flex-start;
gap:12px;
color:var(--forest-deep);
opacity:0;
transform:translateY(30px);
transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.team-preview-section .team-preview-grid > .team-story:nth-child(odd),
.team-preview-section .team-preview-grid > .team-story-link:nth-child(odd){
background:#e7def4;
}

.team-preview-section .team-story:hover,
.team-preview-section .team-story:focus-visible,
.team-preview-section .team-story-link:hover,
.team-preview-section .team-story-link:focus-visible{
transform:translateY(-6px);
box-shadow:0 24px 48px rgba(22, 46, 33, 0.12);
border-color:rgba(201,162,74,0.3);
}

.team-story-index{
display:inline-flex;
align-items:center;
justify-content:center;
width:44px;
height:44px;
border-radius:50%;
background:linear-gradient(135deg, rgba(23,49,35,0.95), rgba(42,82,61,0.84));
color:var(--cream);
font-size:0.86rem;
font-weight:600;
letter-spacing:0.08em;
}

.team-preview-section .team-story h3{
margin:4px 0 0;
font-family:Georgia, "Times New Roman", serif;
font-size:1.72rem;
line-height:1.02;
font-weight:600;
letter-spacing:-0.03em;
text-transform:none;
color:#173123;
}

.team-preview-section .team-role{
margin:0;
padding:0;
background:transparent;
border-radius:0;
color:#7a6431;
font-size:0.84rem;
font-weight:700;
letter-spacing:0.16em;
line-height:1.5;
text-transform:uppercase;
}

.team-preview-section .team-story p:last-child{
margin-top:auto;
font-size:0.99rem;
line-height:1.72;
color:rgba(23,49,35,0.8);
}

/* Premium brands section */
.brands-section{
padding:36px 64px 92px;
}

.brands-shell{
max-width:1160px;
margin:0 auto;
padding:44px;
border:0;
border-radius:0;
background:transparent;
box-shadow:none;
position:relative;
overflow:hidden;
}

.brands-shell::after{
display:none;
}

.brands-heading,
.brand-logos-figure{
position:relative;
z-index:1;
}

.brands-heading{
max-width:1080px;
margin-bottom:28px;
text-align:left;
opacity:0;
transform:translateY(28px);
}

.brands-kicker{
color:var(--forest);
margin-bottom:16px;
}

.brands-title{
max-width:1080px;
margin:0;
text-align:left;
font-size:clamp(2.6rem, 4.8vw, 4.6rem);
line-height:0.98;
letter-spacing:-0.04em;
font-weight:600;
color:#173123;
}

.brands-intro{
margin:18px 0 0;
max-width:760px;
text-align:left;
font-size:1.05rem;
line-height:1.8;
color:rgba(23,49,35,0.8);
}

.brands-meta{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:24px;
}

.brands-meta span{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 14px;
border-radius:999px;
border:1px solid rgba(36,71,52,0.08);
background:rgba(255,255,255,0.76);
color:rgba(23,49,35,0.82);
font-size:0.92rem;
font-weight:500;
}

.brand-logos-figure{
margin:0;
padding:0;
border-radius:0;
border:none;
background:transparent;
box-shadow:none;
opacity:0;
transform:translateY(34px) scale(0.98);
}

.brand-logos-figure img{
display:block;
width:100%;
height:auto;
}

@media (max-width: 980px){
.brands-section{
padding:28px 20px 72px;
}

.brands-shell{
padding:30px 24px;
border-radius:28px;
}

.brand-logos-figure{
padding:0;
border-radius:0;
}
}

@media (max-width: 640px){
.brands-shell{
padding:24px 18px;
}

.brands-title{
font-size:clamp(2.15rem, 10vw, 3.4rem);
}

.brands-intro{
font-size:1rem;
line-height:1.7;
}

.brands-meta span{
width:100%;
justify-content:center;
}

.brand-logos-figure{
padding:0;
}
}

/* Global typography override */
html,
body,
button,
input,
textarea,
select,
p,
span,
a,
li,
label,
small,
figcaption,
.section-intro,
.hero-intro,
.hero-problem,
.team-role,
.section-kicker,
.hero-kicker,
.brands-meta span,
.proof-chip,
.button,
.nav-links a{
font-family:"Hakaya Poppins", sans-serif;
}

.proof-section .proof-chip{
background:#e7def4;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.hero-title,
.team-preview-title,
.brands-title,
.member-name,
.hero-wordmark,
.card h3,
.team-story h3,
.service-card h3,
.footer-links h3{
font-family:"Hakaya Impact", Impact, sans-serif;
font-weight:700;
letter-spacing:0.01em;
}

.section-title,
.hero-title,
.team-preview-title,
.brands-title,
.member-name{
line-height:1;
}

.section-kicker,
.hero-kicker,
.team-role,
.nav-links a,
.button{
font-weight:500;
}

.one-line-first{
margin-top:24px;
margin-left:auto;
margin-right:auto;
text-align:center;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size: 30PX;
font-weight:400;
color:var(--gold) !important;
}
.one-line-second{
margin-top:24px;
margin-left:auto;
margin-right:auto;
text-align:center;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-weight:400;
font-size: 30px;
color:var(--forest-deep) !important;
}

.pillar-copy{
margin-top:48px;
}

.services-section .services-main-title{
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size: 30px;
font-weight:400;
color:var(--gold);
}

/* Mobile responsiveness improvements */
.nav-toggle{
display:none;
align-items:center;
justify-content:center;
flex-direction:column;
gap:5px;
width:48px;
height:48px;
padding:0;
border:1px solid rgba(36,71,52,0.16);
border-radius:999px;
background:rgba(255,255,255,0.72);
color:var(--forest-deep);
cursor:pointer;
}

.nav-toggle span{
display:block;
width:18px;
height:2px;
border-radius:999px;
background:currentColor;
transition:transform 0.25s ease, opacity 0.25s ease;
}

body.nav-open{
overflow:hidden;
}

@media (max-width: 900px){
.navbar{
position:sticky;
top:0;
left:0;
right:0;
display:grid;
grid-template-columns:1fr auto;
align-items:center;
gap:16px;
padding:16px 20px;
}

.logo{
min-width:0;
}

.logo img{
height:32px;
width:auto;
max-width:min(180px, 45vw);
}

.nav-toggle{
display:inline-flex;
justify-self:end;
}

.nav-links{
grid-column:1 / -1;
display:flex;
flex-direction:column;
align-items:stretch;
gap:8px;
width:100%;
max-height:0;
overflow:hidden;
padding:0;
opacity:0;
pointer-events:none;
transition:max-height 0.3s ease, opacity 0.25s ease, padding 0.25s ease;
}

.navbar.nav-open .nav-links{
max-height:420px;
padding-top:8px;
opacity:1;
pointer-events:auto;
}

.navbar.nav-open .nav-toggle span:nth-child(1){
transform:translateY(7px) rotate(45deg);
}

.navbar.nav-open .nav-toggle span:nth-child(2){
opacity:0;
}

.navbar.nav-open .nav-toggle span:nth-child(3){
transform:translateY(-7px) rotate(-45deg);
}

.nav-links li{
list-style:none;
}

.nav-links a{
display:block;
width:100%;
padding:12px 14px;
border-radius:16px;
background:rgba(255,255,255,0.76);
text-align:center;
}

.nav-links a::after{
display:none;
}

.section,
.premium-hero,
.team-preview-section,
.brands-section{
padding-left:20px;
padding-right:20px;
}

.hero,
.premium-hero{
padding-top:20px;
}

.hero-shell,
.manifesto-panel,
.contact-form,
.team-preview-shell,
.brands-shell{
padding:28px 20px;
}

.familiar-section{
min-height:auto;
padding:32px 20px;
background-size:cover;
background-position:center;
}

.familiar-shell{
min-height:auto;
padding:0;
}

.familiar-shell::after{
display:none;
}

.familiar-problem-text{
font-size:clamp(1.5rem, 6vw, 2.1rem);
line-height:1.35;
}

.animated-banner{
width:100%;
height:auto;
aspect-ratio:16 / 10;
max-width:100%;
}

.one-line-first,
.one-line-second,
.services-section .services-main-title{
font-size:clamp(1.55rem, 6vw, 2.2rem);
line-height:1.2;
}

.service-grid,
.grid,
.team-preview-grid,
.team-grid,
.proof-grid{
grid-template-columns:1fr;
}

.team-preview-title,
.brands-title{
font-size:clamp(2rem, 10vw, 3.2rem);
}

.pillar-section.scroll-section{
padding-bottom:0;
}

.brands-intro,
.team-preview-intro,
.section-intro,
.manifesto-panel p,
.card p,
.contact-form input,
.contact-form textarea{
font-size:1rem;
line-height:1.65;
}

.proof-story-figure{
margin-top:20px;
}

.footer-container{
gap:24px;
}

.site-footer,
footer{
padding:44px 20px 24px;
}

.site-footer::before{
inset:20px 20px auto;
}
}

@media (max-width: 780px){
.section{
padding-top:24px;
padding-bottom:56px;
}

.hero-shell,
.manifesto-panel,
.contact-form,
.team-preview-shell,
.brands-shell{
padding:24px 16px;
border-radius:24px;
}

.familiar-section{
padding:28px 16px;
}

.services-scramble{
font-size:clamp(1.8rem, 9vw, 2.4rem);
}

.services-intro-heading,
.services-title,
.services-emphasis,
.section-title,
.member-name{
word-break:break-word;
}

.pillar-copy{
margin-top:28px;
}
}

@media (max-width: 1024px){
.team-preview-section .team-preview-grid{
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:20px;
}

.team-preview-section .team-story,
.team-preview-section .team-story-link{
min-height:220px;
padding:22px;
}

.team-preview-section .team-story h3,
.team-preview-section .team-story-link h3{
font-size:1.45rem;
line-height:1.08;
}

.team-preview-section .team-role{
font-size:0.76rem;
letter-spacing:0.12em;
line-height:1.45;
}

.team-preview-section .team-story p:last-child,
.team-preview-section .team-story-link p:last-child{
font-size:0.95rem;
line-height:1.6;
}
}

@media (max-width: 680px){
.team-preview-section{
padding:28px 16px 56px;
}

.team-preview-shell{
padding:20px 16px;
}

.team-preview-header{
margin-bottom:24px;
}

.team-preview-title{
font-size:clamp(1.9rem, 9vw, 2.8rem);
line-height:1.02;
}

.team-preview-intro{
font-size:0.98rem;
line-height:1.6;
}

.team-preview-section .team-preview-grid{
grid-template-columns:1fr;
gap:16px;
}

.team-preview-section .team-story,
.team-preview-section .team-story-link{
min-height:auto;
padding:18px;
border-radius:22px;
}

.team-story-index{
width:38px;
height:38px;
font-size:0.8rem;
}

.team-preview-section .team-story h3,
.team-preview-section .team-story-link h3{
font-size:1.28rem;
line-height:1.1;
}

.team-preview-section .team-role{
font-size:0.72rem;
letter-spacing:0.1em;
}

.team-preview-section .team-story p:last-child,
.team-preview-section .team-story-link p:last-child{
margin-top:0;
font-size:0.92rem;
line-height:1.55;
}
}

/* HAKAYAA four-scene stylesheet from supplied hero code */
.s1,
.s2,
.s3{
--green:#1a2e1e;
--green-mid:#243d29;
--green-light:#2f5236;
--gold:#c9a84c;
--gold-dim:rgba(201,168,76,0.35);
--gold-faint:rgba(201,168,76,0.1);
--lilac:#c8b8d8;
--lilac-dim:rgba(200,184,216,0.35);
--lilac-faint:rgba(200,184,216,0.08);
--white:#f8f6f2;
--white-dim:rgba(248,246,242,0.5);
--white-faint:rgba(248,246,242,0.1);
--serif:"Hakaya Poppins","Poppins",serif;
--display:"Hakaya Impact",Impact,sans-serif;
--sans:"Hakaya Poppins","Poppins",sans-serif;
}

@keyframes fadeIn{
to{opacity:1;}
}

@keyframes fUp{
from{opacity:0;transform:translateY(14px);}
to{opacity:1;transform:translateY(0);}
}

@keyframes blobFloat{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-24px);}
}

@keyframes scrollPulse{
0%,100%{opacity:.3;}
50%{opacity:1;}
}

@keyframes rPulse{
0%,100%{opacity:.7;}
50%{opacity:1;}
}

.s1{
height:100vh;
min-height:600px;
display:flex;
align-items:center;
justify-content:center;
position:relative;
overflow:hidden;
background:var(--green);
}

.s1-geo{
position:absolute;
inset:0;
background:none;
opacity:0;
animation:fadeIn 2s .3s forwards;
mask-image:none;
}

.s1-blob{
position:absolute;
border-radius:50%;
filter:blur(80px);
pointer-events:none;
}

.s1-blob-1{
width:420px;
height:420px;
background:radial-gradient(circle, rgba(201,168,76,.12) 0%, transparent 70%);
top:-80px;
right:-60px;
animation:blobFloat 8s ease-in-out infinite;
}

.s1-blob-2{
width:300px;
height:300px;
background:radial-gradient(circle, rgba(200,184,216,.1) 0%, transparent 70%);
bottom:0;
left:-40px;
animation:blobFloat 11s ease-in-out infinite reverse;
}

.s1-inner{
position:relative;
z-index:5;
display:grid;
grid-template-columns:1fr 1fr;
gap:0;
max-width:1100px;
width:100%;
padding:0 52px;
align-items:center;
}

.s1-left{
padding-right:60px;
}

.s1-eyebrow{
display:flex;
align-items:center;
gap:12px;
font-family:var(--impact);
font-size:15px;
font-weight:500;
letter-spacing:.24em;
text-transform:uppercase;
color:var(--gold);
margin-bottom:24px;
opacity:0;
animation:fUp .5s 1.3s forwards;
}

.s1-eyebrow::before{
content:"";
display:block;
width:28px;
height:1px;
background:var(--gold-dim);
}

.s1-h1{
font-family:var(--display);
font-weight:700;
font-size:clamp(42px,5.5vw,76px);
line-height:1.06;
letter-spacing:0;
text-transform:none;
color:var(--white);
margin-bottom:24px;
}

.s1-word{
display:inline-block;
opacity:0;
transform:translateY(24px);
}

.s1-word.italic{
font-style:normal;
color:var(--gold);
text-shadow:0 0 24px rgba(201,168,76,.16);
}

.s1-sub{
font-family:var(--sans);
font-size:13px;
font-weight:400;
line-height:1.75;
color:var(--white-dim);
max-width:340px;
margin-bottom:32px;
opacity:0;
animation:fUp .6s 2.4s forwards;
}

.s1-actions{
display:flex;
gap:12px;
align-items:center;
opacity:0;
animation:fUp .5s 2.7s forwards;
}

.s1 .btn-primary{
font-family:var(--sans);
font-size:10px;
letter-spacing:.14em;
text-transform:uppercase;
background:var(--gold);
color:var(--green);
font-weight:500;
padding:11px 24px;
text-decoration:none;
transition:all .3s;
border:none;
cursor:pointer;
}

.s1 .btn-primary:hover{
background:var(--white);
}

.s1 .btn-ghost{
font-family:var(--sans);
font-size:10px;
letter-spacing:.14em;
text-transform:uppercase;
color:var(--lilac);
border:.5px solid var(--lilac-dim);
padding:11px 24px;
text-decoration:none;
transition:all .3s;
}

.s1 .btn-ghost:hover{
background:var(--lilac-faint);
color:var(--white);
}

.s1-right{
border-left:.5px solid var(--white-faint);
padding-left:52px;
opacity:0;
animation:fUp .7s 1.8s forwards;
}

.s1-forms-label{
font-family:var(--sans);
font-size:9px;
letter-spacing:.2em;
text-transform:uppercase;
color:var(--lilac-dim);
margin-bottom:20px;
}

.s1-forms{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}

.s1-form-card{
background:rgba(248,246,242,.04);
border:.5px solid var(--white-faint);
padding:14px 16px;
transition:all .3s;
}

.s1-form-card:hover{
border-color:var(--gold-dim);
background:rgba(201,168,76,.05);
}

.s1-form-card .icon{
font-size:18px;
margin-bottom:8px;
display:block;
color:var(--gold);
}

.s1-form-card .label{
font-family:var(--sans);
font-size:11px;
font-weight:500;
color:var(--white);
display:block;
margin-bottom:2px;
letter-spacing:0;
text-transform:none;
}

.s1-form-card .desc{
font-family:var(--sans);
font-size:10px;
color:var(--white-dim);
}

.s1-scroll{
position:absolute;
bottom:28px;
left:52px;
display:flex;
align-items:center;
gap:10px;
opacity:0;
animation:fUp .5s 3s forwards;
z-index:5;
}

.s1-scroll span{
font-family:var(--sans);
font-size:9px;
letter-spacing:.2em;
text-transform:uppercase;
color:var(--white-dim);
}

.s1-scroll-line{
width:36px;
height:1px;
background:linear-gradient(to right, var(--gold-dim), transparent);
animation:scrollPulse 2s ease-in-out infinite;
}

.s2{
background:var(--green-mid);
padding:100px 52px;
display:grid;
grid-template-columns:1fr 1fr;
gap:80px;
align-items:center;
position:relative;
overflow:hidden;
}

.s2::before{
content:"STORY";
font-family:var(--display);
font-size:320px;
color:rgba(201,168,76,.03);
position:absolute;
right:-60px;
top:50%;
transform:translateY(-50%);
pointer-events:none;
user-select:none;
letter-spacing:.05em;
line-height:1;
}

.s2-tag{
font-family:var(--sans);
font-size:14px;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--lilac);
margin-bottom:28px;
display:flex;
align-items:center;
gap:10px;
opacity:0;
transform:translateY(16px);
transition:all .6s;
}

.s2-tag.vis{
opacity:1;
transform:none;
}

.s2-tag::before{
content:"";
width:20px;
height:1px;
background:var(--lilac-dim);
}

.s2-line{
font-family:var(--serif);
font-weight:400;
display:block;
color:rgba(248,246,242,.2);
opacity:0;
transform:translateX(-24px);
transition:opacity .65s, transform .65s, color .65s;
}

.s2-line.vis{
opacity:1;
transform:none;
color:var(--white);
}

.s2-line.xl{
font-size:clamp(36px,4.5vw,60px);
line-height:1.1;
}

.s2-line.lg{
font-size:clamp(24px,3vw,38px);
line-height:1.2;
}

.s2-line-small{
font-size:15px;
font-family:var(--sans);
font-weight:300;
}

.s2-line .g{
color:var(--gold);
font-style:normal;
}

.s2-line .l{
color:var(--lilac);
}

.s2-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:1px;
background:var(--white-faint);
border:.5px solid var(--white-faint);
opacity:0;
transform:translateY(20px);
transition:all .7s .2s;
}

.s2-grid.vis{
opacity:1;
transform:none;
}

.s2-cell{
background:var(--green-mid);
padding:20px;
transition:background .3s;
}

.s2-cell:hover{
background:var(--green-light);
}

.s2-cell-num{
font-family:var(--display);
font-size:32px;
line-height:1;
color:var(--gold);
margin-bottom:6px;
}

.s2-cell-label{
font-family:var(--sans);
font-size:11px;
color:var(--white);
font-weight:500;
margin-bottom:3px;
}

.s2-cell-desc{
font-family:var(--sans);
font-size:10px;
color:var(--white-dim);
line-height:1.5;
}

.s3{
background:var(--lavender);
padding:100px 52px;
display:grid;
grid-template-columns:2fr 1fr;
gap:80px;
align-items:center;
position:relative;
overflow:hidden;
}

.s3::after{
content:"";
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:linear-gradient(to right, var(--gold), var(--lilac), transparent);
}

.s3-quote{
font-family:var(--poppins);
font-size:clamp(15px,2vw,19px);
font-style:normal;
font-weight:400;
color:rgb(26, 46, 30);
margin-bottom:28px;
line-height:1.65;
opacity:0;
transform:translateY(16px);
transition:all .7s;
border-left:3px solid rgba(97, 79, 29, 0.869);
padding-left:20px;
}

.s3-quote.vis,
.s3-h2.vis,
.s3-body.vis,
.s3-cta.vis,
.s3-right.vis{
opacity:1;
transform:none;
}

.s3-h2{
font-family:var(--poppins);
font-weight:400;
font-size:clamp(38px,5vw,68px);
line-height:1.1;
color:var(--green);
margin-bottom:24px;
opacity:0;
transform:translateY(20px);
transition:all .8s .15s;
letter-spacing:0;
text-transform:none;
}

.s3-h2 em{
font-style:var(--poppins);
color:#7a5c3a;
}

.s3-body{
font-family:var(--poppins);
font-size:20px;
line-height:1.8;
color:rgba(26,46,30,.55);
opacity:0;
transform:translateY(16px);
transition:all .6s .3s;
}

.s3-cta{
margin-top:32px;
opacity:0;
transform:translateY(16px);
transition:all .6s .45s;
border-radius: 28px;
}

.s3-cta a{
font-family:var(--poppins);
font-size:15px;
letter-spacing:.18em;
text-transform:uppercase;
color:#1f4623d9;
border:.5px solid rgba(32, 80, 41, 0.78);
padding:12px 32px;
text-decoration:none;
display:inline-block;
transition:all .35s;
position:relative;
overflow:hidden;
z-index:1;
}

.s3-cta a::before{
content:"";
position:absolute;
inset:0;
background:var(--green-light);
transform:translateX(-100%);
transition:transform .35s cubic-bezier(.16,1,.3,1);
z-index:-1;
}

.s3-cta a:hover{
color:var(--gold-soft);
border-color:var(--gold);
}

.s3-cta a:hover::before{
transform:translateX(0);
}

.s3-right{
opacity:0;
transform:translateY(16px);
transition:all .7s .4s;
position:relative;
padding:16px;
border:1px solid rgba(26,46,30,.1);
background:
linear-gradient(135deg, rgba(252, 245, 227, 0.748), transparent 38%),
rgba(252, 243, 225, 0.779);
box-shadow:0 24px 60px rgba(37, 49, 39, 0.742);
}

.s3-pillars{
display:flex;
flex-direction:column;
gap:8px;
counter-reset:story-pillar;
}

.s3-pillar{
counter-increment:story-pillar;
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
min-height:58px;
padding:14px 16px;
background:rgba(255,255,255,.58);
border:1px solid rgba(26,46,30,.08);
transition:transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
cursor:default;
position:relative;
overflow:hidden;
}

.s3-pillar:hover{
transform:translateX(-6px);
background:#fffdfa;
border-color:rgba(201,168,76,.45);
box-shadow:0 14px 32px rgba(26,46,30,.08);
}

.s3-pillar::before{
content:counter(story-pillar, decimal-leading-zero);
display:inline-flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
flex:0 0 34px;
border:1px solid rgba(201,168,76,.42);
background:rgba(201,168,76,.1);
font-family:var(--display);
font-size:16px;
line-height:1;
color:#8a6a2d;
}

.s3-pillar::after{
content:"";
position:absolute;
inset:0 auto 0 0;
width:3px;
background:var(--gold);
opacity:0;
transition:opacity .3s ease;
}

.s3-pillar:hover::after{
opacity:1;
}

.s3-pillar span{
font-family:var(--sans);
font-size:13px;
color:var(--green);
font-weight:600;
letter-spacing:.06em;
flex:1;
}

.s3-pillar .dot{
width:8px;
height:8px;
border-radius:50%;
background:var(--gold);
box-shadow:0 0 0 6px rgba(201,168,76,.12);
opacity:.85;
flex:0 0 auto;
}

@media (max-width:820px){
.s1{
height:auto;
min-height:100vh;
}

.s1-inner{
grid-template-columns:1fr;
gap:40px;
padding:100px 24px 80px;
}

.s1-left{
padding-right:0;
}

.s1-right{
border-left:none;
padding-left:0;
border-top:.5px solid var(--white-faint);
padding-top:32px;
}

.s2{
grid-template-columns:1fr;
gap:48px;
padding:72px 24px;
}

.s2::before{
font-size:160px;
right:-20px;
}

.s3{
grid-template-columns:1fr;
gap:40px;
padding:72px 24px;
}

.s3-right{
padding:12px;
}

.s3-pillar{
gap:12px;
padding:13px 14px;
}

.s3-pillar:hover{
transform:none;
}
}

@media (max-width:560px){
.s1-h1{
font-size:clamp(34px, 10.5vw, 42px);
line-height:1.08;
}

.s1-word{
display:block;
}

.s1-inner{
padding-left:24px;
padding-right:24px;
}
}

/* Hakayaa story hero */
.hakayaa-story-hero{
--story-green:#193325;
--story-green-mid:#244734;
--story-gold:#c9a24a;
--story-lilac:#e7def4;
position:relative;
min-height:calc(100vh - 92px);
padding:0 64px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
background:var(--story-green);
color:var(--story-lilac);
isolation:isolate;
}

.hakayaa-story-hero *,
.hakayaa-story-hero *::before,
.hakayaa-story-hero *::after{
box-sizing:border-box;
}

.story-hero-geo{
position:absolute;
inset:0;
background-image:
linear-gradient(rgba(231,222,244,0.08) 1px, transparent 1px),
linear-gradient(90deg, rgba(231,222,244,0.08) 1px, transparent 1px);
background-size:80px 80px;
mask-image:radial-gradient(ellipse 62% 72% at 50% 50%, #000 0%, transparent 100%);
opacity:0;
animation:storyHeroFade 1.5s 0.1s ease forwards;
}

.story-hero-glow{
position:absolute;
border-radius:999px;
filter:blur(74px);
pointer-events:none;
z-index:-1;
}

.story-hero-glow-gold{
width:420px;
height:420px;
top:-90px;
right:-70px;
background:rgba(201,162,74,0.16);
animation:storyHeroFloat 8s ease-in-out infinite;
}

.story-hero-glow-lilac{
width:320px;
height:320px;
left:-70px;
bottom:0;
background:rgba(231,222,244,0.12);
animation:storyHeroFloat 11s ease-in-out infinite reverse;
}

.story-hero-inner{
position:relative;
z-index:1;
width:100%;
max-width:1160px;
display:grid;
grid-template-columns:minmax(0, 1fr) minmax(360px, 0.88fr);
align-items:center;
gap:52px;
}

.story-hero-copy{
padding-right:52px;
}

.story-hero-kicker{
display:flex;
align-items:center;
gap:12px;
margin:0 0 24px;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:0.72rem;
font-weight:600;
letter-spacing:0.24em;
line-height:1.4;
text-transform:uppercase;
color:var(--story-gold);
opacity:0;
animation:storyHeroRise 0.6s 0.35s ease forwards;
}

.story-hero-kicker::before{
content:"";
width:28px;
height:1px;
background:rgba(201,162,74,0.48);
}

.story-hero-title{
display:flex;
flex-direction:column;
gap:0.04em;
margin:0 0 24px;
font-family:"Hakaya Impact", Impact, sans-serif;
font-size:clamp(4.2rem, 8.4vw, 8.6rem);
font-weight:700;
line-height:0.82;
letter-spacing:0.03em;
text-transform:uppercase;
color:var(--story-lilac);
}

.hakayaa-story-hero .story-hero-title,
.hakayaa-story-hero .story-hero-title span{
font-family:"Hakaya Impact", Impact, sans-serif;
font-weight:700;
color:var(--story-lilac);
}

.story-hero-title span{
display:block;
opacity:0;
transform:translateY(28px);
animation:storyHeroRise 0.75s cubic-bezier(.16,1,.3,1) forwards;
}

.story-hero-title span:nth-child(1){animation-delay:0.62s;}
.story-hero-title span:nth-child(2){animation-delay:0.76s;}
.story-hero-title span:nth-child(3){animation-delay:0.9s;}
.story-hero-title span:nth-child(4){
animation-delay:1.04s;
color:var(--story-gold);
}

.hakayaa-story-hero .story-hero-title span:nth-child(4){
color:var(--story-gold);
}

.story-hero-intro{
max-width:470px;
margin:0 0 32px;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:1rem;
font-weight:400;
line-height:1.85;
letter-spacing:0;
color:rgba(231,222,244,0.72);
opacity:0;
animation:storyHeroRise 0.7s 1.22s ease forwards;
}

.story-hero-actions{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:12px;
opacity:0;
animation:storyHeroRise 0.7s 1.38s ease forwards;
}

.story-hero-button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:12px 24px;
border:1px solid rgba(201,162,74,0.44);
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:0.72rem;
font-weight:600;
letter-spacing:0.16em;
line-height:1;
text-transform:uppercase;
text-decoration:none;
transition:background .25s ease, color .25s ease, border-color .25s ease;
}

.story-hero-button-primary{
background:var(--story-gold);
color:var(--story-green);
}

.story-hero-button-secondary{
background:transparent;
color:var(--story-lilac);
border-color:rgba(231,222,244,0.32);
}

.story-hero-button:hover,
.story-hero-button:focus-visible{
background:var(--story-lilac);
color:var(--story-green);
border-color:var(--story-lilac);
}

.story-hero-panel{
padding-left:52px;
border-left:1px solid rgba(231,222,244,0.12);
opacity:0;
animation:storyHeroRise 0.75s 0.9s ease forwards;
}

.story-hero-panel-label{
margin:0 0 20px;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:0.68rem;
font-weight:600;
letter-spacing:0.22em;
line-height:1.4;
text-transform:uppercase;
color:rgba(231,222,244,0.48);
}

.story-hero-cards{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px;
}

.story-hero-card{
min-height:118px;
padding:16px;
border:1px solid rgba(231,222,244,0.14);
background:rgba(231,222,244,0.04);
transition:background .25s ease, border-color .25s ease, transform .25s ease;
}

.story-hero-card:hover{
border-color:rgba(201,162,74,0.5);
background:rgba(201,162,74,0.08);
transform:translateY(-3px);
}

.story-hero-icon{
display:block;
margin-bottom:10px;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:1.1rem;
line-height:1;
color:var(--story-gold);
}

.story-hero-card h2{
margin:0 0 4px;
font-family:"Hakaya Impact", Impact, sans-serif;
font-size:1.15rem;
font-weight:700;
line-height:1;
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--story-lilac);
}

.story-hero-card p{
margin:0;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:0.78rem;
font-weight:400;
line-height:1.5;
letter-spacing:0;
color:rgba(231,222,244,0.62);
}

.story-hero-scroll{
position:absolute;
left:64px;
bottom:28px;
display:flex;
align-items:center;
gap:10px;
z-index:1;
opacity:0;
animation:storyHeroRise 0.7s 1.56s ease forwards;
}

.story-hero-scroll span{
width:36px;
height:1px;
background:linear-gradient(90deg, rgba(201,162,74,0.7), transparent);
animation:storyHeroPulse 2s ease-in-out infinite;
}

.story-hero-scroll p{
margin:0;
font-family:"Hakaya Poppins","Poppins",sans-serif;
font-size:0.66rem;
font-weight:600;
letter-spacing:0.22em;
line-height:1;
text-transform:uppercase;
color:rgba(231,222,244,0.52);
}

@keyframes storyHeroFade{
to{opacity:1;}
}

@keyframes storyHeroRise{
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes storyHeroFloat{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-24px);}
}

@keyframes storyHeroPulse{
0%,100%{opacity:.34;}
50%{opacity:1;}
}

@media (max-width: 900px){
.hakayaa-story-hero{
min-height:auto;
padding:86px 24px 78px;
}

.story-hero-inner{
grid-template-columns:1fr;
gap:40px;
}

.story-hero-copy{
padding-right:0;
}

.story-hero-panel{
padding-left:0;
padding-top:32px;
border-left:0;
border-top:1px solid rgba(231,222,244,0.12);
}

.story-hero-scroll{
left:24px;
bottom:24px;
}
}

@media (max-width: 560px){
.hakayaa-story-hero{
padding:72px 18px 70px;
}

.story-hero-title{
font-size:clamp(3.2rem, 18vw, 5.2rem);
}

.story-hero-actions{
align-items:stretch;
flex-direction:column;
}

.story-hero-button{
width:100%;
}

.story-hero-cards{
grid-template-columns:1fr;
}
}
/* SERVICES ECOSYSTEM PAGE START */
/* ── VARIABLES ─────────────────────────────── */


/* ── RESET & BASE ──────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body.services-page {
  font-family: "Hakaya Poppins", "Poppins", system-ui, sans-serif;
  background: var(--cream);
  color: var(--forest);
  line-height: 1.65;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.section-kicker {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 10px;
}

/* ── CURSOR DOT ────────────────────────────── */
.cursor-dot {
  position: fixed; top: 0; left: 0;
  width: 10px; height: 10px;
  background: var(--gold);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  box-shadow: 0 0 12px rgba(201,162,74,0.8), 0 0 28px rgba(201,162,74,0.4);
  transition: opacity 0.2s ease, transform 0.1s ease;
  will-change: transform;
}
.cursor-dot.is-visible { opacity: 1; }
.cursor-dot.is-hovering {
  transform: scale(2.2);
  background: var(--gold-soft);
}

/* ── LOGO FALLBACK ─────────────────────────── */
.logo-fallback {
  display: none;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--forest);
}

/* ── NAVBAR ────────────────────────────────── */
.navbar {
  position: sticky; top: 0; z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 64px;
  background: rgba(253,251,247,0.95);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(36,71,52,0.1);
  transition: transform 0.38s ease, opacity 0.38s ease, background 0.25s ease;
  will-change: transform;
}
.navbar-hidden { transform: translateY(calc(-100% - 8px)); opacity: 0.02; }
.logo img { max-height: 58px; width: auto; object-fit: contain; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
  list-style: none;
}
.nav-links a {
  display: block;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--forest);
  background: rgba(255,255,255,0.7);
  border: 1px solid transparent;
  transition: background 0.22s, color 0.22s, border-color 0.22s;
}
.nav-links a:hover,
.nav-links a.nav-active {
  background: var(--forest);
  color: var(--gold-soft);
}
.nav-toggle { display: none; }

/* ── HERO ──────────────────────────────────── */
.services-hero {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: var(--forest);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 120px 64px 80px;
  isolation: isolate;
}

/* Grid texture */
.hero-geo {
  position: absolute; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(231,222,244,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(231,222,244,0.07) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 0%, transparent 100%);
  opacity: 0;
  animation: heroGeoFade 2s 0.5s ease forwards;
}
@keyframes heroGeoFade { to { opacity: 1; } }

/* Ambient orbs */
.hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
.hero-orb-1 {
  width: 480px; height: 480px;
  top: -120px; right: -80px;
  background: radial-gradient(circle, rgba(201,162,74,0.18) 0%, transparent 70%);
  animation: orbFloat 9s ease-in-out infinite;
}
.hero-orb-2 {
  width: 360px; height: 360px;
  bottom: -60px; left: -60px;
  background: radial-gradient(circle, rgba(200,184,216,0.15) 0%, transparent 70%);
  animation: orbFloat 12s ease-in-out infinite reverse;
}
@keyframes orbFloat {
  0%,100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-28px) scale(1.06); }
}

.services-hero-shell {
  position: relative; z-index: 1;
  max-width: 880px; width: 100%;
  display: flex; flex-direction: column;
  align-items: center; gap: 22px;
  text-align: center;
}

/* Reveal state — items start invisible, JS adds .is-revealed */
.js-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.js-reveal.is-revealed { opacity: 1; transform: translateY(0); }

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
}
.eyebrow-line {
  display: block; width: 28px; height: 1px;
  background: rgba(201,162,74,0.5);
}

.hero-not-menu {
  font-size: 1rem; font-weight: 400;
  color: rgba(231,222,244,0.6);
  letter-spacing: 0.02em;
}

.hero-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(3.2rem, 8.5vw, 7.4rem);
  line-height: 0.9;
  letter-spacing: 0.02em;
  color: var(--lavender);
  font-weight: 700;
}
.hero-title-accent { color: var(--gold); }

.hero-divider {
  width: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), rgba(200,184,216,0.7), transparent);
  animation: heroLineExpand 1s 1.6s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes heroLineExpand { to { width: 320px; } }

.hero-sub {
  max-width: 640px;
  font-size: 1.04rem; line-height: 1.82;
  color: rgba(231,222,244,0.72);
}
.hero-sub em { color: var(--gold-soft); font-style: normal; font-weight: 600; }

.hero-pills {
  display: flex; flex-wrap: wrap;
  justify-content: center; gap: 10px;
  margin-top: 4px;
}
.hero-pill {
  display: inline-block;
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid rgba(201,162,74,0.35);
  background: rgba(201,162,74,0.08);
  font-size: 0.76rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold-soft);
  transition: background 0.25s, border-color 0.25s, transform 0.25s, color 0.25s;
  cursor: pointer;
}
.hero-pill:hover {
  background: var(--gold);
  color: var(--forest);
  border-color: var(--gold);
  transform: translateY(-3px);
}

.hero-scroll-cue {
  position: absolute; bottom: 28px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column;
  align-items: center; gap: 8px; z-index: 1;
  opacity: 0; animation: riseUp 0.6s 2.2s ease forwards;
}
.scroll-line {
  width: 1px; height: 44px;
  background: linear-gradient(180deg, rgba(201,162,74,0.7), transparent);
  animation: scrollPulse 2s ease-in-out infinite;
}
.hero-scroll-cue span {
  font-size: 0.6rem; letter-spacing: 0.24em;
  text-transform: uppercase; color: rgba(231,222,244,0.45);
}
@keyframes scrollPulse { 0%,100%{opacity:.3;} 50%{opacity:1;} }
@keyframes riseUp {
  from { opacity: 0; transform: translateX(-50%) translateY(20px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* ── BRIDGE ────────────────────────────────── */
.services-bridge {
  position: relative;
  overflow: hidden;
  background: var(--lavender);
  padding: 80px 64px;
}
.bridge-watermark {
  position: absolute;
  right: -40px; top: 50%;
  transform: translateY(-50%);
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 200px; letter-spacing: 0.1em; line-height: 1;
  color: rgba(36,71,52,0.05);
  pointer-events: none; user-select: none;
  white-space: nowrap;
}
.bridge-inner {
  max-width: 1160px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 56px; align-items: center;
}
.bridge-left .section-kicker { margin-bottom: 14px; }
.bridge-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  line-height: 0.95;
  color: var(--forest);
  margin-bottom: 20px;
}
.bridge-title span { color: var(--gold); }
.bridge-body { font-size: 1.02rem; line-height: 1.82; color: var(--forest-mid); }

.bridge-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1px;
  background: rgba(36,71,52,0.14);
  border: 1px solid rgba(36,71,52,0.14);
  border-radius: 22px; overflow: hidden;
  box-shadow: var(--shadow-md);
}
.bridge-cell {
  background: rgba(255,255,255,0.82);
  padding: 24px;
  display: flex; flex-direction: column; gap: 6px;
  transition: background 0.25s, transform 0.25s;
}
.bridge-cell:hover { background: rgba(255,255,255,0.96); }
.bc-num {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.8rem; line-height: 1; color: var(--gold);
}
.bc-label { font-size: 0.9rem; font-weight: 700; color: var(--forest); }
.bc-desc { font-size: 0.82rem; color: var(--muted); line-height: 1.5; }

/* ── FADE SECTION BASE ─────────────────────── */
.js-fade-section {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.16,1,0.3,1);
}
.js-fade-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── PILLARS SECTION ───────────────────────── */
.services-pillars {
  padding: 0 0 64px;
  background: var(--lavender);
}
.services-pillars-shell {
  max-width: auto;
  margin: 0 auto;
  padding: 0 64px;
}

/* ── PILLAR BLOCK ──────────────────────────── */
.pillar-block {
  position: relative;
  padding: 80px 0 64px;
  border-top: 1px solid rgba(36,71,52,0.1);
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.16,1,0.3,1);
}
.pillar-block.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Alternating accent line */
.pillar-block::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--lavender-mid));
  transition: width 0.9s cubic-bezier(0.16,1,0.3,1) 0.1s;
}
.pillar-block.is-visible::before { width: 100%; }

/* Alt blocks get lavender tint */
.pillar-alt {
  background: rgba(231,222,244,0.22);
  border-radius: 0;
  margin: 0 -64px;
  padding-left: 64px;
  padding-right: 64px;
}

/* Sticky decorative number */
.pillar-sticky-label {
  position: absolute;
  top: 105px; right: 0%;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 130px; line-height: 1;
  letter-spacing: 0.1em;
  color: rgba(22, 58, 38, 0.356);
  pointer-events: none; user-select: none;
  overflow: hidden;
}

/* ── PILLAR HEADER ─────────────────────────── */
.pillar-header {
  display: flex; align-items: flex-start;
  gap: 20px; margin-bottom: 36px;
}
.pillar-badge {
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, var(--forest), var(--forest-light));
  color: var(--gold-soft);
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.1rem; font-weight: 700; letter-spacing: 0.08em;
  box-shadow: 0 8px 24px rgba(26,48,37,0.28);
  margin-top: 4px;
}
.pillar-header-text .pillar-kicker {
  margin-bottom: 6px;
}
.pillar-name {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(2.6rem, 5.5vw, 4.6rem);
  line-height: 0.88;
  color: var(--forest);
  letter-spacing: 0.03em;
  margin-bottom: 10px;
}
.pillar-tagline {
  font-size: 0.96rem;
  font-style: italic;
  color: var(--muted);
}

/* ── INTRO STATEMENT ───────────────────────── */
.pillar-intro-statement {
  display: inline-block;
  margin-bottom: 28px;
  padding: 14px 22px;
  border-left: 3px solid var(--gold);
  background: rgba(201,162,74,0.07);
  border-radius: 0 12px 12px 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--forest);
  font-style: italic;
}

/* ── PHILOSOPHY BOX ────────────────────────── */
.pillar-philosophy {
  margin-bottom: 40px;
  padding: 32px;
  border-radius: 22px;
  background: var(--forest);
  color: var(--beige);
  position: relative;
  overflow: hidden;
}
.pillar-philosophy::before {
  content: "";
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, var(--gold), var(--lavender-mid), var(--gold));
}
.pillar-philosophy::after {
  content: "";
  position: absolute;
  bottom: -60px; right: -60px;
  width: 220px; height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,74,0.12), transparent 70%);
  pointer-events: none;
}

.philosophy-header {
  margin-bottom: 22px;
}
.philosophy-label {
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(229,200,127,0.7);
}

.philosophy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 28px;
}
.philo-item {
  display: flex; align-items: flex-start; gap: 10px;
  opacity: 0; transform: translateX(-12px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.pillar-block.is-visible .philo-item { opacity: 1; transform: translateX(0); }

/* Stagger philosophy items */
.pillar-block.is-visible .philo-item:nth-child(1) { transition-delay: 0.08s; }
.pillar-block.is-visible .philo-item:nth-child(2) { transition-delay: 0.14s; }
.pillar-block.is-visible .philo-item:nth-child(3) { transition-delay: 0.20s; }
.pillar-block.is-visible .philo-item:nth-child(4) { transition-delay: 0.26s; }
.pillar-block.is-visible .philo-item:nth-child(5) { transition-delay: 0.32s; }
.pillar-block.is-visible .philo-item:nth-child(6) { transition-delay: 0.38s; }

.philo-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold); flex-shrink: 0; margin-top: 9px;
}
.philo-item p {
  font-size: 0.96rem; line-height: 1.65;
  color: rgba(244,239,228,0.85);
}
.philo-item strong {
  font-size: 0.98rem;
  color: var(--gold-soft);
  font-weight: 600;
}

/* ── SERVICES GRID ─────────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}

body.services-page .svc-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 22px;
  border-radius: 18px;
  border: 1px solid rgba(36,71,52,0.1);
  background: rgba(255,255,255,0.8);
  backdrop-filter: blur(4px);
  box-shadow: var(--shadow-sm);
  opacity: 0; transform: translateY(22px);
  transition: opacity 0.6s ease, transform 0.6s ease, background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, color 0.35s ease;
}
body.services-page .svc-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.74), transparent 34%),
    linear-gradient(135deg, rgba(231,222,244,0.96), rgba(200,184,216,0.78));
  opacity: 0;
  transform: scale(0.96) translateY(12px);
  transition: opacity 0.42s ease, transform 0.42s cubic-bezier(0.16,1,0.3,1);
}
.pillar-block.is-visible .svc-card { opacity: 1; transform: translateY(0); }

/* Stagger cards */
.pillar-block.is-visible .svc-card:nth-child(1)  { transition-delay: 0.06s; }
.pillar-block.is-visible .svc-card:nth-child(2)  { transition-delay: 0.10s; }
.pillar-block.is-visible .svc-card:nth-child(3)  { transition-delay: 0.14s; }
.pillar-block.is-visible .svc-card:nth-child(4)  { transition-delay: 0.18s; }
.pillar-block.is-visible .svc-card:nth-child(5)  { transition-delay: 0.22s; }
.pillar-block.is-visible .svc-card:nth-child(6)  { transition-delay: 0.26s; }
.pillar-block.is-visible .svc-card:nth-child(7)  { transition-delay: 0.30s; }
.pillar-block.is-visible .svc-card:nth-child(8)  { transition-delay: 0.34s; }

body.services-page .svc-card:hover,
body.services-page .svc-card:focus-within {
  background: rgba(231,222,244,0.92);
  border-color: rgba(176,160,200,0.78);
  box-shadow: 0 18px 48px rgba(176,160,200,0.34), 0 8px 20px rgba(16,33,24,0.08);
  transform: translateY(-4px) !important;
}
body.services-page .svc-card:hover::before,
body.services-page .svc-card:focus-within::before {
  opacity: 1;
  transform: scale(1) translateY(0);
}
body.services-page .svc-card:hover .svc-num,
body.services-page .svc-card:focus-within .svc-num {
  color: var(--forest);
}
body.services-page .svc-card:hover h3,
body.services-page .svc-card:focus-within h3 {
  color: var(--forest);
}
body.services-page .svc-card:hover p,
body.services-page .svc-card:focus-within p {
  color: rgba(26,48,37,0.78);
}

.svc-num {
  font-size: 0.84rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 8px;
  transition: color 0.35s ease;
}
body.services-page .svc-card h3 {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.2rem; line-height: 1.1;
  color: var(--forest);
  margin-bottom: 10px;
  letter-spacing: 0.02em;
  transition: color 0.35s ease;
}
body.services-page .svc-card p {
  font-size: 0.82rem; line-height: 1.65;
  color: var(--muted);
  transition: color 0.35s ease;
}

/* ── PILLAR VALUE ──────────────────────────── */
.pillar-value {
  padding: 22px 28px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(201,162,74,0.1), rgba(231,222,244,0.45));
  border: 1px solid rgba(201,162,74,0.25);
  position: relative;
  overflow: hidden;
}
.pillar-value::before {
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--gold), var(--lavender-deep));
  border-radius: 3px 0 0 3px;
}
.pv-label {
  display: block;
  font-size: 0.64rem; font-weight: 700;
  letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px;
}
.pillar-value p {
  font-size: 0.96rem; line-height: 1.75;
  color: var(--forest);
}
.pv-quote {
  margin-top: 10px;
  font-style: italic;
  color: var(--forest-mid) !important;
  font-size: 0.92rem !important;
}

/* ── FLOW SECTION ──────────────────────────── */
.services-flow {
  padding: 88px 64px;
  background: var(--forest);
  position: relative; overflow: hidden;
}
.services-flow::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 8% 50%, rgba(201,162,74,0.14), transparent 38%),
    radial-gradient(circle at 92% 50%, rgba(200,184,216,0.1), transparent 38%);
  pointer-events: none;
}
.flow-inner {
  max-width: 1160px; margin: 0 auto;
  position: relative; z-index: 1;
  text-align: center;
}
.flow-kicker { color: var(--gold); margin-bottom: 16px; }
.flow-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(2rem, 4.2vw, 3.8rem);
  line-height: 1; color: var(--lavender);
  margin-bottom: 16px;
}
.flow-sub {
  max-width: 660px; margin: 0 auto 52px;
  font-size: 1.02rem; line-height: 1.82;
  color: rgba(231,222,244,0.68);
}

.flow-chain {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.flow-step {
  display: flex; flex-direction: column;
  align-items: center; gap: 12px; text-align: center;
  padding: 0 16px;
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.flow-step.is-visible { opacity: 1; transform: translateY(0); }
.flow-step:nth-child(1) { transition-delay: 0.05s; }
.flow-step:nth-child(3) { transition-delay: 0.18s; }
.flow-step:nth-child(5) { transition-delay: 0.31s; }
.flow-step:nth-child(7) { transition-delay: 0.44s; }
.flow-step:nth-child(9) { transition-delay: 0.57s; }
.flow-step:nth-child(11) { transition-delay: 0.70s; }

.flow-arrow {
  font-size: 1.2rem;
  color: rgba(201,162,74,0.45);
  padding-bottom: 28px;
  flex-shrink: 0;
}

.flow-node {
  width: 58px; height: 58px; border-radius: 50%;
  background: linear-gradient(135deg, var(--forest-mid), var(--forest-light));
  border: 1px solid var(--gold-dim);
  display: flex; align-items: center; justify-content: center;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 0.9rem; color: var(--gold-soft);
  box-shadow: 0 8px 24px rgba(0,0,0,0.28), 0 0 0 0 rgba(201,162,74,0);
  position: relative; z-index: 1;
  transition: transform 0.28s, box-shadow 0.28s;
}
.flow-node:hover {
  transform: scale(1.15);
  box-shadow: 0 12px 32px rgba(0,0,0,0.32), 0 0 0 10px rgba(201,162,74,0.12);
}
.flow-name {
  font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--lavender);
}
.flow-desc {
  font-size: 0.74rem; line-height: 1.5;
  color: rgba(231,222,244,0.55);
  max-width: 90px;
}

.flow-loop-line {
  width: 0; height: 1px; margin: 36px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-dim), var(--gold), var(--gold-dim), transparent);
  transition: width 0.9s cubic-bezier(0.16,1,0.3,1);
}
.flow-loop-line.is-wide { width: 420px; }

.flow-loop-label {
  margin-top: 16px;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.3rem; letter-spacing: 0.12em;
  color: var(--gold-soft);
  opacity: 0; transform: translateY(10px);
  transition: opacity 0.6s ease 0.9s, transform 0.6s ease 0.9s;
}
.flow-loop-label.is-visible { opacity: 1; transform: translateY(0); }

/* ── CLOSING ───────────────────────────────── */
.services-closing {
  padding: 88px 64px 100px;
  background: var(--lavender);
  position: relative; overflow: hidden;
}
.services-closing::after {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(201,162,74,0.14), transparent 38%),
    radial-gradient(circle at 20% 80%, rgba(36,71,52,0.06), transparent 38%);
  pointer-events: none;
}
.closing-inner {
  max-width: 1160px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: start;
  position: relative; z-index: 1;
}
.closing-left .section-kicker { margin-bottom: 14px; }
.closing-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
  line-height: 0.96;
  color: var(--forest);
  margin-bottom: 22px;
}
.closing-title span { color: var(--gold); }
.closing-body {
  font-size: 1.04rem; line-height: 1.82;
  color: var(--forest-mid); margin-bottom: 28px;
}
.closing-cta {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 30px; border-radius: 999px;
  background: var(--forest);
  color: var(--gold-soft);
  font-size: 0.84rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
  box-shadow: 0 8px 24px rgba(26,48,37,0.24);
}
.closing-cta:hover {
  background: var(--forest-light);
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(26,48,37,0.32);
}
.closing-right {
  display: flex; flex-direction: column; gap: 14px;
}
.closing-card {
  padding: 22px 26px;
  border-radius: 18px;
  border: 1px solid rgba(36,71,52,0.1);
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(6px);
  transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s;
  box-shadow: var(--shadow-sm);
}
.closing-card:hover {
  transform: translateX(8px);
  border-color: rgba(201,162,74,0.45);
  box-shadow: var(--shadow-md);
}
.cc-label {
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 8px;
}
.closing-card p {
  font-size: 0.94rem; line-height: 1.72; color: var(--forest);
}

/* ── FOOTER ────────────────────────────────── */
.site-footer {
  background: var(--cream);
  padding: 56px 64px 28px;
  border-top: 1px solid rgba(36,71,52,0.1);
}
.footer-container {
  max-width: 1160px; margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 36px;
}
.footer-logo img { width: 240px; margin-bottom: 10px; }
.footer-logo-fallback {
  display: none;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.2rem; font-weight: 700;
  letter-spacing: 0.18em; color: var(--forest);
  margin-bottom: 10px;
}
.footer-logo p {
  font-size: 0.9rem; line-height: 1.7;
  color: rgba(25,51,37,0.72);
}
.footer-links h3 {
  font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 14px;
}
.footer-links ul { list-style: none; }
.footer-links li + li { margin-top: 8px; }
.footer-links a, .footer-links p {
  font-size: 0.92rem; line-height: 1.7;
  color: rgba(25,51,37,0.75);
  transition: color 0.2s;
}
.footer-links a:hover { color: var(--gold); }
.footer-socials { display: flex; gap: 12px; margin-top: 16px; }
.footer-socials img { width: 26px; height: 26px; object-fit: contain; }
.footer-bottom {
  max-width: 1160px; margin: 0 auto;
  padding-top: 18px;
  border-top: 1px solid rgba(36,71,52,0.1);
  text-align: center;
  font-size: 0.82rem;
  color: rgba(25,51,37,0.55);
}

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 1140px) {
  .services-pillars-shell { padding: 0 32px; }
  .pillar-alt { margin: 0 -32px; padding-left: 32px; padding-right: 32px; }
  .services-grid { grid-template-columns: repeat(3, 1fr); }
  .philosophy-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .navbar { padding: 12px 20px; flex-wrap: wrap; gap: 12px; }
  .nav-toggle {
    display: inline-flex; flex-direction: column; gap: 5px;
    align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border: 1px solid rgba(36,71,52,0.16); border-radius: 999px;
    background: rgba(255,255,255,0.72); cursor: pointer;
    flex-shrink: 0;
  }
  .nav-toggle span {
    display: block; width: 18px; height: 2px;
    border-radius: 999px; background: var(--forest);
    transition: transform 0.25s, opacity 0.25s;
  }
  .nav-links {
    display: none; flex-direction: column; align-items: stretch;
    width: 100%; gap: 6px; padding-top: 8px;
  }
  .navbar.nav-open .nav-links { display: flex; }
  .navbar.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .navbar.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
  .navbar.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .nav-links li { list-style: none; }
  .nav-links a { text-align: center; border-radius: 12px; }

  .services-hero { padding: 100px 24px 72px; min-height: auto; }
  .hero-eyebrow { font-size: 0.6rem; }

  .services-bridge { padding: 56px 24px; }
  .bridge-inner { grid-template-columns: 1fr; gap: 36px; }
  .bridge-watermark { font-size: 100px; right: -10px; }

  .services-pillars-shell { padding: 0 24px; }
  .pillar-alt { margin: 0 -24px; padding-left: 24px; padding-right: 24px; }

  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .philosophy-grid { grid-template-columns: 1fr; }

  .services-flow { padding: 64px 24px; }
  .flow-chain { gap: 8px; }
  .flow-arrow { display: none; }
  .flow-chain {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .flow-loop-line.is-wide { width: 260px; }

  .services-closing { padding: 64px 24px 80px; }
  .closing-inner { grid-template-columns: 1fr; gap: 40px; }

  .site-footer { padding: 44px 24px 24px; }
}

@media (max-width: 600px) {
  .hero-title { font-size: 2.8rem; }
  .pillar-name { font-size: 2.4rem; }
  .pillar-block { padding: 48px 0 40px; }
  .pillar-philosophy { padding: 22px 18px; }
  .services-grid { grid-template-columns: 1fr; }
  .flow-chain { grid-template-columns: repeat(2, 1fr); }
  .bridge-grid { grid-template-columns: 1fr; }
  .closing-title { font-size: 2.1rem; }
}
/* SERVICES ECOSYSTEM PAGE END */

/* Homepage footer restore after services-page CSS */
.home-page .site-footer {
  background: #ffffff;
  color: var(--forest-deep);
  border-top: 4px solid var(--gold);
}

.home-page .footer-container > *,
.home-page .footer-bottom {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.home-page .footer-logo p,
.home-page .footer-links p,
.home-page .footer-links a,
.home-page .footer-link-inline,
.home-page .footer-bottom {
  color: rgba(25,51,37,0.82);
}

.home-page .footer-links h3 {
  color: var(--forest);
}

.home-page .footer-socials img,
.home-page .footer-logo img {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none;
}

/* TEAM PAGE START */
body.team-page {
  --team-forest: #1a3025;
  --team-forest-mid: #244734;
  --team-gold: #c9a24a;
  --team-gold-soft: #e5c87f;
  --team-gold-dim: rgba(201,162,74,0.28);
  --team-lavender: #e7def4;
  --team-lavender-mid: #c8b8d8;
  --team-beige: #f4efe4;
  --team-cream: #fdfbf7;
  --team-muted: rgba(26,48,37,0.58);
  font-family: "Hakaya Poppins", "Poppins", system-ui, sans-serif;
  background: var(--team-cream);
  color: var(--team-forest);
  overflow-x: hidden;
}

body.team-page a { color: inherit; text-decoration: none; }
body.team-page img { display: block; max-width: 100%; }

body.team-page .cursor-dot.visible { opacity: 1; }
body.team-page .cursor-dot.hovering {
  background: var(--team-gold-soft);
}

body.team-page .navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 64px;
  background: rgba(253,251,247,0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(36,71,52,0.1);
  transition: transform 0.38s ease;
}
body.team-page .navbar-hidden { transform: translateY(-110%); }
body.team-page .logo img { max-height: 54px; width: auto; }
body.team-page .logo-text {
  display: none;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.18em;
  color: var(--team-forest);
}
body.team-page .nav-links { display: flex; gap: 4px; list-style: none; }
body.team-page .nav-links a {
  display: block;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--team-forest);
  background: rgba(255,255,255,0.7);
  transition: background 0.22s, color 0.22s;
}
body.team-page .nav-links a:hover,
body.team-page .nav-links a.active {
  background: var(--team-forest);
  color: var(--team-gold-soft);
}
body.team-page .nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(36,71,52,0.16);
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  cursor: pointer;
}
body.team-page .nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--team-forest);
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s;
}

body.team-page .team-hero {
  position: relative;
  min-height: 100vh;
  background: var(--team-forest);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 64px 80px;
}
body.team-page .hero-grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(rgba(231,222,244,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(231,222,244,0.06) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 75% 80% at 50% 50%, #000 0%, transparent 100%);
  opacity: 0;
  animation: teamFadeIn 2s 0.4s ease forwards;
}
body.team-page .hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
body.team-page .ho1 {
  width: 480px;
  height: 480px;
  top: -120px;
  right: -80px;
  background: radial-gradient(circle, rgba(201,162,74,0.16), transparent 70%);
  animation: teamOrbFloat 9s ease-in-out infinite;
}
body.team-page .ho2 {
  width: 340px;
  height: 340px;
  bottom: -60px;
  left: -60px;
  background: radial-gradient(circle, rgba(200,184,216,0.14), transparent 70%);
  animation: teamOrbFloat 12s ease-in-out infinite reverse;
}
body.team-page .hero-inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
body.team-page .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--team-gold);
  opacity: 0;
  animation: teamRiseUp 0.7s 0.3s ease forwards;
}
body.team-page .eline { width: 28px; height: 1px; background: rgba(201,162,74,0.5); }
body.team-page .hero-h1 {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(3rem, 8vw, 7.2rem);
  line-height: 0.92;
  letter-spacing: 0.02em;
  color: var(--team-lavender);
  opacity: 0;
  animation: teamRiseUp 0.9s 0.5s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.team-page .hero-h1 .g { color: var(--team-gold); }
body.team-page .hero-divider {
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--team-gold), rgba(200,184,216,0.8), transparent);
  animation: teamLineExp 1s 1.2s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.team-page .hero-sub {
  max-width: 620px;
  font-size: 1rem;
  line-height: 1.85;
  color: rgba(231,222,244,0.68);
  opacity: 0;
  animation: teamRiseUp 0.7s 0.9s ease forwards;
}
body.team-page .hero-sub strong { color: var(--team-gold-soft); font-weight: 600; }
body.team-page .hero-stats {
  display: flex;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
  opacity: 0;
  animation: teamRiseUp 0.7s 1.1s ease forwards;
  margin-top: 8px;
}
body.team-page .hstat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 16px 28px;
  border-radius: 18px;
  border: 1px solid rgba(231,222,244,0.14);
  background: rgba(231,222,244,0.04);
}
body.team-page .hstat-num {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 2rem;
  line-height: 1;
  color: var(--team-gold);
}
body.team-page .hstat-lbl {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(231,222,244,0.5);
}
body.team-page .hero-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 1;
  opacity: 0;
  animation: teamRiseUp 0.6s 1.4s ease forwards;
}
body.team-page .sline {
  width: 1px;
  height: 44px;
  background: linear-gradient(180deg, rgba(201,162,74,0.8), transparent);
  animation: teamScrollPulse 2s ease-in-out infinite;
}
body.team-page .hero-scroll span {
  font-size: 0.58rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(231,222,244,0.4);
}

body.team-page .intro-band {
  background: var(--team-lavender);
  padding: 72px 64px;
  position: relative;
  overflow: hidden;
}
body.team-page .intro-wm {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 200px;
  letter-spacing: 0.1em;
  color: rgba(36, 71, 52, 0.472);
  pointer-events: none;
  user-select: none;
  line-height: 1;
  white-space: nowrap;
}
body.team-page .intro-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 1;
}
body.team-page .kicker,
body.team-page .sys-kicker,
body.team-page .cta-kicker {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--team-gold);
  margin-bottom: 12px;
}
body.team-page .intro-title,
body.team-page .ts-title,
body.team-page .sys-title,
body.team-page .cta-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  letter-spacing: 0.01em;
}
body.team-page .intro-title {
  font-size: clamp(2.2rem, 4.5vw, 3.8rem);
  line-height: 0.95;
  color: var(--team-forest);
  margin-bottom: 18px;
}
body.team-page .intro-title span,
body.team-page .ts-title span,
body.team-page .sys-title span { color: var(--team-gold); }
body.team-page .intro-body {
  font-size: 1rem;
  line-height: 1.82;
  color: rgba(26,48,37,0.72);
}
body.team-page .intro-body strong { font-weight: 700; color: var(--team-forest); }
body.team-page .sys-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: rgba(36,71,52,0.12);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(16,33,24,0.1);
  border: 1px solid rgba(36,71,52,0.12);
}
body.team-page .sys-cell {
  background: rgba(255, 255, 255, 0.394);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  transition: background 0.25s;
}
body.team-page .sys-cell:hover { background: var(--team-lavender); }
body.team-page .sys-icon { font-size: 2.2rem; margin-bottom: 1px; }
body.team-page .sys-label { font-weight: 700; font-size: 0.9rem; color: var(--team-forest); }
body.team-page .sys-desc { font-size: 1rem; color: var(--team-muted); line-height: 1; }

body.team-page .team-section { padding: 88px 64px 100px; background: var(--team-cream); }
body.team-page .ts-head { max-width: 1100px; margin: 0 auto 60px; text-align: center; }
body.team-page .ts-title {
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  line-height: 0.95;
  color: var(--team-forest);
}
body.team-page .team-list { max-width: 1100px; margin: 0 auto; display: flex; flex-direction: column; gap: 0; }
body.team-page .mb {
  position: relative;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 0;
  border-bottom: 1px solid rgba(36,71,52,0.1);
  overflow: hidden;
  opacity: 0;
  transform: translateY(44px);
  transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.16,1,0.3,1);
}
body.team-page .mb:first-child { border-top: 1px solid rgba(36,71,52,0.1); }
body.team-page .mb.visible { opacity: 1; transform: translateY(0); }
body.team-page .mb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--team-gold), var(--team-lavender-mid));
  transition: width 0.9s cubic-bezier(0.16,1,0.3,1) 0.1s;
}
body.team-page .mb.visible::before { width: 100%; }
body.team-page .mb:nth-child(even) .ml { background: #ede4d2; }
body.team-page .mb:nth-child(even) .mr { background: rgba(231,222,244,0.22); }
body.team-page .ml {
  padding: 48px 36px;
  background: var(--team-beige);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
body.team-page .mn-bg {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 5rem;
  line-height: 1;
  color: rgba(36, 71, 52, 0.224);
  position: absolute;
  bottom: 16px;
  right: 16px;
  pointer-events: none;
  user-select: none;
}
body.team-page .avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--team-forest-mid), var(--team-forest));
  border: 2px solid rgba(201,162,74,0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.3rem;
  color: var(--team-gold-soft);
  letter-spacing: 0.06em;
  margin-bottom: 18px;
  box-shadow: 0 8px 24px rgba(26,48,37,0.22);
}
body.team-page .mname {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(0.8rem, 2.5vw, 1.5rem);
  line-height: 1;
  color: var(--team-forest);
  letter-spacing: 0.01em;
  margin-bottom: 8px;
}
body.team-page .mrole {
  font-size: 1.5rem, 2.5vw, 2.5rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--team-gold);
  line-height: 1.5;
}
body.team-page .mr {
  padding: 48px 48px;
  background: rgba(254, 254, 254, 0.684);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
body.team-page .mhl {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.6rem);
  line-height: 1.1;
  color: var(--team-forest);
  letter-spacing: 0.02em;
}
body.team-page .mhl em { color: var(--team-gold); font-style: normal; }
body.team-page .mbody { font-size: 0.92rem; line-height: 1.82; color: var(--team-muted); }
body.team-page .mbody strong { color: var(--team-forest); font-weight: 600; }
body.team-page .traits { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
body.team-page .tp {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid rgba(201,162,74,0.3);
  background: rgba(197, 163, 83, 0.412);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--team-forest);
  transition: background 0.2s, border-color 0.2s;
}
body.team-page .tp:hover { background: rgba(201,162,74,0.14); border-color: rgba(201,162,74,0.5); }
body.team-page .td { width: 5px; height: 5px; border-radius: 50%; background: var(--team-gold); flex-shrink: 0; }
body.team-page .gzq {
  padding: 15px 20px;
  border-radius: 14px;
  border-left: 3px solid var(--team-gold);
  background: rgba(201,162,74,0.06);
  font-size: 0.86rem;
  line-height: 1.72;
  font-style: italic;
  color: var(--team-forest);
}
body.team-page .qlbl {
  display: block;
  font-style: normal;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--team-gold);
  margin-bottom: 6px;
}

body.team-page .system-sect {
  background: var(--team-forest);
  padding: 88px 64px;
  position: relative;
  overflow: hidden;
}
body.team-page .system-sect::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 8% 50%, rgba(201,162,74,0.12), transparent 35%), radial-gradient(circle at 92% 50%, rgba(200,184,216,0.09), transparent 35%);
  pointer-events: none;
}
body.team-page .sys-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1;
}
body.team-page .sys-title {
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  line-height: 0.96;
  color: var(--team-lavender);
  margin-bottom: 20px;
}
body.team-page .sys-body { font-size: 1rem; line-height: 1.82; color: rgba(231,222,244,0.65); }
body.team-page .sys-body strong { color: var(--team-gold-soft); font-weight: 600; }
body.team-page .flow-list { display: flex; flex-direction: column; gap: 4px; }
body.team-page .fi {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border: 1px solid rgba(231,222,244,0.1);
  background: rgba(231,222,244,0.04);
  border-radius: 14px;
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 0.55s ease, transform 0.55s ease, background 0.25s, border-color 0.25s;
}
body.team-page .system-sect.visible .fi { opacity: 1; transform: translateX(0); }
body.team-page .system-sect.visible .fi:nth-child(1) { transition-delay: 0.08s; }
body.team-page .system-sect.visible .fi:nth-child(2) { transition-delay: 0.16s; }
body.team-page .system-sect.visible .fi:nth-child(3) { transition-delay: 0.24s; }
body.team-page .system-sect.visible .fi:nth-child(4) { transition-delay: 0.32s; }
body.team-page .system-sect.visible .fi:nth-child(5) { transition-delay: 0.40s; }
body.team-page .fi:hover { background: rgba(201,162,74,0.08); border-color: var(--team-gold-dim); }
body.team-page .fi-num {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--team-gold);
  flex-shrink: 0;
  width: 28px;
}
body.team-page .fi-txt { font-size: 0.88rem; font-weight: 600; color: var(--team-lavender); letter-spacing: 0.05em; }
body.team-page .fi-arr { margin-left: auto; color: var(--team-gold-dim); font-size: 0.9rem; flex-shrink: 0; }

body.team-page .team-cta {
  background: var(--team-lavender);
  padding: 72px 64px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
body.team-page .team-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 60% 40%, rgba(201,162,74,0.12), transparent 50%);
  pointer-events: none;
}
body.team-page .cta-inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
body.team-page .cta-title { font-size: clamp(2rem, 4.2vw, 3.6rem); line-height: 1; color: var(--team-forest); margin-bottom: 16px; }
body.team-page .cta-sub { font-size: 1rem; line-height: 1.8; color: rgba(26,48,37,0.7); margin-bottom: 28px; }
body.team-page .cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 15px 32px;
  border-radius: 999px;
  background: var(--team-forest);
  color: var(--team-gold-soft);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 12px 32px rgba(26,48,37,0.24);
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}
body.team-page .cta-btn:hover { background: var(--team-forest-mid); transform: translateY(-3px); box-shadow: 0 18px 40px rgba(26,48,37,0.32); }

body.team-page .site-footer {
  background: var(--team-cream);
  padding: 56px 64px 28px;
  border-top: 1px solid rgba(36,71,52,0.1);
  margin-top: 0;
  color: var(--team-forest);
}
body.team-page .footer-container {
  max-width: 1100px;
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 36px;
}
body.team-page .footer-logo img { width: 140px; margin-bottom: 12px; }
body.team-page .footer-logo p { font-size: 0.88rem; line-height: 1.7; color: var(--team-muted); }
body.team-page .footer-links h3 {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--team-gold);
  margin-bottom: 14px;
}
body.team-page .footer-links ul { list-style: none; }
body.team-page .footer-links li + li { margin-top: 8px; }
body.team-page .footer-links a,
body.team-page .footer-links p { font-size: 0.9rem; color: var(--team-muted); transition: color 0.2s; }
body.team-page .footer-links a:hover { color: var(--team-gold); }
body.team-page .footer-socials { display: flex; gap: 12px; margin-top: 14px; }
body.team-page .footer-socials img { width: 24px; height: 24px; object-fit: contain; }
body.team-page .footer-bottom {
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 18px;
  border-top: 1px solid rgba(36,71,52,0.1);
  text-align: center;
  font-size: 0.8rem;
  color: var(--team-muted);
}

body.team-page .js-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.16,1,0.3,1);
}
body.team-page .js-fade.visible { opacity: 1; transform: translateY(0); }

@keyframes teamFadeIn { to { opacity: 1; } }
@keyframes teamRiseUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes teamLineExp { to { width: 260px; } }
@keyframes teamOrbFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-26px); } }
@keyframes teamScrollPulse { 0%,100% { opacity: .3; } 50% { opacity: 1; } }

@media (max-width: 960px) {
  body.team-page .navbar { padding: 12px 24px; }
  body.team-page .nav-toggle { display: flex; }
  body.team-page .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    background: rgba(253,251,247,0.98);
    padding: 12px 24px;
    border-bottom: 1px solid rgba(36,71,52,0.1);
    gap: 6px;
  }
  body.team-page .navbar.open .nav-links { display: flex; }
  body.team-page .team-hero { padding: 100px 24px 72px; min-height: auto; }
  body.team-page .intro-band { padding: 52px 24px; }
  body.team-page .intro-inner { grid-template-columns: 1fr; gap: 36px; }
  body.team-page .intro-wm { font-size: 90px; }
  body.team-page .team-section { padding: 64px 24px 80px; }
  body.team-page .mb { grid-template-columns: 1fr; }
  body.team-page .ml { padding: 36px 28px 28px; }
  body.team-page .mr { padding: 28px 28px 36px; }
  body.team-page .system-sect { padding: 64px 24px; }
  body.team-page .sys-inner { grid-template-columns: 1fr; gap: 40px; }
  body.team-page .team-cta { padding: 52px 24px; }
  body.team-page .site-footer { padding: 44px 24px 24px; }
}

@media (max-width: 600px) {
  body.team-page .hero-stats { gap: 14px; }
  body.team-page .hstat { padding: 12px 18px; }
  body.team-page .hstat-num { font-size: 1.6rem; }
  body.team-page .sys-grid { grid-template-columns: 1fr; }
}
/* TEAM PAGE END */

/* ABOUT PAGE START */
body.about-page {
  --about-forest: #1a3025;
  --about-forest-mid: #244734;
  --about-forest-light: #2f5638;
  --about-gold: #c9a24a;
  --about-gold-soft: #e5c87f;
  --about-gold-dim: rgba(201,162,74,0.3);
  --about-lavender: #e7def4;
  --about-lavender-mid: #c8b8d8;
  --about-beige: #f4efe4;
  --about-cream: #fdfbf7;
  --about-muted: rgba(26,48,37,0.58);
  font-family: "Hakaya Poppins", "Poppins", system-ui, sans-serif;
  background: var(--about-cream);
  color: var(--about-forest);
  overflow-x: hidden;
}

body.about-page a { color: inherit; text-decoration: none; }
body.about-page img { display: block; max-width: 100%; }
body.about-page .cursor-dot { background: var(--about-gold); box-shadow: 0 0 12px rgba(201,162,74,0.8), 0 0 28px rgba(201,162,74,0.4); }
body.about-page .cursor-dot.is-hovering { background: var(--about-gold-soft); }

body.about-page .navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 64px;
  background: rgba(253,251,247,0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(36,71,52,0.1);
  transition: transform 0.38s ease;
}
body.about-page .navbar-hidden { transform: translateY(-110%); }
body.about-page .logo img { max-height: 54px; width: auto; }
body.about-page .nav-links { display: flex; gap: 4px; list-style: none; }
body.about-page .nav-links a {
  display: block;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--about-forest);
  background: rgba(255,255,255,0.7);
  transition: background 0.22s, color 0.22s;
}
body.about-page .nav-links a:hover,
body.about-page .nav-links a.active { background: var(--about-forest); color: var(--about-gold-soft); }
body.about-page .nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(36,71,52,0.16);
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  cursor: pointer;
}
body.about-page .nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: var(--about-forest);
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s;
}

body.about-page .about-hero {
  position: relative;
  min-height: 100vh;
  background: var(--about-forest);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 64px 80px;
}
body.about-page .about-hero-geo {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(rgba(231,222,244,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(231,222,244,0.06) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 0%, transparent 100%);
  opacity: 0;
  animation: aboutGeoFade 2s 0.4s ease forwards;
}
body.about-page .about-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
body.about-page .ao1 { width: 480px; height: 480px; top: -120px; right: -80px; background: radial-gradient(circle, rgba(201,162,74,0.16) 0%, transparent 70%); animation: aboutOrbFloat 9s ease-in-out infinite; }
body.about-page .ao2 { width: 340px; height: 340px; bottom: -60px; left: -60px; background: radial-gradient(circle, rgba(200,184,216,0.14) 0%, transparent 70%); animation: aboutOrbFloat 12s ease-in-out infinite reverse; }
body.about-page .ao3 { width: 200px; height: 200px; top: 40%; left: 50%; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%); animation: aboutOrbFloat 7s ease-in-out infinite; }
body.about-page .about-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 22px;
}
body.about-page .ah-eyebrow,
body.about-page .ap-kicker,
body.about-page .ag-kicker,
body.about-page .aeco-kicker,
body.about-page .aint-kicker,
body.about-page .atm-kicker,
body.about-page .acl-kicker {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--about-gold);
}
body.about-page .ah-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  letter-spacing: 0.32em;
  opacity: 0;
  animation: aboutRise 0.7s 0.3s ease forwards;
}
body.about-page .ah-eyebrow::before,
body.about-page .ah-eyebrow::after { content: ""; width: 28px; height: 1px; background: rgba(201,162,74,0.5); }
body.about-page .ah-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(3rem, 8vw, 7.2rem);
  line-height: 0.9;
  letter-spacing: 0.02em;
  color: var(--about-lavender);
  font-weight: 700;
  opacity: 0;
  animation: aboutRise 0.9s 0.5s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.about-page .ah-title .gold { color: var(--about-gold); display: block; }
body.about-page .ah-divider,
body.about-page .aint-rule {
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--about-gold), rgba(200,184,216,0.7), transparent);
}
body.about-page .ah-divider { animation: aboutLineExp 1s 1.1s cubic-bezier(0.16,1,0.3,1) forwards; }
body.about-page .ah-sub {
  max-width: 640px;
  font-size: 1.04rem;
  line-height: 1.85;
  color: rgba(231,222,244,0.68);
  opacity: 0;
  animation: aboutRise 0.7s 0.85s ease forwards;
}
body.about-page .ah-sub em,
body.about-page .ag-copy strong { color: var(--about-gold-soft); font-style: normal; font-weight: 600; }
body.about-page .ah-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 1;
  opacity: 0;
  animation: aboutRise 0.6s 1.4s ease forwards;
}
body.about-page .ah-scroll-line { width: 1px; height: 44px; background: linear-gradient(180deg, rgba(201,162,74,0.8), transparent); animation: aboutScrollPulse 2s ease-in-out infinite; }
body.about-page .ah-scroll span { font-size: 0.58rem; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(231,222,244,0.4); }

body.about-page .about-problem,
body.about-page .about-gap,
body.about-page .about-eco,
body.about-page .about-int,
body.about-page .about-team,
body.about-page .about-close {
  position: relative;
  overflow: hidden;
  padding: 88px 64px;
}
body.about-page .about-problem,
body.about-page .about-team { background: var(--about-lavender); }
body.about-page .about-gap,
body.about-page .about-int,
body.about-page .about-close { background: var(--about-forest); }
body.about-page .about-eco { background: var(--about-beige); }
body.about-page .about-problem::before {
  content: "WHY";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 260px;
  letter-spacing: 0.1em;
  color: rgba(36,71,52,0.05);
  pointer-events: none;
  user-select: none;
  line-height: 1;
  white-space: nowrap;
}
body.about-page .about-gap::before,
body.about-page .about-int::before,
body.about-page .about-team::after,
body.about-page .about-close::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
body.about-page .about-gap::before { background: radial-gradient(circle at 8% 50%, rgba(201,162,74,0.12), transparent 38%), radial-gradient(circle at 92% 50%, rgba(200,184,216,0.09), transparent 38%); }
body.about-page .about-int::before { background: radial-gradient(circle at 50% 50%, rgba(201,162,74,0.14), transparent 50%); }
body.about-page .about-team::after { background: radial-gradient(circle at 80% 20%, rgba(201,162,74,0.12), transparent 40%); }
body.about-page .about-close::before { background: radial-gradient(circle at 50% 100%, rgba(201,162,74,0.18), transparent 50%), radial-gradient(circle at 20% 0%, rgba(200,184,216,0.12), transparent 40%); }
body.about-page .ap-inner,
body.about-page .ag-inner,
body.about-page .atm-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
  position: relative;
  z-index: 1;
}
body.about-page .ag-inner { gap: 64px; }
body.about-page .aeco-inner { max-width: 1100px; margin: 0 auto; }
body.about-page .aint-inner,
body.about-page .acl-inner { max-width: 860px; margin: 0 auto; position: relative; z-index: 1; text-align: center; }
body.about-page .acl-inner { max-width: 840px; }
body.about-page .ap-left h2,
body.about-page .ag-copy h2,
body.about-page .aeco-title,
body.about-page .aint-title,
body.about-page .atm-title,
body.about-page .acl-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  line-height: 0.94;
}
body.about-page .ap-left h2,
body.about-page .ag-copy h2,
body.about-page .aeco-title { font-size: clamp(2.4rem, 4.5vw, 4rem); margin-bottom: 20px; }
body.about-page .ap-left h2,
body.about-page .aeco-title,
body.about-page .atm-title { color: var(--about-forest); }
body.about-page .ag-copy h2,
body.about-page .aint-title,
body.about-page .acl-title { color: var(--about-lavender); }
body.about-page .ap-left h2 span,
body.about-page .ag-copy h2 em,
body.about-page .aeco-title span,
body.about-page .aint-title em,
body.about-page .atm-title span,
body.about-page .acl-title span { color: var(--about-gold); font-style: normal; }
body.about-page .ap-left p,
body.about-page .atm-body {
  font-size: 0.98rem;
  line-height: 1.82;
  color: rgba(26,48,37,0.72);
  margin-bottom: 12px;
}
body.about-page .ap-emphasis,
body.about-page .ag-emphasis { margin-top: 14px; }
body.about-page .ap-note { margin-top: 14px; font-style: italic; color: rgba(26,48,37,0.5) !important; font-size: 0.92rem !important; }
body.about-page .ag-copy p,
body.about-page .aint-body {
  font-size: 0.98rem;
  line-height: 1.82;
  color: rgba(231,222,244,0.65);
  margin-bottom: 10px;
}

body.about-page .chaos-grid,
body.about-page .eco-grid { display: grid; }
body.about-page .chaos-grid {
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: rgba(36,71,52,0.12);
  border: 1px solid rgba(36,71,52,0.12);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(16,33,24,0.1);
}
body.about-page .chaos-cell {
  background: rgba(255,255,255,0.88);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: background 0.25s;
}
body.about-page .chaos-cell:hover { background: #fff; }
body.about-page .chaos-num,
body.about-page .eco-num,
body.about-page .belief-n {
  font-family: "Hakaya Impact", Impact, sans-serif;
  line-height: 1;
  color: var(--about-gold);
}
body.about-page .chaos-num { font-size: 1.8rem; }
body.about-page .chaos-label { font-size: 0.88rem; font-weight: 700; color: var(--about-forest); }
body.about-page .chaos-desc { font-size: 0.8rem; color: var(--about-muted); line-height: 1.5; }

body.about-page .ag-rows,
body.about-page .beliefs { display: flex; flex-direction: column; gap: 4px; }
body.about-page .ag-row,
body.about-page .belief {
  display: flex;
  gap: 18px;
  border-radius: 14px;
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 0.55s ease, transform 0.55s ease, background 0.25s, border-color 0.25s;
}
body.about-page .ag-row {
  align-items: center;
  padding: 16px 20px;
  border: 1px solid rgba(231,222,244,0.1);
  background: rgba(231,222,244,0.04);
}
body.about-page .about-gap.visible .ag-row,
body.about-page .about-team.visible .belief { opacity: 1; transform: translateX(0); }
body.about-page .about-gap.visible .ag-row:nth-child(1),
body.about-page .about-team.visible .belief:nth-child(1) { transition-delay: 0.06s; }
body.about-page .about-gap.visible .ag-row:nth-child(2),
body.about-page .about-team.visible .belief:nth-child(2) { transition-delay: 0.12s; }
body.about-page .about-gap.visible .ag-row:nth-child(3),
body.about-page .about-team.visible .belief:nth-child(3) { transition-delay: 0.18s; }
body.about-page .about-gap.visible .ag-row:nth-child(4),
body.about-page .about-team.visible .belief:nth-child(4) { transition-delay: 0.24s; }
body.about-page .about-gap.visible .ag-row:nth-child(5),
body.about-page .about-team.visible .belief:nth-child(5) { transition-delay: 0.30s; }
body.about-page .about-team.visible .belief:nth-child(6) { transition-delay: 0.36s; }
body.about-page .ag-row:hover { background: rgba(201,162,74,0.08); border-color: var(--about-gold-dim); }
body.about-page .ag-dot,
body.about-page .int-dot,
body.about-page .acl-chip-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--about-gold); flex-shrink: 0; }
body.about-page .int-dot,
body.about-page .acl-chip-dot { width: 6px; height: 6px; }
body.about-page .ag-text { font-size: 0.9rem; font-weight: 600; color: var(--about-lavender); letter-spacing: 0.03em; }

body.about-page .aeco-head { text-align: center; margin-bottom: 52px; }
body.about-page .aeco-title { margin-bottom: 14px; }
body.about-page .aeco-sub { font-size: 1rem; line-height: 1.75; color: var(--about-muted); max-width: 640px; margin: 0 auto; }
body.about-page .eco-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
body.about-page .eco-card {
  padding: 28px;
  border-radius: 22px;
  border: 1px solid rgba(36,71,52,0.1);
  background: rgba(255,255,255,0.8);
  box-shadow: 0 4px 16px rgba(16,33,24,0.07);
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease, background 0.3s, border-color 0.3s, box-shadow 0.3s;
}
body.about-page .about-eco.visible .eco-card { opacity: 1; transform: translateY(0); }
body.about-page .about-eco.visible .eco-card:nth-child(1) { transition-delay: 0.04s; }
body.about-page .about-eco.visible .eco-card:nth-child(2) { transition-delay: 0.10s; }
body.about-page .about-eco.visible .eco-card:nth-child(3) { transition-delay: 0.16s; }
body.about-page .about-eco.visible .eco-card:nth-child(4) { transition-delay: 0.22s; }
body.about-page .about-eco.visible .eco-card:nth-child(5) { transition-delay: 0.28s; }
body.about-page .about-eco.visible .eco-card:nth-child(6) { transition-delay: 0.34s; }
body.about-page .eco-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--about-gold), var(--about-lavender-mid));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.16,1,0.3,1);
}
body.about-page .eco-card:hover { background: rgba(255,255,255,0.98); border-color: rgba(201,162,74,0.3); box-shadow: 0 18px 40px rgba(16,33,24,0.12); transform: translateY(-4px); }
body.about-page .eco-card:hover::before { transform: scaleX(1); }
body.about-page .eco-num { font-size: 2.4rem; color: rgba(201,162,74,0.2); margin-bottom: 12px; }
body.about-page .eco-card h3 { font-family: "Hakaya Impact", Impact, sans-serif; font-size: 1.3rem; line-height: 1.05; color: var(--about-forest); margin-bottom: 10px; letter-spacing: 0.03em; }
body.about-page .eco-card p { font-size: 0.88rem; line-height: 1.72; color: var(--about-muted); }

body.about-page .aint-title { font-size: clamp(2.4rem, 5vw, 4.6rem); margin-bottom: 24px; }
body.about-page .aint-rule { margin: 24px auto; }
body.about-page .aint-rule.vis { animation: aboutLineExpWide 1s 0.2s cubic-bezier(0.16,1,0.3,1) forwards; }
body.about-page .aint-body { font-size: 1.02rem; margin-bottom: 40px; }
body.about-page .int-flow,
body.about-page .acl-chips { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; }
body.about-page .int-step,
body.about-page .acl-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(231,222,244,0.1);
  background: rgba(231,222,244,0.04);
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(231,222,244,0.78);
  letter-spacing: 0.04em;
  transition: opacity 0.5s ease, transform 0.5s ease, background 0.25s, border-color 0.25s;
}
body.about-page .int-step { opacity: 0; transform: translateY(16px); }
body.about-page .about-int.visible .int-step { opacity: 1; transform: translateY(0); }
body.about-page .about-int.visible .int-step:nth-child(1) { transition-delay: 0.05s; }
body.about-page .about-int.visible .int-step:nth-child(3) { transition-delay: 0.15s; }
body.about-page .about-int.visible .int-step:nth-child(5) { transition-delay: 0.25s; }
body.about-page .about-int.visible .int-step:nth-child(7) { transition-delay: 0.35s; }
body.about-page .about-int.visible .int-step:nth-child(9) { transition-delay: 0.45s; }
body.about-page .int-step:hover,
body.about-page .acl-chip:hover { background: rgba(201,162,74,0.1); border-color: var(--about-gold-dim); }
body.about-page .int-arrow { color: rgba(201,162,74,0.35); font-size: 1rem; padding: 0 2px; opacity: 0; transition: opacity 0.4s ease 0.5s; }
body.about-page .about-int.visible .int-arrow { opacity: 1; }

body.about-page .atm-title { font-size: clamp(2.4rem, 4.5vw, 3.8rem); margin-bottom: 20px; }
body.about-page .atm-body { margin-bottom: 28px; }
body.about-page .atm-body strong { color: var(--about-forest); font-weight: 700; }
body.about-page .atm-cta,
body.about-page .acl-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}
body.about-page .atm-cta {
  padding: 14px 28px;
  background: var(--about-forest);
  color: var(--about-gold-soft);
  box-shadow: 0 12px 32px rgba(26,48,37,0.22);
}
body.about-page .atm-cta:hover { background: var(--about-forest-mid); transform: translateY(-3px); box-shadow: 0 18px 40px rgba(26,48,37,0.3); }
body.about-page .belief {
  align-items: flex-start;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(36,71,52,0.08);
  background: rgba(255,255,255,0.6);
  gap: 14px;
}
body.about-page .belief:hover { background: rgba(255,255,255,0.92); border-color: rgba(201,162,74,0.35); }
body.about-page .belief-n { font-size: 1.2rem; flex-shrink: 0; width: 24px; }
body.about-page .belief-t { font-size: 0.9rem; font-weight: 600; color: var(--about-forest); line-height: 1.5; }

body.about-page .about-close { padding: 100px 64px; }
body.about-page .acl-title { font-size: clamp(3rem, 7vw, 6rem); line-height: 0.9; letter-spacing: 0.02em; margin-bottom: 28px; }
body.about-page .acl-title span { display: block; }
body.about-page .acl-chips { gap: 10px; margin-bottom: 36px; }
body.about-page .acl-chip:hover { transform: translateY(-2px); }
body.about-page .acl-quote {
  max-width: 580px;
  margin: 0 auto 36px;
  font-size: 1.1rem;
  font-style: italic;
  line-height: 1.75;
  color: rgba(231,222,244,0.58);
}
body.about-page .acl-cta {
  padding: 16px 36px;
  background: var(--about-gold);
  color: var(--about-forest);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  box-shadow: 0 12px 32px rgba(201,162,74,0.3);
}
body.about-page .acl-cta:hover { background: var(--about-gold-soft); transform: translateY(-3px); box-shadow: 0 20px 48px rgba(201,162,74,0.38); }

body.about-page .site-footer {
  background: var(--about-cream);
  color: var(--about-forest);
  padding: 56px 64px 28px;
  border-top: 1px solid rgba(36,71,52,0.1);
  margin-top: 0;
}
body.about-page .footer-container { max-width: 1160px; margin: 0 auto 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 36px; }
body.about-page .footer-logo img { width: 148px; margin-bottom: 14px; }
body.about-page .footer-logo p { font-size: 0.9rem; line-height: 1.7; color: var(--about-muted); }
body.about-page .footer-links h3 { font-size: 0.64rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--about-gold); margin-bottom: 14px; }
body.about-page .footer-links ul { list-style: none; }
body.about-page .footer-links li + li { margin-top: 8px; }
body.about-page .footer-links a,
body.about-page .footer-links p { font-size: 0.9rem; color: var(--about-muted); transition: color 0.2s; }
body.about-page .footer-links a:hover { color: var(--about-gold); }
body.about-page .footer-socials { display: flex; gap: 12px; margin-top: 14px; }
body.about-page .footer-socials img { width: 26px; height: 26px; object-fit: contain; }
body.about-page .footer-bottom { max-width: 1160px; margin: 0 auto; padding-top: 18px; border-top: 1px solid rgba(36,71,52,0.1); text-align: center; font-size: 0.82rem; color: var(--about-muted); }

body.about-page .ja-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.16,1,0.3,1);
}
body.about-page .ja-fade.visible { opacity: 1; transform: translateY(0); }

@keyframes aboutGeoFade { to { opacity: 1; } }
@keyframes aboutOrbFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-26px); } }
@keyframes aboutLineExp { to { width: 280px; } }
@keyframes aboutLineExpWide { to { width: 320px; } }
@keyframes aboutScrollPulse { 0%,100% { opacity: 0.3; } 50% { opacity: 1; } }
@keyframes aboutRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 960px) {
  body.about-page .navbar { padding: 12px 24px; }
  body.about-page .nav-toggle { display: flex; }
  body.about-page .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    background: rgba(253,251,247,0.98);
    padding: 12px 24px;
    border-bottom: 1px solid rgba(36,71,52,0.1);
    gap: 6px;
  }
  body.about-page .navbar.nav-open .nav-links { display: flex; }
  body.about-page .navbar.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.about-page .navbar.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
  body.about-page .navbar.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  body.about-page .nav-links li { list-style: none; }
  body.about-page .nav-links a { text-align: center; border-radius: 12px; }
  body.about-page .about-hero { padding: 100px 24px 72px; min-height: auto; }
  body.about-page .about-problem,
  body.about-page .about-gap,
  body.about-page .about-eco,
  body.about-page .about-int,
  body.about-page .about-team,
  body.about-page .about-close { padding: 64px 24px; }
  body.about-page .ap-inner,
  body.about-page .ag-inner,
  body.about-page .atm-inner { grid-template-columns: 1fr; gap: 36px; }
  body.about-page .eco-grid { grid-template-columns: repeat(2, 1fr); }
  body.about-page .site-footer { padding: 44px 24px 24px; }
}

@media (max-width: 600px) {
  body.about-page .eco-grid,
  body.about-page .chaos-grid { grid-template-columns: 1fr; }
  body.about-page .int-flow { flex-direction: column; align-items: stretch; }
  body.about-page .int-step { justify-content: center; }
  body.about-page .int-arrow { text-align: center; transform: rotate(90deg); }
}
/* ABOUT PAGE END */

/* CONTACT PAGE START */
body.contact-page {
  --contact-forest: #1a3025;
  --contact-forest-mid: #244734;
  --contact-forest-light: #2f5638;
  --contact-gold: #c9a24a;
  --contact-gold-soft: #e5c87f;
  --contact-gold-dim: rgba(201,162,74,0.32);
  --contact-lilac: #e7def4;
  --contact-lilac-mid: #c8b8d8;
  --contact-cream: #fdfbf7;
  --contact-muted: rgba(26,48,37,0.55);
  --contact-shadow-sm: 0 4px 16px rgba(16,33,24,0.08);
  --contact-shadow-md: 0 12px 40px rgba(16,33,24,0.13);
  --contact-shadow-lg: 0 28px 72px rgba(16,33,24,0.18);
  font-family: "Hakaya Poppins", "Poppins", system-ui, sans-serif;
  background: var(--contact-cream);
  color: var(--contact-forest);
  min-height: 100vh;
  overflow-x: hidden;
}
body.contact-page img { display: block; max-width: 100%; }
body.contact-page a { color: inherit; text-decoration: none; }

body.contact-page .cursor-dot { z-index: 10000; }
body.contact-page .cursor-dot.is-visible { opacity: 1; }
body.contact-page .cursor-dot.is-hovering {
  background: var(--contact-gold-soft);
}

body.contact-page .navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 64px;
  background: rgba(253,251,247,0.95);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(36,71,52,0.1);
  transition: transform 0.38s ease;
}
body.contact-page .navbar-hidden { transform: translateY(-110%); }
body.contact-page .logo img { max-height: 58px; width: auto; object-fit: contain; }
body.contact-page .nav-links { display: flex; gap: 4px; list-style: none; }
body.contact-page .nav-links a {
  display: block;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--contact-forest);
  background: rgba(255,255,255,0.7);
  transition: background 0.22s, color 0.22s;
}
body.contact-page .nav-links a:hover,
body.contact-page .nav-links a.active {
  background: var(--contact-forest);
  color: var(--contact-gold-soft);
}
body.contact-page .nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(36,71,52,0.16);
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  cursor: pointer;
}
body.contact-page .nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: var(--contact-forest);
  transition: transform 0.25s, opacity 0.25s;
}

body.contact-page .contact-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--contact-forest);
  isolation: isolate;
  padding: 120px 64px 80px;
}
body.contact-page .ch-geo {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(rgba(231,222,244,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(231,222,244,0.06) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 0%, transparent 100%);
  opacity: 0;
  animation: contactGeoFade 2s 0.4s ease forwards;
}
body.contact-page .ch-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
}
body.contact-page .ch-orb-1 {
  width: 520px;
  height: 520px;
  top: -130px;
  right: -90px;
  background: radial-gradient(circle, rgba(201,162,74,0.17) 0%, transparent 70%);
  animation: contactOrbFloat 9s ease-in-out infinite;
}
body.contact-page .ch-orb-2 {
  width: 380px;
  height: 380px;
  bottom: -80px;
  left: -70px;
  background: radial-gradient(circle, rgba(200,184,216,0.15) 0%, transparent 70%);
  animation: contactOrbFloat 12s ease-in-out infinite reverse;
}
body.contact-page .ch-orb-3 {
  width: 240px;
  height: 240px;
  top: 42%;
  left: 48%;
  background: radial-gradient(circle, rgba(255,255,255,0.07) 0%, transparent 70%);
  animation: contactOrbFloat 7s ease-in-out infinite;
  animation-delay: -3s;
}
body.contact-page .contact-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1160px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
body.contact-page .ch-copy { display: flex; flex-direction: column; gap: 22px; }
body.contact-page .ch-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--contact-gold);
  opacity: 0;
  animation: contactRise 0.7s 0.3s ease forwards;
}
body.contact-page .ch-eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: rgba(201,162,74,0.5);
}
body.contact-page .ch-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(3.4rem, 7.5vw, 6.6rem);
  line-height: 0.88;
  letter-spacing: 0.02em;
  color: var(--contact-lilac);
  opacity: 0;
  animation: contactRise 0.9s 0.5s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.contact-page .ch-title .accent { color: var(--contact-gold); display: block; }
body.contact-page .ch-divider {
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--contact-gold), rgba(200,184,216,0.7), transparent);
  animation: contactLineExp 1s 1.1s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.contact-page .ch-sub {
  font-size: 1.02rem;
  line-height: 1.85;
  color: rgba(231,222,244,0.68);
  max-width: 440px;
  opacity: 0;
  animation: contactRise 0.7s 0.85s ease forwards;
}
body.contact-page .ch-sub em { color: var(--contact-gold-soft); font-style: normal; font-weight: 600; }
body.contact-page .ch-info-tiles {
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  animation: contactRise 0.7s 1.1s ease forwards;
}
body.contact-page .ch-tile {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  border: 1px solid rgba(231,222,244,0.1);
  background: rgba(231,222,244,0.04);
  border-radius: 14px;
  transition: background 0.25s, border-color 0.25s, transform 0.25s;
}
body.contact-page .ch-tile:hover {
  background: rgba(201,162,74,0.08);
  border-color: var(--contact-gold-dim);
  transform: translateX(6px);
}
body.contact-page .ch-tile-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--contact-forest-mid), var(--contact-forest-light));
  border: 1px solid var(--contact-gold-dim);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
body.contact-page .ch-tile-label {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--contact-gold);
  margin-bottom: 2px;
}
body.contact-page .ch-tile-value { font-size: 0.9rem; color: rgba(231,222,244,0.82); }

body.contact-page .ch-form-card {
  position: relative;
  padding: 48px;
  border-radius: 28px;
  background: rgba(253,251,247,0.96);
  border: 1px solid rgba(231,222,244,0.18);
  box-shadow: var(--contact-shadow-lg);
  overflow: hidden;
  opacity: 0;
  animation: contactRise 0.9s 0.7s cubic-bezier(0.16,1,0.3,1) forwards;
}
body.contact-page .ch-form-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--contact-gold), var(--contact-lilac-mid), var(--contact-gold));
}
body.contact-page .ch-form-card::after {
  content: "";
  position: absolute;
  bottom: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,74,0.09), transparent 90%);
  pointer-events: none;
}
body.contact-page .ch-form-label {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--contact-gold);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}
body.contact-page .ch-form-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(201,162,74,0.25);
}
body.contact-page .contact-form {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  z-index: 1;
}
body.contact-page .cf-group { position: relative; }
body.contact-page .cf-group label {
  display: block;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--contact-forest-mid);
  margin-bottom: 6px;
}
body.contact-page .cf-input-wrap { position: relative; }
body.contact-page .cf-input {
  width: 100%;
  padding: 14px 18px 14px 48px;
  border-radius: 14px;
  border: 1.5px solid rgba(36,71,52,0.13);
  background: rgba(255,255,255,0.85);
  font-family: "Hakaya Poppins", "Poppins", system-ui, sans-serif;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--contact-forest);
  transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
  outline: none;
}
body.contact-page .cf-input::placeholder { color: rgba(26,48,37,0.35); }
body.contact-page .cf-input:focus {
  border-color: var(--contact-gold);
  box-shadow: 0 0 0 4px rgba(201,162,74,0.12);
  background: #fff;
}
body.contact-page .cf-icon {
  position: absolute;
  left: 16px;
  top: 40%;
  transform: translateY(-50%);
  font-size: 1rem;
  pointer-events: none;
  color: var(--contact-gold);
  transition: color 0.25s;
}
body.contact-page .cf-group:focus-within .cf-icon { color: var(--contact-forest); }
body.contact-page .cf-textarea-wrap .cf-icon { top: 18px; transform: none; }
body.contact-page .cf-input.textarea {
  padding-top: 14px;
  padding-bottom: 14px;
  resize: vertical;
  min-height: 130px;
}
body.contact-page .cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
body.contact-page .cf-submit {
  width: 100%;
  padding: 16px 24px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--contact-forest), var(--contact-forest-light));
  color: var(--contact-gold-soft);
  font-family: "Hakaya Poppins", "Poppins", system-ui, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(26,48,37,0.26);
  transition: transform 0.25s, box-shadow 0.25s, background 0.25s, color 0.25s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 6px;
}
body.contact-page .cf-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--contact-gold), var(--contact-gold-soft));
  opacity: 0;
  transition: opacity 0.35s ease;
}
body.contact-page .cf-submit:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 48px rgba(26,48,37,0.32);
  color: var(--contact-forest);
}
body.contact-page .cf-submit:hover::before { opacity: 1; }
body.contact-page .cf-submit:disabled { opacity: 0.6; cursor: wait; transform: none; }
body.contact-page .cf-submit span,
body.contact-page .cf-submit svg { position: relative; z-index: 1; }
body.contact-page .cf-submit-arrow { transition: transform 0.3s ease; }
body.contact-page .cf-submit:hover .cf-submit-arrow { transform: translateX(4px); }
body.contact-page .contact-form-status {
  min-height: 1.4em;
  margin-top: 4px;
  font-size: 0.88rem;
  line-height: 1.5;
  text-align: center;
  border-radius: 10px;
  padding: 0 8px;
  transition: all 0.3s ease;
}
body.contact-page .contact-form-status.is-success {
  color: var(--contact-forest);
  background: rgba(201,162,74,0.12);
  padding: 10px 16px;
}
body.contact-page .contact-form-status.is-error {
  color: #9b2c2c;
  background: rgba(155,44,44,0.08);
  padding: 10px 16px;
}
body.contact-page .ch-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 1;
  opacity: 0;
  animation: contactRise 0.6s 1.6s ease forwards;
}
body.contact-page .ch-scroll-line {
  width: 1px;
  height: 44px;
  background: linear-gradient(180deg, rgba(201,162,74,0.8), transparent);
  animation: contactScrollPulse 2s ease-in-out infinite;
}
body.contact-page .ch-scroll span {
  font-size: 0.58rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(231,222,244,0.4);
}

body.contact-page .contact-bottom {
  padding: 80px 64px 100px;
  background: var(--contact-lilac);
  position: relative;
  overflow: hidden;
}
body.contact-page .contact-bottom::before {
  content: "STORY";
  position: absolute;
  right: -40px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 240px;
  letter-spacing: 0.1em;
  color: rgba(36,71,52,0.05);
  pointer-events: none;
  user-select: none;
  line-height: 1;
  white-space: nowrap;
}
body.contact-page .cb-inner {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
  position: relative;
  z-index: 1;
}
body.contact-page .cb-left { min-width: 0; }
body.contact-page .cb-kicker {
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--contact-gold);
  margin-bottom: 16px;
}
body.contact-page .cb-process + .cb-kicker,
body.contact-page .cb-inner > div > .cb-kicker.js-fade { margin-bottom: 20px; }
body.contact-page .cb-process-kicker { margin-bottom: 20px; }
body.contact-page .cb-title {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  line-height: 0.94;
  color: var(--contact-forest);
  margin-bottom: 20px;
}
body.contact-page .cb-title span { color: var(--contact-gold); }
body.contact-page .cb-body { font-size: 1rem; line-height: 1.82; color: rgba(26,48,37,0.72); }
body.contact-page .cb-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
body.contact-page .cb-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(36,71,52,0.12);
  background: rgba(255,255,255,0.7);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--contact-forest);
  transition: background 0.25s, border-color 0.25s, transform 0.25s, color 0.25s;
}
body.contact-page .cb-chip:hover { background: var(--contact-forest); color: var(--contact-gold-soft); transform: translateY(-3px); }
body.contact-page .cb-chip-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--contact-gold); }
body.contact-page .cb-process { display: flex; flex-direction: column; gap: 4px; }
body.contact-page .cb-step {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid rgba(36,71,52,0.08);
  background: rgba(255,255,255,0.55);
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 0.55s ease, transform 0.55s ease, background 0.25s, border-color 0.25s;
}
body.contact-page .cb-step.visible { opacity: 1; transform: translateX(0); }
body.contact-page .cb-step:hover { background: rgba(255,255,255,0.88); border-color: var(--contact-gold-dim); }
body.contact-page .cb-step-num {
  font-family: "Hakaya Impact", Impact, sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--contact-gold);
  flex-shrink: 0;
  width: 32px;
}
body.contact-page .cb-step-text { font-size: 0.9rem; font-weight: 600; color: var(--contact-forest); }
body.contact-page .cb-step-arr { margin-left: auto; color: var(--contact-gold-dim); font-size: 0.9rem; }

body.contact-page .site-footer {
  background: var(--contact-cream);
  padding: 56px 64px 28px;
  border-top: 1px solid rgba(36,71,52,0.1);
  margin-top: 0;
  color: var(--contact-forest);
}
body.contact-page .footer-container {
  max-width: 1160px;
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px,1fr));
  gap: 36px;
}
body.contact-page .footer-logo img { width: 148px; margin-bottom: 14px; }
body.contact-page .footer-logo p { font-size: 0.9rem; line-height: 1.7; color: var(--contact-muted); }
body.contact-page .footer-links h3 {
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--contact-gold);
  margin-bottom: 14px;
}
body.contact-page .footer-links ul { list-style: none; }
body.contact-page .footer-links li + li { margin-top: 8px; }
body.contact-page .footer-links a,
body.contact-page .footer-links p { font-size: 0.9rem; color: var(--contact-muted); transition: color 0.2s; }
body.contact-page .footer-links a:hover { color: var(--contact-gold); }
body.contact-page .footer-socials { display: flex; gap: 12px; margin-top: 16px; }
body.contact-page .footer-socials img { width: 26px; height: 26px; object-fit: contain; }
body.contact-page .footer-bottom {
  max-width: 1160px;
  margin: 0 auto;
  padding-top: 18px;
  border-top: 1px solid rgba(36,71,52,0.1);
  text-align: center;
  font-size: 0.82rem;
  color: var(--contact-muted);
}
body.contact-page .js-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.85s ease, transform 0.85s cubic-bezier(0.16,1,0.3,1);
}
body.contact-page .js-fade.visible { opacity: 1; transform: translateY(0); }

@keyframes contactGeoFade { to { opacity: 1; } }
@keyframes contactOrbFloat { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-28px) scale(1.05); } }
@keyframes contactLineExp { to { width: 240px; } }
@keyframes contactScrollPulse { 0%,100% { opacity: 0.3; } 50% { opacity: 1; } }
@keyframes contactRise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 960px) {
  body.contact-page .navbar { padding: 12px 24px; }
  body.contact-page .nav-toggle { display: flex; }
  body.contact-page .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    background: rgba(253,251,247,0.98);
    padding: 12px 24px;
    border-bottom: 1px solid rgba(36,71,52,0.1);
    gap: 6px;
  }
  body.contact-page .navbar.nav-open .nav-links { display: flex; }
  body.contact-page .navbar.nav-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.contact-page .navbar.nav-open .nav-toggle span:nth-child(2) { opacity: 0; }
  body.contact-page .navbar.nav-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  body.contact-page .nav-links li { list-style: none; }
  body.contact-page .nav-links a { text-align: center; border-radius: 12px; }
  body.contact-page .contact-hero { padding: 100px 24px 72px; min-height: auto; }
  body.contact-page .contact-hero-inner { grid-template-columns: 1fr; gap: 44px; }
  body.contact-page .ch-title { font-size: clamp(2.8rem, 11vw, 4.6rem); }
  body.contact-page .ch-form-card { padding: 32px 26px; }
  body.contact-page .cf-row { grid-template-columns: 1fr; }
  body.contact-page .contact-bottom { padding: 56px 24px 72px; }
  body.contact-page .cb-inner { grid-template-columns: 1fr; gap: 40px; }
  body.contact-page .contact-bottom::before { font-size: 110px; }
  body.contact-page .site-footer { padding: 44px 24px 24px; }
}

@media (max-width: 600px) {
  body.contact-page .ch-form-card { padding: 26px 18px; }
  body.contact-page .cb-title { font-size: 2.2rem; }
}
/* CONTACT PAGE END */

/* ══════════════════════════════════════════════════════════
   SERVICES PAGE — FOOTER FIX & SPACING CLEANUP
   Scoped entirely to body.services-page so nothing else breaks
══════════════════════════════════════════════════════════ */

/* ── Footer: clear all inherited colour confusion ───────── */
body.services-page .site-footer {
  background: var(--cream);
  color: var(--forest);
  border-top: 1px solid rgba(26,48,37,0.12);
  padding: 56px 64px 28px;
  margin-top: 0;
  overflow: hidden;
}

body.services-page .footer-container {
  max-width: 1160px;
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px;
  align-items: start;
  position: relative;
  z-index: 1;
}

/* Logo paragraph */
body.services-page .footer-logo p {
  color: rgba(26,48,37,0.72) !important;
  font-size: 0.92rem;
  line-height: 1.72;
}

/* Fallback wordmark */
body.services-page .footer-logo-fallback {
  display: none;
  color: var(--forest) !important;
}

/* Section headings inside footer */
body.services-page .footer-links h3 {
  color: var(--gold) !important;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

body.services-page .footer-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

body.services-page .footer-links li + li {
  margin-top: 8px;
}

/* Nav links & contact details */
body.services-page .footer-links a,
body.services-page .footer-links p {
  color: rgba(26,48,37,0.75) !important;
  font-size: 0.92rem;
  line-height: 1.72;
  text-decoration: none;
}

body.services-page .footer-links a:hover {
  color: var(--gold) !important;
}

/* Copyright bar */
body.services-page .footer-bottom {
  border-top: 1px solid rgba(26,48,37,0.1);
  padding-top: 18px;
  text-align: center;
  font-size: 0.82rem;
  color: rgba(26,48,37,0.5) !important;
  position: relative;
  z-index: 1;
}

body.services-page .footer-bottom p {
  color: rgba(26,48,37,0.5) !important;
}

body.services-page .footer-logo img,
body.services-page .footer-socials img,
body.services-page .footer-bottom {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.services-page .footer-socials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

body.services-page .footer-socials img {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: none;
}

/* ── Spacing: remove the gap between hero and bridge ─────── */
body.services-page .services-hero {
  /* hero already fills 100vh; no extra margin needed below */
  margin-bottom: 0;
}

body.services-page .services-bridge {
  margin-top: 0; /* was possibly inheriting a top gap */
}

/* ── Bridge watermark: prevent horizontal overflow scroll ── */
body.services-page .services-bridge {
  overflow: hidden;
}

/* ── Pillars section: tight top – first pillar border handles the gap */
body.services-page .services-pillars {
  padding-top: 0;
}

/* ── Remove double gap between last pillar and the flow section */
body.services-page .services-pillars {
  padding-bottom: 0;
}

body.services-page .services-flow {
  margin-top: 0;
}

/* ── Alt pillar blocks: fix the negative margin bleed on mobile ─ */
@media (max-width: 1200px) {
  body.services-page .pillar-alt {
    margin-left: -32px;
    margin-right: -32px;
    padding-left: 32px;
    padding-right: 32px;
  }
}

@media (max-width: 900px) {
  body.services-page .pillar-alt {
    margin-left: -24px;
    margin-right: -24px;
    padding-left: 24px;
    padding-right: 24px;
  }

  body.services-page .site-footer {
    padding: 44px 24px 24px;
  }
}

/* ── Closing section: remove orphan top gap ──────────────── */
body.services-page .services-closing {
  margin-top: 0;
}

/* ── Pillar block: tighten first-child top padding ────────── */
body.services-page .pillar-block:first-child {
  padding-top: 60px;
}

/* ── Hero scroll cue: remove the stray line above "Explore" ─ */
body.services-page .hero-scroll-cue .scroll-line {
  display: none; /* already removed in HTML but belt-and-suspenders */
}

/* ── Flow section inner: cap width to avoid text sprawl ───── */
body.services-page .flow-sub {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Fix footer logo image size for services page ───────── */
body.services-page .footer-logo img {
  width: 148px;
  margin-bottom: 14px;
  display: block;
}
/* ── SERVICES PAGE: ALL FIXES ── */
body.services-page {
  background: #fdfbf7;
  --forest: #1a3025;
  --forest-mid: #244734;
  --forest-light: #2f5638;
}

body.services-page .navbar {
  background: rgba(253,251,247,0.95) !important;
  backdrop-filter: blur(16px) !important;
}

body.services-page .site-footer,
body.services-page footer {
  background: #fdfbf7 !important;
  color: #1a3025 !important;
  border-top: 1px solid rgba(26,48,37,0.12) !important;
  padding: 56px 64px 28px !important;
  margin-top: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.services-page .site-footer::before {
  display: none !important;
}

body.services-page .footer-container,
body.services-page .footer-container > *,
body.services-page .footer-bottom,
body.services-page .footer-logo img,
body.services-page .footer-socials img {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.services-page .footer-logo p,
body.services-page .footer-links a,
body.services-page .footer-links p {
  color: rgba(26,48,37,0.75) !important;
}

body.services-page .footer-links h3 {
  color: #c9a24a !important;
}

body.services-page .footer-bottom,
body.services-page .footer-bottom p {
  color: rgba(26,48,37,0.5) !important;
}

body.services-page .footer-links a:hover {
  color: #c9a24a !important;
}

body.services-page .services-closing {
  padding-bottom: 64px;
  margin-bottom: 0;
}

body.services-page .services-pillars {
  padding-top: 0;
  padding-bottom: 0;
}

body.services-page .services-flow {
  margin-top: 0;
  margin-bottom: 0;
}

body.services-page .services-hero {
  margin-bottom: 0;
}

body.services-page .services-pillars-shell {
  overflow-x: hidden;
}

@media (max-width: 900px) {
  body.services-page .site-footer,
  body.services-page footer {
    padding: 44px 24px 24px !important;
  }
  body.services-page .services-closing {
    padding: 56px 24px 56px;
  }
}

@media (max-width: 900px) {
  body .navbar,
  body.home-page .navbar,
  body.services-page .navbar,
  body.team-page .navbar,
  body.about-page .navbar,
  body.contact-page .navbar {
    display: grid !important;
    grid-template-columns: minmax(0, auto) auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 10px 18px !important;
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body .navbar .logo {
    justify-self: start !important;
    grid-column: 1 !important;
  }

  body .navbar .logo img {
    max-height: 52px;
    width: auto;
  }

  body .navbar .nav-toggle {
    display: inline-flex !important;
    justify-self: end !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body .navbar .nav-links {
    grid-column: 1 / -1;
  }
}
