:root{
    --ha-black:#111111;
    --ha-gold:#d7a84c;
    --ha-gold-soft:#f5e5c4;
    --ha-paper:#f7f4ef;
    --ha-border:#e8dfd3;
    --ha-text:#24211e;
    --ha-muted:#77716b
}
html{scroll-behavior:smooth}
body{color:var(--ha-text);background:#fff}
.has-sticky-header .site-header{position:sticky;top:0;z-index:120;box-shadow:0 3px 18px rgba(0,0,0,.08)}
.site-header{background:#fff}
.logo-with-image{display:flex;align-items:center;gap:14px}
.logo-with-image img{
    width:70px;
    height:70px;
    object-fit:contain;
    border-radius:50%;
    background:#fff
}
.logo-with-image>span{display:flex;flex-direction:column}
.logo-with-image small{font-size:10px;letter-spacing:2px}
.logo-with-image strong{font-size:23px;line-height:1.05}
.logo-with-image em{font-size:10px;font-style:normal;letter-spacing:1.5px;margin-top:5px}
.main-header{min-height:102px}
.nav-inner a{position:relative}
.nav-inner a::after{
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    bottom:7px;
    height:2px;
    background:var(--ha-gold);
    transform:scaleX(0);
    transition:.2s
}
.nav-inner a:hover::after,.nav-inner a.active::after{transform:scaleX(1)}
.section{padding:72px 0}
.section.soft{background:linear-gradient(180deg,#faf7f1,#f2eadf)}
.section h2{font-size:clamp(30px,4vw,48px);line-height:1.12;margin:10px 0 26px}
.section-kicker{color:#b07e27!important;letter-spacing:2px;font-size:11px;font-weight:900}
.two-col{gap:55px}
.feature-box{
    border-radius:18px!important;
    background:linear-gradient(145deg,#161616,#26221d)!important;
    box-shadow:0 18px 45px rgba(0,0,0,.14)
}
.feature-box span{border-color:rgba(255,255,255,.15)!important}
.card-grid.four{gap:18px}
.service-card{
    min-height:240px;
    border:1px solid var(--ha-border)!important;
    border-radius:16px!important;
    box-shadow:0 10px 26px rgba(60,40,20,.05);
    transition:transform .2s,box-shadow .2s
}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(60,40,20,.1)}
.gallery-grid{gap:18px}
.dynamic-gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:16px;
    background:#161616
}
.dynamic-gallery-item img,.dynamic-gallery-item .image-placeholder{transition:transform .3s}
.dynamic-gallery-item:hover img,.dynamic-gallery-item:hover .image-placeholder{transform:scale(1.035)}
.dynamic-gallery-item>span{
    position:absolute;
    left:14px;
    right:14px;
    bottom:14px;
    margin:0!important;
    padding:9px 12px;
    border-radius:9px;
    color:#fff;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(8px)
}
.dark-section{
    background:
        radial-gradient(circle at 80% 20%,rgba(215,168,76,.12),transparent 28%),
        #0f0f0f!important
}
.cta-row{padding:18px 0}
.cta-row h2{color:#fff;margin-bottom:12px}
.cta-row p:not(.section-kicker){color:#bbb}
.site-footer{margin-top:0}
.footer-grid-v220{padding:50px 0 38px!important}
.footer-logo-image img{
    width:58px;
    height:58px;
    object-fit:contain;
    border-radius:50%;
    background:#fff
}
.footer-brand-column p{max-width:340px}
.copyright-v220{border-top:1px solid rgba(255,255,255,.08)}
.support-main-button{transition:transform .2s}
.support-main-button:hover{transform:translateY(-3px)}

@media(max-width:900px){
    .main-header{min-height:84px}
    .logo-with-image img{width:58px;height:58px}
    .logo-with-image strong{font-size:19px}
    .section{padding:58px 0}
    .card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:700px){
    body.has-sticky-header{padding-top:0}
    .topbar{display:none}
    .site-header{position:sticky;top:0}
    .main-header{min-height:76px;padding:8px 14px}
    .logo-with-image{gap:9px}
    .logo-with-image img{width:52px;height:52px}
    .logo-with-image small{font-size:8px}
    .logo-with-image strong{font-size:16px}
    .logo-with-image em{font-size:7px}
    .menu-toggle{
        display:grid!important;
        place-items:center;
        width:43px;
        height:43px;
        border:1px solid #ddd;
        border-radius:10px;
        background:#fff;
        font-size:21px
    }
    .main-nav{
        max-height:0;
        overflow:hidden;
        transition:max-height .25s ease
    }
    .main-nav.open{max-height:560px;border-top:1px solid #eee}
    .nav-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));padding:9px!important}
    .nav-inner a{
        display:flex!important;
        align-items:center;
        justify-content:center;
        min-height:44px;
        border-radius:8px;
        text-align:center
    }
    .nav-inner a::after{display:none}
    .nav-inner a.active{background:#111;color:#fff}
    .section{padding:46px 0}
    .section h2{font-size:29px}
    .two-col{gap:25px}
    .card-grid.four{grid-template-columns:1fr!important}
    .service-card{min-height:auto}
    .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
    .dynamic-gallery-item img,.dynamic-gallery-item .image-placeholder{height:210px!important}
    .dynamic-gallery-item>span{font-size:11px;left:8px;right:8px;bottom:8px}
    .cta-row{align-items:flex-start!important;flex-direction:column}
    .cta-row .btn{width:100%;text-align:center}
    .footer-grid-v220{grid-template-columns:1fr!important;padding:38px 18px!important}
    .copyright-v220{padding:16px 18px!important}
}
