.site-theme .ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-theme [hidden]{display:none!important}
.site-theme .ui-display,.site-theme .ui-page-title,.site-theme .ui-section-title,.site-theme .ui-card-title{margin:0;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}
.site-theme .ui-display{font-size:clamp(48px,4.5vw,58px);line-height:1.09}
.site-theme .ui-page-title{font-size:clamp(42px,4vw,52px);line-height:1.08}
.site-theme .ui-section-title{font-size:clamp(38px,3.3vw,42px);line-height:1.12}
.site-theme .ui-card-title{font-size:20px;line-height:1.25}
.site-theme .ui-body{font-size:16px;line-height:1.6}.site-theme .ui-lead{font-size:20px;line-height:1.55}
.site-theme .ui-label{font-size:14px;font-weight:700}.site-theme .ui-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.site-theme .ui-meta{font-size:12px;color:var(--color-text-muted)}.site-theme .ui-caption{font-size:11px;color:var(--color-text-muted)}
.site-theme .ui-text--muted{color:var(--color-text-muted)}.site-theme .ui-text--inverse{color:var(--color-text-inverse)}.site-theme .ui-text--accent{color:var(--color-accent)}
.site-theme .ui-icon{display:inline-block;width:var(--size-icon-md);height:var(--size-icon-md);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-theme .ui-icon--sm{width:var(--size-icon-sm);height:var(--size-icon-sm)}.site-theme .ui-icon--lg{width:var(--size-icon-lg);height:var(--size-icon-lg)}.site-theme .ui-icon--decorative{width:48px;height:48px}
.site-theme .ui-button{display:inline-flex;min-height:var(--size-control-md);align-items:center;justify-content:center;gap:12px;padding:0 24px;border:1px solid transparent;border-radius:var(--component-button-radius);cursor:pointer;font:700 15px var(--font-body);text-decoration:none;transition:background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast)}
.site-theme .ui-button{font-family:var(--font-body);font-weight:700}
.site-theme .ui-button:hover{transform:translateY(-1px)}
.site-theme .ui-button--primary{background:var(--color-action);color:var(--color-text-inverse)}.site-theme .ui-button--primary:hover{background:var(--color-action-hover)}
.site-theme .ui-button--secondary,.site-theme .ui-button--outline{border-color:var(--neutral-400);background:transparent;color:var(--color-action)}
.site-theme .ui-button--ghost{background:transparent;color:var(--color-text)}.site-theme .ui-button--link{min-height:0;padding:0 0 8px;border:0;border-bottom:3px solid currentColor;border-radius:0;background:transparent;color:var(--color-action)}
.site-theme .ui-button--inverse{background:var(--white);color:var(--green-800)}.site-theme .ui-button--icon{width:var(--size-control-md);padding:0;border-radius:50%}
.site-theme .ui-button--compact{min-height:var(--size-control-sm);padding-inline:18px;font-size:13px}.site-theme .ui-button--block{width:100%}
.site-theme .ui-button--danger{background:var(--color-danger);color:var(--white)}
.site-theme .ui-button:disabled,.site-theme .ui-button[aria-disabled="true"],.site-theme .ui-button.is-loading{cursor:not-allowed;opacity:var(--opacity-disabled);transform:none}
.site-theme .ui-field{display:grid;gap:8px}.site-theme .ui-field__label{font-size:14px;font-weight:700}.site-theme .ui-field__required{color:var(--color-danger)}
.site-theme .ui-input,.site-theme .ui-select,.site-theme .ui-textarea{width:100%;border:var(--border-control);border-radius:var(--component-field-radius);outline:0;background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.site-theme .ui-input,.site-theme .ui-select{height:var(--size-control-md);padding:0 14px}.site-theme .ui-textarea{min-height:116px;padding:14px;resize:vertical}
.site-theme .ui-input:focus,.site-theme .ui-select:focus,.site-theme .ui-textarea:focus{border-color:#7b8782;box-shadow:0 0 0 3px var(--color-focus)}
.site-theme .ui-field__help{font-size:12px;color:var(--color-text-muted)}.site-theme .ui-field__error{font-size:12px;color:var(--color-danger)}
.site-theme .ui-field.is-invalid .ui-input,.site-theme .ui-field.is-invalid .ui-select,.site-theme .ui-field.is-invalid .ui-textarea{border-color:var(--color-danger)}
.site-theme .ui-choice,.site-theme .ui-switch{accent-color:var(--color-action)}.site-theme .ui-control:disabled{cursor:not-allowed;opacity:var(--opacity-disabled)}
.site-theme .ui-badge,.site-theme .ui-count-badge{display:inline-flex;align-items:center;width:max-content;border-radius:var(--radius-round);font-size:11px;font-weight:700}
.site-theme .ui-badge{gap:6px;padding:6px 9px;background:var(--color-surface-soft);color:var(--color-text-muted)}.site-theme .ui-count-badge{min-width:24px;height:24px;justify-content:center;padding:0 7px;background:var(--color-action);color:var(--white)}
.site-theme .ui-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.site-theme .ui-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--color-action);color:var(--white);font-weight:700}
.site-theme .ui-progress{height:6px;overflow:hidden;border-radius:var(--radius-round);background:var(--neutral-200)}.site-theme .ui-progress>i{display:block;height:100%;background:var(--color-action)}
.site-theme .ui-progress-ring{display:grid;width:64px;height:64px;place-items:center;border-radius:50%;background:conic-gradient(var(--color-action) calc(var(--progress,0) * 1%),var(--neutral-200) 0)}
.site-theme .ui-spinner{width:20px;height:20px;border:2px solid var(--neutral-300);border-top-color:var(--color-action);border-radius:50%;animation:ui-spin .8s linear infinite}
.site-theme .ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--neutral-100),var(--neutral-200),var(--neutral-100));background-size:200% 100%;animation:ui-skeleton 1.3s ease infinite}
.site-theme .ui-media{display:block;width:100%;height:auto}.site-theme .ui-media-frame{position:relative;overflow:hidden;aspect-ratio:var(--media-ratio,16/9)}.site-theme .ui-media-frame>img{width:100%;height:100%;object-fit:cover}.site-theme .ui-media--round{border-radius:50%}.site-theme .ui-media-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(2,14,12,.9))}.site-theme .ui-media-overlay{position:absolute;inset:auto 0 0;padding:var(--space-6)}
.site-theme :where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
@keyframes ui-spin{to{transform:rotate(360deg)}}@keyframes ui-skeleton{to{background-position:-200% 0}}
@media(max-width:760px){.site-theme .ui-display{font-size:34px}.site-theme .ui-section-title{font-size:32px}.site-theme .ui-card-title{font-size:18px}}
@media(prefers-reduced-motion:reduce){.site-theme *{scroll-behavior:auto!important}.site-theme .ui-spinner,.site-theme .ui-skeleton{animation:none}.site-theme .ui-button{transition:none}}
.ui-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:12px;padding:0 24px;border-radius:6px;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background-color .18s,box-shadow .18s,transform .18s}
.ui-button--secondary{width:110px;padding:0;border:1px solid #bcc5c9;color:#006245}
.ui-button.ui-button--primary{width:auto;min-width:0;height:50px;padding:0 24px;border:0;border-radius:6px;background:#006b48;box-shadow:none;color:#fff;font-size:15px;font-weight:700;letter-spacing:normal;text-transform:none}
.ui-button.ui-button--primary:hover{background:#005a3d;box-shadow:0 8px 18px rgba(0,75,56,.16);transform:translateY(-1px)}
.ui-button.ui-button--block{width:100%}
.ui-button>span[aria-hidden="true"]{font-size:20px;font-weight:400;line-height:1}
.request-composer{display:flex;width:579px;height:64px;align-items:center;margin:32px 0 0 16px;padding:0 9px 0 24px;border:1px solid #e5e8e7;border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(21,48,39,.06)}
.request-composer>svg{width:22px;flex:0 0 22px;fill:none;stroke:#3b9270;stroke-width:1.7}
.request-composer input{min-width:0;flex:1;height:100%;padding:0 12px;border:0;outline:0;background:transparent;color:#26333f;font:17px SiteSans}
.site-theme .request-composer input:focus,.site-theme .request-composer input:focus-visible{border-color:transparent!important;outline:none!important;box-shadow:none!important}
.request-composer input::placeholder{color:#738093;opacity:1}
.request-composer button{display:grid;width:45px;height:45px;flex:0 0 45px;place-items:center;padding:0;border:0;border-radius:50%;background:#00684a;cursor:pointer}
.request-composer button svg{width:21px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-card{position:relative;display:flex;align-items:center;flex-direction:column;padding:26px 20px 22px;border:1px solid #edf0ee;border-radius:15px;background:rgba(255,255,255,.97);box-shadow:0 4px 14px rgba(30,48,41,.035);color:#091318;text-align:center;text-decoration:none;transition:transform .2s,box-shadow .2s}
.service-card:hover{z-index:2;box-shadow:0 9px 22px rgba(20,50,39,.075);transform:translateY(-3px)}
.service-card__arrow{position:absolute;top:21px;right:20px;width:8px;height:8px;color:transparent;font-size:0}
.service-card__arrow::before{position:absolute;bottom:0;left:0;width:6px;height:2px;border-radius:2px;background:#69726f;content:"";transform:rotate(-45deg);transform-origin:left center}
.service-card__arrow::after{position:absolute;top:0;right:0;width:4px;height:4px;border-top:2px solid #69726f;border-right:2px solid #69726f;content:""}
.service-card__icon{display:grid;width:76px;height:76px;place-items:center}
.service-card__icon img{display:block;width:74px;height:74px;object-fit:contain}
.service-card h2{margin:16px 0 7px;font-size:18px;line-height:1.2}
.service-card p{margin:0;color:#68736f;font-size:13px;line-height:1.4}
.request-composer-shortcut{position:fixed;z-index:30;right:35px;bottom:31px;display:grid;width:62px;height:62px;isolation:isolate;place-items:center;padding:0;border:0;border-radius:50%;background:var(--green-300);box-shadow:0 8px 20px rgba(5,48,37,.18);cursor:pointer;transition:translate .25s ease,box-shadow .25s ease}
.request-composer-shortcut::before{position:absolute;z-index:-1;inset:-7px;border:1px solid rgba(176,226,76,.42);border-radius:inherit;background:radial-gradient(circle,rgba(196,239,103,.22),transparent 68%);content:"";pointer-events:none;animation:ai-chat-shortcut-halo 3.6s ease-in-out infinite}
.request-composer-shortcut::after{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#f7ffd9;box-shadow:0 0 7px 2px rgba(225,255,148,.85);content:"";pointer-events:none;animation:ai-chat-shortcut-orbit 4.6s cubic-bezier(.45,0,.55,1) infinite}
.request-composer-shortcut>span{position:relative;z-index:1;display:block;color:var(--green-900);font-size:31px;line-height:1;transform-origin:center;animation:ai-chat-shortcut-twinkle 3.4s ease-in-out infinite}
.request-composer-shortcut:hover{box-shadow:0 12px 28px rgba(5,48,37,.24),0 0 0 6px rgba(183,236,66,.13);translate:0 -3px}
.request-composer-shortcut:hover>span{animation-duration:1.8s}
.request-composer-shortcut:active{box-shadow:0 7px 17px rgba(5,48,37,.2);translate:0 -1px}
.request-composer-shortcut:focus-visible{outline:3px solid rgba(0,107,72,.42);outline-offset:5px}
@media(max-width:1120px){.request-composer{width:90%}
.service-card{padding-inline:10px}
.service-card h2{font-size:15px}
.service-card p{font-size:12px}
}
@media(max-width:760px){.request-composer{position:relative;z-index:2;order:3;width:calc(100% - 32px);margin:-32px 16px 0}
.service-card{min-width:260px;height:290px;scroll-snap-align:start;border-radius:15px}
.service-card h2{font-size:18px}
.service-card p{font-size:14px}
.request-composer-shortcut{right:18px;bottom:18px;width:58px;height:58px}
}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}
}
.service-card{border-radius:15px}
.request-composer{border-color:rgba(255,255,255,.62);box-shadow:0 14px 34px rgba(0,35,24,.2)}
.request-composer button{background:linear-gradient(145deg,#18a341,#008446)}
.service-card__icon{background:transparent}
.service-card__icon svg{stroke:#07892e}
.service-card p,.request-composer input{font-family:SiteSans,Arial,sans-serif;font-weight:400}
.service-card__arrow{top:22px;right:21px;font-size:13px;line-height:1}
@media(max-width:760px){.request-composer{position:absolute;z-index:3;top:510px;left:24px;width:calc(100% - 48px);height:66px;margin:0;border-radius:25px}
.service-card{display:grid;width:100%;min-width:0;height:142px;grid-template-columns:108px minmax(0,1fr) 24px;grid-template-rows:1fr 1fr;gap:0 10px;padding:20px 22px;border-radius:16px;scroll-snap-align:none;text-align:left}
.service-card:hover{transform:none}
.service-card__icon{grid-row:1/3;grid-column:1;align-self:center;width:86px;height:86px}
.service-card__icon img{width:79px;height:79px}
.service-card h2{grid-row:1;grid-column:2;align-self:end;margin:0 0 6px;font-size:20px;line-height:1.15}
.service-card p{grid-row:2;grid-column:2;align-self:start;margin:0;font-size:14px;line-height:1.48}
.service-card p br{display:none}
.service-card__arrow{top:50%;right:24px;width:12px;height:12px;border-top:3px solid #16942a;border-right:3px solid #16942a;color:transparent;font-size:0;transform:translateY(-50%) rotate(45deg)}
.service-card p br{display:block}
.request-composer-shortcut{display:none}
.request-composer{top:292px;left:24px;width:calc(100% - 48px);height:58px;border-radius:23px}
.request-composer button{width:46px;height:46px;flex-basis:46px}
.service-card{height:auto;min-height:100px;grid-template-columns:92px minmax(0,1fr) 20px;padding:9px 18px}
.service-card__icon{width:74px;height:74px}
.service-card__icon img{width:68px;height:68px}
.service-card h2{margin-bottom:5px;font-size:18px}
.service-card p{font-size:13px;line-height:1.38}
.service-card__arrow{right:20px;width:10px;height:10px;border-width:2px}
}
.service-card__icon svg{stroke:var(--green-600)}
@media(max-width:760px){.service-card__arrow{border-color:var(--green-600)}
}
/* Relocation AI concierge */
.request-composer{height:64px;padding:0;border-radius:var(--component-field-radius)}
.request-composer__entry{position:relative;display:flex;width:100%;min-width:0;height:100%;align-items:center;padding:0 9px}
.request-composer__entry input{padding-inline:12px 8px}
.request-composer__prompt{position:absolute;z-index:2;top:50%;right:103px;left:21px;overflow:hidden;color:#738093;font:400 17px SiteSans,Arial,sans-serif;line-height:1;pointer-events:none;text-overflow:clip;transform:translateY(-50%);white-space:nowrap}
.request-composer__prompt strong{color:#576476;font-weight:700}
.request-composer .request-composer__mic,.request-composer .request-composer__send{display:grid;place-items:center;padding:0;border:0;cursor:pointer}
.request-composer .request-composer__mic{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:transparent;color:#66706d}
.request-composer .request-composer__mic:hover{background:#f2f4f3}
.request-composer .request-composer__mic[aria-pressed="true"]{background:#e9f6e8;color:#07892e}
.request-composer .request-composer__mic svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.request-composer .request-composer__send{width:44px;height:44px;flex:0 0 44px;border-radius:13px;background:#f4f5f4;transition:background .18s ease,box-shadow .18s ease}
.request-composer .request-composer__send:disabled{opacity:.5;cursor:default}
.request-composer .request-composer__send:hover{background:#e9eeeb}
.request-composer .request-composer__send:disabled:hover{background:#f4f5f4}
.request-composer .request-composer__send svg{width:20px;fill:none;stroke:#8d9692;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .18s ease}
.request-composer.is-ready .request-composer__send{background:var(--green-600);box-shadow:0 5px 14px rgba(0,107,72,.22)}
.request-composer.is-ready .request-composer__send:hover{background:var(--green-800)}
.request-composer.is-ready .request-composer__send svg{stroke:#fff}
@media(max-width:760px){.request-composer{height:58px}
.request-composer__entry{padding-left:9px}
.request-composer__prompt{right:99px;left:21px}
.request-composer .request-composer__mic{width:38px;height:38px;flex-basis:38px}
.request-composer .request-composer__send{width:44px;height:44px;flex-basis:44px;border-radius:13px}
}
@media(max-width:430px){
.request-composer__entry input{padding-left:7px;font-size:13px}
.request-composer__prompt{right:95px;left:16px;font-size:13px}
}
.service-card__icon--large{position:relative}
.service-card__icon--large img{position:absolute;top:50%;left:50%;width:108px;height:108px;transform:translate(-50%,-50%)}
@media(min-width:761px){.service-card h2{display:block;min-height:0;margin:0 0 6px;font-size:clamp(14px,1.15vw,18px);letter-spacing:-.02em;line-height:1.2;white-space:normal}
.service-card p{min-height:2.9em;font-size:15px;line-height:1.45}
}
@media(max-width:760px){.service-card__icon--large img{width:94px;height:94px}
.service-card__arrow::before,.service-card__arrow::after{display:none}
}
/* Use a proper stroked icon instead of constructing the card arrow from CSS bars. */
.service-card__arrow{top:18px;right:18px;width:20px;height:20px;border:0;color:#69726f;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transform:none}
.service-card__arrow::before,.service-card__arrow::after,.service-card__arrow-chevron{display:none}
@media(max-width:760px){.service-card__arrow{top:50%;right:20px;width:22px;height:22px;border:0;color:var(--green-600);transform:translateY(-50%)}
.service-card__arrow-external{display:none}
.service-card__arrow-chevron{display:block}
.request-composer-shortcut{bottom:20px}
}
/* Canonical CTA variants override legacy section-specific button treatments. */
.ui-button.ui-button--secondary{width:auto;min-width:110px;height:50px;padding:0 24px;border:1px solid #bcc5c9;border-radius:6px;background:transparent;box-shadow:none;color:#006245;font-size:15px;font-weight:700;letter-spacing:normal;text-transform:none}
.ui-button.ui-button--secondary:hover{border-color:#006b48;background:#eef6f2;color:#005a3d;transform:translateY(-1px)}
.ui-button.ui-button--inverse{display:inline-flex;width:auto;min-width:0;height:50px;padding:0 24px;border:1px solid #fff;border-radius:6px;background:#fff;box-shadow:none;color:#006245;font-size:15px;font-weight:700;letter-spacing:normal;text-transform:none}
.ui-button.ui-button--inverse:hover{background:#eef6f2;box-shadow:0 8px 18px rgba(0,36,25,.2);color:#005a3d;transform:translateY(-1px)}
.ui-button.ui-button--link{display:inline-flex;width:auto;min-width:0;height:auto;min-height:0;gap:14px;padding:0 0 11px;border:0;border-bottom:4px solid #008457;border-radius:0;background:transparent;box-shadow:none;color:#008457;font-size:15px;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}
.ui-button.ui-button--link:hover{border-bottom-color:#005f40;background:transparent;box-shadow:none;color:#005f40;transform:none}
.ui-button.ui-button--link>span{font-size:25px;line-height:.7;transition:transform .18s}
.ui-button.ui-button--link:hover>span{transform:translateX(4px)}
/* Reusable heading design system. Semantic heading levels remain independent from visual roles. */
.site-theme{
  --site-font-display:var(--font-display);
  --site-heading-default:#071318;
  --site-heading-brand:#004b38;
  --site-heading-inverse:#fff;
  --site-heading-accent:#07892e;
  --site-heading-accent-inverse:#91cc26;
  --site-heading-hero-size:clamp(48px,4.5vw,58px);
  --site-heading-section-size:clamp(38px,3.3vw,42px);
  --site-heading-promotional-size:clamp(42px,3.6vw,46px);
  --site-heading-feature-size:30px;
  --site-heading-card-size:20px;
  --site-heading-interface-size:24px;
  --site-heading-utility-size:12px;
}
.site-heading{font-family:var(--site-font-display);font-style:normal;text-transform:none}
.site-heading.site-heading--hero{color:var(--site-heading-default);font-family:var(--site-font-display);font-size:var(--site-heading-hero-size);font-weight:700;line-height:1.09;letter-spacing:-.025em}
.site-heading.site-heading--section{color:var(--site-heading-default);font-family:var(--site-font-display);font-size:var(--site-heading-section-size);font-weight:700;line-height:1.12;letter-spacing:-.03em}
.site-heading.site-heading--section.site-heading--promotional{font-size:var(--site-heading-promotional-size);line-height:1.08}
.site-heading.site-heading--feature{color:var(--site-heading-default);font-family:var(--site-font-display);font-size:var(--site-heading-feature-size);font-weight:700;line-height:1.16;letter-spacing:-.025em}
.site-heading.site-heading--card{color:var(--site-heading-default);font-family:var(--site-font-display);font-size:var(--site-heading-card-size);font-weight:700;line-height:1.25;letter-spacing:-.01em}
.site-heading.site-heading--interface{color:var(--site-heading-default);font-family:var(--site-font-display);font-size:var(--site-heading-interface-size);font-weight:700;line-height:1.1;letter-spacing:-.015em}
.site-heading.site-heading--utility{font-family:var(--site-font-display);font-size:var(--site-heading-utility-size);font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
.site-heading.site-heading--brand{color:var(--site-heading-brand)}
.site-heading.site-heading--inverse{color:var(--site-heading-inverse)}
.site-heading.site-heading--accent-inverse{color:var(--site-heading-accent-inverse)}
.site-heading.site-heading--center{text-align:center}
.site-heading .site-heading__accent{color:var(--site-heading-accent);font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit}
.site-heading.site-heading--inverse .site-heading__accent{color:var(--site-heading-accent-inverse)}
/* Contextual layout variants still use the same heading tokens. */
.service-card .service-card__title{display:block;min-height:0;margin:14px 0 6px;font-size:clamp(14px,1.15vw,18px);line-height:1.2;white-space:normal}
@media(max-width:760px){.site-theme{
    --site-heading-hero-size:34px;
    --site-heading-section-size:32px;
    --site-heading-promotional-size:36px;
    --site-heading-feature-size:25px;
    --site-heading-card-size:18px;
    --site-heading-interface-size:20px;
    --site-heading-utility-size:11px;
  }
.service-card .service-card__title{grid-row:1;grid-column:2;align-self:end;min-height:0;margin:0 0 5px;font-size:var(--site-heading-card-size);line-height:1.15;white-space:normal}
}
@media(max-width:360px){.site-theme{--site-heading-hero-size:32px}
}
/* Preserve the full concierge prompt on narrow phones. */
@media(max-width:430px){.request-composer__entry input{padding-right:2px;font-size:11.5px}.request-composer__prompt{font-size:11.5px}}
/* Give service cards a clearer resting surface and stronger interaction cue. */
.service-card{
  border-color:#dce5df;
  background:linear-gradient(155deg,#fff 0%,#fff 72%,#f8fbf9 100%);
  box-shadow:0 10px 26px rgba(15,49,37,.075),0 1px 2px rgba(15,49,37,.04);
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease;
}
.service-card__icon--large{border-radius:50%;background:radial-gradient(circle,rgba(229,243,234,.82) 0 52%,rgba(241,248,243,.54) 53% 69%,transparent 70%)}
.service-card__icon--large img{filter:saturate(1.08) contrast(1.04);transition:filter .22s ease,transform .22s ease}
.service-card .service-card__title{color:#0b171c}
.service-card p{color:#4f5e59;font-weight:500}
.service-card__arrow{color:#4f625b;opacity:.72;transition:color .22s ease,opacity .22s ease,transform .22s ease}
.service-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
@media(hover:hover) and (min-width:761px){.service-card:hover{z-index:2;border-color:#b9d5c4;background:linear-gradient(155deg,#fff 0%,#fbfefc 60%,#eef8f1 100%);box-shadow:0 18px 38px rgba(9,66,44,.15),0 3px 8px rgba(9,66,44,.06);transform:translateY(-6px)}
.service-card:hover .service-card__icon--large img{filter:saturate(1.15) contrast(1.07);transform:translate(-50%,-50%) scale(1.06)}
.service-card:hover .service-card__arrow{color:#087653;opacity:1;transform:translate(2px,-2px)}
}
@media(max-width:760px){.service-card{border-color:#dce5df;box-shadow:0 7px 20px rgba(15,49,37,.07)}
.service-card p{font-size:14px;line-height:1.45}
.service-card__icon--large{background:radial-gradient(circle,rgba(229,243,234,.76) 0 53%,transparent 70%)}
}

/* Relocation AI conversation overlay */
body.ai-chat-open{overflow:hidden}
.ai-chat{position:fixed;z-index:100;inset:0;font-family:var(--font-body);color:var(--neutral-800)}
.ai-chat[hidden]{display:none}
.ai-chat__scrim{position:absolute;inset:0;background:rgba(7,18,14,.54);backdrop-filter:blur(1.5px)}
.ai-chat__dialog{position:absolute;inset:36px 42px;display:grid;overflow:hidden;grid-template-columns:104px minmax(0,1fr);grid-template-rows:minmax(0,1fr);border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fff;box-shadow:0 34px 90px rgba(3,24,16,.26)}
.ai-chat__rail{display:flex;align-items:center;flex-direction:column;padding:34px 20px 24px;border-right:1px solid var(--neutral-200);background:#fff}
.ai-chat__brand,.ai-chat__rail-action{display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--neutral-600);cursor:pointer}
.ai-chat__brand{width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,var(--green-300),#b7ec42);box-shadow:0 8px 20px rgba(25,75,52,.13);color:var(--green-900)}
.ai-chat__brand>span{display:block;color:var(--green-900);font-size:28px;line-height:1;transform-origin:center;animation:ai-chat-star-twinkle 2.8s ease-in-out infinite}
.ai-chat__rail-rule{width:58px;height:1px;margin:28px 0;background:var(--neutral-200)}
.ai-chat__rail-action{width:45px;height:45px;border-radius:12px}
.ai-chat__rail-action:hover{background:var(--neutral-50);color:var(--green-700)}
.ai-chat__rail-action svg{width:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-chat__main{position:relative;display:grid;min-width:0;min-height:0;overflow:hidden;grid-template-rows:90px minmax(0,1fr) auto;background:linear-gradient(180deg,#fff 0%,#fff 82%,#fbfff7 100%)}
.ai-chat__main::after{position:absolute;z-index:0;right:0;bottom:0;left:0;height:112px;background-image:linear-gradient(rgba(114,175,62,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(114,175,62,.08) 1px,transparent 1px),radial-gradient(circle at 50% 100%,rgba(145,204,38,.17),transparent 66%);background-size:42px 42px,42px 42px,100% 100%;content:"";pointer-events:none}
.ai-chat__header{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 26px}
.ai-chat__header h2{grid-column:2;margin:0;color:var(--neutral-950);font-size:20px;font-weight:700;line-height:1.2;text-align:center}
.ai-chat__close,.ai-chat__expand,.ai-chat__menu{display:grid;width:48px;height:48px;place-items:center;padding:0;border:0;border-radius:50%;background:#f3f5f4;color:var(--neutral-600);cursor:pointer}
.ai-chat__close,.ai-chat__expand{position:absolute;top:50%;right:26px;transform:translateY(-50%)}
.ai-chat__expand{right:84px}
.ai-chat__close:hover,.ai-chat__expand:hover{background:#e9edeb;color:var(--neutral-900)}
.ai-chat__close svg,.ai-chat__expand svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-chat__menu{display:none}
.ai-chat__messages{position:relative;z-index:1;width:min(100% - 80px,1100px);min-height:0;margin:0 auto;padding:26px 0 24px;overflow-y:auto;overscroll-behavior-y:contain;overflow-wrap:anywhere;scrollbar-color:#b6bdb9 transparent;scrollbar-width:thin}
.ai-chat__welcome{display:grid;max-width:650px;justify-items:center;margin:80px auto 0;text-align:center}
.ai-chat__welcome>span{display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:linear-gradient(145deg,var(--green-300),#b7ec42);color:var(--green-900);font-size:28px}
.ai-chat__welcome h3{margin:22px 0 10px;color:var(--green-900);font-family:var(--font-display);font-size:34px;line-height:1.15}
.ai-chat__welcome p{margin:0;color:var(--neutral-600);font-size:17px;line-height:1.65}
.ai-chat__message{font-size:18px;line-height:1.62}
.ai-chat__message+.ai-chat__message{margin-top:26px}
.ai-chat__message--user{width:fit-content;max-width:70%;margin-left:auto;padding:14px 20px;border-radius:14px 14px 3px 14px;background:#f2f4f3;color:var(--neutral-800)}
.ai-chat__message--assistant{max-width:950px;color:#414a48}
.ai-chat__message--assistant p{margin:0 0 18px}
.ai-chat__message--assistant ul{margin:5px 0 20px;padding-left:26px}
.ai-chat__message--assistant li{padding-left:4px}
.ai-chat__message--assistant li::marker{color:var(--green-600)}
.site-theme .ai-chat__message--assistant a{color:var(--green-700);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.site-theme .ai-chat__message--assistant a:hover{text-decoration-thickness:2px}
.ai-chat__message--error{width:fit-content;max-width:640px;padding:13px 17px;border:1px solid #eadfda;border-radius:12px;background:#fbf7f5;color:#76574d;font-size:15px}
.ai-chat__thinking{display:flex;align-items:center;gap:7px;color:var(--neutral-500)}
.ai-chat__thinking i{width:8px;height:8px;border-radius:50%;background:var(--green-500);animation:ai-chat-pulse 1.1s infinite ease-in-out}
.ai-chat__thinking i:nth-child(2){animation-delay:.15s}.ai-chat__thinking i:nth-child(3){animation-delay:.3s}
@keyframes ai-chat-pulse{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}
@keyframes ai-chat-star-twinkle{0%,100%{filter:drop-shadow(0 0 0 rgba(0,75,56,0));transform:scale(1) rotate(0)}50%{filter:drop-shadow(0 0 3px rgba(0,75,56,.28));transform:scale(1.1) rotate(8deg)}}
@keyframes ai-chat-shortcut-halo{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
@keyframes ai-chat-shortcut-orbit{0%{opacity:0;transform:rotate(-35deg) translateX(38px) scale(.3)}10%{opacity:1}42%{opacity:.75;transform:rotate(105deg) translateX(38px) scale(1)}58%{opacity:0}100%{opacity:0;transform:rotate(325deg) translateX(38px) scale(.3)}}
@keyframes ai-chat-shortcut-twinkle{0%,38%,100%{filter:drop-shadow(0 0 0 rgba(0,75,56,0));transform:scale(1) rotate(0)}48%{filter:drop-shadow(0 0 5px rgba(0,75,56,.34));transform:scale(1.18) rotate(10deg)}57%{transform:scale(.94) rotate(-4deg)}65%{filter:drop-shadow(0 0 2px rgba(0,75,56,.22));transform:scale(1.08) rotate(4deg)}74%{transform:scale(1) rotate(0)}}
.ai-chat__composer-wrap{position:relative;z-index:2;min-width:0;padding:12px 30px max(22px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,0),#fff 24%,rgba(247,255,239,.97) 100%)}
.ai-chat__composer{display:grid;width:min(100%,1040px);min-height:92px;grid-template-columns:minmax(0,1fr) 46px 54px;align-items:center;gap:4px;margin:0 auto;padding:14px 14px 14px 24px;border:1px solid #dfe4e1;border-radius:var(--component-field-radius);background:#fff;box-shadow:0 12px 32px rgba(21,48,39,.1)}
.ai-chat__composer textarea{max-height:130px;resize:none;overflow-y:auto;border:0;outline:0;background:transparent;color:var(--neutral-800);font:18px/1.45 var(--font-body)}
.ai-chat__composer textarea::placeholder{color:#929995;opacity:1}
.ai-chat__composer:focus-within{border-color:#dfe4e1;box-shadow:0 12px 32px rgba(21,48,39,.1)}
.ai-chat :where(button,textarea,[tabindex]):focus-visible{outline-color:rgba(38,51,63,.3)}
.site-theme .ai-chat__composer textarea:focus,.site-theme .ai-chat__composer textarea:focus-visible{border-color:transparent!important;outline:none!important;box-shadow:none!important}
.ai-chat__mic,.ai-chat__submit{display:grid;place-items:center;padding:0;border:0;cursor:pointer}
.ai-chat__mic{width:44px;height:44px;border-radius:50%;background:transparent;color:var(--neutral-600)}
.ai-chat__mic:hover,.ai-chat__mic[aria-pressed="true"]{background:var(--neutral-100);color:var(--green-700)}
.ai-chat__mic svg,.ai-chat__submit svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.request-composer .request-composer__mic,.ai-chat__mic{position:relative;isolation:isolate}
.request-composer .request-composer__mic[aria-pressed="true"],.ai-chat__mic[aria-pressed="true"]{background:var(--green-700);box-shadow:0 0 0 5px rgba(8,137,79,.13);color:#fff}
.request-composer .request-composer__mic[aria-pressed="true"] svg,.ai-chat__mic[aria-pressed="true"] svg{opacity:0}
.request-composer .request-composer__mic[aria-pressed="true"]::before,.ai-chat__mic[aria-pressed="true"]::before{position:absolute;width:12px;height:12px;border-radius:3px;background:currentColor;content:""}
.request-composer .request-composer__mic[aria-pressed="true"]::after,.ai-chat__mic[aria-pressed="true"]::after{position:absolute;z-index:-1;inset:-5px;border:2px solid rgba(8,137,79,.42);border-radius:50%;content:"";animation:ai-chat-mic-wave 1.35s ease-out infinite}
.request-composer .request-composer__mic.is-stopping,.ai-chat__mic.is-stopping{opacity:.7}
@keyframes ai-chat-mic-wave{0%{opacity:.85;transform:scale(.82)}75%,100%{opacity:0;transform:scale(1.3)}}
.ai-chat__submit{width:52px;height:52px;border-radius:15px;background:#f0f2f1;color:#818a86}
.ai-chat__submit:not(:disabled):hover{background:var(--green-800);color:#fff}
.ai-chat__submit:disabled{cursor:wait;opacity:.6}
.ai-chat__drawer{position:absolute;z-index:6;top:0;bottom:0;left:0;width:min(86vw,620px);padding:28px 32px;background:#fff;box-shadow:18px 0 40px rgba(4,26,18,.18);transform:translateX(-105%);transition:transform .25s ease}
.ai-chat__drawer.is-open{transform:translateX(0)}
.ai-chat__drawer header{display:flex;align-items:center;justify-content:space-between;padding-bottom:28px;border-bottom:1px solid var(--neutral-200)}
.ai-chat__drawer header button{display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;background:transparent;color:var(--neutral-600);cursor:pointer}
.ai-chat__drawer header svg{width:28px;fill:none;stroke:currentColor;stroke-width:1.7}
.ai-chat__drawer-brand{display:flex;align-items:center;gap:8px;color:var(--green-700);font-size:34px;letter-spacing:-.04em}
.ai-chat__drawer-brand span{padding:5px 10px;border-radius:8px;background:linear-gradient(145deg,var(--green-300),#b7ec42);color:var(--green-900);font-size:20px;letter-spacing:0}
.ai-chat__new{display:flex;width:100%;align-items:center;gap:18px;padding:24px 16px;border:0;border-bottom:1px solid var(--neutral-200);background:transparent;color:var(--neutral-800);font:20px var(--font-body);cursor:pointer}
.ai-chat__new svg{width:27px;fill:none;stroke:var(--neutral-600);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-chat__recents{padding:26px 16px}
.ai-chat__recents>p{margin:0 0 20px;color:#8a918e;font-size:16px}
.ai-chat__recent{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border:0;background:transparent;color:var(--neutral-800);font:18px var(--font-body);text-align:left;cursor:pointer}
.ai-chat__recent.is-active{font-weight:700}
.ai-chat__recent span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-chat__recent b{color:#8a918e;font-weight:400}
.ai-chat.is-expanded .ai-chat__dialog{inset:0;border:0;border-radius:0}

@media(max-width:760px){.ai-chat__scrim{display:none}
.ai-chat__dialog{inset:0;display:block;border:0;border-radius:0}
.ai-chat__rail{display:none}
.ai-chat__main{height:100%;grid-template-rows:112px minmax(0,1fr) auto}
.ai-chat__header{grid-template-columns:54px minmax(0,1fr) 54px;padding:0 20px;border-top:6px solid #f0f4f8}
.ai-chat__header h2{grid-column:2;overflow:hidden;font-size:20px;text-overflow:ellipsis;white-space:nowrap}
.ai-chat__menu{display:flex;grid-column:1;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent}
.ai-chat__menu span{display:block;width:25px;height:2px;border-radius:3px;background:#7f8784}
.ai-chat__close{position:static;grid-column:3;width:52px;height:52px;justify-self:end;transform:none}
.ai-chat__expand{display:none}
.ai-chat__messages{width:100%;padding:32px 32px 24px}
.ai-chat__welcome{margin-top:60px}
.ai-chat__welcome h3{font-size:28px}
.ai-chat__message{font-size:20px;line-height:1.55}
.ai-chat__message+.ai-chat__message{margin-top:34px}
.ai-chat__message--user{max-width:78%;padding:15px 19px}
.ai-chat__composer-wrap{padding:12px 32px max(30px,env(safe-area-inset-bottom))}
.ai-chat__composer{min-height:150px;grid-template-columns:minmax(0,1fr) 52px 62px;align-items:end;padding:20px 14px 20px 28px;border-radius:var(--component-field-radius)}
.ai-chat__composer textarea{grid-column:1/4;align-self:start;min-height:58px;font-size:20px}
.ai-chat__mic{grid-column:2;width:50px;height:50px}
.ai-chat__submit{grid-column:3;width:60px;height:60px;border-radius:16px}
.ai-chat__drawer{width:86%;padding:30px 32px;border-radius:0 24px 24px 0}
.ai-chat__drawer-brand{font-size:32px}
}
@media(max-width:430px){.ai-chat__main{grid-template-rows:92px minmax(0,1fr) auto}
.ai-chat__header{padding:0 14px}.ai-chat__header h2{font-size:17px}
.ai-chat__close{width:46px;height:46px}.ai-chat__messages{padding:24px 20px}
.ai-chat__message{font-size:17px}.ai-chat__composer-wrap{padding:12px 16px max(22px,env(safe-area-inset-bottom))}
.ai-chat__composer{min-height:128px;padding:16px 10px 16px 20px}.ai-chat__composer textarea{min-height:42px;font-size:17px}
.ai-chat__mic{width:44px;height:44px}.ai-chat__submit{width:52px;height:52px}
.ai-chat__drawer{padding:24px 22px}
}
@media(prefers-reduced-motion:reduce){.ai-chat__drawer,.request-composer-shortcut{transition:none}.ai-chat__thinking i,.ai-chat__brand>span,.request-composer-shortcut,.request-composer-shortcut::before,.request-composer-shortcut::after,.request-composer-shortcut>span,.request-composer__mic[aria-pressed="true"]::after,.ai-chat__mic[aria-pressed="true"]::after{animation:none}}
