*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--navy:#1B2E4B;
--navy-light:#243756;
--teal:#00A8AF;
--teal-light:#00C2CB;
--white:#FFFFFF;
--off-white:#F7F8FA;
--warm-grey:#F2F3F5;
--mid-grey:#8A8F9A;
--dark-text:#1A1F2E;
--body-text:#3D4450;
--border:#E2E5EA;
--serif:'Libre Baskerville',Georgia,serif;
--sans:'Inter',system-ui,sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none !important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
body{
background:var(--white);
color:var(--body-text);
font-family:var(--sans);
font-size:16px;
line-height:1.7;
overflow-x:hidden;
}

/* ── NAV ── */
nav{
position:fixed;top:0;left:0;right:0;z-index:100;
background:rgba(255,255,255,0.97);
backdrop-filter:blur(8px);
border-bottom:1px solid var(--border);
padding:0 6%;
display:flex;align-items:center;justify-content:space-between;
height:64px;
}
.nav-logo{
font-family:var(--sans);
font-size:1rem;
font-weight:600;
letter-spacing:0.01em;
color:var(--navy);
text-decoration:none;
display:flex;align-items:center;gap:10px;
}
.nav-logo img{height:64px;width:auto;display:block;border-radius:5px;}
.nav-links{display:flex;align-items:center;gap:2.5rem;}
.nav-links a{
color:var(--body-text);
text-decoration:none;
font-size:0.875rem;
font-weight:400;
transition:color 0.15s;
}
.nav-links a:hover{color:var(--navy);}
.nav-cta{
background:var(--navy);
color:var(--white) !important;
padding:9px 22px;
border-radius:3px;
font-size:0.85rem !important;
font-weight:500 !important;
transition:background 0.2s !important;
}
/* dark header bar */
nav{background:var(--navy);border-bottom:1px solid rgba(255,252,235,0.12);backdrop-filter:none;}
.nav-links a{color:rgba(255,252,235,0.82);}
.nav-links a:hover{color:#fff;}
.nav-links a.nav-cta{background:var(--teal-light);color:var(--navy) !important;font-weight:600 !important;}
.nav-links a.nav-cta:hover{background:#fff !important;color:var(--navy) !important;}
.nav-logo img{border-radius:0;}
nav{height:76px;}
.nav-links a.nav-li{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:500;}
.nav-links a.nav-li svg{width:20px;height:20px;fill:none;stroke:var(--teal-light);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.nav-links a.nav-li:hover svg{stroke:#fff;}
.c-val a.li-link{color:var(--teal);font-weight:600;}
.c-val a.li-link:hover{text-decoration:underline;}
.footer-links a.li-foot{display:inline-flex;align-items:center;gap:8px;font-size:0.9rem;font-weight:500;color:#fff;}
.footer-links a.li-foot svg{width:18px;height:18px;fill:none;stroke:var(--teal-light);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.footer-links a.li-foot:hover{color:var(--teal-light);}
@media(max-width:640px){
.nav-links a:not(.nav-cta){display:none;}
.nav-links{gap:0;}
.nav-logo img{height:48px;}
nav{height:68px;}
.nav-links a.nav-li{display:inline-flex;margin-right:14px;}
.nav-links a.nav-li span{display:none;}
.nav-links a.nav-li svg{width:24px;height:24px;}
}

/* ── HERO ── */
#home{
padding:140px 6% 100px;
background:var(--white);
border-bottom:1px solid var(--border);
display:grid;
grid-template-columns:1.1fr 0.9fr;
gap:6rem;
align-items:center;
min-height:90vh;
}
@media(max-width:800px){#home{grid-template-columns:1fr;gap:3rem;min-height:auto;}}
.hero-tag{
display:inline-flex;align-items:center;gap:8px;
font-size:0.72rem;
font-weight:500;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--teal);
margin-bottom:1.5rem;
border:1px solid rgba(0,168,175,0.25);
padding:5px 12px;
border-radius:2px;
background:rgba(0,168,175,0.04);
}
.hero-h1{
font-family:var(--serif);
font-size:clamp(2rem,4vw,3.2rem);
font-weight:700;
line-height:1.2;
color:var(--dark-text);
margin-bottom:1.25rem;
letter-spacing:-0.01em;
}
.hero-h1 em{
font-style:italic;
color:var(--navy);
}
.hero-lead{
font-size:1.05rem;
font-weight:300;
color:var(--body-text);
line-height:1.75;
margin-bottom:2.25rem;
max-width:520px;
}
.hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;}
.btn-primary{
background:var(--navy);
color:var(--white);
border:none;
padding:13px 28px;
border-radius:3px;
font-family:var(--sans);
font-size:0.875rem;
font-weight:500;
cursor:pointer;
text-decoration:none;
letter-spacing:0.02em;
transition:background 0.2s;
display:inline-block;
}
.btn-primary:hover{background:var(--navy-light);}
.btn-outline{
background:transparent;
color:var(--navy);
border:1px solid var(--navy);
padding:12px 28px;
border-radius:3px;
font-family:var(--sans);
font-size:0.875rem;
font-weight:400;
cursor:pointer;
text-decoration:none;
letter-spacing:0.02em;
transition:all 0.2s;
display:inline-block;
}
.btn-outline:hover{background:var(--navy);color:var(--white);}
.hero-proof{
display:flex;gap:2.5rem;
padding-top:2rem;
border-top:1px solid var(--border);
flex-wrap:wrap;
}
.proof-item{}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
.proof-label{line-height:1.45;}
@media(max-width:640px){.hero-proof{grid-template-columns:1fr;gap:1.25rem;}}
.proof-num{
font-family:var(--serif);
font-size:1.75rem;
font-weight:700;
color:var(--navy);
display:block;
line-height:1;
}
.proof-label{
font-size:0.75rem;
color:var(--mid-grey);
letter-spacing:0.04em;
margin-top:4px;
display:block;
}

/* Hero right — data visual */
.hero-visual{
background:var(--off-white);
border:1px solid var(--border);
border-radius:6px;
padding:2rem;
}
.vis-header{
display:flex;align-items:center;justify-content:space-between;
margin-bottom:1.5rem;
}
.vis-title{font-size:0.75rem;font-weight:500;color:var(--mid-grey);letter-spacing:0.06em;text-transform:uppercase;}
.vis-badge{
font-size:0.65rem;font-weight:500;
background:rgba(0,168,175,0.1);
color:var(--teal);
padding:3px 8px;border-radius:2px;
letter-spacing:0.05em;text-transform:uppercase;
}
.chart-bars{
display:flex;align-items:flex-end;gap:10px;
height:120px;
margin-bottom:1.25rem;
}
.bar-wrap{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;}
.bar{
width:100%;
height:calc((100% - 22px) * var(--h,50) / 100);
border-radius:2px 2px 0 0;
background:var(--border);
position:relative;
transition:background 0.3s;
}
.bar.teal{background:var(--teal);}
.bar.navy{background:var(--navy);}
.bar.teal-light{background:rgba(0,168,175,0.35);}
.bar-label{font-size:0.65rem;color:var(--mid-grey);flex:none;line-height:16px;height:16px;}
.chart-divider{height:1px;background:var(--border);margin-bottom:1.25rem;}
.kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.kpi-box{
background:var(--white);
border:1px solid var(--border);
border-radius:4px;
padding:0.875rem 1rem;
}
.kpi-val{
font-family:var(--serif);
font-size:1.3rem;
font-weight:700;
color:var(--navy);
display:block;
line-height:1;
margin-bottom:4px;
}
.kpi-label{font-size:0.7rem;color:var(--mid-grey);letter-spacing:0.04em;}
.kpi-change{
font-size:0.7rem;
font-weight:500;
color:var(--teal);
margin-top:4px;
display:block;
}
.insight-box{
background:var(--white);
border:1px solid var(--border);
border-left:3px solid var(--teal);
border-radius:0 4px 4px 0;
padding:0.875rem 1rem;
margin-top:1rem;
}
.insight-label{font-size:0.65rem;font-weight:500;color:var(--teal);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:3px;}
.insight-text{font-size:0.78rem;color:var(--body-text);line-height:1.5;}

/* ── SECTION SHARED ── */
.section-pad{padding:90px 6%;}
.section-label{
font-size:0.72rem;
font-weight:500;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--teal);
margin-bottom:0.75rem;
}
.section-h2{
font-family:var(--serif);
font-size:clamp(1.75rem,3vw,2.5rem);
font-weight:700;
color:var(--dark-text);
line-height:1.2;
letter-spacing:-0.01em;
margin-bottom:1rem;
}
.section-lead{
font-size:1rem;
font-weight:300;
color:var(--body-text);
max-width:560px;
line-height:1.75;
margin-bottom:3rem;
}
.divider{height:1px;background:var(--border);margin:0 6%;}

/* ── SERVICES ── */
#services{background:var(--white);}
.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:0;
border:1px solid var(--border);
border-radius:4px;
overflow:hidden;
}
@media(max-width:768px){.services-grid{grid-template-columns:1fr;}
.service-card{border-right:none;border-bottom:1px solid var(--border);}
.service-card:last-child{border-bottom:none;}}
.service-card{
padding:2.25rem 2rem;
border-right:1px solid var(--border);
transition:background 0.2s;
position:relative;
}
.service-card:last-child{border-right:none;}
.service-card:hover{background:var(--off-white);}
.service-num{
font-family:var(--serif);
font-size:1rem;
font-weight:400;
color:var(--teal);
margin-bottom:1.25rem;
font-style:italic;
}
.service-title{
font-family:var(--serif);
font-size:1.15rem;
font-weight:700;
color:var(--dark-text);
margin-bottom:0.75rem;
line-height:1.3;
}
.service-desc{
font-size:0.85rem;
color:var(--body-text);
line-height:1.7;
margin-bottom:1.25rem;
}
.service-tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{
font-size:0.65rem;
font-weight:500;
letter-spacing:0.06em;
text-transform:uppercase;
color:var(--mid-grey);
border:1px solid var(--border);
padding:3px 8px;
border-radius:2px;
}

/* ── ABOUT ── */
#about{background:var(--off-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:5rem;
align-items:start;
}
@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:2.5rem;}}
.about-body{font-size:0.9rem;color:var(--body-text);line-height:1.8;margin-bottom:1.25rem;}
.about-steps{margin-top:2rem;}
.step{
display:grid;
grid-template-columns:40px 1fr;
gap:1rem;
padding:1.25rem 0;
border-bottom:1px solid var(--border);
align-items:start;
}
.step:first-child{border-top:1px solid var(--border);}
.step-num{
font-family:var(--serif);
font-size:1.1rem;
font-weight:700;
color:var(--teal);
font-style:italic;
padding-top:2px;
}
.step-title{
font-size:0.875rem;
font-weight:600;
color:var(--dark-text);
margin-bottom:3px;
}
.step-desc{font-size:0.82rem;color:var(--mid-grey);line-height:1.6;}

