/* V21 | Narrativa institucional Grupo Saluvia. Sem dependências externas. */
:root{--v21-forest:#113c2d;--v21-deep:#092c22;--v21-gold:#d6b76d;--v21-ivory:#f7f6f0;--v21-rule:#dce5dc}
.v21-about,.saluvia-home{overflow-x:clip}
.v21-about .inner-hero-about h1{max-width:1050px;font-size:clamp(46px,5vw,74px);line-height:1.08}
.v21-about .inner-hero-about h1 em{color:#e8d3a0}
.v21-about .inner-hero-about p{max-width:715px}
.v21-about .section .kicker,.saluvia-home .v21-home-approach .kicker{letter-spacing:.17em}
.v21-about .v21-story{background:linear-gradient(135deg,#f9faf5,#f2f6ee)}
.v21-story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(50px,6vw,110px);align-items:start}
.v21-story-heading{position:sticky;top:100px}.v21-about .v21-story-heading .section-title{font-size:clamp(39px,3.95vw,59px)}
.v21-story-index{font-size:10px!important;font-weight:750;color:#658070;letter-spacing:.13em;margin-top:32px;padding-top:24px;border-top:1px solid #cbdacc}
.v21-story-text{border-left:1px solid #cedcce;padding-left:clamp(20px,3vw,49px)}
.v21-story-text p{font-size:15px;line-height:1.93;color:#53685e;margin-bottom:24px}
.v21-story-text .v21-lead{font-size:clamp(19px,1.65vw,24px);font-weight:580;line-height:1.55;color:#203c2f;margin-bottom:27px}
.v21-story-text strong{color:#244e35}
.v21-about .v21-why{background:#f3f5ef}
.v21-why-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,6vw,100px);align-items:center}
.v21-why-visual{height:560px;position:relative;overflow:hidden;border-radius:18px;background:#c9d2c7;box-shadow:0 30px 64px rgba(9,39,23,.13)}
.v21-why-visual img{width:100%;height:100%;object-fit:cover}
.v21-why-visual span{position:absolute;bottom:17px;left:19px;background:rgba(8,35,27,.78);color:#fff;font-size:10px;letter-spacing:.04em;padding:7px 12px;border-radius:5px}
.v21-why-copy .section-title{font-size:clamp(36px,3.5vw,54px)}
.v21-why-copy>p{font-size:14px;line-height:1.9;color:#526b5b;margin-top:22px}
.v21-why-note{margin-top:30px;padding:22px 25px;border-left:3px solid #ba9c5d;background:linear-gradient(90deg,#fff,#f4f7f1);box-shadow:0 12px 35px rgba(21,52,31,.05)}
.v21-why-note strong{display:block;font-size:14px;line-height:1.4;margin-bottom:7px;color:#234635}.v21-why-note span{font-size:13px;line-height:1.75;color:#61776b}
.v21-about .v21-process{background:#fff}
.v21-process-top{display:flex;align-items:end;justify-content:space-between;gap:75px;margin-bottom:38px}
.v21-process-top>div{max-width:700px}.v21-process-top>p{max-width:340px;font-size:14px;color:#62776b;line-height:1.85;margin:0}
.v21-steps{padding:0;list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:none}
.v21-steps li{background:#f7f9f5;border:1px solid #d9e5da;border-radius:16px;min-height:305px;padding:31px 25px;position:relative;overflow:hidden;box-shadow:0 13px 35px rgba(9,53,29,.045);transition:transform .28s,box-shadow .28s,border-color .28s}
.v21-steps li:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(9,53,29,.1);border-color:#b5cbb9}
.v21-steps li:before{content:"";position:absolute;top:0;left:0;width:70px;height:3px;background:#bc9c62}
.v21-step-number{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#e7e3d4;color:#244634;font-size:12px;font-weight:800;letter-spacing:.03em}
.v21-steps h3{margin:35px 0 14px;font-size:21px;line-height:1.24;color:#234a36}
.v21-steps p{font-size:13px;line-height:1.85;color:#62776a;margin:0}
.v21-about .v21-example{background:linear-gradient(115deg,#102f24,#164635)!important;color:#fff;overflow:hidden}
.v21-about .v21-example::before{opacity:.14!important;background-image:radial-gradient(circle at center,rgba(235,220,181,.33) 1px,transparent 1px)!important;background-size:20px 20px!important}
.v21-example-grid{display:grid;grid-template-columns:1.15fr .75fr;gap:clamp(50px,7vw,135px);align-items:center}
.v21-example-main .kicker{color:#dfc788}
.v21-about .v21-example-main .section-title{color:#fff;font-size:clamp(36px,3.7vw,57px)}
.v21-about .v21-example-main .section-title em{color:#dac188}
.v21-example-main>p{color:#d9e7dd;font-size:15px;line-height:1.83;margin-top:20px}
.v21-example-main>small{display:block;color:#a7c0b0;font-size:11px;line-height:1.6;margin-top:22px}
.v21-example-panel{border:1px solid rgba(232,212,154,.5);border-radius:17px;background:rgba(244,247,235,.06);padding:clamp(31px,4vw,57px);box-shadow:0 20px 60px rgba(0,16,12,.22)}
.v21-example-panel>span:first-child{font-size:10px;letter-spacing:.17em;font-weight:750;color:#d6c59e}
.v21-example-stat{display:flex;align-items:baseline;gap:16px;margin:20px 0 10px}.v21-example-stat strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(90px,9vw,142px);color:#edd39c;line-height:1}.v21-example-stat span{font-size:16px;max-width:120px;line-height:1.35;color:#f4f4e7}
.v21-example-line{height:1px;background:rgba(232,212,154,.38);margin:29px 0}.v21-example-panel p{font-size:14px;color:#d5e2d9;line-height:1.8}
.v21-example-panel .v21-panel-foot{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#c3ddc6;margin-top:30px}
.v21-about .v21-audiences{background:#f6f8f3}
.v21-audiences-head{max-width:800px;margin-bottom:38px}.v21-audiences-head>p{max-width:660px;color:#5f7566;line-height:1.8;font-size:15px;margin-top:17px}
.v21-audience-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v21-audience-cards article{padding:40px 34px 35px;background:#fff;border:1px solid #dbe8db;border-radius:16px;min-height:300px;box-shadow:0 15px 42px rgba(13,65,32,.04)}
.v21-audience-cards article>span{font-size:10px;font-weight:750;color:#b0915e;letter-spacing:.12em}
.v21-audience-cards article h3{font-size:clamp(21px,2vw,29px);margin:32px 0 18px;color:#254a36;max-width:285px}
.v21-audience-cards article p{font-size:14px;line-height:1.8;color:#637969}
.v21-fronts-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(50px,6vw,105px);align-items:start}
.v21-fronts-grid>div>p{font-size:14px;line-height:1.9;color:#617665;margin-top:25px}
.v21-fronts-cards{display:grid;gap:16px}
.v21-fronts-cards article{border-left:3px solid #c3a774;border-radius:0 13px 13px 0;padding:29px 36px;background:linear-gradient(115deg,#f5f7f2,#fff);box-shadow:0 10px 27px rgba(0,30,12,.055)}
.v21-fronts-cards article>span{font-size:10px;color:#9c8156;font-weight:780;letter-spacing:.13em}
.v21-fronts-cards h3{color:#204b33;font-size:23px;margin:13px 0}
.v21-fronts-cards p{font-size:14px;line-height:1.8;color:#627568}
.v21-fronts-cards a{font-size:13px;font-weight:800;color:#1e633d;text-decoration:underline;text-underline-offset:5px}
.v21-about .v21-commitment{background:#0f3025!important;color:#f7f8ed}
.v21-about .v21-commitment::before{opacity:.2!important;background-image:linear-gradient(rgba(227,216,155,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(227,216,155,.08) 1px,transparent 1px)!important;background-size:70px 70px!important}
.v21-commitment-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(50px,7vw,120px)}
.v21-commitment .section-title{color:#fff;font-size:clamp(33px,3.45vw,54px)}.v21-commitment .section-title em{color:#e7ca91!important}
.v21-commitment-grid>div:nth-child(2) p{font-size:15px;line-height:1.85;color:#d5e5d7}
.v21-commitment .btn{margin-top:16px}
/* Home narrative: concise counterpart to the long Quem somos narrative */
.saluvia-home .v21-home-approach{background:#f7f8f3;position:relative}
.v21-home-approach-grid{display:grid;grid-template-columns:1.08fr .76fr;gap:clamp(50px,8vw,155px);align-items:center}
.v21-home-approach-copy .section-title{max-width:740px;font-size:clamp(38px,4.2vw,65px)}
.v21-home-approach-copy>p{max-width:730px;font-size:15px;line-height:1.9;color:#587061;margin:20px 0}
.v21-home-approach-copy .btn{margin-top:14px}
.v21-home-approach-aside{position:relative;overflow:hidden;border:1px solid rgba(212,184,123,.35);border-radius:19px;background:linear-gradient(135deg,#10392a,#154c35);padding:clamp(30px,4vw,54px);box-shadow:0 25px 62px rgba(8,45,21,.19);color:#fff}
.v21-home-approach-aside:after{content:"SALUVIA";font-family:Georgia,serif;font-size:90px;letter-spacing:-.08em;position:absolute;right:-22px;bottom:-25px;color:rgba(255,255,255,.033);pointer-events:none}
.v21-overline{display:block;font-size:10px;letter-spacing:.16em;color:#d8bf88;font-weight:750}
.v21-home-approach-aside h3{font-family:Georgia,serif;font-size:clamp(30px,3vw,47px);font-weight:400;line-height:1.18;letter-spacing:-.04em;margin:28px 0 25px}
.v21-home-approach-aside h3 em{color:#d8c28f;font-style:italic}
.v21-home-approach-aside>p{font-size:14px;line-height:1.84;color:#dae8d9}
.v21-aside-divider{height:1px;background:rgba(234,214,162,.35);margin:30px 0 20px}
.v21-aside-note{font-size:11px;line-height:1.75;display:block;color:#b8d2c1}
.v21-home-method{background:#eaf0e6;padding:75px 0}
.v21-method-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.v21-method-head h2{font-size:clamp(30px,3.3vw,48px);font-weight:610;line-height:1.14;letter-spacing:-.045em;max-width:680px;margin-top:12px}
.v21-method-head h2 em{color:#366b4d}
.v21-method-head>a{font-size:12px;font-weight:750;color:#28583a;text-decoration:underline;text-underline-offset:5px;white-space:nowrap;padding-bottom:8px}
.v21-method-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#c8d8c8;border:1px solid #c8d8c8;border-radius:14px;overflow:hidden}
.v21-method-list li{padding:25px 28px 27px;background:#fff;transition:background .2s}
.v21-method-list li:hover{background:#fafbf7}
.v21-method-list li>span{display:block;color:#b09362;font-size:11px;font-weight:850;letter-spacing:.1em;margin-bottom:21px}
.v21-method-list strong{display:block;font-size:19px;letter-spacing:-.025em;color:#264e36;margin-bottom:8px}
.v21-method-list small{font-size:12px;color:#6c7d70;line-height:1.65;display:block}
/* Home: improve the section that links to about, without duplicating the essay. */
.saluvia-home .identity-copy>p{line-height:1.86}
.saluvia-home .film-tagline{max-width:760px}
@media(max-width:1050px){.v21-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.v21-steps li{min-height:270px}.v21-home-approach-grid{gap:40px}.v21-example-grid{gap:50px}.v21-method-list li{padding:23px 18px}}
@media(max-width:800px){.v21-story-grid,.v21-why-grid,.v21-example-grid,.v21-fronts-grid,.v21-commitment-grid,.v21-home-approach-grid{grid-template-columns:1fr;gap:34px}.v21-story-heading{position:static}.v21-story-text{padding-left:23px}.v21-why-visual{height:390px}.v21-process-top{display:block}.v21-process-top>p{margin-top:19px;max-width:680px}.v21-audience-cards{grid-template-columns:1fr}.v21-audience-cards article{min-height:unset;padding:30px}.v21-audience-cards article h3{margin-top:16px;max-width:none}.v21-fronts-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.v21-home-approach-aside{max-width:740px}.v21-method-head{align-items:start;flex-direction:column;gap:13px}.v21-method-list{grid-template-columns:repeat(2,minmax(0,1fr))}.v21-about .inner-hero-about h1{font-size:clamp(44px,6.3vw,62px)}}
@media(max-width:560px){.v21-about .inner-hero-about h1{font-size:clamp(36px,9.5vw,50px)}.v21-story-text{padding-left:19px}.v21-story-text p{font-size:14px;margin-bottom:18px}.v21-story-text .v21-lead{font-size:19px}.v21-why-visual{height:280px}.v21-steps{grid-template-columns:1fr;gap:11px}.v21-steps li{min-height:unset;padding:22px 24px}.v21-steps h3{margin:16px 0 7px;font-size:21px}.v21-steps p{font-size:13px}.v21-example-panel{padding:25px}.v21-example-stat strong{font-size:85px}.v21-fronts-cards{grid-template-columns:1fr}.v21-fronts-cards article{padding:25px}.v21-home-method{padding:53px 0}.v21-method-list li{padding:18px 14px}.v21-method-list strong{font-size:16px}.v21-method-list small{font-size:11px}.v21-home-approach-aside{padding:28px}.v21-home-approach-aside h3{font-size:34px}.v21-about .v21-process,.v21-about .v21-story{padding-top:65px;padding-bottom:65px}}
@media(prefers-reduced-motion:reduce){.v21-steps li,.v21-method-list li{transition:none}}
