/* CarreiraOS · Refinamento visual unificado · 2026-11
   A tipografia é dimensionada para leitura; detalhes decorativos não escondem conteúdo. */
:root{
  --pine:#112e28;--forest:#193b31;--ink:#182e28;--muted:#536359;
  --gold:#846b3d;--gold-light:#e1d2af;--paper:#f5f2e9;--ivory:#fffdf8;
  --line:#d3d5c9;
}
html{scroll-padding-top:94px}
body{font-size:16px;line-height:1.7;overflow-x:clip}
body::before{opacity:.1}
[id]{scroll-margin-top:90px}
button,a,summary{touch-action:manipulation}
:is(a,button,summary,[tabindex]):focus-visible{
  outline:3px solid #9e782e;outline-offset:4px;border-radius:3px;
}
button{cursor:pointer}
.container{width:min(1180px,calc(100% - 64px))}
.site-nav{gap:22px}
.brand-name strong{font-size:22px;letter-spacing:0}
.brand-name span{font-size:11px;letter-spacing:.12em}
.nav-links{gap:19px}
.nav-links a,.nav-links button{font-size:12px;letter-spacing:.07em}
.nav-links .nav-cta{border:1px solid #8d784e;border-radius:4px}
.brand-seal{width:44px;height:44px}
.button{min-height:48px;border-radius:5px;font-size:12px;letter-spacing:.045em;gap:12px;padding:12px 19px}
.button:active,.link-card:active{transform:scale(.985)}
.button.light{box-shadow:0 12px 30px #071d182a}
.button.outline:hover{background:#e9eadf}
.eyebrow,.section-number,.mini-label{font-size:12px;letter-spacing:.14em}
.tiny{font-size:12px;letter-spacing:.1em}
.section{padding-block:88px}
.section-head{margin-bottom:40px}
.section-blurb{font-size:16px;max-width:370px;line-height:1.65}
.section-title{font-size:clamp(46px,6.3vw,85px);line-height:1}
.story-copy p{font-size:16px;line-height:1.85}
.story-lead{font-size:clamp(36px,4.2vw,58px)}
.stat strong{font-size:44px}
.stat small{font-size:14px;line-height:1.5}
.cap-card{padding:32px}
.cap-card h3{font-size:34px}
.cap-card p{font-size:15px;line-height:1.8}
.tag{font-size:11px;letter-spacing:0;padding:5px 10px;border-radius:3px}
.case-card{border-radius:8px;padding:30px;box-shadow:0 2px 8px #112e2806}
.case-top{font-size:12px;letter-spacing:.08em}
.case-card h3{font-size:clamp(32px,3.5vw,44px);margin-top:28px}
.case-card p{font-size:15px;line-height:1.78}
.case-card .tag-row{padding-top:14px}
.case-contribution{border-top:1px solid #d6d8cb;padding-top:15px;margin-top:0}
.case-contribution span{font-size:11px;color:var(--gold);font-weight:800;letter-spacing:.12em}
.case-contribution p{font-size:14px!important;line-height:1.65!important;margin:7px 0 4px!important;color:#4b6356}
.case-card[style*="background"] .case-contribution{border-color:#718577}
.case-card[style*="background"] .case-contribution p{color:#e2e9de}
.timeline-date{font-size:28px}
.timeline-role{font-size:29px}
.timeline-employer{font-size:15px;line-height:1.72}
.manifesto p,.end-cta p{font-size:16px;line-height:1.78}
.site-footer{font-size:13px}
.site-footer a,.site-footer button{padding-block:6px}
.hero-title{font-size:clamp(72px,10.9vw,151px);line-height:.82;letter-spacing:-.062em}
.hero-title em{margin-left:5vw}
.hero-under p{font-size:clamp(25px,2.9vw,37px)}
.portfolio-hero{min-height:min(760px,82vh)}
.hero-inner{padding-block:92px}
.portfolio-header .site-nav{min-height:78px}
.portfolio-band .band-inner span{font-size:12px;letter-spacing:.1em}
.reveal{opacity:1;transform:none}
.fade-in{animation:none}
.end-cta h2{font-size:clamp(47px,7vw,97px)}
/* Método profissional e produtos: distinção clara entre atuação e projetos pessoais. */
.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.method-card{border-top:3px solid #866f42;background:var(--ivory);padding:24px 22px 28px;min-width:0}
.method-card>span{display:block;color:#795d33;font-weight:800;font-size:12px;letter-spacing:.05em}
.method-card h3{font-family:var(--serif);font-size:32px;line-height:1.03;margin:20px 0 12px;font-weight:600;letter-spacing:-.02em}
.method-card p{font-size:14px;line-height:1.75;color:#4f6155;margin:0}
.product-feature{margin-top:45px;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,75px);align-items:start;border-top:1px solid var(--line);padding-top:38px}
.product-feature h3{font-family:var(--serif);font-size:clamp(34px,4.1vw,51px);line-height:1.08;letter-spacing:-.025em;margin:15px 0}
.product-feature p{font-size:15px;color:#50645a;line-height:1.8;max-width:460px}
.product-list{display:grid;gap:0;border-top:1px solid #bec8bb}
.product-list>div{display:grid;grid-template-columns:135px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #bec8bb;align-items:start}
.product-list strong{color:var(--pine);font-family:var(--serif);font-size:24px;line-height:1.2}
.product-list span{font-size:14px;line-height:1.65;color:#53665b}
/* Bio: links devem ter destaque e ser acessíveis em telas pequenas. */
.bio-content{padding:44px clamp(24px,4.3vw,59px) 34px}
.bio-intro{font-size:16px;line-height:1.75;max-width:500px;color:#475f53}
.bio-content h1{margin:16px 0 20px}
.bio-specialties{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 23px}
.bio-specialties span{font-size:12px;font-weight:700;color:#235a48;background:#edf1e9;border:1px solid #d3dfd3;border-radius:99px;padding:7px 11px}
.links-heading span{font-size:11px;letter-spacing:.08em}
.link-stack{gap:10px}
.link-card{min-height:72px;border-radius:7px;padding:11px 15px;gap:15px}
.link-icon{width:40px;height:40px;flex:none;border-radius:4px}
.link-card .copy strong{font-size:15px}
.link-card .copy small{font-size:13px;line-height:1.5}
.bio-footer{font-size:13px;gap:12px}
.bio-footer button{font-size:13px!important;padding:9px 0}
.art-top .mini-label{color:#f2ddad}
.art-bottom small{font-size:11px}
.below-bio p{font-size:26px}
.below-bio small{font-size:12px;letter-spacing:.1em}
@media(hover:hover){.link-card:hover{box-shadow:0 10px 25px #172e2510}}
@media(max-width:1080px){
  .nav-links{gap:12px}
  .nav-links a,.nav-links button{font-size:11px}
  .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-title{font-size:clamp(66px,10vw,112px)}
  .brand-name span{font-size:9px}
}
@media(max-width:850px){
  .container{width:min(100% - 40px,1180px)}
  .nav-links{display:none}
  .nav-mobile{display:block}
  .nav-mobile summary{min-height:48px;display:flex;align-items:center;padding:8px 12px;background:#e9eadf;border:1px solid #ccd3c9;border-radius:6px;font-size:14px}
  .nav-mobile .mobile-links{top:70px;box-shadow:0 20px 30px #071a1640;padding:20px}
  .mobile-links>a,.mobile-links>button{min-height:44px;display:flex;align-items:center;font-size:14px!important}
  .mobile-links button{cursor:pointer}
  .section-head{display:block}
  .section-blurb{max-width:680px;padding-top:12px}
  .timeline-row{grid-template-columns:120px 1fr;gap:12px}
  .timeline-employer{grid-column:2}
}
@media(max-width:700px){
  .container{width:calc(100% - 32px)}
  .site-nav{min-height:68px}
  .brand-name strong{font-size:20px}
  .brand-name span{font-size:9px;letter-spacing:.08em}
  .brand-seal{width:39px;height:39px;font-size:24px}
  .bio-layout{display:flex;flex-direction:column;box-shadow:0 12px 30px #112e2818}
  .bio-content{order:1;padding:30px 22px 26px}
  .bio-art{order:2;min-height:222px;padding:22px}
  .bio-art::before{inset:12px}
  .art-center{margin:0}
  .monogram-ring{width:104px}
  .monogram-ring strong{font-size:57px;transform:translateX(-4px)}
  .monogram-ring::before{inset:6px}.monogram-ring::after{inset:12px}
  .art-caption{font-size:16px;margin-top:8px}
  .art-bottom small{font-size:9px}
  .art-signature{font-size:18px}
  .bio-content h1{font-size:clamp(49px,12vw,67px);margin-block:14px}
  .bio-intro{font-size:16px;line-height:1.65}
  .link-card{min-height:74px}
  .link-card .copy strong{font-size:15px}
  .link-card .copy small{font-size:12px}
  .below-bio{align-items:start}
  .below-bio p{font-size:24px}
  .portfolio-hero{min-height:auto}
  .hero-inner{padding:76px 0 66px}
  .hero-series{margin-bottom:45px}
  .hero-title{font-size:clamp(52px,12vw,83px);line-height:.9;letter-spacing:-.06em;overflow-wrap:anywhere}
  .hero-title em{margin-left:0}
  .hero-under{margin-top:36px}
  .hero-under p{font-size:28px}
  .hero-under .tiny{font-size:12px;line-height:1.6;margin-top:24px;white-space:normal}
  .hero-inner>.fade-in+div{margin-top:28px!important}
  .hero-inner .button{width:100%;min-height:48px}
  .portfolio-band .band-inner{padding-block:15px}
  .portfolio-band .band-inner b{font-size:18px}
  .section{padding-block:60px}
  .section-title{font-size:clamp(44px,11vw,67px)}
  .section-blurb,.story-copy p{font-size:16px}
  .stat-row{grid-template-columns:1fr;gap:0}
  .stat{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
  .stat + .stat{border-left:0;padding:14px 0}
  .stat strong{font-size:35px;min-width:84px}
  .stat small{font-size:14px}
  .cap-grid,.case-grid,.method-grid{grid-template-columns:1fr}
  .cap-card,.case-card{padding:25px}
  .cap-card p,.case-card p{font-size:15px}
  .case-card h3{font-size:36px}
  .case-contribution p{font-size:14px!important}
  .method-card{padding:22px}
  .method-card h3{margin-top:14px}
  .product-feature{display:block;margin-top:30px}
  .product-feature>div+div{margin-top:28px}
  .product-list>div{grid-template-columns:1fr;gap:5px}
  .timeline-row{grid-template-columns:90px 1fr}
  .timeline-date{font-size:22px}
  .timeline-role{font-size:26px}
  .timeline-employer{font-size:14px}
  .manifesto blockquote{font-size:clamp(43px,9vw,58px)}
  .manifesto p,.end-cta p{font-size:15px}
  .end-cta h2{font-size:clamp(47px,11vw,72px)}
  .cta-buttons .button{width:100%}
  .site-footer .container{gap:10px}
  .site-footer{font-size:12px}
  .presentation-toolbar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));justify-content:space-between}
  .presentation-toolbar button{min-height:44px}
}
@media(max-width:360px){
  .brand-name span{max-width:170px;overflow:hidden;text-overflow:ellipsis}
  .brand-name strong{font-size:18px}
  .hero-title{font-size:clamp(45px,11.8vw,56px)}
  .hero-under p{font-size:25px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print{
  body::before,.presentation-toolbar,.progress-track,.nav-mobile,.nav-links{display:none!important}
  .product-feature,.method-card{break-inside:avoid}
  .section,.method-section{padding-block:25px}
  .reveal{opacity:1!important;transform:none!important}
}

/* Página legal enxuta, alinhada ao sistema visual das demais páginas. */
.policy-nav{display:flex;gap:18px;align-items:center}
.policy-nav a{font-size:14px;font-weight:700;color:var(--forest);text-decoration:underline;text-underline-offset:5px}
.policy-page{max-width:900px;padding-block:70px 95px}
.policy-page h1{font-family:var(--serif);font-size:clamp(55px,8vw,100px);line-height:.98;font-weight:500;letter-spacing:-.04em;margin:20px 0}
.policy-page h1 em{color:var(--gold);font-weight:400}
.policy-page .policy-lead{font-size:20px;line-height:1.62;color:#476052;padding-bottom:22px}
.policy-page section{padding:24px 0;border-top:1px solid var(--line)}
.policy-page h2{font-family:var(--serif);font-size:33px;line-height:1.16;margin:0 0 10px;color:var(--forest)}
.policy-page section p{font-size:16px;line-height:1.84;color:#506056}
.policy-page section a{color:#226352;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.policy-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
@media(max-width:700px){
  .policy-page{padding-block:48px 70px}
  .policy-page h1{font-size:57px}
  .policy-page .policy-lead{font-size:18px}
  .policy-page h2{font-size:29px}
  .policy-nav{gap:10px}
  .policy-nav a{font-size:12px}
  .policy-actions a{width:100%}
}

/* Narrow phones: do not force header and footer flex items wider than viewport. */
@media(max-width:390px){
 .site-nav{gap:8px}
 .brand{gap:7px;min-width:0}
 .brand-name{min-width:0}
 .brand-name strong{font-size:18px;white-space:nowrap}
 .brand-name span{font-size:9px;letter-spacing:0}
 .nav-mobile{flex:none}
 .nav-mobile summary{min-height:44px;padding:5px 8px;font-size:12px}
 .bio-footer{flex-wrap:wrap}
 .bio-footer>*{min-width:0}
 .link-card .copy{min-width:0}
 .link-card .copy small{overflow-wrap:anywhere}
 .site-footer .container>span{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:340px){.brand-name span{display:none}.bio-content h1{font-size:49px}}
