:root{--font-sans: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", sans-serif;--font-display: Georgia, "Times New Roman", serif;--font-family: var(--font-sans);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: clamp(1.625rem, 1.3rem + 1.4vw, 2.125rem);--text-2xl: clamp(2rem, 1.5rem + 2.4vw, 3rem);--tracking-label: .14em;--color-night: #0a1628;--color-night-soft: #0f2140;--color-tech: #1a4d8f;--color-tech-bright: #3d7dd4;--color-cta-bg: #2456a8;--color-cta-bg-hover: #1d4788;--color-warm: #c4a574;--color-warm-soft: rgb(196 165 116 / 16%);--color-warm-ink: #7a5a2c;--color-stone: #e8e6e1;--color-stone-muted: #d4d0c8;--color-mineral: #f2f0eb;--color-surface: #faf9f7;--color-paper: #fdfcfa;--color-bg: var(--color-mineral);--color-surface-muted: #efede8;--color-text: #0f1a2e;--color-text-muted: #4a5568;--color-text-on-dark: #eef2f8;--color-text-muted-on-dark: #a8b8d0;--color-border: rgb(15 26 46 / 11%);--color-border-strong: rgb(15 26 46 / 34%);--color-border-on-dark: rgb(238 242 248 / 14%);--color-accent: var(--color-cta-bg);--color-accent-hover: var(--color-cta-bg-hover);--color-accent-soft: #e8eef6;--color-link: var(--color-tech);--color-focus: var(--color-cta-bg);--color-focus-on-dark: #7eb8e8;--color-error: #9b2c2c;--color-error-bg: #fbeeee;--color-error-line: #e6bcbc;--color-success: #2f6b4f;--color-success-bg: #ecf5ef;--color-success-line: #b9d7c6;--color-info: var(--color-tech);--color-info-bg: var(--color-accent-soft);--color-info-line: #c3d3e8;--color-pending: #8a5a14;--color-pending-bg: #fbf3e3;--color-pending-line: #e8d3a8;--color-neutral: #4a5568;--color-neutral-bg: #eeece8;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 5rem;--max-content: 46rem;--max-wide: 76rem;--max-text: 42rem;--gutter: clamp(1rem, .6rem + 2vw, 2rem);--shadow-subtle: 0 1px 2px rgb(10 22 40 / 5%);--shadow-raised: 0 1px 2px rgb(10 22 40 / 5%), 0 12px 32px -18px rgb(10 22 40 / 28%);--ease-out: cubic-bezier(.2, .7, .2, 1);--duration: .16s}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-family);font-size:100%;line-height:1.55;color:var(--color-text);background:var(--color-bg);overflow-x:clip;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{margin:0;min-height:100vh;overflow-x:clip;background:var(--color-bg)}#root{min-height:100vh;min-width:0;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-accent-hover);text-decoration-thickness:2px}img{max-width:100%}::selection{background:#c4a57459}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.focus-target:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.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}.app-shell{min-height:100vh;min-width:0;max-width:100%;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;background:var(--color-night);color:var(--color-text-on-dark);border-bottom:1px solid var(--color-border-on-dark);box-shadow:inset 0 -1px #c4a57438}.app-header :focus-visible{outline-color:var(--color-focus-on-dark)}.app-header__inner{width:min(100%,var(--max-wide));margin:0 auto;min-height:4rem;padding:var(--space-2) var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);min-width:0}.app-brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:2.75rem;color:var(--color-text-on-dark);text-decoration:none;margin-inline-end:auto}.app-brand:hover{color:var(--color-text-on-dark)}.brand-mark{display:block;flex:none}.app-brand__word{font-family:var(--font-sans);font-size:1.125rem;font-weight:650;letter-spacing:.04em}.app-brand__product{font-family:var(--font-display);font-size:1.0625rem;font-style:italic;color:var(--color-warm);padding-inline-start:var(--space-3);border-inline-start:1px solid var(--color-border-on-dark)}.app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0}.app-nav__link{position:relative;display:inline-flex;align-items:center;min-height:2.75rem;padding:0 var(--space-2);color:var(--color-text-muted-on-dark);font-size:.9375rem;text-decoration:none;border-radius:var(--radius-sm);transition:color var(--duration) var(--ease-out)}.app-nav__link:hover,.app-nav__link--active{color:var(--color-text-on-dark)}.app-nav__link--active:after{content:"";position:absolute;inset-inline:var(--space-2);bottom:.45rem;height:1px;background:var(--color-warm)}.app-account{display:flex;align-items:center;gap:var(--space-3);min-width:0}.app-identity{display:flex;flex-direction:column;align-items:flex-end;text-align:end;min-width:0;color:var(--color-text-muted-on-dark);font-size:var(--text-sm);line-height:1.35;overflow-wrap:anywhere}.app-identity__org{color:var(--color-text-on-dark);font-weight:600}.app-main{flex:1;width:min(100%,calc(var(--max-content) + 2 * var(--gutter)));min-width:0;max-width:100%;margin:0 auto;padding:var(--space-6) var(--gutter) var(--space-8)}.app-main--wide{width:min(100%,calc(var(--max-wide) + 2 * var(--gutter)))}.app-footer{border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm)}.app-footer__inner{width:min(100%,var(--max-wide));margin:0 auto;padding:var(--space-5) var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5)}.app-footer__brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text);font-weight:600;letter-spacing:.04em}.app-footer__links a{color:var(--color-text-muted)}@media(max-width:40rem){.app-header{position:static}.app-header__inner{gap:0 var(--space-3);padding-block:var(--space-1)}.app-nav{order:3;width:100%;margin-inline:calc(-1 * var(--space-2));border-top:1px solid var(--color-border-on-dark)}.app-identity>span:not(.app-identity__org){display:none}.app-brand__word{font-size:1rem}.app-main{padding-top:var(--space-5)}}.eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-warm-ink)}.section{margin-bottom:var(--space-6)}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--color-text);margin-bottom:var(--space-3)}.section>.section-title,.section>h1.section-title,.page-title{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.section>.section-title:after{content:"";display:block;width:2.5rem;height:1px;margin-top:var(--space-4);background:var(--color-warm)}.card>.section-title,.project-item>.section-title{font-size:var(--text-lg)}.section-lead{color:var(--color-text-muted);font-size:var(--text-md);line-height:1.6;max-width:var(--max-text);margin-bottom:var(--space-4)}.subsection-title,.presence-subtitle{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;line-height:1.25;margin:0}.subsection-title{margin-bottom:var(--space-1)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(var(--space-4),3vw,var(--space-6));box-shadow:var(--shadow-subtle);min-width:0;max-width:100%;overflow-wrap:anywhere}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;min-width:0;max-width:100%}.row>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.divider{border:0;border-top:1px solid var(--color-border);margin:0}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);padding:.625rem 1.125rem;font:inherit;font-size:.9375rem;font-weight:600;line-height:1.25;letter-spacing:.01em;text-align:center;text-decoration:none;cursor:pointer;min-height:2.75rem;transition:background-color var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out),color var(--duration) var(--ease-out)}a.btn{align-self:flex-start}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);color:#fff}.btn-secondary{background:var(--color-paper);border-color:var(--color-border-strong);color:var(--color-text)}.btn-secondary:hover:not(:disabled){border-color:var(--color-text);background:#fff;color:var(--color-text)}.btn-ghost{background:transparent;color:var(--color-link);padding-inline:var(--space-3)}.btn-ghost:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-hover)}.btn-on-dark{color:var(--color-text-muted-on-dark)}.btn-on-dark:hover:not(:disabled){background:#eef2f814;color:var(--color-text-on-dark)}.btn[aria-pressed=true].btn-primary{box-shadow:inset 0 -2px 0 var(--color-warm)}.form-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-4)}.form-label{font-weight:600;font-size:.9375rem;color:var(--color-text)}.form-input,.form-select{width:100%;min-height:2.875rem;padding:.625rem .875rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font:inherit;color:var(--color-text);background:var(--color-paper);transition:border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.form-input::placeholder{color:#6b7280}.form-input:hover:not(:disabled),.form-select:hover:not(:disabled){border-color:#0f1a2e8c}.form-input:focus-visible,.form-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus)}.form-input:disabled,.form-select:disabled,.form-input[readonly]{background:var(--color-surface-muted);color:var(--color-text-muted)}.form-select{appearance:none;padding-inline-end:2.5rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:right 1.15rem center,right .8rem center;background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat}.form-input[aria-invalid=true],.form-select[aria-invalid=true]{border-color:var(--color-error);box-shadow:inset 3px 0 0 var(--color-error)}textarea.form-input{line-height:1.55}.form-hint,.form-error{font-size:var(--text-sm);line-height:1.5}.form-hint{color:var(--color-text-muted)}.form-error{color:var(--color-error);font-weight:500}.choice-group{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.choice-group>legend{padding:0;margin-bottom:var(--space-2)}.choice{display:flex;align-items:flex-start;gap:var(--space-3);min-height:2.75rem;padding-block:var(--space-2);cursor:pointer;overflow-wrap:anywhere}.choice input[type=radio],.choice input[type=checkbox]{flex:none;width:1.25rem;height:1.25rem;margin:.125rem 0 0;accent-color:var(--color-accent)}.consent-box{display:flex;gap:var(--space-3);align-items:flex-start;min-width:0;max-width:100%}.consent-box label{overflow-wrap:anywhere}.consent-box input{margin-top:.25rem;min-width:1.125rem;min-height:1.125rem;accent-color:var(--color-accent)}.otp-input{font-family:var(--font-display);letter-spacing:.45em;font-size:1.5rem;text-align:center;max-width:13rem}.org-picker{gap:var(--space-3)}.org-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.org-search>.form-field{flex:1 1 14rem;min-width:0}.org-results{gap:0}.org-option{border-top:1px solid var(--color-border);padding-block:var(--space-3)}.org-option:last-child{border-bottom:1px solid var(--color-border)}.org-option__text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.org-selection{font-weight:600}.inline-message{position:relative;padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 3px);border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}.inline-message:before{content:"";position:absolute;inset-block:-1px;inset-inline-start:-1px;width:3px;border-radius:var(--radius-md) 0 0 var(--radius-md);background:currentColor}.inline-message--error{background:var(--color-error-bg);border-color:var(--color-error-line);color:var(--color-error)}.inline-message--info{background:var(--color-info-bg);border-color:var(--color-info-line);color:var(--color-info)}.inline-message--success{background:var(--color-success-bg);border-color:var(--color-success-line);color:var(--color-success)}.status-banner{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-warm-soft),transparent 70%),var(--color-surface);border-inline-start:2px solid var(--color-warm)}.status-banner .section-title{font-size:var(--text-lg);margin-bottom:var(--space-1)}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-neutral-bg);color:var(--color-neutral);font-size:var(--text-xs);font-weight:600;letter-spacing:.03em;line-height:1.6;white-space:nowrap}.badge:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.badge--nuevo,.badge--pending{background:var(--color-pending-bg);border-color:var(--color-pending-line);color:var(--color-pending)}.badge--en_curso,.badge--info{background:var(--color-info-bg);border-color:var(--color-info-line);color:var(--color-info)}.badge--respondida,.badge--published{background:var(--color-success-bg);border-color:var(--color-success-line);color:var(--color-success)}.badge--rejected{background:var(--color-error-bg);border-color:var(--color-error-line);color:var(--color-error)}.badge--cerrada,.badge--descartada,.badge--draft{background:var(--color-neutral-bg);color:var(--color-neutral)}.chip,.presence-tags>li{display:inline-flex;align-items:center;padding:.25rem .75rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-paper);font-size:var(--text-sm);line-height:1.4;color:var(--color-text)}.money{font-family:var(--font-display);font-size:1.5rem;font-variant-numeric:tabular-nums lining-nums;font-weight:400;overflow-wrap:anywhere}.money-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.disclaimer{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-inline-start:2px solid var(--color-warm);background:var(--color-warm-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:.9375rem;color:var(--color-text)}.assumptions-list{margin:var(--space-3) 0 0;padding-left:1.25rem;color:var(--color-text-muted)}.definition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-4);margin:0}.definition-grid>div{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.definition-grid dt{font-size:var(--text-sm);color:var(--color-text-muted)}.definition-grid dd{margin:var(--space-1) 0 0;font-weight:600}.definition-grid dd .money{font-size:1.25rem}.project-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4)}.project-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-subtle)}.project-meta{display:flex;flex-direction:column;gap:var(--space-2)}.project-tool-status{margin-bottom:var(--space-1)}.project-actions{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-2)}.project-cta{margin-top:var(--space-1)}.quick-quote-section{border-top:1px solid var(--color-border);padding-top:var(--space-5);margin-top:var(--space-5)}.subsection-title+.share-link-list{margin-top:var(--space-2)}.share-link-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.share-link-item{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-paper)}.public-proposal-page{max-width:var(--max-content);margin:0 auto;display:grid;gap:var(--space-5)}.public-proposal-header h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.1;margin:var(--space-2) 0 var(--space-3)}.public-proposal-card{margin:0}.presence-fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.presence-fieldset>legend{padding:0;margin-bottom:var(--space-2)}.presence-textarea{min-height:8rem;resize:vertical}.presence-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:0 var(--space-4)}.presence-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:var(--space-3);align-items:end;padding-block:var(--space-3);border-top:1px solid var(--color-border)}.presence-actions,.presence-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end}.presence-filters>.form-field{flex:1 1 13rem;min-width:0}.presence-filters{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.presence-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.presence-review-list,.presence-contacts{list-style:none;padding:0;margin:0 0 var(--space-5);display:grid;gap:var(--space-4)}.presence-contacts{gap:0;margin:0;overflow-wrap:anywhere}.presence-contacts>li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-1) var(--space-3);padding-block:var(--space-3);border-top:1px solid var(--color-border)}.presence-contacts .form-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted)}.presence-facts{display:grid;grid-template-columns:minmax(8rem,max-content) 1fr;gap:var(--space-2) var(--space-4);margin:0}.presence-facts dt{font-weight:600;color:var(--color-text-muted);font-size:.9375rem}.presence-facts dd{margin:0;overflow-wrap:anywhere}.presence-multiline{white-space:pre-line;overflow-wrap:anywhere}.presence-status__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}@media(max-width:30rem){.presence-facts{grid-template-columns:1fr}}.monogram{flex:none;display:grid;place-items:center;width:var(--monogram-size, 3.5rem);aspect-ratio:1;border-radius:var(--radius-lg);background:var(--color-stone);color:var(--color-night);font-family:var(--font-display);font-size:calc(var(--monogram-size, 3.5rem) * .4);letter-spacing:.02em;box-shadow:inset 0 0 0 1px var(--color-border),inset 0 -3px 0 var(--color-warm)}.monogram--dark{background:var(--color-night-soft);color:var(--color-warm);box-shadow:inset 0 0 0 1px var(--color-border-on-dark),inset 0 -3px 0 var(--color-warm)}.directory-hero{margin-bottom:var(--space-6);max-width:44rem}.directory-hero h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.1;letter-spacing:-.015em;margin:var(--space-3) 0 var(--space-4)}.presence-directory{list-style:none;padding:0;margin:0 0 var(--space-6);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.directory-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);transition:border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out),transform var(--duration) var(--ease-out);min-width:0;overflow-wrap:anywhere}.directory-card:hover{border-color:#c4a574b3;box-shadow:var(--shadow-raised)}@media(prefers-reduced-motion:no-preference){.directory-card:hover{transform:translateY(-2px)}}.directory-card:focus-within{border-color:var(--color-focus)}.directory-card__head{display:flex;align-items:center;gap:var(--space-3);min-width:0}.directory-card__title{font-family:var(--font-display);font-size:1.3125rem;font-weight:400;line-height:1.2;margin:0}.directory-card__title a{color:var(--color-text);text-decoration:none}.directory-card__title a:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.directory-card__title a:focus-visible{outline:none}.directory-card__title a:focus-visible:after{outline:2px solid var(--color-focus);outline-offset:2px}.directory-card__headline{color:var(--color-text);line-height:1.5}.directory-card__zones{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm)}.directory-more{display:flex;justify-content:center}.empty-state{padding:var(--space-6) var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center;color:var(--color-text-muted)}.profile-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-5);align-items:center;padding:clamp(var(--space-5),4vw,var(--space-7));margin-bottom:var(--space-6);border-radius:var(--radius-xl);background:radial-gradient(120% 140% at 100% 0%,rgb(36 86 168 / 28%),transparent 55%),var(--color-night);color:var(--color-text-on-dark);overflow:hidden}.profile-hero:after{content:"";position:absolute;width:26rem;aspect-ratio:1;right:-9rem;bottom:-15rem;border:1px solid rgb(196 165 116 / 40%);border-radius:50%;pointer-events:none}.profile-hero .monogram{--monogram-size: clamp(4rem, 10vw, 6rem)}.profile-hero__kind{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-warm)}.profile-hero h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin:var(--space-2) 0 var(--space-3)}.profile-hero__headline{color:var(--color-text-muted-on-dark);font-size:var(--text-md);max-width:38rem}@media(max-width:30rem){.profile-hero{grid-template-columns:1fr}}.profile-layout{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}@media(min-width:62rem){.profile-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.profile-aside{position:sticky;top:5.5rem}}.profile-main{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.profile-about{font-size:var(--text-md);line-height:1.7;max-width:var(--max-text)}.profile-block{display:flex;flex-direction:column;gap:var(--space-3)}.profile-block>h2{font-size:var(--text-xs);font-family:var(--font-sans);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-warm-ink)}.profile-note{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.profile-aside .card{border-top:2px solid var(--color-warm)}.request-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.requests-layout{display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr)}@media(min-width:60rem){.requests-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}}.requests-filters{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.requests-filters>.btn{min-height:2.5rem;padding-inline:var(--space-3);font-size:var(--text-sm)}.requests-filters>.btn-ghost{color:var(--color-text-muted)}.requests-list,.requests-replies{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.requests-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-1) var(--space-3);align-items:center;text-align:left;font:inherit;color:inherit;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration) var(--ease-out)}.requests-item:hover{border-color:var(--color-border-strong)}.requests-item>.form-hint{grid-column:1 / -1}.requests-item--active{border-color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-accent);background:var(--color-paper)}.requests-item__name{font-weight:600;overflow-wrap:anywhere}.requests-replies>li{border-left:2px solid var(--color-warm);padding-left:var(--space-3)}.casa-editor{min-width:0;gap:var(--space-5)}.casa-hero{position:relative;display:grid;gap:var(--space-5);padding:clamp(var(--space-5),4vw,var(--space-7));border-radius:var(--radius-xl);background:radial-gradient(90% 120% at 100% 0%,rgb(36 86 168 / 30%),transparent 60%),var(--color-night);color:var(--color-text-on-dark);overflow:hidden;min-width:0}.casa-hero :focus-visible{outline-color:var(--color-focus-on-dark)}.casa-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgb(238 242 248 / 4%) 1px,transparent 1px),linear-gradient(90deg,rgb(238 242 248 / 4%) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(110deg,transparent 30%,#000 85%);mask-image:linear-gradient(110deg,transparent 30%,#000 85%);pointer-events:none}.casa-hero>*{position:relative}@media(min-width:56rem){.casa-hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}}.casa-hero__eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-warm)}.casa-hero h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;line-height:1.05;letter-spacing:-.015em;margin:var(--space-2) 0 var(--space-4)}.casa-dream{font-family:var(--font-display);font-size:clamp(1.1875rem,1rem + .8vw,1.5rem);line-height:1.4;color:var(--color-text-on-dark);max-width:36rem}.casa-dream__lead{color:var(--color-warm);font-style:italic}.casa-dream__swatches{display:flex;gap:0;margin-top:var(--space-4);width:min(100%,16rem);height:.625rem;border-radius:var(--radius-pill);overflow:hidden;box-shadow:0 0 0 1px #eef2f833}.casa-dream__swatches>span{flex:1}.casa-hero__aside{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm)}.casa-hero .disclaimer{margin:0;background:#eef2f80f;color:var(--color-text-on-dark);border-inline-start-color:var(--color-warm);font-size:var(--text-sm)}.casa-hero .form-hint{color:var(--color-text-muted-on-dark)}.casa-hero .btn-secondary{background:transparent;color:var(--color-text-on-dark);border-color:var(--color-border-on-dark)}.casa-hero .inline-message--error{color:var(--color-error)}.casa-save-status{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;color:var(--color-text-on-dark)}.casa-save-status:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#7fc6a0}.casa-save-status--failed:before{background:#f0a3a3}.casa-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4)}.casa-section-head .eyebrow{display:block;margin-bottom:var(--space-1)}.casa-workspace{display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr);min-width:0}@media(min-width:64rem){.casa-workspace{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.casa-sheet{position:sticky;top:5rem}}.casa-controls{display:flex;flex-direction:column;gap:var(--space-5);min-width:0}.casa-sheet{background:var(--color-paper)}.casa-templates,.casa-room-list,.casa-warning-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.casa-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:var(--space-3)}.casa-templates>li{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper)}.casa-templates>li>.btn{justify-content:flex-start}.casa-warning-list>li{padding:var(--space-2) var(--space-3);border-inline-start:2px solid var(--color-error);background:var(--color-error-bg);color:var(--color-error);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--text-sm)}.casa-grid-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:var(--space-3);min-width:0}.casa-toolbar{justify-content:flex-end}.casa-toolbar>.casa-section-head{flex:1 1 12rem}.casa-toolbar>.btn{min-height:2.5rem;padding-inline:var(--space-3)}.casa-room-button{appearance:none;width:100%;min-height:2.75rem;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;overflow-wrap:anywhere;transition:border-color var(--duration) var(--ease-out),background-color var(--duration) var(--ease-out)}.casa-room-button:hover{border-color:var(--color-border-strong)}.casa-room-button[aria-pressed=true]{border-color:var(--color-focus);box-shadow:inset 3px 0 0 var(--color-focus);background:var(--color-accent-soft)}.casa-room-button__swatch{grid-row:span 2;width:1.25rem;height:1.25rem;border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px #0f1a2e40}.casa-room-button__name{font-weight:650}.casa-room-button__meta{font-size:var(--text-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.casa-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.casa-add>.form-field{flex:1 1 12rem;min-width:0}.casa-table-wrap{max-width:100%;overflow-x:auto}.casa-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.casa-table th,.casa-table td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--color-border);text-align:start}.casa-table thead th{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.casa-table tbody th{font-weight:500}.casa-table td:last-child,.casa-table thead th:last-child{text-align:end;white-space:nowrap}.casa-table tfoot th,.casa-table tfoot td{font-weight:650}.casa-table tfoot tr:first-child>*{border-top:1px solid var(--color-border-strong)}.casa-bottom{display:grid;gap:var(--space-5);grid-template-columns:minmax(0,1fr)}@media(min-width:64rem){.casa-bottom{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}}.casa-plan{margin:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.casa-plan svg{display:block;width:100%;height:auto;max-height:78vh;background:var(--plan-paper, #fbf8f2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans)}.casa-plan__grid{fill:none;stroke:var(--plan-grid, rgb(15 26 46 / 7%));stroke-width:.6}.casa-plan__plot{fill:var(--plan-plot, #fffdf9);stroke:var(--plan-ink, #1f2a3d);stroke-width:1.6}.casa-plan__plot-inner{fill:none;stroke:var(--plan-ink, #1f2a3d);stroke-width:.5;stroke-opacity:.5}.casa-plan__street{fill:none;stroke:var(--plan-ink, #1f2a3d);stroke-width:.7;stroke-dasharray:5 4;stroke-opacity:.55}.casa-plan__street-label,.casa-plan__dim-label,.casa-plan__scale-label{fill:var(--plan-ink-soft, #4a5568);letter-spacing:.08em}.casa-plan__street-label{font-weight:600;text-transform:uppercase}.casa-plan__dim{stroke:var(--plan-ink-soft, #4a5568);stroke-width:.6;fill:none}.casa-plan__scale-bar{fill:var(--plan-ink, #1f2a3d)}.casa-plan__scale-bar--hollow{fill:var(--plan-paper, #fbf8f2);stroke:var(--plan-ink, #1f2a3d);stroke-width:.6}.casa-plan__room{cursor:pointer}.casa-plan__room rect{stroke:var(--plan-ink, #1f2a3d);stroke-width:1.1;stroke-linejoin:miter;transition:fill var(--duration) var(--ease-out)}.casa-plan__room:hover rect{stroke-width:2}.casa-plan__room text{pointer-events:none}.casa-plan__room-dims{opacity:.8}.casa-plan__room--warning rect{stroke:var(--color-error);stroke-width:1.6;stroke-dasharray:5 3}.casa-plan__hatch{stroke:var(--color-error);stroke-width:.4;stroke-opacity:.45}.casa-plan__room--selected rect{stroke:var(--color-focus);stroke-width:3;stroke-dasharray:none}.casa-plan__caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.casa-plan__options{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;cursor:pointer;color:var(--color-text)}.casa-plan__options input{width:1.125rem;height:1.125rem;accent-color:var(--color-accent)}.casa-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text)}.casa-legend>li{display:inline-flex;align-items:center;gap:var(--space-2)}.casa-legend__swatch{width:.875rem;height:.875rem;border-radius:3px;box-shadow:inset 0 0 0 1px #0f1a2e4d}.casa-titleblock{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);margin:0}.casa-titleblock>div{padding:var(--space-2) var(--space-3);border-inline-end:1px solid var(--color-border);min-width:0}.casa-titleblock>div:last-child{border-inline-end:0}.casa-titleblock dt{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted)}.casa-titleblock dd{margin:.125rem 0 0;font-family:var(--font-display);font-size:.9375rem;color:var(--color-text)}.casa-dream-section{gap:var(--space-6)}.casa-choice-group{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.casa-choice-group>legend{padding:0;margin-bottom:var(--space-1);font-weight:600}.casa-choice-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3)}.casa-choice-head .btn{min-height:2.5rem}.casa-style-grid,.casa-palette-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr))}.casa-palette-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr))}.casa-option{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);min-height:2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-paper);cursor:pointer;transition:border-color var(--duration) var(--ease-out),box-shadow var(--duration) var(--ease-out)}.casa-option:hover{border-color:var(--color-border-strong)}.casa-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.casa-option:has(input:checked){border-color:var(--color-night);box-shadow:inset 0 0 0 1px var(--color-night),0 10px 24px -18px #0a162899}.casa-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.casa-option__check{position:absolute;top:var(--space-3);right:var(--space-3);width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid var(--color-border-strong);background:var(--color-paper)}.casa-option:has(input:checked) .casa-option__check{border-color:var(--color-night);background:radial-gradient(circle,var(--color-warm) 0 38%,transparent 40%),var(--color-night)}.casa-option__swatches{display:flex;height:3.25rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:inset 0 0 0 1px #0f1a2e1a}.casa-option__swatches>span{flex:1}.casa-option__swatches>span:first-child{flex:2}.casa-option__name{font-family:var(--font-display);font-size:1.125rem;line-height:1.25;padding-inline-end:var(--space-5)}.casa-option__desc{font-size:var(--text-sm);color:var(--color-text-muted)}.casa-palette-grid .casa-option{padding:var(--space-3)}.casa-palette-grid .casa-option__swatches{height:2.25rem}.casa-palette-grid .casa-option__name{font-family:var(--font-sans);font-size:.9375rem;font-weight:600}.casa-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.casa-chip{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-paper);font-size:.9375rem;cursor:pointer;transition:background-color var(--duration) var(--ease-out),border-color var(--duration) var(--ease-out)}.casa-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.casa-chip:before{content:"";width:.875rem;height:.875rem;border-radius:50%;border:1px solid var(--color-border-strong);transition:background-color var(--duration) var(--ease-out)}.casa-chip:hover{border-color:var(--color-text)}.casa-chip:has(input:checked){background:var(--color-night);border-color:var(--color-night);color:var(--color-text-on-dark)}.casa-chip:has(input:checked):before{border-color:var(--color-warm);background:var(--color-warm)}.casa-chip:has(input:disabled){opacity:.5;cursor:not-allowed;border-style:dashed}.casa-chip:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.casa-count{font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--color-text-muted)}.casa-budget{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.casa-budget>legend{padding:0;margin-bottom:var(--space-1)}@media(max-width:30rem){.casa-option{padding:var(--space-3)}.casa-option__swatches{height:2.5rem}}.brief-swatches{display:inline-flex;gap:2px;vertical-align:middle}.brief-swatch{width:1rem;height:1rem;border-radius:3px;border:1px solid var(--color-border)}.brief-plan{width:100%;max-height:28rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.brief-table{width:100%;border-collapse:collapse;font-size:.9375rem}.brief-table th,.brief-table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.casa-quote-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3)}.insights-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}.public-proposal-page>h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.15}.auth-card{max-width:30rem;margin:clamp(var(--space-4),6vh,var(--space-8)) auto 0;border-top:2px solid var(--color-warm)}.auth-card>a.btn,.auth-card>.btn{align-self:stretch}.page-status{padding:var(--space-6) var(--gutter);color:var(--color-text-muted);text-align:center}
