/* Extends the existing Oasis Triumph palette and type system. */
:root { --project-muted:#5C6472; --project-wash:#F0EDE7; }
:focus-visible { outline:3px solid #B08D45; outline-offset:5px; }
[id] { scroll-margin-top:100px; }
.project-section { background:var(--ivory); padding:76px 0 84px; border-bottom:1px solid var(--line); }
.project-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.project-kicker { color:#83662D; font-family:var(--mono); font-size:.875rem; letter-spacing:.09em; text-transform:uppercase; margin-bottom:12px; }
.project-heading h2 { font-size:clamp(2rem,3.5vw,2.7rem); line-height:1.15; color:var(--ink); }
.project-heading h2 span { display:block; font-family:var(--sans); color:var(--project-muted); font-size:1.125rem; font-weight:500; margin-top:12px; }
.project-intro { max-width:690px; color:var(--project-muted); font-size:1rem; margin:0 0 36px; }
.project-cn { display:block; font-family:var(--sans); font-size:1rem; color:var(--project-muted); line-height:1.75; margin-top:10px; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.project-card { background:#fff; border:1px solid var(--line); border-top:3px solid var(--gold); display:flex; flex-direction:column; min-width:0; transition:box-shadow .2s,transform .2s; }
.project-card:hover { transform:translateY(-3px);box-shadow:0 12px 30px #0e1b3a0d; }
.project-card-top { padding:24px 25px 22px; border-bottom:1px solid var(--line); background:var(--ink); color:white; }
.project-card-num { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:.875rem; color:var(--gold-light); font-family:var(--mono); margin-bottom:18px; }
.project-card-num b { font-family:var(--serif); font-weight:500; font-size:2.25rem;line-height:1; }
.project-region { color:#D3DBEB; font-size:.875rem; line-height:1.6; }
.project-region span { display:block; color:#BECADF; margin-top:2px; }
.project-card-body { padding:25px; display:flex; flex-direction:column; flex:1; }
.project-card h3 { font-size:1.55rem; line-height:1.23; color:var(--ink); margin-bottom:8px; }
.project-card h3 a:hover { text-decoration:underline; text-decoration-thickness:1px;text-underline-offset:5px; }
.project-card h4 { font-family:var(--sans);font-size:1rem;font-weight:500;color:#4C5670;margin-bottom:18px; }
.project-card p { font-size:1rem; line-height:1.65; }
.project-card .project-cn { font-size:.9375rem; }
.project-status { font-size:.875rem; color:#596070; margin:20px 0; border-top:1px solid var(--line);padding-top:15px;line-height:1.6; }
.project-status span { display:block; }
.project-card-actions { margin-top:auto; padding-top:16px; }
.project-link { display:inline-flex;align-items:center;justify-content:center;gap:12px; font-size:.9375rem; font-weight:600; color:var(--ink);border-bottom:1px solid var(--gold);padding:7px 0;line-height:1.5; }
.project-link:hover { color:#83662D; }
.project-link .arrow {font-size:1.1em; }
.project-card-mail {display:block;width:max-content;max-width:100%;font-size:.875rem;color:#535F73;margin-top:15px;padding:4px 0; }
.project-card-mail:hover {text-decoration:underline; }
.project-follow {display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:35px;padding-top:24px;font-size:1rem;align-items:center; }
.project-follow p {max-width:720px; }
.project-nav-mobile {display:none; }
.hero h1 {color:#fff; }
.hero {min-height:600px;min-height:min(680px,80vh);padding-top:145px;padding-bottom:80px; }
.hero-project-cta {background:var(--gold);color:var(--ink);border-color:var(--gold);font-size:1rem; }
.hero-project-cta:hover {background:var(--gold-light);border-color:var(--gold-light); }
.hero .hero-sub-cn {font-size:1rem;color:#C0CCE1; }
.nav-links {font-size:.875rem;gap:22px; }
.nav-cta {font-size:.875rem; }
.project-detail {background:var(--ivory); }
.project-detail #nav {background:var(--ink); }
.project-detail .brand-name {font-size:.75rem; }
.project-hero {background:var(--ink);padding:135px 0 64px;color:#fff; }
.project-breadcrumb {display:flex;flex-wrap:wrap;gap:10px;color:#CFD8E8;font-size:.875rem;margin-bottom:38px; }
.project-breadcrumb a {text-decoration:underline;text-underline-offset:4px;text-decoration-color:#7B89A5; }
.project-hero .project-kicker {color:var(--gold-light); }
.project-hero h1 {font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.1;color:#fff;max-width:900px; }
.project-hero-title-cn {font-size:1.25rem;color:var(--gold-light);margin-top:16px; }
.project-hero-lead {font-size:1.125rem;color:#D0DAEA;max-width:800px;margin-top:27px;line-height:1.6; }
.project-hero .project-cn {color:#BECADE;max-width:820px; }
.project-meta {display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line-dark);font-size:.9375rem;color:#DEE4EF; }
.project-meta span span {color:#C4CFE1; }
.project-body {padding:50px 0 80px; }
.project-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:44px;background:white;border:1px solid var(--line); }
.project-fact {padding:27px;border-right:1px solid var(--line); }
.project-fact:last-child {border:0; }
.project-fact b {font-family:var(--serif);font-size:1.75rem;display:block;font-weight:600;color:var(--ink);line-height:1.2;margin-bottom:10px; }
.project-fact p {font-size:.9375rem;color:var(--project-muted); }
.project-fact p span {display:block;margin-top:6px; }
.project-layout {display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:start; }
.project-copy section {margin-bottom:43px; }
.project-copy h2 {font-size:1.65rem;color:var(--ink);line-height:1.3;margin-bottom:20px; }
.project-copy h2 span {display:block;font-family:var(--sans);font-weight:500;color:var(--project-muted);font-size:1rem;margin-top:8px; }
.project-copy p {font-size:1rem;line-height:1.75; }
.project-direction {padding:21px 0;border-top:1px solid var(--line); }
.project-direction h3 {font-family:var(--sans);font-size:1.0625rem;color:var(--ink);margin-bottom:8px;font-weight:600; }
.project-direction h3 span {font-weight:500;display:block;font-size:1rem;color:#566174;margin-top:5px; }
.project-direction .project-cn {margin-top:8px; }
.project-partners {list-style:none;padding:0;margin:0; }
.project-partners li {padding:15px 0;border-top:1px solid var(--line);font-size:1rem; }
.project-partners li span {display:block;color:var(--project-muted);margin-top:4px; }
.project-aside {position:sticky;top:100px;background:white;border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px; }
.project-aside h2 {font-size:1.5rem;color:var(--ink);line-height:1.3;margin-bottom:8px; }
.project-aside p {font-size:.9375rem;color:var(--project-muted);margin-bottom:18px;line-height:1.65; }
.project-button {display:flex;width:100%;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:12px 16px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-weight:500;font-size:.9375rem;margin-top:13px;line-height:1.5; }
.project-button:hover {background:var(--ink-2); }
.project-button.secondary {background:white;color:var(--ink);border-color:var(--line); }
.project-button.secondary:hover {border-color:var(--gold); }
.project-aside .project-email {display:block;font-size:.875rem;margin:19px 0 8px;overflow-wrap:anywhere;color:var(--ink);text-decoration:underline;text-underline-offset:4px; }
.project-aside small {font-size:.875rem;color:var(--project-muted);display:block;line-height:1.65; }
.project-deadline {background:#EEE7D8;border-left:3px solid #A38240;padding:18px 20px;margin-bottom:32px;font-size:1rem;line-height:1.7; }
.project-deadline strong {display:block;color:var(--ink);margin-bottom:6px; }
.project-source-note {font-size:.9375rem!important;color:#596377;border-top:1px solid var(--line);padding-top:21px; }
.project-source-note .project-cn {font-size:.9375rem; }
.project-footer {background:var(--ink);color:#C9D6EA;padding:38px 0; }
.project-footer .wrap {display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap; }
.project-footer p,.project-footer a {font-size:.875rem; }
.project-footer a {color:var(--gold-light);text-decoration:underline;text-underline-offset:4px; }
.project-footer p span {display:block;margin-top:6px; }
.project-index .project-section {padding-top:52px; }
.project-index .project-hero {padding-bottom:48px; }
.project-related {border-top:1px solid var(--line);padding-top:32px;margin-top:35px; }
.project-related h2 {font-size:1.5rem;color:var(--ink);margin-bottom:18px; }
.project-related a {display:block;margin:12px 0;font-size:1rem;color:var(--ink);text-decoration:underline;text-underline-offset:4px; }
@media(max-width:1000px){.project-grid{gap:16px}.project-card-top,.project-card-body{padding:22px}.project-layout{gap:32px;grid-template-columns:minmax(0,1fr) 280px}.nav-links{gap:16px}}
@media(max-width:800px){.project-grid{grid-template-columns:1fr}.project-card-top{padding:20px 24px}.project-card-num{margin-bottom:12px}.project-card-body{padding:25px}.project-card h3{font-size:1.65rem}.project-card-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.project-card-mail{margin:0}.project-heading{align-items:start;flex-direction:column;gap:16px}.project-follow{flex-direction:column;align-items:start}.project-layout{grid-template-columns:1fr}.project-aside{position:static}.project-facts{grid-template-columns:1fr}.project-fact{border-right:0;border-bottom:1px solid var(--line);padding:23px}.project-nav-mobile{display:inline-block;margin-left:auto;margin-right:15px;color:var(--gold-light);font-size:.9375rem;padding:10px 0}.hero{min-height:0;padding:126px 0 65px}.project-hero{padding:112px 0 45px}.project-hero h1{font-size:2.25rem}.project-breadcrumb{margin-bottom:28px}.project-body{padding-top:32px}.project-footer .wrap{align-items:start}.project-section{padding:54px 0}.project-card:hover{transform:none}}
@media(max-width:420px){nav,nav.scrolled{padding-left:20px;padding-right:20px}.nav-cta{padding:8px 11px}.project-nav-mobile{margin-right:12px;font-size:.875rem}.project-hero h1{font-size:2rem}.project-heading h2{font-size:2rem}.project-card-actions{display:block}.project-card-mail{margin-top:16px}.hero-actions{gap:20px}.hero-project-cta{padding:12px 18px}.project-fact b{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card{transition:none}.project-card:hover{transform:none}}
