:root {
  --font-family: "Nunito", sans-serif;
  --font-size-base: 15.1px;
  --line-height-base: 1.95;

  --max-w: 1080px;
  --space-x: 1.77rem;
  --space-y: 1.5rem;
  --gap: 0.81rem;
  --space-section-y: calc(var(--space-y) * 2.4);
  --space-section-x: var(--space-x);
  --space-block: calc(var(--gap) * 1.5);
  --space-card: calc(var(--space-y) * .75);
  --font-size-sm: calc(var(--font-size-base) * .875);
  --font-size-md: var(--font-size-base);
  --font-size-lg: calc(var(--font-size-base) * 1.125);
  --font-size-h3: calc(var(--font-size-base) * 1.35);
  --font-size-h2: calc(var(--font-size-base) * 2);
  --font-size-h1: calc(var(--font-size-base) * 2.65);
  --motion-distance: calc(var(--gap) * var(--random-number));

  --radius-xl: 1.3rem;
  --radius-lg: 1rem;
  --radius-md: 0.7rem;
  --radius-sm: 0.39rem;

  --shadow-sm: 0 0px 4px rgba(0,0,0,0.02);
  --shadow-md: 0 2px 18px rgba(0,0,0,0.03);
  --shadow-lg: 0 14px 26px rgba(0,0,0,0.03);

  --overlay: rgba(10, 8, 6, 0.7);
  --anim-duration: 510ms;
  --anim-ease: ease;
  --random-number: 2;

  --brand: #E8A33D;
  --brand-contrast: #1A120B;
  --accent: #D94F30;
  --accent-contrast: #FFF8F0;

  --neutral-0: #FFFFFF;
  --neutral-100: #F5F0EA;
  --neutral-300: #D6CBBF;
  --neutral-600: #8A7A6A;
  --neutral-800: #3E3228;
  --neutral-900: #1F1812;

  --page-bg: #0F0C0A;
  --page-fg: #F2E9DF;
  --muted-bg: #1F1812;
  --muted-fg: #E8DCCB;
  --card-bg: #241C15;
  --card-fg: #F2E9DF;
  --card-border: #4A3B2E;
  --inverse-bg: #F5F0EA;
  --inverse-fg: #2A211A;
  --primary-bg: #E8A33D;
  --primary-fg: #1A120B;
  --primary-hover: #D18C2C;
  --accent-bg: #D94F30;
  --accent-fg: #FFF8F0;
  --accent-hover: #C13E22;
  --gradient-hero-bg: linear-gradient(135deg, #0F0C0A 0%, #241C15 50%, #3A2A1A 100%);
  --gradient-hero-fg: #F2E9DF;
  --gradient-accent-bg: linear-gradient(135deg, #E8A33D 0%, #D94F30 100%);
  --gradient-accent-fg: #1A120B;

  --ring: #E8A33D;

  --link: #E8A33D;
  --link-hover: #D94F30;

  --btn-ghost-bg: transparent;
  --btn-ghost-bg-hover: color-mix(in srgb, currentColor 10%, transparent);
  --input-placeholder: rgba(255,255,255,0.55);
}
body{margin:0;padding:0;font-family:var(--font-family);box-sizing: border-box;}
*{box-sizing:border-box;}
a{color:inherit;}
.btn-primary,.btn.btn-primary{background:var(--primary-bg)!important;color:var(--primary-fg)!important;border-color:var(--primary-bg)!important;}
.btn-primary:hover,.btn.btn-primary:hover{background:var(--primary-hover)!important;color:var(--primary-fg)!important;border-color:var(--primary-hover)!important;}
.btn-outline-primary{color:var(--primary-bg)!important;border-color:var(--primary-bg)!important;}
.btn-outline-primary:hover{background:var(--primary-bg)!important;color:var(--primary-fg)!important;}
.bg-primary{background:var(--primary-bg)!important;color:var(--primary-fg)!important;}
.text-primary{color:var(--primary-bg)!important;}
.border-primary{border-color:var(--primary-bg)!important;}
.bg-light{background:var(--page-bg)!important;color:var(--page-fg)!important;}
.bg-dark{background:var(--inverse-bg)!important;color:var(--inverse-fg)!important;}

.site-header {
    width: 100%;
    background-color: var(--page-bg);
    border-bottom: 1px solid var(--card-border);
    position: relative;
  }

  .header-wrapper {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: var(--space-y) var(--space-x);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap);
  }

  .logo {
    font-size: var(--font-size-h3);
    font-weight: 700;
    color: var(--page-fg);
    text-decoration: none;
    letter-spacing: -0.02em;
    white-space: nowrap;
    transition: color var(--anim-duration) var(--anim-ease);
  }

  .logo:hover {
    color: var(--link-hover);
  }

  .nav-left,
  .nav-right {
    flex: 1;
  }

  .nav-left {
    display: flex;
    justify-content: flex-end;
  }

  .nav-right {
    display: flex;
    justify-content: flex-start;
  }

  .nav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--space-x);
  }

  .nav-link {
    font-size: var(--font-size-md);
    color: var(--page-fg);
    text-decoration: none;
    padding: var(--space-y) 0;
    position: relative;
    transition: color var(--anim-duration) var(--anim-ease);
  }

  .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--accent-bg);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--anim-duration) var(--anim-ease);
  }

  .nav-link:hover {
    color: var(--link-hover);
  }

  .nav-link:hover::after {
    transform: scaleX(1);
  }

  .burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    gap: 5px;
    background-color: var(--card-bg);
    border-radius: var(--radius-sm);
    transition: background-color var(--anim-duration) var(--anim-ease);
  }

  .burger:hover {
    background-color: var(--muted-bg);
  }

  .burger-line {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--card-fg);
    border-radius: 2px;
    transition: transform var(--anim-duration) var(--anim-ease), opacity var(--anim-duration) var(--anim-ease);
  }

  .burger.active .burger-line:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .burger.active .burger-line:nth-child(2) {
    opacity: 0;
  }

  .burger.active .burger-line:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .mobile-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--page-bg);
    border-bottom: 1px solid var(--card-border);
    padding: var(--space-y) var(--space-x);
    box-shadow: var(--shadow-md);
  }

  .mobile-menu.open {
    display: block;
  }

  .mobile-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-y);
  }

  .mobile-nav-link {
    display: block;
    font-size: var(--font-size-lg);
    color: var(--page-fg);
    text-decoration: none;
    padding: var(--space-y) 0;
    border-bottom: 1px solid var(--card-border);
    transition: color var(--anim-duration) var(--anim-ease), padding-left var(--anim-duration) var(--anim-ease);
  }

  .mobile-nav-link:hover {
    color: var(--link-hover);
    padding-left: var(--space-y);
  }

  @media (max-width: 767px) {
    .nav-left,
    .nav-right {
      display: none;
    }

    .burger {
      display: flex;
    }

    .header-wrapper {
      justify-content: space-between;
    }

    .logo {
      font-size: var(--font-size-h3);
    }
  }

  @media (min-width: 768px) {
    .mobile-menu {
      display: none !important;
    }
  }

