:root{--ink:#182f34;--muted:#687975;--green:#245c48;--paper:#f6f5ef;--line:#d9dfd5;--white:#fff;--sold:#b84a42;--gold:#c59c4b;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--gold)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(40px,5vw,72px);line-height:1.08}h2{font-size:22px;letter-spacing:-.02em}h3{font-size:18px}small{font-size:12px}input,select,textarea{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;max-width:100%}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}textarea{width:100%;min-height:88px;resize:vertical}label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.site-header{padding:20px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;letter-spacing:.09em;font-size:15px;font-weight:650}.brand small{display:block;letter-spacing:.21em;font-size:9px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:42px;height:46px;color:var(--green);border:1px solid var(--gold);font:34px Georgia,serif}.site-header nav{display:flex;gap:22px;align-items:center;font-size:13px}.site-header nav>a{text-decoration:none}.page-shell{max-width:1440px;margin:auto;padding:52px clamp(18px,4vw,64px) 64px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--green);margin-bottom:18px}.hero-line{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:64px}.hero-line p{color:var(--muted);font-size:16px;line-height:1.8;max-width:340px}.section-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-line>span{color:var(--muted);font-size:12px}.area-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.area-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding:0;text-align:left;transition:transform .2s,border-color .2s}.area-card:hover{transform:translateY(-4px);border-color:var(--green)}.area-art{height:175px;position:relative;background:#e3e8d9;overflow:hidden}.area-art svg{width:100%;height:100%}.area-art .index{position:absolute;left:20px;top:15px;font:38px Georgia,serif;color:var(--green);opacity:.55}.area-art .location-tag{position:absolute;right:16px;top:18px;padding:4px 9px;border:1px solid #ffffff80;border-radius:20px;font-size:10px;background:#ffffffa0}.card-body{padding:24px}.card-body h3{font-size:19px;margin-bottom:8px}.card-body p{color:var(--muted);font-size:13px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:12px;color:var(--green)}.arrow{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:32px;height:32px}.site-footer{max-width:1440px;margin:auto;padding:28px clamp(18px,4vw,64px);border-top:1px solid var(--line);display:flex;gap:24px;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.site-footer strong{color:var(--ink)}.breadcrumb{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:28px}.link-button{background:none;border:0;padding:0;color:var(--green);text-decoration:underline;text-underline-offset:4px}.area-heading{font-size:clamp(28px,3vw,42px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);border:1px solid var(--green);border-radius:8px;color:#fff;padding:10px 16px;text-decoration:none;font-size:13px;white-space:nowrap}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.button.danger{background:#fff;color:var(--sold);border-color:#dfb0aa}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.map-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px 12px 0 0;padding:14px}.search-field{flex:1;min-width:160px}.legend{display:flex;gap:12px;font-size:11px;color:var(--muted);margin-left:auto}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.available-dot{background:#9bbe9c}.sold-dot{background:var(--sold)}.map-host{border:1px solid var(--line);background:#fff;position:relative;border-radius:0 0 12px 12px;overflow:hidden}.map-scroll{max-height:72vh;min-height:240px;overflow:auto;overscroll-behavior:contain;background:#fff}.map-svg{display:block;width:100%;height:auto;touch-action:pan-x pan-y}.map-controls{position:absolute;right:12px;bottom:12px;display:flex;gap:5px;z-index:2}.map-controls button{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 11px;color:var(--ink);font-size:13px;box-shadow:0 2px 6px #0001}.plot-region{fill:#4c956b25;stroke:#3d785c;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .15s}.plot-region:hover{fill:#4c956b66}.plot-region.sold{fill:#be494766;stroke:#a52d2d;stroke-dasharray:4 2}.plot-region.selected{fill:#d6ab4b55;stroke:#a96e00;stroke-width:3}.plot-region.dimmed{opacity:.14}.plot-number{font:600 13px system-ui;fill:var(--ink);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.map-caption{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;padding:12px 0}.detail-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;position:sticky;top:20px}.detail-empty{color:var(--muted);padding:30px 0;line-height:1.8}.detail-card h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:12px 0}.badge{display:inline-block;border-radius:20px;padding:5px 10px;background:#e3efe5;color:var(--green);font-size:11px;font-weight:600}.badge.sold{background:#f7e6e4;color:#a23e38}.detail-card dl{margin:28px 0 0}.detail-card dt{font-size:11px;color:var(--muted);margin-top:18px}.detail-card dd{margin:3px 0 0;font-size:15px;font-weight:550;overflow-wrap:anywhere}.muted{color:var(--muted)}.detail-footer{font-size:11px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}.plot-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.plot-chip{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:6px;min-width:42px;padding:6px 10px;font-size:12px}.plot-chip.sold{background:#f7e6e4;color:#a23e38}.plot-chip.selected{outline:2px solid var(--gold)}.notice{background:#fff7e3;color:#785d27;border:1px solid #e4d3a7;border-radius:8px;padding:12px 16px;font-size:13px;margin-bottom:18px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 24px;background:var(--ink);color:white;border-radius:10px;z-index:100;box-shadow:0 6px 30px #0002;max-width:90vw}.staff-header{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:28px}.staff-header h1{font-size:38px;margin:8px 0 14px}.workspace-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.workspace-nav{display:grid;align-content:start;gap:12px}.workspace-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:20px}.workspace-card h2{font-size:18px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:9px;margin:12px 0}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.staff-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs button{border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:7px;font-size:13px}.tabs button.active{background:var(--green);color:#fff}.status-message{font-size:13px;padding:12px 0;white-space:pre-wrap}.status-message.error{color:#a23e38}.status-message.success{color:var(--green)}.drawing{cursor:crosshair}.draw-preview{stroke:#b07e13;stroke-width:2;fill:#d6ab4b33;vector-effect:non-scaling-stroke}.draw-vertex{fill:#b07e13}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}pre.extracted{white-space:pre-wrap;max-height:190px;overflow:auto;font-size:11px;background:var(--paper);padding:14px;border-radius:8px}.empty-state{padding:50px 20px;color:var(--muted);text-align:center}.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}[hidden]{display:none!important}@media(max-width:1000px){.map-layout{grid-template-columns:minmax(0,1fr) 260px}.staff-layout{grid-template-columns:1fr}.workspace-grid{grid-template-columns:200px 1fr}.site-header nav{gap:12px}}@media(max-width:760px){.site-header{padding:16px 18px;align-items:start}.site-header nav{flex-wrap:wrap;justify-content:end;font-size:11px;max-width:170px}.brand{font-size:12px;gap:8px}.brand-mark{width:32px;height:38px;font-size:28px}.page-shell{padding-top:32px}.hero-line{display:block;margin-bottom:38px}.hero-line p{margin-top:24px;font-size:14px}.area-cards{grid-template-columns:1fr}.area-art{height:145px}.section-line{align-items:start}.section-line>span{max-width:110px;text-align:right}.map-layout{grid-template-columns:1fr}.detail-card{position:static}.detail-card dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.detail-card dt{grid-column:1}.detail-card dd{grid-column:2;margin-top:16px}.map-scroll{max-height:65vh}.site-footer{flex-direction:column;align-items:start;gap:12px}.workspace-grid{grid-template-columns:1fr}.workspace-nav{grid-template-columns:1fr 1fr}.workspace-nav .workspace-card{margin-bottom:0}.form-grid{grid-template-columns:1fr}.staff-header h1{font-size:30px}.legend{margin-left:0}.workspace-card{padding:16px}}
@media(max-width:760px){.brand{flex-shrink:0;white-space:nowrap}.brand small{font-size:8px;letter-spacing:.14em}.site-header nav{max-width:140px}#area-view>.section-line{display:block}#area-view>.section-line>.button{margin-top:18px}.detail-card{scroll-margin-top:18px}}

.login-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 19px;border-radius:999px;background:#e7f1e7;color:#285c44;border:1px solid #c5dcc7;font-size:13px;font-weight:650;text-decoration:none;box-shadow:0 2px 7px #285c440a;transition:background .18s,box-shadow .18s,transform .18s}.login-button:hover{background:#d9ebda;box-shadow:0 4px 12px #285c4418;transform:translateY(-1px)}.auth-submit{border:1px solid #43896b;border-radius:10px;padding:11px 24px;background:linear-gradient(135deg,#e4f1e5,#cfe5d4);color:#24563f;font-weight:650;box-shadow:0 4px 12px #367c5d24;transition:filter .18s,transform .18s}.auth-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}.auth-submit:disabled{transform:none}

.login-shell>a.link-button{display:block;width:fit-content;margin-top:14px}

.reserved-dot{background:#d69a25}.plot-region.reserved{fill:#e7ae3c70;stroke:#a66b00}.badge.reserved,.plot-chip.reserved{background:#fff0c9;color:#805400}.availability-options{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:18px 0}.availability-options legend{font-size:13px;color:var(--muted)}input[type=radio]{accent-color:var(--green);width:18px;height:18px}

.brand-logo{width:167px;height:90px;object-fit:contain;display:block}.site-header{padding-top:12px;padding-bottom:12px}.hero-line{margin-top:18px;margin-bottom:32px;justify-content:flex-start}.hero-line p{max-width:560px}.map-scroll{touch-action:pan-x pan-y}.map-svg{user-select:none;-webkit-user-select:none}.map-controls button{min-width:42px;min-height:42px}
@media(max-width:760px){.site-header{align-items:center;gap:12px}.brand-logo{width:120px;height:65px}.site-header nav{max-width:none;gap:8px;font-size:12px}.site-header nav>span{flex-wrap:wrap;justify-content:flex-end;gap:8px}.site-header .login-button{padding:9px 12px;font-size:12px}.hero-line{margin-top:12px;margin-bottom:26px}.hero-line p{margin-top:0;line-height:1.6}.section-line{gap:12px;flex-wrap:wrap}.section-line>span{max-width:none;text-align:left}.map-toolbar{gap:10px;padding:12px}.search-field{flex-basis:100%}.legend{width:100%;gap:14px;font-size:12px}.map-caption{flex-wrap:wrap;font-size:11px}.detail-card{padding:18px}.detail-card dl{display:block}.detail-card dd{margin-top:3px}.map-scroll{min-height:230px;max-height:60vh}.workspace-nav{grid-template-columns:1fr}.availability-options .check-label{min-height:36px}.page-shell{padding-left:16px;padding-right:16px}.area-card .card-body{padding:18px}}
@media(max-width:400px){.brand-logo{width:100px;height:54px}.site-header{padding-left:12px;padding-right:12px}.site-header nav{gap:6px}.site-header .login-button{padding:8px 10px}.site-header nav>a{font-size:11px}}

.login-button{white-space:nowrap}.brand{flex-shrink:0}

:root{--green:#16447b}.login-button{background:#e9f1fb;color:#173e73;border-color:#c5d6ee;box-shadow:0 2px 7px #173e730a}.login-button:hover{background:#d7e7fa;box-shadow:0 4px 12px #173e7318}.auth-submit{background:linear-gradient(135deg,#e7f1ff,#cbdef7);color:#173e73;border-color:#769ccc;box-shadow:0 4px 12px #173e7320}.tabs button.active,.button:not(.secondary):not(.danger){background:#16447b;border-color:#16447b}.guest-shell{min-height:100svh;display:grid;place-items:center;padding:24px;background:#f1f5fa}.guest-card{width:100%;max-width:450px;padding:36px 28px;background:white;border:1px solid #d7e2ef;border-radius:20px;box-shadow:0 16px 60px #173e7310;text-align:center}.guest-card img{display:block;margin:0 auto 24px;object-fit:contain}.guest-card h1{font-family:system-ui,sans-serif;font-size:28px;font-weight:650;line-height:1.2;letter-spacing:-.02em}.guest-card>p{margin:16px 0 24px;color:#687975}.guest-card form{display:grid;gap:14px}.guest-card input{width:100%;min-height:48px}.guest-card button{min-height:48px}.guest-error{color:#a23e38;font-size:13px}

#home .location-heading{font-size:16px;font-weight:700;letter-spacing:.15em;color:#16447b;line-height:1.5;text-transform:uppercase}#home .home-intro{max-width:none;white-space:nowrap;font-size:clamp(8px,2.08vw,18px)}#home .hero-line{margin-bottom:32px}.site-footer{justify-content:center;text-align:center}
@media(max-width:760px){.site-header{flex-direction:column;align-items:center;gap:12px;padding:14px 16px 16px}.brand-logo{width:132px;height:72px}.site-header nav{display:flex;width:100%;max-width:none;gap:8px;flex-wrap:nowrap;justify-content:center}.site-header nav>span{display:contents}.site-header nav .login-button{flex:1;min-width:0;min-height:42px;padding:9px 6px;font-size:12px;white-space:nowrap;text-align:center;border-radius:12px}.site-header nav>span>a:not(.login-button){max-width:120px}.site-footer{align-items:center;font-size:11px}#home .location-heading{font-size:16px}#home .hero-line{margin-bottom:26px;margin-top:14px}}

@media(max-width:760px){.site-header nav .login-links{display:contents}.site-header nav:has(.login-links){display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.site-header nav:has(.login-links) astro-island{display:contents}}

@media(max-width:760px){.site-header{gap:26px}#home .home-intro{font-size:15px;line-height:1.65;white-space:normal;max-width:100%}}

@media(max-width:760px){#home .home-intro{white-space:nowrap;font-size:clamp(8px,2.55vw,15px);line-height:1.65;letter-spacing:-.01em}}
