/* Navigation, aerial opening, and resource directory for the institutional site. */
.header .nav-shell{gap:clamp(12px,1.8vw,30px);height:94px}
.header .brand img{width:clamp(159px,13vw,194px)}
.header .navigation{gap:clamp(9px,1.1vw,20px)}
.header .nav-cta{margin-left:0;white-space:nowrap;gap:9px;padding-left:14px}
.nav-group{position:relative}
.nav-group-label{display:flex;align-items:center;gap:2px}
.nav-group-label>a{font-size:14px;white-space:nowrap}
.submenu-toggle{display:inline-grid;place-items:center;flex:0 0 30px;height:42px;padding:0;border:0;background:transparent;color:var(--moss)}
.submenu-toggle::before{content:"";width:7px;height:7px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translate(-1px,-1px);transition:transform .25s var(--ease)}
.submenu-toggle[aria-expanded="true"]::before{transform:rotate(225deg) translate(-1px,-1px)}
.submenu{display:none;position:absolute;inset:calc(100% + 8px) auto auto 0;min-width:232px;margin:0;padding:10px 12px;background:var(--paper);border-top:2px solid var(--moss);box-shadow:0 12px 30px #1622181a;list-style:none}
.nav-group.is-open .submenu{display:grid;animation:submenu-in .23s var(--ease) both}
.submenu a{display:flex;align-items:center;min-height:42px;padding:6px 10px;font-size:14px;line-height:1.3}
.submenu a:hover,.submenu a:focus-visible{background:var(--paper-2);color:var(--leaf-text)}
@keyframes submenu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:1080px){.nav-group-label>a{font-size:12px}}
@media(max-width:900px){
  .header .nav-shell{height:83px}
  .header .brand img{width:145px}
  .header .navigation{gap:0;max-height:calc(100dvh - 83px);transition:none}
  .header.menu-open .navigation{transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .nav-group{border-bottom:1px solid var(--line)}
  .nav-group-label{justify-content:space-between}
  .nav-group-label>a{flex:1;padding:13px 0;font:600 24px/1.4 var(--cond);text-transform:uppercase}
  .submenu-toggle{flex-basis:44px;height:44px}
  .submenu{position:static;min-width:0;background:var(--paper-2);box-shadow:none;border:0;padding:6px 12px;margin-bottom:10px}
}
@media(max-width:380px){.header .nav-cta{display:none}}
.hero.hero-aerial{min-height:clamp(520px,74svh,680px)}
.hero.hero-aerial .hero-image{object-position:58% center;animation:none}
.hero-video{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;opacity:0;transition:opacity .55s var(--ease)}
.hero-video.is-playing{opacity:1}
.hero-aerial .hero-shade{z-index:-1;background:linear-gradient(90deg,#0b160ee8 0%,#0b160eb0 34%,#0b160e35 73%,#0b160e14),linear-gradient(0deg,#0b160ec9 0%,transparent 34%)}
.hero-aerial .hero-content{padding-block:clamp(86px,12vh,132px) 112px}
.hero.hero-aerial h1{font-family:var(--sans);font-size:clamp(42px,4.7vw,73px);font-weight:600;line-height:1.08;letter-spacing:-.035em;text-transform:none}
.hero-aerial .hero-caption{top:53%;padding:10px 12px;background:#111d15bf}
.hero-aerial .hero-caption .crosshair{right:12px}
.hero-video-control{position:absolute;top:20px;right:var(--gutter);min-height:44px;padding:8px 14px;background:#111d15c9;border:1px solid #f5f5f052;color:var(--paper);font:600 12px var(--sans)}
.hero-video-control:hover{background:var(--paper);color:var(--ink)}
.hero-video-control:focus-visible{outline-color:var(--sage)}
@media(max-width:700px){
  .hero.hero-aerial{min-height:0}
  .hero-aerial .hero-shade{background:linear-gradient(90deg,#0b160ee5,#0b160e6b),linear-gradient(0deg,#0b160eb3,transparent 45%)}
  .hero-aerial .hero-content{padding-block:84px 106px}
  .hero.hero-aerial h1{font-size:clamp(32px,8.6vw,48px);line-height:1.1}
  .hero-aerial .hero-bottom{gap:10px}
  .hero-video-control{top:15px;padding-inline:10px}
}
.footer-directory{padding-block:clamp(48px,6vw,84px) 24px}
.footer-directory-grid{display:grid;grid-template-columns:1.4fr .85fr .75fr 1.1fr;gap:clamp(24px,4vw,64px);padding-bottom:44px}
.footer-directory-intro .footer-brand img{width:min(178px,100%);height:auto}
.footer-directory-intro p{margin-top:18px;max-width:280px;font-size:14px;color:#d4d8d0}
.footer-label{margin-bottom:18px;color:var(--sage);font:600 15px var(--cond);letter-spacing:.14em;text-transform:uppercase}
.footer-directory-grid ul{display:grid;gap:9px;margin:0;padding:0;list-style:none;color:#e1e4da;font-size:14px}
.footer-directory a:hover{color:var(--sage)}
.footer-directory a{overflow-wrap:anywhere}
.footer-directory-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;padding-top:22px;border-top:1px solid #f5f5f02e;font-size:12px;color:#c8cec4}
.footer-directory-links{display:flex;flex-wrap:wrap;gap:10px 20px}
.floating-whatsapp{position:fixed;z-index:40;right:calc(clamp(16px,2.5vw,34px) + env(safe-area-inset-right,0px));bottom:calc(clamp(16px,2.5vw,34px) + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid #ffffff60;background:#1d6b43;color:#fff;box-shadow:0 7px 22px #16221825;transition:background .22s var(--ease),transform .22s var(--ease)}
.floating-whatsapp svg{width:28px;height:28px}
.footer-directory .floating-whatsapp:hover{color:#fff;background:#165235;transform:translateY(-2px)}
.floating-whatsapp:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){.floating-whatsapp{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.floating-whatsapp{transition:none}.footer-directory .floating-whatsapp:hover{transform:none}}
@media(max-width:850px){.footer-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.footer-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.footer-directory-intro,.footer-directory-grid>div:last-child{grid-column:1/-1}}
.downloads-opening{background:var(--moss);color:var(--paper);padding-block:clamp(40px,7vw,96px)}
.downloads-opening .breadcrumbs{margin-bottom:28px}
.download-list{display:grid;gap:18px}
.download-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:24px;padding:24px 26px;background:var(--paper-2);border-left:3px solid var(--moss)}
.download-icon{display:grid;place-items:center;width:58px;height:68px;border:1px solid var(--moss);color:var(--moss);font:600 18px var(--cond);letter-spacing:.08em}
.download-item h2{font:600 clamp(30px,4vw,45px)/1.05 var(--cond)}
.download-item p{margin:8px 0;color:var(--muted);font-size:15px}
.download-item .micro{color:var(--leaf-text)}
@media(max-width:650px){.download-item{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:20px}.download-icon{width:40px;height:51px;font-size:15px}.download-item .button{grid-column:1/-1;justify-self:start;min-height:48px}}
@media(prefers-reduced-motion:reduce){.hero-video,.submenu-toggle::before{transition:none}.nav-group.is-open .submenu{animation:none}}

/* The application selector follows the Massi LP composition. */
.applications{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);padding-block:clamp(58px,7.5vw,108px)}
.application-backdrop,.application-frame,.application-backdrop::after{position:absolute;inset:0}
.application-backdrop::after{content:"";background:linear-gradient(94deg,#161a12db 32%,#161a128c)}
.application-frame{opacity:0;transition:opacity .9s var(--ease)}
.application-frame.is-active{opacity:.22}
.application-frame img{width:100%;height:100%;object-fit:cover}
.applications-inner.wrap{position:relative;width:min(1260px,100% - 9vw)}
.applications-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(22px,4vw,64px);margin-bottom:clamp(32px,4.5vw,58px)}
.applications-heading .eyebrow{color:var(--sage);font-weight:600;letter-spacing:.24em;gap:12px}
.applications-heading .eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.applications-heading h2{font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:1.02;letter-spacing:-.005em;margin-top:16px}
.applications-heading h2 span{color:var(--sage)}
.applications-lead{font-size:clamp(1.02rem,1.2vw,1.14rem);line-height:1.66;color:#f5f5f0b8;max-width:56ch;margin:0}
.application-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,60px)}
.application-item{width:100%;display:flex;align-items:baseline;gap:16px;padding:clamp(15px,1.8vw,21px) 0;text-align:left;background:none;border:0;border-bottom:1px solid #f5f5f029;color:#f5f5f0d1}
.application-item span{min-width:22px;font:500 13px var(--cond);letter-spacing:.14em;color:#f5f5f080}
.application-item strong{font:600 clamp(1.2rem,1.9vw,1.6rem)/1.6 var(--cond);text-transform:uppercase}
.application-item :is(span,strong){transition:color .35s var(--ease),transform .45s var(--ease)}
.application-item:hover :is(span,strong){transform:translateX(10px)}
.application-item:hover strong,.application-item:focus-visible strong{color:#fff}
.application-item:hover span,.application-item:focus-visible span{color:var(--sage)}
.application-item:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
@media(max-width:880px){.applications-heading{grid-template-columns:1fr;align-items:start;gap:18px}}
@media(max-width:760px){.applications-inner.wrap{width:calc(100% - 40px)}.application-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.application-frame,.application-item :is(span,strong){transition:none}.application-item:hover :is(span,strong){transform:none}}

/* Field photographs from the Massi LP, with the Rodoanel case below. */
.work.work-records{background:var(--paper)}
.work-records>.wrap{width:min(1260px,100% - 9vw)}
.field-record-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(22px,4vw,64px);margin-bottom:clamp(32px,4.5vw,58px)}
.field-record-heading .eyebrow{color:var(--leaf-text);font-weight:600;letter-spacing:.24em;gap:12px}
.field-record-heading .eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.field-record-heading h2{font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:1.02;letter-spacing:-.005em;margin-top:16px}
.field-record-heading h2 span{color:var(--leaf-text)}
.field-record-heading>p{font-size:clamp(1.02rem,1.2vw,1.14rem);line-height:1.66;color:var(--muted);max-width:56ch}
.field-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.field-record{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:5/6;display:flex;align-items:flex-end;background:var(--moss);color:#fff}
.field-record img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.field-record::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0f130c0d 40%,#0f130ce6)}
.field-record-copy{padding:clamp(20px,2.2vw,28px)}
.field-record-tag{display:inline-block;padding:3px 9px;margin-bottom:12px;background:var(--sage);color:var(--ink);font:600 12px/1.6 var(--cond);letter-spacing:.16em;text-transform:uppercase}
.field-record-copy h3{font-size:1.32rem;line-height:1.02;margin-bottom:8px}
.field-record-copy p{font-size:14.4px;line-height:1.52;color:#ffffffde}
.work-records .field-case{margin-top:clamp(36px,5vw,70px);padding-top:clamp(36px,5vw,70px);border-top:1px solid var(--line)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.field-record:hover img{transform:scale(1.06)}}
@media(max-width:900px){.field-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.field-record-heading{grid-template-columns:1fr;align-items:start;gap:18px}}
@media(max-width:760px){.work-records>.wrap{width:calc(100% - 40px)}}
@media(max-width:600px){.field-record-grid{grid-template-columns:1fr}.field-record{aspect-ratio:5/4}}
/* Contact form sent by e-mail (Resend). */
.form-status:empty{display:none}
.form-status{font-size:13px;color:var(--ink,inherit);font-weight:500}
.form-status.is-ok{color:var(--leaf-text,#3d6b2f)}
.form-status.is-error{color:#a1361f}