.site-footer {
    background: var(--inverse-bg, #2d2a26);
    color: var(--inverse-fg, #f5f2ed);
    padding: var(--space-section-y, 3rem) var(--space-section-x, 1.5rem);
    font-family: var(--font-family, 'Georgia', serif);
    font-size: var(--font-size-base, 1rem);
    line-height: var(--line-height-base, 1.6);
  }

  .footer-container {
    max-width: var(--max-w, 1200px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--gap, 1.5rem);
    text-align: center;
  }

  .footer-contact {
    order: 1;
  }

  .contact-block {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-style: normal;
    padding: var(--space-card, 1.25rem);
    background: rgba(255, 255, 255, 0.05);
    border-radius: var(--radius-md, 8px);
  }

  .contact-item {
    color: var(--inverse-fg, #f5f2ed);
    text-decoration: none;
    font-size: var(--font-size-sm, 0.9rem);
    transition: color var(--anim-duration, 0.3s) var(--anim-ease, ease);
  }

  .contact-item:hover {
    color: var(--accent-fg, #e8a87c);
  }

  .contact-address {
    font-weight: 500;
  }

  .footer-brand {
    order: 2;
    margin-top: 0.5rem;
  }

  .footer-logo {
    font-size: var(--font-size-h2, 1.75rem);
    font-weight: 700;
    color: var(--inverse-fg, #f5f2ed);
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: color var(--anim-duration, 0.3s) var(--anim-ease, ease);
  }

  .footer-logo:hover {
    color: var(--accent-fg, #e8a87c);
  }

  .footer-nav {
    order: 3;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25rem;
    padding: 0.75rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .footer-nav-link {
    color: var(--inverse-fg, #f5f2ed);
    text-decoration: none;
    font-size: var(--font-size-sm, 0.9rem);
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm, 4px);
    transition: color var(--anim-duration, 0.3s) var(--anim-ease, ease), background-color var(--anim-duration, 0.3s) var(--anim-ease, ease);
  }

  .footer-nav-link:hover {
    color: var(--accent-fg, #e8a87c);
    background: rgba(255, 255, 255, 0.08);
  }

  .footer-legal {
    order: 4;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
  }

  .footer-legal-link {
    color: var(--muted-fg, #b8b2ac);
    text-decoration: none;
    font-size: var(--font-size-sm, 0.9rem);
    transition: color var(--anim-duration, 0.3s) var(--anim-ease, ease);
  }

  .footer-legal-link:hover {
    color: var(--accent-fg, #e8a87c);
    text-decoration: underline;
  }

  .footer-disclaimer {
    order: 5;
    max-width: 800px;
    margin: 0 auto;
  }

  .disclaimer-text {
    font-size: var(--font-size-sm, 0.85rem);
    color: var(--muted-fg, #b8b2ac);
    line-height: 1.5;
    margin: 0;
    padding: 0.75rem 1rem;
    background: rgba(255, 255, 255, 0.03);
    border-radius: var(--radius-sm, 4px);
    border-left: 3px solid var(--accent-bg, #e8a87c);
  }

  .footer-bottom {
    order: 6;
    padding-top: 0.5rem;
  }

  .copyright {
    font-size: var(--font-size-sm, 0.85rem);
    color: var(--muted-fg, #b8b2ac);
    margin: 0;
  }

  @media (min-width: 768px) {
    .site-footer {
      padding: var(--space-section-y, 4rem) var(--space-section-x, 2rem);
    }

    .footer-container {
      gap: 2rem;
    }

    .contact-block {
      flex-direction: row;
      justify-content: center;
      flex-wrap: wrap;
      gap: 1.5rem;
    }

    .contact-item {
      font-size: var(--font-size-base, 1rem);
    }

    .footer-nav {
      gap: 2rem;
    }

    .footer-legal {
      gap: 2rem;
    }
  }

.cookies{position:fixed;left:var(--space-x);right:var(--space-x);bottom:var(--space-y);z-index:1200;}

    .cookies .wrap{max-width:var(--max-w);margin:0 auto;padding:var(--space-y) var(--space-x);background:var(--accent-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr auto;gap:var(--gap);align-items:center;color:var(--accent-fg);}

    .cookies .text strong{display:block;margin-bottom:4px;}

    .cookies .text p{margin:0;opacity:.95;}

    .cookies .actions{display:flex;gap:8px;flex-wrap:wrap;}

    .cookies .actions button{border:1px solid color-mix(in srgb, currentColor 12%, transparent);background:color-mix(in srgb, currentColor 20%, transparent);color:inherit;border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;}

    .cookies .actions button.cookie-accept{background:var(--inverse-bg);color:var(--inverse-fg);}

    @media (max-width: 760px){.cookies .wrap{grid-template-columns:1fr;}
    }

.rise__welcome{padding:calc(var(--space-y)*2.9) var(--space-x);background:var(--muted-bg);color:var(--muted-fg);}
.rise__welcome .clearpanel-shell{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:1rem;}.rise__welcome .clearpanel-box{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:1.25rem;color:var(--card-fg);}.rise__welcome h1{margin:0;font-size:clamp(2.3rem,5.4vw,4.8rem);line-height:.98;}.rise__welcome p{margin:1rem 0;color:var(--muted-fg);}
.rise__welcome .clearpanel-box div{display:flex;gap:.55rem;flex-wrap:wrap;}.rise__welcome a{background:var(--primary-bg);color:var(--primary-fg);border-radius:var(--radius-md);padding:.72rem .95rem;text-decoration:none;}.rise__welcome a+a{background:var(--muted-bg);color:var(--muted-fg);}.rise__welcome .clearpanel-stats{display:grid;gap:1rem;}.rise__welcome .article{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1rem;color:var(--card-fg);}.rise__welcome strong{display:block;font-size:1.55rem;}.rise__welcome span{color:var(--muted-fg);}
@media (max-width:820px){.rise__welcome .clearpanel-shell{grid-template-columns:1fr;}}

.project-gallery___signal.colored {
    padding: 60px 20px;
    background: var(--inverse-bg);
    color: var(--inverse-fg);
}

.project-gallery___signal .inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.project-gallery___signal .header {
    text-align: center;
    margin-bottom: 24px;
}

.project-gallery___signal .header h2 {
    margin: 0 0 4px;
    font-size: clamp(24px, 4vw, 30px);
}

.project-gallery___signal .header p {
    margin: 0;
}

.project-gallery___signal .grid {
    display: grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.project-gallery___signal .card {
    border-radius: var(--radius-xl);
    padding: 12px 14px;
    background: var(--inverse-fg);
    border: 1px solid rgba(148, 163, 184, 0.7);
    color: var(--inverse-bg);
}

.project-gallery___signal .mod-active {
    border-color: var(--accent-bg);
}

.project-gallery___signal .mod-paused {
    border-color: var(--accent-bg);
}

.project-gallery___signal .mod-archived {
    border-color: var(--accent-bg);
}

.project-gallery___signal .name {
    margin: 0 0 3px;
    font-size: 0.95rem;
}

.project-gallery___signal .meta {
    margin: 0;
    font-size: 0.85rem;
}

.case___accent{
    background:var(--page-bg);
    color:var(--page-fg);
    padding:var(--space-section-y) var(--space-section-x);
  }
  .case___accent .wrap{
    max-width:var(--max-w);
    margin:0 auto;
    display:flex;
    gap:var(--space-block);
    align-items:flex-start;
  }
  .case___accent .phrase{
    flex:0 1 34rem;
    min-width:0;
  }
  .case___accent h2{
    margin:0;
    font-size:var(--font-size-h1);
    line-height:1.05;
    letter-spacing:0;
  }
  .case___accent .phrase a{
    display:inline-flex;
    margin-top:var(--space-block);
    color:var(--page-fg);
    text-decoration:none;
    border:1px solid var(--card-border);
    border-radius:var(--radius-xl);
    padding:.75rem 1rem;
    transition:border-color var(--anim-duration) var(--anim-ease), color var(--anim-duration) var(--anim-ease);
  }
  .case___accent .phrase a:hover{
    border-color:var(--primary-bg);
    color:var(--primary-bg);
  }
  .case___accent .group{
    flex:1 1 auto;
    min-width:0;
  }
  .case___accent .group > p{
    margin:0 0 var(--space-block);
    color:var(--muted-fg);
    font-size:var(--font-size-lg);
    line-height:var(--line-height-base);
  }
  .case___accent .item{
    padding:var(--space-y);
    background:var(--card-bg);
    border:1px solid var(--card-border);
    border-radius:var(--radius-md);
  }
  .case___accent .item + .item{
    margin-top:.75rem;
  }
  .case___accent .item strong,
  .case___accent .item span{
    display:block;
  }
  .case___accent .item strong{
    color:var(--card-fg);
  }
  .case___accent .item span{
    margin-top:.35rem;
    color:var(--muted-fg);
    line-height:var(--line-height-base);
  }
  @media (max-width:760px){
    .case___accent .wrap{display:block}
    .case___accent .group{margin-top:var(--space-block)}
  }

.pathway--main{padding:var(--space-section-y) var(--space-section-x);background:var(--accent-bg);color:var(--accent-fg)}
.pathway--main .wrap{max-width:var(--max-w);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-block);align-items:center;border:1px solid color-mix(in srgb,currentColor 26%,transparent);border-radius:var(--radius-xl);padding:var(--gap);background:color-mix(in srgb,var(--muted-bg) 76%,transparent)}
.pathway--main .wrap>*{min-width:0;flex:1 1 12rem}
.pathway--main span{display:block;margin-bottom:var(--space-card);font-size:var(--font-size-sm);color:var(--primary-bg)}
.pathway--main h2{max-width:18ch;margin:0;font-size:var(--font-size-h1);line-height:1.02;color:var(--page-fg)}
.pathway--main p{max-width:52rem;margin:var(--space-y) 0 0;font-size:var(--font-size-lg);line-height:var(--line-height-base)}
.pathway--main a{border-radius:var(--radius-sm);background:var(--primary-bg);color:var(--primary-fg);padding:var(--space-card) var(--space-y);text-decoration:none;white-space:nowrap}
@media(max-width:720px){.pathway--main .wrap{display:block}.pathway--main a{display:inline-flex;margin-top:var(--space-y);white-space:normal}}

.path_help-answers {
  background: var(--page-bg);
  color: var(--page-fg);
  padding: var(--space-section-y) var(--space-section-x);
}
.path_help-answers .wrap {
  width: min(100%, 60rem);
  margin: 0 auto;
}
.path_help-answers h2,
.path_help-answers h3,
.path_help-answers p { margin: 0; }
.path_help-answers h2 { font-size: var(--font-size-h1); line-height: 1.03; }
.path_help-answers h3 { font-size: var(--font-size-h3); line-height: 1.16; }
.path_help-answers p { font-size: var(--font-size-md); line-height: var(--line-height-base); }
.path_help-answers .article {
  display: flex;
  flex-direction: column;
  gap: var(--space-y);
  max-width: 62ch;
}
.path_help-answers .chapter span { color: var(--muted-fg); }
.path_help-answers .chapters {
  display: flex;
  flex-direction: column;
  gap: var(--space-card);
  margin-top: var(--space-block);
}
.path_help-answers .chapter {
  display: flex;
  flex-direction: column;
  gap: var(--space-card);
  padding: 0 0 var(--space-y) var(--space-y);
  border-left: 1px solid var(--card-border);
}
.path_help-answers .chapter:nth-child(2n) { padding-top: var(--space-card); }
.path_help-answers .cta {
  margin-top: var(--space-block);
  width: fit-content;
  padding: calc(var(--space-card) * .75) var(--space-y);
  border-radius: var(--radius-md);
  background: var(--primary-bg);
  color: var(--primary-fg);
  text-decoration: none;
}
@media (max-width: 860px) {
  .path_help-answers h2 { font-size: clamp(var(--font-size-h2), 13vw, var(--font-size-h1)); }
}

.matrix__snapshot{padding:clamp(56px,8vw,104px) clamp(16px,4vw,40px);background:var(--gradient-hero-bg);color:var(--gradient-hero-fg);}

    .matrix__snapshot .wrap{max-width:var(--max-w);margin:0 auto;}

    .matrix__snapshot .head{text-align:center;margin-bottom:18px;}

    .matrix__snapshot .head p{margin:0;opacity:.9;letter-spacing:.08em;text-transform:uppercase;}

    .matrix__snapshot .head h2{margin:8px 0;font-size:clamp(30px,5vw,52px);}

    .matrix__snapshot .head span{display:block;max-width:74ch;margin:0 auto;opacity:.92;}

    .matrix__snapshot .grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(290px,1fr));}

    .matrix__snapshot .grid article{border:1px solid color-mix(in srgb, currentColor 25%, transparent);background:color-mix(in srgb, currentColor 12%, transparent);border-radius:var(--radius-lg);padding:var(--space-y) var(--space-x);box-shadow:var(--shadow-md);}

    .matrix__snapshot .icon{font-size:1.6rem;margin-bottom:8px;}

    .matrix__snapshot .grid h3{margin:0;}

    .matrix__snapshot .grid p{margin:7px 0;opacity:.92;}

    .matrix__snapshot .grid small{opacity:.9;}

.table_people-behind {
  background: var(--page-bg);
  color: var(--page-fg);
  padding: var(--space-section-y) var(--space-section-x);
}
.table_people-behind .wrap {
  width: min(100%, var(--max-w));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .38fr) minmax(0, 1fr);
  gap: var(--gap);
}
.table_people-behind h2,
.table_people-behind h3,
.table_people-behind p { margin: 0; }
.table_people-behind h2 { font-size: var(--font-size-h2); line-height: 1.08; }
.table_people-behind h3 { font-size: var(--font-size-h3); line-height: 1.16; }
.table_people-behind p { font-size: var(--font-size-md); line-height: var(--line-height-base); }
.table_people-behind .caption {
  display: grid;
  gap: var(--space-y);
  align-content: start;
}
.table_people-behind .line span { color: var(--muted-fg); }
.table_people-behind .ledger {
  display: grid;
  border-top: 1px solid var(--card-border);
}
.table_people-behind .line {
  display: grid;
  grid-template-columns: minmax(5rem, .14fr) minmax(10rem, .32fr) minmax(0, 1fr);
  gap: var(--space-y);
  padding: var(--space-y) 0;
  border-bottom: 1px solid var(--card-border);
}
.table_people-behind .foot {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap);
  padding: var(--space-y);
  border-radius: var(--radius-lg);
  background: var(--card-bg);
  color: var(--card-fg);
  border: 1px solid var(--card-border);
}
.table_people-behind .foot a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
@media (max-width: 800px) {
  .table_people-behind .wrap,
  .table_people-behind .line { grid-template-columns: 1fr; }
  .table_people-behind .foot { flex-direction: column; align-items: flex-start; }
}

.case-list---portfolio {
    padding: 48px 20px;
    background: var(--card-bg);
    color: var(--card-fg);
}

.case-list---portfolio .inner {
    max-width: var(--max-w);
    margin: 0 auto;
}

.case-list---portfolio .inner h2 {
    margin: 0 0 10px;
    font-size: clamp(22px, 3.5vw, 28px);
}

.case-list---portfolio .list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-radius: var(--radius-xl);
    background: var(--page-bg);
    border: 1px solid var(--card-border);
    overflow: hidden;
    color: var(--page-fg);
}

.case-list---portfolio .row {
    display: grid;
    grid-template-columns:minmax(0, 1.6fr) auto;
    gap: 12px;
    padding: 8px 12px;
    border-top: 1px solid var(--card-border);
    text-decoration: none;
    color: inherit;
    transition: background var(--anim-duration) var(--anim-ease);
}

.case-list---portfolio .row:first-child {
    border-top: none;
}

.case-list---portfolio .row:hover {
    background: var(--muted-bg);
    color: var(--muted-fg);
}

.case-list---portfolio .row-title {
    font-size: 0.9rem;
}

.case-list---portfolio .row-meta {
    font-size: 0.9rem;
    color: var(--muted-fg);
}

.partners--open {
  background: var(--gradient-hero-bg);
  color: var(--gradient-hero-fg);
  padding: var(--space-section-y) var(--space-section-x);
  overflow: hidden;
}
.partners--open .wrap {
  width: min(100%, var(--max-w));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .42fr) minmax(0, 1fr);
  gap: var(--gap);
}
.partners--open h2,
.partners--open h3,
.partners--open p { margin: 0; }
.partners--open h2 { font-size: var(--font-size-h2); line-height: 1.08; }
.partners--open h3 { font-size: var(--font-size-h3); line-height: 1.16; }
.partners--open p { font-size: var(--font-size-md); line-height: var(--line-height-base); }
.partners--open .core {
  border-radius: 50%;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  gap: var(--space-y);
  padding: var(--space-block);
  text-align: center;
  background: var(--gradient-accent-bg);
  color: var(--gradient-accent-fg);
  align-self: center;
}
.partners--open .orbit {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-card);
}
.partners--open [data-block] {
  min-height: 13rem;
  padding: var(--space-y);
  border-radius: var(--radius-lg);
  background: var(--card-bg);
  color: var(--card-fg);
  border: 1px solid var(--card-border);
  display: grid;
  gap: var(--space-card);
  animation: partnersOrbitIn calc(var(--anim-duration) * 2.2) var(--anim-ease) both;
  animation-delay: var(--delay, 0ms);
}
.partners--open [data-block]:nth-child(2n) { transform: translateY(var(--space-y)); }
.partners--open [data-block] b { color: var(--muted-fg); }
.partners--open .action {
  grid-column: 2;
  width: fit-content;
  padding: calc(var(--space-card) * .75) var(--space-y);
  border-radius: var(--radius-md);
  background: var(--primary-bg);
  color: var(--primary-fg);
  text-decoration: none;
}
@keyframes partnersOrbitIn {
  from { opacity: .2; transform: translateY(calc(var(--motion-distance) * .18)); }
  to { opacity: 1; }
}
@media (max-width: 820px) {
  .partners--open .wrap,
  .partners--open .orbit { grid-template-columns: 1fr; }
  .partners--open .core { border-radius: var(--radius-xl); aspect-ratio: auto; text-align: left; }
  .partners--open [data-block]:nth-child(2n) { transform: none; }
  .partners--open .action { grid-column: auto; }
}

.core___location{padding:var(--space-section-y) var(--space-section-x);background:var(--gradient-accent-bg);color:var(--gradient-accent-fg)}
.core___location .harbor{max-width:var(--max-w);margin:0 auto}
.core___location .intro{display:flex;justify-content:space-between;gap:var(--gap);align-items:flex-end;margin-bottom:var(--gap)}
.core___location h2{margin:0;font-size:var(--font-size-h1);line-height:1;max-width:14ch}
.core___location .intro p{margin:0;max-width:34rem;font-size:var(--font-size-lg)}
.core___location .line{height:clamp(22rem,42vw,34rem);border-radius:var(--radius-xl);overflow:hidden;border:1px solid color-mix(in srgb,currentColor 25%,transparent);box-shadow:var(--shadow-md)}
.core___location iframe{display:block;width:100%;height:100%;border:0}
.core___location .strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-card);margin-top:var(--space-card)}
.core___location .point{padding:var(--space-card);border-radius:var(--radius-md);background:var(--page-bg);color:var(--page-fg)}
.core___location .point span{font-size:var(--font-size-sm);color:var(--muted-fg)}
.core___location .point strong{display:block;margin-top:calc(var(--space-card) * .5)}
@media (max-width: 800px){.core___location .intro{display:block}.core___location .intro p{margin-top:var(--space-y)}.core___location .strip{grid-template-columns:1fr}.core___location .line{height:24rem}}

.contact-form---wrap{padding:var(--space-section-y) var(--space-section-x);background:var(--page-bg);color:var(--page-fg)}
.contact-form---wrap .wrap{max-width:var(--max-w);margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-block)}
.contact-form---wrap .wrap>*{min-width:0;flex:1 1 12rem}
.contact-form---wrap .summary{position:relative;padding-top:var(--space-y)}
.contact-form---wrap .summary:before{content:"";position:absolute;top:0;left:0;width:calc(var(--gap)*1.4);height:1px;background:var(--primary-bg)}
.contact-form---wrap h2{margin:0;font-size:var(--font-size-h2);line-height:1.08}
.contact-form---wrap .summary p{margin:var(--space-y) 0 0;line-height:var(--line-height-base);color:var(--muted-fg)}
.contact-form---wrap form{display:flex;flex-wrap:wrap;gap:var(--gap);align-items:start}
.contact-form---wrap form>*{min-width:0;flex:1 1 17rem}
.contact-form---wrap .pairs{display:flex;flex-wrap:wrap;gap:1px;background:color-mix(in srgb,var(--card-border) 60%,transparent);border:1px solid color-mix(in srgb,var(--card-border) 60%,transparent)}
.contact-form---wrap .pairs>*{min-width:0;flex:1 1 20rem}
.contact-form---wrap label{display:block;background:var(--card-bg);color:var(--card-fg);padding:var(--space-y)}
.contact-form---wrap span{display:block;margin-bottom:var(--space-card);font-size:var(--font-size-sm);color:var(--muted-fg)}
.contact-form---wrap input{width:100%;border:0;background:transparent;color:inherit;font:inherit;outline:none}
.contact-form---wrap input::placeholder{color:color-mix(in srgb,var(--card-fg) 45%,transparent)}
.contact-form---wrap input:focus{box-shadow:0 1px 0 var(--ring)}
.contact-form---wrap .confirm{background:var(--accent-bg);color:var(--accent-fg);border-radius:var(--radius-md);padding:var(--space-y)}
.contact-form---wrap .confirm p{margin:0 0 var(--space-y);font-size:var(--font-size-sm);line-height:var(--line-height-base)}
.contact-form---wrap button{width:100%;border:0;border-radius:var(--radius-sm);background:var(--primary-bg);color:var(--primary-fg);font:inherit;padding:var(--space-card);cursor:pointer}
.contact-form---wrap button:hover{background:var(--primary-hover)}
@media(max-width:920px){.contact-form---wrap .wrap,.contact-form---wrap form{display:block}.contact-form---wrap form{margin-top:var(--space-block)}.contact-form---wrap .confirm{margin-top:var(--space-y)}}
@media(max-width:560px){.contact-form---wrap .pairs{display:block}.contact-form---wrap label{border-bottom:1px solid color-mix(in srgb,var(--card-border) 50%,transparent)}}

.contact-point_-light {
  position: relative;
  overflow: hidden;
  padding: var(--space-section-y) var(--space-section-x);
  background: var(--gradient-hero-bg);
  color: var(--gradient-hero-fg);
}
.contact-point_-light::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(98deg, transparent 0 13%, color-mix(in srgb, currentColor 6%, transparent) 13% 13.1%);
  transform: translateX(-3%);
  animation: contactFieldMove calc(var(--anim-duration) * 40) linear infinite alternate;
  pointer-events: none;
}
.contact-point_-light .wrap {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  max-width: var(--max-w);
  margin: 0 auto;
}
.contact-point_-light .message {
  max-width: 60rem;
  margin: 0 0 var(--space-block);
  padding: var(--space-y) 0;
}
.contact-point_-light h2 {
  margin: 0;
  font-size: var(--font-size-h1);
  line-height: 1;
}
.contact-point_-light .message p {
  max-width: 40rem;
  margin: var(--space-y) 0 0;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-base);
}
.contact-point_-light .base {
  display: flex;
  justify-content: space-between;
  gap: var(--gap);
  padding-top: var(--space-y);
  border-top: 1px solid color-mix(in srgb, currentColor 30%, transparent);
}
.contact-point_-light .place {
  display: flex;
  gap: var(--gap);
}
.contact-point_-light .place p {
  max-width: 24rem;
  margin: 0;
  line-height: var(--line-height-base);
}
.contact-point_-light .actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-card);
}
.contact-point_-light .actions a {
  color: inherit;
  font-size: var(--font-size-lg);
  overflow-wrap: anywhere;
  text-underline-offset: .2em;
}
.contact-point_-light .network {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-y);
  padding-top: var(--space-y);
}
.contact-point_-light .network a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.contact-point_-light .network span {
  opacity: .65;
}
@keyframes contactFieldMove {
  from { transform: translateX(-3%); opacity: .45; }
  to { transform: translateX(3%); opacity: .8; }
}
@media (max-width: 720px) {
  .contact-point_-light .base,
  .contact-point_-light .place {
    display: block;
  }
  .contact-point_-light .place p + p {
    margin-top: var(--space-card);
  }
  .contact-point_-light .actions {
    align-items: flex-start;
    margin-top: var(--space-y);
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-point_-light::after { animation: none; }
}

.stacked-service-help{
    background:#fff;
    color:#0c1219;
    padding:var(--space-section-y) var(--space-section-x);
  }
  .stacked-service-help .wrap{
    max-width:54rem;
    margin:0 auto;
  }
  .stacked-service-help .intro{
    display:flex;
    gap:var(--space-block);
    align-items:flex-start;
  }
  .stacked-service-help h2{
    flex:1 1 24rem;
    min-width:0;
    margin:0;
    font-size:var(--font-size-h2);
    line-height:1.08;
    letter-spacing:0;
  }
  .stacked-service-help .intro p{
    flex:0 1 20rem;
    min-width:0;
    margin:0;
    color:#55606c;
    line-height:var(--line-height-base);
  }
  .stacked-service-help .flow{
    margin-top:var(--space-block);
    display:flex;
    flex-wrap:wrap;
    gap:var(--gap);
  }
  .stacked-service-help .flow a{
    flex:1 1 16rem;
    min-width:0;
    color:#0c1219;
    text-decoration:none;
    padding-top:var(--space-y);
    border-top:1px solid #cfd5dd;
  }
  .stacked-service-help .flow strong,
  .stacked-service-help .flow span{
    display:block;
  }
  .stacked-service-help .flow span{
    margin-top:.35rem;
    color:#586370;
    line-height:var(--line-height-base);
  }
  .stacked-service-help .action{
    display:inline-flex;
    margin-top:var(--space-block);
    color:#0c1219;
    text-decoration:none;
    border:1px solid #0c1219;
    border-radius:var(--radius-xl);
    padding:.75rem 1rem;
  }
  @media (max-width:680px){
    .stacked-service-help .intro{display:block}
    .stacked-service-help .intro p{margin-top:var(--space-y)}
    .stacked-service-help .flow{display:block}
    .stacked-service-help .flow a{display:block;margin-top:var(--gap)}
  }

.project___set{padding:clamp(48px,8vw,80px) 0;color:var(--page-fg);background:var(--page-bg);}

.project___set .inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--space-x);}