/* Stats panel */
.about-stats{
background:var(--navy);
border-radius:4px;
padding:2.5rem;
color:var(--white);
}
.about-stats-title{
font-size:0.72rem;
font-weight:500;
letter-spacing:0.1em;
text-transform:uppercase;
color:rgba(255,255,255,0.45);
margin-bottom:2rem;
}
.stat-row{
padding:1.25rem 0;
border-bottom:1px solid rgba(255,255,255,0.08);
display:flex;
align-items:baseline;
justify-content:space-between;
gap:1rem;
}
.stat-row:first-of-type{padding-top:0;}
.stat-row:last-of-type{border-bottom:none;padding-bottom:0;}
.stat-big{
font-family:var(--serif);
font-size:2rem;
font-weight:700;
color:var(--teal-light);
line-height:1;
}
.stat-info{}
.stat-desc{font-size:0.8rem;color:rgba(255,255,255,0.65);line-height:1.4;text-align:right;max-width:160px;}

/* Inline chart */
.mini-chart{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.08);}
.mini-chart-label{font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:1rem;}
.mini-bars{display:flex;align-items:flex-end;gap:5px;height:60px;}
.mini-bar{
flex:1;
border-radius:2px 2px 0 0;
background:rgba(255,255,255,0.1);
}
.mini-bar.hi{background:var(--teal);}
.mini-bar.mid{background:rgba(0,194,203,0.5);}

