:root {
      --bg-page:#f2fbf5;
      --ink:#0e120e;
      --muted:#587461;
      --line:#cfe5d6;
      --green:#1f7a38;
      --green-2:#176b2f;
      --radius-xl:24px;
      --radius:16px;
      --transition-fast:200ms ease;
      --transition:500ms cubic-bezier(.22,.61,.36,1);
      --container:1200px;

      --lake-900:#0b3e45;
      --lake-700:#0e6d73;
      --lake-500:#17a7ac;

      --leaf-600:#1f9b62;
      --leaf-400:#7ed4ad;

      --ink-deep:#173f3a;
      --ink-soft:#2d5f58;

      --btn-ink:#0f4a47;
      --btn-border:color-mix(in oklab, var(--lake-700), white 70%);

      --twistX:0px;
      --twistY:0px;
      --wave-rot:0deg;
      --bgx1:0px;
      --bgy1:0px;
      --bgx2:0px;
      --bgy2:0px;
      --bgx3:0px;
      --bgy3:0px;

      --ah-g1:#0e6d73;
      --ah-g2:#0b5e64;
      --ah-g3:#17929a;
      --ah-anim-speed:42s;

      --logo-g1:#1f6f3c;
      --logo-g2:#3c9157;
      --logo-g3:#86d0a3;
      --logo-ink:#1a4d2e;

      --brand:var(--lake-700);
      --brand-ink:color-mix(in oklab, var(--lake-900), black 6%);
      --brand-glass:color-mix(in oklab, var(--brand), white 82%);
      --brand-border:color-mix(in oklab, var(--brand), white 70%);
      --header-glass:rgba(255,255,255,.18);
      --header-glass-hover:rgba(255,255,255,.24);
      --drawer-logo:#ffffff;
    }

    *, *::before, *::after {
      box-sizing:border-box;
    }

    html {
      scroll-behavior:smooth;
    }

    body {
      margin:0;
      background:var(--bg-page);
      color:var(--ink);
      font:clamp(15.5px, 1rem + .15vw, 17px)/1.6 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, "Apple Color Emoji", "Segoe UI Emoji";
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
      font-weight:600;
      max-width:100%;
      overflow-x:clip;
    }

    img, video {
      max-width:100%;
      display:block;
    }

    a {
      color:inherit;
      text-decoration:none;
    }

    button {
      font:inherit;
      color:inherit;
      background:none;
      border:0;
      cursor:pointer;
    }

    ::selection {
      background:#fff;
      color:#000;
    }

    .container {
      width:min(calc(100% - 24px), var(--container));
      margin-inline:auto;
    }

    .panel {
      padding:28px;
      border-radius:var(--radius-xl);
      border:1px solid #e2f0e6;
      background:#fff;
      box-shadow:0 10px 28px rgba(16,54,30,.06), 0 2px 6px rgba(16,54,30,.05);
      color:var(--ink);
    }

    .panel .lead {
      color:#415a49;
    }

    .panel h1,
    .panel h2,
    .panel h3 {
      color:var(--green-2);
      margin-top:0;
    }

    h2 {
      font-size:clamp(24px, 3.5vw, 42px);
      margin:0 0 12px;
    }

    .section-block {
      margin-top:20px;
      display:grid;
      gap:18px;
    }

    header.site {
      position:fixed;
      inset:0 0 auto 0;
      z-index:5000;
      padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
      background:var(--header-glass) !important;
      backdrop-filter:blur(10px) saturate(160%);
      -webkit-backdrop-filter:blur(10px) saturate(160%);
      box-shadow:0 8px 10px rgba(0,0,0,.06) !important;
      border-bottom:0 !important;
      background-clip:padding-box !important;
      transform:translateZ(0);
      will-change:transform;
    }

    .nav {
      position:relative;
      min-height:48px;
      width:min(calc(100% - 12px), var(--container));
      margin-inline:auto;
    }

    .nav .left {
      position:absolute;
      left:0;
      top:50%;
      transform:translateY(-50%);
      display:flex;
      align-items:center;
      gap:8px;
      z-index:2;
    }

    .brand {
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%, -50%);
      display:flex;
      justify-content:center;
      z-index:1;
    }

    .logo-slot {
      width:160px;
      height:48px;
      border-radius:12px;
      display:grid;
      place-items:center;
      color:#2e7b45;
      font-weight:700;
    }

    .nav-actions {
      position:absolute;
      right:0;
      top:50%;
      transform:translateY(-50%);
      display:flex;
      align-items:center;
      gap:8px;
      z-index:2;
    }

    .hdr-btn {
      width:38px;
      height:38px;
      border-radius:999px;
      display:inline-grid;
      place-items:center;
      color:var(--brand);
      border:1px solid transparent;
      transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease;
      overflow:hidden;
      isolation:isolate;
    }

    .hdr-btn:hover {
      background:var(--header-glass-hover) !important;
      transform:translateY(-1px);
    }

    .hdr-btn:active {
      transform:translateY(0);
      transition-duration:.08s;
    }

    .hdr-btn:focus-visible {
      outline:none;
      box-shadow:0 0 0 3px color-mix(in oklab, var(--brand), white 70%) inset;
    }

    .nav .burger span {
      display:block;
      width:20px;
      height:2px;
      background:currentColor;
      position:relative;
      border-radius:2px;
      transition:background .25s ease;
    }

    .nav .burger span::before,
    .nav .burger span::after {
      content:"";
      position:absolute;
      left:0;
      width:20px;
      height:2px;
      background:currentColor;
      border-radius:2px;
      transition:transform .35s cubic-bezier(.2,.7,.2,1), opacity .2s ease, top .35s cubic-bezier(.2,.7,.2,1);
    }

    .nav .burger span::before {
      top:-6px;
    }

    .nav .burger span::after {
      top:6px;
    }

    .nav .burger[aria-expanded="true"] span {
      background:transparent;
    }

    .nav .burger[aria-expanded="true"] span::before {
      top:0;
      transform:rotate(45deg);
    }

    .nav .burger[aria-expanded="true"] span::after {
      top:0;
      transform:rotate(-45deg);
    }

    .drawer {
      position:fixed;
      inset:0;
      pointer-events:none;
      z-index:10000;
    }

    .drawer.active {
      pointer-events:auto;
    }

    .drawer .scrim {
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.62);
      opacity:0;
      transition:opacity var(--transition-fast);
      backdrop-filter:saturate(110%) blur(2px);
    }

    .drawer.active .scrim {
      opacity:1;
    }

    .drawer .panel {
      position:fixed;
      left:0;
      top:0;
      bottom:0;
      width:min(84vw, 420px);
      padding:calc(20px + env(safe-area-inset-top)) 20px 24px;
      display:flex;
      flex-direction:column;
      gap:18px;
      max-height:100svh;
      overflow:auto;
      color:#fff;
      transform:translateX(-100%);
      transition:transform var(--transition);
      background:var(--lake-700);
      border:none;
      box-shadow:0 26px 60px rgba(11,62,69,.16), 0 4px 12px rgba(11,62,69,.08);
      overflow:hidden;
      contain:paint;
      z-index:10001;
    }

    .drawer.active .panel {
      transform:none;
    }

    .drawer .panel > * {
      position:relative;
      z-index:1;
    }

    .drawer .drawer-head {
      display:flex;
      align-items:center;
      justify-content:center;
      margin:2px 0 8px;
      position:relative;
      min-height:56px;
    }

    .drawer .brand-mini {
      display:flex;
      align-items:center;
      justify-content:center;
      width:100%;
      gap:10px;
      font-weight:800;
      letter-spacing:.02em;
    }

    .close-btn {
      width:36px;
      height:36px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:rgba(255,255,255,.12);
      color:#fff;
      box-shadow:0 8px 18px rgba(0,0,0,.1);
      transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
    }

    .drawer .drawer-head .close-btn {
      position:absolute;
      top:0;
      right:0;
    }

    .close-btn:hover {
      background:rgba(255,255,255,.22);
      box-shadow:0 14px 28px rgba(0,0,0,.14);
    }

    .close-btn:active {
      transform:scale(.98);
    }

    .close-btn .x {
      position:relative;
      width:18px;
      height:18px;
      display:block;
    }

    .close-btn .x::before,
    .close-btn .x::after {
      content:"";
      position:absolute;
      left:50%;
      top:50%;
      width:18px;
      height:2px;
      background:currentColor;
      border-radius:2px;
      transform-origin:50% 50%;
      transition:transform .28s cubic-bezier(.2,.7,.2,1);
    }

    .close-btn .x::before {
      transform:translate(-50%, -50%) rotate(45deg);
    }

    .close-btn .x::after {
      transform:translate(-50%, -50%) rotate(-45deg);
    }

    .close-btn:hover .x::before {
      transform:translate(-50%, -50%) rotate(135deg);
    }

    .close-btn:hover .x::after {
      transform:translate(-50%, -50%) rotate(-135deg);
    }

    .drawer .links {
      display:flex;
      flex-direction:column;
      gap:12px;
      margin-top:2px;
    }

    .drawer .links a {
      display:flex;
      align-items:center;
      gap:10px;
      padding:12px 14px;
      border-radius:14px;
      font-weight:600;
      letter-spacing:.01em;
      color:#063e47;
      background:#fff;
      box-shadow:0 8px 18px rgba(0,0,0,.08);
      transition:transform .18s ease, box-shadow .22s ease, background .22s ease, opacity .18s ease;
    }

    .drawer .links a::after {
      content:"›";
      margin-left:auto;
      font-size:16px;
      line-height:1;
      color:#063e47;
      opacity:.85;
      transition:transform .18s ease;
    }

    .drawer .links a:hover {
      transform:translateX(2px);
      box-shadow:0 12px 26px rgba(0,0,0,.12);
    }

    .drawer .links a.active {
      background:#f6fbfd;
      color:#0b3e45;
      box-shadow:0 12px 26px rgba(0,0,0,.14);
    }

    .loc-card {
      display:grid;
      gap:8px;
      padding:14px 16px;
      border-radius:16px;
      background:#f6fbfd;
      color:#053b43;
      box-shadow:0 10px 20px rgba(0,0,0,.08);
      border:1px solid rgba(255,255,255,.25);
    }

    .loc-card .loc-title {
      font-weight:800;
      letter-spacing:.06em;
      font-size:.86rem;
      text-transform:uppercase;
      opacity:.9;
    }

    .loc-card .loc-name {
      font-weight:900;
      letter-spacing:.02em;
    }

    .loc-card .loc-addr {
      opacity:.95;
    }

    .loc-card a {
      text-decoration:underline;
    }

    .drawer .social-list.social-grid {
      display:grid;
      grid-template-columns:repeat(2, 1fr);
      gap:10px;
    }

    .drawer .social-list.social-grid .s-item {
      display:grid;
      place-items:center;
      padding:12px;
      border-radius:12px;
      background:#fff;
      color:#063e47;
      box-shadow:0 8px 18px rgba(0,0,0,.08);
      transition:transform .16s ease, box-shadow .2s ease, background .2s ease, opacity .2s ease;
    }

    .drawer .social-list.social-grid .s-item:hover {
      transform:translateY(-2px);
      box-shadow:0 14px 28px rgba(0,0,0,.14);
    }

    .drawer .social-list.social-grid .s-item svg {
      width:22px;
      height:22px;
      stroke:currentColor;
    }

    .drawer .panel::-webkit-scrollbar {
      width:10px;
    }

    .drawer .panel::-webkit-scrollbar-thumb {
      background:#0e6d73;
      border-radius:999px;
      border:3px solid transparent;
      background-clip:content-box;
    }

    /* HERO */
    .hero {
      position:relative;
      min-height:100svh;
      display:grid;
      align-items:center;
      margin-top:0;
    }

    .hero .bg {
      position:absolute;
      inset:0;
      overflow:hidden;
      z-index:0;
    }

    .hero .bg .media {
      position:absolute;
      inset:-4%;
    }

    .hero .inner {
      position:relative;
      z-index:2;
      display:grid;
      justify-items:center;
      text-align:center;
      gap:14px;
      padding:0 8px;
    }

    .pill {
      padding:.55rem 1rem;
      border:1px solid rgba(255,255,255,.55);
      border-radius:999px;
      background:rgba(255,255,255,.14);
      backdrop-filter:saturate(140%) blur(6px);
      color:#fff;
      display:inline-block;
    }

    .hero h1 {
      font-weight:900;
      letter-spacing:-.01em;
      font-size:clamp(34px, 6.2vw, 68px);
      line-height:1.05;
      margin:10px 0 6px;
      color:#fff;
    }

    .hero p {
      max-width:780px;
      color:rgba(255,255,255,.94);
      font-size:clamp(16px, 1.2vw, 19px);
    }

    .cloud-text {
      position:relative;
      display:inline-block;
      color:transparent;
      background:
        radial-gradient(120px 36px at 10% 40%, rgba(255,255,255,.85), rgba(255,255,255,0) 70%),
        radial-gradient(160px 48px at 45% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 72%),
        radial-gradient(140px 44px at 80% 45%, rgba(255,255,255,.85), rgba(255,255,255,0) 75%),
        linear-gradient(180deg, #9fdff1 0%, #b9ecff 40%, #e7f8ff 100%);
      background-size:300% 100%, 320% 100%, 300% 100%, 100% 100%;
      background-position:0 0, 30% 0, 60% 0, 50% 0;
      -webkit-background-clip:text;
      background-clip:text;
      filter:drop-shadow(0 10px 26px rgba(11,62,69,.26));
      animation:cloudsSlide 16s linear infinite;
      text-shadow:0 .6px .6px rgba(0,0,0,.06);
    }

    .cloud-text::after {
      content:"";
      position:absolute;
      inset:-6px;
      border-radius:24px;
      pointer-events:none;
      background:
        radial-gradient(140px 60px at 20% 60%, rgba(255,255,255,.16), transparent 60%),
        radial-gradient(200px 80px at 70% 40%, rgba(255,255,255,.14), transparent 60%);
      mix-blend-mode:screen;
      filter:blur(1px);
      opacity:.9;
      animation:cloudHalo 12s ease-in-out infinite;
    }

    @keyframes cloudsSlide {
      0% { background-position:0 0, 30% 0, 60% 0, 50% 0; }
      100% { background-position:200% 0, 260% 0, 220% 0, 50% 0; }
    }

    @keyframes cloudHalo {
      0%, 100% { opacity:.8; transform:translateY(0); }
      50% { opacity:1; transform:translateY(2px); }
    }

    .lake-text {
      position:relative;
      display:inline-block;
      font-weight:800;
      letter-spacing:.01em;
      color:transparent;
      background:linear-gradient(90deg, color-mix(in oklab, var(--lake-700), white 8%) 0%, var(--lake-700) 50%, color-mix(in oklab, var(--lake-700), black 10%) 100%);
      background-size:200% 100%;
      -webkit-background-clip:text;
      background-clip:text;
      animation:lakeSheen 6s linear infinite;
      text-shadow:0 0 .4px rgba(0,0,0,.12);
      -webkit-mask-image:repeating-linear-gradient(to bottom, rgba(0,0,0,.85) 0 18px, rgba(0,0,0,.75) 18px 21px, rgba(0,0,0,.85) 21px 42px);
      -webkit-mask-size:100% 44px;
      -webkit-mask-position:0 0;
      mask-image:repeating-linear-gradient(to bottom, rgba(0,0,0,.85) 0 18px, rgba(0,0,0,.75) 18px 21px, rgba(0,0,0,.85) 21px 42px);
      mask-size:100% 44px;
      mask-position:0 0;
      animation-name:lakeSheen, lakeRipples;
      animation-composition:add;
    }

    @keyframes lakeSheen {
      0% { background-position:200% 0; }
      100% { background-position:0 0; }
    }

    @keyframes lakeRipples {
      0% { -webkit-mask-position:0 0; mask-position:0 0; }
      100% { -webkit-mask-position:0 44px; mask-position:0 44px; }
    }

    .headline {
      position:relative;
      display:inline-block;
    }

    .headline::after {
      content:"";
      position:absolute;
      left:12px;
      right:12px;
      bottom:-6px;
      height:4px;
      border-radius:4px;
      background:linear-gradient(90deg, rgba(0,0,0,0) 0%, color-mix(in oklab, var(--logo-g3), white 22%) 10%, var(--logo-g2) 24%, var(--logo-g1) 50%, var(--logo-g2) 76%, color-mix(in oklab, var(--logo-g3), white 22%) 90%, rgba(0,0,0,0) 100%);
      background-size:200% 100%;
      transform:scaleX(.1);
      transform-origin:left;
      animation:underlineSweep 2.4s cubic-bezier(.22,.61,.36,1) .15s forwards, underlineGlow 2.4s ease .15s forwards;
      filter:blur(.2px);
    }

    @keyframes underlineSweep {
      0% { background-position:-50% 0; transform:scaleX(.1); }
      18% { transform:scaleX(1); }
      100% { background-position:150% 0; transform:scaleX(1); }
    }

    @keyframes underlineGlow {
      0% { box-shadow:none; }
      30% { box-shadow:0 0 10px color-mix(in oklab, var(--logo-g3), white 10% / 55%); }
      100% { box-shadow:0 0 0 rgba(0,0,0,0); }
    }

    .after-hero {
      position:relative;
      background:linear-gradient(-45deg, var(--ah-g1), var(--ah-g2), var(--ah-g3), var(--ah-g1));
      background-size:400% 400%;
      animation:ahGradient var(--ah-anim-speed) ease infinite;
      overflow:clip;
      z-index:0;
    }

    

    @keyframes ahGradient {
      0% { background-position:0% 50%; }
      50% { background-position:100% 50%; }
      100% { background-position:0% 50%; }
    }

    section {
      padding:72px 0;
      border-top:1px solid var(--line);
    }

    .section-green {
      background:transparent !important;
      border-top-color:transparent !important;
    }

    .gallery {
      position:relative;
      border:none;
      border-radius:26px;
      overflow:hidden;
      background:transparent;
      box-shadow:none;
      margin-top:14px;
    }

    .gallery .track {
      display:flex;
      transition:transform var(--transition);
      will-change:transform;
    }

    .gallery .slide {
      min-width:100%;
      aspect-ratio:16/9;
      position:relative;
      cursor:default;
    }

    .gallery .slide img {
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
    }

    .g-arrow {
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:42px;
      height:42px;
      border-radius:50%;
      background:rgba(255,255,255,.92);
      display:grid;
      place-items:center;
      color:#123;
      box-shadow:0 8px 18px rgba(0,0,0,.12);
      transition:transform .4s ease, background .4s ease, opacity .4s ease;
    }

    .g-arrow:hover {
      transform:translateY(calc(-50% - 2px));
      background:#fff;
    }

    .g-prev { left:12px; }
    .g-next { right:12px; }

    .g-dots {
      position:absolute;
      inset:auto 0 12px 0;
      display:flex;
      gap:8px;
      justify-content:center;
    }

    .g-dots button {
      width:7px;
      height:7px;
      border-radius:999px;
      border:none;
      background:color-mix(in oklab, var(--brand), white 70%);
      opacity:.95;
    }

    .g-dots button.active {
      background:var(--brand);
    }

    .gallery.single .g-arrow,
    .gallery.single .g-dots {
      display:none;
    }

    .after-hero .panel {
      background:#ffffffcc;
      border:1px solid #e8f2ec;
      border-radius:44px 72px 36px 58px/36px 54px 36px 50px;
      box-shadow:0 18px 42px rgba(12,59,58,.16), 0 3px 10px rgba(12,59,58,.06);
      color:var(--ink-deep);
      backdrop-filter:blur(10px) saturate(120%);
    }

    .after-hero .panel h2,
    .after-hero .panel h3 {
      color:#0b3e45 !important;
      font-weight:900;
      letter-spacing:.01em;
      margin-bottom:6px;
    }

    .after-hero .panel .lead,
    .after-hero .panel p {
      color:var(--ink-soft) !important;
    }

    .about-team {
      margin-top:0;
      display:grid;
      gap:16px;
    }

    .about-team-intro {
      font-weight:700;
      color:var(--ink-deep);
    }

    .team-grid {
      display:grid;
      gap:16px;
    }

    @media (min-width:840px) {
      .team-grid {
        grid-template-columns:repeat(3, minmax(0, 1fr));
      }
    }

    .team-card {
      position:relative;
      background:radial-gradient(circle at 0 0, rgba(255,255,255,.96) 0%, rgba(247,252,249,.75) 52%, rgba(243,249,245,.55) 100%);
      border:1px solid rgba(11,62,69,.05);
      border-radius:20px 24px 18px 18px;
      padding:15px;
      box-shadow:0 14px 34px rgba(12,59,58,.03);
      backdrop-filter:blur(9px);
      overflow:hidden;
      min-height:180px;
    }

    .team-card::before {
      content:"";
      position:absolute;
      inset:-30% 26% auto -28%;
      height:120px;
      background:linear-gradient(120deg, rgba(15,109,115,.14), rgba(23,162,149,0));
      filter:blur(18px);
      pointer-events:none;
    }

    .team-card::after {
      content:"";
      position:absolute;
      inset:auto -24% -60% 20%;
      width:180px;
      height:140px;
      background:radial-gradient(circle, rgba(23,155,98,.08), rgba(23,155,98,0));
      pointer-events:none;
    }

    .team-card h4 {
      margin:0 0 4px;
      color:var(--lake-900);
      font-size:1.01rem;
      letter-spacing:.01em;
      display:flex;
      align-items:center;
      gap:6px;
    }

    .team-card h4::before {
      content:"";
      width:9px;
      height:9px;
      border-radius:999px;
      background:linear-gradient(130deg, var(--lake-700), color-mix(in oklab, var(--lake-700), white 30%));
      box-shadow:0 0 12px rgba(14,109,115,.55);
      flex:0 0 auto;
    }

    .team-role {
      font-size:.68rem;
      text-transform:uppercase;
      letter-spacing:.16em;
      color:rgba(23,63,58,.68);
      margin-bottom:12px;
      font-weight:700;
      background:rgba(11,62,69,.035);
      border:1px solid rgba(255,255,255,.4);
      display:inline-flex;
      gap:6px;
      align-items:center;
      padding:5px 9px 4px;
      border-radius:999px;
      backdrop-filter:blur(4px);
    }

    .team-card p {
      margin:0;
      color:var(--ink-soft);
      font-weight:600;
      line-height:1.56;
      font-size:.9rem;
    }

    .goals-wrap {
      margin-top:0;
      display:grid;
      gap:16px;
    }

    .goals-intro {
      background:transparent;
      border:none;
      border-radius:0;
      padding:0;
      color:var(--ink-soft);
      font-weight:600;
      line-height:1.6;
    }

    .goals-grid {
      display:grid;
      gap:16px;
    }

    @media (min-width:880px) {
      .goals-grid {
        grid-template-columns:repeat(3, minmax(0, 1fr));
      }
    }

    .goals-card {
      position:relative;
      background:radial-gradient(circle at 10% 0, rgba(255,255,255,.98) 0%, rgba(246,252,249,.84) 50%, rgba(244,250,247,.7) 100%);
      border:1px solid rgba(11,62,69,.025);
      border-radius:20px;
      padding:15px 16px 14px;
      box-shadow:0 10px 26px rgba(12,59,58,.03);
      display:flex;
      flex-direction:column;
      gap:10px;
      min-height:180px;
      overflow:hidden;
    }

    .goals-card::before {
      content:"";
      position:absolute;
      inset:-34% -10% auto auto;
      width:140px;
      height:140px;
      background:radial-gradient(circle, rgba(11,109,115,.14), rgba(11,109,115,0));
      pointer-events:none;
    }

    .goals-card small {
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-weight:700;
      letter-spacing:.16em;
      text-transform:uppercase;
      font-size:.6rem;
      color:rgba(23,63,58,.6);
      background:rgba(255,255,255,.5);
      border:1px solid rgba(255,255,255,.35);
      padding:4px 10px 3.5px;
      border-radius:999px;
      backdrop-filter:blur(3px);
      width:max-content;
    }

    .goals-card small::before {
      content:"";
      width:7px;
      height:7px;
      border-radius:999px;
      background:var(--leaf-600);
      box-shadow:0 0 16px rgba(31,155,98,.7);
    }

    .goals-card h4 {
      margin:2px 0 2px;
      font-size:.98rem;
      color:var(--lake-900);
      letter-spacing:.01em;
    }

    .goals-card p {
      margin:0;
      color:var(--ink-soft);
      font-size:.885rem;
      line-height:1.52;
    }

    .goals-list {
      margin:2px 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:6px;
    }

    .goals-list li {
      position:relative;
      padding-left:20px;
      color:var(--ink-soft);
      font-size:.84rem;
      line-height:1.45;
    }

    .goals-list li::before {
      content:"";
      position:absolute;
      left:3px;
      top:.47rem;
      width:6px;
      height:6px;
      border-radius:999px;
      background:var(--leaf-600);
      box-shadow:0 0 10px rgba(23,155,98,.46);
    }

    .form {
      display:grid;
      gap:14px;
    }

    .row {
      display:grid;
      gap:14px;
    }

    @media (min-width:720px) {
      .row {
        grid-template-columns:1fr 1fr;
      }
    }

    .field {
      display:grid;
      gap:6px;
    }

    .field input,
    .field select,
    .field textarea {
      width:100%;
      padding:14px;
      border-radius:12px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.92);
      color:var(--ink);
      outline:none;
      transition:border-color .4s ease, transform .4s ease;
      font-size:16px;
    }

    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      border-color:var(--lake-700);
      transform:translateY(-1px);
    }

    .btn {
      padding:14px 22px;
      border-radius:999px;
      border:1px solid var(--btn-border);
      background:rgba(255,255,255,.88);
      color:var(--btn-ink);
      font-weight:800;
      letter-spacing:.02em;
      transition:transform .5s ease, opacity .5s ease;
    }

    .btn:hover {
      transform:translateY(-1px);
      opacity:.95;
    }

    #rent .tiles {
      display:none !important;
    }

    .rent-cta-wrap {
      display:grid;
      place-items:center;
      margin-top:70px;
    }

    .cta-lg {
      position:relative;
      padding:1.05rem 1.85rem;
      border-radius:999px;
      background:linear-gradient(140deg, #0b3e45 0%, #0e6d73 45%, #17a7ac 100%);
      color:#fff;
      font-weight:800;
      letter-spacing:.02em;
      overflow:hidden;
      backdrop-filter:blur(8px);
      box-shadow:0 14px 30px rgba(11,62,69,.22);
      transition:transform .3s ease, box-shadow .3s ease;
    }

    .cta-lg::before {
      content:"";
      position:absolute;
      inset:-10% -40%;
      background:
        radial-gradient(46px 18px at 10% 50%, rgba(255,255,255,.48), rgba(255,255,255,0) 70%),
        radial-gradient(62px 22px at 38% 35%, rgba(255,255,255,.55), rgba(255,255,255,0) 72%),
        radial-gradient(52px 20px at 75% 58%, rgba(255,255,255,.4), rgba(255,255,255,0) 70%);
      background-size:280% 140%;
      background-position:0 0;
      filter:blur(.3px);
      opacity:.9;
      animation:ctaClouds 18s linear infinite;
      pointer-events:none;
    }

    .cta-lg::after {
      content:"";
      position:absolute;
      inset:-20% -50%;
      background:
        radial-gradient(44px 18px at 10% 40%, rgba(255,255,255,.22), rgba(255,255,255,0) 70%),
        radial-gradient(54px 18px at 60% 65%, rgba(255,255,255,.16), rgba(255,255,255,0) 70%);
      background-size:240% 140%;
      background-position:0 0;
      mix-blend-mode:screen;
      opacity:.8;
      animation:ctaCloudsSlow 32s linear infinite;
      pointer-events:none;
    }

    .cta-lg:hover {
      transform:translateY(-1.5px);
      box-shadow:0 18px 40px rgba(11,62,69,.28);
    }

    @keyframes ctaClouds {
      0% { background-position:200% 0; }
      100% { background-position:0 0; }
    }

    @keyframes ctaCloudsSlow {
      0% { background-position:180% 0; }
      100% { background-position:0 0; }
    }

    .reveal {
      opacity:0;
      transform:translateY(22px) scale(.98);
      filter:saturate(.7);
      transition:opacity 800ms cubic-bezier(.22,.61,.36,1), transform 800ms cubic-bezier(.22,.61,.36,1), filter 800ms cubic-bezier(.22,.61,.36,1);
    }

    .reveal.visible {
      opacity:1;
      transform:none;
      filter:none;
    }

    .reveal.text {
      font-size:clamp(17px, 1rem + .45vw, 19px);
      line-height:1.75;
      letter-spacing:.005em;
      text-wrap:balance;
    }

    .hide-on-mobile {
      display:none;
    }

    @media (min-width:900px) {
      .hide-on-mobile {
        display:inline-flex;
      }
    }

    @media (max-width:900px) {
      section { padding:60px 0; }
      .panel { padding:22px; }
      .hero h1 { font-size:clamp(26px, 8vw, 44px); }
      .hero p { font-size:15.5px; }
      .g-arrow { width:38px; height:38px; }
      .gallery .slide { aspect-ratio:4/3; }
      body { font-size:15.8px; }
    }

    @media (max-width:600px) {
      section { padding:52px 0; }
      .pill { font-size:12px; }
      .btn { width:100%; }
      .row { grid-template-columns:1fr; }
      body { font-size:15.6px; line-height:1.65; }
      .team-grid { grid-template-columns:1fr; }
      .goals-grid { grid-template-columns:1fr; }
    }

    html, body {
      max-width:100%;
      overflow-x:clip;
    }

    .hero .bg,
    .after-hero {
      overflow:hidden;
    }

    header.site,
    .drawer,
    .drawer .panel {
      contain:paint;
    }

    #phoneMenu {
      position:fixed !important;
      z-index:6000 !important;
      min-width:280px;
      max-width:calc(100vw - 24px);
      padding:0;
      color:var(--ink);
      border:1px solid #e2f0e6;
      background:#f3f8f5;
      box-shadow:0 12px 30px rgba(16,54,30,.1);
      border-radius:16px;
      overflow:hidden;
      opacity:0;
      transform:translateY(-8px) scale(.98);
      transition:opacity .18s ease, transform .22s cubic-bezier(.22,.61,.36,1);
      pointer-events:none;
      visibility:hidden;
      font-size:15px;
    }

    #phoneMenu.open {
      opacity:1;
      transform:translateY(0) scale(1);
      pointer-events:auto;
      visibility:visible;
    }

    #phoneMenu .c-card {
      position:relative;
      background:#fff;
      border-radius:16px;
      overflow:hidden;
      border:1px solid #e2f0e6;
    }

    #phoneMenu .c-section {
      position:relative;
    }

    #phoneMenu .c-section + .c-section {
      border-top:1px solid #edf3ef;
    }

    #phoneMenu .c-section-tag {
      font-size:11.5px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:#6b7c71;
      font-weight:600;
      padding:6px 16px 4px;
    }

    #phoneMenu .c-section--phones {
      background:#ffffff;
    }

    #phoneMenu .c-section--email {
      background:#fafdfb;
    }

    #phoneMenu .c-section--loc {
      background:#f7fbf9;
      border-radius:0 0 16px 16px;
    }

    #phoneMenu .c-item {
      position:relative;
      display:flex;
      align-items:center;
      gap:12px;
      padding:14px 16px;
      color:var(--ink);
      border-bottom:1px solid #f3f7f4;
      transition:
        background 160ms ease,
        transform 160ms ease,
        box-shadow 160ms ease,
        color 160ms ease;
      cursor:pointer;
      text-decoration:none;
    }

    #phoneMenu .c-section--phones .c-item:last-of-type {
      border-bottom:none;
    }

    #phoneMenu .c-section--email .c-item {
      border-bottom:none;
    }

    #phoneMenu .c-item::before {
      content:"";
      position:absolute;
      left:0;
      top:8px;
      bottom:8px;
      width:3px;
      border-radius:0 4px 4px 0;
      background:linear-gradient(to bottom, var(--lake-700), var(--leaf-600));
      opacity:0;
      transform:scaleY(0.4);
      transform-origin:top;
      transition:opacity 160ms ease, transform 160ms ease;
    }

    #phoneMenu .c-item:hover {
      background:#f7fbf9;
      transform:translateY(-1px);
      box-shadow:0 6px 16px rgba(11,62,69,.12);
      color:var(--ink);
    }

    #phoneMenu .c-item:hover::before {
      opacity:1;
      transform:scaleY(1);
    }

    #phoneMenu .c-item svg {
      width:20px;
      height:20px;
      stroke:var(--brand);
      transition:transform 160ms ease, opacity 160ms ease;
      opacity:.9;
      flex-shrink:0;
    }

    #phoneMenu .c-item:hover svg {
      opacity:1;
      transform:translateY(-1px);
    }

    #phoneMenu .c-text {
      display:grid;
      line-height:1.35;
    }

    #phoneMenu .c-title {
      font-weight:700;
      font-size:14.5px;
      color:var(--brand);
    }

    #phoneMenu .c-value {
      color:#1f2823;
      font-size:15px;
      line-height:1.4;
      word-break:break-word;
    }

    #phoneMenu .c-card .c-item {
      padding-right:58px;
    }

    #phoneMenu .c-card .copy-btn {
      position:absolute;
      right:12px;
      top:50%;
      transform:translateY(-50%);
      width:34px;
      height:34px;
      border-radius:10px;
      background:#f4fbf7;
      border:1px solid #e2f0e6;
      display:grid;
      place-items:center;
      color:var(--brand);
      box-shadow:0 4px 10px rgba(0,0,0,.06);
      transition:transform .18s ease, background .18s ease, box-shadow .18s ease, opacity .18s ease;
    }

    #phoneMenu .c-card .copy-btn:hover {
      transform:translateY(calc(-50% - 1px));
      background:#fff;
      box-shadow:0 8px 18px rgba(0,0,0,.1);
    }

    #phoneMenu .c-card .copy-btn:active {
      transform:translateY(-50%) scale(.98);
    }

    #phoneMenu .c-card .copy-btn:focus-visible {
      outline:none;
      box-shadow:0 0 0 3px color-mix(in oklab, var(--brand), white 70%);
    }

    @media (max-width:480px) {
      #phoneMenu {
        max-width:calc(100vw - 16px);
      }

      #phoneMenu .c-item {
        padding:12px 14px;
      }

      #phoneMenu .c-card .copy-btn {
        width:32px;
        height:32px;
        right:10px;
      }
    }

    .loc-card {
      display:flex;
      align-items:flex-start;
      gap:12px;
      padding:10px 16px 14px;
      margin-top:0;
      background:#f7fbf9;
      color:var(--ink);
      border-radius:0 0 16px 16px;
      box-shadow:none;
      font-size:15px;
      position:relative;
    }

    .loc-card-icon {
      flex-shrink:0;
      margin-top:2px;
      color:var(--brand);
    }

    .loc-card-icon svg {
      width:20px;
      height:20px;
      stroke:currentColor;
    }

    .loc-card-body {
      display:grid;
      gap:2px;
      line-height:1.25;
    }

    .loc-card .loc-name {
      font-size:15px;
      font-weight:700;
      letter-spacing:.02em;
      color:var(--brand);
    }

    .loc-card .loc-addr {
      font-size:14px;
      color:#2a3a32;
      margin:2px 0 4px;
    }

    .loc-card a {
      align-self:flex-start;
      display:inline-flex;
      align-items:center;
      gap:4px;
      font-size:13px;
      font-weight:600;
      padding:4px 8px;
      border-radius:999px;
      color:var(--brand);
      background:rgba(31,122,56,.06);
      text-decoration:none;
      transition:background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
    }

    .loc-card a::after {
      content:"↗";
      font-size:11px;
      margin-top:1px;
    }

    .loc-card a:hover {
      background:rgba(31,122,56,.14);
      box-shadow:0 4px 10px rgba(11,62,69,.18);
      transform:translateY(-1px);
    }

    /* Toast */
    .toast {
      position:fixed;
      z-index:1000000;
      left:50%;
      top:16px;
      transform:translateX(-50%) translateY(-10px);
      background:#0b3e45;
      color:#fff;
      padding:10px 14px;
      border-radius:12px;
      font-weight:800;
      letter-spacing:.02em;
      box-shadow:0 12px 28px rgba(0,0,0,.18);
      opacity:0;
      pointer-events:none;
      transition:opacity .22s ease, transform .22s ease;
    }

    .toast.show {
      opacity:1;
      transform:translateX(-50%) translateY(0);
    }

    footer {
      display:none !important;
    }

    .logo-colored {
      width:160px;
      height:48px;
      display:block;
      background:var(--brand);
      -webkit-mask-image:var(--logo-src);
      mask-image:var(--logo-src);
      -webkit-mask-repeat:no-repeat;
      mask-repeat:no-repeat;
      -webkit-mask-position:center;
      mask-position:center;
      -webkit-mask-size:contain;
      mask-size:contain;
      filter:drop-shadow(0 2px 8px rgba(11,62,69,.1));
    }

    .drawer .brand-mini .logo-colored {
      background:var(--drawer-logo) !important;
      width:200px;
      height:65px;
      filter:drop-shadow(0 1px 6px rgba(0,0,0,.18));
    }

    .drawer .links a {
      font-weight:600;
    }

    @keyframes floatA {
      0% {
        background-position:var(--bgx1) var(--bgy1), var(--bgx2) var(--bgy2), var(--bgx3) var(--bgy3);
      }
      100% {
        background-position:calc(var(--bgx1) + 80px) calc(var(--bgy1) + 40px),
          calc(var(--bgx2) - 60px) calc(var(--bgy2) + 20px),
          calc(var(--bgx3) + 120px) calc(var(--bgy3) - 30px);
      }
    }

    @keyframes floatB {
      0% { background-position:var(--bgx2) var(--bgy2); }
      100% { background-position:calc(var(--bgx2) - 120px) calc(var(--bgy2) + 60px); }
    }

    .lang-toggle .globe {
      transition:transform .5s ease;
      transform-origin:50% 50%;
    }

    /* BACK TO TOP */
    .back-to-top {
      position:fixed;
      right:25px;
      bottom:25px;
      width:42px;
      height:42px;
      border-radius:999px;
      background:rgba(255,255,255,.18);
      backdrop-filter:blur(10px) saturate(140%);
      color:var(--brand);
      display:grid;
      place-items:center;
      box-shadow:0 10px 30px rgba(11,62,69,.18);
      cursor:pointer;
      z-index:99999;
      transition:opacity .25s ease, transform .25s ease;
      opacity:0;
      transform:translateY(8px);
      pointer-events:none;
      isolation:isolate;
    }

    .back-to-top svg {
      width:20px;
      height:20px;
      stroke:currentColor;
    }

    .back-to-top.visible {
      opacity:1;
      transform:translateY(0);
      pointer-events:auto;
    }

    .back-to-top:hover {
      background:rgba(255,255,255,.24);
      transform:translateY(-2px);
      box-shadow:0 14px 40px rgba(11,62,69,.22);
    }

    .drawer-main {
      display:flex;
      flex-direction:column;
      gap:18px;
      margin-top:4px;
      margin-bottom:auto;
    }

    .drawer-footer {
      padding-top:12px;
      border-top:1px solid rgba(255,255,255,.16);
      margin-top:4px;
    }

    @media (max-width:600px) {
      .back-to-top {
        right:14px;
        bottom:14px;
      }
    }

    @media (max-width: 600px) {
      .drawer .panel {
        left: 0;
        right: 0;
        width: 100vw;
        max-width: 100vw;
        height: 100svh;
        max-height: 100svh;
        padding: calc(16px + env(safe-area-inset-top)) 14px 18px;
        overflow-y: auto;
        overflow-x: hidden;
      }

      .drawer .drawer-head {
        min-height: 52px;
      }
    }