.contact{padding:140px clamp(24px,4vw,72px);background:var(--color-calcada);position:relative}.contact:before{content:"";position:absolute;left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px);top:0;height:2px;background:linear-gradient(90deg,var(--color-oceano) 0%,var(--color-oceano) 50%,var(--color-terra) 50%,var(--color-terra) 100%)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}.contact-tag{font-family:var(--font-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-terra);font-weight:600;margin-bottom:20px}.contact h2{font-family:var(--font-display);font-weight:200;font-size:clamp(48px,7vw,112px);line-height:.95;letter-spacing:-.03em;font-variation-settings:"opsz" 144;margin:0}.contact h2 em{font-style:italic;color:var(--color-terra)}.contact h2 .oc{color:var(--color-oceano);font-style:italic}.contact p{font-family:var(--font-display);font-size:19px;line-height:1.5;color:var(--color-ink);max-width:42ch;margin:0 0 32px;font-weight:300;font-variation-settings:"opsz" 24}.contact .actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.contact .detail{display:flex;align-items:center;gap:16px;font-family:var(--font-display);font-size:15px;color:var(--color-ink);padding:12px 0;border-bottom:1px dotted var(--color-rule);width:100%}.contact .detail:last-child{border-bottom:none}.contact .detail .lbl{font-family:var(--font-body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-terra);min-width:90px;font-weight:600}@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}}.spread{padding:140px clamp(24px,4vw,72px);display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}.spread-vis{position:sticky;top:40px}.spread-card{aspect-ratio:3/4;background:var(--color-oceano);position:relative;overflow:hidden;box-shadow:0 20px 60px -30px #14364280}.spread-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,54,66,.8) 100%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 400'><defs><pattern id='p' x='0' y='0' width='60' height='60' patternUnits='userSpaceOnUse'><circle cx='30' cy='30' r='1' fill='%23b56741' opacity='.4'/><path d='M0 30 H60 M30 0 V60' stroke='%23b56741' stroke-width='.3' opacity='.2'/></pattern></defs><rect width='300' height='400' fill='%23143642'/><rect width='300' height='400' fill='url(%23p)'/><g opacity='.2' fill='%23b56741'><path d='M80 120 Q150 80 220 120 T220 280 Q150 320 80 280 Z'/></g></svg>");background-size:cover}.spread-card .caption{position:absolute;bottom:24px;left:24px;right:24px;color:var(--color-bone);font-family:var(--font-display);font-style:italic;font-weight:300;font-size:14px;line-height:1.4;z-index:1}.spread-card .caption small{display:block;font-family:var(--font-body);font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-terra);font-weight:600;margin-bottom:6px}.spread-card .plate{position:absolute;top:24px;left:24px;padding:6px 12px;background:var(--color-terra);color:var(--color-bone);font-family:var(--font-body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}.spread-text .praticas-tag{font-family:var(--font-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-terra);font-weight:600;margin-bottom:20px}.spread-text h2{font-family:var(--font-display);font-weight:300;font-size:clamp(44px,6vw,88px);line-height:.98;letter-spacing:-.025em;color:var(--color-ink);font-variation-settings:"opsz" 72;margin:0 0 48px}.spread-text h2 em{font-style:italic;color:var(--color-terra)}.spread-text h2 .oc{color:var(--color-oceano);font-style:italic}.spread-prose{font-family:var(--font-display);font-weight:300;font-size:19px;line-height:1.55;font-variation-settings:"opsz" 24;color:var(--color-ink)}.spread-prose p{margin:0}.spread-prose p+p{margin-top:22px}.spread-prose p.lead{font-size:22px;line-height:1.45;color:var(--color-oceano);font-weight:400;font-variation-settings:"opsz" 30}.spread-prose strong{font-weight:500;color:var(--color-terra)}.pull-quote{margin:56px 0;padding:40px 0;border-top:2px solid var(--color-terra);border-bottom:2px solid var(--color-terra);font-family:var(--font-display);font-style:italic;font-weight:300;font-size:28px;line-height:1.25;color:var(--color-oceano);font-variation-settings:"opsz" 48;position:relative}.pull-quote:before{content:"“";position:absolute;left:-40px;top:20px;font-size:80px;color:var(--color-terra);font-weight:400;line-height:.5;opacity:.5}.method{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--color-rule);border:1px solid var(--color-rule)}.method-item{background:var(--color-calcada);padding:24px 20px}.method-item .n{font-family:var(--font-display);font-style:italic;font-size:36px;font-weight:200;color:var(--color-terra);line-height:1;margin-bottom:12px;font-variation-settings:"opsz" 72}.method-item h4{font-family:var(--font-display);font-size:16px;font-weight:500;margin:0 0 6px;font-variation-settings:"opsz" 20}.method-item p{font-size:13px;color:var(--color-ink);line-height:1.5;opacity:.75;margin:0}@media(max-width:900px){.spread{grid-template-columns:1fr;gap:40px}.method{grid-template-columns:1fr}}.hero{padding:100px clamp(24px,4vw,72px) 120px;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;position:relative}.hero .kicker{font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--color-terra);margin-bottom:36px;display:flex;align-items:center;gap:14px}.hero .kicker:before{content:"";width:28px;height:2px;background:var(--color-terra)}.hero h1{font-family:var(--font-display);font-weight:300;font-size:clamp(56px,8.4vw,136px);line-height:.9;letter-spacing:-.025em;color:var(--color-ink);font-variation-settings:"opsz" 72;margin:0}.hero h1 em{font-style:italic;color:var(--color-oceano);font-weight:300}.hero h1 .terra{color:var(--color-terra);font-style:italic;font-weight:400}.hero h1 .amp{font-family:var(--font-display);font-style:italic;font-weight:200;font-size:1.2em;color:var(--color-terra);vertical-align:-.02em;margin:0 -.03em}.hero h1 .u{display:inline-block;position:relative}.hero h1 .u:after{content:"";position:absolute;left:-2%;right:-2%;bottom:.08em;height:.1em;background:var(--color-terra);opacity:.6;z-index:-1;border-radius:4px}.hero-aside{position:relative;display:flex;flex-direction:column;gap:32px;padding-top:60px}.hero-lede{font-family:var(--font-display);font-weight:300;font-size:21px;line-height:1.5;color:var(--color-ink);max-width:44ch;font-variation-settings:"opsz" 32;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-tile{margin-top:20px;padding:28px;background:var(--color-bone);border:1px solid var(--color-rule);position:relative}.hero-tile:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:linear-gradient(90deg,var(--color-terra) 0%,var(--color-terra) 30%,var(--color-oceano) 30%,var(--color-oceano) 100%)}.hero-tile .tile-label{font-family:var(--font-body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-oceano);margin-bottom:14px;font-weight:600}.hero-tile ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-family:var(--font-display);font-size:16px}.hero-tile ul li{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px dotted var(--color-rule)}.hero-tile ul li:last-child{border-bottom:none}.hero-tile ul li span{color:var(--color-terra);font-style:italic;font-weight:400}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px}.hero-aside{padding-top:0}}.word-module{padding:0 clamp(24px,4vw,72px) 80px;position:relative}.word-module .big{font-family:var(--font-display);font-weight:200;font-size:clamp(120px,18vw,280px);line-height:.85;letter-spacing:-.05em;color:var(--color-oceano);font-variation-settings:"opsz" 72;font-style:italic}.word-module .big .outline{-webkit-text-stroke:1px var(--color-oceano);color:transparent;font-style:normal;font-weight:300}.word-module .sub{display:flex;justify-content:space-between;align-items:flex-end;margin-top:-20px;border-top:1px solid var(--color-rule);padding-top:24px;gap:40px}.word-module .sub p{max-width:52ch;font-size:15px;color:var(--color-ink);line-height:1.55;font-weight:300;margin:0}.word-module .sub p strong{font-weight:600;color:var(--color-oceano)}.word-module .sub .tag{font-family:var(--font-body);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-terra);font-weight:600;white-space:nowrap}@media(max-width:900px){.word-module .sub{flex-direction:column;align-items:flex-start}}.praticas{padding:120px clamp(24px,4vw,72px);background:var(--color-calcada-2);border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.praticas-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:72px;align-items:end}.praticas-tag,.firma-tag{font-family:var(--font-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-terra);font-weight:600;margin-bottom:20px}.praticas-head h2{font-family:var(--font-display);font-weight:300;font-size:clamp(44px,6vw,88px);line-height:.98;letter-spacing:-.025em;color:var(--color-ink);font-variation-settings:"opsz" 72;margin:0}.praticas-head h2 em{font-style:italic;color:var(--color-terra)}.praticas-head h2 .oc{color:var(--color-oceano);font-style:italic}.praticas-head .meta{font-size:14px;color:var(--color-ink);line-height:1.55;max-width:42ch;font-weight:300;margin:0;align-self:end}.azulejo{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--color-rule);border:1px solid var(--color-rule)}.tile{background:var(--color-bone);padding:28px 20px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:all .3s ease;color:var(--color-ink)}.tile:hover{background:var(--color-terra);color:var(--color-bone);z-index:2}.tile:hover .tile-num{color:var(--color-bone);opacity:.7}.tile:hover .tile-meta{color:var(--color-bone)}.tile-num{font-family:var(--font-display);font-style:italic;font-weight:200;font-size:40px;color:var(--color-terra);line-height:1;font-variation-settings:"opsz" 72}.tile-name{font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1.2;letter-spacing:-.01em;font-variation-settings:"opsz" 24}.tile-meta{font-family:var(--font-body);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--color-oceano);margin-top:8px;font-weight:600;transition:color .3s}.tile-pattern{background:var(--color-oceano);position:relative;overflow:hidden}.tile-pattern svg{position:absolute;inset:0;width:100%;height:100%}.tile-pattern:hover{background:var(--color-oceano-2)}.tile-featured{background:var(--color-oceano);color:var(--color-bone);grid-column:span 2;padding:28px 20px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}.tile-featured .tile-num{color:var(--color-terra)}.tile-featured .tile-meta{color:var(--color-calcada-3)}.tile-featured .tile-name{font-size:24px;font-weight:300;font-style:italic;font-variation-settings:"opsz" 36}.tile-featured:hover{background:var(--color-terra)}.tile-featured:hover .tile-num{color:var(--color-bone)}@media(max-width:900px){.praticas-head{grid-template-columns:1fr;gap:40px}.azulejo{grid-template-columns:repeat(2,1fr)}.tile-featured{grid-column:span 2}}.strip{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);overflow:hidden;white-space:nowrap;padding:16px 0;background:var(--color-calcada-2)}.strip-inner{display:inline-flex;gap:64px;animation:scroll 60s linear infinite;font-family:var(--font-display);font-style:italic;font-weight:300;font-size:22px;color:var(--color-oceano)}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.equipa{padding:120px clamp(24px,4vw,72px);background:var(--color-oceano);color:var(--color-bone);position:relative;overflow:hidden}.equipa:before{content:"Ferraz";position:absolute;bottom:-80px;left:50%;transform:translate(-50%);font-family:var(--font-display);font-style:italic;font-weight:200;font-size:36vw;color:var(--color-terra);opacity:.05;letter-spacing:-.05em;line-height:.8;font-variation-settings:"opsz" 144}.equipa-tag{font-family:var(--font-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-terra);font-weight:600;margin-bottom:20px}.equipa-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:72px;position:relative}.equipa-head h2{font-family:var(--font-display);font-weight:300;font-size:clamp(44px,6vw,88px);line-height:.98;letter-spacing:-.025em;font-variation-settings:"opsz" 72;margin:0;color:var(--color-bone)}.equipa-head h2 em{font-style:italic;color:var(--color-terra)}.equipa-head p{font-family:var(--font-display);font-size:17px;line-height:1.55;color:var(--color-calcada-3);max-width:42ch;font-weight:300;font-variation-settings:"opsz" 24;align-self:end;margin:0}.equipa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:2px;background:var(--color-terra);padding:2px;position:relative}.socio{background:var(--color-oceano-2);padding:32px 24px;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s}.socio:hover{background:var(--color-terra-2)}.socio-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px}.socio-initials{font-family:var(--font-display);font-style:italic;font-weight:200;font-size:72px;color:var(--color-terra);line-height:1;font-variation-settings:"opsz" 144}.socio:hover .socio-initials{color:var(--color-bone)}.socio-tag{font-family:var(--font-body);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-calcada-3);border:1px solid var(--color-calcada-3);padding:3px 7px;font-weight:600}.socio .role{font-family:var(--font-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--color-terra);margin-bottom:10px;font-weight:600}.socio:hover .role{color:var(--color-bone)}.socio .name{font-family:var(--font-display);font-weight:400;font-size:22px;line-height:1.2;margin-bottom:14px;font-variation-settings:"opsz" 30}.socio .line{font-family:var(--font-body);font-size:12px;color:var(--color-calcada-3);line-height:1.5}@media(max-width:900px){.equipa-head{grid-template-columns:1fr;gap:40px}}
