:root{--ink:#172019;--forest:#203c2d;--sage:#dfe9df;--sand:#eee7d9;--cream:#f8f5ee;--white:#fff;--accent:#b58b54;--danger:#9f2d2d;--shadow:0 20px 50px rgba(24,40,29,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,5vw,70px);background:rgba(248,245,238,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(32,60,45,.1)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--forest);color:white;font-family:Georgia,serif}.nav{display:flex;align-items:center;gap:20px;font-size:.94rem}.nav a{padding:8px 0}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 20px;background:var(--forest);color:#fff;font-weight:700;cursor:pointer}.nav .nav-cta{border-radius:999px;padding:12px 24px;white-space:nowrap}.btn.secondary{background:transparent;color:var(--forest);border:1px solid var(--forest)}.btn.danger{background:var(--danger)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.6rem}.hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;color:white}.hero video,.hero .video-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero .video-fallback{background:linear-gradient(130deg,#223b2e,#6f806b)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.18),rgba(12,18,14,.72))}.hero-content{position:relative;z-index:2;max-width:900px;padding:clamp(60px,10vw,130px) clamp(20px,7vw,100px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700}.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.7rem,7vw,6.7rem);line-height:.96;margin:14px 0 24px}.hero p{max-width:720px;font-size:clamp(1rem,2vw,1.25rem);color:rgba(255,255,255,.9)}.section{padding:90px clamp(20px,7vw,100px)}.section.alt{background:var(--sage)}.section.dark{background:var(--forest);color:white}.section h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.05;margin:.2em 0}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery .photo{aspect-ratio:4/3;border-radius:20px;background:linear-gradient(145deg,#5d735f,#c8b99b);display:flex;align-items:end;padding:18px;color:white;box-shadow:var(--shadow);overflow:hidden;position:relative}.gallery .photo:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 30%,rgba(255,255,255,.22),transparent 25%),linear-gradient(180deg,transparent,rgba(0,0,0,.35))}.gallery .photo span{position:relative;z-index:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.stat{background:white;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.bid-table{width:100%;border-collapse:separate;border-spacing:0 10px}.bid-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;opacity:.65}.bid-table td{background:white;padding:18px}.bid-table td:first-child{border-radius:14px 0 0 14px}.bid-table td:last-child{border-radius:0 14px 14px 0}.badge{display:inline-block;padding:5px 10px;border-radius:999px;background:#e4f3e7;color:#25633a;font-size:.78rem;font-weight:700}.card{background:white;border-radius:24px;padding:clamp(22px,4vw,42px);box-shadow:var(--shadow)}.auth-wrap{width:100%;max-width:520px;margin:56px auto;padding:0 20px}.auth-wrap .card{overflow-wrap:anywhere}.auth-wrap .form-grid{gap:20px}.auth-wrap .form-row{min-width:0}.auth-wrap .form-row input,.auth-wrap .form-row select{min-width:0}.auth-wrap .btn{min-height:46px;max-width:100%;font:inherit;font-weight:700;line-height:1.4;white-space:normal;text-align:center}.auth-wrap .form-grid>.btn{margin-top:4px}.auth-wrap .actions{gap:14px;margin-top:20px}.auth-wrap .actions form{flex:1 1 170px;min-width:0;margin:0}.auth-wrap .actions .btn{width:100%}.auth-wrap .form-grid+.muted{margin-top:24px}.form-grid{display:grid;gap:16px}.form-row{display:grid;gap:7px}.form-row label{font-weight:700;font-size:.92rem}.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid #d6d6cd;background:#fff;border-radius:12px;padding:13px 14px;font:inherit}.muted{color:#657066;font-size:.92rem}.flash{margin:16px auto;max-width:900px;padding:14px 18px;border-radius:12px;background:#e8f1e9}.flash.error{background:#fde8e8;color:#7c1b1b}.flash.success{background:#e3f3e7;color:#1e5a33}.dashboard{display:grid;grid-template-columns:240px 1fr;min-height:70vh}.side{padding:40px 24px;background:var(--forest);color:white}.side a{display:block;padding:10px 0}.content{padding:50px clamp(20px,5vw,70px)}.admin-table{width:100%;border-collapse:collapse;background:white}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #ecebe4;text-align:left;vertical-align:top}.actions{display:flex;gap:8px;flex-wrap:wrap}.small{font-size:.85rem;padding:8px 12px}.doc-preview{max-width:320px;width:100%;border-radius:14px}.warning{padding:15px;border-left:4px solid #c79b52;background:#fff6e5}footer{display:flex;justify-content:space-between;gap:30px;padding:40px clamp(20px,7vw,100px);background:#13261c;color:#fff}footer p{margin:.2em 0;opacity:.75}@media(max-width:960px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--cream);padding:18px 24px;border-bottom:1px solid #ddd}.nav.open{display:flex}.grid-2,.dashboard{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.bid-table{font-size:.9rem}.bid-table th:nth-child(3),.bid-table td:nth-child(3){display:none}.side{padding:24px}.content{padding:30px 20px}footer{flex-direction:column}}

.account-delete{margin-top:32px;border:1px solid #e3c6c6}.account-delete h3{margin-top:0;color:var(--danger)}.account-delete summary{cursor:pointer;font-weight:700;color:var(--danger);padding:12px 0}.account-delete .form-grid{margin-top:20px;max-width:440px}.account-delete .btn{white-space:normal;line-height:1.4}

.btn:disabled{opacity:.5;cursor:not-allowed}

/* Real property photography and video */
.hero{isolation:isolate;min-height:78vh;background:#203c2d}
.hero-poster{position:absolute;inset:0;display:block}.hero-poster img{width:100%;height:100%;object-fit:cover}
.hero video{opacity:0;transition:opacity .5s ease}.hero video.is-playing{opacity:1}
.hero:after{background:linear-gradient(90deg,rgba(12,24,18,.66),rgba(12,24,18,.12)),linear-gradient(0deg,rgba(12,24,18,.3),transparent 70%);pointer-events:none}
.hero-content{padding-bottom:100px}.hero-video-toggle{position:absolute;right:24px;bottom:24px;z-index:3;padding:11px 17px;border:1px solid rgba(255,255,255,.65);border-radius:0;color:white;background:rgba(12,24,18,.65);font:inherit;font-size:.85rem;cursor:pointer;backdrop-filter:blur(8px)}
.property-intro{gap:clamp(30px,5vw,80px);align-items:center}.property-photo{margin:0;min-width:0;overflow:hidden;border-radius:16px;background:#e1e8df;box-shadow:var(--shadow)}.property-photo a{display:block;overflow:hidden}.property-photo img{display:block;width:100%;height:auto;filter:contrast(1.035) saturate(.96) brightness(1.015);transition:transform .45s ease}.property-photo a:hover img{transform:scale(1.025)}.property-photo figcaption{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;background:var(--forest);color:white;font-size:.9rem}.property-photo-tall img{aspect-ratio:3/4;object-fit:cover}.property-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:44px}.instagram-link svg{width:25px;height:25px;flex:none}.instagram-link:hover{text-decoration:underline;text-underline-offset:5px}
.photo-dialog{border:0;padding:0;background:#13261c;color:white;max-width:94vw;max-height:94dvh;overflow:auto;border-radius:12px}.photo-dialog::backdrop{background:rgba(6,15,10,.9)}.photo-dialog img{display:block;max-width:92vw;max-height:82dvh;width:auto;height:auto;object-fit:contain}.photo-dialog p{margin:0;padding:14px 20px}.photo-dialog-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:1px solid white;border-radius:50%;background:rgba(0,0,0,.65);color:white;font-size:30px;cursor:pointer}
.hero-video-toggle:focus-visible,.property-photo a:focus-visible,.instagram-link:focus-visible,.photo-dialog-close:focus-visible{outline:3px solid #d9ad66;outline-offset:4px}
@media(max-width:760px){.property-intro{grid-template-columns:1fr}.property-gallery{grid-template-columns:1fr;gap:24px}.property-photo-tall{max-width:520px;width:100%;justify-self:center}.hero-content{padding:80px 24px 100px}.hero{min-height:76svh}.hero-video-toggle{right:20px;bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video,.property-photo img{transition:none}.property-photo a:hover img{transform:none}}

/* Appointment requests */
.visit-page{max-width:1200px;margin:0 auto}.visit-lead{max-width:700px;font-size:1.15rem}.visit-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}.visit-facts>div{background:var(--sage);padding:22px;border-radius:14px}.visit-facts strong,.visit-facts span{display:block}.visit-facts strong{font-size:1.15rem}.visit-facts span{font-size:.9rem;margin-top:5px}.visit-request{max-width:650px;margin-top:28px}.visit-time-form{border-top:1px solid #d8dfd6;padding-top:24px;margin-top:24px}.visit-consent{display:flex;align-items:flex-start;gap:12px;font-size:.95rem}.visit-consent input{margin-top:6px;flex:none}.visit-list{display:grid;gap:24px}.visit-card{min-width:0;overflow-wrap:anywhere}.visit-card h3{margin:16px 0 8px}.visit-card .actions{gap:14px}.visit-card .btn,.visit-request .btn{font:inherit;font-weight:700;line-height:1.4;white-space:normal;min-height:46px}.visit-card .form-grid{margin-top:20px}.visit-history-title{margin-top:40px}.visit-page .form-row{min-width:0}.visit-page input,.visit-page select,.visit-page textarea{min-width:0;max-width:100%}
@media(max-width:650px){.visit-facts{grid-template-columns:1fr}.visit-card .actions{flex-direction:column}.visit-card .actions .btn{width:100%}}

.visit-status-pending{background:#fff0ce;color:#765312}.visit-status-declined{background:#fde8e8;color:#7c1b1b}.visit-status-cancelled{background:#e9ece9;color:#526052}

.property-line-page{max-width:1440px;margin:auto}.property-line-page h1{font:400 clamp(2.6rem,6vw,4.5rem)/1.1 Georgia,serif;margin:14px 0}.property-line-intro{font-size:1.15rem;max-width:700px}.property-line-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.property-line-card{overflow:hidden;border-radius:18px;background:white;box-shadow:var(--shadow)}.property-line-card figure{margin:0}.property-line-card img{display:block;width:100%;height:auto}.property-line-card figcaption{padding:10px 16px;background:var(--sage);font-size:.75rem;font-weight:700}.property-line-copy{padding:24px}.property-line-copy h2{font-size:1.8rem;margin:12px 0}.property-line-copy p{font-size:.95rem;color:#657066}.property-line-gallery-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin-top:65px}.property-line-gallery-heading h2{font-size:2.5rem}.property-line-gallery-heading .btn{gap:12px}.property-line-gallery-heading .btn img{filter:brightness(0) invert(1)}.property-line-grid .property-photo img{aspect-ratio:4/3;object-fit:cover}.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}@media(max-width:1100px){.site-header{flex-wrap:wrap;gap:12px}.nav{flex-wrap:wrap;gap:14px}}@media(max-width:760px){.property-line-grid{grid-template-columns:1fr}.property-line-gallery-heading{margin-top:45px}}

/* Equal image frames preserve the complete boundary and photograph compositions. */
.property-line-card figure{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#e7eee4;overflow:hidden}.property-line-card figure img{width:100%;height:100%;object-fit:contain}
