/* ============ V1 · INSTITUTIONAL — inner-page shell ============ */
body{background:var(--paper);color:var(--ink);}
.wrap{max-width:1240px;margin:0 auto;padding:0 48px;}
@media(max-width:720px){.wrap{padding:0 24px;}}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid #ececec;}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:84px;}
.nav img{height:56px;width:auto;}
.nav-brand{display:flex;flex-direction:column;gap:3px;}
.nav-tagline{font-size:11px;font-weight:500;color:var(--gray);letter-spacing:.01em;}
.nav-links{display:flex;gap:38px;}
.nav-links a{font-size:15px;font-weight:500;color:var(--ink);letter-spacing:.01em;position:relative;padding:4px 0;opacity:.85;transition:opacity .2s;}
.nav-links a:hover{opacity:1;}
.nav-links a.active{opacity:1;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--mint);transition:width .28s ease;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;margin-right:-4px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:1px;transition:transform .25s ease,opacity .25s ease;}
.nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav.open .nav-toggle span:nth-child(2){opacity:0;}
.nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:720px){
  .nav-toggle{display:flex;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid #ececec;padding:8px 24px 20px;flex-direction:column;gap:0;z-index:100;}
  .nav-links.open{display:flex;}
  .nav-links a{padding:13px 0;border-bottom:1px solid #f0f0f0;font-size:16px;opacity:1;}
  .nav-links a:last-child{border-bottom:none;}
}

/* page header */
.phead{padding:56px 0 32px;background:#fafafa;}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:28px;}
.eyebrow::before{content:"";width:30px;height:9px;background:var(--mint);display:inline-block;}
.phead h1{font-weight:700;font-size:clamp(28px,3.6vw,52px);line-height:1.03;letter-spacing:-.025em;text-wrap:balance;}
.phead p{margin-top:26px;max-width:56ch;font-size:18px;line-height:1.7;color:var(--gray);}

.rule{height:1px;background:#ececec;}

.back{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--gray);transition:gap .2s,color .2s;}
.back:hover{gap:14px;color:var(--ink);}

/* ---- portfolio index ---- */
.pf-sec{padding:60px 0 110px;}
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.pf-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.pf-grid{grid-template-columns:1fr;}}
.pf-card{border:1px solid #ececec;border-radius:0;padding:26px;display:flex;flex-direction:column;gap:16px;
  transition:border-color .25s,transform .25s;min-height:286px;}
.pf-card:hover{border-color:var(--mint);transform:translateY(-3px);}
.pf-top{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.pf-card .tile{width:72px;height:72px;border-radius:0;overflow:hidden;border:1px solid #eee;flex:none;display:block;}
.pf-card .tile img{width:100%;height:100%;object-fit:cover;}
.pf-card h3{font-size:22px;font-weight:600;letter-spacing:-.015em;flex:1;}
.pf-card .tagline{font-size:15px;line-height:1.55;color:var(--gray);}
.pf-card .tagline .accent{color:var(--mint);font-weight:600;}
.pf-card .meta{font-size:13px;line-height:1.5;color:var(--gray);}
.pf-card .go{margin-top:auto;font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;gap:7px;align-items:center;transition:gap .2s,color .25s;}
.pf-card:hover .go{gap:12px;color:var(--mint-700);}

/* ---- article ---- */
.art{padding:40px 0 110px;}
.art .wrap{max-width:900px;}
.art-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:46px;}
.art-top .site{font-size:14px;font-weight:600;color:var(--mint-700);}
.art-head{display:flex;gap:24px;align-items:center;margin-bottom:28px;}
.art-head .tile{width:72px;height:72px;border-radius:0;overflow:hidden;border:1px solid #eee;flex:none;}
.art-head .tile img{width:100%;height:100%;object-fit:cover;}
.art-head .cat{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--mint-700);}
.art-head h1{font-size:clamp(22px,2.8vw,38px);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin-top:8px;}
.art-meta{display:flex;flex-wrap:wrap;gap:14px 30px;padding:22px 0;border-top:1px solid #ececec;border-bottom:1px solid #ececec;margin-bottom:40px;}
.art-meta .m .k{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);margin-bottom:5px;}
.art-meta .m .v{font-size:16px;font-weight:500;}
.art-meta .m .v a{color:var(--mint-700);}
.art-figure{height:300px;border-radius:0;margin-bottom:46px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.art-figure img{width:auto;height:92px;max-width:58%;object-fit:contain;}
.draft{display:flex;gap:12px;align-items:flex-start;background:var(--mint-100);border:1px solid var(--mint-200);
  border-radius:0;padding:18px 22px;margin-bottom:40px;}
.draft .dot{width:9px;height:9px;border-radius:50%;background:var(--mint-700);margin-top:7px;flex:none;}
.draft p{font-size:14.5px;line-height:1.6;color:var(--mint-900);}
.draft b{font-weight:600;}
.prose{max-width:none;}
.prose .lead{font-size:clamp(17px,1.4vw,19px);line-height:1.5;color:var(--ink);font-weight:500;letter-spacing:-.012em;margin-bottom:30px;}
.prose h2{font-size:clamp(22px,2.6vw,29px);font-weight:700;letter-spacing:-.02em;margin:50px 0 16px;}
.prose h2:first-child{margin-top:0;}
.prose h2::before{content:"";display:block;width:26px;height:4px;border-radius:2px;background:var(--mint);margin-bottom:16px;}
.prose p{font-size:18px;line-height:1.78;color:#2a2c2a;margin-bottom:20px;}
.prose p b:first-child{color:var(--mint-700);}
.prose blockquote{margin:40px 0;padding:6px 0 6px 26px;border-left:3px solid var(--mint);
  font-size:clamp(22px,2.6vw,30px);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--ink);}
.prose h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:32px 0 8px;color:var(--ink);}
.prose ul{margin:0 0 20px;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
.prose li{position:relative;padding-left:26px;font-size:18px;line-height:1.78;color:#2a2c2a;}
.prose li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:2px;background:var(--mint);}
.art-nav{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:32px;border-top:1px solid #ececec;}
.art-nav a{font-size:15px;font-weight:600;color:var(--gray);transition:color .2s;}
.art-nav a:hover{color:var(--ink);}

/* ---- perspectives ---- */
.persp{padding:60px 0 70px;}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:1060px){.feat-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.feat-grid{grid-template-columns:1fr;}}
.feat{display:flex;flex-direction:column;border:1px solid #ececec;border-radius:0;overflow:hidden;transition:transform .25s,border-color .25s;}
.feat:hover{transform:translateY(-3px);border-color:var(--mint);}
.feat .img{aspect-ratio:16/10;overflow:hidden;background:#f0f0f0;}
.feat .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.feat:hover .img img{transform:scale(1.04);}
.feat .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1;}
.feat .src{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-700);}
.feat .t{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.01em;}
.feat .more{margin-top:auto;font-size:14px;font-weight:600;color:var(--ink);}
.plist-head{margin:84px 0 0;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-700);}
.plist{margin-top:10px;}
.prow{display:grid;grid-template-columns:170px 1fr auto;gap:28px;align-items:center;padding:26px 4px;
  border-top:1px solid #ececec;transition:padding .25s;}
.prow:last-child{border-bottom:1px solid #ececec;}
.prow:hover{padding-left:14px;}
.prow .src{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mint-700);}
.prow .t{font-size:18px;font-weight:500;letter-spacing:-.01em;}
.prow .ar{font-size:20px;color:var(--gray-400);transition:transform .25s,color .25s;}
.prow:hover .ar{transform:translateX(5px);color:var(--ink);}
@media(max-width:720px){.prow{grid-template-columns:1fr;gap:6px;}.prow .ar{display:none;}}

/* ---- perspectives: tabs ---- */
.ptabs{display:flex;gap:40px;border-bottom:1px solid #ececec;margin-bottom:52px;}
.ptab{position:relative;background:none;border:none;padding:0 0 20px;font-family:inherit;
  font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--gray-400);
  display:inline-flex;align-items:center;gap:10px;transition:color .22s;}
.ptab:hover{color:var(--ink);}
.ptab.active{color:var(--ink);}
.ptab::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--mint);transition:width .3s ease;}
.ptab.active::after,.ptab:hover::after{width:100%;}
.ptab .ct{font-size:11px;font-weight:700;color:var(--mint-700);background:var(--mint-100);
  padding:3px 8px;letter-spacing:.06em;line-height:1;transition:background .22s,color .22s;}
.ptab.active .ct{background:var(--mint);color:var(--ink);}
@media(max-width:560px){.ptabs{gap:24px;}.ptab{font-size:15px;}.ptab .ct{display:none;}}

.panel{display:none;}
.panel.show{display:block;animation:panelIn .5s cubic-bezier(.2,.7,.3,1);}
@keyframes panelIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.panel-lede{max-width:60ch;font-size:17px;line-height:1.65;color:var(--gray);margin:-12px 0 40px;}

/* ---- our views ---- */
.views-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:980px){.views-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.views-grid{grid-template-columns:1fr;}}
.view{border:1px solid #ececec;padding:28px;display:flex;flex-direction:column;gap:20px;
  min-height:262px;transition:border-color .25s,transform .25s;}
.view:hover{border-color:var(--mint);transform:translateY(-3px);}
.view .vtop{display:flex;align-items:center;gap:14px;}
.view .tile{width:52px;height:52px;border:1px solid #eee;overflow:hidden;flex:none;}
.view .tile img{width:100%;height:100%;object-fit:cover;}
.view .co{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.1;}
.view h3{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.012em;color:var(--ink);text-wrap:pretty;}
.view h3 .hl{color:#a6ddce;font-weight:600;}
.view .go{margin-top:auto;font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:7px;transition:gap .2s,color .25s;}
.view:hover .go{gap:12px;color:var(--mint-700);}

/* ---- socials ---- */
.socials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media(max-width:720px){.socials-grid{grid-template-columns:1fr;}}
.social{border:1px solid #ececec;padding:24px;display:flex;flex-direction:column;gap:18px;transition:border-color .25s,transform .25s;}
.social:hover{border-color:var(--mint);transform:translateY(-3px);}
.s-head{display:flex;align-items:center;gap:12px;}
.s-ic-wrap{display:flex;align-items:center;flex:none;}
.s-ic{width:22px;height:22px;object-fit:contain;filter:brightness(0);opacity:.6;}
.s-plat{font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink);}
.s-when{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-400);}
.s-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f0f0f0;}
.s-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.social:hover .s-media img{transform:scale(1.04);}
.s-cap{font-size:15px;line-height:1.55;color:#2a2c2a;}
.s-cap b{font-weight:600;color:var(--ink);}
.s-go{margin-top:auto;font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:7px;transition:gap .2s,color .25s;}
.social:hover .s-go{gap:12px;color:var(--mint-700);}

/* ---- people ---- */
.ppl{padding:36px 0 70px;}
.team-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:46px 36px;padding:0 60px;}
.person-half{grid-column:span 3;}
.person-third{grid-column:span 2;}
@media(max-width:860px){
  .team-grid{grid-template-columns:repeat(2,1fr);padding:0;}
  .person-half,.person-third{grid-column:span 1;}
}
@media(max-width:440px){
  .team-grid{grid-template-columns:1fr;}
}
.person{display:flex;flex-direction:column;gap:14px;}
.person .av{aspect-ratio:1;border-radius:0;overflow:hidden;background:#f4f4f4;border-bottom:3px solid var(--mint);}
.person .av img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;
  filter:grayscale(1);transition:filter .45s ease,transform .6s ease;}
.person:hover .av img{filter:grayscale(0);transform:scale(1.03);}
.person h3{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ink);}
.person .role{font-size:14px;font-weight:500;color:var(--gray);margin-top:-4px;}
.person .links{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--gray);margin-top:2px;}
.person .links a{color:var(--gray);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gray-200);transition:color .2s,text-decoration-color .2s;}
.person .links a:hover{color:var(--ink);text-decoration-color:var(--mint);}
.person .links .sep{color:var(--gray-200);text-decoration:none;}
.values{padding:90px 0;border-top:1px solid #ececec;}
.values h2{font-size:clamp(24px,3vw,40px);font-weight:700;letter-spacing:-.02em;max-width:26ch;line-height:1.2;}
.values h2 b{color:var(--mint-700);}

/* footer (mint background, ink accents) */
.foot{background:var(--mint);color:var(--ink);padding:60px 0 32px;}
.foot .ftop{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:40px;border-bottom:1px solid rgba(12,13,12,.14);min-height:160px;}
.foot .sub{font-size:16px;line-height:1.6;color:rgba(12,13,12,.6);white-space:nowrap;}
.fbot-right{display:flex;align-items:center;gap:20px;}
.fbot-social{display:flex;gap:12px;align-items:center;}
.fbot-social a{display:flex;align-items:center;}
.fbot-social .social-icon{filter:brightness(0);opacity:.45;transition:opacity .2s;}
.fbot-social a:hover .social-icon{opacity:.7;}
.subscribe{display:flex;gap:10px;margin-top:20px;max-width:440px;}
.subscribe input{flex:1;background:#fff;border:1px solid rgba(12,13,12,.18);border-radius:0;padding:15px 18px;color:var(--ink);font-size:15px;font-family:inherit;}
.subscribe input::placeholder{color:rgba(12,13,12,.35);}
.subscribe input:focus{outline:none;border-color:var(--ink);}
.subscribe button{background:var(--ink);color:var(--mint);border:none;border-radius:0;padding:0 26px;font-weight:700;font-size:15px;transition:transform .2s,opacity .2s;}
.subscribe button:hover{transform:translateY(-2px);opacity:.88;}
.fbot-sub{margin-top:0;max-width:360px;}
.fcol{align-self:end;}
.fcol h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(12,13,12,.45);margin-bottom:18px;font-weight:600;}
.fcol a{display:block;font-size:16px;margin-bottom:13px;color:rgba(12,13,12,.72);transition:color .2s;}
.fcol a:hover{color:var(--ink);}
.fbot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-top:28px;}
.fbot img{height:24px;opacity:1;filter:none;}
.fbot .meta{font-size:13px;color:rgba(12,13,12,.45);letter-spacing:.02em;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}

/* social icon links */
.social-links{display:flex;gap:16px;align-items:center;margin-top:4px;}
.social-links a{display:flex;align-items:center;margin-bottom:0;}
.social-icon{height:22px;width:22px;object-fit:contain;}
.fcol .social-icon{filter:brightness(0);opacity:.55;transition:opacity .2s;}
.fcol a:hover .social-icon{opacity:.85;}
a.av{display:block;}
.person a.av{cursor:pointer;}

/* ── Mobile: inner pages ── */
@media(max-width:720px){
  .phead{padding:52px 0 32px;}
  .art{padding:24px 0 60px;}
  .art-head{flex-direction:column;gap:14px;align-items:flex-start;}
  .art-figure{height:180px;margin-bottom:28px;}
  .art-nav{flex-direction:column;gap:10px;}
  .prose .lead{margin-bottom:20px;}
  .pf-sec{padding:36px 0 64px;}
  .ppl{padding:36px 0 48px;}
  .subscribe{flex-direction:column;}
  .subscribe button{padding:15px 26px;}
  .foot{padding:44px 0 28px;}
}
