/* Science Architects - static build */
:root{
  --bg:#f6f7f5; --fg:#0e1a16; --muted:#5a665f; --card:#ffffff; --border:#e3e6e1;
  --emerald:#14266b; --emerald-soft:#dde2f1; --gold:#b88a2c; --gold-soft:#f4e8c8;
  --shadow:0 10px 30px -12px rgba(15,25,60,.18);
  --font-display:"Instrument Serif",Georgia,serif;
  --font-sans:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--fg);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
em{font-style:italic}
:focus-visible{outline:3px solid rgba(20,38,107,.42);outline-offset:4px;border-radius:6px}
.skip-link{position:fixed;left:16px;top:12px;z-index:100;transform:translateY(-140%);background:var(--emerald);color:#fff;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;box-shadow:var(--shadow);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}

/* Layout */
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.section{padding:120px 0;position:relative;overflow:hidden}
.section-sm{padding:80px 0}

/* Typography */
h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;letter-spacing:0;line-height:1.05}
h1{font-size:clamp(2.6rem,6.5vw,5.6rem)}
h2{font-size:clamp(2rem,5vw,4rem)}
h3{font-size:clamp(1.4rem,2.4vw,2rem)}
.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.eyebrow .dot{color:var(--emerald)}
.eyebrow .dot[aria-hidden="true"]{width:6px;height:6px;border-radius:50%;background:var(--emerald);font-size:0;line-height:0;display:inline-block;flex:0 0 auto}
.eyebrow .line{width:32px;height:1px;background:var(--border)}
.text-emerald{color:var(--emerald)}.text-gold{color:var(--gold)}
.muted{color:var(--muted)}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);background:rgba(246,247,245,.92);border-bottom:1px solid var(--border)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.header .brand{padding:5px 9px;border:1px solid rgba(20,38,107,.14);border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 10px 28px -20px rgba(14,26,22,.55)}
.brand img{width:60px;height:60px;object-fit:contain;transition:transform .3s}
.header .brand img{width:66px!important;height:66px!important}
.brand:hover img{transform:scale(1.05)}
.brand .name{font-family:var(--font-display);font-size:20px;line-height:1}
.brand .sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.3em;color:var(--muted)}
nav.primary{display:flex;gap:28px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
nav.primary a{font-size:13px;color:var(--muted);position:relative;transition:color .25s}
nav.primary a:hover,nav.primary a.active{color:var(--fg)}
nav.primary a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--emerald)}
.menu-btn{display:none;position:relative;width:44px;height:44px;background:rgba(255,255,255,.72);border:1px solid var(--border);padding:0;border-radius:8px;cursor:pointer;font-size:0;color:var(--fg)}
.menu-btn::before,.menu-btn::after{content:"";position:absolute;left:12px;right:12px;height:2px;border-radius:999px;background:currentColor;transition:transform .2s,top .2s,bottom .2s,box-shadow .2s}
.menu-btn::before{top:14px;box-shadow:0 7px 0 currentColor}
.menu-btn::after{bottom:14px}
.mobile-open .menu-btn::before{top:21px;transform:rotate(45deg);box-shadow:none}
.mobile-open .menu-btn::after{bottom:21px;transform:rotate(-45deg)}
body.mobile-open{overflow:hidden}
@media (max-width:980px){nav.primary{display:none}.menu-btn{display:flex}.mobile-open nav.primary{display:flex;position:fixed;inset:88px 0 auto 0;z-index:49;flex-direction:column;align-items:flex-start;background:rgba(246,247,245,.98);padding:24px;max-height:calc(100svh - 88px);overflow:auto;border-bottom:1px solid var(--border);box-shadow:0 18px 40px -28px rgba(14,26,22,.45)}.mobile-open nav.primary a{font-size:16px;color:var(--fg);padding:4px 0}}
@media (max-width:600px){.header .wrap{height:76px}.header .brand{padding:4px 7px}.header .brand img{width:54px!important;height:54px!important}.mobile-open nav.primary{inset:76px 0 auto 0;max-height:calc(100svh - 76px)}}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:999px;font-size:14px;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s}
.btn-primary{background:var(--emerald);color:#fff;box-shadow:var(--shadow)}
.btn-primary::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);flex:0 0 auto}
.btn-primary:hover{transform:translateY(-2px);background:#0a1a52}
.btn-ghost{border:1px solid var(--border);background:transparent}
.btn-ghost:hover{background:var(--card);border-color:var(--emerald)}

/* Chips */
.chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;border:1px solid var(--border);background:var(--card)}
.chip-emerald{color:var(--emerald);border-color:var(--emerald);background:var(--emerald-soft)}
.chip-gold{color:var(--gold);border-color:var(--gold);background:var(--gold-soft)}

