@font-face{font-family:"Robin Serif";src:url("robin-serif.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Robin Serif";src:url("robin-serif-italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Robin Sans";src:url("robin-sans.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Robin Sans";src:url("robin-sans-semibold.ttf") format("truetype");font-weight:600;font-display:swap}
.public-site{--cream:#f8f6f0;--sage:#eaece3;--sage2:#dfe5dc;--forest:#3e584a;--slate:#283a30;--gold:#917a4b;--gold-light:#c9b588;--champagne:#eee2c6;--line:#deded2;background:var(--cream);font-family:"Robin Sans",Arial,sans-serif;font-size:16px;line-height:1.75}
.public-site :is(h1,h2,h3,blockquote,.brand,.signature,.portrait-caption,.contact-details a,.fact-strip strong){font-family:"Robin Serif",Georgia,serif;font-weight:400}
.public-site h1{letter-spacing:-.035em}
.public-site h2{font-size:clamp(40px,4.1vw,62px);letter-spacing:-.025em;line-height:1.06}
.public-site h3{font-size:30px;line-height:1.16;letter-spacing:-.018em}
.public-site em{font-weight:400}
.public-site .eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600}
.public-site .header{height:108px;border-top:0;background:var(--cream);padding:0 6.5%}
.public-site .brand{font-size:29px;gap:12px}
/* Enlarge the original gold key; cover crops only its transparent side margins. */
.public-site .key-logo{width:44px;height:64px;object-fit:cover;flex-shrink:0}
.public-site .brand small{font-family:"Robin Sans",Arial,sans-serif;letter-spacing:.25em;font-size:8px;line-height:2.5}
.public-site nav{font-size:12px;font-weight:600;gap:29px}
.public-site .nav-offers{color:inherit}
.public-site.page-home .header{position:absolute;inset:0 0 auto;background:transparent;color:#fff;border-bottom:1px solid #ffffff24}
.public-site.page-home .header :is(.brand,.nav-offers,.menu,.languages a){color:inherit}
.public-site.page-home .header .languages a.active{color:var(--champagne)}
.public-site.page-home .hero{margin:0;border-radius:0 0 32px 32px;max-width:none;height:100svh;min-height:740px;max-height:1040px}
.public-site.page-home .hero-shade{background:linear-gradient(180deg,#14291f80,transparent 35%),linear-gradient(90deg,#172c20b3 0%,#172c2040 65%,#172c2010),linear-gradient(0deg,#172c2066,transparent 55%)}
.public-site.page-home .hero-copy{left:7.5%;right:7.5%;bottom:18%;max-width:900px}
.public-site.page-home .video-toggle{top:130px;right:6.5%}
.public-site.page-home .hero h1{font-size:clamp(60px,6.4vw,96px);line-height:.98;font-weight:400;letter-spacing:-.035em;margin-bottom:28px}
.public-site.page-home .hero-copy>p:not(.eyebrow){max-width:470px;font-size:15px;line-height:1.85;color:#f4f1e8}
.public-site .actions{gap:30px;margin-top:32px}
.public-site .button{border-radius:8px;padding:16px 24px;font-size:12px;font-weight:600;letter-spacing:.015em}
.public-site .button:hover{transform:none}
.public-site .text-link{font-size:12px;font-weight:600}
.public-site .hero-bottom{left:7.5%;right:7.5%;bottom:30px;padding-top:19px;border-top:1px solid #ffffff40;letter-spacing:.15em}
.public-site .welcome-strip{background:var(--cream);border-bottom:0;padding:40px 6%;gap:24px}
.public-site .welcome-strip>span:first-child{font-family:"Robin Serif",Georgia,serif;font-size:28px}
.public-site .welcome-strip p{font-size:12px}
.public-site .tiny-key{display:none}
.public-site .section{padding:100px 7.5%;max-width:1480px}
.public-site .selected{padding-top:70px}
.public-site .section-head{margin-bottom:45px;gap:50px}
.public-site .property-card{border-radius:22px;border:0;background:#f0f0e8;box-shadow:0 10px 40px #24372c06}
.public-site .property-grid:has(.property-card:only-child) .property-card{grid-template-columns:1.25fr 1fr;background:#edeFE6}
.public-site .property-grid:has(.property-card:only-child) .card-image{aspect-ratio:1.18;height:100%;min-height:430px}
.public-site .property-grid:has(.property-card:only-child) .card-content{padding:48px}
.public-site .card-content h3{font-size:32px;line-height:1.15}
.public-site .badge{border-radius:5px;background:#f8f6f0ed;color:var(--forest);padding:6px 12px}
.public-site .badge.reserved{background:#eee4cd;color:#645027}
.public-site .badge.sold,.public-site .badge.rented{background:#e2e4de;color:#4a514b}
.public-site .card-facts{gap:15px;line-height:1.5;border-color:#cfd6ca}
.public-site .card-facts strong{font-size:15px}
.public-site .about{margin:0 3.5%;max-width:none;padding:90px 7.8%;gap:10%;border-radius:34px;background:linear-gradient(125deg,#e8ece2,#f0efe5)}
.public-site .portrait-frame{margin:0 0 26px;max-width:440px;aspect-ratio:.92}
.public-site .portrait-frame:before{display:none}
.public-site .portrait-frame>img,.public-site .portrait-frame:after{border-radius:20px}
.public-site .portrait-frame>img{filter:saturate(.8)}
.public-site .portrait-caption{font-size:49px;left:30px;bottom:35px}
.public-site .frame-label{bottom:-34px;font-size:8px}
.public-site .about-copy h2{font-size:clamp(40px,3.7vw,56px)}
.public-site .prose{font-size:15px;line-height:1.95}
.public-site .signature{font-size:32px}
.public-site .service-grid{gap:48px;margin-top:55px}
.public-site .service-grid article{border-color:#d7dcd1;padding-top:27px}
.public-site .service-icon{background:none;border-radius:0;width:84px;height:84px;flex-shrink:0}
.public-site .service-icon img{display:block;width:100%;height:100%;object-fit:contain}
.public-site .service-grid h3{font-size:29px}
.public-site .service-grid p{font-size:14px;line-height:1.9;min-height:95px}
.public-site .testimonial{background:transparent;padding:30px 15% 100px}
.public-site blockquote{font-size:38px;line-height:1.35}
.public-site .contact{margin:0 3.5%;padding:85px 7.8%;border-radius:32px;background:linear-gradient(120deg,#3d5648,#304b3c);gap:10%}
.public-site .contact-details{border-color:#ffffff30}
.public-site .contact-details a{font-size:29px;overflow-wrap:anywhere}
.public-site footer{padding:45px 7.5%;gap:28px;background:var(--cream)}
.public-site footer .brand{font-size:25px}
.public-site .wa-float{box-shadow:0 5px 25px #14251a25}
.public-site .agent-card,.public-site .gallery-item,.public-site .video-section video,.public-site .empty{border-radius:20px}
.public-site .gallery{background:#ecefe6;border-radius:28px}
.public-site .fact-strip{background:var(--cream)}
.public-site .fact-strip strong{font-size:31px}
@media(max-width:1100px){
  .public-site .header{height:94px;padding:0 5%}
  .public-site .menu{display:block;border:1px solid #8b9b8e55;border-radius:7px;padding:8px 12px;background:transparent;font-size:12px;color:var(--forest)}
  .public-site.page-home .menu{border-color:#ffffff70}
  .public-site nav{display:none;position:absolute;top:93px;left:4%;right:4%;padding:28px;background:#f8f6f0;border:1px solid #deded2;border-radius:14px;box-shadow:0 18px 35px #18302314;color:var(--forest)}
  .public-site nav.open{display:grid;grid-template-columns:1fr 1fr;gap:19px 24px}
  .public-site.page-home .header nav .languages a{color:var(--forest)}
  .public-site.page-home .header nav .languages a.active{color:#856f45}
  .public-site .languages{margin:0}
  .public-site .nav-offers{justify-self:start}
  .public-site .section{padding:80px 6%}
  .public-site .about{padding:75px 7%;gap:7%}
  .public-site .property-grid:has(.property-card:only-child) .card-content{padding:30px}
  .public-site .property-grid:has(.property-card:only-child) .card-image{min-height:410px}
  .public-site .card-content h3{font-size:29px}
  .public-site .service-grid{gap:28px}
  .public-site .service-grid p{min-height:125px}
  .public-site .contact{padding:75px 7%;gap:6%}
  .public-site .contact-details{padding-left:25px}
  .public-site .contact-details a{font-size:25px}
}
@media(max-width:700px){
  .public-site .header{height:90px;padding:0 22px}
  .public-site .brand{font-size:25px;gap:8px}
  .public-site .brand small{font-size:7px;letter-spacing:.22em}
  .public-site .key-logo{height:54px;width:38px}
  .public-site .service-icon{width:72px;height:72px}
  .public-site nav{top:89px;left:15px;right:15px;padding:25px}
  .public-site.page-home .hero{height:auto;min-height:760px;max-height:none;display:flex;align-items:center}
  .public-site.page-home .hero-copy{position:relative;left:auto;right:auto;bottom:auto;padding:170px 25px 145px;width:100%}
  .public-site.page-home .video-toggle{top:108px;right:25px}
  .public-site.page-home .hero h1{font-size:clamp(51px,11.3vw,69px);line-height:1.02;letter-spacing:-.03em;margin-bottom:25px}
  .public-site.page-home .hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:340px}
  .public-site.page-home .hero-shade{background:linear-gradient(180deg,#14291f80,transparent 28%),linear-gradient(0deg,#183122d9,#18312238 90%)}
  .public-site .hero-bottom{left:25px;right:25px;bottom:23px;font-size:8px}
  .public-site .actions{gap:23px;margin-top:30px}
  .public-site .button{padding:14px 18px;font-size:11px}
  .public-site .text-link{font-size:11px}
  .public-site .welcome-strip{padding:30px 25px;gap:16px}
  .public-site .welcome-strip>span:first-child{font-size:23px}
  .public-site .welcome-strip p{font-size:10px}
  .public-site .section{padding:64px 25px}
  .public-site .selected{padding-top:35px}
  .public-site h2,.public-site .about-copy h2{font-size:42px;line-height:1.08}
  .public-site .section-head{margin-bottom:30px}
  .public-site .property-card{border-radius:19px}
  .public-site .property-grid:has(.property-card:only-child) .property-card{display:block}
  .public-site .property-grid:has(.property-card:only-child) .card-image{min-height:0;height:auto;aspect-ratio:1.3}
  .public-site .property-grid:has(.property-card:only-child) .card-content{padding:28px}
  .public-site .card-content h3{font-size:30px}
  .public-site .about{margin:0 12px;padding:42px 25px 50px;border-radius:25px;gap:50px}
  .public-site .portrait-frame{aspect-ratio:1.1;margin-bottom:0}
  .public-site .portrait-frame>img,.public-site .portrait-frame:after{border-radius:15px}
  .public-site .portrait-caption{font-size:43px;left:25px;bottom:25px}
  .public-site .service-grid{gap:32px;margin-top:38px}
  .public-site .service-grid h3{font-size:31px}
  .public-site .service-grid p{min-height:0}
  .public-site .testimonial{padding:0 25px 65px}
  .public-site blockquote{font-size:31px}
  .public-site .contact{margin:0 12px;padding:48px 25px;border-radius:25px;gap:35px}
  .public-site .contact-details{padding:25px 0 0}
  .public-site .contact-details a{font-size:27px}
  .public-site footer{padding:35px 25px 85px;gap:25px}
  .public-site footer div{gap:18px;flex-wrap:wrap}
  .public-site .gallery{border-radius:0}
}
@media(max-width:380px){
  .public-site .header{padding:0 16px}
  .public-site .brand{font-size:23px;gap:7px}
  .public-site .key-logo{width:30px;height:48px}
  .public-site .menu{font-size:11px;padding:7px 9px}
  .public-site.page-home .hero-copy{padding-left:22px;padding-right:22px}
  .public-site h2,.public-site .about-copy h2{font-size:38px}
}

.public-site .card-image img{position:absolute;inset:0}
@media(max-width:700px){.public-site.page-home .hero{border-radius:0 0 22px 22px}.public-site.page-home .hero-copy{padding-top:165px}.public-site .welcome-strip>span:first-child{flex-shrink:0}.public-site .welcome-strip i{flex-shrink:0}}
@media(max-width:380px){.public-site .welcome-strip{gap:12px;padding-inline:22px}.public-site .welcome-strip>span:first-child{font-size:20px}.public-site.page-home .hero h1{font-size:46px}}

/* Two fields of support: search first, owners second. */
.public-site .service-grid.two-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.public-site .two-fields article{display:flex;flex-direction:column;min-width:0}
.public-site .two-fields p{min-height:0}
.public-site .two-fields .service-label{font-size:9px;line-height:1.7;letter-spacing:.15em;margin-bottom:14px}
.public-site .two-fields .text-link{align-self:flex-start;margin-top:auto}
.public-site .services+.selected{padding-top:20px}
@media(max-width:1000px){.public-site .service-grid.two-fields{gap:36px}}
@media(max-width:700px){.public-site .service-grid.two-fields{grid-template-columns:1fr;gap:38px}.public-site .services+.selected{padding-top:10px}}
