:root{
    --sage:#6f784c;
    --sage-dark:#59633e;
    --khaki:#b58d3d;
    --text:#364030;
    --panel:rgba(246,242,233,.72);
    --panel-strong:rgba(248,244,235,.84);
    --white:rgba(255,255,255,.92);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
    font-family:'Montserrat', Arial, sans-serif;
    color:var(--text);
    min-height:100vh;
    background:#ede9df;
}

.page-bg{
    position:fixed;
    inset:0;
    z-index:-2;
    background-image:url("assets/background.jpg");
    background-size:cover;
    background-position:center;
    filter:blur(3px) saturate(.88) brightness(1.04);
    transform:scale(1.035);
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:rgba(240,236,221,.58);
}

.site-wrapper{
    width:min(1440px,96%);
    margin:auto;
    padding:8px 0 20px;
}

.glass{
    background:var(--panel);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-radius:16px;
    border:1px solid rgba(255,255,255,.76);
    box-shadow:0 10px 30px rgba(45,52,38,.12);
}

.topbar{
    min-height:76px;
    padding:12px 26px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;
}

.contact-links{
    display:flex;
    gap:22px;
    flex-wrap:wrap;
    align-items:center;
}

.top-link,
.top-icon-only{
    color:var(--text);
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.top-icon-only{
    justify-content:center;
    width:34px;
    height:34px;
}

.svg-icon,
.round-icon,
.footer-icon,
.map-pin{
    display:inline-block;
    background-color:var(--sage-dark);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.svg-icon{width:26px;height:26px;flex:0 0 26px;}
.svg-icon.white{background:#fff;}
.svg-icon.phone{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.6 3.1 3.5 5 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.7.7 4.1.7.7 0 1.3.6 1.3 1.3v3.5c0 .7-.6 1.3-1.3 1.3C10.4 21.8 2.2 13.6 2.2 3.3 2.2 2.6 2.8 2 3.5 2H7c.7 0 1.3.6 1.3 1.3 0 1.4.2 2.8.7 4.1.1.4 0 .9-.3 1.2l-2.1 2.2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.6 3.1 3.5 5 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.7.7 4.1.7.7 0 1.3.6 1.3 1.3v3.5c0 .7-.6 1.3-1.3 1.3C10.4 21.8 2.2 13.6 2.2 3.3 2.2 2.6 2.8 2 3.5 2H7c.7 0 1.3.6 1.3 1.3 0 1.4.2 2.8.7 4.1.1.4 0 .9-.3 1.2l-2.1 2.2z'/%3E%3C/svg%3E");}
.svg-icon.whatsapp{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3C8.8 3 3 8.8 3 16c0 2.4.7 4.7 1.9 6.7L3.5 29l6.5-1.4c1.8 1 3.9 1.5 6 1.5 7.2 0 13-5.8 13-13S23.2 3 16 3zm0 23.5c-1.9 0-3.7-.5-5.2-1.5l-.4-.2-3.8.8.8-3.7-.2-.4c-1.1-1.6-1.6-3.5-1.6-5.5C5.6 10.3 10.3 5.6 16 5.6S26.4 10.3 26.4 16 21.7 26.5 16 26.5zm5.6-7.8c-.3-.2-1.9-.9-2.2-1-.3-.1-.5-.2-.7.2-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.2-1.3-.5-2.5-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6.1-.1.3-.3.4-.5.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5-.1-.2-.7-1.7-1-2.3-.3-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.2.2 2.2 3.4 5.3 4.7.7.3 1.3.5 1.8.6.7.2 1.4.2 1.9.1.6-.1 1.9-.8 2.1-1.5.3-.7.3-1.4.2-1.5-.1-.1-.3-.2-.6-.4z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3C8.8 3 3 8.8 3 16c0 2.4.7 4.7 1.9 6.7L3.5 29l6.5-1.4c1.8 1 3.9 1.5 6 1.5 7.2 0 13-5.8 13-13S23.2 3 16 3zm0 23.5c-1.9 0-3.7-.5-5.2-1.5l-.4-.2-3.8.8.8-3.7-.2-.4c-1.1-1.6-1.6-3.5-1.6-5.5C5.6 10.3 10.3 5.6 16 5.6S26.4 10.3 26.4 16 21.7 26.5 16 26.5zm5.6-7.8c-.3-.2-1.9-.9-2.2-1-.3-.1-.5-.2-.7.2-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.2-1.3-.5-2.5-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6.1-.1.3-.3.4-.5.1-.2.2-.3.3-.5.1-.2 0-.4 0-.5-.1-.2-.7-1.7-1-2.3-.3-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.2.2 2.2 3.4 5.3 4.7.7.3 1.3.5 1.8.6.7.2 1.4.2 1.9.1.6-.1 1.9-.8 2.1-1.5.3-.7.3-1.4.2-1.5-.1-.1-.3-.2-.6-.4z'/%3E%3C/svg%3E");}
.svg-icon.instagram{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M9 3h12c3.3 0 6 2.7 6 6v12c0 3.3-2.7 6-6 6H9c-3.3 0-6-2.7-6-6V9c0-3.3 2.7-6 6-6zm0 3c-1.7 0-3 1.3-3 3v12c0 1.7 1.3 3 3 3h12c1.7 0 3-1.3 3-3V9c0-1.7-1.3-3-3-3H9zm6 4.5A4.5 4.5 0 1 1 15 19.5a4.5 4.5 0 0 1 0-9zm0 3A1.5 1.5 0 1 0 15 16.5a1.5 1.5 0 0 0 0-3zM21.5 8.2a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M9 3h12c3.3 0 6 2.7 6 6v12c0 3.3-2.7 6-6 6H9c-3.3 0-6-2.7-6-6V9c0-3.3 2.7-6 6-6zm0 3c-1.7 0-3 1.3-3 3v12c0 1.7 1.3 3 3 3h12c1.7 0 3-1.3 3-3V9c0-1.7-1.3-3-3-3H9zm6 4.5A4.5 4.5 0 1 1 15 19.5a4.5 4.5 0 0 1 0-9zm0 3A1.5 1.5 0 1 0 15 16.5a1.5 1.5 0 0 0 0-3zM21.5 8.2a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2z'/%3E%3C/svg%3E");}
.svg-icon.facebook{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-3 0-5 2-5 5v3H6v4h3v8h4v-8h3.2l.8-4H13V9c0-.6.4-1 1-1z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-3 0-5 2-5 5v3H6v4h3v8h4v-8h3.2l.8-4H13V9c0-.6.4-1 1-1z'/%3E%3C/svg%3E");}

.logo{
    max-height:66px;
    width:auto;
    display:block;
    border-radius:14px;
}

.hero{
    margin-top:12px;
    display:grid;
    grid-template-columns:56% 44%;
    overflow:hidden;
    min-height:335px;
}

.hero-left{
    padding:40px 42px 36px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
}

.hero-subtitle{
    letter-spacing:6px;
    margin-bottom:22px;
    font-size:17px;
    font-weight:500;
    text-transform:uppercase;
}

.hero h1{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(36px, 5.0vw, 82px);
    line-height:.95;
    font-weight:600;
    letter-spacing:.04em;
    color:var(--text);
    white-space:normal;
    max-width:100%;
    text-wrap:balance;
}

.ornament{
    display:flex;
    align-items:center;
    gap:14px;
    margin:18px 0 8px;
    color:var(--khaki);
}

.ornament span{
    display:block;
    width:86px;
    height:1px;
    background:rgba(181,141,61,.45);
}

.ornament b{
    font-size:31px;
    font-weight:400;
    line-height:1;
}

.motto{
    font-family:'Great Vibes', 'Cormorant Garamond', cursive;
    color:var(--khaki);
    font-size:58px;
    font-weight:400;
    line-height:1;
    letter-spacing:.015em;
    margin-top:4px;
    text-shadow:0 1px 0 rgba(255,255,255,.55);
}

.hero-buttons{
    margin-top:30px;
    display:flex;
    justify-content:center;
    gap:28px;
    flex-wrap:wrap;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:160px;
    padding:13px 27px;
    border-radius:10px;
    text-decoration:none;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.03em;
    font-size:14px;
}

.btn-primary{background:var(--sage);color:white;box-shadow:0 6px 16px rgba(89,99,62,.22);}
.btn-secondary{background:rgba(255,255,255,.70);color:var(--text);border:1px solid rgba(255,255,255,.85);}

.hero-right{min-height:335px;position:relative;}
.hero-right::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18%;background:linear-gradient(90deg,rgba(246,242,233,.75),rgba(246,242,233,0));z-index:1;pointer-events:none;}
.hero-right img{width:100%;height:100%;object-fit:cover;display:block;}

.content-grid{
    margin-top:12px;
    display:grid;
    grid-template-columns:32% 68%;
    gap:14px;
    align-items:stretch;
}

.card{padding:22px 30px;}

.card h2,
.gallery h2{
    text-align:center;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:30px;
    line-height:1;
    letter-spacing:.13em;
    color:var(--text);
    text-transform:uppercase;
}

.about-card{text-align:center;}
.about-card h2,.services-card h2{margin-bottom:8px;}
.mini-ornament{color:var(--khaki);font-size:26px;line-height:1;margin:0 0 10px;}
.card p{line-height:1.55;font-size:15px;}

.services{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    text-align:center;
    align-items:stretch;
    min-height:150px;
}

.service{
    padding:8px 30px 0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    border-right:1px solid rgba(79,90,75,.22);
}
.service:last-child{border-right:none;}

.round-icon{
    width:74px;
    height:74px;
    margin:0 0 16px;
    border-radius:50%;
    border:1px solid rgba(79,90,75,.28);
    background-color:var(--text);
    background-size:34px 34px;
    -webkit-mask-size:34px 34px;
    mask-size:34px 34px;
}
.round-icon::before{content:"";display:block;width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.55);border:1px solid rgba(79,90,75,.28);position:absolute;}
.round-icon{position:relative;background-color:transparent;}
.round-icon::after{content:"";position:absolute;inset:19px;background:var(--text);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;}
.flower-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 36c-7-5-16-3-20 3 7 3 15 2 20-3zm0 0c7-5 16-3 20 3-7 3-15 2-20-3zm0-2c-6-7-5-16 1-22 5 6 5 15-1 22zm0 0c-6-4-13-10-13-18 8 1 13 8 13 18zm0 0c6-4 13-10 13-18-8 1-13 8-13 18zM32 36v20' stroke='black' stroke-width='5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 36c-7-5-16-3-20 3 7 3 15 2 20-3zm0 0c7-5 16-3 20 3-7 3-15 2-20-3zm0-2c-6-7-5-16 1-22 5 6 5 15-1 22zm0 0c-6-4-13-10-13-18 8 1 13 8 13 18zm0 0c6-4 13-10 13-18-8 1-13 8-13 18zM32 36v20' stroke='black' stroke-width='5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
.building-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M14 56h36V12H14v44zm10-34h6v6h-6v-6zm14 0h6v6h-6v-6zM24 34h6v6h-6v-6zm14 0h6v6h-6v-6zM28 56V44h8v12'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M14 56h36V12H14v44zm10-34h6v6h-6v-6zm14 0h6v6h-6v-6zM24 34h6v6h-6v-6zm14 0h6v6h-6v-6zM28 56V44h8v12'/%3E%3C/svg%3E");}
.gift-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M10 24h44v10H10V24zm4 12h36v20H14V36zm16-12v32h4V24h-4zM22 22c-6 0-9-8-3-10 5-2 9 5 11 12-3-1-5-2-8-2zm20 0c6 0 9-8 3-10-5-2-9 5-11 12 3-1 5-2 8-2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M10 24h44v10H10V24zm4 12h36v20H14V36zm16-12v32h4V24h-4zM22 22c-6 0-9-8-3-10 5-2 9 5 11 12-3-1-5-2-8-2zm20 0c6 0 9-8 3-10-5-2-9 5-11 12 3-1 5-2 8-2z'/%3E%3C/svg%3E");}

.service h3{
    margin-bottom:8px;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:20px;
    letter-spacing:.09em;
    text-transform:uppercase;
    font-weight:600;
}
.service p{font-size:14px;line-height:1.45;max-width:250px;}

.gallery{margin-top:12px;padding:14px 42px 20px;text-align:center;}
.section-title-row{display:flex;justify-content:center;align-items:center;gap:16px;color:var(--khaki);margin-bottom:14px;}
.section-title-row h2{margin:0;}.section-title-row span{font-size:24px;}
.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.gallery-item{height:115px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,rgba(125,139,115,.22),rgba(184,155,97,.16)),url("assets/hero.jpg");background-size:cover;background-position:center;}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
.more-photos{display:inline-flex;align-items:center;justify-content:center;margin:-8px auto 0;transform:translateY(18px);padding:10px 42px;background:var(--sage);color:#fff;border-radius:8px;text-decoration:none;text-transform:uppercase;font-size:14px;letter-spacing:.05em;}

.footer{margin-top:12px;padding:14px 20px;display:grid;grid-template-columns:1.4fr 1.25fr 1fr 1.25fr .9fr 1.7fr;gap:14px;align-items:center;line-height:1.45;}
.footer-item{min-height:72px;display:flex;align-items:center;gap:15px;padding-right:12px;border-right:1px solid rgba(79,90,75,.18);}
.footer-icon{flex:0 0 45px;width:45px;height:45px;border-radius:50%;border:2px solid rgba(79,90,75,.65);background:transparent;position:relative;}
.footer-icon::after{content:"";position:absolute;inset:11px;background:var(--text);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;}
.mapmark-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");}
.clock-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10V6h-2v8h7v-2h-5z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10V6h-2v8h7v-2h-5z'/%3E%3C/svg%3E");}
.phone-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.6 3.1 3.5 5 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.7.7 4.1.7.7 0 1.3.6 1.3 1.3v3.5c0 .7-.6 1.3-1.3 1.3C10.4 21.8 2.2 13.6 2.2 3.3 2.2 2.6 2.8 2 3.5 2H7c.7 0 1.3.6 1.3 1.3 0 1.4.2 2.8.7 4.1.1.4 0 .9-.3 1.2l-2.1 2.2z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.6 3.1 3.5 5 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.7.7 4.1.7.7 0 1.3.6 1.3 1.3v3.5c0 .7-.6 1.3-1.3 1.3C10.4 21.8 2.2 13.6 2.2 3.3 2.2 2.6 2.8 2 3.5 2H7c.7 0 1.3.6 1.3 1.3 0 1.4.2 2.8.7 4.1.1.4 0 .9-.3 1.2l-2.1 2.2z'/%3E%3C/svg%3E");}
.mail-icon::after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2V5zm2 2v.5l8 5 8-5V7H4zm16 10V9.8l-8 5-8-5V17h16z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2V5zm2 2v.5l8 5 8-5V7H4zm16 10V9.8l-8 5-8-5V17h16z'/%3E%3C/svg%3E");}
.footer strong,.footer-social strong{display:block;margin-bottom:4px;text-transform:uppercase;font-size:13px;letter-spacing:.03em;}
.footer a{color:var(--text);text-decoration:none;}.footer a:hover{text-decoration:underline;}
.footer-social{min-height:72px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}.social-icons{display:flex;gap:14px;margin-top:4px;}.social-icons a{width:30px;height:30px;}
.map-box{min-height:72px;border-radius:12px;background:linear-gradient(135deg,#dbe5d2,#f2ead9);display:flex;align-items:center;justify-content:space-around;gap:12px;padding:12px;text-decoration:none;color:var(--text);}
.map-pin{width:24px;height:24px;background:#d66b3d;border-radius:50%;mask-image:none;-webkit-mask-image:none;}
.map-box span:last-child{padding:10px 24px;background:var(--sage);color:#fff;border-radius:8px;text-transform:uppercase;font-size:13px;letter-spacing:.04em;}

@media(max-width:1100px){.hero h1{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(36px, 5.0vw, 82px);
    line-height:.95;
    font-weight:600;
    letter-spacing:.04em;
    color:var(--text);
    white-space:normal;
    max-width:100%;
    text-wrap:balance;
}.motto{
    font-family:'Great Vibes', 'Cormorant Garamond', cursive;
    color:var(--khaki);
    font-size:58px;
    font-weight:400;
    line-height:1;
    letter-spacing:.015em;
    margin-top:4px;
    text-shadow:0 1px 0 rgba(255,255,255,.55);
}.footer{grid-template-columns:repeat(2,1fr);}.footer-item{border-right:none;}.map-box{grid-column:span 2;}}
@media(max-width:900px){.topbar{flex-direction:column-reverse;align-items:center;text-align:center;}.contact-links{justify-content:center;gap:10px;}.hero,.content-grid{grid-template-columns:1fr;}.hero{
    margin-top:12px;
    display:grid;
    grid-template-columns:56% 44%;
    overflow:hidden;
    min-height:335px;
}.hero-right{min-height:330px;}.gallery-grid{grid-template-columns:repeat(2,1fr);}.services{grid-template-columns:1fr;gap:20px;}.service{border-right:none;border-bottom:1px solid rgba(79,90,75,.18);padding-bottom:20px;}.service:last-child{border-bottom:none;}.hero-left{
    padding:40px 42px 36px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
}}
@media(max-width:560px){.site-wrapper{width:94%;padding-top:10px;}.top-link{width:100%;justify-content:center;}.hero h1{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(36px, 5.0vw, 82px);
    line-height:.95;
    font-weight:600;
    letter-spacing:.04em;
    color:var(--text);
    white-space:normal;
    max-width:100%;
    text-wrap:balance;
}.motto{
    font-family:'Great Vibes', 'Cormorant Garamond', cursive;
    color:var(--khaki);
    font-size:58px;
    font-weight:400;
    line-height:1;
    letter-spacing:.015em;
    margin-top:4px;
    text-shadow:0 1px 0 rgba(255,255,255,.55);
}.gallery-grid{grid-template-columns:1fr;}.footer{grid-template-columns:1fr;}.map-box{grid-column:span 1;}}


@media(min-width:1200px){
    .hero-left{
    padding:40px 42px 36px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
}
    .hero h1{
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(36px, 5.0vw, 82px);
    line-height:.95;
    font-weight:600;
    letter-spacing:.04em;
    color:var(--text);
    white-space:normal;
    max-width:100%;
    text-wrap:balance;
}
    .motto{
        font-size:62px;
    }
}


/* v9 typography fix: keep the main title visible and closer to the reference */
@media(min-width:1200px){
    .hero h1{
        font-size:82px;
        white-space:nowrap;
    }
    .motto{
        font-size:62px;
    }
}

@media(max-width:1199px){
    .hero h1{
        font-size:clamp(38px, 4.8vw, 64px);
        white-space:normal;
    }
    .motto{
        font-size:clamp(36px, 4.4vw, 54px);
    }
}

@media(max-width:900px){
    .hero h1{
        font-size:46px;
        white-space:normal;
    }
    .hero-left{
        padding-left:26px;
        padding-right:26px;
    }
}

@media(max-width:560px){
    .hero h1{
        font-size:38px;
        letter-spacing:.025em;
    }
    .hero-subtitle{
        font-size:13px;
        letter-spacing:4px;
    }
    .motto{
        font-size:38px;
    }
}


/* v10: final hero correction - no title clipping, softer right photo block */
.hero{
    grid-template-columns:58% 42%;
}

.hero-left{
    padding-left:28px;
    padding-right:28px;
    overflow:visible;
}

.hero h1{
    width:100%;
    max-width:100%;
    font-family:'Cormorant Garamond', Georgia, serif;
    font-size:clamp(40px, 4.15vw, 66px);
    line-height:.98;
    font-weight:600;
    letter-spacing:.032em;
    white-space:nowrap;
    overflow:visible;
    text-align:center;
}

.hero-right{
    background:rgba(246,242,233,.46);
    position:relative;
}

.hero-right img{
    opacity:.76;
    filter:saturate(.88) contrast(.94) brightness(1.05);
}

.hero-right::before{
    width:32%;
    background:linear-gradient(90deg,rgba(246,242,233,.86),rgba(246,242,233,.35),rgba(246,242,233,0));
    z-index:2;
}

.hero-right::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(246,242,233,.14);
    z-index:1;
    pointer-events:none;
}

@media(min-width:1450px){
    .hero h1{
        font-size:78px;
        letter-spacing:.04em;
    }
}

@media(max-width:1180px){
    .hero{
        grid-template-columns:58% 42%;
    }
    .hero-left{
        padding-left:22px;
        padding-right:22px;
    }
    .hero h1{
        font-size:clamp(34px, 4vw, 52px);
        letter-spacing:.025em;
    }
    .motto{
        font-size:clamp(36px, 4vw, 48px);
    }
}

@media(max-width:900px){
    .hero h1{
        white-space:normal;
        font-size:46px;
    }
    .hero-right img{
        opacity:.82;
    }
}

@media(max-width:560px){
    .hero h1{
        font-size:38px;
        letter-spacing:.018em;
    }
}


/* v11: closer to the supplied reference image */
.hero{
    grid-template-columns:57% 43%;
    min-height:300px;
}

.hero-left{
    padding:28px 24px 26px;
    overflow:visible;
}

.hero-subtitle{
    font-size:15px;
    letter-spacing:5.5px;
    margin-bottom:16px;
}

.hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(32px, 4.55vw, 74px);
    line-height:.96;
    letter-spacing:.026em;
    white-space:nowrap;
    overflow:visible;
    text-align:center;
}

.ornament{
    margin:13px 0 5px;
}

.ornament span{
    width:76px;
}

.motto{
    font-size:clamp(34px, 4.45vw, 58px);
    line-height:1;
    margin-top:2px;
}

.hero-buttons{
    margin-top:24px;
    gap:24px;
}

.btn{
    min-width:145px;
    padding:12px 24px;
    font-size:13px;
}

.hero-right{
    min-height:300px;
    background:rgba(246,242,233,.58);
}

.hero-right img{
    opacity:.58;
    filter:saturate(.82) contrast(.9) brightness(1.08);
}

.hero-right::before{
    width:40%;
    background:linear-gradient(90deg,rgba(246,242,233,.92),rgba(246,242,233,.55),rgba(246,242,233,0));
}

.hero-right::after{
    background:rgba(246,242,233,.26);
}

@media(min-width:1200px){
    .hero{
        min-height:320px;
    }
    .hero-right{
        min-height:320px;
    }
    .hero h1{
        font-size:68px;
        letter-spacing:.035em;
    }
    .motto{
        font-size:58px;
    }
}

@media(max-width:980px){
    .hero{
        grid-template-columns:57% 43%;
        min-height:288px;
    }
    .hero-right{
        min-height:288px;
    }
    .hero h1{
        font-size:clamp(29px, 4.1vw, 40px);
        letter-spacing:.018em;
    }
    .hero-subtitle{
        font-size:12px;
        letter-spacing:4px;
        margin-bottom:12px;
    }
    .motto{
        font-size:clamp(30px, 4vw, 38px);
    }
    .hero-buttons{
        margin-top:18px;
    }
    .btn{
        min-width:128px;
        padding:10px 18px;
        font-size:12px;
    }
}

@media(max-width:760px){
    .hero{
        grid-template-columns:1fr;
        min-height:auto;
    }
    .hero-right{
        min-height:300px;
    }
    .hero h1{
        white-space:normal;
        font-size:42px;
    }
}

/* v12: hero closer to reference - lower height, stronger flower, transparent text side, photo blends under title */
.hero{
    position:relative;
    display:block;
    min-height:300px;
    overflow:hidden;
}

.hero-left{
    position:relative;
    z-index:3;
    width:60%;
    min-height:300px;
    padding:34px 26px 30px;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    overflow:visible;
    background:rgba(248,244,237,.42);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}

.hero-subtitle{
    font-size:15px;
    letter-spacing:5.6px;
    margin-bottom:14px;
}

.hero h1{
    width:max-content;
    max-width:none;
    font-size:clamp(34px, 4.15vw, 66px);
    line-height:.98;
    letter-spacing:.028em;
    white-space:nowrap;
    overflow:visible;
    text-align:center;
}

.ornament{
    margin:13px 0 4px;
}

.ornament span{
    width:82px;
}

.motto{
    font-size:clamp(36px, 4.35vw, 58px);
    line-height:1;
    margin-top:2px;
}

.hero-buttons{
    margin-top:24px;
    gap:24px;
}

.btn{
    min-width:145px;
    padding:12px 24px;
    font-size:13px;
}

.hero-right{
    position:absolute;
    inset:0 0 0 auto;
    z-index:1;
    width:62%;
    min-height:300px;
    background:transparent;
}

.hero-right img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    opacity:1;
    filter:saturate(1.03) contrast(1.02) brightness(1.02);
}

.hero-right::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(90deg,
        rgba(248,244,237,.92) 0%,
        rgba(248,244,237,.64) 22%,
        rgba(248,244,237,.22) 42%,
        rgba(248,244,237,0) 68%
    );
}

.hero-right::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:rgba(248,244,237,.04);
}

@media(min-width:1280px){
    .hero{
        min-height:320px;
    }
    .hero-left{
        min-height:320px;
        width:58%;
    }
    .hero h1{
        font-size:72px;
    }
    .motto{
        font-size:62px;
    }
}

@media(max-width:1050px){
    .hero{
        min-height:290px;
    }
    .hero-left{
        width:62%;
        min-height:290px;
        padding-left:20px;
        padding-right:20px;
    }
    .hero-right{
        width:60%;
        min-height:290px;
    }
    .hero h1{
        font-size:clamp(30px, 4.0vw, 44px);
        letter-spacing:.018em;
    }
    .hero-subtitle{
        font-size:12px;
        letter-spacing:4px;
        margin-bottom:12px;
    }
    .motto{
        font-size:clamp(30px, 4.2vw, 42px);
    }
}

@media(max-width:760px){
    .hero{
        display:grid;
        grid-template-columns:1fr;
        min-height:auto;
    }
    .hero-left{
        width:100%;
        min-height:300px;
        background:rgba(248,244,237,.68);
    }
    .hero-right{
        position:relative;
        width:100%;
        min-height:300px;
    }
    .hero h1{
        width:auto;
        max-width:100%;
        white-space:normal;
        font-size:42px;
    }
}

/* v13: content should fill the page like the visual reference */
.site-wrapper{
    width:94vw;
    max-width:1500px;
    min-width:980px;
    margin:0 auto;
    padding:14px 0 24px;
}

.topbar{
    width:100%;
    min-height:78px;
}

.hero{
    width:100%;
    min-height:330px;
}

.hero-left{
    width:58%;
    min-height:330px;
    padding:34px 34px 30px;
    background:rgba(248,244,237,.55);
}

.hero-right{
    width:60%;
    min-height:330px;
}

.hero h1{
    font-size:clamp(46px, 4.6vw, 78px);
    letter-spacing:.035em;
    white-space:nowrap;
}

.motto{
    font-size:clamp(42px, 4vw, 62px);
}

.content-grid,
.gallery,
.footer{
    width:100%;
}

@media(max-width:1100px){
    .site-wrapper{
        min-width:0;
        width:95vw;
    }
    .hero-left{
        width:60%;
    }
    .hero-right{
        width:58%;
    }
    .hero h1{
        font-size:clamp(34px, 4.4vw, 52px);
        letter-spacing:.022em;
    }
}

@media(max-width:760px){
    .site-wrapper{
        width:94vw;
    }
    .hero-left,
    .hero-right{
        width:100%;
    }
    .hero h1{
        white-space:normal;
    }
}


/* v17 leaf ornament - new unique classes, no boxes, no SVG dependency */
.ornament,
.mini-ornament,
.stem-ornament,
.ornament-line,
.decor-ornament,
.gallery-ornament{
    display:none !important;
}

.gold-leaf-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    width:100%;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.gold-leaf-divider-wide{
    margin:14px 0 7px;
}

.gold-leaf-divider-small{
    margin:2px 0 12px;
    gap:7px;
}

.gold-line{
    display:block;
    height:1px;
    width:92px;
    background:linear-gradient(90deg, rgba(181,141,61,0), rgba(181,141,61,.48), rgba(181,141,61,.52));
}

.gold-leaf-divider .gold-line:last-child{
    background:linear-gradient(90deg, rgba(181,141,61,.52), rgba(181,141,61,.48), rgba(181,141,61,0));
}

.gold-leaf-divider-small .gold-line{
    width:34px;
}

.gold-sprig{
    position:relative;
    display:block;
    width:48px;
    height:20px;
    flex:0 0 48px;
}

.gold-leaf-divider-small .gold-sprig{
    transform:scale(.72);
    transform-origin:center;
    margin:0 -5px;
}

.gold-sprig::before{
    content:"";
    position:absolute;
    left:5px;
    right:4px;
    top:10px;
    height:2px;
    background:#b58d3d;
    border-radius:999px;
    opacity:.88;
}

.gold-sprig i{
    position:absolute;
    display:block;
    width:15px;
    height:8px;
    background:#b58d3d;
    border-radius:15px 0 15px 0;
    opacity:.94;
}

.gold-sprig i:nth-child(1){left:5px;top:3px;transform:rotate(24deg);}
.gold-sprig i:nth-child(2){left:12px;top:10px;transform:rotate(204deg);}
.gold-sprig i:nth-child(3){left:22px;top:2px;transform:rotate(24deg);}
.gold-sprig i:nth-child(4){left:29px;top:10px;transform:rotate(204deg);}
.gold-sprig i:nth-child(5){left:36px;top:4px;transform:rotate(24deg);}

.section-title-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}

.gallery-leaf{
    position:relative;
    display:inline-block;
    width:54px;
    height:22px;
    flex:0 0 54px;
    background:transparent !important;
}

.gallery-leaf::before{
    content:"";
    position:absolute;
    left:5px;
    right:5px;
    top:11px;
    height:2px;
    background:#b58d3d;
    border-radius:999px;
    opacity:.85;
}

.gallery-leaf i{
    position:absolute;
    width:14px;
    height:8px;
    background:#b58d3d;
    border-radius:14px 0 14px 0;
    opacity:.94;
}

.gallery-leaf i:nth-child(1){left:5px;top:3px;transform:rotate(24deg);}
.gallery-leaf i:nth-child(2){left:13px;top:10px;transform:rotate(204deg);}
.gallery-leaf i:nth-child(3){left:23px;top:3px;transform:rotate(24deg);}
.gallery-leaf i:nth-child(4){left:31px;top:10px;transform:rotate(204deg);}
.gallery-leaf.right{
    transform:scaleX(-1);
}

@media(max-width:760px){
    .gold-line{width:64px;}
    .gold-leaf-divider-small .gold-line{width:28px;}
    .gallery-leaf{width:42px;flex-basis:42px;}
}


/* v18: service icons replaced with cleaner line icons from the original visual direction */
.round-icon{
    width:82px !important;
    height:82px !important;
    margin:0 0 17px !important;
    border-radius:50% !important;
    border:2px solid rgba(79,90,75,.24) !important;
    background:rgba(255,255,255,.58) !important;
    box-shadow:0 2px 7px rgba(45,52,38,.08) inset;
    position:relative !important;
}

.round-icon::before{
    display:none !important;
}

.round-icon::after{
    content:"" !important;
    position:absolute !important;
    inset:22px !important;
    background-color:transparent !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
    -webkit-mask:none !important;
    mask:none !important;
}

.flower-icon::after{
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27%23364030%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%3Cpath%20d%3D%27M32%2056V34%27%2F%3E%0A%3Cpath%20d%3D%27M32%2034c-7-8-6-16%200-23%206%207%207%2015%200%2023z%27%2F%3E%0A%3Cpath%20d%3D%27M31%2036c-9-2-14-8-14-17%208%201%2014%207%2014%2017z%27%2F%3E%0A%3Cpath%20d%3D%27M33%2036c9-2%2014-8%2014-17-8%201-14%207-14%2017z%27%2F%3E%0A%3Cpath%20d%3D%27M32%2044c-7-5-14-4-20%201%207%204%2014%204%2020-1z%27%2F%3E%0A%3Cpath%20d%3D%27M32%2044c7-5%2014-4%2020%201-7%204-14%204-20-1z%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") !important;
}

.building-icon::after{
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27%23364030%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%3Cpath%20d%3D%27M18%2056V12h28v44%27%2F%3E%0A%3Cpath%20d%3D%27M14%2056h36%27%2F%3E%0A%3Cpath%20d%3D%27M26%2056V44h12v12%27%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%27%23364030%27%3E%0A%3Crect%20x%3D%2725%27%20y%3D%2721%27%20width%3D%275%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%0A%3Crect%20x%3D%2735%27%20y%3D%2721%27%20width%3D%275%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%0A%3Crect%20x%3D%2725%27%20y%3D%2733%27%20width%3D%275%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%0A%3Crect%20x%3D%2735%27%20y%3D%2733%27%20width%3D%275%27%20height%3D%276%27%20rx%3D%271%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") !important;
}

.gift-icon::after{
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2064%2064%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27%23364030%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%3Cpath%20d%3D%27M14%2026h36v12H14z%27%2F%3E%0A%3Cpath%20d%3D%27M18%2038h28v18H18z%27%2F%3E%0A%3Cpath%20d%3D%27M32%2026v30%27%2F%3E%0A%3Cpath%20d%3D%27M20%2026c-6-7%201-14%208-7%202%202%204%207%204%207s-9%201-12%200z%27%2F%3E%0A%3Cpath%20d%3D%27M44%2026c6-7-1-14-8-7-2%202-4%207-4%207s9%201%2012%200z%27%2F%3E%0A%3C%2Fg%3E%3C%2Fsvg%3E") !important;
}

.service h3{
    margin-top:0 !important;
}


/* v19: slogan font adjusted to match the supplied script sample more closely */
.motto{
    font-family:'Allura', 'Great Vibes', 'Cormorant Garamond', cursive !important;
    color:#b58d3d !important;
    font-size:clamp(42px, 4.8vw, 66px) !important;
    font-weight:400 !important;
    line-height:.95 !important;
    letter-spacing:.01em !important;
    margin-top:4px !important;
    text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
}

@media(max-width:980px){
    .motto{
        font-size:clamp(36px, 4.6vw, 50px) !important;
    }
}

@media(max-width:560px){
    .motto{
        font-size:42px !important;
    }
}


/* v20: footer rebuilt closer to the reference design */
.footer-reference{
    margin-top:12px;
    padding:12px 18px;
    display:grid;
    grid-template-columns:1.35fr 1.23fr .95fr 1.28fr .82fr 1.72fr;
    gap:0;
    align-items:stretch;
    line-height:1.42;
    min-height:88px;
}

.footer-reference .footer-item{
    min-height:74px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:0 17px 0 4px;
    border-right:1px solid rgba(79,90,75,.22);
}

.footer-reference .footer-icon{
    flex:0 0 48px;
    width:48px;
    height:48px;
    border-radius:50%;
    border:2px solid rgba(79,90,75,.68);
    background:rgba(255,255,255,.36);
    position:relative;
}

.footer-reference .footer-icon::after{
    content:"";
    position:absolute;
    inset:10px;
    background:var(--text);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.footer-reference .mapmark-icon::after{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.8A2.8 2.8 0 1 1 12 6a2.8 2.8 0 0 1 0 5.8z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.8A2.8 2.8 0 1 1 12 6a2.8 2.8 0 0 1 0 5.8z'/%3E%3C/svg%3E");
}

.footer-reference .clock-icon::after{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10V6h-2v8h7v-2h-5z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 10V6h-2v8h7v-2h-5z'/%3E%3C/svg%3E");
}

.footer-reference .phone-icon::after{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.6 3.1 3.5 5 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.7.7 4.1.7.7 0 1.3.6 1.3 1.3v3.5c0 .7-.6 1.3-1.3 1.3C10.4 21.8 2.2 13.6 2.2 3.3 2.2 2.6 2.8 2 3.5 2H7c.7 0 1.3.6 1.3 1.3 0 1.4.2 2.8.7 4.1.1.4 0 .9-.3 1.2l-2.1 2.2z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.6 3.1 3.5 5 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.4 2.7.7 4.1.7.7 0 1.3.6 1.3 1.3v3.5c0 .7-.6 1.3-1.3 1.3C10.4 21.8 2.2 13.6 2.2 3.3 2.2 2.6 2.8 2 3.5 2H7c.7 0 1.3.6 1.3 1.3 0 1.4.2 2.8.7 4.1.1.4 0 .9-.3 1.2l-2.1 2.2z'/%3E%3C/svg%3E");
}

.footer-reference .mail-icon::after{
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2V5zm2 2v.5l8 5 8-5V7H4zm16 10V9.8l-8 5-8-5V17h16z'/%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2V5zm2 2v.5l8 5 8-5V7H4zm16 10V9.8l-8 5-8-5V17h16z'/%3E%3C/svg%3E");
}

.footer-reference strong,
.footer-social strong{
    display:block;
    margin-bottom:4px;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.035em;
}

.footer-reference a{
    color:var(--text);
    text-decoration:none;
}

.footer-reference a:hover{
    text-decoration:underline;
}

.footer-social{
    min-height:74px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:0 12px 0 14px;
    border-right:1px solid rgba(79,90,75,.22);
}

.footer-social .social-icons{
    display:flex;
    gap:13px;
    align-items:center;
    margin-top:5px;
}

.footer-social .social-icons a{
    width:28px;
    height:28px;
    display:inline-flex;
}

.footer-social .svg-icon{
    width:28px;
    height:28px;
}

.map-box{
    min-height:74px;
    border-radius:12px;
    overflow:hidden;
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:1fr auto;
    align-items:center;
    column-gap:8px;
    padding:10px 14px;
    text-decoration:none;
    color:var(--text);
    background:
        linear-gradient(rgba(244,244,235,.78), rgba(244,244,235,.78)),
        radial-gradient(circle at 20% 40%, rgba(136,183,113,.55) 0 8%, transparent 9%),
        radial-gradient(circle at 70% 60%, rgba(159,197,135,.50) 0 10%, transparent 11%),
        linear-gradient(135deg,#dfe8d5,#f3ead8);
}

.map-pin{
    grid-row:1 / span 2;
    width:28px;
    height:28px;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
    background:#d76f41;
    position:relative;
    justify-self:center;
}

.map-pin::after{
    content:"";
    position:absolute;
    width:11px;
    height:11px;
    border-radius:50%;
    background:#fff;
    top:8px;
    left:8px;
}

.map-title{
    align-self:end;
    font-weight:500;
    white-space:nowrap;
}

.map-button{
    justify-self:start;
    align-self:start;
    margin-top:6px;
    padding:8px 22px;
    background:var(--sage);
    color:#fff;
    border-radius:8px;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:.04em;
}

@media(max-width:1200px){
    .footer-reference{
        grid-template-columns:repeat(2,1fr);
    }
    .footer-reference .footer-item,
    .footer-social{
        border-right:none;
        border-bottom:1px solid rgba(79,90,75,.16);
        padding:11px 8px;
    }
    .map-box{
        grid-column:span 2;
    }
}

@media(max-width:650px){
    .footer-reference{
        grid-template-columns:1fr;
    }
    .map-box{
        grid-column:span 1;
    }
}

/* v21: footer adjusted to match the supplied reference bar */
.footer-reference{
    margin-top:12px !important;
    padding:0 !important;
    min-height:88px !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:1.35fr 1.05fr .9fr 1.15fr .72fr 1.65fr !important;
    gap:0 !important;
    align-items:stretch !important;
    overflow:hidden !important;
    border-radius:15px !important;
    background:rgba(248,244,237,.76) !important;
    backdrop-filter:blur(14px) !important;
    -webkit-backdrop-filter:blur(14px) !important;
}

.footer-reference .footer-item,
.footer-reference .footer-social{
    min-height:88px !important;
    padding:0 20px !important;
    display:flex !important;
    align-items:center !important;
    border-right:1px solid rgba(79,90,75,.18) !important;
    border-bottom:none !important;
    background:transparent !important;
}

.footer-reference .footer-item{
    gap:17px !important;
}

.footer-reference .footer-address{
    padding-left:22px !important;
}

.footer-reference .footer-icon{
    flex:0 0 52px !important;
    width:52px !important;
    height:52px !important;
    border:2px solid rgba(54,64,48,.68) !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.25) !important;
    box-shadow:none !important;
}

.footer-reference .footer-icon::after{
    inset:10px !important;
    background:#364030 !important;
}

.footer-reference strong,
.footer-reference .footer-social strong{
    display:block !important;
    margin-bottom:4px !important;
    font-size:14px !important;
    font-weight:600 !important;
    text-transform:uppercase !important;
    letter-spacing:.035em !important;
    color:#364030 !important;
}

.footer-reference div,
.footer-reference a{
    font-size:14px !important;
    color:#364030 !important;
    line-height:1.38 !important;
}

.footer-reference a{
    text-decoration:none !important;
}

.footer-reference a:hover{
    text-decoration:underline !important;
}

.footer-reference .footer-social{
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    padding:0 14px !important;
    text-align:center !important;
}

.footer-reference .social-icons{
    margin-top:5px !important;
    display:flex !important;
    gap:16px !important;
    align-items:center !important;
    justify-content:center !important;
}

.footer-reference .social-icons a{
    width:31px !important;
    height:31px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.footer-reference .social-icons .svg-icon{
    width:31px !important;
    height:31px !important;
    background-color:#59633e !important;
}

.footer-reference .map-box{
    min-height:88px !important;
    border-radius:0 !important;
    display:grid !important;
    grid-template-columns:52px 1fr !important;
    grid-template-rows:1fr auto !important;
    column-gap:11px !important;
    row-gap:2px !important;
    align-items:center !important;
    padding:11px 18px !important;
    text-decoration:none !important;
    color:#364030 !important;
    overflow:hidden !important;
    position:relative !important;
    background:
        linear-gradient(rgba(244,244,235,.62), rgba(244,244,235,.62)),
        radial-gradient(circle at 18% 35%, rgba(201,224,182,.95) 0 12%, transparent 13%),
        radial-gradient(circle at 78% 18%, rgba(184,212,164,.85) 0 10%, transparent 11%),
        radial-gradient(circle at 72% 78%, rgba(197,221,178,.90) 0 13%, transparent 14%),
        linear-gradient(135deg,#f3f1e9 0%,#dfe9d5 48%,#eef0e3 100%) !important;
}

.footer-reference .map-box::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(35deg, transparent 0 42%, rgba(255,255,255,.65) 43% 45%, transparent 46%),
        linear-gradient(145deg, transparent 0 48%, rgba(255,255,255,.55) 49% 51%, transparent 52%),
        linear-gradient(90deg, transparent 0 36%, rgba(255,255,255,.45) 37% 39%, transparent 40%);
    opacity:.72;
    pointer-events:none;
}

.footer-reference .map-pin{
    grid-row:1 / span 2 !important;
    justify-self:center !important;
    align-self:center !important;
    width:32px !important;
    height:32px !important;
    border-radius:50% 50% 50% 0 !important;
    background:#d76f41 !important;
    transform:rotate(-45deg) !important;
    position:relative !important;
    z-index:1 !important;
    box-shadow:0 2px 5px rgba(0,0,0,.18) !important;
}

.footer-reference .map-pin::after{
    content:"" !important;
    position:absolute !important;
    width:12px !important;
    height:12px !important;
    border-radius:50% !important;
    background:#fff !important;
    top:10px !important;
    left:10px !important;
}

.footer-reference .map-title{
    align-self:end !important;
    justify-self:start !important;
    font-size:15px !important;
    font-weight:500 !important;
    white-space:nowrap !important;
    z-index:1 !important;
    color:#364030 !important;
}

.footer-reference .map-button{
    align-self:start !important;
    justify-self:start !important;
    margin-top:4px !important;
    padding:8px 24px !important;
    background:#6f784c !important;
    color:#fff !important;
    border-radius:8px !important;
    text-transform:uppercase !important;
    font-size:13px !important;
    letter-spacing:.04em !important;
    z-index:1 !important;
    line-height:1 !important;
}

@media(max-width:1200px){
    .footer-reference{
        grid-template-columns:repeat(2,1fr) !important;
    }
    .footer-reference .footer-item,
    .footer-reference .footer-social{
        min-height:82px !important;
        border-right:none !important;
        border-bottom:1px solid rgba(79,90,75,.16) !important;
    }
    .footer-reference .map-box{
        grid-column:span 2 !important;
        border-radius:0 0 15px 15px !important;
    }
}

@media(max-width:650px){
    .footer-reference{
        grid-template-columns:1fr !important;
    }
    .footer-reference .map-box{
        grid-column:span 1 !important;
    }
}

/* v22: nicer clock icon for opening hours, matching the supplied reference */
.footer-reference .clock-icon{
    background:rgba(255,255,255,.22) !important;
    border:2px solid rgba(54,64,48,.78) !important;
    position:relative !important;
}

.footer-reference .clock-icon::after{
    display:none !important;
}

.footer-reference .clock-icon::before{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:13px !important;
    height:13px !important;
    border-left:2.6px solid #364030 !important;
    border-bottom:2.6px solid #364030 !important;
    transform:translate(-12%, -76%) !important;
    background:transparent !important;
}

.footer-reference .clock-icon .clock-dot{
    position:absolute;
    left:50%;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#364030;
    transform:translate(-50%, -50%);
}

/* v23: taller gallery realization photos */
.gallery{
    padding-top:16px !important;
    padding-bottom:30px !important;
}

.gallery-grid{
    align-items:stretch !important;
}

.gallery-item{
    height:170px !important;
    border-radius:10px !important;
}

.gallery-item img{
    height:100% !important;
    object-fit:cover !important;
}

.more-photos{
    margin-top:10px !important;
    transform:none !important;
}

@media(max-width:1100px){
    .gallery-item{
        height:155px !important;
    }
}

@media(max-width:760px){
    .gallery-item{
        height:210px !important;
    }
}

/* v24: two-tone typography for service texts, matching supplied reference */
.services .service h3{
    color:#364030 !important;
    font-family:'Cormorant Garamond', Georgia, serif !important;
    font-size:21px !important;
    font-weight:600 !important;
    letter-spacing:.11em !important;
    text-transform:uppercase !important;
    line-height:1.2 !important;
    margin-bottom:11px !important;
    text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
}

.services .service p{
    color:#2f332c !important;
    font-family:'Montserrat', Arial, sans-serif !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.55 !important;
    max-width:260px !important;
    text-align:center !important;
    text-shadow:0 1px 0 rgba(255,255,255,.35) !important;
}

.services .service{
    color:#2f332c !important;
}

@media(max-width:900px){
    .services .service h3{
        font-size:20px !important;
    }
    .services .service p{
        font-size:15px !important;
        max-width:320px !important;
    }
}


/* v25: darker grey-black body text in services and O NAS */
.about-card p,
.services .service p{
    color:#2f332c !important;
    font-family:'Montserrat', Arial, sans-serif !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.55 !important;
    text-align:center !important;
    text-shadow:0 1px 0 rgba(255,255,255,.30) !important;
}

.about-card p{
    max-width:360px !important;
    margin:0 auto !important;
}

.services .service p{
    max-width:260px !important;
}

.services .service h3{
    color:#364030 !important;
}

/* v26: force description text to blue-black gray, not olive */
.about-card p,
.services .service p,
.services .service p *,
.card.about-card p{
    color:#202833 !important;
    font-family:'Montserrat', Arial, sans-serif !important;
    font-weight:400 !important;
    text-shadow:none !important;
    opacity:1 !important;
}

.about-card p{
    font-size:15px !important;
    line-height:1.58 !important;
    max-width:370px !important;
    margin:0 auto !important;
}

.services .service p{
    font-size:15px !important;
    line-height:1.56 !important;
    max-width:270px !important;
    margin:0 auto !important;
}

/* Keep only headings and icons olive */
.about-card h2,
.services-card h2,
.services .service h3,
.round-icon::after{
    color:#364030 !important;
}

/* v27: align all main horizontal blocks to the same right edge as the middle content row */
.site-wrapper{
    width:96vw !important;
    max-width:1540px !important;
    min-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.topbar,
.hero,
.content-grid,
.gallery,
.footer-reference,
.footer{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
}

.topbar,
.hero,
.gallery,
.footer-reference,
.footer{
    margin-left:0 !important;
    margin-right:0 !important;
}

.content-grid{
    grid-template-columns:32% calc(68% - 14px) !important;
    column-gap:14px !important;
}

.gallery{
    padding-left:32px !important;
    padding-right:32px !important;
}

.footer-reference{
    overflow:hidden !important;
}

@media(max-width:1100px){
    .site-wrapper{
        width:95vw !important;
        min-width:0 !important;
    }

    .content-grid{
        grid-template-columns:1fr !important;
    }
}

/* v29: rollback from v28, only a very soft blend into the flower image */
.hero-right img{
    opacity:1 !important;
    filter:saturate(1.04) contrast(1.02) brightness(1.02) !important;
}

.hero-right::before{
    content:"" !important;
    position:absolute !important;
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:34% !important;
    z-index:2 !important;
    pointer-events:none !important;
    background:linear-gradient(90deg,
        rgba(248,244,237,.58) 0%,
        rgba(248,244,237,.38) 34%,
        rgba(248,244,237,.18) 68%,
        rgba(248,244,237,0) 100%
    ) !important;
}

.hero-right::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    pointer-events:none !important;
    background:transparent !important;
}

@media(max-width:1050px){
    .hero-right::before{
        width:38% !important;
        background:linear-gradient(90deg,
            rgba(248,244,237,.54) 0%,
            rgba(248,244,237,.25) 60%,
            rgba(248,244,237,0) 100%
        ) !important;
    }
}

/* v30: reference-like fade into the flower photo, without hard vertical edge */
.hero{
    position:relative !important;
    display:block !important;
    overflow:hidden !important;
}

.hero-left{
    position:relative !important;
    z-index:3 !important;
    width:52% !important;
    min-height:330px !important;
    background:linear-gradient(90deg,
        rgba(248,244,237,.88) 0%,
        rgba(248,244,237,.82) 48%,
        rgba(248,244,237,.54) 78%,
        rgba(248,244,237,0) 100%
    ) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

.hero-right{
    position:absolute !important;
    inset:0 0 0 auto !important;
    width:68% !important;
    min-height:100% !important;
    z-index:1 !important;
    background:transparent !important;
}

.hero-right img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center right !important;
    opacity:1 !important;
    filter:saturate(1.04) contrast(1.02) brightness(1.02) !important;
    -webkit-mask-image:linear-gradient(90deg,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,.08) 10%,
        rgba(0,0,0,.28) 22%,
        rgba(0,0,0,.62) 38%,
        rgba(0,0,0,.90) 54%,
        rgba(0,0,0,1) 68%,
        rgba(0,0,0,1) 100%
    ) !important;
    mask-image:linear-gradient(90deg,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,.08) 10%,
        rgba(0,0,0,.28) 22%,
        rgba(0,0,0,.62) 38%,
        rgba(0,0,0,.90) 54%,
        rgba(0,0,0,1) 68%,
        rgba(0,0,0,1) 100%
    ) !important;
}

.hero-right::before,
.hero-right::after{
    display:none !important;
    content:none !important;
}

@media(min-width:1280px){
    .hero-left{
        width:53% !important;
    }
    .hero-right{
        width:69% !important;
    }
}

@media(max-width:1050px){
    .hero-left{
        width:58% !important;
        background:linear-gradient(90deg,
            rgba(248,244,237,.90) 0%,
            rgba(248,244,237,.80) 58%,
            rgba(248,244,237,.30) 100%
        ) !important;
    }
    .hero-right{
        width:64% !important;
    }
    .hero-right img{
        -webkit-mask-image:linear-gradient(90deg,
            rgba(0,0,0,0) 0%,
            rgba(0,0,0,.16) 22%,
            rgba(0,0,0,.72) 52%,
            rgba(0,0,0,1) 72%,
            rgba(0,0,0,1) 100%
        ) !important;
        mask-image:linear-gradient(90deg,
            rgba(0,0,0,0) 0%,
            rgba(0,0,0,.16) 22%,
            rgba(0,0,0,.72) 52%,
            rgba(0,0,0,1) 72%,
            rgba(0,0,0,1) 100%
        ) !important;
    }
}

@media(max-width:760px){
    .hero{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
    .hero-left{
        width:100% !important;
        background:rgba(248,244,237,.78) !important;
    }
    .hero-right{
        position:relative !important;
        width:100% !important;
        min-height:300px !important;
    }
    .hero-right img{
        -webkit-mask-image:none !important;
        mask-image:none !important;
    }
}

/* v31: main hero title reduced so KVETINY ROMANTIKA fits inside the left text field */
.hero-left{
    width:54% !important;
    padding-left:42px !important;
    padding-right:28px !important;
}

.hero h1{
    font-size:clamp(38px, 3.85vw, 64px) !important;
    line-height:.98 !important;
    letter-spacing:.026em !important;
    white-space:nowrap !important;
    max-width:100% !important;
    width:100% !important;
    text-align:center !important;
    overflow:visible !important;
}

.hero-subtitle{
    font-size:14px !important;
    letter-spacing:5px !important;
    margin-bottom:13px !important;
}

.motto{
    font-size:clamp(38px, 4.2vw, 58px) !important;
}

@media(min-width:1280px){
    .hero-left{
        width:55% !important;
    }
    .hero h1{
        font-size:66px !important;
    }
}

@media(max-width:1180px){
    .hero-left{
        width:56% !important;
        padding-left:30px !important;
        padding-right:22px !important;
    }
    .hero h1{
        font-size:clamp(34px, 3.75vw, 48px) !important;
        letter-spacing:.018em !important;
    }
}

@media(max-width:760px){
    .hero-left{
        width:100% !important;
        padding-left:24px !important;
        padding-right:24px !important;
    }
    .hero h1{
        white-space:normal !important;
        font-size:42px !important;
    }
}

/* v32: more transparent glass panels so the floral background is more visible */
:root{
    --panel:rgba(248,244,237,.50);
    --panel-strong:rgba(248,244,237,.58);
}

body::before{
    background:rgba(240,236,221,.40) !important;
}

.page-bg{
    filter:blur(2.5px) saturate(.92) brightness(1.03) !important;
}

.glass{
    background:rgba(248,244,237,.50) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    border:1px solid rgba(255,255,255,.70) !important;
    box-shadow:0 10px 28px rgba(45,52,38,.10) !important;
}

.topbar{
    background:rgba(248,244,237,.48) !important;
}

.hero{
    background:rgba(248,244,237,.42) !important;
}

.hero-left{
    background:linear-gradient(90deg,
        rgba(248,244,237,.70) 0%,
        rgba(248,244,237,.58) 45%,
        rgba(248,244,237,.30) 76%,
        rgba(248,244,237,0) 100%
    ) !important;
}

.card,
.gallery,
.footer-reference,
.footer{
    background:rgba(248,244,237,.50) !important;
}

.about-card,
.services-card{
    background:rgba(248,244,237,.48) !important;
}

.service{
    background:rgba(255,255,255,.22) !important;
}

.gallery-item{
    background-color:rgba(248,244,237,.24) !important;
}

.footer-reference .footer-item,
.footer-reference .footer-social{
    background:rgba(248,244,237,.22) !important;
}

.footer-reference .map-box{
    background:
        linear-gradient(rgba(244,244,235,.52), rgba(244,244,235,.52)),
        radial-gradient(circle at 18% 35%, rgba(201,224,182,.90) 0 12%, transparent 13%),
        radial-gradient(circle at 78% 18%, rgba(184,212,164,.78) 0 10%, transparent 11%),
        radial-gradient(circle at 72% 78%, rgba(197,221,178,.82) 0 13%, transparent 14%),
        linear-gradient(135deg,#f3f1e9 0%,#dfe9d5 48%,#eef0e3 100%) !important;
}

@media(max-width:760px){
    .hero-left{
        background:rgba(248,244,237,.62) !important;
    }
}
