
/* Site-specific additions; original layout, colour system and module CSS remain unchanged. */
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { overflow-x: clip; }
section[id] { scroll-margin-top: 104px; }
.section-small-note { color: #4b574e; text-align: center; font-size: .95rem; line-height: 1.6; max-width: 54rem; margin: 1rem auto 2rem; padding: 0 1rem; }
.insight-disclosure { margin-top: .75rem; }
.insight-disclosure summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; }
.insight-disclosure summary::-webkit-details-marker { display: none; }
.insight-disclosure summary:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #3b6b48; outline-offset: 3px; }
.insight-extra { margin-top: .75rem !important; line-height: 1.55; }
.cta-intro { margin: -0.25rem auto 1.5rem; text-align: center; max-width: 35rem; }
.site-enquiry-form .form-control { min-height: 3.2rem; }
.form-disclaimer { font-size: .875rem; line-height: 1.5; margin: .9rem 1rem 0; text-align: center; color: #546056; }
.form-disclaimer a { text-decoration: underline; color: #2d5838; }
.cid-vyuXjjW6Zv .studio-photo-panel { overflow: hidden; background: #edefeb; }
.cid-vyuXjjW6Zv .studio-photo-panel img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.footer-legal-links { width: 100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.6rem 1.5rem; margin:1.4rem 0 .4rem; padding:0 1rem; }
.footer-legal-links a { color: #fff; font-size: .98rem; line-height:1.5; text-underline-offset:4px; }
.footer-legal-info { width: min(100%, 1040px); margin: 2rem auto .8rem; padding: 1.8rem 1.6rem; border-radius: 1.25rem; border: 1px solid rgba(255,255,255,.25); color:#f2f3ef; background: rgba(255,255,255,.055); }
.footer-legal-heading { font-size:1.32rem; font-weight:700; margin:0 0 1.25rem; color:#fff; }
.footer-legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.05rem 2.2rem; }
.footer-legal-grid > div { display:flex; flex-direction:column; gap:.32rem; overflow-wrap:anywhere; font-size:.96rem; line-height:1.5; }
.footer-legal-grid a { color:#fff; text-underline-offset:4px; }
.footer-legal-label { color:#b8c6ba; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.055em; }
.footer-legal-notice { border-top:1px solid rgba(255,255,255,.18); padding-top:1rem; margin:1.35rem 0 0; font-size:.78rem; line-height:1.6; color:#c3cfc6; }
.legal-page { min-height:65vh; padding: 9rem 1.1rem 5rem; background:#f9f6ec; color:#1b1f0a; }
.legal-article { max-width: 850px; margin-inline:auto; }
.legal-kicker { color:#3d6648; font-weight:700; letter-spacing:.14em; font-size:.76rem; margin:0 0 1rem; }
.legal-page h1 { font-size: clamp(2.5rem,5vw,4.3rem); font-weight:700; line-height:1.15; margin: 0 0 1rem; }
.legal-lead { font-size: clamp(1.15rem,2.5vw,1.4rem); line-height:1.55; margin-bottom:1.4rem; }
.legal-template-note { font-size:.92rem; line-height:1.55; padding:1rem 1.25rem; border-left:4px solid #7ca982; background:#eaf1e8; border-radius:0 .7rem .7rem 0; margin:1rem 0 2.5rem; }
.legal-content-section { margin: 0 0 2.15rem; }
.legal-content-section h2 { font-weight:700; line-height:1.25; font-size:clamp(1.35rem,2.8vw,1.8rem); margin-bottom:.65rem; }
.legal-content-section p, .legal-contact-line { line-height:1.8; font-size:1.02rem; }
.legal-page a { color:#285b38; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:991px) {
 .cid-vyuXjjT5PM .navbar .container { position:relative; justify-content:space-between; }
 .cid-vyuXjjT5PM .navbar-toggler { z-index:12; flex:none !important; display:flex !important; justify-content:center; align-items:center; width:42px !important;  margin-left:auto; padding:0; border:0; background:transparent; color:#1b1f0a; }
 .cid-vyuXjjT5PM .navbar .navbar-collapse { position:absolute; top:calc(100% + .35rem); left:0; right:0; width:100%; border-radius:1.35rem; padding:1rem; background:rgba(255,255,255,.98); box-shadow:0 18px 35px rgba(27,31,10,.18); max-height:min(75vh,540px); overflow-y:auto; z-index:10; }
 .cid-vyuXjjT5PM .navbar-nav { width:100%; margin:0 !important; flex-flow:column nowrap; align-items:stretch; }
 .cid-vyuXjjT5PM .navbar-nav .nav-item { width:100%; }
 .cid-vyuXjjT5PM .navbar-nav .nav-item .nav-link { width:100%; padding:.72rem 1rem !important; }
 .cid-vyuXjjT5PM .navbar-buttons { width:100%; padding:.5rem 0 0; text-align:center !important; }
 .cid-vyuXjjT5PM .navbar-buttons .btn { width:100%; margin:0 !important; }
 .cid-vyuXjjT5PM .navbar.opened .navbar-toggler { z-index:12; }
 .cid-vyuXjjW6Zv .studio-photo-panel { height:320px; }
}
@media(max-width:767px) {
 .cid-vyuXjjT5PM .container { width:95% !important; padding-left:.75rem; padding-right:.75rem; }
 .cid-vyuXjjT5PM .navbar-caption { font-size:clamp(.82rem,3.9vw,1rem); padding-left:.35rem; padding-right:0; }
 .cid-vyuXjjT5PM .navbar-brand { min-width:0; overflow:hidden; }
 .cid-vyuXjjT5PM .navbar .navbar-logo img { height:2.4rem !important; min-width:2.4rem !important; width:2.4rem; object-fit:cover; }
 .footer-legal-grid { grid-template-columns:1fr; }
 .footer-legal-info { padding:1.4rem 1rem; }
 .legal-page { padding-top: 7rem; padding-bottom:3rem; }
}
@media(max-width:360px) { .cid-vyuXjjT5PM .navbar-caption { font-size:.81rem; } .cid-vyuXjjT5PM .navbar .navbar-logo img { height:2rem !important; min-width:2rem !important; width:2rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (max-width: 767px) {
 #home h1.mbr-section-title { font-size:clamp(1.85rem, 9vw, 3.15rem) !important; letter-spacing:-.035em; line-height:1.14 !important; white-space:nowrap; }
}
.legal-page, .legal-page * { font-family:'Manrope', Arial, sans-serif; }
.legal-content-section { background:transparent !important; padding:0 !important; }
.footer-legal-info, .footer-legal-info * { font-family:'Manrope', Arial, sans-serif; }