/* Blueprint grid + overlays */
.blueprint{position:absolute;inset:0;background-image:linear-gradient(rgba(20,38,107,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(20,38,107,.06) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;opacity:.6}
.arc{position:absolute;left:0;right:0;height:300px;pointer-events:none}
.arc svg{width:100%;height:100%}
.spin-slow{animation:spin 60s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.drift{animation:drift 14s ease-in-out infinite}@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-start;background:linear-gradient(180deg,#eef1ec 0%,var(--bg) 100%);overflow:hidden;padding-top:132px;padding-bottom:72px}
.hero .bg{position:absolute;inset:0;z-index:0}
.hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.96}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,247,245,.9) 0%,rgba(246,247,245,.64) 44%,rgba(246,247,245,.18) 100%),linear-gradient(180deg,rgba(246,247,245,.56) 0%,rgba(246,247,245,.16) 48%,rgba(246,247,245,.78) 100%)}
.hero .content{position:relative;z-index:2;width:100%}
.hero h1 span{display:block}
.hero h1 .em{color:var(--emerald);font-style:italic}
.hero h1{max-width:920px;color:#07120f;text-shadow:0 2px 12px rgba(246,247,245,.92),0 1px 2px rgba(246,247,245,.9)}
.hero .lead{margin-top:28px;max-width:640px;font-size:18px;color:#17261f;text-shadow:0 1px 8px rgba(246,247,245,.9)}
.hero .cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px}
.hero .pillars-mini{margin-top:80px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}
@media (max-width:900px){.hero{min-height:auto;padding-top:112px;padding-bottom:56px}.hero .bg::after{background:linear-gradient(90deg,rgba(246,247,245,.94) 0%,rgba(246,247,245,.78) 58%,rgba(246,247,245,.44) 100%),linear-gradient(180deg,rgba(246,247,245,.55) 0%,rgba(246,247,245,.18) 48%,rgba(246,247,245,.82) 100%)}.hero .pillars-mini{grid-template-columns:1fr;margin-top:52px}.hero .lead{font-size:16px}.hero .cta .btn{justify-content:center}}
@media (max-width:600px){.wrap{padding:0 18px}.section{padding:76px 0}.section-sm{padding:56px 0}.hero{padding-top:100px}.hero h1{font-size:clamp(2.35rem,13vw,4rem);line-height:1.02}.hero .content>.reveal:first-child{display:flex;flex-wrap:wrap;gap:8px}.hero .content>.reveal:first-child .chip{margin-left:0!important}.hero .cta .btn{width:100%}.chip{font-size:9px;letter-spacing:.18em}}
.pillar-mini{padding:24px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);box-shadow:var(--shadow)}
.pillar-mini.emerald{border-color:rgba(20,38,107,.35)}
.pillar-mini.gold{border-color:rgba(184,138,44,.35)}
.pillar-mini .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.pillar-mini.emerald .label{color:var(--emerald)}
.pillar-mini.gold .label{color:var(--gold)}
.pillar-mini h4{margin-top:10px;font-family:var(--font-display);font-size:24px}
.pillar-mini p{margin-top:6px;font-size:13px;color:var(--muted)}
.bridge{text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.bridge .strong{color:var(--fg)}
.bridge .rule{margin:10px auto;width:80px;height:1px;background:var(--border)}

/* Phases */
.phases{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-radius:24px;overflow:hidden}
@media (max-width:900px){.phases{grid-template-columns:1fr}}
.phase{position:relative;background:var(--card);aspect-ratio:4/5;overflow:hidden}
.phase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s}
.phase:hover img{transform:scale(1.05)}
.phase::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--card) 0%,rgba(255,255,255,.35) 50%,transparent 100%)}
.phase .meta{position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:2}
.phase .meta .tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.phase .meta .tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--emerald)}
.phase.gold .meta .tag::before{background:var(--gold)}
.phase.mixed .meta .tag::before{background:linear-gradient(90deg,var(--emerald),var(--gold))}
.phase .meta h3{margin-top:8px}
.phase .meta p{margin-top:8px;font-size:13px;color:var(--muted);max-width:280px}

