@import "tailwindcss";

:root {
  --ink:#10242b;
  --navy:#0b2028;
  --navy-2:#102d37;
  --paper:#f3efe8;
  --sand:#e5ddd1;
  --copper:#9f5138;
  --copper-light:#e0a080;
  --muted:#68716d;
  --gutter:clamp(1.25rem,4vw,4rem);
  --shell:76rem;
  --measure:45rem;
  --section-y:clamp(5.5rem,13vw,10rem);
  --scroll-progress:0;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  padding-bottom:calc(4.75rem + env(safe-area-inset-bottom));
  overflow-x:hidden;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-geist),Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
::selection { background:var(--copper); color:#fff; }
:focus-visible { outline:2px solid var(--copper-light); outline-offset:4px; }

.shell { width:min(calc(100% - (2 * var(--gutter))),var(--shell)); margin-inline:auto; }
.chapter { position:relative; padding-block:var(--section-y); }
.chapter-copy { max-width:var(--measure); }
.chapter-copy h2,.projects-intro h2,.instagram h2,.faq h2,.contact h2 {
  margin:0;
  font-size:clamp(2.75rem,10.5vw,6.8rem);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:620;
}
.lead { max-width:43rem; margin:1.75rem 0 0; font-size:clamp(1.05rem,2.4vw,1.3rem); line-height:1.58; color:var(--muted); }
.eyebrow { margin:0 0 1.1rem; color:var(--copper); font-size:.72rem; line-height:1.2; font-weight:760; text-transform:uppercase; letter-spacing:.16em; }
.eyebrow.light { color:var(--copper-light); }

.brand { display:grid; grid-template-columns:2rem auto; align-items:center; gap:.68rem; width:max-content; color:#fff; line-height:1; }
.brand-mark { width:2rem; height:2rem; object-fit:cover; border:1px solid rgba(255,255,255,.16); border-radius:.58rem; box-shadow:0 8px 24px rgba(0,0,0,.14); }
.brand-copy { display:grid; gap:.28rem; }
.brand-word { font-size:.9rem; font-weight:760; letter-spacing:-.035em; }
.brand small { color:var(--copper-light); font-size:.48rem; font-weight:720; text-transform:uppercase; letter-spacing:.16em; }

.arrow-graphic,.down-graphic,.swipe-arrow-graphic { display:block; flex:0 0 auto; object-fit:contain; }
.arrow-graphic { width:.9rem; height:.9rem; }
.down-graphic { width:.95rem; height:.95rem; }

.scroll-line { position:fixed; z-index:90; top:0; left:0; right:0; height:2px; background:rgba(255,255,255,.08); pointer-events:none; }
.scroll-line span { display:block; width:100%; height:100%; background:var(--copper-light); transform:scaleX(var(--scroll-progress)); transform-origin:left; }
.floor-indicator { display:none; }
.contact-dock {
  position:fixed;
  z-index:80;
  left:auto;
  right:.875rem;
  bottom:calc(.75rem + env(safe-area-inset-bottom));
  width:7.8rem;
  min-height:3rem;
  padding:.42rem .48rem .42rem .72rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:#fff;
  background:rgba(11,32,40,.92);
  border:1px solid rgba(255,255,255,.17);
  border-radius:999px;
  box-shadow:0 14px 35px rgba(1,12,16,.28);
  backdrop-filter:blur(18px);
}
.contact-dock b { margin-right:auto; font-size:.72rem; }
.contact-dock>i { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--copper); font-style:normal; }
.contact-pulse { display:none; width:.55rem; height:.55rem; border-radius:50%; background:var(--copper-light); box-shadow:0 0 0 0 rgba(224,160,128,.5); animation:pulse 2.4s infinite; }
@keyframes pulse { 70% { box-shadow:0 0 0 9px rgba(224,160,128,0); } 100% { box-shadow:0 0 0 0 rgba(224,160,128,0); } }

.section-cta { max-width:100%; display:inline-flex; align-items:center; gap:.8rem; min-height:2.9rem; margin-top:2.25rem; padding:.15rem 0; border-bottom:1px solid rgba(16,36,43,.38); font-size:.84rem; font-weight:720; }
.section-cta>span { min-width:0; overflow-wrap:anywhere; }
.section-cta i { flex:0 0 1.9rem; display:grid; place-items:center; width:1.9rem; height:1.9rem; border-radius:50%; color:#fff; background:var(--copper); font-style:normal; transition:transform .25s ease; }
.section-cta:hover i { transform:translate(2px,-2px); }
.section-cta-light { color:#fff; border-color:rgba(255,255,255,.36); }

.hero { --hero-image-height:clamp(22rem,56svh,30rem); min-height:100svh; padding:var(--hero-image-height) 0 0; display:block; overflow:hidden; color:#fff; background:#06161c; }
.hero-image { position:absolute; inset:0 0 auto; height:calc(var(--hero-image-height) + 2rem); object-fit:cover; object-position:55% center; transform:translate3d(0,var(--parallax,0),0) scale(1.04); will-change:transform; }
.hero-shade { position:absolute; inset:0 0 auto; height:calc(var(--hero-image-height) + .15rem); background:linear-gradient(180deg,rgba(4,20,27,.04) 0%,rgba(4,20,27,.08) 68%,#06161c 100%); }
.hero-brand { position:absolute; z-index:3; top:max(1rem,env(safe-area-inset-top)); left:var(--gutter); width:auto; transform:none; }
.hero-brand .brand { grid-template-columns:1.9rem; padding:.38rem; border:1px solid rgba(255,255,255,.18); border-radius:.72rem; background:rgba(6,22,28,.68); box-shadow:0 10px 28px rgba(0,0,0,.2); backdrop-filter:blur(12px); }
.hero-brand .brand-mark { width:1.9rem; height:1.9rem; }
.hero-brand .brand-copy { display:none; }
.hero-content { position:relative; z-index:2; padding-top:1.65rem; padding-bottom:7rem; }
.hero-region { display:flex; flex-wrap:nowrap; align-items:center; gap:.42rem; max-width:100%; margin-bottom:1.25rem; font-size:clamp(.5rem,2.2vw,.6rem); letter-spacing:.08em; white-space:nowrap; }
.hero-region span { display:inline-flex; align-items:center; min-width:0; }
.hero-region span+span:before { content:""; width:.18rem; height:.18rem; margin-right:.42rem; flex:0 0 auto; border-radius:50%; background:currentColor; opacity:.7; }
.hero h1 { max-width:58rem; margin:0; font-size:clamp(3rem,12.5vw,7.6rem); line-height:.88; letter-spacing:-.073em; font-weight:620; }
.hero h1 em { color:#f0b193; font-style:normal; }
.hero-lead { max-width:39rem; margin:1.6rem 0 0; color:rgba(255,255,255,.74); font-size:clamp(1rem,2.5vw,1.2rem); line-height:1.56; }
.hero-actions { display:flex; flex-direction:column; gap:.7rem; margin-top:1.8rem; }
.button { min-height:3.15rem; padding:0 1.15rem; display:inline-flex; align-items:center; justify-content:center; gap:.65rem; border-radius:999px; font-size:.82rem; font-weight:750; transition:transform .25s ease,background .25s ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { color:#fff; background:var(--copper); }
.button.ghost { color:#fff; border:1px solid rgba(255,255,255,.38); }
.at-a-glance { display:grid; grid-template-columns:repeat(3,1fr); gap:.65rem; margin-top:2.25rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.2); }
.at-a-glance div { min-width:0; }
.at-a-glance strong,.at-a-glance span { display:block; }
.at-a-glance strong { font-size:.82rem; color:#fff; }
.at-a-glance span { margin-top:.3rem; color:rgba(255,255,255,.52); font-size:.62rem; line-height:1.3; }
.scroll-cue { display:none; }

.impact { min-height:100svh; display:flex; align-items:center; background:var(--paper); }
.impact-grid { display:grid; gap:0; margin-top:3.5rem; border-top:1px solid #d2cbc0; }
.impact-grid article { position:relative; padding:1.7rem 0; border-bottom:1px solid #d2cbc0; }
.impact-grid article>span { color:#9a9085; font-size:.66rem; }
.impact-grid h3 { margin:2rem 0 .55rem; font-size:1.45rem; letter-spacing:-.04em; }
.impact-grid p { max-width:22rem; margin:0; color:var(--muted); font-size:.88rem; line-height:1.55; }

.focus { min-height:100svh; display:flex; align-items:center; overflow:hidden; color:#fff; background-color:var(--navy); background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:32px 32px; }
.focus .lead { color:#9cabb0; }
.swipe-hint { margin-top:2.5rem; display:flex; align-items:center; justify-content:flex-end; gap:.75rem; color:#8ea0a6; font-size:.62rem; font-weight:720; text-transform:uppercase; letter-spacing:.13em; }
.swipe-arrow-graphic { width:2.8rem; height:1rem; animation:swipe-hint 1.8s ease-in-out infinite; }
@keyframes swipe-hint { 0%,100% { transform:translateX(-.35rem); opacity:.55; } 50% { transform:translateX(.2rem); opacity:1; } }
.focus-grid { display:flex; gap:.85rem; margin:1rem calc(var(--gutter) * -1) 0; padding:0 var(--gutter) .8rem; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; }
.focus-grid::-webkit-scrollbar { display:none; }
.focus-grid article { position:relative; flex:0 0 min(82vw,21rem); min-height:18rem; padding:1.5rem; scroll-snap-align:center; border:1px solid #2a4853; background:rgba(16,45,55,.82); backdrop-filter:blur(8px); }
.focus-grid b { color:var(--copper-light); font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; }
.focus-grid h3 { margin:3.8rem 0 .75rem; font-size:1.55rem; line-height:1.05; letter-spacing:-.045em; }
.focus-grid p { margin:0; color:#a7b4b7; font-size:.88rem; line-height:1.55; }
.focus-grid article>span { position:absolute; right:1.2rem; bottom:1.1rem; color:#58707a; font-size:.68rem; }
.door-detail { display:flex; align-items:flex-end; justify-content:flex-end; gap:.85rem; margin-top:2.5rem; color:#70858c; font-size:.58rem; line-height:1.35; text-transform:uppercase; letter-spacing:.1em; }
.door-detail i { position:relative; display:block; width:2.1rem; height:3.45rem; border:1px solid #47616a; border-bottom:0; }
.door-detail i:after { content:""; position:absolute; right:.3rem; top:1.65rem; width:.18rem; height:.18rem; border-radius:50%; background:var(--copper-light); }

.team { min-height:100svh; display:flex; align-items:center; background:var(--sand); }
.team-layout { display:grid; gap:1rem; margin-top:3.5rem; }
.network { position:relative; min-height:20rem; padding:1rem; display:grid; grid-template-columns:1fr 1fr; align-content:space-between; gap:.75rem; border:1px solid #c7bcaf; background:rgba(255,255,255,.23); }
.network span { min-height:3.35rem; padding:.8rem; display:flex; align-items:center; justify-content:center; border:1px solid #c7bcaf; border-radius:999px; color:#5f665f; font-size:.68rem; text-align:center; }
.network-core { position:absolute; left:50%; top:50%; width:5.3rem; height:5.3rem; display:grid; place-items:center; transform:translate(-50%,-50%); border-radius:50%; color:#fff; background:var(--navy); box-shadow:0 0 0 .8rem rgba(11,32,40,.07); font-style:normal; font-weight:760; }
.bank-card { padding:1.6rem; color:#fff; background:var(--navy); }
.bank-card>p { margin:0 0 2.8rem; color:var(--copper-light); font-size:.65rem; font-weight:720; text-transform:uppercase; letter-spacing:.15em; }
.bank-card h3 { margin:0 0 1.5rem; font-size:2rem; letter-spacing:-.05em; }
.bank-card ul { margin:0; padding:0; list-style:none; }
.bank-card li { padding:.85rem 0; border-top:1px solid #2a4650; color:#bac4c6; font-size:.85rem; line-height:1.45; }
.bank-card li:before { content:"✓"; margin-right:.65rem; color:var(--copper-light); }

.process { min-height:100svh; display:flex; align-items:center; color:#fff; background:var(--copper); }
.process .eyebrow { color:#ffd8c5; }
.process .lead { color:#f7d8ca; }
.process-list { margin-top:3rem; border-top:1px solid rgba(255,255,255,.35); }
.process-list article { display:grid; grid-template-columns:2.4rem 1fr; gap:1rem; padding:1.35rem 0; border-bottom:1px solid rgba(255,255,255,.35); }
.process-list article>span { color:#f4c4ae; font-size:.65rem; }
.process-list h3 { margin:0 0 .3rem; font-size:1.35rem; letter-spacing:-.035em; }
.process-list p { margin:0; color:#f7d9cc; font-size:.86rem; line-height:1.5; }
.process .section-cta-light i { background:var(--navy); }

.about { min-height:100svh; display:flex; align-items:center; background:var(--paper); }
.about-layout { display:grid; gap:3.2rem; }
.about-image { position:relative; overflow:hidden; }
.about-image:before,.about-image:after { content:""; position:absolute; z-index:2; width:2.1rem; height:2.1rem; pointer-events:none; }
.about-image:before { left:.7rem; top:.7rem; border-left:1px solid #fff; border-top:1px solid #fff; }
.about-image:after { right:.7rem; bottom:.7rem; border-right:1px solid #fff; border-bottom:1px solid #fff; }
.about-image img { aspect-ratio:4/5; object-fit:cover; transform:translate3d(0,var(--parallax,0),0) scale(1.08); }
.about-image>span { position:absolute; z-index:2; left:1rem; bottom:1rem; padding:.8rem .9rem; color:#fff; background:rgba(7,25,31,.72); backdrop-filter:blur(10px); font-size:.72rem; line-height:1.45; }
.about-content h2 { margin:0; font-size:clamp(2.6rem,9vw,5.5rem); line-height:.94; letter-spacing:-.06em; font-weight:620; }
.about-content>p:not(.eyebrow) { max-width:39rem; margin:1.35rem 0 0; color:var(--muted); font-size:1rem; line-height:1.67; }
.about-actions { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; margin-top:1.7rem; }
.about-actions .instagram-link,.about-actions .section-cta { margin-top:0; }
.instagram-link { min-height:2.9rem; display:inline-flex; align-items:center; gap:.65rem; padding:.15rem 0; border-bottom:1px solid #9f9488; font-size:.8rem; font-weight:720; }

.projects-intro { min-height:78svh; display:flex; align-items:flex-end; color:#fff; background:var(--navy); }
.projects-intro .lead { color:#9caaad; }
.projects { color:#fff; background:#06171d; }
.project { position:sticky; top:0; height:max(100svh,42rem); overflow:hidden; }
.project>img { position:absolute; inset:-2rem 0; height:calc(100% + 4rem); object-fit:cover; transform:translate3d(0,var(--parallax,0),0) scale(1.04); }
.project-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,18,24,.08) 20%,rgba(4,18,24,.9) 100%); }
.project-content { position:absolute; z-index:2; left:50%; bottom:clamp(5.5rem,10vh,8rem); transform:translateX(-50%); }
.project-meta { display:flex; gap:.75rem; align-items:center; color:var(--copper-light); font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; }
.project-meta span { padding-right:.75rem; border-right:1px solid rgba(255,255,255,.35); }
.project-content h3 { max-width:53rem; margin:1rem 0 1.2rem; font-size:clamp(2.5rem,9vw,5.5rem); line-height:.92; letter-spacing:-.06em; }
.project-content>p { max-width:36rem; margin:0; color:rgba(255,255,255,.72); font-size:.94rem; line-height:1.58; }
.project-content>a { display:inline-flex; gap:.6rem; margin-top:1.5rem; padding-bottom:.25rem; border-bottom:1px solid rgba(255,255,255,.5); font-size:.78rem; font-weight:720; }
.project-content>a i { color:var(--copper-light); font-style:normal; }

.region { min-height:100svh; display:flex; align-items:center; background:#ded2c4; }
.places { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-top:3rem; }
.places span { min-height:3.25rem; display:grid; place-items:center; border:1px solid #b9aa99; border-radius:999px; font-size:.9rem; }
.places span:first-child { color:#fff; background:var(--navy); border-color:var(--navy); }

.instagram { min-height:100svh; display:flex; align-items:center; color:#fff; background:var(--copper); }
.instagram .eyebrow { color:#ffd8c5; }
.instagram .lead { color:#f8d8c9; }
.instagram-actions { display:flex; flex-direction:column; align-items:flex-start; gap:0; margin-top:2rem; }
.instagram-actions>a:first-child { min-height:3rem; padding:0 1rem; display:inline-flex; align-items:center; gap:.65rem; border:1px solid rgba(255,255,255,.48); border-radius:999px; font-size:.8rem; font-weight:720; }
.instagram .section-cta-light i { background:var(--navy); }

.faq { background:var(--paper); }
.faq-layout { display:grid; gap:3.5rem; }
.faq-list { border-top:1px solid #cec6bb; }
.faq details { border-bottom:1px solid #cec6bb; }
.faq summary { position:relative; padding:1.45rem 2.6rem 1.45rem 0; cursor:pointer; list-style:none; font-size:1rem; font-weight:690; line-height:1.35; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:after { content:"+"; position:absolute; right:.1rem; top:1.2rem; color:var(--copper); font-size:1.6rem; font-weight:400; }
.faq details[open] summary:after { content:"−"; }
.faq details p { max-width:40rem; margin:0; padding:0 2rem 1.5rem 0; color:var(--muted); font-size:.9rem; line-height:1.62; }

.contact { min-height:100svh; display:flex; align-items:center; color:#fff; background:var(--navy); scroll-margin-top:1rem; }
.contact .lead { color:#aab7ba; }
.contact-actions { display:grid; gap:.65rem; margin-top:3rem; }
.contact-actions>a { position:relative; min-height:5.3rem; padding:1.1rem 3.5rem 1.1rem 1.1rem; display:flex; flex-direction:column; justify-content:center; border:1px solid #294651; transition:background .25s ease,transform .25s ease; }
.contact-actions>a:hover { transform:translateY(-2px); background:var(--navy-2); }
.contact-actions span { margin-bottom:.4rem; color:#738991; font-size:.6rem; text-transform:uppercase; letter-spacing:.14em; }
.contact-actions strong { overflow-wrap:anywhere; font-size:.94rem; }
.contact-actions i { position:absolute; right:1rem; top:50%; color:var(--copper-light); transform:translateY(-50%); font-size:1.35rem; font-style:normal; }

footer { padding:3.5rem 0 2rem; color:#fff; background:#06161b; }
.footer-top { display:flex; flex-direction:column; gap:2rem; padding-bottom:2.5rem; border-bottom:1px solid #21363e; }
.footer-top p { margin:0; color:#718187; font-size:.8rem; line-height:1.45; }
.legal { display:flex; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid #21363e; }
.legal a { color:#a6b0b2; font-size:.74rem; text-decoration:underline; text-underline-offset:.25rem; }
.copyright { display:flex; justify-content:space-between; gap:1rem; padding-top:1.5rem; color:#596b72; font-size:.62rem; }

.legal-page { min-height:100svh; color:var(--ink); background:var(--paper); }
.legal-header { width:min(calc(100% - (2 * var(--gutter))),var(--shell)); margin-inline:auto; min-height:5.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid #d3cbc0; }
.legal-brand { display:flex; align-items:center; gap:.65rem; }
.legal-brand img { width:2rem; height:2rem; border-radius:.58rem; }
.legal-brand span { display:grid; gap:.18rem; line-height:1; }
.legal-brand strong { font-size:.86rem; }
.legal-brand small { color:var(--copper); font-size:.48rem; font-weight:760; text-transform:uppercase; letter-spacing:.14em; }
.legal-back { color:var(--muted); font-size:.72rem; font-weight:720; }
.legal-document { width:min(calc(100% - (2 * var(--gutter))),48rem); margin-inline:auto; padding:clamp(4.5rem,11vw,8rem) 0; }
.legal-document h1 { margin:0 0 3.5rem; font-size:clamp(3.4rem,13vw,7rem); line-height:.88; letter-spacing:-.07em; font-weight:620; }
.legal-document section { padding:1.75rem 0; border-top:1px solid #d3cbc0; }
.legal-document h2 { margin:0 0 .9rem; font-size:clamp(1.25rem,4.8vw,1.7rem); letter-spacing:-.035em; }
.legal-document p { margin:0 0 1rem; color:#56605d; font-size:.96rem; line-height:1.7; overflow-wrap:anywhere; }
.legal-document a { text-decoration:underline; text-underline-offset:.22rem; }
.legal-document .legal-intro { margin-bottom:3rem; color:var(--ink); font-size:clamp(1.05rem,3vw,1.25rem); }
.legal-document .legal-note { margin-top:2rem; color:#8b8278; font-size:.75rem; }
.legal-footer { width:min(calc(100% - (2 * var(--gutter))),var(--shell)); margin-inline:auto; padding:1.5rem 0 2.5rem; display:flex; flex-wrap:wrap; gap:1rem 1.5rem; border-top:1px solid #d3cbc0; color:#7b746d; font-size:.7rem; }
.legal-footer span { margin-left:auto; }

.motion-ready [data-reveal] { opacity:0; transform:translateY(1.6rem); transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1); transition-delay:var(--delay,0ms); }
.motion-ready [data-reveal].is-visible { opacity:1; transform:translateY(0); }
.motion-ready .project-content[data-reveal] { transform:translateX(-50%) translateY(1.6rem); }
.motion-ready .project-content[data-reveal].is-visible { transform:translateX(-50%) translateY(0); }

@media (min-width:44rem) {
  body { padding-bottom:0; }
  .contact-dock { left:auto; right:1.25rem; bottom:1.25rem; width:auto; min-width:12rem; min-height:3.45rem; padding:.55rem .7rem .55rem 1rem; }
  .contact-dock b { font-size:.82rem; }
  .contact-dock>i { width:2.35rem; height:2.35rem; }
  .contact-pulse { display:block; }
  .floor-indicator { position:fixed; z-index:65; right:1.6rem; top:50%; display:grid; gap:.35rem; transform:translateY(-50%); pointer-events:none; }
  .floor-indicator i { width:.45rem; height:.45rem; border:1px solid rgba(224,160,128,.65); transition:background .25s ease,transform .25s ease,box-shadow .25s ease; }
  .floor-indicator i.is-active { background:var(--copper-light); transform:scale(1.45); box-shadow:0 0 0 3px rgba(224,160,128,.14); }
  .hero-content { padding-bottom:6rem; }
  .hero-actions { flex-direction:row; }
  .button { min-width:12rem; }
  .at-a-glance { max-width:42rem; gap:2rem; }
  .at-a-glance strong { font-size:1rem; }
  .at-a-glance span { font-size:.7rem; }
  .scroll-cue { position:absolute; z-index:3; right:var(--gutter); bottom:2rem; display:flex; align-items:center; gap:.75rem; color:rgba(255,255,255,.55); font-size:.66rem; }
  .scroll-cue i { display:grid; place-items:center; width:2.5rem; height:2.5rem; border:1px solid rgba(255,255,255,.28); border-radius:50%; font-style:normal; }
  .impact-grid { grid-template-columns:repeat(3,1fr); }
  .impact-grid article { min-height:17rem; padding:1.5rem; border-right:1px solid #d2cbc0; }
  .impact-grid article:first-child { padding-left:0; }
  .impact-grid article:last-child { border-right:0; }
  .swipe-hint { display:none; }
  .focus-grid { display:grid; grid-template-columns:1fr 1fr; overflow:visible; margin:3.5rem 0 0; padding:0; }
  .focus-grid article { min-height:20rem; }
  .team-layout { grid-template-columns:1fr 1fr; }
  .process-list article { grid-template-columns:5rem 1fr; padding:1.6rem 0; }
  .about-layout { grid-template-columns:minmax(18rem,.82fr) 1.18fr; align-items:center; gap:7vw; }
  .about-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:.85rem 1.6rem; }
  .places { grid-template-columns:repeat(3,1fr); }
  .instagram-actions { flex-direction:row; align-items:center; gap:1.6rem; }
  .faq-layout { grid-template-columns:.75fr 1.25fr; gap:7vw; }
  .contact-actions { grid-template-columns:repeat(3,1fr); }
  .footer-top { flex-direction:row; justify-content:space-between; align-items:end; }
}

@media (min-width:68rem) {
  .hero { min-height:100svh; padding:0; display:flex; align-items:flex-end; }
  .hero-image { inset:-2rem 0; height:calc(100% + 4rem); object-position:60% center; }
  .hero-shade { inset:0; height:auto; background:linear-gradient(90deg,rgba(4,20,27,.9) 0%,rgba(4,20,27,.48) 49%,rgba(4,20,27,.1) 77%),linear-gradient(0deg,rgba(4,20,27,.55),transparent 45%); }
  .hero-brand { position:absolute; top:max(1.5rem,env(safe-area-inset-top)); left:50%; width:min(calc(100% - (2 * var(--gutter))),var(--shell)); transform:translateX(-50%); }
  .hero-brand .brand { padding:0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
  .hero-brand .brand-mark { width:2rem; height:2rem; }
  .hero-brand .brand-copy { display:grid; }
  .hero-content { padding-top:0; padding-bottom:5.5rem; }
  .impact-grid article { min-height:19rem; padding:2rem; }
  .focus-grid { grid-template-columns:repeat(4,1fr); }
  .focus-grid article { min-width:0; min-height:22rem; }
  .team-layout { grid-template-columns:1.1fr .9fr; }
  .network { min-height:27rem; }
  .bank-card { padding:2.3rem; }
  .process .chapter-copy { max-width:62rem; }
  .process-list { max-width:50rem; margin-left:auto; }
  .places { grid-template-columns:repeat(3,1fr); }
  .project-content { bottom:8vh; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation:none!important; transition:none!important; }
  .motion-ready [data-reveal] { opacity:1; transform:none; }
  [data-parallax] { transform:none!important; }
  .scroll-line { display:none; }
}
