*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--sand-100);color:var(--fg-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;--page-bg: var(--sand-100)}a{color:inherit;text-decoration:none}img,svg,video{display:block;max-width:100%}.nav-wrap{position:fixed;top:18px;left:0;right:0;z-index:50;display:flex;justify-content:center;pointer-events:none}.nav{pointer-events:auto;width:min(1240px,calc(100% - 32px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:10px 12px 10px 22px;border-radius:9999px;background:#fbf9f3db;border:1px solid var(--hairline-soft);box-shadow:var(--shadow-sm),0 1px #fff9 inset;color:var(--sage-800);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}.nav .brand{display:flex;align-items:center;gap:12px;padding-right:4px}.nav .brand .mark{height:40px;width:auto;flex-shrink:0}.nav .brand .wordmark{display:flex;flex-direction:column;line-height:1;gap:4px;border-left:1px solid rgba(110,126,95,.32);padding-left:12px}.nav .brand .name{font-family:var(--font-display);font-weight:600;font-size:16px;line-height:1;letter-spacing:-.005em;color:var(--sage-800);white-space:nowrap}.nav .brand .tag{font-family:var(--font-sans);font-weight:600;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sand-500)}.nav .links{display:flex;justify-content:center;gap:28px;font-size:13px;font-weight:500;letter-spacing:.01em}.nav .links>.item{position:relative;padding:8px 0;transition:opacity .22s var(--ease-stand)}.nav .links:hover>.item{opacity:.42}.nav .links:hover>.item:hover,.nav .links>.item:focus-within,.nav .links>.item.current{opacity:1}.nav .links a{transition:color .16s;display:inline-flex;align-items:center;gap:5px}.nav .links a:hover{color:var(--sage-600)}.nav .links .item.current a{color:var(--sage-900)}.nav .links .item.current:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--sand-500);border-radius:2px}.nav .links .caret{width:9px;height:9px;opacity:.6;transition:transform .2s var(--ease-stand),opacity .16s}.nav .links .item:hover .caret{transform:rotate(180deg);opacity:1}.submenu{position:absolute;top:calc(100% + 14px);right:0;width:420px;background:#fbf9f3f5;border:1px solid var(--hairline-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 1px #fff9 inset;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:4px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .18s var(--ease-stand),transform .22s var(--ease-stand),visibility 0s linear .22s;color:var(--sage-800)}.nav .links .item:hover .submenu,.nav .links .item:focus-within .submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .18s var(--ease-stand),transform .22s var(--ease-stand),visibility 0s linear 0s}.submenu:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}.submenu .col-head{grid-column:1 / -1;padding:6px 12px 10px;border-bottom:1px solid var(--hairline-soft);margin-bottom:6px}.submenu .col-head .label{font-size:9.5px;font-weight:600;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--sage-600)}.submenu .sub-link{display:flex;gap:12px;padding:10px 12px;border-radius:var(--radius-md);transition:background .16s;align-items:flex-start}.submenu .sub-link:hover{background:var(--sand-100)}.submenu .sub-link .ico{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--sand-200);color:var(--sage-700);display:inline-flex;align-items:center;justify-content:center}.submenu .sub-link .ico svg{width:16px;height:16px}.submenu .sub-link .txt{display:flex;flex-direction:column;gap:2px;min-width:0}.submenu .sub-link .ttl{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--sage-800);letter-spacing:-.003em;line-height:1.2}.submenu .sub-link .dsc{font-family:var(--font-sans);font-size:11.5px;color:var(--fg-2);line-height:1.35}.nav-actions{display:flex;align-items:center;gap:18px;justify-self:end}.nav .phone{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:-.01em;white-space:nowrap;color:var(--sage-800);transition:color .16s}.nav .phone:hover{color:var(--sage-600)}.nav .phone svg{width:15px;height:15px;opacity:.65}@media(max-width:980px){.nav .phone{display:none}}.nav .cta{font-size:13px;font-weight:600;letter-spacing:.01em;padding:10px 18px;border-radius:9999px;background:var(--sage-600);color:var(--sand-100);border:1px solid var(--sage-700);transition:background .2s;white-space:nowrap}.nav .cta:hover{background:var(--sage-700)}.page-head{padding:150px 32px 0}.page-head .container{max-width:760px;margin:0 auto}.page-head+.contact{padding-top:48px}.page-head .eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--sage-600);display:inline-flex;align-items:center;gap:10px;margin-bottom:20px}.page-head .eyebrow:before{content:"";width:28px;height:1.5px;background:var(--sand-500)}.page-head h1{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,5vw,68px);line-height:1;letter-spacing:-.018em;color:var(--sage-900);margin:0 0 20px;max-width:16ch;text-wrap:balance}.page-head h1 em{font-style:italic;font-weight:500;color:var(--sage-600)}.page-head .lede{font-size:19px;line-height:1.55;color:var(--ink-soft);margin:0;max-width:56ch;text-wrap:pretty}.contact{padding:56px 32px 96px}.contact .container{max-width:760px;margin:0 auto}.form-card{background:var(--sand-50);border:1px solid var(--hairline);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:40px 44px 44px;position:relative;overflow:hidden}.form-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--sand-500)}.form-card h2{font-family:var(--font-display);font-weight:600;font-size:28px;line-height:1.1;letter-spacing:-.01em;color:var(--sage-900);margin:0 0 8px}.form-card .sub{font-size:14px;line-height:1.55;color:var(--fg-2);margin:0 0 28px;max-width:48ch}form{display:grid;grid-template-columns:1fr 1fr;gap:20px 20px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1 / -1}.field label{font-size:11px;font-weight:600;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--sage-700);display:flex;align-items:center;gap:6px}.field label .req{color:var(--danger);font-weight:700}.field label .opt{color:var(--fg-3);font-weight:500;letter-spacing:.04em;text-transform:none;font-size:11px}.field input,.field textarea{font-family:var(--font-sans);font-size:15px;color:var(--fg-1);background:#fff;border:1px solid var(--hairline);border-radius:var(--radius-md);padding:13px 14px;width:100%;transition:border-color .16s var(--ease-stand),box-shadow .16s var(--ease-stand)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted)}.field input:hover,.field textarea:hover{border-color:var(--sage-400)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--sage-600);box-shadow:0 0 0 3px #6e7e5f29}.field textarea{resize:vertical;min-height:118px;line-height:1.55}.form-foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px;flex-wrap:wrap}.btn{font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.005em;border-radius:9999px;border:1px solid transparent;padding:15px 26px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:var(--sage-600);color:var(--sand-100);box-shadow:var(--shadow-sm),0 0 0 1px var(--sage-700) inset;transition:background .2s var(--ease-stand),box-shadow .2s var(--ease-stand),transform .12s var(--ease-stand)}.btn:hover{background:var(--sage-700);box-shadow:var(--shadow-md),0 0 0 1px var(--sage-800) inset}.btn:active{transform:translateY(1px);box-shadow:var(--shadow-xs)}.form-foot .note{font-size:12px;color:var(--fg-3);line-height:1.45;max-width:30ch}.form-success{display:none;flex-direction:column;align-items:center;text-align:center;padding:32px 20px 24px}.form-success .check{width:60px;height:60px;border-radius:9999px;background:var(--sage-600);color:var(--sand-100);display:inline-flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:var(--shadow-md)}.form-success h2{font-family:var(--font-display);font-weight:600;font-size:26px;color:var(--sage-900);margin:0 0 10px}.form-success p{font-size:15px;line-height:1.6;color:var(--fg-2);margin:0;max-width:42ch}.form-card.sent form{display:none}.form-card.sent .form-success{display:flex}.form-card.sent:before{background:var(--sage-600)}.audience-banner,.audience-switch,.form-eyebrow,.form-helper{display:none}body[data-audience=banner] .audience-banner{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px 18px;margin-bottom:24px;background:var(--sand-50);border:1px solid var(--hairline);border-left:3px solid var(--sand-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.audience-banner .ab-ico{width:42px;height:42px;border-radius:9999px;flex-shrink:0;background:var(--sand-200);border:1px solid var(--sand-400);color:var(--sand-700);display:inline-flex;align-items:center;justify-content:center}.audience-banner .ab-ico svg{width:21px;height:21px}.audience-banner .ab-txt{font-size:13.5px;line-height:1.5;color:var(--fg-2)}.audience-banner .ab-txt strong{color:var(--sage-900);font-weight:600;display:block;font-size:14px;margin-bottom:2px}.audience-banner .ab-btn{font-family:var(--font-sans);font-size:13px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border-radius:9999px;background:var(--sage-700);color:var(--sand-100);border:1px solid var(--sage-800);transition:background .18s}.audience-banner .ab-btn:hover{background:var(--sage-800)}@media(max-width:560px){body[data-audience=banner] .audience-banner{grid-template-columns:1fr}.audience-banner .ab-btn{justify-content:center}}body[data-audience=switch] .audience-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;margin-bottom:26px;background:var(--sand-200);border:1px solid var(--hairline-soft);border-radius:9999px}.audience-switch button{font-family:var(--font-sans);font-size:13.5px;font-weight:600;padding:11px 14px;border-radius:9999px;border:1px solid transparent;background:transparent;color:var(--fg-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s,color .18s,box-shadow .18s}.audience-switch button svg{width:16px;height:16px;opacity:.85}.audience-switch button.active{background:var(--sand-50);color:var(--sage-900);box-shadow:var(--shadow-xs);border-color:var(--hairline-soft)}.resident-panel{display:none;text-align:center;padding:14px 8px 6px}.form-card.show-resident form{display:none}.form-card.show-resident .resident-panel{display:block}.resident-panel .rp-ico{width:56px;height:56px;border-radius:9999px;margin:0 auto 18px;background:var(--sage-100);border:1px solid var(--sage-300);color:var(--sage-700);display:inline-flex;align-items:center;justify-content:center}.resident-panel h3{font-family:var(--font-display);font-weight:600;font-size:23px;color:var(--sage-900);margin:0 0 10px}.resident-panel p{font-size:14.5px;line-height:1.6;color:var(--fg-2);margin:0 auto 22px;max-width:42ch}.resident-panel .rp-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.resident-panel .rp-phone{font-family:var(--font-sans);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;padding:15px 22px;border-radius:9999px;background:transparent;color:var(--sage-800);border:1px solid var(--sage-700);transition:background .18s}.resident-panel .rp-phone:hover{background:var(--sand-100)}body[data-audience=subtle] .form-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:10.5px;font-weight:600;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--sage-600);margin-bottom:14px}.form-eyebrow:before{content:"";width:22px;height:1.5px;background:var(--sand-500)}body[data-audience=subtle] .form-helper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline-soft);font-size:13px;color:var(--fg-3)}.form-helper a{font-weight:600;color:var(--sage-700);display:inline-flex;align-items:center;gap:5px}.form-helper a:hover{color:var(--sage-900);text-decoration:underline}.form-card.sent .form-helper{display:none}@media(max-width:920px){form{grid-template-columns:1fr}.form-card{padding:32px 26px 34px}}.slogan{background:var(--sage-900);color:var(--sand-100);padding:44px 32px}.slogan .container{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:48px;align-items:center}.slogan .mono{font-family:var(--font-display);font-weight:500;font-size:22px;letter-spacing:var(--tr-tagline);text-transform:uppercase;color:var(--sand-500)}.slogan .promise{font-size:14px;color:#f6f3ecbd;line-height:1.55;text-align:right;max-width:36ch;justify-self:end}.slogan .shield{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.95}.footer{background:var(--sage-800);color:#f6f3ecbd;padding:56px 32px 28px;font-size:13px}.footer .grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;gap:40px}.footer h5{font-size:11px;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--sand-100);margin:0 0 14px;font-weight:600}.footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer a:hover{color:var(--sand-100);text-decoration:underline}.footer .brand-mark img{height:32px;width:auto;margin-bottom:16px;filter:brightness(0) invert(.96)}.footer .brand-mark p{font-size:13px;line-height:1.6;color:#f6f3ec9e;max-width:40ch;margin:0}.footer .legal{border-top:1px solid rgba(246,243,236,.18);margin-top:40px;padding-top:18px;max-width:1240px;margin-inline:auto;display:flex;justify-content:space-between;font-size:11px;opacity:.7;font-family:var(--font-mono);letter-spacing:.04em}@media(max-width:920px){.footer .grid{grid-template-columns:1fr 1fr}.footer .brand-mark,.slogan{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.nav{position:relative}.nav-toggle,.mobile-menu{display:none}@media(max-width:860px){.nav .links,.nav .nav-actions{display:none}.nav{grid-template-columns:1fr auto;gap:12px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin:-2px -4px -2px 0;border:none;background:transparent;cursor:pointer;color:inherit;border-radius:9999px;-webkit-tap-highlight-color:transparent;transition:background .16s}.nav-toggle:hover{background:#6e7e5f1a}.nav-toggle .bars{position:relative;width:20px;height:14px}.nav-toggle .bars span{position:absolute;left:0;right:0;height:2px;background:currentColor;border-radius:2px;transition:transform .22s var(--ease-stand),opacity .16s var(--ease-stand)}.nav-toggle .bars span:nth-child(1){top:0}.nav-toggle .bars span:nth-child(2){top:6px}.nav-toggle .bars span:nth-child(3){top:12px}.nav.nav-open .nav-toggle .bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav.nav-open .nav-toggle .bars span:nth-child(2){opacity:0}.nav.nav-open .nav-toggle .bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{display:block;position:absolute;top:calc(100% + 12px);left:0;right:0;padding:12px;background:#fbf9f3f7;border:1px solid var(--hairline-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 1px #fff9 inset;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);color:var(--sage-800);max-height:calc(100dvh - 120px);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s var(--ease-stand),transform .24s var(--ease-stand),visibility 0s linear .24s}.nav.nav-open .mobile-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .2s var(--ease-stand),transform .24s var(--ease-stand),visibility 0s linear 0s}.mobile-links{display:flex;flex-direction:column}.mobile-links>a{display:block;padding:12px 14px;border-radius:var(--radius-md);font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--sage-800);transition:background .16s}.mobile-links>a:hover{background:var(--sand-100)}.mobile-group{margin-top:6px;padding-top:10px;border-top:1px solid var(--hairline-soft)}.mobile-group-label{display:block;padding:4px 14px 8px;font-family:var(--font-sans);font-size:9.5px;font-weight:600;letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--sage-600)}.mobile-group>a{display:block;padding:9px 14px;border-radius:var(--radius-md);transition:background .16s}.mobile-group>a:hover{background:var(--sand-100)}.mobile-group>a .ttl{display:block;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--sage-800);line-height:1.2}.mobile-group>a .dsc{display:block;font-family:var(--font-sans);font-weight:400;font-size:12px;color:var(--fg-2);line-height:1.35;margin-top:2px}.mobile-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:14px;border-top:1px solid var(--hairline-soft)}.mobile-actions .phone{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--sage-800);padding:11px 18px;border-radius:9999px;border:1px solid var(--hairline-soft)}.mobile-actions .phone svg{width:16px;height:16px;opacity:.65}.mobile-actions .cta{display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;letter-spacing:.01em;padding:13px 18px;border-radius:9999px;background:var(--sage-600);color:var(--sand-100);border:1px solid var(--sage-700);transition:background .2s}.mobile-actions .cta:hover{background:var(--sage-700)}}@media(max-width:400px){.nav{padding-left:16px;gap:10px}.nav .brand .mark{height:34px}.nav .brand .wordmark{padding-left:10px;gap:3px}.nav .brand .name{font-size:14px}.nav .brand .tag{display:none}}@media(max-width:340px){.nav .brand .wordmark{display:none}}@media(max-width:560px){.page-head{padding:120px 22px 0}.page-head h1{font-size:clamp(36px,10vw,50px)}.contact{padding:40px 22px 64px}.form-card{padding:28px 20px 30px}.footer{padding:48px 22px 24px}.footer .legal{flex-direction:column;gap:6px;align-items:flex-start}}