/* Pillars panels */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}
.pillar{border:1px solid var(--border);border-radius:24px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.pillar .img{position:relative;aspect-ratio:16/10;overflow:hidden}
.pillar .img img{width:100%;height:100%;object-fit:cover}
.pillar .img::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,38,107,.2),rgba(0,0,0,0))}
.pillar.gold .img::after{background:linear-gradient(135deg,rgba(184,138,44,.2),rgba(0,0,0,0))}
.pillar .img .chip{position:absolute;top:18px;left:18px}
.pillar .body{padding:36px}
.pillar .body p.tagline{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--emerald)}
.pillar.gold .body p.tagline{color:var(--gold)}
.pillar .body h3{margin-top:8px;font-size:clamp(1.6rem,2.5vw,2.4rem)}
.pillar .body .desc{margin-top:16px;color:var(--muted)}
.pillar .services{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;font-size:14px}
.pillar .services li{list-style:none;display:flex;align-items:flex-start;gap:8px}
.pillar .services li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--emerald);margin-top:8px;flex-shrink:0}
.pillar.gold .services li::before{background:var(--gold)}
.pillar .leadership{margin-top:24px;padding:20px;border:1px solid rgba(184,138,44,.3);background:rgba(244,232,200,.4);border-radius:12px}
.pillar .leadership .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.pillar .leadership h4{margin-top:6px;font-family:var(--font-display);font-size:20px}
.pillar .leadership .tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.pillar .leadership .tags span{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--card)}

/* Who we are */
.who{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
@media (max-width:900px){.who{grid-template-columns:1fr}}
.who p{font-size:18px;color:var(--muted);margin-top:16px;line-height:1.7}
.who .pillars-grid{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--border);padding-top:24px}
.who .pillars-grid h4{font-family:var(--font-display);font-size:22px}
.who .pillars-grid .sub{font-family:var(--font-mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* Work */
.work-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.work-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.work-grid{grid-template-columns:1fr}}
.work-item{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:var(--card)}
.work-item .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.4s}
.work-item:hover .img{transform:scale(1.08)}
.work-item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(246,247,245,.4) 40%,transparent 100%)}
.work-item .content{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;justify-content:space-between;z-index:2}
.work-item h3{font-size:22px}
.work-item .meta{margin-top:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}

/* Ecosystem */
.eco{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}
@media (max-width:900px){.eco{grid-template-columns:1fr}}
.eco-map{position:relative;aspect-ratio:1;max-width:600px;margin:0 auto;border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at center,#fff 0%,var(--bg) 100%);overflow:hidden}
.eco-node{position:absolute;transform:translate(-50%,-50%);padding:10px 14px;background:var(--card);border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;box-shadow:var(--shadow);transition:transform .3s}
.eco-node:hover{transform:translate(-50%,-50%) scale(1.08);border-color:var(--emerald)}
.eco-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.eco-center .ring{width:120px;height:120px;border-radius:50%;border:1px dashed var(--gold);display:grid;place-items:center;font-family:var(--font-display);font-size:18px}

/* Team */
.team-grid{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:900px){.team-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.team-grid{grid-template-columns:1fr}}
.member{position:relative;aspect-ratio:3/4;border-radius:18px;border:1px solid var(--border);background:linear-gradient(135deg,#fff,var(--bg));display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:24px;overflow:hidden}
.member .num{position:absolute;top:18px;left:18px;font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;color:var(--muted)}
.member .avatar{width:110px;height:110px;border-radius:50%;background:linear-gradient(135deg,var(--emerald-soft),var(--gold-soft));border:1px solid var(--border);display:grid;place-items:center;font-family:var(--font-display);font-size:34px;color:var(--emerald)}
.member .portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:0}
.member .portrait + .member-info{position:relative;z-index:2;width:100%;margin:-24px;padding:120px 24px 24px;text-align:center;background:linear-gradient(to top,rgba(246,247,245,.98) 0%,rgba(246,247,245,.82) 48%,rgba(246,247,245,0) 100%)}
.member .name{margin-top:20px;font-family:var(--font-display);font-size:20px}
.member .member-info .name{margin-top:0}
.member .role{margin-top:4px;font-family:var(--font-mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}

/* Press */
.press-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-radius:18px;overflow:hidden}
@media (max-width:900px){.press-grid{grid-template-columns:1fr}}
.press-item{background:var(--card);padding:32px;transition:background .2s}
.press-item:hover{background:#f0f3ed}
.press-item .head{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}
.press-item h3{margin-top:24px;font-size:24px;line-height:1.2}
.press-item .read{margin-top:32px;font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.press-item .read::after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);flex:0 0 auto}

/* Travel */
.travel{position:relative;overflow:hidden}
.travel .bg{position:absolute;inset:0;z-index:0}
.travel .bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.travel .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(246,247,245,.5) 60%,rgba(246,247,245,.3) 100%)}
.travel .content{position:relative;z-index:2}
.travel-tags{margin-top:36px;display:flex;flex-wrap:wrap;gap:10px}