.project___set .content{max-width:800px;margin:0 auto;}

.project___set .content h2{margin-top:2rem;margin-bottom:1rem;}

.project___set .content h3{margin-top:2rem;margin-bottom:0.75rem;font-size:var(--font-size-lg);}

.project___set .content p{max-width:100%;margin-bottom:1.5rem;}

.project___set .content ul,.project___set .content ol{margin-left:2rem;margin-bottom:1.5rem;}

.project___set .content li{margin-bottom:0.5rem;line-height:1.6;}

.project___set .callout{margin-top:2rem;padding:clamp(16px,3vw,24px);background-color:var(--muted-bg);border-radius:var(--radius-lg);border:1px solid var(--card-border);color:var(--muted-fg);}

.project___set .callout p{margin:0;}

.project___set .actions{margin-top:2rem;text-align:center;}

.project___set .btn{display:inline-block;padding:12px 30px;border-radius:var(--radius-md);font-weight:500;text-align:center;transition:all var(--anim-duration) var(--anim-ease);cursor:pointer;border:1px solid var(--primary-bg);font-size:1rem;background-color:var(--primary-bg);color:var(--primary-fg);}

.project___set .btn:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--primary-fg);}

.grid-case-study{padding:clamp(48px,8vw,80px) 0;color:var(--page-fg);background:var(--page-bg);}

