/* Cemisacem — standalone site styles */
:root{
  --bg:#f7f3ec; --fg:#1d1d1f; --card:#fdfbf8; --primary:#1c1c1f; --primary-fg:#f7f3ec;
  --secondary:#ece6db; --muted-fg:#6b6259; --accent:#b86a3d; --accent-fg:#f8f4ed;
  --border:#e3dccd; --destructive:#c0392b;
  --heading:'Playfair Display',Georgia,'Times New Roman',serif;
  --body:'Inter',ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media(min-width:1024px){.wrap{padding:0 2.5rem}}
.eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.3em;color:var(--accent)}
.muted{color:var(--muted-fg)}
.icon{width:1rem;height:1rem;flex-shrink:0}
.icon-lg{width:1.75rem;height:1.75rem}
.icon-xl{width:2rem;height:2rem}

/* Header */
header{position:sticky;top:0;z-index:40;background:rgba(247,243,236,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:6rem;max-width:80rem;margin:0 auto;padding:0 1.5rem}
@media(min-width:1024px){.header-inner{padding:0 2.5rem}}
.logo{height:5rem;width:auto}
nav.main{display:none;align-items:center;gap:2.25rem}
@media(min-width:1024px){nav.main{display:flex}}
nav.main a{font-size:.875rem;color:rgba(29,29,31,.8);transition:color .2s}
nav.main a:hover,nav.main a.active{color:var(--accent)}
.header-actions{display:none;align-items:center;gap:1.25rem}
@media(min-width:1024px){.header-actions{display:flex}}
.header-actions a.phone{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:rgba(29,29,31,.8)}
.header-actions a.phone:hover{color:var(--accent)}
.btn-primary{background:var(--primary);color:var(--primary-fg);padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:background .2s}
.btn-primary:hover{background:var(--accent)}
.menu-toggle{display:block;background:none;border:none;cursor:pointer;color:var(--fg)}
@media(min-width:1024px){.menu-toggle{display:none}}
.mobile-menu{display:none;border-top:1px solid var(--border);padding:1.5rem;background:var(--bg)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:.5rem 0;font-size:1rem;color:rgba(29,29,31,.8)}
.mobile-menu a:hover{color:var(--accent)}

/* Buttons */
.btn-solid{display:inline-flex;align-items:center;gap:.5rem;background:var(--primary);color:var(--primary-fg);padding:1rem 1.75rem;font-size:.875rem;font-weight:500;transition:background .2s}
.btn-solid:hover{background:var(--accent)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);background:var(--card);color:var(--fg);padding:1rem 1.75rem;font-size:.875rem;font-weight:500;transition:border-color .2s}
.btn-outline:hover{border-color:var(--accent)}
.btn-accent{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:var(--accent-fg);padding:1rem 1.75rem;font-size:.875rem;font-weight:500}
.btn-accent:hover{opacity:.9}
.link-accent{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--accent)}
.link-accent:hover{opacity:.8}

/* Section heading */
.sec-head{max-width:42rem}
.sec-head.center{margin:0 auto;text-align:center}
.sec-head h2{margin-top:1rem;font-family:var(--heading);font-size:1.875rem;font-weight:700;line-height:1.2}
@media(min-width:768px){.sec-head h2{font-size:2.25rem}}
@media(min-width:1024px){.sec-head h2{font-size:3rem}}
.sec-head p{margin-top:1.25rem;color:var(--muted-fg)}
.section{border-bottom:1px solid var(--border)}
.section-tint{border-bottom:1px solid var(--border);background:rgba(236,230,219,.3)}
.pad{padding:4rem 1.5rem}
@media(min-width:1024px){.pad{padding:5rem 2.5rem}}
.pad-lg{padding:4rem 1.5rem}
@media(min-width:1024px){.pad-lg{padding:5rem 2.5rem}}

/* Hero */
.hero-grid{display:grid;gap:3rem;align-items:center;max-width:80rem;margin:0 auto;padding:4rem 1.5rem}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;gap:4rem;padding:6rem 2.5rem}}
.hero h1{font-family:var(--heading);font-weight:700;font-size:2.5rem;line-height:1.05}
@media(min-width:768px){.hero h1{font-size:3rem}}
@media(min-width:1024px){.hero h1{font-size:3.75rem}}
.hero h1 span{color:var(--accent)}
.hero p.lead{margin-top:1.75rem;max-width:36rem;font-size:1.125rem;color:var(--muted-fg)}
.hero-btns{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:1rem}
.hero-phone{margin-top:2.5rem;display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--muted-fg)}
.hero-phone a:hover{color:var(--accent)}
.hero-img-wrap{position:relative}
.hero-img{aspect-ratio:4/5;overflow:hidden;border:1px solid var(--border)}
@media(min-width:1024px){.hero-img{aspect-ratio:5/6}}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-badge{position:absolute;bottom:-1.5rem;left:-1.5rem;display:none;background:var(--card);padding:1.25rem 1.75rem;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.05)}
@media(min-width:1024px){.hero-badge{display:block}}
.hero-badge .num{font-family:var(--heading);font-size:1.875rem;font-weight:700;color:var(--accent)}
.hero-badge .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}

