@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#090708;--bg2:#100b0d;--panel:#151012;--panel2:#1b1316;--red:#b70f2b;--red2:#e02b4b;--soft:#f8eef0;--muted:#b8aaae;--gold:#d7ae68;--line:rgba(255,255,255,.09);--max:1240px;--shadow:0 25px 70px rgba(0,0,0,.35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--soft);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:100%;max-width:none;margin:0;padding-left:2.5vw;padding-right:2.5vw}.topbar{background:#050405;border-bottom:1px solid var(--line)}.topbar-in{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:12px;letter-spacing:.8px}.top-left{color:#9e8d92}.top-right{display:flex;gap:30px;font-weight:700}.top-right a:first-child{color:#fff}.top-right a:hover{color:#ff5a78}.header{position:sticky;top:0;z-index:50;background:rgba(9,7,8,.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:94px;display:flex;align-items:center;justify-content:space-between}.brand img{width:180px;height:78px;object-fit:contain;background:transparent}.nav nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}.nav nav a{color:#dfd3d6}.nav nav a:hover{color:#fff}.nav-cta{padding:14px 24px;border:1px solid var(--red2);background:linear-gradient(135deg,#8f0c25,#c91b3c);box-shadow:0 12px 30px rgba(183,15,43,.25);border-radius:4px;color:#fff!important}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}.hero{height:min(760px,78vh);min-height:650px;position:relative;overflow:hidden;background:#090708}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1s ease}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,2,3,.84) 0%,rgba(4,2,3,.48) 46%,rgba(4,2,3,.18) 100%),linear-gradient(0deg,rgba(4,2,3,.5),transparent 55%)}.hero-content{position:absolute;z-index:2;left:7%;top:50%;transform:translateY(-45%);width:min(670px,82%)}.eyebrow{font-size:11px;letter-spacing:4px;color:#ed5470;font-weight:800;text-transform:uppercase}.hero h1,.page-title h1{font-family:'Playfair Display',serif;font-size:clamp(48px,6vw,82px);line-height:1.02;font-weight:600;margin:18px 0}.hero h1 em,.page-title h1 em{color:#f0c5cd;font-style:normal}.hero p{color:#d4c5c9;font-size:18px;line-height:1.75;max-width:570px;margin:0 0 30px}.button{display:inline-flex;align-items:center;gap:10px;padding:14px 23px;background:var(--red);border:1px solid var(--red2);font-weight:800;border-radius:3px}.button:hover{background:var(--red2)}.hero-dots{position:absolute;z-index:4;bottom:30px;left:7%;display:flex;gap:9px}.hero-dots button{width:34px;height:3px;padding:0;border:0;background:rgba(255,255,255,.35)}.hero-dots button.active{background:#fff}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.eyebrow+.section-title{}.section h2{font-family:'Playfair Display',serif;font-size:clamp(38px,4vw,58px);line-height:1.08;margin:12px 0 0;font-weight:600}.section-sub{color:var(--muted);line-height:1.8;max-width:650px}.about-home{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.about-copy p{font-size:16px;color:var(--muted);line-height:1.9;max-width:620px}.about-image{position:relative}.about-image:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid rgba(224,43,75,.28);z-index:0}.about-image img{position:relative;z-index:1;width:100%;height:560px;object-fit:cover}.text-link{display:inline-block;margin-top:18px;color:#f1b3bf;font-weight:800;border-bottom:1px solid rgba(241,179,191,.35);padding-bottom:6px}.services-section{background:linear-gradient(180deg,#0d090b,#120b0e)}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{background:var(--panel);border:1px solid var(--line);overflow:hidden;transition:.35s;box-shadow:0 12px 35px rgba(0,0,0,.16)}.service-card:hover{transform:translateY(-7px);border-color:rgba(224,43,75,.55);box-shadow:var(--shadow)}.service-img{height:360px;overflow:hidden;background:#1a1013}.service-img img{width:100%;height:100%;object-fit:cover;transition:.5s}.service-card:hover .service-img img{transform:scale(1.04)}.service-body{padding:22px}.service-no{color:var(--red2);font-size:11px;letter-spacing:3px;font-weight:800}.service-body h3{font-family:'Playfair Display',serif;font-size:24px;line-height:1.2;margin:10px 0 18px}.service-body p{margin:0;color:#d8c7cc;font-size:13px;font-weight:700}.service-body p span{color:#ee7187}.contact-section{background:#120a0d}.contact-card{display:grid;grid-template-columns:.85fr 1.15fr;background:linear-gradient(135deg,#1a0e12,#10090b);border:1px solid var(--line);box-shadow:var(--shadow)}.contact-copy{padding:60px}.contact-copy p{color:var(--muted);line-height:1.85}.form{padding:45px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:1fr 1fr;gap:13px}.form input,.form textarea,.newsletter input{width:100%;background:#080607;border:1px solid var(--line);padding:15px;color:#fff;font:inherit;border-radius:3px}.form textarea{grid-column:1/-1;resize:vertical}.form button,.newsletter button{border:0;background:var(--red);color:#fff;font-weight:800;padding:15px 20px;cursor:pointer;border-radius:3px}.form button{grid-column:1/-1}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:35px}details{background:var(--panel);border:1px solid var(--line);padding:22px 24px}summary{cursor:pointer;font-weight:800}details p{color:var(--muted);line-height:1.7;margin:14px 0 0}.page-title{min-height:430px;display:flex;align-items:end;padding:80px 0;background-position:center;background-size:cover;position:relative}.page-title:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,2,3,.88),rgba(5,2,3,.45),rgba(5,2,3,.25))}.page-title .wrap{position:relative;z-index:1}.page-title p{color:#d3c5c8;max-width:650px;line-height:1.8}.inner-split{display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:start}.inner-image img{width:100%;height:650px;object-fit:cover}.copy p{color:var(--muted);line-height:1.9;font-size:15px}.copy h2{font-family:'Playfair Display',serif;font-size:45px;margin:10px 0 25px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:20px}.principle{background:var(--panel);border:1px solid var(--line);padding:35px}.principle h3{font-family:'Playfair Display',serif;font-size:30px;margin:10px 0}.principle p{color:var(--muted);line-height:1.8}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.blog-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.blog-card img{width:100%;height:300px;object-fit:cover}.blog-card .pad{padding:25px}.blog-card h3{font-family:'Playfair Display',serif;font-size:26px;margin:8px 0 13px}.blog-card p{color:var(--muted);line-height:1.75;font-size:14px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.info-list{margin-top:30px}.info-item{padding:20px 0;border-bottom:1px solid var(--line)}.info-item small{display:block;color:#e15a72;letter-spacing:3px;font-weight:800;margin-bottom:6px}.info-item a{color:#f0d5db;font-weight:800}.footer{background:#050405;border-top:1px solid rgba(224,43,75,.2)}.footer-top{padding:75px 0 65px;background:radial-gradient(circle at 12% 0%,rgba(183,15,43,.16),transparent 32%),#080607}.footer-grid{display:grid;grid-template-columns:1.35fr .75fr 1.35fr 1fr;gap:55px}.footer-brand img{width:175px;height:78px;object-fit:contain;background:transparent;margin-bottom:18px}.footer-brand p,.footer-note{color:#9f9095;line-height:1.75;font-size:13px;max-width:340px}.footer h4{font-size:12px;letter-spacing:3px;text-transform:uppercase;margin:3px 0 22px;color:#f0c4cc}.footer-col>a{display:block;color:#cdbfc3;font-size:13px;margin:10px 0}.footer-col>a:hover{color:#fff}.services-col{columns:1}.footer-wa{display:flex;gap:13px;align-items:center;margin-top:25px;padding:15px;background:#0e0a0c;border:1px solid var(--line);width:max-content;max-width:100%}.wa-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#20a865;color:#fff;font-size:23px}.footer-wa b{display:block;font-size:13px}.footer-wa small{color:#9f9095}.newsletter{display:flex;gap:8px;margin:18px 0 30px}.newsletter input{min-width:0}.newsletter button{white-space:nowrap}.contact-title{margin-top:28px!important}.footer-contact p{color:#9f9095;font-size:13px;line-height:1.5;margin:12px 0}.footer-contact p strong{display:block;color:#e8dadd;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.footer-contact p a,.footer-contact p span{display:block;color:#cfc0c5;margin-top:3px}.footer-bottom{border-top:1px solid var(--line);padding:22px 0;color:#77686d;font-size:11px;letter-spacing:.3px}.footer-bottom .wrap{display:flex;justify-content:space-between;gap:20px}.floating-wa{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;background:#20a865;color:#fff;display:grid;place-items:center;font-size:31px;z-index:40;box-shadow:0 12px 35px rgba(0,0,0,.45);border:3px solid rgba(255,255,255,.16)}
@media(max-width:1050px){.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.about-home,.inner-split,.contact-layout,.contact-card{grid-template-columns:1fr}.about-image img,.inner-image img{height:560px}.nav nav{gap:18px}.top-left{display:none}}
@media(max-width:680px){.topbar-in{justify-content:center}.top-right{gap:12px;font-size:10px}.nav{height:78px}.brand img{width:150px;height:64px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;top:78px;left:0;right:0;background:#0b0708;border-bottom:1px solid var(--line);padding:18px 4%;flex-direction:column;align-items:stretch;gap:4px}.nav nav.open{display:flex}.nav nav a{padding:12px}.nav-cta{text-align:center}.hero{min-height:620px;height:78vh}.hero-content{top:52%;left:7%;width:86%}.hero h1{font-size:45px}.hero p{font-size:15px}.section{padding:70px 0}.section-head{display:block}.section-head .text-link{margin-top:15px}.services-grid,.faq-grid,.footer-grid,.principles,.blog-grid{grid-template-columns:1fr}.service-img{height:410px}.contact-copy{padding:40px 28px}.form{padding:28px;grid-template-columns:1fr}.form textarea,.form button{grid-column:auto}.page-title{min-height:350px;padding-bottom:60px}.page-title h1{font-size:45px}.inner-image img{height:500px}.footer-top{padding:55px 0}.footer-bottom .wrap{display:block;line-height:1.9}.footer-bottom span{display:block}.floating-wa{right:16px;bottom:16px;width:52px;height:52px}.newsletter{display:grid;grid-template-columns:1fr}.newsletter button{width:100%}}
.service-nav{display:flex;justify-content:space-between;gap:20px;padding:0 0 75px;color:#cdbfc3;font-weight:800}.service-nav a:hover{color:#fff}

/* Full-width services presentation */
.services-section .wrap{width:100%;max-width:none;padding-left:2.5vw;padding-right:2.5vw}
.services-section .services-grid{width:100%}
@media(max-width:680px){.wrap{padding-left:4vw;padding-right:4vw}.services-section .wrap{padding-left:4vw;padding-right:4vw}}

/* FINAL VIEWPORT-FIT PATCH — keeps every main section fluid on wide screens. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.wrap{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.topbar-in,.nav{width:100%!important;max-width:100%!important}
.section>.wrap,.page-title>.wrap,.footer .wrap{width:100%!important;max-width:100%!important}
/* Cards/blocks should use the complete available row; only the text receives a comfortable gutter. */
.contact-section>.wrap,.services-section>.wrap{padding-left:clamp(24px,3.5vw,64px);padding-right:clamp(24px,3.5vw,64px)}
.contact-card{width:100%!important}
.footer-grid{width:100%!important}
.brand img{width:230px;height:88px;object-fit:contain;background:transparent}
.footer-brand img{width:220px;height:auto;max-height:105px;object-fit:contain;background:transparent}
@media(max-width:680px){
  .brand img{width:180px;height:72px}
  .footer-brand img{width:190px;max-height:90px}
}