.grid-case-study .inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--space-x);}

.grid-case-study .content{max-width:800px;margin:0 auto;}

.grid-case-study .content h2{margin-top:2rem;margin-bottom:1rem;}

.grid-case-study .content p{max-width:100%;margin-bottom:1.5rem;}

.grid-case-study .content ul,.grid-case-study .content ol{margin-left:2rem;margin-bottom:1.5rem;}

.grid-case-study .content li{margin-bottom:0.5rem;line-height:1.6;}

.grid-case-study .callout{margin-top:2rem;padding:clamp(16px,3vw,24px);background-color:var(--muted-bg);border-radius:var(--radius-lg);border:1px solid var(--card-border);color:var(--muted-fg);}

.grid-case-study .callout p{margin:0;}

.grid-case-study .actions{margin-top:2rem;text-align:center;}

.grid-case-study .btn{display:inline-block;padding:12px 30px;border-radius:var(--radius-md);font-weight:500;text-align:center;transition:all var(--anim-duration) var(--anim-ease);cursor:pointer;border:1px solid var(--primary-bg);font-size:1rem;background-color:var(--primary-bg);color:var(--primary-fg);}

.grid-case-study .btn:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--primary-fg);}

.project__rail{padding:clamp(48px,8vw,80px) 0;color:var(--page-fg);background:var(--page-bg);}

