/* Almeers Living — Free Site Survey page
   Scoped to .fss-page to avoid changing global site styles. */
.fss-page{--fss-ink:#242d27;--fss-muted:#69736b;--fss-cream:#f7f5ef;--fss-paper:#fffefa;--fss-olive:#526653;--fss-gold:#bd9862;--fss-line:#e6e1d6;--fss-serif:Georgia,"Times New Roman",serif;--fss-sans:Inter,"Avenir Next",Avenir,Arial,sans-serif;background:var(--fss-paper);color:var(--fss-ink);font-family:var(--fss-sans);font-size:16px;line-height:1.7;overflow:hidden;isolation:isolate}
.fss-page *{box-sizing:border-box}
.fss-page img{display:block;width:100%;max-width:100%;height:auto}
.fss-page a{color:inherit}
.fss-page p{margin:0 0 1.1rem;color:var(--fss-muted);font-size:clamp(.95rem,1.05vw,1.08rem);line-height:1.85}
.fss-page h1,.fss-page h2,.fss-page h3{margin:0;color:var(--fss-ink);font-weight:500;line-height:1.12;letter-spacing:-.035em}
.fss-page h1,.fss-page h2{font-family:var(--fss-serif)}
.fss-page h1{max-width:850px;font-size:clamp(2.8rem,6vw,6.1rem)}
.fss-page h2{font-size:clamp(2.05rem,4.2vw,4.05rem)}
.fss-page h3{font-size:1.25rem;letter-spacing:-.025em}
.fss-page .fss-eyebrow{margin:0 0 1.1rem!important;color:var(--fss-olive)!important;font-family:var(--fss-sans)!important;font-size:.7rem!important;font-weight:700;letter-spacing:.19em;line-height:1.45!important;text-transform:uppercase}
.fss-hero{position:relative;display:flex;min-height:min(800px,91svh);align-items:center;padding:clamp(105px,12vw,155px) max(6vw,24px) clamp(90px,10vw,125px);background:#d8d2c5;color:#fff}
.fss-hero-media{position:absolute;inset:0;overflow:hidden}
.fss-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 50%;animation:fss-hero-in 1.2s ease both;transform:scale(1.02);transition:transform 1.3s cubic-bezier(.2,.75,.25,1)}
.fss-hero:hover .fss-hero-media img{transform:scale(1.055)}
.fss-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,29,24,.82) 0%,rgba(26,34,29,.58) 44%,rgba(26,34,29,.12) 100%),linear-gradient(0deg,rgba(20,29,24,.3),transparent 50%)}
.fss-hero-copy{position:relative;z-index:2;max-width:930px;animation:fss-copy-enter .85s .08s both}
.fss-hero-copy .fss-eyebrow{color:#e4c89c!important}
.fss-hero h1{margin-bottom:1.35rem;color:#fff;text-wrap:balance;text-shadow:0 5px 30px rgba(0,0,0,.13)}
.fss-hero-lead{max-width:640px;color:rgba(255,255,255,.9)!important;font-size:clamp(1rem,1.35vw,1.2rem)!important;line-height:1.8!important}
.fss-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:2rem 0 1.1rem}
.fss-button{position:relative;display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:22px;overflow:hidden;padding:15px 22px;border:1px solid var(--fss-gold);background:var(--fss-gold);box-shadow:0 10px 28px rgba(80,60,34,.17);color:#fff!important;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.035em;transition:transform .3s,background .3s,box-shadow .3s}
.fss-button:hover{transform:translateY(-2px);background:#a98049;box-shadow:0 14px 32px rgba(80,60,34,.22)}
.fss-text-link{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.55);color:#fff!important;text-decoration:none;font-size:.82rem}
.fss-hero-note{color:rgba(255,255,255,.78)!important;font-size:.75rem!important;letter-spacing:.04em}
.fss-hero-index{position:absolute;right:5vw;bottom:28px;z-index:2;display:flex;gap:25px;color:rgba(255,255,255,.78);font-size:.62rem;letter-spacing:.14em}
.fss-content{max-width:1240px;margin:0 auto;padding:0 28px}
.fss-intro{max-width:880px;margin:0 auto;padding:110px 0 70px;text-align:center}
.fss-intro h2{margin-bottom:1.2rem}
.fss-intro p:last-child{max-width:760px;margin:0 auto}
.fss-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,105px);align-items:center;padding:60px 0 105px}
.fss-split-reverse .fss-image-frame{order:2}
.fss-image-frame{position:relative;min-height:400px;overflow:hidden;background:#eee9df}
.fss-image-frame:after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);content:"";pointer-events:none}
.fss-image-frame img{width:100%;height:100%;min-height:440px;object-fit:cover;transition:transform .8s}
.fss-image-frame:hover img{transform:scale(1.035)}
.fss-copy h2{margin-bottom:1.3rem}
.fss-copy .fss-lead{color:#465249;font-size:1.1rem}
.fss-inline-link{display:inline-flex;gap:12px;align-items:center;margin-top:.5rem;color:var(--fss-olive)!important;text-decoration:none;border-bottom:1px solid #b6c0b4;padding-bottom:5px;font-size:.88rem;font-weight:700}
.fss-service-section{padding:95px 0 115px}
.fss-section-heading{max-width:780px;margin:0 auto 46px;text-align:center}
.fss-section-heading h2{margin-bottom:1rem}
.fss-section-heading>p:last-child{max-width:690px;margin:0 auto}
.fss-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fss-service-card{min-width:0;padding:30px 24px 32px;border:1px solid var(--fss-line);background:#fff;transition:transform .3s,box-shadow .3s}
.fss-service-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(40,47,40,.08)}
.fss-card-number{display:grid;width:40px;height:40px;place-items:center;margin-bottom:24px;border-radius:50%;background:#f2eee4;color:var(--fss-olive);font-family:var(--fss-serif);font-size:1rem}
.fss-service-card h3{margin-bottom:12px}
.fss-service-card p{margin:0;font-size:.9rem;line-height:1.75}
.fss-image-band{position:relative;display:flex;min-height:500px;align-items:center;margin:35px 0 105px;background:#ddd}
.fss-image-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fss-image-band-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,31,26,.82),rgba(22,31,26,.18))}
.fss-image-band-copy{position:relative;z-index:1;max-width:760px;padding:65px 7%}
.fss-image-band-copy .fss-eyebrow{color:#e4c89c!important}
.fss-image-band-copy h2{margin-bottom:1rem;color:#fff}
.fss-image-band-copy p:not(.fss-eyebrow){color:rgba(255,255,255,.88)}
.fss-image-band-copy .fss-button{margin-top:.4rem}
.fss-process-section{padding:70px 0 105px}
.fss-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fss-process-card{min-height:230px;padding:27px 22px 28px;border:1px solid var(--fss-line);background:var(--fss-cream)}
.fss-process-card>span{display:block;margin-bottom:22px;color:var(--fss-gold);font-family:var(--fss-serif);font-size:2rem}
.fss-process-card h3{margin-bottom:12px;font-size:1.12rem}
.fss-process-card p{margin:0;font-size:.88rem;line-height:1.7}
.fss-faq-section{padding:55px 0 110px}
.fss-faq-list{max-width:900px;margin:0 auto;border-top:1px solid var(--fss-line)}
.fss-faq-item{padding:0 4px;border-bottom:1px solid var(--fss-line)}
.fss-faq-item summary{position:relative;padding:23px 40px 23px 0;cursor:pointer;list-style:none;color:var(--fss-ink);font-size:1rem;font-weight:600}
.fss-faq-item summary::-webkit-details-marker{display:none}
.fss-faq-item summary:after{position:absolute;top:17px;right:5px;color:var(--fss-olive);content:"+";font-size:1.5rem;font-weight:400}
.fss-faq-item[open] summary:after{content:"−"}
.fss-faq-item p{max-width:780px;margin:0;padding:0 0 20px}
.fss-final-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:clamp(30px,6vw,75px);margin:0 0 60px;padding:32px;background:var(--fss-cream)}
.fss-final-image{min-height:340px;overflow:hidden;background:#e6e0d4}
.fss-final-image img{width:100%;height:100%;min-height:340px;object-fit:cover}
.fss-final-copy{padding:25px 25px 25px 0}
.fss-final-copy h2{margin-bottom:1rem}
.fss-final-copy .fss-button{margin-top:.35rem}
.fss-small-note{margin-top:1rem!important;font-size:.78rem!important}
.fss-link-list{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:1.3rem}
.fss-link-list a{display:flex;gap:18px;align-items:center;color:var(--fss-olive)!important;text-decoration:none;font-size:.9rem;font-weight:700}
.fss-link-list a:hover,.fss-inline-link:hover{text-decoration:underline}
.fss-breadcrumb{display:flex;gap:12px;align-items:center;padding:0 0 35px;color:var(--fss-muted);font-size:.78rem}
.fss-breadcrumb a{color:var(--fss-olive)!important;text-decoration:none}
.fss-reveal{opacity:1;transform:none}
.js .fss-reveal:not(.is-visible){opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.js .fss-reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes fss-hero-in{from{opacity:.8;transform:scale(1.04)}to{opacity:1;transform:scale(1.02)}}
@keyframes fss-copy-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.fss-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fss-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fss-split{gap:40px}.fss-hero{min-height:720px}}
@media(max-width:700px){
 .fss-hero{min-height:760px;align-items:flex-end;padding:120px 24px 88px}
 .fss-hero-shade{background:linear-gradient(0deg,rgba(20,29,24,.88) 0%,rgba(20,29,24,.58) 55%,rgba(20,29,24,.12) 100%)}
 .fss-hero h1{font-size:clamp(2.65rem,12vw,4.25rem)}
 .fss-hero-index{left:24px;right:24px;bottom:19px;justify-content:space-between;gap:12px;font-size:.52rem}
 .fss-content{padding:0 22px}
 .fss-intro{padding:75px 0 35px}
 .fss-split{grid-template-columns:1fr;gap:28px;padding:45px 0 65px}
 .fss-split-reverse .fss-image-frame{order:0}
 .fss-image-frame,.fss-image-frame img{min-height:310px}
 .fss-service-section{padding:65px 0 75px}
 .fss-service-grid{gap:12px}
 .fss-service-card{padding:22px 17px 24px}
 .fss-service-card h3{font-size:1.1rem}
 .fss-service-card p{font-size:.84rem}
 .fss-section-heading{margin-bottom:32px}
 .fss-image-band{min-height:480px;margin:40px 0 65px}
 .fss-image-band-copy{padding:40px 25px}
 .fss-process-section{padding:45px 0 70px}
 .fss-process-grid{grid-template-columns:1fr;gap:12px}
 .fss-process-card{min-height:0;padding:22px}
 .fss-process-card>span{margin-bottom:12px}
 .fss-faq-section{padding:35px 0 75px}
 .fss-final-cta{grid-template-columns:1fr;gap:20px;margin-bottom:45px;padding:18px}
 .fss-final-image,.fss-final-image img{min-height:240px}
 .fss-final-copy{padding:15px 8px 20px}
 .fss-final-copy .fss-button{width:100%}
 .fss-page p{font-size:.96rem}
}
@media(max-width:380px){.fss-service-grid{grid-template-columns:1fr}.fss-actions{align-items:flex-start;flex-direction:column;gap:15px}}
@media(prefers-reduced-motion:reduce){.fss-page *,.fss-page *:before,.fss-page *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
