.project-hub{--hub-ink:#101719;--hub-muted:#657278;--hub-blue:#16a6d2;--hub-pale:#eaf7fa;--hub-paper:#fbfbf8;--hub-line:#d8e1e4;--hub-dark:#0d1518;color:var(--hub-ink);background:var(--hub-paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
.project-hub *{box-sizing:border-box}
.project-hub a{color:inherit;text-decoration:none}
.project-hub img{display:block;width:100%;max-width:100%}
.project-hub .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.project-hub h1,.project-hub h2,.project-hub h3,.project-hub p{margin:0}
.project-hub h1,.project-hub h2{font-family:"Times New Roman",Times,serif;font-weight:700;letter-spacing:-.045em;line-height:.98}
.project-hub h1{max-width:720px;font-size:clamp(3rem,5.3vw,5.25rem)}
.project-hub h2{font-size:clamp(2.35rem,4vw,4rem)}
.project-hub h3{font-size:1.38rem;line-height:1.18}
.hub-kicker{display:inline-block;color:#1184aa;font-size:.69rem;font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}
.hub-kicker-light{color:#78d3ec}
.hub-section{padding:110px 0}
.hub-breadcrumb{padding:22px 0 0;background:#fff;color:#738087;font-size:.76rem}
.hub-breadcrumb .container{display:flex;gap:10px;align-items:center}
.hub-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.hub-hero{position:relative;overflow:hidden;padding:46px 0 92px;background:linear-gradient(125deg,#fff 0%,#f6fbfc 58%,#e2f4f8 100%)}
.hub-hero:after{content:"";position:absolute;right:-150px;bottom:-250px;width:620px;height:620px;border:1px solid rgb(22 166 210 / 20%);border-radius:50%}
.hub-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);gap:70px;align-items:center}
.hub-hero-copy>p{max-width:670px;margin-top:21px;color:#56666d;font-size:1rem}
.hub-hero-copy .hub-kicker{margin-bottom:23px}
.hub-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}
.hub-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--hub-ink);border-radius:6px;font-size:.78rem;font-weight:800;transition:transform .2s ease,background .2s ease,color .2s ease}
.hub-button:hover{transform:translateY(-2px)}
.hub-button-primary{background:var(--hub-ink);color:#fff!important}
.hub-button-secondary{background:#fff}
.hub-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;padding-top:20px;border-top:1px solid #cfdadd;color:#617077;font-size:.7rem}
.hub-proof span{display:flex;gap:8px;align-items:center}
.hub-proof b{color:#0f8fb7;font-size:.64rem}
.hub-hero-media{position:relative;min-height:560px}
.hub-hero-media figure{margin:0;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgb(16 23 25 / 14%)}
.hub-hero-media img{height:100%;object-fit:cover}
.hub-hero-main{position:absolute;inset:0 44px 72px 0;padding:12px}
.hub-hero-main img{aspect-ratio:4/3}
.hub-hero-main figcaption{padding:10px 4px 1px;color:#617178;font-size:.7rem;font-weight:700}
.hub-hero-small{position:absolute;border:7px solid #fff}
.hub-hero-small-a{right:0;bottom:0;width:48%;height:182px}
.hub-hero-small-b{right:-14px;top:42px;width:37%;height:130px}
.hub-hero-small-b img{object-position:center}
.hub-intro{background:#fff}
.hub-intro-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:100px;align-items:start}
.hub-intro h2{margin-top:17px;max-width:520px}
.hub-prose{display:grid;gap:20px;color:#58676e;font-size:1.05rem}
.hub-matrix{padding-top:30px;background:#fff}
.hub-section-heading{max-width:830px;margin-bottom:45px}
.hub-section-heading h2{margin-top:16px}
.hub-section-heading-split{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end;max-width:none}
.hub-section-heading-split>p{color:#6a777d}
.hub-matrix-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hub-line);border-left:1px solid var(--hub-line)}
.hub-matrix-card{position:relative;min-height:210px;padding:25px 25px 50px;border-right:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);transition:background .2s ease,transform .2s ease}
.hub-matrix-card:hover{z-index:1;background:var(--hub-pale);transform:translateY(-3px)}
.hub-matrix-card>span{color:#1596bf;font-size:.64rem;font-weight:800;letter-spacing:.1em}
.hub-matrix-card h3{margin-top:30px}
.hub-matrix-card p{margin-top:10px;color:#6b787d;font-size:.86rem}
.hub-matrix-card>b{position:absolute;right:20px;bottom:17px;color:#1497c0}
.hub-projects-exterior{background:#eff8fa}
.hub-card-grid{display:grid;gap:22px}
.hub-card-grid-exterior{grid-template-columns:repeat(3,1fr)}
.hub-project-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgb(80 116 128 / 16%);transition:transform .22s ease,box-shadow .22s ease}
.hub-project-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgb(32 75 89 / 12%)}
.hub-project-card figure{position:relative;margin:0;overflow:hidden;aspect-ratio:1.28/1;background:#d9e6e9}
.hub-project-card figure img{height:100%;object-fit:cover;transition:transform .5s ease}
.hub-project-card:hover figure img{transform:scale(1.025)}
.hub-project-card figure figcaption{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:rgb(255 255 255 / 90%);backdrop-filter:blur(8px);font-size:.63rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.hub-project-card-copy{display:flex;flex:1;flex-direction:column;padding:24px}
.hub-project-card-copy>span{color:#1596bf;font-size:.66rem;font-weight:800}
.hub-project-card-copy h3{margin-top:13px}
.hub-project-card-copy p{margin-top:12px;color:#657279;font-size:.88rem}
.hub-project-card-copy>b{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:23px;color:#117d9f;font-size:.76rem}
.hub-project-card-copy b i{font-style:normal}
.hub-project-card-featured{grid-column:span 2;display:grid;grid-template-columns:1.25fr .75fr}
.hub-project-card-featured figure{height:100%;aspect-ratio:auto}
.hub-project-card-featured .hub-project-card-copy{padding:38px 32px}
.hub-project-card-featured h3{font-size:1.8rem}
.hub-projects-interior{background:var(--hub-dark);color:#fff}
.hub-projects-interior .hub-section-heading>p{color:#a9b7bc}
.hub-card-grid-interior{grid-template-columns:repeat(3,1fr)}
.hub-project-card-dark{border-color:#263338;background:#121e22}
.hub-project-card-dark .hub-project-card-copy p{color:#a9b6bb}
.hub-project-card-dark .hub-project-card-copy>b{color:#77d5ed}
.hub-project-card-dark figure figcaption{background:rgb(13 21 24 / 88%);color:#fff}
.hub-materials{background:#fff}
.hub-material-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:start}
.hub-material-copy h2{margin-top:18px}
.hub-material-copy p{margin-top:22px;color:#657279}
.hub-material-links{border-top:1px solid var(--hub-line)}
.hub-material-links>a{display:grid;grid-template-columns:40px 1fr auto;gap:22px;align-items:center;padding:28px 6px;border-bottom:1px solid var(--hub-line);transition:padding .2s ease,background .2s ease}
.hub-material-links>a:hover{padding-right:18px;padding-left:18px;background:var(--hub-pale)}
.hub-material-links>a>span{color:#1596bf;font-size:.66rem;font-weight:800}
.hub-material-links small{color:#7d898e;font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hub-material-links h3{margin-top:4px}
.hub-material-links p{margin-top:5px;color:#738087;font-size:.8rem}
.hub-material-links>a>b{color:#1596bf}
.hub-support{background:#edf4f5}
.hub-support-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.hub-support figure{position:relative;margin:0;padding:12px;background:#fff;box-shadow:0 22px 55px rgb(20 48 56 / 10%)}
.hub-support figure img{aspect-ratio:1.35/1;object-fit:cover}
.hub-support figcaption{padding:11px 4px 2px;color:#6c797e;font-size:.72rem}
.hub-support h2{margin-top:18px}
.hub-support p{margin-top:20px;color:#607077}
.hub-inline-link{display:inline-flex;gap:10px;margin-top:28px;padding-bottom:6px;border-bottom:1px solid #5c6b70;color:#117d9f!important;font-size:.8rem;font-weight:800}
.hub-process{background:#fff}
.hub-process-list{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-top:1px solid var(--hub-line);border-left:1px solid var(--hub-line)}
.hub-process-list li{min-height:220px;padding:27px;border-right:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line)}
.hub-process-list span{color:#1596bf;font-size:.66rem;font-weight:800}
.hub-process-list h3{margin-top:35px}
.hub-process-list p{margin-top:10px;color:#6a777d;font-size:.86rem}
.hub-faq{background:#f1f7f8}
.hub-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;align-items:start}
.hub-faq-heading{position:sticky;top:116px}
.hub-faq-heading h2{margin-top:18px}
.hub-faq-heading p{margin-top:22px;color:#6a777d}
.hub-faq-list{border-top:1px solid #cfdcde}
.hub-faq-list details{border-bottom:1px solid #cfdcde}
.hub-faq-list summary{display:grid;grid-template-columns:38px 1fr auto;gap:18px;align-items:center;padding:22px 5px;cursor:pointer;font-size:1rem;font-weight:800;list-style:none}
.hub-faq-list summary::-webkit-details-marker{display:none}
.hub-faq-list summary span{color:#1596bf;font-size:.63rem}
.hub-faq-list summary b{font-size:1.3rem;font-weight:400;transition:transform .2s ease}
.hub-faq-list details[open] summary b{transform:rotate(45deg)}
.hub-faq-list details p{padding:0 50px 23px 61px;color:#627177;font-size:.9rem}
.hub-final{padding:95px 0;background:linear-gradient(135deg,#0d1518,#172b31);color:#fff}
.hub-final-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end}
.hub-final h2{max-width:630px;margin-top:18px}
.hub-final p{color:#b8c4c8}
.hub-button-light{margin-top:27px;background:#fff;color:#101719!important;border-color:#fff;gap:15px}

@media(max-width:980px){
  .hub-section{padding:82px 0}
  .hub-hero-grid{grid-template-columns:1fr;gap:45px}
  .hub-hero-media{min-height:570px;max-width:680px;width:100%;margin-inline:auto}
  .hub-intro-grid,.hub-material-grid,.hub-support-grid,.hub-faq-grid,.hub-final-grid{grid-template-columns:1fr;gap:45px}
  .hub-section-heading-split{grid-template-columns:1fr;gap:24px}
  .hub-matrix-grid{grid-template-columns:repeat(2,1fr)}
  .hub-card-grid-exterior{grid-template-columns:repeat(2,1fr)}
  .hub-project-card-featured{grid-column:span 2}
  .hub-card-grid-interior{grid-template-columns:1fr 1fr}
  .hub-card-grid-interior .hub-project-card:first-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}
  .hub-card-grid-interior .hub-project-card:first-child figure{aspect-ratio:auto}
  .hub-process-list{grid-template-columns:repeat(2,1fr)}
  .hub-faq-heading{position:static}
}

@media(max-width:640px){
  .project-hub .container{width:min(100% - 28px,1180px)}
  .project-hub h1{font-size:clamp(2.65rem,13vw,4.1rem)}
  .project-hub h2{font-size:clamp(2.15rem,10vw,3.15rem)}
  .hub-section{padding:68px 0}
  .hub-breadcrumb{padding-top:16px}
  .hub-hero{padding:34px 0 64px}
  .hub-proof{grid-template-columns:1fr;gap:8px}
  .hub-hero-media{min-height:430px}
  .hub-hero-main{inset:0 24px 62px 0}
  .hub-hero-small-a{width:54%;height:135px}
  .hub-hero-small-b{right:-5px;top:28px;width:39%;height:90px}
  .hub-intro-grid{gap:35px}
  .hub-matrix{padding-top:10px}
  .hub-matrix-grid{grid-template-columns:1fr}
  .hub-matrix-card{min-height:170px}
  .hub-card-grid-exterior,.hub-card-grid-interior{grid-template-columns:1fr}
  .hub-project-card-featured,.hub-card-grid-interior .hub-project-card:first-child{grid-column:auto;display:flex}
  .hub-project-card-featured figure,.hub-card-grid-interior .hub-project-card:first-child figure{aspect-ratio:1.28/1}
  .hub-project-card-featured .hub-project-card-copy{padding:24px}
  .hub-card-grid-interior .hub-project-card:first-child{grid-template-columns:none}
  .hub-process-list{grid-template-columns:1fr}
  .hub-process-list li{min-height:190px}
  .hub-faq-list summary{grid-template-columns:30px 1fr auto;gap:10px;padding:19px 0}
  .hub-faq-list details p{padding:0 15px 20px 40px}
  .hub-final{padding:70px 0}
}

@media(prefers-reduced-motion:reduce){.project-hub *{scroll-behavior:auto!important;transition:none!important}}