.project__rail .inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--space-x);}

.project__rail .content{max-width:800px;margin:0 auto;}

.project__rail .content h2{margin-top:2rem;margin-bottom:1rem;font-size:var(--font-size-h2);line-height:1.2;}

.project__rail .content p{max-width:100%;margin-bottom:1.5rem;}

.project__rail .content ul,.project__rail .content ol{margin-left:2rem;margin-bottom:1.5rem;}

.project__rail .content li{margin-bottom:0.5rem;line-height:1.6;}

.project__rail .callout{margin-top:2rem;padding:clamp(16px,3vw,24px);background-color:var(--muted-bg);border-radius:var(--radius-lg);border:1px solid var(--card-border);color:var(--muted-fg);}

.project__rail .callout p{margin:0;}

.project__rail .actions{margin-top:2rem;text-align:center;}

.project__rail .btn{display:inline-block;padding:12px 30px;border-radius:var(--radius-md);font-weight:500;text-align:center;transition:all var(--anim-duration) var(--anim-ease);cursor:pointer;border:1px solid var(--primary-bg);font-size:1rem;background-color:var(--primary-bg);color:var(--primary-fg);}

.project__rail .btn:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--primary-fg);}

.badge_-policy-items{background:#0F0C0A;color:#F2E9DF;padding:var(--space-section-y) var(--space-section-x)}
.badge_-policy-items .wrap{max-width:min(var(--max-w),58rem);margin:0 auto}
.badge_-policy-items .minimal{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-block)}
.badge_-policy-items h2{margin:0;max-width:15ch;font-size:clamp(var(--font-size-h2),6vw,var(--font-size-h1));line-height:1.04;letter-spacing:0}
.badge_-policy-items .group{display:flex;flex-direction:column;gap:var(--space-y)}
.badge_-policy-items p{margin:0;max-width:46rem;line-height:1.65}
.badge_-policy-items strong{display:block;margin-bottom:calc(var(--space-card)*.35)}
.badge_-policy-items span{display:block;color:#D6CBBF}
.badge_-policy-items a{padding:var(--space-card) var(--gap);border-radius:var(--radius-md);background:#E8A33D;color:#1A120B;text-decoration:none;font-weight:700}

body{margin:0;padding:0;font-family:var(--font-family);box-sizing: border-box;}
  *{box-sizing:border-box;}
  a{color:inherit;}
  .btn-primary,.btn.btn-primary{background:var(--primary-bg)!important;color:var(--primary-fg)!important;border-color:var(--primary-bg)!important;}
  .btn-primary:hover,.btn.btn-primary:hover{background:var(--primary-hover)!important;color:var(--primary-fg)!important;border-color:var(--primary-hover)!important;}
  .btn-outline-primary{color:var(--primary-bg)!important;border-color:var(--primary-bg)!important;}
  .btn-outline-primary:hover{background:var(--primary-bg)!important;color:var(--primary-fg)!important;}
  .bg-primary{background:var(--primary-bg)!important;color:var(--primary-fg)!important;}
  .text-primary{color:var(--primary-bg)!important;}
  .border-primary{border-color:var(--primary-bg)!important;}
  .bg-light{background:var(--page-bg)!important;color:var(--page-fg)!important;}
  .bg-dark{background:var(--inverse-bg)!important;color:var(--inverse-fg)!important;}
.conditions-wide {
  padding: var(--space-section-y) var(--space-section-x);
  background: var(--inverse-bg);
  color: var(--inverse-fg);
}

.conditions-wide .wrap {
  max-width: var(--max-w);
  margin: 0 auto;
}

.conditions-wide .intro {
  max-width: 52rem;
  margin-bottom: var(--space-block);
}

.conditions-wide h2 {
  margin: 0;
  font-size: var(--font-size-h2);
  line-height: 1.08;
}

.conditions-wide .intro p {
  margin: var(--space-card) 0 0;
  color: var(--neutral-300);
  font-size: var(--font-size-lg);
}

.conditions-wide .catalog {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-card);
}

.conditions-wide .card {
  min-height: 14rem;
  padding: var(--space-card);
  border-radius: var(--radius-lg);
  background: var(--inverse-bg);
  color: var(--inverse-fg);
  border: 1px solid var(--neutral-800);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.conditions-wide .card span {
  color: var(--accent-bg);
  font-size: var(--font-size-sm);
}

.conditions-wide h3 {
  margin: calc(var(--space-card) * .5) 0 0;
  font-size: var(--font-size-h3);
}

.conditions-wide .card p {
  margin: var(--space-card) 0 0;
  color: var(--neutral-300);
}

@media (max-width: 700px) {
  .conditions-wide .catalog {
    grid-template-columns: 1fr;
  }
}

.board-thank {
  padding: var(--space-section-y) var(--space-section-x);
  background: var(--inverse-bg);
  color: var(--inverse-fg);
}

.board-thank .wrap {
  max-width: min(var(--max-w), 72rem);
  margin: 0 auto;
}

.board-thank h2 {
  margin: 0;
  max-width: 48rem;
  font-size: var(--font-size-h2);
  line-height: 1.08;
}

.board-thank .intro {
  margin: var(--space-card) 0 var(--space-block);
  max-width: 40rem;
  color: var(--neutral-300);
  font-size: var(--font-size-lg);
}

.board-thank .cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-card);
}

