:root { --ink:#3d3d3c; --teal:#19a3a2; --mist:#e6e7e8; --paper:#fbfbfa; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1380px, calc(100% - 112px)); margin-inline:auto; }
.header { height:122px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:40px; border-bottom:1px solid var(--teal); }
.brand-image { display:block; width:245px; height:86px; overflow:hidden; position:relative; flex:none; }
.brand-image>span { position:absolute; inset:0; overflow:hidden; }
.brand-image img { position:absolute; width:143.9%; max-width:none; height:auto; left:-21.9%; top:-93.8%; }
.header nav { display:flex; gap:54px; font-size:15px; }
.header nav a { padding:10px 0; position:relative; }
.header nav a:after { content:""; position:absolute; left:0; right:100%; bottom:2px; height:1px; background:var(--teal); transition:.2s; }
.header nav a:hover:after { right:0; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 26px; border:0; background:var(--teal); color:#fff; font:600 15px/1 Arial,sans-serif; cursor:pointer; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); background:#128b8a; }
.header-cta { justify-self:end; min-height:48px; }
.hero { min-height:600px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:65px; padding-block:80px 60px; }
.hero-copy { animation:rise .7s ease both; }
.eyebrow { margin:0 0 34px; color:var(--teal); font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; }
.eyebrow.light { color:#7cd3d2; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:30px; font-size:clamp(52px,5.2vw,82px); line-height:1.08; letter-spacing:-.055em; font-weight:700; }
.lede { max-width:640px; font-size:20px; line-height:1.55; }
.actions { display:flex; align-items:center; gap:40px; margin-top:34px; }
.text-link { padding-block:12px; font-weight:600; border-bottom:1px solid var(--teal); }
.text-link span { display:inline-block; transition:.2s; }
.text-link:hover span { transform:translate(3px,-3px); }
.signal-board { border-left:1px solid var(--teal); padding-left:45px; }
.signal { min-height:145px; display:grid; grid-template-columns:1fr 1.1fr; align-items:center; border-bottom:1px solid var(--teal); padding:18px 0; }
.signal:last-child { border-bottom:0; }
.signal small { display:block; font-size:11px; font-weight:700; letter-spacing:.23em; text-transform:uppercase; }
.signal strong { display:block; color:var(--teal); font:400 70px/1 Georgia,serif; margin-top:13px; }
.signal strong i { font-size:28px; font-style:normal; }
.signal svg { width:100%; overflow:visible; }
.signal svg path { fill:none; stroke:var(--teal); stroke-width:2; }
.signal svg .dotted { stroke-dasharray:2 7; }
.signal svg circle { fill:var(--paper); stroke:var(--teal); stroke-width:2; }
.bars { height:80px; display:flex; gap:10px; align-items:flex-end; justify-content:flex-end; padding-right:10px; }
.bars i { display:block; width:2px; height:20%; background:var(--teal); }
.bars i:nth-child(2){height:31%}.bars i:nth-child(3){height:42%}.bars i:nth-child(4){height:55%}.bars i:nth-child(5){height:72%}.bars i:nth-child(6){height:95%}
.service-ribbon { background:#f0f1f1; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.service-mini { display:grid; grid-template-columns:auto 1fr; gap:25px; padding:34px 34px 34px 0; }
.service-mini:not(:last-child) { border-right:1px solid var(--teal); margin-right:34px; }
.number { color:var(--teal); font:400 58px/1 Georgia,serif; }
.service-mini h2 { font-size:20px; padding-bottom:12px; border-bottom:1px solid var(--teal); margin:2px 0 12px; }
.service-mini p { font-size:14px; line-height:1.5; margin:0; }
.section-pad { padding-block:120px; }
.statement>h2 { width:min(890px,100%); font-size:clamp(38px,4.5vw,66px); line-height:1.08; letter-spacing:-.04em; }
.statement-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; max-width:980px; margin:55px 0 0 auto; }
.statement-grid p,.bio p { font-size:18px; line-height:1.7; }
.dark-band { background:var(--ink); color:#fff; padding-block:105px; }
.dark-band h2 { font-size:clamp(40px,4.3vw,66px); line-height:1.08; letter-spacing:-.04em; }
.outcome-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.outcomes article { display:grid; grid-template-columns:150px 1fr; gap:20px; padding:24px 0; border-top:1px solid #777; }
.outcomes strong { color:#6ed0cf; font-size:22px; }
.outcomes p { margin:0; line-height:1.5; color:#ddd; }
.testimonial { text-align:center; max-width:1000px; }
.quote-mark { color:var(--teal); font:100px/1 Georgia,serif; height:55px; }
blockquote { margin:20px 0 30px; font:34px/1.35 Georgia,serif; }
.testimonial>p { font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.testimonial>p span { display:block; font-size:11px; font-weight:400; margin-top:9px; }
.cta-section { margin-block:30px 100px; background:var(--teal); color:#fff; padding:70px; display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }
.cta-section .eyebrow { color:#fff; opacity:.8; }
.cta-section h2 { font-size:50px; line-height:1.08; margin:0; }
.cta-section p { font-size:18px; line-height:1.6; }
.button.inverse { background:#fff; color:var(--ink); }
footer { background:#ededeb; padding-top:70px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1.4fr; gap:80px; padding-bottom:60px; }
.footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.footer-grid h3 { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); }
.whatsapp { color:#087c5b; font-weight:700; }
.footer-grid p { line-height:1.55; }
.legal { border-top:1px solid #c8c8c4; padding:22px 0; display:flex; justify-content:space-between; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.page-hero { padding-block:110px 100px; border-bottom:1px solid var(--teal); }
.page-hero h1 { max-width:1050px; }
.page-hero>p:last-child { max-width:720px; font-size:20px; line-height:1.6; }
.service-list { padding-block:30px 100px; }
.service-row { display:grid; grid-template-columns:110px 1fr 1fr; gap:50px; align-items:start; padding:70px 0; border-bottom:1px solid #bbb; }
.service-row h2 { font-size:35px; margin-bottom:14px; }
.service-row>div p { font-size:17px; line-height:1.55; }
.service-row ul { margin:0; padding:0; list-style:none; columns:2; column-gap:30px; }
.service-row li { break-inside:avoid; padding:11px 0; border-top:1px solid #ccc; font-size:14px; }
.process h2 { font-size:54px; }
.process-grid,.value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:70px; background:#777; }
.process-grid article,.value-grid article { background:var(--ink); padding:30px; min-height:210px; }
.process-grid span,.value-grid span { color:#68cfce; font:36px Georgia,serif; }
.process-grid h3,.value-grid h3 { font-size:20px; margin:45px 0 14px; }
.process-grid p,.value-grid p { color:#ddd; line-height:1.55; font-size:14px; }
.fit,.bio { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.fit h2,.bio h2,.mission h2 { font-size:48px; line-height:1.15; }
.fit ul { list-style:none; padding:0; margin:0; }
.fit li { padding:20px 0; border-top:1px solid #bbb; font-size:17px; line-height:1.45; }
.about-hero { padding-block:85px 95px; display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:center; }
.portrait { position:relative; border-bottom:1px solid var(--teal); }
.portrait img { width:100%; height:540px; object-fit:cover; object-position:center 16%; display:block; filter:saturate(.85); }
.portrait>div { background:var(--ink); color:#fff; padding:18px 22px; display:flex; justify-content:space-between; }
.portrait span { color:#77d1d0; }
.bio { border-top:1px solid var(--teal); }
.bio>div:last-child p { margin-bottom:24px; }
.mission { max-width:1100px; }
.contact-hero { padding-block:100px 120px; display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.direct-contact { display:flex; flex-direction:column; gap:12px; margin-top:45px; font-weight:600; }
.direct-contact a:first-child { color:var(--teal); }
form { display:grid; grid-template-columns:1fr 1fr; gap:28px 24px; padding:45px; background:#f0f1ef; border-top:4px solid var(--teal); }
label { display:flex; flex-direction:column; gap:10px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
label.full { grid-column:1/-1; }
input,textarea { width:100%; border:0; border-bottom:1px solid #aaa; background:transparent; padding:12px 4px; font:16px Arial,sans-serif; outline:none; }
input:focus,textarea:focus { border-color:var(--teal); }
form small { align-self:center; color:#666; }
@keyframes rise { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:none; } }
@media(max-width:900px){
  .shell{width:min(100% - 40px,720px)} .header{grid-template-columns:1fr auto;height:92px}.header nav{display:none}.header-cta{min-height:42px;padding-inline:16px;font-size:13px}
  .hero,.about-hero,.contact-hero,.outcome-grid,.fit,.bio,.cta-section{grid-template-columns:1fr}.hero{padding-block:60px}.signal-board{border-left:0;border-top:1px solid var(--teal);padding:25px 0 0}.services-grid{grid-template-columns:1fr}.service-mini:not(:last-child){border-right:0;border-bottom:1px solid var(--teal);margin:0}.statement-grid{grid-template-columns:1fr;gap:20px}.process-grid,.value-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:80px 1fr}.service-row ul{grid-column:2;columns:1}.cta-section{padding:45px;gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.portrait img{height:480px}
}
@media(max-width:560px){
  .shell{width:calc(100% - 32px)}.header-cta{display:none}.header{grid-template-columns:1fr}.hero{min-height:auto}h1{font-size:48px}.actions{align-items:flex-start;flex-direction:column;gap:16px}.signal{grid-template-columns:1fr 1fr}.signal strong{font-size:50px}.section-pad{padding-block:80px}.process-grid,.value-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1fr;gap:22px}.service-row ul{grid-column:1}.fit,.bio,.contact-hero{gap:45px}.cta-section{width:100%;margin-bottom:0}.cta-section h2{font-size:38px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.legal{flex-direction:column;gap:8px}.portrait img{height:390px}form{grid-template-columns:1fr;padding:28px}label.full{grid-column:auto}
}
