
/* ===== Summercrest Estero. All styles are scoped to .sce so a WordPress theme will not fight them. ===== */
.sce{
  --navy:#0B2341; --navy-2:#132F54; --gulf:#3E7C99; --stucco:#F2F1EC; --lime:#DDD6C6;
  --brass:#A9874A; --tie:#E8D28F; --ink:#1B2A3F; --muted:#5B6878; --white:#fff;
  --display:"Marcellus","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Jost","Avenir Next","Century Gothic","Helvetica Neue",Arial,sans-serif;
  --grain-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .10 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  font-family:var(--body); color:var(--ink); background:var(--stucco); font-size:18px; line-height:1.65; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-x:clip; padding-top:72px;
}
html{scroll-behavior:smooth; scroll-padding-top:84px}
body{margin:0}
.sce *,.sce *::before,.sce *::after{box-sizing:border-box}
.sce img{max-width:100%; display:block}
.sce a{color:inherit}
.sce h1,.sce h2,.sce h3{font-family:var(--display); font-weight:400; line-height:1.12; margin:0; letter-spacing:.005em}
.sce h1{font-size:clamp(2.5rem,5.4vw,4.4rem)}
.sce h2{font-size:clamp(2rem,3.6vw,3rem)}
.sce h3{font-size:1.45rem}
.sce p{margin:0 0 1em; max-width:62ch}
.sce .wrap{width:min(1180px,92vw); margin-inline:auto}
.sce .lede{font-size:1.18rem; font-weight:300}
.sce :focus-visible{outline:3px solid var(--tie); outline-offset:3px}