/* ── WHY ── */
#why{background:var(--white);}
.why-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:2rem;
}
@media(max-width:600px){.why-grid{grid-template-columns:1fr;}}
.why-card{
border:1px solid var(--border);
border-radius:4px;
padding:2rem;
transition:border-color 0.2s,background 0.2s;
}
.why-card:hover{border-color:var(--teal);background:rgba(0,168,175,0.02);}
.why-icon{
width:38px;height:38px;
border:1px solid var(--border);
border-radius:3px;
display:flex;align-items:center;justify-content:center;
margin-bottom:1.25rem;
}
.why-icon svg{width:18px;height:18px;stroke:var(--navy);fill:none;stroke-width:1.5;}
.why-title{
font-family:var(--serif);
font-size:1rem;
font-weight:700;
color:var(--dark-text);
margin-bottom:0.5rem;
}
.why-desc{font-size:0.85rem;color:var(--body-text);line-height:1.7;}

/* ── PRICING ── */
#pricing{background:var(--off-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.pricing-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1.5rem;
}
@media(max-width:768px){.pricing-grid{grid-template-columns:1fr;}}
.pricing-card{
background:var(--white);
border:1px solid var(--border);
border-radius:4px;
padding:2rem 1.75rem;
position:relative;
}
.pricing-card.featured{
border-color:var(--navy);
border-width:1.5px;
}
.feat-badge{
position:absolute;top:-11px;left:50%;transform:translateX(-50%);
background:var(--navy);
color:var(--white);
font-size:0.65rem;
font-weight:600;
letter-spacing:0.08em;
text-transform:uppercase;
padding:3px 14px;
border-radius:2px;
white-space:nowrap;
}
.pricing-tier{
font-size:0.7rem;
font-weight:500;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--teal);
margin-bottom:0.5rem;
}
.pricing-name{
font-family:var(--serif);
font-size:1.4rem;
font-weight:700;
color:var(--dark-text);
margin-bottom:0.5rem;
}
.pricing-ideal{
font-size:0.8rem;
color:var(--mid-grey);
margin-bottom:1.5rem;
font-style:italic;
line-height:1.5;
}
.pricing-price{margin-bottom:1.5rem;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-height:36px;}
.pricing-from{font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--mid-grey);}
.pricing-amount{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--navy);line-height:1.1;}
.pricing-amount.custom{font-size:1.25rem;}
.pricing-per{font-size:0.8rem;color:var(--mid-grey);}
.pricing-features{
list-style:none;
margin-bottom:2rem;
display:flex;flex-direction:column;gap:0.65rem;
border-top:1px solid var(--border);
padding-top:1.25rem;
}
.pricing-features li{
font-size:0.82rem;
color:var(--body-text);
display:flex;align-items:flex-start;gap:8px;
line-height:1.5;
}
.pricing-features li::before{
content:'—';
color:var(--teal);
font-size:0.75rem;
min-width:12px;
margin-top:1px;
}
.pricing-features li.na{color:var(--mid-grey);}
.pricing-features li.na::before{color:var(--border);}
.pricing-cta{
display:block;
text-align:center;
padding:11px 0;
border:1px solid var(--navy);
border-radius:3px;
color:var(--navy);
font-size:0.82rem;
font-weight:500;
letter-spacing:0.03em;
text-decoration:none;
transition:all 0.2s;
cursor:pointer;
background:transparent;
width:100%;
font-family:var(--sans);
}
.pricing-cta:hover,.pricing-card.featured .pricing-cta{
background:var(--navy);
color:var(--white);
}
.pricing-note{
text-align:center;
font-size:0.78rem;
color:var(--mid-grey);
margin-top:1.75rem;
}

