/* Shared type, navigation, buttons and footer, based on the studied reference. */
@font-face{font-family:LegoraSans;src:url('/assets/legora-sans-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:LegoraSans;src:url('/assets/legora-sans-medium.woff2') format('woff2');font-weight:500 800;font-style:normal;font-display:swap}
:root{--font-serif:LegoraSans,Arial,sans-serif;--font-sans:LegoraSans,Arial,sans-serif;--bone:#fafaf8;--paper:#f0f0ed;--stone:#e4e4df;--ink:#111310;--muted:#72756d;--rule:#171a131c;--gutter:24px}
body{font-family:var(--font-sans);background:var(--bone);color:var(--ink)}
body:not(.home) h1,body:not(.home) h2,body .menu-panel>h2,body dialog h2,body .statement blockquote,body .observe-quote,body .feedback-quote,body .appointment-visual,body .sqe-fee,body .brand-name{font-family:var(--font-sans);font-weight:400;font-variation-settings:normal;font-optical-sizing:auto;letter-spacing:-.035em}
body .brand-name{font-size:22px;letter-spacing:-.035em}
body .brand-name small{font-size:8px;letter-spacing:.06em}
body .button{border-radius:999px;min-height:34px;padding:9px 13px;font-size:12px;gap:15px;line-height:1.2;transition:background .2s,color .2s}
body .button:hover{transform:none;filter:none;background:#343730}
body .button>span{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#ffffffed;color:#1a2115;font-size:15px;margin:-4px -7px -4px 0}
body .button.subtle{background:#e9eae5;color:#23271e}
body .button.subtle:hover{background:#dedfd8}
body .text-link{border:0;font-size:13px;padding:0;gap:10px}
body .text-link:hover{opacity:.65}
.announcement{position:fixed;z-index:65;inset:0 0 auto;height:36px;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;color:#fff;font-size:12px}
.announcement span{color:#bfc1b9}
body .site-header{position:fixed;top:36px;left:0;right:0;height:72px;border:0;border-radius:0;padding:0 24px;background:#fafaf8f5;backdrop-filter:blur(16px);box-shadow:none;transition:background .25s,color .25s}
body .site-header.scrolled{top:36px;border:0;background:#fafaf8f5;box-shadow:none}
body.home .site-header:not(.scrolled){background:transparent;color:#fff;backdrop-filter:none}
body.home.menu-open .site-header{background:var(--bone);color:var(--ink)}
.header-left{display:flex;align-items:center;gap:26px}
.desktop-navigation{display:flex;gap:26px;font-size:13px}
body .site-header .logo{left:50%;white-space:nowrap}
body .site-header .brand-mark,body .site-header .brand-name small{display:none}
body .site-header .brand-name{font-size:21px}
body .menu-button{min-width:0;font-size:13px;padding:10px 0;gap:8px}
body .menu-button .menu-icon{display:none}
body .menu-button:after{content:'⌄';font-size:11px;opacity:.6}
body .header-actions{gap:18px}
body .header-actions svg{width:19px;height:19px;stroke-width:1.25}
body .header-actions .accessibility svg{width:17px;height:22px}
body .header-enquire{background:#111310;color:#fff;font-size:12px;border-radius:999px;padding:5px 5px 5px 14px;display:flex;align-items:center;gap:17px}
body.home .site-header:not(.scrolled) .header-enquire{background:#f7f8f2;color:#151711}
body .header-enquire span{display:grid;place-items:center;background:#fff;color:#222;width:21px;height:21px;border-radius:50%;font-size:14px}
body .mega-menu{padding-top:145px}
body .menu-primary>button{font-size:21px}
body .eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.06em}
body .legora-footer{background:var(--bone);padding:0;color:var(--ink)}
.closing-space{padding:140px 10% 160px}
.closing-card{display:grid;grid-template-columns:1fr 1fr;background:#000;color:#fff;padding:15px;border-radius:16px;gap:24px;min-height:510px}
.closing-copy{padding:16px 14px;display:flex;flex-direction:column;align-items:flex-start}
body .closing-copy h2{font-size:34px;line-height:1.08;letter-spacing:-.04em;font-weight:400;max-width:420px}
.closing-copy p{font-size:13px;line-height:1.5;max-width:320px;color:#d1d3cb;margin:35px 0 50px}
body .closing-copy .button{margin-top:auto;background:#e9eae4;color:#171b12}
.closing-visual{background:#e8e9e3;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:440px;color:#242a1d}
.closing-paper{width:62%;min-height:300px;background:#fafbf6;padding:24px;transform:rotate(-8deg);box-shadow:9px 14px 0 #d7dacf,0 20px 50px #222b1724;z-index:1;border:1px solid #d8dccf;position:relative}
.closing-paper>span{font-size:7px;letter-spacing:.06em}
.closing-paper strong{display:block;font-size:28px;line-height:1.1;font-weight:400;letter-spacing:-.045em;margin-top:40px}
.paper-lines{border-block:1px solid #3332;height:12px;margin-top:15px}
.paper-sign{margin-top:35px;font-size:30px;font-weight:400;letter-spacing:-.1em}
.visual-orbit{border:1px solid #8b928033;border-radius:50%;position:absolute;width:360px;height:360px}
.orbit-one{transform:translate(-100px,-100px)}.orbit-two{transform:translate(160px,130px)}
.closing-note{position:absolute;bottom:20px;right:20px;font-size:10px;color:#727b65}
body .footer-panel{background:#fff;border-radius:0;padding:35px 24px 25px}
body .footer-top{grid-template-columns:repeat(5,1fr);gap:35px;padding-bottom:90px}
body .footer-top h3{font-size:13px;font-weight:400;color:#242b1c;letter-spacing:0;margin-bottom:22px}
body .footer-top>div>a,body .footer-top>div>button{font-size:13px;margin-bottom:9px;line-height:1.4;color:#63695c}
body .footer-top>div>a:hover,body .footer-top>div>button:hover{color:#111}
.footer-identity{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.footer-identity .logo .brand-mark{display:none}
body .footer-identity .to-top{margin:0;background:#edeee8;width:30px;height:30px;font-size:17px}
body .footer-bottom{font-size:11px;border-color:#e9eae4;color:#7b8072}
@media(max-width:1100px){.desktop-navigation{gap:16px}.header-left{gap:16px}.desktop-navigation a:last-child{display:none}body .site-header .brand-name{font-size:19px}}
@media(max-width:760px){
  :root{--gutter:20px}
  .announcement{height:32px;font-size:10px;gap:5px}.announcement span{font-size:10px}
  body .site-header,body .site-header.scrolled{top:32px;height:62px;padding:0 20px;border-radius:0}
  .desktop-navigation{display:none}body .menu-button{font-size:12px}body .menu-button .menu-icon{display:block;width:17px;height:10px}body .menu-button:after{display:none}
  body .site-header .brand-name{display:none}body .site-header .brand-mark{display:block;background:none;color:inherit;font-size:26px;width:48px;height:30px;line-height:30px;padding:0;letter-spacing:-.09em}
  body .header-actions{gap:12px}body .header-enquire{font-size:11px;gap:12px;padding-left:12px}body .header-enquire span{width:18px;height:18px;font-size:12px}
  body .header-actions .search-button{display:none}
  body .mega-menu{padding-top:115px}
  .closing-space{padding:70px 20px 80px}.closing-card{grid-template-columns:1fr;padding:10px;gap:30px;border-radius:12px}
  .closing-copy{padding:20px 16px 0}.closing-copy p{margin:25px 0 32px;max-width:260px}body .closing-copy h2{font-size:30px}.closing-visual{min-height:350px}.closing-paper{width:62%;min-height:265px;padding:20px}.closing-paper strong{font-size:27px;margin-top:30px}
  body .footer-panel{padding:35px 20px 25px}body .footer-top{grid-template-columns:1fr 1fr;gap:35px 20px;padding-bottom:50px}body .footer-top h3{font-size:12px;margin-bottom:17px}body .footer-top>div>a,body .footer-top>div>button{font-size:12px;margin-bottom:8px}.footer-identity .logo .brand-name{font-size:20px}
}