/* buttons */
.sce .btn{display:inline-block; font:500 1rem/1 var(--body); letter-spacing:.04em; text-decoration:none; padding:1.05em 1.7em; border-radius:2px; border:1px solid transparent; cursor:pointer; transition:background .2s,color .2s,border-color .2s}
.sce .btn-gold{background:var(--tie); color:var(--navy)}
.sce .btn-gold:hover{background:#f3e2ab}
.sce .btn-line{border-color:rgba(255,255,255,.55); color:#fff}
.sce .btn-line:hover{background:#fff; color:var(--navy)}
.sce .btn-navy{background:var(--navy); color:#fff}
.sce .btn-navy:hover{background:var(--navy-2)}

/* header */
.sce-head{position:fixed; top:0; left:0; right:0; z-index:50; background:rgba(11,35,65,.96); backdrop-filter:blur(8px); color:#fff; border-bottom:1px solid rgba(232,210,143,.25)}
.sce-head .wrap{display:flex; align-items:center; gap:1.5rem; min-height:72px}
.sce-mark{text-decoration:none; line-height:1.1; margin-right:auto}
.sce-mark b{font:400 1.45rem var(--display); letter-spacing:.06em; display:block}
.sce-mark span{font-size:.78rem; font-weight:300; letter-spacing:.08em; color:var(--tie)}
.sce-nav{display:flex; gap:1.35rem}
.sce-nav a{text-decoration:none; white-space:nowrap; font-size:.92rem; letter-spacing:.03em; padding:.4em 0; border-bottom:1px solid transparent; opacity:.85}
.sce-nav a:hover,.sce-nav a.on{opacity:1; border-bottom-color:var(--tie)}
.sce-head .btn{padding:.8em 1.2em; font-size:.9rem}
.sce-burger{display:none; background:none; border:1px solid rgba(255,255,255,.4); color:#fff; font:500 .85rem var(--body); padding:.6em .9em; border-radius:2px}

body.admin-bar .sce-head{top:32px}
@media (max-width:782px){body.admin-bar .sce-head{top:46px}}

/* hero */
.sce-hero{position:relative; color:#fff; background:var(--grain-light),radial-gradient(120% 90% at 85% 10%,#1d4470 0%,var(--navy) 55%,#071a33 100%); padding:clamp(3rem,7vw,6rem) 0 0}
.sce-hero .wrap{display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(2rem,5vw,5rem); align-items:end}
.sce-hero .copy{padding-bottom:clamp(3rem,7vw,6.5rem)}
.sce-hero .status{display:inline-flex; gap:.6em; align-items:center; font-size:.92rem; letter-spacing:.06em; color:var(--tie); margin-bottom:1.4rem}
.sce-hero .status i{width:34px; height:1px; background:var(--tie)}
.sce-hero h1{margin-bottom:1.3rem}
.sce-hero .lede{color:#dbe4ee; max-width:34em}
.sce-hero .cta{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem}
.sce-hero .call{margin-top:1.4rem; font-size:.98rem; color:#c9d5e3}
.sce-hero .call a{color:#fff; text-decoration-color:var(--tie); text-underline-offset:4px}
.arch{border-radius:999px 999px 0 0; overflow:hidden; position:relative}
.sce-hero figure{margin:0; position:relative}
.sce-hero .arch{aspect-ratio:5/6; box-shadow:0 0 0 1px rgba(232,210,143,.55), 0 0 0 14px rgba(255,255,255,.04), 0 0 0 15px rgba(232,210,143,.18)}
.sce-hero .arch img{width:100%; height:100%; object-fit:cover; object-position:48% 30%}
.sce-hero figcaption{position:absolute; left:-1.2rem; bottom:2.2rem; background:var(--stucco); color:var(--navy); padding:.9rem 1.3rem .8rem; border-left:3px solid var(--brass); max-width:17rem}
.sce-hero figcaption b{font:400 1.2rem var(--display); display:block}
.sce-hero figcaption span{font-size:.85rem; color:var(--muted)}
.loggia{height:56px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='56'%3E%3Cpath fill='%23F2F1EC' fill-rule='evenodd' d='M0 0H96V56H0Z M20 56V38a28 28 0 0 1 56 0V56Z'/%3E%3C/svg%3E") repeat-x center bottom; border-top:1px solid rgba(232,210,143,.5)}

/* facts */
.sce-facts{background:var(--grain-dark),var(--stucco); padding:0 0 1rem}
.sce-facts dl{display:grid; grid-template-columns:repeat(4,1fr); margin:0; border-bottom:1px solid var(--lime)}
.sce-facts div{padding:1.6rem 1.4rem 1.7rem 0}
.sce-facts div+div{padding-left:1.6rem; border-left:1px solid var(--lime)}
.sce-facts dt{font-size:.9rem; color:var(--muted); letter-spacing:.03em}
.sce-facts dd{margin:.15rem 0 0; font:400 1.7rem var(--display); color:var(--navy)}

/* sections */
.sec{padding:clamp(4rem,8vw,7rem) 0}
.sec-stucco{background:var(--grain-dark),var(--stucco)}
.sec-white{background:#fff}
.sec-navy{background:var(--grain-light),linear-gradient(180deg,var(--navy),#0a1d37); color:#fff}
.sec-head{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:end; margin-bottom:3rem}
.sec-head p{margin:0}
.rule{width:64px; height:2px; background:var(--brass); margin-bottom:1.4rem}

/* community */
.two{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem)}
.checks{list-style:none; padding:0; margin:0}
.checks li{padding:1rem 0 1rem 2.2rem; border-bottom:1px solid var(--lime); position:relative}
.checks li::before{content:""; position:absolute; left:.2rem; top:1.45rem; width:12px; height:18px; border:1.5px solid var(--brass); border-bottom:none; border-radius:8px 8px 0 0}
.amen{display:flex; flex-wrap:wrap; gap:.5rem 1.6rem; padding:0; margin:1.2rem 0 0; list-style:none; font:400 1.25rem var(--display); color:var(--navy)}
.amen li:not(:last-child)::after{content:"/"; color:var(--brass); margin-left:1.6rem}
.slots{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:3.5rem}
.slot{margin:0}
.slot .arch{aspect-ratio:1/1.08; box-shadow:0 0 0 1px var(--brass),0 0 0 8px var(--stucco),0 0 0 9px var(--lime)}
.slot img{width:100%; height:100%; object-fit:cover}
.slot figcaption{font-size:.9rem; color:var(--muted); text-align:center; margin-top:1rem}
.slot:nth-child(2){transform:translateY(-1.6rem)}

.gal{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:4rem}
.gal img{width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; border-radius:2px}
.gal .big{grid-column:span 2; grid-row:span 2; border-radius:120px 2px 2px 2px}
@media (max-width:860px){.gal{grid-template-columns:1fr 1fr}.gal .big{border-radius:70px 2px 2px 2px}}

/* plan lists */
.plans{width:100%; border-collapse:collapse}
.plans th{font:500 .85rem var(--body); letter-spacing:.06em; text-align:left; color:var(--muted); padding:0 1rem .8rem 0; border-bottom:1px solid var(--navy)}
.plans td{padding:1.15rem 1rem 1.15rem 0; border-bottom:1px solid var(--lime); vertical-align:baseline}
.plans td:first-child{font:400 1.4rem var(--display); color:var(--navy)}
.plans td small{display:block; font:400 .85rem var(--body); color:var(--gulf)}
.plans .price{font-weight:500; white-space:nowrap}
.plans a{font-size:.95rem; color:var(--navy); text-underline-offset:4px; text-decoration-color:var(--brass); white-space:nowrap}
.plans tr:hover td{background:rgba(232,210,143,.13)}
.plans .c-m{display:none}
.plans .tag{font:500 .72rem var(--body); font-style:normal; letter-spacing:.05em; background:var(--tie); color:var(--navy); padding:.25em .7em; border-radius:99px; margin-left:.5rem; vertical-align:middle; white-space:nowrap}
.plans tr.uc td{opacity:.62}
.plans tr.uc td.c-name,.plans tr.uc td.c-link{opacity:1}
.plans tr.uc .price{text-decoration:line-through}
.scroll{overflow-x:auto}
.note{max-width:none; font-size:.88rem; color:var(--muted); margin-top:1.4rem}
.sec-navy .plans th{color:#a9bace; border-bottom-color:var(--tie)}
.sec-navy .plans td{border-bottom-color:rgba(255,255,255,.14)}
.sec-navy .plans td:first-child,.sec-navy .plans a{color:#fff}
.sec-navy .plans td small{color:var(--tie)}
.sec-navy .note{color:#a9bace}
.sec-navy .lede{color:#dbe4ee}

/* location */
.near{display:grid; grid-template-columns:repeat(3,1fr); gap:0 3rem}
.near div{padding:1.5rem 0; border-top:1px solid var(--lime)}
.near h3{margin-bottom:.4rem; color:var(--navy)}
.near p{margin:0; font-size:1rem; color:var(--muted)}

/* out of state */
.oos{display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,6rem); align-items:start}
.oos figure{margin:0; position:sticky; top:110px}
.oos .arch{aspect-ratio:3/4.4}
.oos .arch img{width:100%; height:100%; object-fit:cover; object-position:50% 12%}
.oos figcaption{font-size:.9rem; color:var(--muted); margin-top:.8rem}
.steps{list-style:none; counter-reset:s; padding:0; margin:2.5rem 0}
.steps li{counter-increment:s; display:grid; grid-template-columns:3.4rem 1fr; padding:1.4rem 0; border-top:1px solid var(--lime)}
.steps li::before{content:counter(s); font:400 2.2rem/1 var(--display); color:var(--brass)}
.steps h3{margin-bottom:.3rem; color:var(--navy)}
.steps p{margin:0; font-size:1rem}

/* representation band */
.rep{background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 32%,rgba(11,35,65,.8) 52%,rgba(11,35,65,.35) 100%),url(../images/renee-jose-malachowski-duotone.jpg) right center/auto 100% no-repeat var(--navy); color:#fff}
.rep .inner{max-width:40rem}
.rep p{color:#dbe4ee}
.rep .flag{border-left:3px solid var(--tie); padding:.2rem 0 .2rem 1.2rem; margin:1.8rem 0; color:#fff; font-size:1.08rem}

/* team */
.team{display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:clamp(2rem,6vw,6rem)}
.agent{display:grid; grid-template-columns:minmax(140px,210px) 1fr; gap:2rem; align-items:start}
.agent .arch{aspect-ratio:4/5.2; box-shadow:0 0 0 1px var(--brass),0 0 0 10px #fff,0 0 0 11px var(--lime)}
.agent .arch img{width:100%; height:100%; object-fit:cover; object-position:50% 15%}
.agent h3{font-size:1.9rem; color:var(--navy)}
.agent .role{font-size:.92rem; color:var(--gulf); letter-spacing:.04em; margin:.2rem 0 1rem}
.agent p{font-size:1rem}
.agent .creds{font-size:.85rem; color:var(--muted); letter-spacing:.03em}
.agent .lines a{display:block; text-decoration:none; padding:.55rem 0; border-top:1px solid var(--lime); font-weight:500; color:var(--navy)}
.agent .lines a:hover{color:var(--gulf)}
.agent .lines a span{display:inline-block; width:3.6rem; font-weight:400; color:var(--muted); font-size:.88rem}

/* contact */
.contact{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,6rem); align-items:start}
.us{margin:2rem 0; max-width:30rem}
.us img{width:100%; height:auto; aspect-ratio:16/10.5; object-fit:cover; object-position:50% 20%; border-radius:140px 140px 0 0; box-shadow:0 0 0 1px rgba(232,210,143,.6),0 0 0 9px rgba(255,255,255,.05)}
.us figcaption{margin-top:1.1rem; padding-left:1rem; border-left:2px solid var(--tie); color:#dbe4ee; font-size:.98rem}
.gets{list-style:none; padding:0; margin:0 0 2rem}
.gets li{padding:.7rem 0 .7rem 1.8rem; position:relative; border-bottom:1px solid rgba(255,255,255,.14)}
.gets li::before{content:""; position:absolute; left:0; top:1.25rem; width:10px; height:10px; border-radius:50%; border:1.5px solid var(--tie)}
.form{background:var(--grain-dark),var(--stucco); color:var(--ink); padding:clamp(1.6rem,3.5vw,2.8rem); border-top:4px solid var(--tie); border-radius:2px}
.form h3{color:var(--navy); font-size:1.7rem; margin-bottom:.4rem}
.form .sub{font-size:.95rem; color:var(--muted); margin-bottom:1.5rem}
.fgrid{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.fgrid .full{grid-column:1/-1}
.form label{display:block; font-size:.88rem; font-weight:500; margin-bottom:.35rem; color:var(--navy)}
.form input,.form select,.form textarea{width:100%; font:400 1rem var(--body); color:var(--ink); background:#fff; border:1px solid #c9c2b2; border-radius:2px; padding:.8em .9em}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--gulf); outline-offset:0; border-color:var(--gulf)}
.form fieldset{border:0; padding:0; margin:0}
.form legend{font-size:.88rem; font-weight:500; color:var(--navy); margin-bottom:.5rem; padding:0}
.chips{display:flex; flex-wrap:wrap; gap:.5rem}
.chips label{margin:0; font-weight:400; font-size:.92rem; cursor:pointer}
.chips input{position:absolute; opacity:0; width:1px; height:1px}
.chips span{display:block; padding:.55em 1em; border:1px solid #c9c2b2; border-radius:99px; background:#fff}
.chips input:checked+span{background:var(--navy); border-color:var(--navy); color:#fff}
.chips input:focus-visible+span{outline:3px solid var(--gulf); outline-offset:2px}
.form .btn{width:100%; margin-top:1.4rem; font-size:1.05rem}
.form .fine{font-size:.78rem; color:var(--muted); margin:1rem 0 0; max-width:none}
.form .err{color:#9b2c2c; font-size:.9rem; margin:.8rem 0 0; display:none}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.sent{display:none; text-align:left}
.sent h3{margin-bottom:.8rem}

/* footer */
.sce-foot{background:#071a33; color:#a9bace; padding:3.5rem 0 6rem; font-size:.88rem}
.sce-foot .top{display:flex; flex-wrap:wrap; gap:2rem 4rem; justify-content:space-between; padding-bottom:2rem; margin-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.12)}
.sce-foot b.name{font:400 1.5rem var(--display); color:#fff; letter-spacing:.06em; display:block}
.sce-foot a{color:#fff; text-decoration:none}
.sce-foot p{max-width:none}

/* mobile bar */
.sce-bar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--navy); border-top:1px solid var(--tie)}
.sce-bar a{flex:1; text-align:center; color:#fff; text-decoration:none; padding:1rem .4rem; font-weight:500; font-size:.95rem}
.sce-bar a+a{border-left:1px solid rgba(255,255,255,.18)}
.sce-bar a.main{background:var(--tie); color:var(--navy)}

/* one load moment */
@media (prefers-reduced-motion:no-preference){
  .sce-hero .copy>*{opacity:0; transform:translateY(14px); animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
  .sce-hero .copy>*:nth-child(2){animation-delay:.1s}.sce-hero .copy>*:nth-child(3){animation-delay:.2s}
  .sce-hero .copy>*:nth-child(4){animation-delay:.3s}.sce-hero .copy>*:nth-child(5){animation-delay:.4s}
  .sce-hero figure{opacity:0; animation:rise 1.1s .25s cubic-bezier(.2,.7,.2,1) forwards}
  @keyframes rise{to{opacity:1; transform:none}}
}

@media (max-width:1180px){
  .sce-nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--navy); flex-direction:column; gap:0; padding:.5rem 4vw 1.2rem}
  .sce-nav.open{display:flex}
  .sce-nav a{padding:.9rem 0; border-bottom:1px solid rgba(255,255,255,.12)}
  .sce-burger{display:block}
}
@media (max-width:860px){
  .rep{background:var(--grain-light),var(--navy)}
  .sce{font-size:17px}
  .sce-hero .wrap,.two,.sec-head,.oos,.team,.contact{grid-template-columns:1fr}
  .sce-hero .copy{padding-bottom:0}
  .sce-hero figure{max-width:420px; margin-inline:auto}
  .sce-hero figcaption{left:0}
  .sec-head{gap:1rem; margin-bottom:2rem}
  .sce-facts dl{grid-template-columns:1fr 1fr}
  .sce-facts div:nth-child(3){padding-left:0; border-left:0}
  .sce-facts div:nth-child(n+3){border-top:1px solid var(--lime)}
  .near{grid-template-columns:1fr}
  .oos figure{position:static; max-width:300px}
  .slots{gap:.6rem}
  .sce-head .btn{display:none}
  .sce-bar{display:flex}
  .plans,.plans tbody{display:block}
  .plans thead{display:none}
  .plans tr{display:grid; grid-template-columns:1fr auto; gap:.15rem 1rem; padding:1.2rem 0; border-bottom:1px solid var(--lime)}
  .sec-navy .plans tr{border-bottom-color:rgba(255,255,255,.14)}
  .plans td{display:block; padding:0; border:0}
  .plans .c-d{display:none}
  .plans .c-name{grid-column:1; grid-row:1}
  .plans .price{grid-column:2; grid-row:1; text-align:right; font-size:1.05rem; padding-top:.35rem}
  .plans .c-m{display:block; grid-column:1/-1; font-size:.95rem; color:var(--muted); margin-top:.35rem}
  .sec-navy .plans .c-m{color:#c9d5e3}
  .plans .c-link{grid-column:1/-1; margin-top:.7rem}
  .plans .c-link a{display:inline-block; text-decoration:none; border:1px solid currentColor; padding:.6em 1.1em; border-radius:2px; font-weight:500}
  .plans tr:hover td{background:none}
  .sce-facts dd{font-size:1.3rem}
}
@media (max-width:520px){
  .agent{grid-template-columns:1fr}
  .agent .arch{max-width:220px}
  .fgrid{grid-template-columns:1fr}
}

/* plain pages (privacy policy) */
.sce-page h1{font-size:clamp(2rem,4vw,3rem); color:var(--navy); margin-bottom:2rem}
.sce-content h2{font-size:1.6rem; color:var(--navy); margin:2rem 0 .6rem}
.sce-content a{color:var(--gulf)}
.sce-content ul{max-width:62ch}