/* CTA */
.cta-block{text-align:center;background:linear-gradient(135deg,#0e1a16 0%,#13261f 100%);color:#fff;padding:120px 24px;position:relative;overflow:hidden}
.cta-block h2{color:#fff;font-size:clamp(2.4rem,7vw,5.8rem)}
.cta-block em{color:var(--gold)}
.cta-block .buttons{margin-top:40px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-block .btn-ghost{color:#fff;border-color:rgba(255,255,255,.2)}
.cta-block .btn-ghost:hover{background:rgba(255,255,255,.06)}
.cta-block::before{content:"";position:absolute;inset:-50% -50% auto auto;width:800px;height:800px;border-radius:50%;border:1px dashed rgba(184,138,44,.2);animation:spin 80s linear infinite}

/* Footer */
.footer{background:#0e1a16;color:#cbd2cd;padding:80px 0 32px}
.footer h4{font-family:var(--font-display);color:#fff;font-size:20px;margin-bottom:16px}
.footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
@media (max-width:900px){.footer .grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.footer{padding:56px 0 28px}.footer .grid{grid-template-columns:1fr;gap:28px}.footer .copy{margin-top:36px}}
.footer a{display:block;padding:6px 0;font-size:14px;transition:color .2s}
.footer a:hover{color:var(--gold)}
.footer .brand{margin-bottom:20px}
.footer .brand .name{color:#fff}
.footer .copy{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#7a8a82}

/* Page header (secondary pages) */
.page-header{padding:160px 0 80px;position:relative;text-align:center}
.page-header .eyebrow{justify-content:center}
.page-header h1{margin-top:20px}
.page-header .sub{margin-top:20px;max-width:640px;margin-left:auto;margin-right:auto;color:var(--muted);font-size:18px}
main>.section:first-child{padding-top:168px}
@media (max-width:900px){main>.section:first-child{padding-top:136px}}
@media (max-width:600px){main>.section:first-child{padding-top:116px}}

/* Contact form */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;margin-top:56px}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.info-card{padding:32px;border:1px solid var(--border);border-radius:18px;background:var(--card)}
.info-card h3{font-size:22px}
.info-card .row{margin-top:18px}
.info-card .row .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}
.info-card .row .val{margin-top:4px;font-size:15px}
form.contact{display:grid;gap:16px}
form.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){form.contact .row{grid-template-columns:1fr}}
form.contact label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
form.contact input,form.contact textarea{width:100%;padding:14px 16px;border:1px solid var(--border);background:var(--card);border-radius:10px;font-family:inherit;font-size:14px;color:var(--fg);transition:border-color .2s}
form.contact input:focus,form.contact textarea:focus{outline:none;border-color:var(--emerald)}
form.contact textarea{min-height:140px;resize:vertical}
.form-note{font-size:13px;color:var(--muted);margin-top:-4px}
.form-status{min-height:22px;font-size:14px;font-weight:500}
.form-status.ok{color:#165c34}
.form-status.error{color:#9f1d1d}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
form.contact .btn:disabled{opacity:.68;cursor:progress;transform:none}

/* Animations - reveal on scroll */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.12s}
.reveal[data-delay="2"]{transition-delay:.24s}
.reveal[data-delay="3"]{transition-delay:.36s}
.fade-up{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Page transitions */
main{animation:fadeUp .6s ease both}
