/* Homepage-only identity. Other workspaces retain their current theme. */
:root { --wr-ivory:#f8f6f1; --wr-forest:#173d32; --wr-ink:#202824; --wr-muted:#626b64; --wr-line:#daded6; --wr-jade:#397f73; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; color:var(--wr-ink); background:var(--wr-ivory); font:400 16px/1.55 Inter,Arial,sans-serif; }
button,input,textarea { font:inherit; }
button,a,label[role=button] { -webkit-tap-highlight-color:transparent; }
button,label[role=button] { cursor:pointer; }
button:disabled { cursor:wait; opacity:.65; }
a { color:inherit; }
img { display:block; max-width:100%; }
[hidden] { display:none!important; }
:focus-visible { outline:3px solid #bf673c; outline-offset:5px; }
h1,h2,h3,p { margin:0; }
h1,h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; }
.skip-link { position:fixed; top:12px; left:12px; transform:translateY(-200%); z-index:300; padding:12px 20px; color:var(--wr-forest); background:white; }
.skip-link:focus { transform:none; }
.global-header { position:absolute; z-index:10; inset:0 0 auto; min-height:88px; display:flex; align-items:center; gap:36px; padding:24px 4vw; color:var(--wr-ivory); background:transparent; }
.global-header-brand { display:flex; align-items:center; gap:8px; font-size:28px; font-weight:500; text-decoration:none; letter-spacing:-1.2px; margin-right:auto; }
.brand-wordmark { display:block; width:176px; height:47px; flex:none; background-color:currentColor; mask:url('/assets/wiserobin/approved-wordmark-mask.svg') center / contain no-repeat; -webkit-mask:url('/assets/wiserobin/approved-wordmark-mask.svg') center / contain no-repeat; }
.global-header nav { display:flex; gap:clamp(20px,2.8vw,42px); align-items:center; }
.global-header nav a { text-decoration:none; font-size:14px; padding:8px 0; border-bottom:1px solid transparent; }
.global-header nav a:hover { border-bottom-color:currentColor; }
.account-login,.menu-toggle { color:inherit; background:none; border:0; padding:12px 0; font-size:14px; min-height:44px; }
.account-login { margin-left:12px; white-space:nowrap; }
.menu-toggle { display:none; }
.hero { position:relative; isolation:isolate; display:flex; align-items:center; min-height:640px; height:max(640px,66.6667vw); padding:100px 7.3vw 160px; background:var(--wr-jade); color:var(--wr-ivory); }
.hero-art { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; z-index:-2; }
.hero-title-container { width:55.5%; max-width:900px; }
.hero-title { font-size:clamp(44px,4.9vw,88px); line-height:1.06; letter-spacing:-.03em; }
.hero-title span { display:block; }
.hero-subtitle { font-size:clamp(14px,1.35vw,21px); font-weight:400; line-height:1.6; margin-top:25px; }
.mobile-break { display:none; }
.hero-prompt { margin-top:38px; position:relative; }
.prompt-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.hero-prompt-row { display:flex; align-items:center; gap:8px; padding:7px; background:#f4eee3; color:var(--wr-ink); border:1px solid rgba(255,255,255,.65); border-radius:5px; }
.hero-prompt-row:focus-within { outline:2px solid var(--wr-ivory); outline-offset:4px; }
.hero-prompt-field { flex:1; min-width:0; }
.hero-prompt textarea { display:block; resize:none; overflow-y:auto; width:100%; height:92px; min-height:92px; max-height:92px; border:0; background:transparent; color:var(--wr-ink); padding:10px 12px; font-size:16px; line-height:24px; }
.hero-prompt textarea::placeholder { color:#62675f; opacity:1; }
.hero-prompt textarea:focus { outline:none; }
.hero-spec-button { flex:none; width:40px; min-height:48px; display:grid; place-items:center; border-radius:3px; }
.hero-spec-button:hover,.hero-spec-button.has-file { background:#e5ece4; }
#homeSpecFile,.hero-spec-name-legacy { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.start-button { display:flex; flex:none; justify-content:center; align-items:center; gap:17px; min-height:70px; min-width:120px; padding:12px 19px; border:0; border-radius:3px; background:var(--wr-forest); color:var(--wr-ivory); }
.start-button:hover { background:#102b23; }
.start-button span { font-size:24px; line-height:1; }
.hero-microcopy { visibility:hidden; position:absolute; right:0; top:calc(100% + 10px); padding:8px 12px; border-radius:3px; background:#173d32; color:white; font-size:12px; pointer-events:none; z-index:2; }
.start-button:hover + .hero-microcopy,.start-button:focus-visible + .hero-microcopy { visibility:visible; }
.hero-spec-status { margin-top:12px; padding:12px; background:var(--wr-ivory); color:var(--wr-forest); border-radius:3px; font-size:13px; overflow-wrap:anywhere; }
.hero-spec-status progress { display:block; width:100%; height:5px; margin-top:10px; accent-color:var(--wr-forest); }
.hero-spec-name.error { color:#98312f; }
.hero-bottom { position:absolute; bottom:30px; left:24px; right:24px; text-align:center; font-size:12px; }
.hero-bottom p { display:inline-block; padding:5px 14px; }
.hero-bottom p span { padding:0 14px; }
.hero-bottom a { display:block; width:48px; margin:5px auto 0; font-size:28px; line-height:44px; text-decoration:none; }
.page-section { padding:100px max(28px,7.3vw); }
.section-heading { text-align:center; margin-bottom:56px; }
.eyebrow { font-size:12px; letter-spacing:.1em; margin-bottom:15px; color:var(--wr-muted); }
h2 { font-size:clamp(42px,4.2vw,64px); line-height:1.07; letter-spacing:-.02em; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; max-width:1400px; margin:auto; }
.service { display:flex; flex-direction:column; align-items:flex-start; border-top:1px solid var(--wr-line); }
.service-number { color:var(--wr-muted); font-size:11px; margin:23px 0 16px; }
.service h3 { font:400 clamp(26px,2.4vw,38px)/1.12 'Cormorant Garamond',Georgia,serif; margin-bottom:18px; }
.service > p:not(.service-number) { font-size:14px; color:var(--wr-muted); line-height:1.7; margin-bottom:24px; max-width:340px; }
.text-link { font-size:13px; text-decoration:none; padding:6px 0; border-bottom:1px solid #9baa9d; }
.service .text-link { margin-top:auto; }
.text-link span { margin-left:16px; }
.text-link:hover { border-bottom-color:var(--wr-forest); }
.how-it-works { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; background:#e8eee7; }
.how-heading .text-link { display:inline-block; margin-top:30px; }
.hiw-steps { list-style:none; padding:0; margin:0; }
.hiw-steps li { display:flex; gap:28px; padding:26px 0; border-bottom:1px solid #b7c5b7; }
.hiw-steps li:first-child { padding-top:0; }
.hiw-steps li:last-child { border-bottom:0; padding-bottom:0; }
.hiw-num { font-size:12px; padding-top:5px; color:var(--wr-muted); }
.hiw-steps h3 { font-size:18px; font-weight:500; line-height:1.5; margin-bottom:9px; }
.hiw-steps p { color:var(--wr-muted); font-size:14px; max-width:440px; line-height:1.8; }
.closing-section { text-align:center; padding-top:110px; padding-bottom:110px; }
.closing-action { display:inline-flex; gap:28px; background:var(--wr-forest); color:var(--wr-ivory); padding:16px 24px; text-decoration:none; margin-top:30px; border-radius:3px; font-size:14px; }
.site-footer { display:flex; flex-wrap:wrap; align-items:center; gap:20px 32px; border-top:1px solid var(--wr-line); padding:32px max(28px,7.3vw); }
.footer-brand { display:flex; align-items:center; gap:6px; text-decoration:none; font-size:22px; letter-spacing:-.7px; }
.site-footer address,.site-footer small { font-size:11px; color:var(--wr-muted); font-style:normal; }
.site-footer nav { display:flex; gap:24px; margin-left:auto; font-size:12px; }
.site-footer nav a { text-decoration:none; }
.site-footer nav a:hover { text-decoration:underline; }
.site-footer small { flex-basis:100%; }
.auth-modal { display:none; position:fixed; inset:0; z-index:200; background:rgba(9,31,24,.6); padding:24px; align-items:center; justify-content:center; }
.auth-modal.is-active { display:flex; }
.auth-card { width:min(100%,460px); max-height:90dvh; overflow:auto; background:var(--wr-ivory); color:var(--wr-ink); padding:36px; border-radius:6px; box-shadow:0 24px 80px #102b2340; }
.auth-card .mono { font-size:11px; letter-spacing:.1em; color:var(--wr-muted); }
.auth-card h2 { font-size:40px; margin-top:8px; }
.auth-note { font-size:14px; margin:16px 0; color:var(--wr-muted); }
.auth-grid label { display:grid; gap:7px; font-size:13px; }
.auth-grid input { width:100%; background:white; border:1px solid #88988b; border-radius:3px; padding:12px; color:var(--wr-ink); }
.auth-actions { display:flex; gap:10px; margin-top:24px; }
.auth-button { border:1px solid var(--wr-forest); border-radius:3px; padding:12px 18px; background:var(--wr-forest); color:white; }
.auth-button.secondary { background:transparent; color:var(--wr-forest); }
.auth-error { color:#98312f; }
/* Keep the existing assistant available, without its previous electric-blue styling. */
.wiserobin-home .gc-chat-launcher { right:24px; bottom:24px; background:var(--wr-forest); border-color:#ffffff80; box-shadow:0 4px 18px #173d3220; width:46px; height:46px; font-weight:400; }
.wiserobin-home .gc-chat-panel { right:24px; bottom:24px; max-height:calc(100dvh - 48px); box-shadow:0 12px 48px #173d3230; color:var(--wr-ink); }
.wiserobin-home .gc-chat-messages { background:var(--wr-ivory); }
.wiserobin-home .gc-chat-send { background:var(--wr-forest); }
.wiserobin-home .gc-chat-action { color:var(--wr-forest); }
.wiserobin-home .gc-chat-message[data-role=user] { border-color:#bbcbbb; background:#e8eee7; }
@media (max-width:900px) {
    .global-header { gap:22px; padding:20px 28px; min-height:82px; }
    .global-header nav { gap:18px; }
    .hero { height:auto; max-height:none; min-height:0; display:flex; flex-direction:column; padding:0 0 70px; background:#2c6b5e; }
    .hero-art { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; z-index:-2; }
    .hero-title-container { width:100%; padding:38px 7.3vw 45px; }
    .hero-title { font-size:clamp(46px,6vw,70px); }
    .hero-title span { display:inline; }
    .hero-subtitle { font-size:15px; margin-top:22px; }
    .hero-prompt { max-width:720px; margin-top:24px; }
    .hero-bottom { bottom:16px; }
    .hero-bottom p { background:none; }
    .hero-bottom a { display:none; }
    .service-grid { gap:24px; }
    .how-it-works { gap:44px; }
}
@media (max-width:700px) {
    .global-header { padding:14px 18px; gap:14px; min-height:72px; background:#265f54; }
    .global-header-brand { font-size:23px; gap:4px; }
    .global-header .brand-wordmark { width:148px; height:39px; }
    .account-login { margin:0; font-size:13px; }
    .menu-toggle { display:block; font-size:13px; }
    .global-header nav { display:none; }
    .global-header nav.is-open { display:flex; position:absolute; top:100%; left:0; right:0; padding:16px 24px 24px; gap:8px; align-items:stretch; flex-direction:column; background:#265f54; box-shadow:0 8px 12px #173d3220; }
    .global-header nav a { padding:12px 0; }
    .hero-art { height:auto; margin-top:72px; }
    .hero-title-container { padding:30px 24px 40px; }
    .hero-title { font-size:clamp(41px,9vw,58px); line-height:1.02; }
    .hero-subtitle { font-size:14px; line-height:1.7; }
    .mobile-break { display:block; }
    .hero-prompt-row { display:grid; grid-template-columns:1fr auto; gap:0; padding:8px; }
    .hero-prompt-field { grid-column:1 / -1; }
    .hero-prompt textarea { padding:10px 8px; }
    .hero-spec-button { width:44px; min-height:48px; }
    .start-button { min-height:48px; min-width:110px; }
    .hero-bottom { font-size:10px; left:14px; right:14px; }
    .hero-bottom p { padding:4px 0; }
    .hero-bottom p span { padding:0 7px; }
    .page-section { padding:64px 24px; }
    .section-heading { margin-bottom:36px; }
    h2 { font-size:43px; }
    .service-grid { grid-template-columns:1fr; gap:44px; }
    .service h3 { font-size:33px; }
    .service > p:not(.service-number) { max-width:none; margin-bottom:16px; }
    .service-number { margin:17px 0 10px; }
    .how-it-works { grid-template-columns:1fr; gap:38px; }
    .site-footer { padding:28px 24px 80px; gap:14px; }
    .site-footer address { flex-basis:100%; }
    .site-footer nav { margin-left:0; }
    .auth-card { padding:26px; }
    .wiserobin-home .gc-chat-launcher { right:16px; bottom:16px; }
    .wiserobin-home .gc-chat-panel { right:16px; bottom:16px; max-height:calc(100dvh - 32px); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