/* ── CONTACT ── */
#contact{background:var(--white);}
.contact-grid{
display:grid;
grid-template-columns:1fr 1.2fr;
gap:5rem;
align-items:start;
}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2.5rem;}}
.contact-intro{font-size:0.9rem;color:var(--body-text);line-height:1.8;margin-bottom:2.5rem;}
.contact-item{
display:flex;align-items:flex-start;gap:1rem;
margin-bottom:1.5rem;
padding-bottom:1.5rem;
border-bottom:1px solid var(--border);
}
.contact-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.c-icon{
width:34px;height:34px;min-width:34px;
border:1px solid var(--border);
border-radius:3px;
display:flex;align-items:center;justify-content:center;
}
.c-icon svg{width:15px;height:15px;stroke:var(--navy);fill:none;stroke-width:1.5;}
.c-label{font-size:0.7rem;font-weight:500;color:var(--mid-grey);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:2px;}
.c-val{font-size:0.875rem;color:var(--dark-text);}
.c-val a{color:inherit;text-decoration:none;}
.c-val a:hover{color:var(--teal);}

form{display:flex;flex-direction:column;gap:1.1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:480px){.form-row{grid-template-columns:1fr;}}
.fg{display:flex;flex-direction:column;gap:5px;}
.fg label{font-size:0.7rem;font-weight:500;color:var(--mid-grey);letter-spacing:0.06em;text-transform:uppercase;}
.fg input,.fg textarea,.fg select{
background:var(--off-white);
border:1px solid var(--border);
border-radius:3px;
padding:10px 12px;
color:var(--dark-text);
font-family:var(--sans);
font-size:0.875rem;
outline:none;
transition:border-color 0.15s,background 0.15s;
width:100%;
}
.fg input:focus,.fg textarea:focus,.fg select:focus{
border-color:var(--navy);
background:var(--white);
}
.fg textarea{resize:vertical;min-height:110px;line-height:1.6;}
.fg select option{background:var(--white);}
.form-submit{
background:var(--navy);
color:var(--white);
border:none;
padding:13px 0;
border-radius:3px;
font-family:var(--sans);
font-size:0.875rem;
font-weight:500;
cursor:pointer;
letter-spacing:0.03em;
transition:background 0.2s;
}
.form-submit:hover{background:var(--navy-light);}
.form-submit:disabled{opacity:.6;cursor:wait;}
.form-status{font-size:0.85rem;line-height:1.5;padding:0.75rem 1rem;border-radius:3px;display:none;}
.form-status.ok{display:block;background:rgba(0,168,175,0.08);border:1px solid rgba(0,168,175,0.3);color:var(--dark-text);}
.form-status.err{display:block;background:#FDF2F2;border:1px solid #F0C4C4;color:#7A1F1F;}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden;}

/* ── FOOTER ── */
footer{
background:var(--navy);
padding:2.5rem 6%;
display:flex;align-items:center;justify-content:space-between;
flex-wrap:wrap;gap:1rem;
}
.footer-logo{
font-family:var(--sans);
font-size:0.9rem;
font-weight:600;
color:rgba(255,255,255,0.7);
letter-spacing:0.02em;
}
.footer-logo img{height:40px;width:auto;display:block;}
.footer-copy{font-size:0.75rem;color:rgba(255,255,255,0.6);max-width:520px;line-height:1.5;}
.footer-links{display:flex;gap:1.5rem;}
.footer-links a{font-size:0.75rem;color:rgba(255,255,255,0.6);text-decoration:none;transition:color 0.15s;}
.footer-links a:hover{color:rgba(255,255,255,0.8);}

/* ── WHATSAPP / GOOGLE ── */
.nav-links a.nav-wa{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:500;}
.nav-links a.nav-wa svg{width:20px;height:20px;fill:none;stroke:var(--teal-light);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.nav-links a.nav-wa:hover svg{stroke:#fff;}
@media(max-width:640px){
.nav-links a.nav-wa{display:inline-flex;margin-right:14px;}
.nav-links a.nav-wa span{display:none;}
.nav-links a.nav-wa svg{width:24px;height:24px;}
}
.footer-links{flex-wrap:wrap;align-items:center;}
.footer-links a.ft-ico{display:inline-flex;align-items:center;gap:8px;font-size:0.9rem;font-weight:500;color:#fff;}
.footer-links a.ft-ico svg{width:18px;height:18px;fill:none;stroke:var(--teal-light);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.footer-links a.ft-ico:hover{color:var(--teal-light);}
.c-val a.ext-link{color:var(--teal);font-weight:600;}
.c-val a.ext-link:hover{text-decoration:underline;}

/* ── INDUSTRIES (home) ── */
#industries{background:var(--off-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.ind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
@media(max-width:768px){.ind-grid{grid-template-columns:1fr;}}
.ind-card{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:2rem;display:flex;flex-direction:column;transition:border-color .2s;}
.ind-card:hover{border-color:var(--teal);}
.ind-name{font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--dark-text);line-height:1.3;margin-bottom:1.1rem;}
.ind-q{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin-bottom:1.5rem;}
.ind-q li{font-size:.92rem;line-height:1.55;color:var(--body-text);padding-left:1rem;border-left:2px solid var(--teal);}
.ind-more{margin-top:auto;font-size:.82rem;font-weight:600;color:var(--teal);text-decoration:none;letter-spacing:.02em;}
.ind-more:hover{text-decoration:underline;}
.ind-intro-h{max-width:720px;}
.ind-intro-h .section-h2{font-size:clamp(1.9rem,3.6vw,2.9rem);}

/* ── INDUSTRY PAGES ── */
.ind-hero{padding:130px 6% 56px;background:var(--white);border-bottom:1px solid var(--border);}
.ind-hero .hero-h1{max-width:900px;margin-bottom:1rem;}
.ind-aud{font-size:1.05rem;font-weight:300;color:var(--body-text);max-width:640px;line-height:1.7;}
.q-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
@media(max-width:768px){.q-grid{grid-template-columns:1fr;}}
.q-card{border:1px solid var(--border);border-radius:4px;padding:2rem;background:var(--white);}
.q-num{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:1rem;margin-bottom:.9rem;}
.q-text{font-family:var(--serif);font-size:1.3rem;font-weight:700;line-height:1.4;color:var(--dark-text);}
.dash-sec{background:var(--off-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.dash{background:var(--white);border:1px solid var(--border);border-radius:6px;padding:2rem;}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;}
@media(max-width:700px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
.dash-kpis .kpi-box{background:var(--off-white);}
.dash-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
@media(max-width:800px){.dash-panels{grid-template-columns:1fr;}}
.dash-panel{border:1px solid var(--border);border-radius:4px;padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;}
.dash-ptitle{font-size:.72rem;font-weight:500;color:var(--mid-grey);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.1rem;}
.dash-panel .insight-box{margin-top:auto;}
.dash-note{font-size:.78rem;color:var(--mid-grey);margin-top:1.1rem;}
.hb-list{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.1rem;}
.hb{display:grid;grid-template-columns:minmax(90px,34%) 1fr 52px;align-items:center;gap:.6rem;font-size:.78rem;}
.hb-l{color:var(--body-text);line-height:1.3;}
.hb-track{display:block;height:12px;background:var(--warm-grey);border-radius:2px;overflow:hidden;}
.hb-fill{display:block;height:100%;background:rgba(0,168,175,.4);}
.hb-fill.hi{background:var(--teal);}
.hb-fill.warn{background:#D9822B;}
.hb-v{text-align:right;font-weight:600;color:var(--dark-text);font-variant-numeric:tabular-nums;}
.vb{margin-bottom:1.1rem;}
.vb-plot{position:relative;height:150px;display:flex;align-items:stretch;gap:10px;border-bottom:1px solid var(--border);}
.vb-col{position:relative;flex:1;}
.vb-bar{position:absolute;left:0;right:0;bottom:0;height:calc(var(--h) * 1%);background:rgba(0,168,175,.4);border-radius:2px 2px 0 0;}
.vb-bar.hi{background:var(--teal);}
.vb-bar.warn{background:#D9822B;}
.vb-val{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--h) * 1% + 3px);text-align:center;font-size:.68rem;font-weight:600;color:var(--dark-text);background:var(--white);padding:0 3px;z-index:2;line-height:1.3;}
.vb-target{z-index:1;position:absolute;left:0;right:0;border-top:1.5px dashed var(--navy);bottom:calc(var(--t) * 1%);pointer-events:none;}
.vb-target span{position:absolute;right:0;bottom:2px;font-size:.62rem;color:var(--navy);background:var(--white);padding:0 3px;letter-spacing:.03em;}
.vb-labels{display:flex;gap:10px;margin-top:6px;}
.vb-labels span{flex:1;text-align:center;font-size:.66rem;color:var(--mid-grey);line-height:1.25;}
.cta-band{background:var(--navy);padding:80px 6%;text-align:center;}
.cta-band h2{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;line-height:1.25;margin-bottom:.6rem;letter-spacing:-.01em;}
.cta-band p{color:rgba(255,255,255,.72);font-weight:300;font-size:1.05rem;margin-bottom:2rem;}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem;}
.btn-teal{background:var(--teal-light);color:var(--navy);padding:13px 28px;border-radius:3px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-block;letter-spacing:.02em;transition:background .2s;}
.btn-teal:hover{background:#fff;}
.btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff;padding:12px 28px;border-radius:3px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-block;letter-spacing:.02em;transition:all .2s;}
.btn-ghost:hover{background:#fff;color:var(--navy);}
.cta-mail{font-size:.85rem;color:rgba(255,255,255,.6);}
.cta-mail a{color:rgba(255,255,255,.85);}
.others{padding:56px 6%;background:var(--white);}
.others-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;}
.others-list a{border:1px solid var(--border);border-radius:3px;padding:10px 16px;font-size:.88rem;color:var(--navy);text-decoration:none;font-weight:500;transition:all .2s;}
.others-list a:hover{border-color:var(--teal);color:var(--teal);}