/* Trust / stats */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
@media(min-width:1024px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat{text-align:center}
@media(min-width:1024px){.stat{text-align:left}}
.stat .num{font-family:var(--heading);font-size:1.875rem;font-weight:700;color:var(--accent)}
@media(min-width:1024px){.stat .num{font-size:2.25rem}}
.stat .lbl{margin-top:.25rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}

/* About tabs */
.about-grid{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.img-box{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border)}
.img-box img{width:100%;height:100%;object-fit:cover}
.about h2{font-family:var(--heading);font-size:1.875rem;font-weight:700;line-height:1.2}
@media(min-width:768px){.about h2{font-size:2.25rem}}
.tabs{margin-top:2rem;display:flex;gap:.5rem;border-bottom:1px solid var(--border)}
.tabs button{padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted-fg);cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px}
.tabs button.active{border-color:var(--accent);color:var(--accent)}
.tabs button:hover{color:var(--fg)}
.tab-body{margin-top:1.5rem;color:var(--muted-fg)}

/* Service cards */
.svc-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(4,1fr)}}
.svc-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);background:var(--card);transition:border-color .2s,box-shadow .2s}
.svc-card:hover{border-color:rgba(184,106,61,.6);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.svc-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.svc-card:hover .svc-img img{transform:scale(1.05)}
.svc-num{position:absolute;left:1rem;top:1rem;font-family:var(--heading);font-size:.875rem;color:rgba(247,243,236,.9)}
.svc-body{display:flex;flex-direction:column;flex:1;padding:1.75rem}
.svc-body h3{font-family:var(--heading);font-size:1.25rem;font-weight:700}
.svc-body p{margin-top:.75rem;flex:1;font-size:.875rem;color:var(--muted-fg)}
.svc-more{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--accent)}

/* Motto */
.motto{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--primary);color:var(--primary-fg);text-align:center}
.motto-inner{max-width:64rem;margin:0 auto;padding:5rem 1.5rem}
@media(min-width:1024px){.motto-inner{padding:7rem 2.5rem}}
.motto blockquote{font-family:var(--heading);font-size:1.5rem;font-weight:700;line-height:1.3}
@media(min-width:768px){.motto blockquote{font-size:1.875rem}}
@media(min-width:1024px){.motto blockquote{font-size:2.25rem}}
.motto p.sub{margin:2rem auto 0;max-width:42rem;color:rgba(247,243,236,.7)}

/* Process */
.proc-grid{display:grid;gap:1.5rem;margin-top:3rem}
@media(min-width:768px){.proc-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.proc-grid{grid-template-columns:repeat(5,1fr)}}
.proc-card{border:1px solid var(--border);background:var(--card);padding:1.75rem}
.proc-top{display:flex;align-items:center;justify-content:space-between}
.proc-icon{color:var(--accent)}
.proc-num{font-family:var(--heading);font-size:1.5rem;font-weight:700;color:var(--border)}
.proc-card h3{margin-top:1.25rem;font-family:var(--heading);font-size:1.125rem;font-weight:700}
.proc-card p{margin-top:.75rem;font-size:.875rem;color:var(--muted-fg)}

/* References (home, 3 col) */
.refs3{display:grid;gap:1.5rem;margin-top:3rem}
@media(min-width:768px){.refs3{grid-template-columns:repeat(3,1fr)}}
.ref-card{display:block}
.ref-img{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border)}
.ref-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.ref-card:hover .ref-img img{transform:scale(1.05)}
.ref-meta{margin-top:1rem}
.ref-meta .cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.ref-meta h3{margin-top:.25rem;font-family:var(--heading);font-size:1.25rem;font-weight:700}
.ref-meta .loc{font-size:.875rem;color:var(--muted-fg)}

