@font-face {
    font-family: "Cormorant Garamond";
    src: url("/fonts/cormorant-garamond-v21-latin-500.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cormorant Garamond";
    src: url("/fonts/cormorant-garamond-v21-latin-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cormorant Garamond";
    src: url("/fonts/cormorant-garamond-v21-latin-700.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("/fonts/montserrat-v31-latin-400.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("/fonts/montserrat-v31-latin-500.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("/fonts/montserrat-v31-latin-600.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
:root{--green:#2E3B2A;--soft:#828773;--cream:#F5F1E8;--paper:#B6B9AD;--wood:#C1A593;--text:#2E3B2A;--max:1180px;--shadow:0 14px 35px rgba(48,72,58,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream);font-family:Montserrat,Arial,sans-serif;line-height:1.7}img{display:block;max-width:100%}a{color:var(--green);text-underline-offset:3px}
.site-header{padding:24px 24px 0}.wood-frame{border:9px solid var(--wood);border-radius:2px;background:var(--paper);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),var(--shadow)}.brand{display:block;width:min(520px,86vw);margin:auto;padding:12px 20px 8px}.brand img{width:100%;height:auto}
.section{width:min(var(--max),calc(100% - 48px));margin:auto;padding-block:76px}.hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(38px,7vw,90px);min-height:650px}.eyebrow{margin:0 0 10px;color:var(--soft);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
h1,h2{margin:0;color:var(--green);font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.05}h1{font-size:clamp(3.1rem,6vw,5.5rem)}h1 em{font-weight:500}h2{font-size:clamp(2.1rem,4vw,3.5rem)}.lead{max-width:560px;margin:25px 0 0;font-size:1.05rem}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:30px}.button{display:inline-block;padding:12px 21px;color:var(--paper);background:var(--green);border:1px solid var(--green);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.04em}.text-link{font-size:.84rem;font-weight:600}
.image-frame{overflow:hidden;border:8px solid var(--wood);background:var(--paper);box-shadow:var(--shadow)}.image-frame img{width:100%;height:100%;object-fit:cover}.hero-image{aspect-ratio:4/4.8}
.ornament{width:min(420px,62vw);margin:auto;opacity:.9}.ornament img{width:100%}.intro{max-width:780px;text-align:center;padding-top:35px;padding-bottom:45px}.intro p:last-child{margin:22px auto 0;max-width:670px}
.services{display:grid;gap:70px}.service-card{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(280px,1.1fr);align-items:center;gap:clamp(35px,7vw,90px)}.service-card.reverse{grid-template-columns:minmax(280px,1.1fr) minmax(280px,.9fr)}.reverse .service-image{order:2}.reverse .service-content{order:1}.service-image{aspect-ratio:1/.82}.service-content p:last-child{max-width:570px;margin-bottom:0}
.contact{padding-top:60px;padding-bottom:90px}.contact-card{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;padding:clamp(28px,5vw,58px)}.address{margin:20px 0;font-size:1.02rem}.contact-links{display:grid;gap:5px}.opening-hours dl{margin:12px 0 0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:25px;padding:5px 0;border-bottom:1px solid rgba(48,72,58,.12);font-size:.88rem}.opening-hours dt{font-weight:600}.opening-hours dd{margin:0;text-align:right}
.site-footer{color:var(--paper);background:var(--green)}.footer-inner{width:min(var(--max),calc(100% - 48px));min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner p{margin:0;font-size:.78rem}.footer-inner nav{display:flex;gap:22px}.footer-inner a{color:var(--paper);font-size:.78rem}
@media(max-width:800px){.site-header{padding-inline:12px}.brand{width:min(520px,92vw);padding-inline:8px}.section{width:min(var(--max),calc(100% - 30px));padding-block:52px}.hero{grid-template-columns:1fr;min-height:0;gap:38px;padding-top:52px}.hero-image{max-width:650px;width:100%;justify-self:center;aspect-ratio:4/4.6}.service-card,.service-card.reverse{grid-template-columns:1fr;gap:28px}.reverse .service-image,.reverse .service-content{order:initial}.service-image{max-width:650px;width:100%;justify-self:center}.contact-card{grid-template-columns:1fr;gap:40px}.footer-inner{min-height:100px;flex-direction:column;justify-content:center}}
@media(max-width:480px){h1{font-size:3rem}.hero-actions{align-items:stretch;flex-direction:column}.button{text-align:center}.contact-card{border-width:7px;padding:25px 20px}.opening-hours dl>div{font-size:.79rem;gap:10px}}
