@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,500&display=swap");

:root { --wine:#350d10; --wine-dark:#190607; --red:#c90812; --cream:#f6f0ea; --paper:#fffdf9; --peach:#edc2b1; --ink:#2b1718; --muted:#786b69; --line:rgba(79,25,27,.14); --green:#208853; --sans:"DM Sans",Arial,sans-serif; --serif:"Playfair Display",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--sans); line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
img,svg { display:block; max-width:100%; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.container { width:min(calc(100% - 48px),1240px); margin-inline:auto; }

.public-header { position:absolute; z-index:20; inset:0 0 auto; color:white; border-bottom:1px solid rgba(255,255,255,.18); }
.public-header .inner { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.public-logo { width:158px; }
.public-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
.public-nav a { text-decoration:none; }
.public-nav .outline { padding:11px 18px; border:1px solid rgba(255,255,255,.55); border-radius:99px; }
.property-hero { position:relative; min-height:760px; height:100svh; overflow:hidden; color:white; background:var(--wine-dark); }
.property-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.property-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,6,7,.91),rgba(25,6,7,.56) 48%,rgba(25,6,7,.12)),linear-gradient(0deg,rgba(25,6,7,.6),transparent 48%); }
.hero-inner { position:relative; z-index:2; min-height:inherit; height:100%; padding-top:128px; padding-bottom:54px; display:grid; grid-template-columns:minmax(0,720px) minmax(310px,360px); gap:clamp(42px,6vw,84px); align-items:center; }
.eyebrow,.kicker { margin:0 0 18px; color:#ff999d; font-size:12px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow:before,.kicker:before { content:""; display:inline-block; width:29px; height:1px; margin:0 12px 4px 0; background:currentColor; }
.property-hero h1 { max-width:760px; margin:0 0 24px; font-size:clamp(50px,5vw,78px); font-weight:500; line-height:1.04; letter-spacing:-.045em; }
.property-hero h1 em,.section-title em { color:var(--peach); font-family:var(--serif); font-weight:500; }
.hero-location { color:rgba(255,255,255,.74); font-size:18px; }
.hero-price { margin-top:30px; font-size:clamp(25px,2.4vw,35px); font-weight:600; }
.hero-panel { align-self:end; margin-bottom:18px; padding:24px; border:1px solid rgba(255,255,255,.2); background:rgba(38,7,10,.76); backdrop-filter:blur(16px); }
.hero-panel>p { margin:0 0 16px; color:rgba(255,255,255,.67); font-size:13px; }
.media-button { min-height:60px; margin-top:10px; padding:12px 15px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid rgba(255,255,255,.27); text-decoration:none; }
.media-button:hover { background:var(--red); border-color:var(--red); }
.media-button strong,.media-button small { display:block; }
.media-button small { color:rgba(255,255,255,.62); }
.facts { position:relative; z-index:3; margin-top:-44px; }
.facts-grid { display:grid; grid-template-columns:repeat(5,1fr); background:var(--paper); box-shadow:0 24px 70px rgba(25,6,7,.12); }
.fact { min-height:116px; padding:22px 24px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid var(--line); }
.fact:last-child { border:0; }
.fact span { color:var(--muted); font-size:12px; }
.fact strong { margin-top:4px; color:#871218; font-size:20px; }
.public-section { padding:clamp(76px,8vw,112px) 0; }
.intro-grid,.details-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(55px,8vw,112px); }
.kicker { color:var(--red); }
.section-title { margin:0; font-size:clamp(42px,4.3vw,64px); font-weight:500; line-height:1.02; letter-spacing:-.045em; }
.intro-copy .lead { margin-top:6px; color:var(--ink); font-size:21px; }
.intro-copy p { color:var(--muted); white-space:pre-line; }
.highlights { margin:30px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; list-style:none; border-top:1px solid var(--line); }
.highlights li { position:relative; padding:14px 0 14px 28px; border-bottom:1px solid var(--line); }
.highlights li:before { content:"✓"; position:absolute; left:0; color:var(--red); font-weight:700; }
.gallery-section { padding:0 0 clamp(76px,8vw,112px); }
.gallery { display:grid; grid-template-columns:repeat(12,1fr); grid-template-rows:286px 286px; gap:12px; }
.gallery figure { position:relative; margin:0; overflow:hidden; background:#e9ddd6; }
.gallery figure:first-child { grid-column:1/7; grid-row:1/3; }
.gallery figure:nth-child(2){grid-column:7/10}.gallery figure:nth-child(3){grid-column:10/13}.gallery figure:nth-child(4){grid-column:7/9}.gallery figure:nth-child(5){grid-column:9/11}.gallery figure:nth-child(6){grid-column:11/13}
.gallery img { width:100%; height:100%; object-fit:cover; }
.media-section { color:white; background:var(--wine); }
.media-grid { margin-top:42px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.media-card { position:relative; min-height:390px; padding:34px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; color:white; text-decoration:none; background:var(--wine-dark); }
.media-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.48; }
.media-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(25,6,7,.95),transparent 74%); }
.media-card>div { position:relative; z-index:1; }
.media-card small { color:#ff9da0; letter-spacing:.13em; text-transform:uppercase; }
.media-card h3 { margin:8px 0; font-size:clamp(29px,2.7vw,40px); font-weight:500; }
.details-section { background:var(--paper); }
.details-list { margin:0; }
.details-list div { padding:16px 0; display:grid; grid-template-columns:1fr 1.4fr; gap:22px; border-bottom:1px solid var(--line); }
.details-list dt { color:var(--muted); }.details-list dd{margin:0;font-weight:600}
.contact-section { padding:clamp(68px,7vw,96px) 0; }
.contact-card { display:grid; grid-template-columns:260px minmax(260px,.85fr) minmax(390px,1.15fr); overflow:hidden; color:white; background:var(--wine-dark); box-shadow:0 28px 80px rgba(25,6,7,.12); }
.agent-photo { min-height:418px; background:#c8aaa2; position:relative; overflow:hidden; }.agent-photo img{position:absolute;bottom:0;left:50%;height:96%;max-width:none;transform:translateX(-50%)}.agent-photo.agency-photo{background:#c90812}.agent-photo.agency-photo img{top:50%;bottom:auto;width:72%;height:auto;max-width:72%;transform:translate(-50%,-50%)}
.agent-copy { padding:42px; display:flex; flex-direction:column; justify-content:center; }.agent-copy h2{margin:0 0 14px;font-size:48px;font-weight:500}.agent-copy p{color:rgba(255,255,255,.68)}
.contact-actions { margin-top:16px; display:flex; flex-wrap:wrap; gap:10px; }.pill{min-height:50px;padding:12px 19px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.42);border-radius:99px;color:white;text-decoration:none;font-weight:700}.pill.red{border-color:var(--red);background:var(--red)}
.contact-form { padding:42px; color:var(--ink); background:var(--cream); }.contact-form h3{margin:0 0 7px;font-size:29px}.contact-form>p{color:var(--muted);font-size:14px}.contact-form label{display:grid;gap:6px;margin-top:13px;font-size:12px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper)}.contact-form textarea{min-height:100px}.contact-form button{width:100%;margin-top:15px}.contact-form button:disabled{cursor:wait;opacity:.72}.contact-form .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-note{display:block;margin-top:10px;color:var(--muted);text-align:center}.form-error{margin:10px 0 0!important;color:#a10b12!important;text-align:center}.contact-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.contact-success>span{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;color:white;background:var(--green);font-size:28px;font-weight:700}.contact-success h3{margin-top:18px}
.public-footer { padding:32px 0; color:rgba(255,255,255,.65); background:#140405; font-size:13px; }.public-footer .container{display:flex;justify-content:space-between;gap:24px}

.chooser { min-height:100svh; padding:54px 0 90px; color:white; background:var(--wine-dark); }.chooser-top{display:flex;align-items:center;justify-content:space-between}.chooser-top img{width:164px}.chooser h1{max-width:850px;margin:70px 0 18px;font-size:clamp(48px,6vw,84px);font-weight:500;line-height:1.03;letter-spacing:-.045em}.chooser h1 em{color:var(--peach);font-family:var(--serif)}.chooser-sub{max-width:680px;color:rgba(255,255,255,.67);font-size:18px}.listing-grid{margin-top:48px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.listing-card{position:relative;min-height:460px;padding:32px;display:flex;align-items:flex-end;overflow:hidden;color:white;text-decoration:none}.listing-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.listing-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,6,7,.96),rgba(25,6,7,.06) 78%)}.listing-card div{position:relative;z-index:1}.listing-card h2{margin:7px 0;font-size:40px}.listing-card p{margin:0;color:rgba(255,255,255,.68)}