/* References page (2 col) */
.refs2{display:grid;gap:2rem}
@media(min-width:768px){.refs2{grid-template-columns:1fr 1fr}}
.ref-article{border:1px solid var(--border);background:var(--card);overflow:hidden}
.ref-article .img{aspect-ratio:16/10;overflow:hidden}
.ref-article .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.ref-article:hover .img img{transform:scale(1.05)}
.ref-article .body{padding:1.75rem}
.ref-article .top{display:flex;justify-content:space-between;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.ref-article h3{margin-top:.75rem;font-family:var(--heading);font-size:1.5rem;font-weight:700}
.ref-article .sub{margin-top:.25rem;font-size:.875rem;color:var(--muted-fg)}
.ref-article .desc{margin-top:1rem;font-size:.875rem;color:var(--muted-fg)}

/* CTA */
.cta-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2rem;text-align:center;max-width:80rem;margin:0 auto;padding:4rem 1.5rem}
@media(min-width:1024px){.cta-inner{flex-direction:row;text-align:left;padding:5rem 2.5rem}}
.cta h2{font-family:var(--heading);font-size:1.875rem;font-weight:700}
@media(min-width:1024px){.cta h2{font-size:2.25rem}}
.cta p{margin-top:.75rem;color:var(--muted-fg)}
.cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}

/* About page */
.prose{max-width:42rem}
.prose p{margin-top:1.25rem;color:var(--muted-fg)}
.prose p:first-child{margin-top:0}
.values-grid{display:grid;gap:1.5rem;margin-top:3rem}
@media(min-width:640px){.values-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.values-grid{grid-template-columns:repeat(4,1fr)}}
.value-card{border:1px solid var(--border);background:var(--card);padding:1.75rem}
.value-card h3{margin-top:1.25rem;font-family:var(--heading);font-size:1.25rem;font-weight:700}
.value-card p{margin-top:.75rem;font-size:.875rem;color:var(--muted-fg)}
.mv-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.mv-grid{grid-template-columns:1fr 1fr}}
.mv-card{border:1px solid var(--border);background:var(--card);padding:2.25rem}
.mv-card h3{margin-top:1.25rem;font-family:var(--heading);font-size:1.5rem;font-weight:700}
.mv-card p{margin-top:1rem;color:var(--muted-fg)}

/* Service detail */
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted-fg)}
.back-link:hover{color:var(--accent)}
.sd-title{font-family:var(--heading);font-size:2.5rem;font-weight:700;line-height:1.1;max-width:48rem}
@media(min-width:768px){.sd-title{font-size:3rem}}
.sd-summary{margin-top:1.5rem;max-width:42rem;font-size:1.125rem;color:var(--muted-fg)}
.sd-hero-img{aspect-ratio:16/9;overflow:hidden;border:1px solid var(--border)}
.sd-hero-img img{width:100%;height:100%;object-fit:cover}
.sd-prose{margin-top:3rem;max-width:48rem}
.sd-prose p{margin-top:1.25rem;color:var(--muted-fg)}
.sd-prose p:first-child{margin-top:0}
.feature-grid{display:grid;gap:1rem;margin-top:3rem}
@media(min-width:640px){.feature-grid{grid-template-columns:1fr 1fr}}
.feature-item{display:flex;align-items:center;gap:.75rem;border:1px solid var(--border);background:var(--card);padding:1rem 1.25rem}
.feature-item span{font-size:.875rem;font-weight:500}
.sd-h2{font-family:var(--heading);font-size:1.875rem;font-weight:700}
@media(min-width:768px){.sd-h2{font-size:2.25rem}}
.others-grid{display:grid;gap:1.5rem}
@media(min-width:640px){.others-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.others-grid{grid-template-columns:repeat(4,1fr)}}
.other-card{display:block}
.other-card .img{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--border)}
.other-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.other-card:hover .img img{transform:scale(1.05)}
.other-card h3{margin-top:1rem;font-family:var(--heading);font-size:1.125rem;font-weight:700}
.other-card:hover h3{color:var(--accent)}
.other-card .more{margin-top:.25rem;display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--accent)}

