/* DuoRive subpages (Studio, Expertise, Projets, project details, Contact).
   Loaded after site.css; reuses the home design system (header, menu,
   footer, project cards, buttons) with page-level layouts. */

header.pg-header{
  background:linear-gradient(180deg,#FFFFFF,#F1F2F4);
  text-shadow:none;border-bottom:1px solid var(--line);color:var(--cream);
}
body.menu-open header.pg-header{color:var(--cream)}

/* menu overlay without GSAP: slide from the top */
#menu{transform:translateY(-103%);transition:transform .65s cubic-bezier(.7,0,.25,1),visibility 0s linear .65s}
body.menu-open #menu{transform:none;visibility:visible;transition:transform .65s cubic-bezier(.7,0,.25,1)}

/* reveal on scroll (pages.js adds .revealed) */
.will-reveal{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.25,1)}
.will-reveal.revealed{opacity:1;transform:none}

.pg-main{padding:calc(76px + clamp(48px,8vw,110px)) var(--pad) 0;max-width:1560px;margin:0 auto}
.pg-kicker{color:var(--terra);font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.pg-title{
  font-size:clamp(42px,7.4vw,104px);font-weight:840;letter-spacing:-.045em;line-height:.99;
  margin-top:20px;max-width:12em;
}
.pg-title .serif-it{color:var(--terra)}
.pg-lead{font-size:clamp(17px,1.6vw,21px);line-height:1.65;color:var(--sand);max-width:56ch;margin-top:26px}
.pg-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px}
.pg-ghost{
  display:inline-flex;align-items:center;gap:10px;padding:19px 28px;border-radius:999px;
  border:1.5px solid var(--cream);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  transition:background-color .3s,color .3s,transform .3s;
}
.pg-ghost:hover{background:var(--cream);color:var(--espresso);transform:translateY(-3px)}
.pg-section{margin-top:clamp(70px,10vw,140px)}
.pg-h2{font-size:clamp(30px,4.4vw,58px);font-weight:820;letter-spacing:-.04em;line-height:1.02}
.pg-p{color:var(--sand);font-size:16.5px;line-height:1.7;max-width:58ch;margin-top:18px}

/* pillars as cards (Studio page) */
.pg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:clamp(40px,5vw,64px)}
.pg-card{
  border:1px solid var(--line);border-radius:20px;padding:30px 28px;
  background:linear-gradient(180deg,#FFFFFF,#EFF0F2);transition:transform .35s,box-shadow .35s;
}
.pg-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(11,11,12,.10)}
.pg-card .p-num{font-size:11px;letter-spacing:.22em;color:var(--terra);font-weight:700}
.pg-card h3{font-size:24px;font-weight:800;letter-spacing:-.02em;margin-top:16px}
.pg-card p{color:var(--sand);line-height:1.65;margin-top:10px;font-size:15px}
@media(max-width:900px){.pg-cards{grid-template-columns:1fr}}

/* dark band reusing the home project-card style (Projets page) */
.pg-dark{
  background:linear-gradient(165deg,#1E1F23,#0B0B0C 75%);color:var(--espresso);
  margin:clamp(70px,10vw,140px) calc(var(--pad) * -1) 0;padding:clamp(60px,8vw,110px) var(--pad);
}
.pg-dark .pg-h2{color:var(--espresso)}
.pg-dark .pg-p{color:#B9BDC7}
a.proj-media{display:block}
.pj-cta-card{
  border:1.5px dashed rgba(243,244,246,.35);border-radius:20px;padding:clamp(30px,4vw,48px);
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:clamp(56px,7vw,90px);
}
.pj-cta-card h3{font-size:clamp(26px,3.4vw,40px);font-weight:820;letter-spacing:-.03em}
.pj-cta-card p{color:#B9BDC7;line-height:1.6;max-width:44ch}

/* project detail pages */
.dt-media{border-radius:20px;overflow:hidden;margin-top:clamp(40px,6vw,72px);aspect-ratio:16/7.4;background:var(--espresso-2)}
.dt-media img{width:100%;height:100%;object-fit:cover}
.dt-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.dt-meta span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-weight:600}
.dt-features{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:clamp(36px,5vw,56px)}
.dt-feature{border-top:1px solid var(--line);padding-top:20px}
.dt-feature h3{font-size:19px;font-weight:780;letter-spacing:-.015em}
.dt-feature p{color:var(--sand);line-height:1.65;margin-top:8px;font-size:15px}
@media(max-width:800px){.dt-features{grid-template-columns:1fr}.dt-media{aspect-ratio:4/3}}
.dt-note{color:var(--sand);font-size:14px;margin-top:20px}

/* contact page */
.ct-rows{margin-top:clamp(44px,6vw,72px);border-top:1px solid var(--line)}
.ct-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;
  padding:26px 0;border-bottom:1px solid var(--line);
}
.ct-row .ct-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:700}
.ct-row .ct-value{font-size:clamp(20px,2.6vw,32px);font-weight:760;letter-spacing:-.02em}
.ct-row a.ct-value:hover{color:var(--terra)}

.pg-footer{margin-top:clamp(90px,12vw,160px)}
