:root{--blue:#0179b1;--navy:#013762;--cyan:#47dad6;--tech:#004c7a;--bg:#f5f9fc;--text:#0b2135;--muted:#51667c;--card:#fff;--line:#0137621f;--font-display:"Bricolage Grotesque", Georgia, serif;--font-body:"IBM Plex Sans", "Helvetica Neue", sans-serif;--radius-card:20px;--radius-control:10px;font-family:var(--font-body);color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,.brand strong,.contact-card strong{font-family:var(--font-display);font-weight:800}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}.app-header{z-index:10;background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 5vw;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-icon{color:#fff;background:var(--navy);border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.brand strong,.brand span{display:block}.brand strong{letter-spacing:-.01em;font-size:18px}.brand span{color:var(--muted);font-size:13px}nav{color:var(--tech);gap:6px;font-weight:600;display:flex}nav a{border-radius:8px;padding:10px 12px}nav a:hover{background:var(--bg)}main{width:min(1180px,90vw);margin:0 auto 80px}.intro{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:48px;padding:72px 0 42px;display:grid}.intro h1{letter-spacing:-.035em;color:var(--navy);margin:10px 0 20px;font-size:clamp(38px,6vw,66px);line-height:1.02}.intro p{color:var(--muted);font-size:19px;line-height:1.65}.eyebrow{color:var(--blue);align-items:center;gap:10px;margin:0 0 4px;font-size:15px;font-weight:600;display:flex}.eyebrow:before{content:"";background:var(--cyan);width:26px;height:2px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.primary-button,.secondary-button{min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-weight:600;display:inline-flex}.primary-button{background:var(--navy);color:#fff}.primary-button:hover{background:var(--tech)}.primary-button:disabled{background:var(--muted);cursor:not-allowed}.secondary-button{color:var(--navy);border:1px solid var(--line);background:#fff}.secondary-button:hover{border-color:var(--blue)}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.intro-card{background:var(--navy);color:#fff;border-radius:var(--radius-card);padding:28px}.intro-card strong{font-family:var(--font-display);font-size:18px}.intro-card p{color:#ffffffd1;font-size:16px}.property-card,.copy-section,.form-section,.quality-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-card);margin-top:34px;overflow:hidden}.hero-grid{grid-template-columns:2fr 1fr;gap:8px;height:460px;padding:8px;display:grid}.hero-grid.empty-gallery{grid-template-columns:1fr}.hero-grid img{object-fit:cover;background:var(--bg);border-radius:14px;width:100%;height:100%}.gallery-column{gap:8px;display:grid}.image-placeholder{min-height:220px;color:var(--tech);text-align:center;background:#47dad61a;border:1px dashed #0179b14d;border-radius:14px;align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.image-placeholder strong{color:var(--navy);font-size:20px;font-family:var(--font-display)}.image-placeholder span{color:var(--muted);font-weight:600}.image-placeholder.compact{min-height:100%}.property-content{grid-template-columns:minmax(0,1fr) 330px;gap:36px;padding:34px;display:grid}.property-title-card{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:18px}.property-main h1{color:var(--navy);letter-spacing:-.03em;margin:6px 0 10px;font-size:40px;line-height:1.08}.location{color:var(--muted);align-items:center;gap:8px;font-weight:600;display:flex}.description{color:var(--muted);font-size:17px;line-height:1.7}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:26px 0;display:grid}.feature{border-radius:var(--radius-control);background:var(--bg);color:var(--tech);align-items:center;gap:10px;padding:12px 14px;font-weight:600;display:flex}h2{color:var(--navy);letter-spacing:-.02em;margin:28px 0 12px;font-size:26px}.pill-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pill-list li{color:var(--tech);background:#47dad629;border-radius:999px;padding:9px 14px;font-weight:600}.check-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.check-list li{color:var(--muted);align-items:center;gap:9px;display:flex}.check-list svg{color:var(--blue);flex-shrink:0}.contact-card{border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--line);align-self:start;padding:24px;position:sticky;top:92px}.contact-card span,.contact-card small{color:var(--muted)}.contact-card strong{color:var(--navy);letter-spacing:-.02em;margin:6px 0;font-size:34px;display:block}.contact-terms{color:var(--muted);gap:4px;margin:8px 0 4px;padding:0;font-size:15px;list-style:none;display:grid}.contact-card .primary-button{width:100%;margin:12px 0 16px}.contact-missing{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-control);padding:12px;font-size:15px}.contact-card small{line-height:1.5;display:block}.copy-section,.form-section,.quality-card{padding:34px}.copy-section{grid-template-columns:.8fr 1.2fr;align-items:start;gap:24px;display:grid}.copy-section textarea{resize:vertical;grid-row:span 2;min-height:240px}.copy-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.copy-status{color:var(--muted);font-size:14px}.section-note{color:var(--muted);max-width:60ch}.public-link-pill{color:var(--tech);background:#47dad629;border-radius:999px;align-items:center;margin-top:14px;padding:10px 14px;font-weight:600;display:inline-flex}.public-link-pill:hover{background:#47dad647}textarea,input,select{border:1px solid var(--line);border-radius:var(--radius-control);width:100%;font:inherit;color:var(--text);background:var(--card);padding:12px 14px}textarea:focus,input:focus,select:focus{border-color:var(--blue)}input[type=checkbox],input[type=file]{width:auto}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}.property-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.property-form label{color:var(--tech);align-content:start;gap:6px;font-size:15px;font-weight:600;display:grid}.property-form .full{grid-column:1/-1}.property-form textarea{resize:vertical;min-height:110px}.toggle-row{flex-wrap:wrap;gap:12px;display:flex}.toggle-label{border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;padding:12px 16px;color:var(--text)!important;grid-template-columns:auto!important;gap:8px!important;font-weight:400!important;display:inline-flex!important}.form-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;display:flex}.field-title{color:var(--tech);margin:0 0 4px;font-weight:600}.field-help,.form-note{color:var(--muted);margin:0;font-size:14px;font-weight:400}.image-uploader{border-radius:var(--radius-control);background:var(--bg);border:1px dashed #0179b14d;gap:16px;padding:18px;display:grid}.upload-box{border-radius:var(--radius-control);color:var(--tech);text-align:center;cursor:pointer;background:#47dad61f;place-items:center;padding:24px;gap:6px!important;display:grid!important}.upload-box input{display:none}.upload-box span{font-size:17px;font-weight:600}.upload-box small{color:var(--muted);font-weight:400}.image-editor-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.image-editor-card{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card);gap:10px;padding:10px;display:grid}.image-editor-card img{aspect-ratio:4/3;object-fit:cover;border-radius:8px;width:100%}.image-editor-card span{color:var(--navy);font-weight:600}.image-actions{flex-wrap:wrap;gap:6px;display:flex}.image-actions button{min-height:32px;color:var(--tech);background:var(--bg);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:8px 10px;font-size:14px;font-weight:600}.image-actions button:disabled{opacity:.45;cursor:not-allowed}.api-message{border-radius:var(--radius-control);margin:0;padding:14px 16px;font-weight:600;line-height:1.5}.api-message.success{color:var(--tech);background:#47dad629}.api-message.error{color:#8a1f11;background:#ff60481f}.public-banner,.public-state{margin-top:46px}.public-banner{border-radius:var(--radius-card);background:var(--navy);color:#fff;padding:34px}.public-banner h1{letter-spacing:-.035em;margin:6px 0 10px;font-size:clamp(34px,5vw,56px);line-height:1.04}.public-banner p{color:#ffffffd1;font-size:18px;line-height:1.65}.public-state h1{color:var(--navy);letter-spacing:-.03em;margin:6px 0 10px;font-size:clamp(32px,5vw,50px)}.public-state p{color:var(--muted);line-height:1.65}.quality-header{grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:24px;display:grid}.quality-header h2{letter-spacing:-.03em;margin:4px 0 10px;font-size:clamp(28px,4vw,40px)}.quality-header p{color:var(--muted);line-height:1.65}.score-badge{border-radius:var(--radius-card);background:var(--navy);color:#fff;place-items:center;gap:6px;padding:22px;display:grid}.score-badge strong{font-family:var(--font-display);font-size:38px;line-height:1}.score-badge span{color:#ffffffd1;font-weight:600}.score-bar{background:#01376217;border-radius:999px;height:10px;margin:24px 0;overflow:hidden}.score-bar span{border-radius:inherit;background:var(--blue);height:100%;transition:width .25s;display:block}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.quality-grid h3{color:var(--navy);margin:0 0 12px}.quality-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.quality-list li{border-radius:var(--radius-control);background:var(--bg);color:var(--muted);align-items:flex-start;gap:10px;padding:12px;line-height:1.5;display:flex}.quality-list.good li{color:var(--tech)}.quality-list.pending strong{color:var(--navy)}.site-footer{border-top:1px solid var(--line);background:var(--card);color:var(--muted);padding:32px 5vw 44px;font-size:15px}.site-footer p{max-width:70ch;margin:6px 0}.site-footer strong{color:var(--navy)}@media (width<=850px){nav{display:none}.intro,.property-content,.copy-section,.quality-header,.quality-grid{grid-template-columns:1fr}.intro{padding-top:48px}.hero-grid{grid-template-columns:1fr;height:auto}.hero-image{min-height:300px}.gallery-column{grid-template-columns:1fr 1fr}.gallery-column img{min-height:140px}.contact-card{position:static}.property-form{grid-template-columns:1fr}.copy-section textarea{grid-row:auto}}
