/* ==========================================================================\n   PG-PROJEKT / REFINEMENT SYSTEM v40\n   Safeguarded refinement pass: typography, rhythm, controls and forms.\n   Loaded after release.css so the existing composition remains intact.\n   ========================================================================== */

.refinement-v40{
  --v40-font-text:"Segoe UI Variable Text","Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --v40-font-display:"Segoe UI Variable Display","Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;

  --v40-ink:#111923;
  --v40-copy:#4c5b68;
  --v40-muted:#74818d;
  --v40-blue:#315f8d;
  --v40-paper:#ffffff;
  --v40-surface:#f6f8fa;
  --v40-line:#d9e0e6;
  --v40-line-strong:#c8d2db;
  --v40-dark:#111a24;

  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:48px;
  --sp-8:64px;
  --sp-9:80px;
  --sp-10:96px;
  --sp-11:128px;

  --fs-caption:11px;
  --fs-label:12px;
  --fs-ui:14px;
  --fs-body:16px;
  --fs-lead:18px;
  --fs-h3:24px;

  font-family:var(--v40-font-text);
  font-size:16px;
  font-synthesis:none;
  font-kerning:normal;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.refinement-v40 :where(button,input,textarea,select){font:inherit}
.refinement-v40 :where(h1,h2,h3,h4){font-family:var(--v40-font-display);font-synthesis:none}
.refinement-v40 :where(p,li,label,input,textarea,select,button,a){font-family:var(--v40-font-text)}
.refinement-v40 :where(p,li){letter-spacing:0}

/* Typography hierarchy ---------------------------------------------------- */
.refinement-v40 :where(.eyebrow,.overline){
  font-size:11px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:.11em;
  color:#657483;
}

.refinement-v40 :where(
  .hero-signature h1,
  .inquiry-hero-copy h1,
  .contact-v12-intro h1,
  .portfolio-hero h1,
  .page-hero h1,
  .project-art-copy h1,
  .project-detail-title h1,
  .project-detail-pro-title h1,
  .project-hero-copy h1,
  .case-hero-copy h1
){
  font-family:var(--v40-font-display);
  font-size:clamp(50px,4.65vw,74px);
  line-height:.98;
  letter-spacing:-.04em;
  font-weight:400;
}

.refinement-v40 .hero-signature h1{font-size:clamp(54px,4.95vw,80px);line-height:.96}

.refinement-v40 :where(
  .section-head h2,
  .about-pro h2,
  .bim-pro h2,
  .closing-contact h2,
  .career-manifesto h2,
  .form-stage-head h2,
  .contact-v12-statement h2,
  .project-summary h2,
  .split-copy h2,
  .project-art-story h2,
  .project-art-scope h2,
  .project-section-intro h2,
  .project-overview-copy h2,
  .project-scope-pro h2,
  .project-gallery-pro-head h2,
  .project-partners-head h2,
  .project-detail-meta h2,
  .project-summary-grid h2,
  .cta-strip h2,
  .portfolio-contact h2,
  .case-story h2,
  .case-scope h2
){
  font-family:var(--v40-font-display);
  font-size:clamp(34px,3.1vw,50px);
  line-height:1.03;
  letter-spacing:-.032em;
  font-weight:400;
}

.refinement-v40 :where(
  .hero-signature-lead,
  .inquiry-hero-copy>p:not(.overline),
  .contact-v12-lead,
  .portfolio-intro p,
  .page-hero .hero-lead,
  .project-art-lead,
  .project-hero-lead,
  .project-summary p,
  .rich-text p,
  .split-copy p,
  .project-art-story p,
  .project-overview-copy p,
  .project-summary-grid p,
  .case-hero-lead
){
  font-size:17px;
  line-height:1.66;
  letter-spacing:0;
  color:var(--v40-copy);
}

.refinement-v40 :where(.section p,.about-pro p,.bim-pro p,.closing-contact p,.career-manifesto p,.contact-v12-copy p,.case-story p,.case-scope p){
  line-height:1.68;
}

.refinement-v40 :where(.text-link,.back-link){font-size:13px;font-weight:500;letter-spacing:0}
.refinement-v40 .text-link.strong{font-size:14px;font-weight:600}

/* Navigation / footer ----------------------------------------------------- */
.refinement-v40 .desktop-nav{font-size:13.5px;font-weight:500;letter-spacing:-.005em;gap:32px}
.refinement-v40 .lang{font-size:11px;letter-spacing:.03em}
.refinement-v40 .footer{font-size:13px}
.refinement-v40 .footer-grid>div>span{font-size:11px;letter-spacing:.1em}
.refinement-v40 .footer-end p,.refinement-v40 .footer-end a{font-size:12px}

/* Shared UI language ------------------------------------------------------ */
.refinement-v40 .btn{
  min-height:54px;
  padding:0 22px;
  border-radius:0;
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
  box-shadow:none;
}
.refinement-v40 .btn:hover{transform:translateY(-1px)}
.refinement-v40 .circle-arrow{width:52px;height:52px;font-size:18px}
.refinement-v40 :where(.project-art-frame,.project-support-image,.project-facts,.project-art-facts,.form-card,.rich-panel,.scope-item,.process-card,.related-card,.benefit-card){box-shadow:none}

/* Caption / metadata normalization --------------------------------------- */
.refinement-v40 :where(
  .project-meta p,
  .realization-caption p,
  .project-art-media figcaption,
  .project-support-card figcaption,
  .case-hero-media figcaption,
  .case-gallery-card figcaption,
  .fact-card span,
  .project-art-facts-grid span,
  .case-facts-grid span,
  .project-hero-data span
){
  font-size:11px;
  line-height:1.45;
  letter-spacing:.08em;
}

/* Rhythm: standardize only major spacing, leave page compositions intact -- */
.refinement-v40 .section{padding-block:var(--sp-10)}
.refinement-v40 :where(.about-pro,.bim-pro,.project-art-overview,.project-support,.case-overview,.case-gallery){padding-block:var(--sp-10)}
.refinement-v40 :where(.project-art-scope,.case-scope,.case-focus){padding-block:var(--sp-9)}
.refinement-v40 .section-head{margin-bottom:var(--sp-6)}

/* Portfolio typography polish -------------------------------------------- */
.refinement-v40 .portfolio-filter{font-size:11px;font-weight:600;letter-spacing:.01em}
.refinement-v40 .portfolio-grid-status,.refinement-v40 .portfolio-grid-hint{font-size:11px;letter-spacing:.08em}
.refinement-v40 .realization-hover{padding:26px 26px 24px}
.refinement-v40 .realization-hover>span{font-size:11px;letter-spacing:.1em}
.refinement-v40 .realization-hover strong{font-size:clamp(22px,2vw,28px);line-height:1.05;letter-spacing:-.025em}
.refinement-v40 .realization-hover p{font-size:12px;line-height:1.45}
.refinement-v40 .realization-hover small{font-size:13px;line-height:1.55;max-width:58ch}
.refinement-v40 .hover-action{font-size:12px;font-weight:600;letter-spacing:.01em}
.refinement-v40 .realization-caption h3{font-size:19px;line-height:1.15;letter-spacing:-.02em}

/* Project detail polish without changing compositions -------------------- */
.refinement-v40 :where(.project-art-facts,.case-facts){background:#f8fafb;border-color:var(--v40-line);box-shadow:none}
.refinement-v40 :where(.project-art-facts-grid article,.case-facts-grid article){border-color:#e3e8ed}
.refinement-v40 :where(.project-art-facts-grid strong,.case-facts-grid strong){font-size:14px;line-height:1.5}
.refinement-v40 :where(.project-art-scope li,.case-tag-list li){font-size:13px;font-weight:500;letter-spacing:0}
.refinement-v40 :where(.project-art-nav strong,.case-nav strong){font-size:20px;letter-spacing:-.015em}

/* Career form: one deliberate surface, fewer nested boxes ---------------- */
.refinement-v40 .form-stage{background:#f4f6f8;padding-block:var(--sp-10)}
.refinement-v40 .form-stage-head{gap:var(--sp-8);margin-bottom:var(--sp-7)}
.refinement-v40 .form-stage-head p{font-size:16px;line-height:1.68;max-width:600px}
.refinement-v40 .form-premium-layout{gap:var(--sp-6)}
.refinement-v40 .form-rail{gap:var(--sp-4)}
.refinement-v40 .form-rail-card{padding:var(--sp-6);box-shadow:none}
.refinement-v40 .form-rail-card.light{background:transparent;border:0;border-top:1px solid var(--v40-line);border-bottom:1px solid var(--v40-line);padding:var(--sp-5) 0}
.refinement-v40 .form-rail-card h3{font-size:24px;line-height:1.08;letter-spacing:-.025em}
.refinement-v40 .form-rail-card p,.refinement-v40 .rail-list span{font-size:13px;line-height:1.6}

.refinement-v40 .premium-form{
  background:#fff;
  border:1px solid var(--v40-line);
  box-shadow:none;
}
.refinement-v40 .form-block{padding:var(--sp-6) var(--sp-6);border-bottom:1px solid var(--v40-line)}
.refinement-v40 .form-block-head{grid-template-columns:148px 1fr;gap:var(--sp-5);margin-bottom:var(--sp-5)}
.refinement-v40 .form-block-head>span{font-size:11px;letter-spacing:.1em;padding-top:5px}
.refinement-v40 .form-block-head h3{font-size:24px;line-height:1.1;letter-spacing:-.025em;font-weight:500}
.refinement-v40 .form-block-head p{font-size:13px;line-height:1.58;margin-top:8px;max-width:62ch}

.refinement-v40 .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-5);border-bottom:1px solid var(--v40-line)}
.refinement-v40 .choice-card{
  min-height:auto;
  padding:18px 2px 18px 0;
  border:0;
  border-top:1px solid var(--v40-line);
  background:transparent;
  transform:none;
}
.refinement-v40 .choice-card:hover{border-color:#aebbc6;transform:none;background:transparent}
.refinement-v40 .choice-card:has(input:checked){border-color:var(--v40-blue);background:transparent;box-shadow:none}
.refinement-v40 .choice-card-top{margin-bottom:8px}
.refinement-v40 .choice-card strong{font-size:15px;letter-spacing:-.01em}
.refinement-v40 .choice-card p{font-size:13px;line-height:1.5}
.refinement-v40 .choice-dot{width:18px;height:18px;border-color:#9facb7}
.refinement-v40 .choice-card:has(input:checked) .choice-dot{border-color:var(--v40-blue)}
.refinement-v40 .choice-card:has(input:checked) .choice-dot:after{width:8px;height:8px}

.refinement-v40 .form-grid.premium{gap:20px 18px}
.refinement-v40 .form-grid.premium .field{gap:8px}
.refinement-v40 .form-grid.premium .field label,
.refinement-v40 .field-line label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  letter-spacing:0;
  color:#384653;
}
.refinement-v40 .optional-label{font-size:11px;font-weight:500;color:#8a95a0;letter-spacing:0;text-transform:none}
.refinement-v40 .field-hint{display:block;margin-top:0;font-size:12px;line-height:1.45;color:#7b8792}

.refinement-v40 .form-grid.premium .field input,
.refinement-v40 .form-grid.premium .field select,
.refinement-v40 .form-grid.premium .field textarea,
.refinement-v40 .field-line input,
.refinement-v40 .field-line select,
.refinement-v40 .field-line textarea{
  width:100%;
  border:1px solid var(--v40-line-strong);
  background:#fff;
  color:var(--v40-ink);
  border-radius:0;
  min-height:56px;
  padding:0 15px;
  outline:0;
  box-shadow:none;
  font-size:16px;
  line-height:1.45;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.refinement-v40 .form-grid.premium .field textarea,
.refinement-v40 .field-line textarea{min-height:150px;padding:14px 15px;resize:vertical;line-height:1.6}
.refinement-v40 .form-grid.premium .field input:focus,
.refinement-v40 .form-grid.premium .field select:focus,
.refinement-v40 .form-grid.premium .field textarea:focus,
.refinement-v40 .field-line input:focus,
.refinement-v40 .field-line select:focus,
.refinement-v40 .field-line textarea:focus{
  border-color:var(--v40-blue);
  box-shadow:0 0 0 3px rgba(49,95,141,.10);
}
.refinement-v40 :where(input,textarea)::placeholder{color:#9aa5af;opacity:1}

/* Shared upload pattern --------------------------------------------------- */
.refinement-v40 .refined-upload,
.refinement-v40 .upload-zone.refined-upload{
  position:relative;
  min-height:80px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  border:1px solid var(--v40-line-strong);
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease;
}
.refinement-v40 .refined-upload:hover{border-color:#8fa4b6;background:#fbfcfd}
.refinement-v40 .refined-upload input{position:absolute;opacity:0;pointer-events:none}
.refinement-v40 .upload-icon-wrap{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--v40-line);color:var(--v40-blue);background:#f8fafb}
.refinement-v40 .form-icon{width:21px;height:21px;display:block}
.refinement-v40 .form-icon-arrow{width:18px;height:18px}
.refinement-v40 .upload-copy{display:grid;gap:4px}
.refinement-v40 .upload-copy strong{font-size:14px;font-weight:600;margin:0}
.refinement-v40 .upload-copy small,.refinement-v40 .upload-copy span{font-size:12px;line-height:1.45;color:#7b8792}
.refinement-v40 .upload-action{font-size:13px;font-weight:600;color:#354656;white-space:nowrap}

.refinement-v40 .premium-submit{gap:var(--sp-5)}
.refinement-v40 .premium-submit .check,
.refinement-v40 .contact-v12-consent{font-size:12px;line-height:1.55;color:#66737f}
.refinement-v40 :where(.premium-submit .check input,.contact-v12-consent input){accent-color:var(--v40-blue);width:16px;height:16px}
.refinement-v40 .form-microcopy{font-size:11px;line-height:1.5;color:#87929c;max-width:64ch}
.refinement-v40 .form-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap}
.refinement-v40 .form-status:empty{display:none}
.refinement-v40 .success-panel{font-size:13px;line-height:1.55}

/* Contact form: same input system as career ------------------------------- */
.refinement-v40 .contact-v12-hero:before{opacity:.2}
.refinement-v40 .contact-v12-grid{gap:var(--sp-9)}
.refinement-v40 .contact-v12-lead{font-size:17px;line-height:1.66}
.refinement-v40 .contact-v12-direct{gap:var(--sp-5);margin-top:var(--sp-7);padding-top:var(--sp-5)}
.refinement-v40 .contact-v12-office>span{font-size:11px;letter-spacing:.1em}
.refinement-v40 .contact-v12-office strong,.refinement-v40 .contact-v12-office>a{font-size:13.5px;font-weight:600}
.refinement-v40 .contact-v12-office small{font-size:11px}

.refinement-v40 .contact-v12-form-wrap{
  background:#fff;
  border:1px solid var(--v40-line);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0 var(--sp-6) var(--sp-6);
}
.refinement-v40 .contact-v12-tabs{margin-bottom:var(--sp-4);border-bottom:1px solid var(--v40-line)}
.refinement-v40 .contact-v12-tabs button{
  padding:20px 10px 17px;
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  color:#74818d;
  border-bottom-width:2px;
}
.refinement-v40 .contact-v12-tabs button.is-active{font-weight:600;color:var(--v40-ink)}
.refinement-v40 .contact-v12-form{padding-top:var(--sp-2)}
.refinement-v40 .contact-v12-fields{gap:20px 16px}
.refinement-v40 .field-line{gap:8px;padding:0;border:0}
.refinement-v40 .field-line:focus-within{border-color:transparent}
.refinement-v40 .contact-v12-upload{margin-top:var(--sp-5)}
.refinement-v40 .contact-v12-consent{gap:10px;margin-top:var(--sp-5)}
.refinement-v40 .contact-v12-submit{margin-top:var(--sp-5);align-items:center}
.refinement-v40 .contact-v12-submit .btn{min-width:230px}
.refinement-v40 .contact-v12-submit .submit-note{margin:0;max-width:260px;font-size:12px;line-height:1.5;color:#7e8994;text-align:right}

/* Fine-grained optical corrections --------------------------------------- */
.refinement-v40 .inquiry-meta strong{font-size:14px;font-weight:600}
.refinement-v40 .inquiry-meta span{font-size:12px;line-height:1.4}
.refinement-v40 .career-values{margin-top:var(--sp-7)}
.refinement-v40 .career-value{padding:var(--sp-5)}
.refinement-v40 .career-value strong{font-size:15px}
.refinement-v40 .career-value span{font-size:13px;line-height:1.55}
.refinement-v40 .fact strong{letter-spacing:-.02em}
.refinement-v40 .fact span{font-size:12px;line-height:1.45}
.refinement-v40 .expertise-item h3{font-size:18px;letter-spacing:-.015em}
.refinement-v40 .expertise-item p{font-size:14px;line-height:1.58}

@media (max-width:1100px){
  .refinement-v40 .contact-v12-grid{gap:var(--sp-7)}
  .refinement-v40 .form-block-head{grid-template-columns:130px 1fr}
}

@media (max-width:820px){
  .refinement-v40{
    --fs-body:16px;
  }
  .refinement-v40 :where(
    .hero-signature h1,
    .inquiry-hero-copy h1,
    .contact-v12-intro h1,
    .portfolio-hero h1,
    .page-hero h1,
    .project-art-copy h1,
    .project-detail-title h1,
    .project-detail-pro-title h1,
    .project-hero-copy h1,
    .case-hero-copy h1
  ){font-size:clamp(44px,8vw,62px);line-height:.98}
  .refinement-v40 :where(.section,.about-pro,.bim-pro,.project-art-overview,.project-support,.case-overview,.case-gallery){padding-block:var(--sp-9)}
  .refinement-v40 .form-stage{padding-block:var(--sp-9)}
  .refinement-v40 .form-stage-head{gap:var(--sp-5)}
  .refinement-v40 .form-block-head{grid-template-columns:1fr;gap:8px}
  .refinement-v40 .form-block-head>span{padding-top:0}
  .refinement-v40 .contact-v12-form-wrap{padding-inline:var(--sp-5)}
}

@media (max-width:560px){
  .refinement-v40 :where(.eyebrow,.overline){font-size:10.5px;letter-spacing:.1em}
  .refinement-v40 :where(
    .hero-signature h1,
    .inquiry-hero-copy h1,
    .contact-v12-intro h1,
    .portfolio-hero h1,
    .page-hero h1,
    .project-art-copy h1,
    .case-hero-copy h1
  ){font-size:clamp(38px,11vw,52px);line-height:.98;letter-spacing:-.035em}
  .refinement-v40 :where(
    .section-head h2,.about-pro h2,.bim-pro h2,.closing-contact h2,.career-manifesto h2,.form-stage-head h2,
    .contact-v12-statement h2,.project-art-story h2,.project-art-scope h2,.project-section-intro h2,.case-story h2,.case-scope h2
  ){font-size:clamp(31px,9vw,40px);line-height:1.04;letter-spacing:-.028em}
  .refinement-v40 :where(.hero-signature-lead,.inquiry-hero-copy>p:not(.overline),.contact-v12-lead,.portfolio-intro p,.project-art-lead,.case-hero-lead){font-size:16px;line-height:1.64}
  .refinement-v40 .section{padding-block:var(--sp-8)}
  .refinement-v40 .form-stage{padding-block:var(--sp-8)}
  .refinement-v40 .form-block{padding:var(--sp-5) 20px}
  .refinement-v40 .choice-grid{grid-template-columns:1fr}
  .refinement-v40 .contact-v12-form-wrap{padding:0 18px 24px}
  .refinement-v40 .contact-v12-fields{grid-template-columns:1fr;gap:18px}
  .refinement-v40 .refined-upload,.refinement-v40 .upload-zone.refined-upload{grid-template-columns:40px 1fr;gap:12px;padding:14px}
  .refinement-v40 .upload-action{grid-column:2;margin-top:2px}
  .refinement-v40 .contact-v12-submit{align-items:stretch}
  .refinement-v40 .contact-v12-submit .btn{width:100%;min-width:0}
  .refinement-v40 .contact-v12-submit .submit-note{max-width:none;text-align:left}
  .refinement-v40 .premium-submit .btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .refinement-v40 *{scroll-behavior:auto!important}
}

/* Compatibility resets for legacy form rules touched by the v40 markup. */
.refinement-v40 .contact-v12-upload>span:nth-child(3){display:block;gap:0}
.refinement-v40 .contact-v12-submit .btn span{margin-left:0}

/* Current v38 portfolio + project system typography normalization -------- */
.refinement-v40.projects-v38 .portfolio-v38-hero h1{
  font-size:clamp(50px,4.6vw,74px);
  line-height:.98;
  letter-spacing:-.04em;
  font-family:var(--v40-font-display);
}
.refinement-v40.projects-v38 .portfolio-v38-hero .portfolio-intro p{font-size:17px;line-height:1.66;letter-spacing:0}
.refinement-v40.projects-v38 .portfolio-filter{font-size:11.5px;font-weight:600;letter-spacing:0;padding:10px 14px}
.refinement-v40.projects-v38 .portfolio-grid-head{font-size:11px;letter-spacing:.09em}
.refinement-v40.projects-v38 .realization-hover>span{font-size:11px;letter-spacing:.10em}
.refinement-v40.projects-v38 .realization-hover strong{letter-spacing:-.026em}
.refinement-v40.projects-v38 .realization-hover small{font-size:13px;line-height:1.55}
.refinement-v40.projects-v38 .realization-caption h3{font-size:19px;letter-spacing:-.02em}
.refinement-v40.projects-v38 .realization-card.is-wide .realization-caption h3{font-size:22px}
.refinement-v40.projects-v38 .realization-caption p{font-size:11px;line-height:1.45}
.refinement-v40.projects-v38 .portfolio-v39-closing h2{font-size:clamp(38px,3.8vw,58px);line-height:1.01;letter-spacing:-.035em}

.refinement-v40.project-v38 .project-v38-title h1{
  font-family:var(--v40-font-display);
  font-size:clamp(50px,4.8vw,76px);
  line-height:.98;
  letter-spacing:-.04em;
}
.refinement-v40.project-v38 .project-v38-title>p:last-child{font-size:17px;line-height:1.66;letter-spacing:0}
.refinement-v40.project-v38 .project-v38-mini-facts span,
.refinement-v40.project-v38 .project-v38-facts-list span,
.refinement-v40.project-v38 .project-v38-hero-media figcaption,
.refinement-v40.project-v38 .project-v38-gallery-item figcaption{
  font-size:11px;
  line-height:1.45;
  letter-spacing:.09em;
}
.refinement-v40.project-v38 .project-v38-mini-facts strong,
.refinement-v40.project-v38 .project-v38-facts-list strong{font-size:14px;line-height:1.5}
.refinement-v40.project-v38 .project-v38-overview{padding-block:var(--sp-10)}
.refinement-v40.project-v38 .project-v38-overview-copy h2,
.refinement-v40.project-v38 .project-v38-section-head h2,
.refinement-v40.project-v38 .project-v38-scope h2{
  font-family:var(--v40-font-display);
  font-size:clamp(34px,3.1vw,50px);
  line-height:1.03;
  letter-spacing:-.032em;
}
.refinement-v40.project-v38 .project-v38-overview-copy p:not(.overline){font-size:16px;line-height:1.7;letter-spacing:0}
.refinement-v40.project-v38 .project-v38-facts{background:#f8fafb;border-color:var(--v40-line);box-shadow:none}
.refinement-v40.project-v38 .project-v38-facts-list>div{border-color:#e3e8ed}
.refinement-v40.project-v38 .project-v38-gallery{padding-block:var(--sp-10)}
.refinement-v40.project-v38 .project-v38-scope{padding-block:var(--sp-9)}
.refinement-v40.project-v38 .project-v38-scope li{font-size:13px;letter-spacing:0}
.refinement-v40.project-v38 .project-v38-scope p{font-size:15px;line-height:1.68}

/* Small text that should remain readable, not decorative noise ------------ */
.refinement-v40 .hero-signature-disciplines{font-size:10.5px;letter-spacing:.10em}
.refinement-v40 .hero-signature-caption span{font-size:10.5px;letter-spacing:.10em}
.refinement-v40 .hero-signature-caption strong{font-size:12.5px}
.refinement-v40 .promise{font-size:11px;line-height:1.45;letter-spacing:.10em}
.refinement-v40 .project-meta p{font-size:11px;line-height:1.45;letter-spacing:.08em}
.refinement-v40 .diagram-note :where(span,p){font-size:11px;letter-spacing:.08em}
.refinement-v40 .bim-tags span{font-size:11px;letter-spacing:.08em}
.refinement-v40 .bim-tools span{font-size:11px;letter-spacing:.08em}
.refinement-v40 .bim-capabilities article>span{font-size:11px;letter-spacing:.09em}
.refinement-v40 .about-photo figcaption{font-size:11px;letter-spacing:.08em}
.refinement-v40 .contact-offices span{font-size:11px;letter-spacing:.10em}
.refinement-v40 .contact-path-kicker{font-size:11px;letter-spacing:.10em}
.refinement-v40 .contact-directory span{font-size:11px;letter-spacing:.09em}
.refinement-v40 .contact-v12-sign p{font-size:11px;letter-spacing:.10em}
.refinement-v40 .project-fact-list span,
.refinement-v40 .project-next span,
.refinement-v40 .project-nav-card span,
.refinement-v40 .project-hero-facts span,
.refinement-v40 .project-facts-pro-grid span,
.refinement-v40 .project-partners-grid span{font-size:11px;letter-spacing:.09em}
.refinement-v40 .portfolio-contact-mail small{font-size:11px;letter-spacing:.10em}
.refinement-v40 .footer-brand>span{font-size:11px!important;letter-spacing:.09em!important}

@media(max-width:700px){
  .refinement-v40.project-v38 .project-v38-title h1{font-size:clamp(40px,10vw,54px);line-height:.99}
  .refinement-v40.projects-v38 .portfolio-grid-head{font-size:10.5px}
}


/* v41 portfolio filter refinement --------------------------------------- */
.refinement-v40.projects-v38 .portfolio-hero-grid{align-items:end}
.refinement-v40.projects-v38 .portfolio-intro{max-width:560px}
.refinement-v40.projects-v38 .portfolio-intro > span{display:none}

.refinement-v40.projects-v38 .portfolio-toolbar{
  padding:18px 0 16px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.refinement-v40.projects-v38 .portfolio-toolbar::-webkit-scrollbar{display:none}
.refinement-v40.projects-v38 .portfolio-filters{
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:nowrap;
  width:max-content;
  min-width:100%;
  padding:2px 0;
}
.refinement-v40.projects-v38 .portfolio-filter,
.refinement-v40.projects-v38 .portfolio-filter:first-child{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:8px 0 10px;
  border:0;
  background:transparent;
  color:#667280;
  font-size:12.5px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.002em;
  white-space:nowrap;
  box-shadow:none;
}
.refinement-v40.projects-v38 .portfolio-filter::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  border-radius:999px;
  background:transparent;
  transform:scaleX(.55);
  transform-origin:center;
  transition:transform .22s ease, background-color .22s ease;
}
.refinement-v40.projects-v38 .portfolio-filter:hover{color:#13202d;background:transparent}
.refinement-v40.projects-v38 .portfolio-filter:hover::after{background:#d7e0e8;transform:scaleX(.9)}
.refinement-v40.projects-v38 .portfolio-filter.is-active{color:#111b25;background:transparent}
.refinement-v40.projects-v38 .portfolio-filter.is-active::after{background:#315f8d;transform:scaleX(1)}
.refinement-v40.projects-v38 .portfolio-filter .filter-count{display:none}
.refinement-v40.projects-v38 .portfolio-grid-head{padding-top:6px}

@media (max-width: 1100px){
  .refinement-v40.projects-v38 .portfolio-filters{gap:22px}
  .refinement-v40.projects-v38 .portfolio-filter,
  .refinement-v40.projects-v38 .portfolio-filter:first-child{font-size:12px}
}
@media (max-width: 899px){
  .refinement-v40.projects-v38 .portfolio-toolbar{padding:14px 0 12px}
}
