.logo-frame{width:184px;height:112px;overflow:hidden;display:block;flex-shrink:0;border:1px solid #c7b38e;border-radius:3px;background:#454e55}.brand .brand-logo{width:240px;height:160px;max-width:none;margin:-24px -28px;object-fit:contain;outline:0;box-shadow:none;filter:brightness(1.22) contrast(.84)}body[data-page=about] .page-head{padding-bottom:25px}body[data-page=about] .page-head+.wrap{padding-top:25px}body[data-page=about] .personal{padding-top:0}main p,main li,main h1,main h2,main h3,main dd{text-align:justify;text-justify:inter-word;text-align-last:start;overflow-wrap:break-word}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.article-card{padding-bottom:30px;border-bottom:1px solid #c6bba7}.article-card>a:first-child{text-decoration:none}.article-card img{width:100%;height:230px;object-fit:cover}.article-card h2{font-size:27px;margin-top:20px;line-height:1.5;font-weight:400}.article-card p{font-size:17px;color:#59616a}.reading{max-width:880px;margin:auto;padding:45px 30px 75px}.article-heading{background:none;color:inherit;border:0;padding-top:35px}.article-heading h1{font-size:40px;line-height:1.4}.article-cover{width:100%;height:330px;object-fit:cover}.article-body{padding-top:30px}.article-body h2{font-size:28px;margin:40px 0 18px}.article-body p{font-size:19px;line-height:1.95}.reading>.button{margin-top:20px}@media(max-width:650px){.logo-frame{width:115px;height:78px}.brand .brand-logo{width:162px;height:108px;margin:-15px -23px}.article-grid{grid-template-columns:1fr;gap:30px}.article-heading h1{font-size:30px}.reading{padding-inline:6%}.article-cover{height:220px}.article-body p{font-size:17px;line-height:1.9}.article-card img{height:200px}.brand strong{max-width:125px;font-size:14px}}

/* Explicitly override the old hidden brand span rule. */
.brand .logo-frame{display:block!important;position:relative;width:190px;height:112px;overflow:hidden;background:#24272b;isolation:isolate}.brand .logo-frame:before,.brand .logo-frame:after{content:'';position:absolute;width:120px;height:1px;background:linear-gradient(90deg,transparent,#efd19a,#9c7639);z-index:2;transform:rotate(-25deg);pointer-events:none}.brand .logo-frame:before{top:15px;left:-20px}.brand .logo-frame:after{bottom:15px;right:-20px}.brand .brand-logo{display:block;width:224px;height:149px;margin:-18px -17px;filter:brightness(1.16) contrast(.9)}.brand strong{white-space:nowrap;max-width:none;font-size:18px}.header-inner{gap:24px}nav{gap:20px}@media(max-width:1100px){.header-inner{flex-wrap:wrap}nav{order:4;flex-basis:100%;justify-content:center}}@media(max-width:650px){.brand{gap:13px}.brand .logo-frame{width:125px;height:80px}.brand .brand-logo{width:158px;height:105px;margin:-12px -16px}.brand strong{font-size:12px}.header-inner{gap:10px}.brand{margin-inline-end:0}#menu-toggle{margin-inline-start:auto}}

body[data-page=about] .personal{padding-bottom:20px}body[data-page=about] .approach-title{margin-top:20px}body[data-page=about] .principles{margin-top:22px}#cookie-notice{background:#f5f1e9;color:#25384a;border-top:2px solid #b29660;padding:22px max(5%,20px);box-shadow:0 -3px 18px #0001}#cookie-notice h2{font-size:23px;margin-bottom:10px}#cookie-notice p{max-width:1000px;font-size:16px;margin-bottom:12px}#cookie-close{margin-inline-start:20px;background:#2b4358;color:white;border:0;padding:10px 18px}#cookie-settings{background:none;border:0;color:inherit;text-decoration:underline;font-size:14px;padding:0}button,a.button{min-height:44px}a:focus-visible,button:focus-visible{outline:3px solid #806022;outline-offset:4px}header a:focus-visible,header button:focus-visible,footer a:focus-visible,footer button:focus-visible{outline-color:#ffdb8a}#cookie-notice[hidden]{display:none}body>header #navigation a{padding-block:9px}main h1,main h2,main h3{text-align:start}main p,main li{word-spacing:normal}@media(max-width:600px){.brand strong{font-size:11px}.brand .logo-frame{width:105px;height:72px}.brand .brand-logo{width:143px;height:95px;margin:-11px -19px}.contact-details dd{font-size:19px}.contact-details bdi{white-space:normal;overflow-wrap:anywhere}.personal>img{max-width:100%}#cookie-notice{padding:18px 6%}main p,main li{text-align:start}}

.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:35px;padding:25px;background:#eeece6}.enquiry-form label{font-size:16px}.enquiry-form input,.enquiry-form textarea{display:block;width:100%;padding:12px;border:1px solid #7b838a;background:white;color:#243444;font:inherit;margin-top:7px}.enquiry-form .full{grid-column:1/-1}.enquiry-form input:focus-visible,.enquiry-form textarea:focus-visible{outline:3px solid #806022;outline-offset:2px}.enquiry-form input[type=email],.enquiry-form input[type=tel]{direction:ltr;text-align:start}.enquiry-form button:disabled{opacity:.7;cursor:not-allowed}.enquiry-form textarea{resize:vertical}@media(max-width:600px){.enquiry-form{grid-template-columns:1fr;padding:18px}}

/* Privacy notice: native modal, tab-local dismissal only. */
dialog#cookie-notice{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:30px;border:1px solid #baa477;border-radius:8px;box-shadow:0 24px 90px #0005;text-align:start}dialog#cookie-notice:not([open]){display:none}dialog#cookie-notice::backdrop{background:rgba(22,34,47,.65)}dialog#cookie-notice h2{font-size:26px;line-height:1.4}dialog#cookie-notice p{font-size:17px;line-height:1.8}dialog#cookie-notice button{margin-top:14px}body:has(dialog#cookie-notice[open]){overflow:hidden}@media(max-width:600px){dialog#cookie-notice{padding:23px}dialog#cookie-notice button{display:block;width:100%;margin-inline:0;margin-top:20px}}
/* Consistent compact spacing beneath page headings. */
body:is([data-page="services"],[data-page="articles"],[data-page="links"],[data-page="contact"]) .page-head{padding-bottom:25px}
body:is([data-page="services"],[data-page="articles"],[data-page="links"],[data-page="contact"]) .page-head+.wrap{padding-top:25px}

/* Compact non-modal privacy banner. */
aside#cookie-notice{position:fixed;inset:auto 20px 18px;z-index:30;max-width:1080px;margin:auto;padding:20px 26px;background:#f5f1e9;border:1px solid #c5b38f;border-radius:6px;box-shadow:0 5px 24px #0002;max-height:45vh;overflow:auto}aside#cookie-notice h2{font-size:20px;margin-bottom:7px}aside#cookie-notice p{font-size:14px;line-height:1.6;margin-bottom:8px}aside#cookie-notice #cookie-close{margin-top:0;font-size:14px}body:has(aside#cookie-notice:not([hidden])){padding-bottom:240px}@media(max-width:600px){aside#cookie-notice{inset:auto 10px 10px;padding:16px}body:has(aside#cookie-notice:not([hidden])){padding-bottom:300px}}
/* Align footer links and the notice button on the same baseline. */
footer .footer-links{align-items:center}
footer .footer-links a,footer .footer-links #cookie-settings{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0;line-height:1.5;font:inherit;vertical-align:middle;white-space:nowrap}
/* Shared page-title spacing: keep all tab and policy pages consistent. */
:root{--page-title-content-gap:25px}
body .page-head{padding-bottom:var(--page-title-content-gap)}
body .page-head+.wrap{padding-top:var(--page-title-content-gap)}
/* Home header and hero share the same right-hand content edge. */
body[data-page="home"] .header-inner{max-width:none;padding-inline:max(7vw,24px)}
@media(max-width:850px){body[data-page="home"] .header-inner{padding-inline:7%}}
