:root{
 --cream:#f6f4ee;--paper:#fbfaf6;--navy:#16324f;--blue:#2e628b;--blue2:#6f9bb5;
 --ink:#203246;--muted:#6d7880;--line:#e5e3db;--soft:#eaf1ef;--white:#fff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
h1,h2,h3,h4{font-family:"Playfair Display",serif;color:var(--navy);line-height:1.05}
a{text-decoration:none;color:inherit}
.site-header{background:rgba(251,250,246,.95);border-bottom:1px solid rgba(229,227,219,.7);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--navy)}
.brand strong{display:block;font-family:"Playfair Display",serif;font-size:20px;line-height:1}
.brand small{display:block;color:var(--blue);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--soft);color:var(--blue);font-family:"Playfair Display",serif;font-weight:700}
.nav-link{color:#52606a!important;font-size:14px}.nav-link:hover{color:var(--blue)!important}
.btn-primary{background:var(--navy);border-color:var(--navy)}.btn-primary:hover{background:#0f2941;border-color:#0f2941}
.hero{padding:88px 0 72px;background:linear-gradient(135deg,var(--paper),#edf3f1)}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--blue);font-weight:700}
.display-title{font-size:clamp(44px,6vw,76px);max-width:780px}
.hero-copy{font-size:18px;color:var(--muted);max-width:700px;line-height:1.7}
.hero-card{min-height:470px;border-radius:28px;background:linear-gradient(145deg,#dce8e4,#b9ced1);position:relative;overflow:hidden}
.hero-card:before{content:"";position:absolute;inset:15% 8% -10%;background:radial-gradient(circle at 55% 35%,#fff9 0 12%,transparent 13%),linear-gradient(135deg,#e9ece4,#8fb1bd);border-radius:45% 45% 0 0;opacity:.9}
.hero-badge{position:absolute;left:24px;bottom:24px;background:#fffffff0;padding:14px 18px;border-radius:18px;box-shadow:0 12px 35px #20324622;font-size:13px}
.section{padding:92px 0}.section-soft{background:var(--cream)}
.section-title{font-size:clamp(35px,4vw,52px)}
.card-soft{height:100%;background:var(--white);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 10px 35px #20324608}
.icon-circle{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--blue);margin-bottom:22px}
.service-card{transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px #20324612}
.service-card h3{font-size:24px}
.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:11px 0;border-bottom:1px solid var(--line);color:#596873}.check-list li:before{content:"✓";color:var(--blue);font-weight:700;margin-right:10px}
.quote{max-width:760px;margin:auto;text-align:center;font-family:"Playfair Display",serif;font-size:27px;color:var(--navy)}
.cta{background:linear-gradient(135deg,#244f74,#5e8ba1);color:#fff;border-radius:30px;padding:55px}.cta h2{color:#fff}.cta p{color:#e9f1f3}
.photo-placeholder{min-height:330px;border-radius:24px;background:linear-gradient(145deg,#dbe8e3,#9db9c1);position:relative;overflow:hidden}
.photo-placeholder:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:#ffffff35;right:-40px;top:-40px}
.blog-card{overflow:hidden;padding:0}.blog-cover{height:220px;background:linear-gradient(135deg,#dbe8e3,#90aebc);display:grid;place-items:center;color:var(--navy);font-size:42px}
.blog-card .p-4{padding:26px!important}
.site-footer{border-top:1px solid var(--line);background:var(--paper)}.site-footer h6{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--navy)}.site-footer a{display:block;color:var(--muted);margin:8px 0;font-size:14px}.admin-link{display:inline!important}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:50;background:#1fc568;color:#fff;padding:14px 20px;border-radius:999px;box-shadow:0 12px 35px #1b7d4a55;font-weight:700;font-size:14px}
.post-content{font-size:18px;line-height:1.85;color:#53616b}.post-content h2,.post-content h3{margin-top:35px}
.form-control,.form-select{border-radius:14px;border-color:var(--line);padding:12px 14px}
@media(max-width:991px){.hero{padding-top:55px}.hero-card{min-height:320px}.section{padding:65px 0}.whatsapp-float{right:12px;bottom:12px}}

/* Visual refresh */
.site-header{background:#fff}
.logo-img{height:62px;width:auto;display:block}
.hero{padding:54px 0 36px;background:#fff;overflow:hidden}
.hero .display-title{font-size:clamp(44px,5.4vw,72px);letter-spacing:-.035em}
.hero-visual{border-radius:30px;overflow:hidden;box-shadow:0 24px 70px rgba(22,50,79,.12);background:#dfeae7}
.hero-visual img{width:100%;height:100%;display:block;object-fit:cover}
.hero-points{border-top:1px solid var(--line);margin-top:40px;padding-top:20px}
.hero-point{display:flex;gap:10px;align-items:flex-start;color:#5e6d76;font-size:13px}
.hero-point i{color:#087e83;font-size:18px}
.section-white{background:#fff}
.section-soft{background:linear-gradient(180deg,#f7f7f2 0%,#eef4f2 100%)}
.service-card{border-radius:18px;padding:26px 22px;min-height:245px}
.service-card .icon-circle{background:#e8f3f1;color:#0a6876}
.about-image{border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(22,50,79,.10)}
.about-image img{display:block;width:100%;height:100%;object-fit:cover}
.tech-banner{background:linear-gradient(110deg,#104662,#4f8799);color:#fff;overflow:hidden}
.tech-banner h2,.tech-banner p{color:#fff}
.tech-banner .device{max-height:380px;width:100%;object-fit:cover;border-radius:24px}
.result-box{border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px;text-align:center;height:100%}
.gallery-img{width:100%;height:260px;object-fit:cover;border-radius:18px;border:1px solid var(--line)}
.contact-band{background:#e5f2f1;border-radius:18px;padding:34px}
.contact-item{display:flex;gap:12px;align-items:center}
.contact-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#087e83;font-size:20px}
.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:100;background:#16c76b;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:29px;box-shadow:0 12px 35px rgba(14,113,68,.35);transition:.2s}
.floating-whatsapp:hover{transform:translateY(-3px);color:#fff}
.whatsapp-label{position:fixed;right:90px;bottom:28px;z-index:99;background:#fff;border:1px solid var(--line);padding:9px 14px;border-radius:999px;font-size:12px;font-weight:700;color:var(--navy);box-shadow:0 8px 25px rgba(22,50,79,.10)}
@media(max-width:767px){.logo-img{height:50px}.hero{padding-top:35px}.hero-points{gap:18px!important}.whatsapp-label{display:none}.floating-whatsapp{right:15px;bottom:15px}.gallery-img{height:210px}}

/* Services: exactly 3 columns on desktop, 2 on tablet, 1 on mobile */
.service-card{height:100%;min-height:250px}
.map-section{background:#f7f8f5;padding:78px 0}
.map-frame{border-radius:24px;overflow:hidden;background:#e9efed;box-shadow:0 18px 50px rgba(22,50,79,.10);border:1px solid var(--line)}
.map-frame iframe{display:block}
@media(max-width:991px){.map-section{padding:58px 0}}

/* AI photography */
.ai-photo{overflow:hidden}
.ai-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-visual.ai-photo{min-height:440px}
.hero-visual.ai-photo img{min-height:440px}
.service-photo-card{overflow:hidden;padding:0}
.service-photo{height:180px;overflow:hidden}
.service-photo img{width:100%;height:100%;object-fit:cover;display:block}
.service-content{padding:22px}
.service-content .icon-circle{margin-bottom:18px}
.blog-home-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;height:100%;box-shadow:0 10px 30px rgba(22,50,79,.06)}
.blog-home-card img{display:block;width:100%;height:180px;object-fit:cover}
.blog-home-card h3{line-height:1.35}
@media(max-width:991px){
    .hero-visual.ai-photo,.hero-visual.ai-photo img{min-height:350px}
}
@media(max-width:575px){
    .service-photo{height:150px}
    .blog-home-card img{height:160px}
}

/* FAQ */
.faq-accordion .accordion-item{
    border:1px solid var(--line);
    border-radius:14px !important;
    overflow:hidden;
    margin-bottom:12px;
    background:#fff;
}
.faq-accordion .accordion-button{
    font-family:"DM Sans",sans-serif;
    font-weight:700;
    color:var(--navy);
    background:#fff;
    box-shadow:none;
    padding:20px 22px;
}
.faq-accordion .accordion-button:not(.collapsed){
    color:var(--blue);
    background:#f5f9f7;
}
.faq-accordion .accordion-button:focus{
    box-shadow:none;
}
.faq-accordion .accordion-body{
    color:#65727b;
    line-height:1.8;
    padding:0 22px 22px;
}