/* Contact */
.contact-grid{display:grid;gap:3rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;gap:4rem}}
.info-list{display:flex;flex-direction:column;gap:1.25rem}
.info-item{display:flex;gap:1rem;border:1px solid var(--border);background:var(--card);padding:1.5rem}
.info-item .text{flex:1}
.info-item .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}
.info-item .val{margin-top:.25rem;font-size:1rem;font-weight:500}
.info-item a.val:hover{color:var(--accent)}
.socials-row{display:flex;gap:1.25rem;margin-top:.5rem}
.socials-row button{font-size:.875rem;color:var(--muted-fg);background:none;border:none;cursor:pointer;padding:0}
.socials-row button:hover{color:var(--accent)}
.contact-form{border:1px solid var(--border);background:var(--card);padding:2rem}
.field-grid{display:grid;gap:1.25rem}
@media(min-width:640px){.field-grid.two{grid-template-columns:1fr 1fr}}
.field label{display:block;margin-bottom:.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}
.field input,.field textarea{width:100%;border:1px solid var(--border);background:var(--bg);padding:.75rem 1rem;font-size:.875rem;color:var(--fg);font-family:var(--body);outline:none}
.field input:focus,.field textarea:focus{border-color:var(--accent)}
.field textarea{resize:none}
.form-stack{display:flex;flex-direction:column;gap:1.25rem}
.captcha-row{display:flex;align-items:center;gap:.75rem}
.captcha-q{border:1px solid var(--border);background:var(--secondary);padding:.75rem 1rem;font-family:ui-monospace,monospace;font-size:.875rem;font-weight:600}
.captcha-row input{width:6rem;border:1px solid var(--border);background:var(--bg);padding:.75rem 1rem;font-size:.875rem;outline:none}
.captcha-row input:focus{border-color:var(--accent)}
.captcha-refresh{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted-fg);background:none;border:none;cursor:pointer}
.captcha-refresh:hover{color:var(--accent)}
.form-msg{font-size:.875rem}
.form-msg.error{color:var(--destructive)}
.form-msg.success{color:var(--accent)}
.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--primary);color:var(--primary-fg);padding:1rem 1.75rem;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:background .2s}
.submit-btn:hover{background:var(--accent)}
@media(min-width:640px){.submit-btn{width:auto}}

/* Social modal */
.modal-overlay{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.5);padding:1rem}
.modal-overlay.open{display:flex}
.modal{max-width:28rem;width:100%;background:var(--card);overflow:hidden}
.modal-head{display:flex;align-items:center;gap:1rem;color:#fff;padding:2rem}
.modal-head.ig{background:linear-gradient(135deg,#d946ef,#fbbf24)}
.modal-head.li{background:linear-gradient(135deg,#0369a1,#38bdf8)}
.modal-head.fb{background:linear-gradient(135deg,#1d4ed8,#6366f1)}
.modal-head .ic{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:9999px;background:rgba(255,255,255,.2)}
.modal-head .name{font-size:1.125rem;font-weight:600}
.modal-head .handle{font-size:.875rem;color:rgba(255,255,255,.85)}
.modal-body{padding:1.5rem}
.modal-body .bio{font-size:.875rem;color:var(--muted-fg)}
.modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.25rem}
.modal-stat{border:1px solid var(--border);padding:.75rem;text-align:center}
.modal-stat .v{font-family:var(--heading);font-size:1.125rem;font-weight:700}
.modal-stat .l{font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}
.modal-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--primary);color:var(--primary-fg);padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;margin-top:1.25rem}
.modal-cta:hover{background:var(--accent)}

/* Footer */
footer{border-top:1px solid var(--border);background:rgba(236,230,219,.4)}
.footer-grid{display:grid;gap:3rem;max-width:80rem;margin:0 auto;padding:4rem 1.5rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr);padding:4rem 2.5rem}}
.footer-brand{grid-column:span 1}
@media(min-width:768px){.footer-brand{grid-column:span 2}}
.footer-brand .name{font-family:var(--heading);font-size:1.875rem;font-weight:700}
.footer-brand .legal{margin-top:.25rem;font-size:.875rem;color:var(--muted-fg)}
.footer-brand p.desc{margin-top:1rem;max-width:28rem;font-size:.875rem;color:var(--muted-fg)}
.footer-socials{margin-top:1rem;display:flex;gap:1.25rem}
.footer-socials a{font-size:.875rem;color:var(--muted-fg)}
.footer-socials a:hover{color:var(--accent)}
.footer-col h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted-fg);margin-bottom:1rem}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.75rem}
.footer-col a{font-size:.875rem;color:rgba(29,29,31,.8)}
.footer-col a:hover{color:var(--accent)}
.footer-contact li{display:flex;gap:.5rem;font-size:.875rem;color:rgba(29,29,31,.8)}
.footer-contact svg{flex-shrink:0;margin-top:2px;color:var(--accent)}
.footer-bottom{border-top:1px solid var(--border)}
.footer-bottom-inner{display:flex;flex-direction:column;justify-content:space-between;gap:.5rem;max-width:80rem;margin:0 auto;padding:1.5rem;font-size:.75rem;color:var(--muted-fg)}
@media(min-width:640px){.footer-bottom-inner{flex-direction:row;padding:1.5rem 2.5rem}}