.admin-shell { min-height:100svh; background:#f3f0ed; }.admin-header{position:sticky;top:0;z-index:10;border-bottom:1px solid #e4ddd8;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.admin-header-inner{width:min(calc(100% - 40px),1180px);min-height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:700}.admin-brand img{width:70px;height:42px;object-fit:contain;background:var(--red)}.admin-nav{display:flex;align-items:center;gap:20px;margin-right:auto}.admin-nav a{color:var(--muted);font-size:14px;font-weight:700;text-decoration:none}.admin-nav a:hover{color:var(--wine)}.admin-user{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px}.admin-main{width:min(calc(100% - 40px),1180px);margin:auto;padding:48px 0 80px}.admin-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.admin-title-row h1{margin:0;font-size:42px;line-height:1.1;letter-spacing:-.035em}.admin-title-row p{margin:8px 0 0;color:var(--muted)}.title-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-button{min-height:44px;padding:10px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--wine);border-radius:8px;color:white;background:var(--wine);font-weight:700;text-decoration:none}.admin-button.secondary{color:var(--ink);border-color:#d8cfca;background:white}.admin-button.danger{color:#a10b12;border-color:#e6c3c5;background:#fff8f8}.property-table{overflow:hidden;border:1px solid #e3dcd7;border-radius:14px;background:white;box-shadow:0 12px 38px rgba(45,24,25,.06)}.property-row{padding:18px 20px;display:grid;grid-template-columns:80px minmax(220px,1.5fr) 150px 145px 240px;gap:18px;align-items:center;border-bottom:1px solid #eee8e4}.property-row:last-child{border:0}.property-thumb{width:80px;height:58px;object-fit:cover;border-radius:7px;background:#eee}.property-name strong{display:block}.property-name span{color:var(--muted);font-size:13px}.status{width:max-content;padding:6px 10px;border-radius:99px;font-size:12px;font-weight:700}.status.published{color:#11683d;background:#e5f5eb}.status.draft{color:#775c20;background:#f7edd1}.row-actions{display:flex;justify-content:flex-end;gap:8px}.row-actions a,.row-actions button{padding:8px 11px;border:1px solid #ddd4cf;border-radius:7px;background:white;text-decoration:none;font-size:13px}.empty-card{padding:60px;text-align:center;border:1px dashed #d5cbc5;border-radius:14px;background:white}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.editor-card{margin-bottom:20px;padding:28px;border:1px solid #e3dcd7;border-radius:14px;background:white}.editor-card h2{margin:0 0 22px;font-size:22px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.wide{grid-column:1/-1}.field label{font-size:13px;font-weight:700}.field small{color:var(--muted)}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid #d9d0ca;border-radius:7px;color:var(--ink);background:white}.field textarea{min-height:112px;resize:vertical}.slug-control{display:flex;align-items:center;border:1px solid #d9d0ca;border-radius:7px;overflow:hidden;background:#f7f4f1}.slug-control span{padding-left:12px;color:var(--muted);font-size:13px}.slug-control input{border:0;background:transparent}.preview-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:9px;background:#eee}.upload-row{display:flex;gap:10px;align-items:center}.upload-row input[type=file]{padding:9px}.editor-aside{position:sticky;top:94px}.editor-aside .admin-button{width:100%;margin-top:10px}.save-status{min-height:21px;margin:10px 0 0;color:var(--muted);font-size:13px}.url-preview{padding:13px;border-radius:8px;background:#f5f1ed;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.source-card>p:not(.kicker){color:var(--muted);font-size:13px}.source-card>a{display:inline-block;margin-top:16px;font-size:13px;font-weight:700}.sync-toggle{display:flex;gap:11px;align-items:flex-start;padding:14px;border:1px solid #e3dcd7;border-radius:9px;background:#faf8f6}.sync-toggle input{margin-top:4px}.sync-toggle span,.sync-toggle strong,.sync-toggle small{display:block}.sync-toggle small{margin-top:4px;color:var(--muted);line-height:1.4}.import-summary{margin-bottom:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.import-summary>div{padding:22px;border:1px solid #e3dcd7;border-radius:13px;background:white}.import-summary span,.import-summary small{display:block;color:var(--muted);font-size:12px}.import-summary strong{display:block;margin:4px 0;color:#871218;font-size:34px}.import-action-card{margin-bottom:22px;padding:30px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;border-radius:15px;color:white;background:var(--wine)}.import-action-card h2{margin:0 0 8px;font-size:28px}.import-action-card p:not(.kicker){max-width:730px;color:rgba(255,255,255,.76)}.import-action-card small{color:rgba(255,255,255,.58)}.import-action-card .admin-button{border-color:white;color:var(--wine);background:white}.import-action-card .save-status{max-width:260px;color:white}.section-heading p{margin:-15px 0 22px;color:var(--muted)}.import-table{margin:0 -28px -28px}.import-row{padding:15px 28px;display:grid;grid-template-columns:minmax(260px,1.7fr) 110px 180px 135px 145px;gap:16px;align-items:center;border-top:1px solid #eee8e4;font-size:13px}.import-row>div:first-child strong,.import-row>div:first-child small{display:block}.import-row>div:first-child small{color:var(--muted)}.source-state{width:max-content;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:700}.source-state.active{color:#11683d;background:#e5f5eb}.source-state.unavailable{color:#8a4c15;background:#faead9}.run-list>div{padding:12px 0;display:flex;gap:12px;border-top:1px solid #eee8e4}.run-list>div:first-child{border-top:0}.run-list p{margin:2px 0;color:var(--muted);font-size:13px}.run-dot{width:9px;height:9px;margin-top:7px;flex:0 0 auto;border-radius:50%;background:#d3a63b}.run-dot.completed{background:var(--green)}.run-dot.failed{background:var(--red)}

@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;align-content:center}.hero-panel{align-self:auto;max-width:520px}.facts{margin-top:0}.facts-grid{grid-template-columns:repeat(3,1fr)}.intro-grid,.details-grid{grid-template-columns:1fr;gap:28px}.contact-card{grid-template-columns:260px 1fr}.contact-form{grid-column:1/-1}.property-row{grid-template-columns:70px 1fr 130px 180px}.property-row .updated{display:none}.editor-layout{grid-template-columns:1fr}.editor-aside{position:static;order:-1}.import-summary{grid-template-columns:1fr 1fr}.import-row{grid-template-columns:minmax(220px,1fr) 100px 160px 130px}.import-row>span:nth-of-type(3){display:none}}
@media(max-width:700px){.container{width:min(calc(100% - 28px),1240px)}.public-nav a:not(.outline){display:none}.property-hero{height:auto;min-height:760px}.hero-inner{min-height:760px;padding-top:114px;align-content:end}.property-hero h1{font-size:clamp(43px,13vw,62px)}.facts-grid{grid-template-columns:1fr 1fr}.public-section{padding:70px 0}.highlights{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px repeat(2,170px)}.gallery figure:first-child{grid-column:1/3;grid-row:auto}.gallery figure:nth-child(n+2){grid-column:auto;grid-row:auto}.gallery figure:nth-child(6){display:none}.media-grid,.listing-grid{grid-template-columns:1fr}.contact-card{grid-template-columns:1fr}.agent-photo{min-height:370px}.contact-form{grid-column:auto}.public-footer .container{flex-direction:column}.admin-header-inner,.admin-main{width:min(calc(100% - 24px),1180px)}.admin-nav{display:none}.admin-user span{display:none}.admin-title-row{align-items:flex-start;flex-direction:column}.property-table{background:transparent;border:0;box-shadow:none}.property-row{margin-bottom:12px;padding:14px;grid-template-columns:70px 1fr;border:1px solid #e3dcd7;border-radius:12px;background:white}.property-row .status,.property-row .updated{display:none}.row-actions{grid-column:1/-1;justify-content:flex-start}.field-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.editor-card{padding:20px}.chooser h1{margin-top:55px}.listing-card{min-height:390px}.import-summary{grid-template-columns:1fr 1fr}.import-action-card{grid-template-columns:1fr;padding:24px}.import-table{margin:0 -20px -20px}.import-row{padding:15px 20px;grid-template-columns:1fr auto}.import-row>span:nth-of-type(2),.import-row>span:nth-of-type(3){display:none}.import-row .row-actions{grid-column:auto}}

.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;border:0;border-radius:999px;color:#fff;background:var(--red);font-weight:700;text-decoration:none}.listing-header{padding:20px 0;color:#fff;background:var(--wine-dark)}.header-row{display:flex;align-items:center;justify-content:space-between}.header-row img{width:150px}.listing-main{padding-block:70px 100px}.listing-main>h1{max-width:900px;margin:0;font-size:clamp(45px,6vw,78px);font-weight:500;line-height:1.04;letter-spacing:-.045em}.listing-main>h1 em{color:#a82228;font-family:var(--serif)}.listing-lead{max-width:720px;color:var(--muted);font-size:18px}.property-cards{margin-top:44px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.property-card{overflow:hidden;color:inherit;background:var(--paper);box-shadow:0 16px 48px #2b171814;text-decoration:none}.property-card>img{width:100%;height:330px;object-fit:cover}.property-card>div{padding:25px}.property-card small{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.property-card h2{margin:8px 0;font-size:27px;line-height:1.15}.property-card p{color:var(--muted)}.property-card strong{color:#871218;font-size:21px}.description{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .wide{grid-column:1/-1}.contact-form h2{margin:0;font-size:30px}.form-success{padding:10px;color:#11683d;background:#e5f5eb;text-align:center}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.not-found{min-height:100vh;display:grid;place-content:center;gap:20px;text-align:center}.not-found h1{font-size:48px}
@media(max-width:700px){.property-cards{grid-template-columns:1fr}.property-card>img{height:240px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