.board-thank .cards div {
  padding: var(--space-card);
  border: 1px solid var(--neutral-800);
  border-radius: var(--radius-lg);
  background: var(--inverse-bg);
  color: var(--inverse-fg);
}

.board-thank .cards strong {
  font-size: var(--font-size-h3);
}

.board-thank .cards p {
  margin: var(--space-card) 0 0;
  color: var(--neutral-300);
}

@media (max-width: 640px) {
  .board-thank .cards {
    grid-template-columns: 1fr;
  }
}

.bay--fallback-page {
  background:linear-gradient(180deg,var(--muted-bg,#1F1812),var(--page-bg,#0F0C0A));
  color:var(--page-fg,#F2E9DF);
  padding:var(--space-section-y,76px) var(--space-section-x,20px);
}
.bay--fallback-page .wrap {
  width:min(100%,var(--max-w,1080px));
  margin:0 auto;
}
.bay--fallback-page .flow {
  display:flex;
  flex-direction:column;
  gap:var(--space-block,38px);
}
.bay--fallback-page .top {
  max-width:760px;
}
.bay--fallback-page h1 {
  margin:0;
  font-size:clamp(var(--font-size-h2,34px),6vw,var(--font-size-h1,68px));
  line-height:1.02;
  letter-spacing:0;
}
.bay--fallback-page p {
  margin:var(--space-y,20px) 0 0;
  max-width:58ch;
  font-size:var(--font-size-lg,18px);
  line-height:1.65;
  color:color-mix(in srgb,currentColor 76%,transparent);
}
.bay--fallback-page .return {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--gap,24px);
  padding-top:var(--space-card,22px);
  border-top:1px solid color-mix(in srgb,currentColor 24%,transparent);
}
.bay--fallback-page .return > a {
  padding:13px 18px;
  border-radius:var(--radius-md,0.7rem);
  background:var(--primary-bg,#E8A33D);
  color:var(--primary-fg,#1A120B);
  text-decoration:none;
  font-weight:700;
  transition:background var(--anim-duration,510ms) var(--anim-ease,ease);
}
.bay--fallback-page .return > a:hover {
  background:var(--primary-hover,#D18C2C);
}
.bay--fallback-page ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 18px;
  margin:0;
  padding:0;
  list-style:none;
  min-width:0;
}
.bay--fallback-page li a {
  color:color-mix(in srgb,currentColor 82%,transparent);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color var(--anim-duration,510ms) var(--anim-ease,ease),color var(--anim-duration,510ms) var(--anim-ease,ease);
}
.bay--fallback-page li a:hover {
  color:var(--link-hover,#D94F30);
  border-color:var(--link-hover,#D94F30);
}
@media (max-width:680px) {
  .bay--fallback-page { padding:var(--space-section-y,56px) var(--space-section-x,16px); }
  .bay--fallback-page .return { align-items:flex-start; flex-direction:column; }
  .bay--fallback-page ul { justify-content:flex-start; }
}