/* Petersburg: pearl facades, mist over the Neva, handwritten gold. */
@font-face{font-family:'Kisvet Script';src:url('/assets/marck-script.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--green:#365665;--dark:#233f4c;--ink:#283d48;--muted:#687780;--line:#e3e5e4;--paper:#fbfbf8;--soft:#eef3f4;--accent:#e8d3a7;--gold:#94703a}
body{background:var(--paper)}
header{background:#fffefb;border-bottom:1px solid #e9e4d9}
.brand-name{display:block;font-family:'Kisvet Script',cursive;font-size:45px;line-height:1.13;font-weight:400;letter-spacing:0;color:#94703a}
.brand small{font-size:10px;letter-spacing:1.35px;color:#687780;line-height:1.5;margin-top:3px}
.nav{min-height:98px}.nav-links a.active{border-color:#b4945c}.nav-links a:hover{color:#94703a}
.btn{border-radius:5px;box-shadow:none;transition:background .25s,border-color .25s,transform .25s}
.btn.primary{background:#365665;border-color:#365665;color:white;box-shadow:0 5px 14px #233f4c0d}
.btn.primary:hover{background:#284553;border-color:#284553;transform:translateY(-1px)}
.btn.light{background:linear-gradient(115deg,#eeddb9,#dbc18d);color:#354653;border-color:#d3b77c;box-shadow:0 4px 12px #97734012}
.btn.light:hover{background:#e6cfa2;border-color:#bca16b}
.spb-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#faf8f2 0%,#f5f6f3 53%,#e8f0f2 100%);color:var(--ink);padding:50px 0 76px;border-bottom:1px solid #e6e1d6}
.spb-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:65px;align-items:center}
.spb-hero-copy{padding:12px 0;min-width:0}
.spb-hero .eyebrow{color:#697b84;letter-spacing:2px;font-size:11px;font-weight:500;margin-bottom:12px}
.radiant-wordmark{font-family:'Kisvet Script',cursive;font-size:clamp(94px,10vw,146px);line-height:1.17;font-weight:400;letter-spacing:0;white-space:nowrap;padding:0 14px 10px 0;margin:0 0 10px;animation:signature-arrive 1.2s ease-out both}
.radiant-wordmark span{display:inline-block;color:#94703a;background:linear-gradient(108deg,#876433 5%,#b69150 25%,#987238 43%,#d1af6d 49%,#f4e3b6 51%,#b28a43 56%,#84602f 76%,#b89656 96%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #ffffff) drop-shadow(0 2px 2px #96713516);animation:gold-reflection 12s ease-in-out infinite}
@keyframes gold-reflection{0%,18%{background-position:100% 50%}65%,100%{background-position:0% 50%}}
@keyframes signature-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes quiet-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.spb-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,3.6vw,49px);line-height:1.17;letter-spacing:-1.3px;max-width:530px;margin:0 0 22px;animation:quiet-arrive 1s .12s ease-out both}
.spb-hero .intro{color:#617580;font-size:17px;line-height:1.85;max-width:500px;margin-bottom:28px;animation:quiet-arrive 1s .22s ease-out both}
.spb-hero .actions{animation:quiet-arrive 1s .3s ease-out both}
.spb-hero .btn.ghost{color:#365665;background:transparent;border:1px solid #b4c2c7}.spb-hero .btn.ghost:hover{background:#e9eff0}
.spb-hero .hero-location{color:#78858b;font-size:13px;letter-spacing:.3px;margin-top:25px}
.spb-photo{min-height:510px;position:relative;margin:8px 10px 16px 0;border:1px solid #b9a174;border-radius:220px 220px 7px 7px;box-shadow:12px 14px 0 #fdfcf8,13px 15px 0 #d5c6a7;transform:none;animation:quiet-arrive 1.2s .18s ease-out both}
.spb-photo img{border-radius:inherit;object-position:57% center;filter:saturate(.82)}
.spb-photo figcaption{left:18px;right:18px;bottom:18px;font-family:Georgia,serif;font-style:italic;font-size:16px;line-height:1.5;padding:12px 17px;background:#fbfaf5ee;color:#354f5d;border:1px solid #dbd0b9;border-radius:3px;width:auto;text-align:center}
.search-landing{margin-top:-29px;position:relative;z-index:3}.search-landing .hero-search{background:#fffefc;border-radius:8px;border-color:#dfd7c6;box-shadow:0 12px 30px #3656650a}
.district-chip{background:transparent;border-color:#dce2e3;border-radius:25px;box-shadow:none}.district-chip:hover{background:#edf2f3;border-color:#bbc9cf}
.eyebrow{color:#8b723f}.section-head .eyebrow{color:#8b723f}.section-head h2,.local-story h2,.page-head h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1px}
.service-grid{gap:20px;border:0;background:transparent;overflow:visible}
.service{border:1px solid #e2dfd6;border-top:2px solid #ceb98d;border-radius:6px;background:#fffefb;box-shadow:none;transition:transform .3s,box-shadow .3s,border-color .3s}
.service .number{font-size:12px;color:#8b754b;letter-spacing:1.4px}.service h3{font-family:Georgia,serif;font-size:25px;font-weight:400;color:#344e5b}.service p{color:#6b7980;font-size:16px;line-height:1.75}
.service:hover{background:#fffefb;border-color:#b9a67e;transform:translateY(-3px);box-shadow:0 12px 25px #36566509}
.catalog-section{background:#edf3f4;border-top:1px solid #e1e8e9;border-bottom:1px solid #e1e8e9}
.property-card,.listing-card{border-color:#e0e5e5;border-radius:8px;box-shadow:0 5px 20px #36566506}.property-card:hover{border-color:#b5a681}.property-image{overflow:hidden}.property-image img{transition:transform .6s}.property-card:hover .property-image img{transform:scale(1.018)}
.property-image .tag{background:#fffdf6;color:#5f573f}.icon-choice[aria-pressed=true]{background:#f2ecde;border-color:#c0a46d;color:#6b542d}
.dark-section,.contact-card,.catalog-intro{background:linear-gradient(115deg,#294551,#3c5c6b);color:#fff}.dark-section .eyebrow,.catalog-intro .eyebrow{color:#e5d2a9}.catalog-intro h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1px}.catalog-intro h1 em{color:#e5d2a9}.catalog-intro p:not(.eyebrow){color:#dde7eb}.catalog-intro .breadcrumb{color:#c8d6dc}
.deal-tabs button{background:#ffffff09;border-color:#78909a}.deal-tabs button[aria-pressed=true]{background:var(--paper);border-color:var(--paper)}
.panel,.filters{border-radius:8px}.filters{box-shadow:0 5px 20px #36566506}.empty{background:linear-gradient(115deg,#fffdf7,#f1f6f7);border-color:#e0e1d9;border-radius:8px}.faq-list details[open]{background:#f3f6f5}
footer{background:#f4f5f1;border-color:#dedfd6}.contact-card .eyebrow{color:#e5d2a9}
.sidebar,.cabinet-sidebar,.login-intro{background:linear-gradient(150deg,#294653,#3c5c69)}
.sidebar .brand-name,.login-intro .brand-name{color:#e8d1a2;text-shadow:none}.sidebar .brand small,.login-intro .brand small{color:#d4dfe2}.sidebar nav a.active{background:#ffffff13;color:#f1dcb3}.sidebar nav a:hover{background:#ffffff0b}
.cabinet-avatar{background:#e9ddbf;color:#3f5660}.cabinet-sidebar nav a{color:#e4ecee}.cabinet-sidebar nav a.selected{background:#f9f5e9;color:#3b535d}.cabinet-user small,.cabinet-help p{color:#c9d9df}.cabinet-help a{color:#ecd7af}.cabinet-sidebar>.btn{color:#f4f7f8;border-color:#8a9da4}
input:focus,select:focus,textarea:focus{border-color:#9d8759}.btn:focus-visible,a:focus-visible{outline-color:#ae874a;outline-offset:4px}
@media(max-width:1100px){.spb-hero-grid{gap:35px}.radiant-wordmark{font-size:clamp(88px,10.5vw,120px)}.spb-photo{min-height:460px}.spb-hero h1{font-size:39px}.nav{gap:20px}}
@media(max-width:760px){.cabinet-sidebar{background:transparent}.cabinet-user small{color:var(--muted)}.cabinet-sidebar nav a{color:#365665;background:#fff}.cabinet-sidebar nav a.selected{background:#365665;color:#fff}.cabinet-sidebar>.btn{color:#365665}}
@media(max-width:700px){.nav{min-height:85px}.brand-name{font-size:40px}.brand small{font-size:9px}.spb-hero{padding:30px 0 56px}.spb-hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}.spb-hero-copy{padding:0}.radiant-wordmark{font-size:clamp(85px,22vw,118px);margin-bottom:6px;padding-right:12px;line-height:1.2}.spb-hero .eyebrow{font-size:10px;letter-spacing:1.3px;line-height:1.7;max-width:260px}.spb-hero h1{font-size:34px;letter-spacing:-.7px}.spb-hero .intro{font-size:16px;line-height:1.75}.spb-photo{height:310px;min-height:0;margin:0 9px 12px 0;border-radius:145px 145px 5px 5px;box-shadow:7px 9px 0 #fdfcf8,8px 10px 0 #d5c6a7}.spb-photo figcaption{font-size:14px;left:12px;right:12px;bottom:12px;padding:10px}.search-landing .hero-search{padding:20px}.service-grid{gap:14px}.service{padding:24px}.section-head h2,.local-story h2{font-size:32px}.catalog-intro h1{font-size:39px}.count-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.radiant-wordmark,.radiant-wordmark span,.spb-photo,.spb-hero h1,.spb-hero .intro,.spb-hero .actions{animation:none}.btn,.service,.property-image img{transition:none}.btn:hover,.service:hover,.property-card:hover .property-image img{transform:none}}
/* The signature: a calligraphic wordmark and a quiet monogram. */
.brand{display:inline-grid;grid-template-columns:46px auto;column-gap:12px;align-items:center;flex-shrink:0;letter-spacing:0}
.brand-seal{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:46px;height:46px;border:1px solid #b79a63;border-radius:50%;font-family:'Kisvet Script',cursive;font-size:36px;font-weight:400;line-height:1;color:#9b7840;background:radial-gradient(circle,#fffdf4,#f6f0e3);box-shadow:inset 0 0 0 4px #fffdf8,inset 0 0 0 5px #d9c7a0;transform:rotate(-7deg)}
.brand-name{grid-column:2;font-size:47px;line-height:1.05;letter-spacing:-1px;font-weight:400;color:#91703a}
.brand small{grid-column:2;font-size:9px;letter-spacing:1.15px;margin-top:3px;max-width:205px}
.signature-seal{width:66px;height:66px;display:grid;place-items:center;border:1px solid #bea372;border-radius:50%;font-family:'Kisvet Script',cursive;font-size:51px;font-weight:400;line-height:1;color:#a07b3f;background:#faf8f0;box-shadow:inset 0 0 0 5px #faf8f0,inset 0 0 0 6px #dfd0ad;transform:rotate(-7deg);margin:23px 0 10px}
.radiant-wordmark{font-size:clamp(104px,10.5vw,151px);margin-bottom:0;padding-bottom:0;line-height:1.12;letter-spacing:-3px}
.signature-caption{display:flex;align-items:center;gap:14px;max-width:350px;color:#8c7851;font-size:10px;letter-spacing:3px;text-transform:uppercase;margin:8px 0 30px;line-height:1.7}
.signature-caption::after{content:'';height:1px;flex:1;min-width:25px;background:linear-gradient(90deg,#baa173,transparent)}
.spb-hero .eyebrow{margin-bottom:0}.spb-hero h1{font-size:clamp(30px,3.1vw,43px)}
.sidebar .brand{grid-template-columns:36px auto;gap:8px;padding-left:0;padding-right:0}.sidebar .brand-seal{width:36px;height:36px;font-size:28px}.sidebar .brand-name{font-size:39px}.sidebar .brand small{font-size:8px;letter-spacing:.5px}
.login-intro .brand-seal{background:#f4ecd9;color:#96723b}
@media(max-width:1100px){.nav{gap:20px}.nav .brand{grid-template-columns:39px auto;gap:9px}.nav .brand-seal{width:39px;height:39px;font-size:31px}.nav .brand-name{font-size:42px}.nav .brand small{font-size:8px;letter-spacing:.7px}.radiant-wordmark{font-size:clamp(94px,10.5vw,125px)}}
@media(max-width:700px){.nav .brand{grid-template-columns:34px auto;gap:8px}.nav .brand-seal{width:34px;height:34px;font-size:27px;box-shadow:inset 0 0 0 3px #fffdf8,inset 0 0 0 4px #d9c7a0}.nav .brand-name{font-size:39px}.nav .brand small{font-size:8px;letter-spacing:.4px;max-width:150px}.signature-seal{width:51px;height:51px;font-size:40px;margin:20px 0 12px}.radiant-wordmark{font-size:clamp(94px,24vw,124px);letter-spacing:-2px;line-height:1.14}.signature-caption{font-size:9px;letter-spacing:2px;margin-bottom:25px;max-width:290px}.spb-hero h1{font-size:32px}}

/* A warm Petersburg lantern lights the signature once on arrival. */
.lantern-signature{position:relative;isolation:isolate;display:flex;align-items:center;min-width:0;min-height:210px;margin:12px 0 0;padding-left:76px}
.signature-lantern{position:absolute;left:-25px;top:0;width:140px;height:210px;object-fit:contain;pointer-events:none;z-index:2}
.lantern-light{position:absolute;z-index:-1;pointer-events:none;left:38px;top:24px;width:calc(100% - 38px);height:160px;border-radius:50%;background:radial-gradient(ellipse at 12% 35%,#ffdb8b55 0%,#f6dea22b 38%,#f8e6b700 73%);transform:rotate(7deg);animation:lantern-warmth 2.4s .3s ease-out both}
.lantern-signature .radiant-wordmark{font-size:clamp(78px,8.5vw,125px);letter-spacing:-2px;padding:20px 8px 0 0;margin:0;position:relative;z-index:1}
.lantern-signature .radiant-wordmark span{animation:gold-reflection 3.8s 1s ease-in-out 1 both}
@keyframes lantern-warmth{from{opacity:0}to{opacity:1}}
@media(max-width:1100px) and (min-width:701px){.lantern-signature{padding-left:56px;min-height:185px}.signature-lantern{left:-30px;width:120px;height:180px}.lantern-signature .radiant-wordmark{font-size:clamp(64px,8vw,98px)}}
@media(max-width:700px){.lantern-signature{padding-left:57px;min-height:165px;margin-top:12px}.signature-lantern{left:-24px;width:110px;height:165px}.lantern-signature .radiant-wordmark{font-size:clamp(68px,19.5vw,110px);letter-spacing:-1.5px;padding-top:17px}.lantern-light{left:28px;top:17px;width:calc(100% - 28px);height:135px}.signature-caption{margin-top:0}}
@media(prefers-reduced-motion:reduce){.lantern-light,.lantern-signature .radiant-wordmark,.lantern-signature .radiant-wordmark span{animation:none}}

/* Pen signature, living gold and a gentle breeze. */
.signature-lantern{transform-origin:31% 96%;animation:petersburg-breeze 6s ease-in-out infinite}
@keyframes petersburg-breeze{0%,100%{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}
.lantern-signature .radiant-wordmark{transform:rotate(-4deg);animation:signature-arrive 1.2s ease-out both;font-size:clamp(70px,7.7vw,114px);letter-spacing:-2px;line-height:1.4}
.lantern-signature .radiant-wordmark span,.brand-name{background:linear-gradient(110deg,#79531e 0%,#b48a3f 18%,#8e6426 32%,#d6af59 43%,#fff0be 48%,#d7b365 52%,#956b29 62%,#c9a051 79%,#79531e 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;color:#94703a;-webkit-text-fill-color:transparent;animation:liquid-gold 7s ease-in-out infinite}
.lantern-signature .radiant-wordmark::after{content:'';display:block;width:83%;height:13px;margin:-14px 0 0 7%;border-bottom:1px solid #b18b47;border-radius:0 0 60% 50%;transform:rotate(-5deg);opacity:.7}
@keyframes liquid-gold{0%,12%{background-position:100% 50%}65%,100%{background-position:0% 50%}}
.sidebar .brand-name,.login-intro .brand-name{background-image:linear-gradient(110deg,#e1bc72,#fff0c9,#cba15c,#f6deb0);background-size:280% 100%}
@media(max-width:1100px) and (min-width:701px){.lantern-signature .radiant-wordmark{font-size:clamp(57px,7.2vw,90px)}}
@media(max-width:700px){.lantern-signature .radiant-wordmark{font-size:clamp(59px,17.5vw,100px);letter-spacing:-1.5px}.lantern-signature .radiant-wordmark::after{margin-top:-10px}}
@media(prefers-reduced-motion:reduce){.signature-lantern,.lantern-signature .radiant-wordmark,.lantern-signature .radiant-wordmark span,.brand-name{animation:none}.signature-lantern{transform:none}}

@font-face{font-family:'Kisvet Quill';src:url('/assets/kisvet-quill.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.brand-name,.lantern-signature .radiant-wordmark{font-family:'Kisvet Quill','Kisvet Script',cursive;font-weight:400}
.brand-name{line-height:1.45;font-size:39px;letter-spacing:-1px}.nav .brand-name{font-size:36px}.sidebar .brand-name{font-size:32px}
@media(max-width:700px){.nav .brand-name{font-size:32px}}
