:root{--ink:#10211f;--muted:#5a6965;--bone:#f5f2eb;--paper:#fcfbf8;--lime:#4bb3e0;--line:#d8dcd2;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}.section-shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;top:-50px;left:24px;z-index:10;background:var(--ink);color:#fff;padding:10px 14px}.skip-link:focus{top:0}.site-header{width:min(1280px,calc(100% - 48px));min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font:600 22px/1 var(--serif);letter-spacing:-.04em;text-decoration:none}.brand small{display:block;margin-top:4px;font:600 8px/1.1 var(--sans);letter-spacing:.16em;text-transform:uppercase}.brand-mark{display:block;width:34px;height:34px;background:url(/globe.svg?v=2) center/contain no-repeat}.site-nav{display:flex;align-items:center;gap:26px}.site-nav a{color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}.site-nav a:hover,.text-link:hover,.contact-details a:hover{color:#0b5f8a}.nav-cta{border:1px solid var(--ink);padding:9px 13px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:72px;padding-block:118px 104px}.eyebrow{margin:0 0 18px;color:#1b6f96;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.hero h1,.statement h2,.section-intro h2,.principal h2,.approach h2,.contact-layout h2,.admin-card h1{margin:0;font:400 clamp(46px,6vw,84px)/.98 var(--serif);letter-spacing:-.065em}.hero h1 em{font-style:italic}.lede{max-width:620px;margin:32px 0;color:var(--muted);font-size:20px;line-height:1.5}.button-row{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:47px;border:1px solid transparent;padding:12px 18px;cursor:pointer;font:700 12px/1 var(--sans);letter-spacing:.04em;text-decoration:none;transition:background .2s,color .2s}.button:disabled{cursor:wait;opacity:.65}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:#314642}.button-secondary{border-color:var(--ink);background:transparent;color:var(--ink)}.button-secondary:hover{background:var(--ink);color:white}.text-link{color:var(--ink);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.hero-panel{align-self:end;padding:35px;background:var(--ink);color:#e6f4fb}.panel-label{margin:0;color:var(--lime);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.display-quote{margin:66px 0 30px;font:400 32px/1.12 var(--serif);letter-spacing:-.04em}.panel-rule{width:50px;border-top:1px solid var(--lime);margin-bottom:18px}.hero-panel>p:last-child{margin:0;color:#cbd5d0;font-size:13px}.statement{max-width:850px;margin-left:max(24px,calc((100% - 1160px)/2));padding:85px 0}.statement h2,.section-intro h2,.principal h2,.approach h2,.contact-layout h2{font-size:clamp(38px,4.4vw,61px)}.statement>p:last-child{max-width:680px;color:var(--muted);font-size:18px}.expertise-band{background:var(--bone);padding:104px 0}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px}.section-intro .eyebrow{min-width:190px}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}.service-card{padding:32px 48px 25px 0}.service-card+ .service-card{border-left:1px solid var(--line);padding-left:48px;padding-right:0}.service-number{color:#1f86b5;font-size:12px;font-weight:800}.service-card h3{margin:35px 0 14px;font:400 34px/1.05 var(--serif);letter-spacing:-.04em}.service-card p{color:var(--muted)}.service-card ul{margin:26px 0 0;padding:20px 0 0;border-top:1px solid var(--line);list-style:none}.service-card li{padding:5px 0;font-size:13px}.service-card li::before{content:'—';color:#1f86b5;margin-right:8px}.principal{display:grid;grid-template-columns:270px 1fr;gap:108px;padding-block:118px}.principal-monogram{display:grid;width:220px;height:250px;place-items:center;background:linear-gradient(135deg,#cfe8f5,#5fa8cf);font:italic 72px/1 var(--serif);letter-spacing:-.1em}.principal>div:last-child{max-width:685px}.role{margin:12px 0 32px;color:#78847f;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.principal p:not(.eyebrow):not(.role){color:var(--muted);font-size:17px}.approach{padding:82px 0;border-block:1px solid var(--line)}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach ol{margin:0;padding:0;list-style:none}.approach li{display:grid;grid-template-columns:52px 1fr;column-gap:12px;padding:15px 0;border-top:1px solid var(--line)}.approach li span{grid-row:span 2;color:#1f86b5;font-size:12px;font-weight:800}.approach li strong{font:400 23px var(--serif)}.approach li p{grid-column:2;margin:3px 0;color:var(--muted);font-size:14px}.contact-section{background:var(--ink);padding:104px 0;color:#eef7fc}.contact-layout{display:grid;grid-template-columns:.9fr 1fr;gap:96px}.contact-layout .eyebrow{color:var(--lime)}.contact-layout p:not(.eyebrow){color:#cbd5d0}.contact-details{display:grid;gap:8px;margin-top:36px}.contact-details a,.contact-details span{color:#eef7fc;font-size:14px;text-decoration:none}.contact-form{display:grid;gap:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:7px;font-size:12px;font-weight:700;letter-spacing:.025em}input,textarea{width:100%;border:1px solid #9ca9a0;background:transparent;color:inherit;padding:11px;font:400 15px/1.4 var(--sans);outline-offset:2px}input:focus,textarea:focus{border-color:var(--lime);outline:1px solid var(--lime)}.optional{font-weight:400;opacity:.65}.honeypot{position:absolute;left:-10000px}.form-status{min-height:20px;margin:0;font-size:13px}.form-status.success{color:#6cc3ec}.form-status.error{color:#ffac9f}.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding-block:28px;color:var(--muted);font-size:11px}.site-footer p:last-child{text-align:right}.footer-brand{font-size:16px}.footer-brand .brand-mark{width:26px;height:26px}.admin-body{background:var(--bone)}.admin-shell{width:min(1100px,calc(100% - 48px));margin:40px auto}.admin-shell>.brand{margin-bottom:42px}.admin-card{margin:20px 0;padding:30px;background:var(--paper);border:1px solid var(--line)}.admin-card h1{font-size:44px}.admin-card h2{margin:0 0 23px;font:400 29px var(--serif);letter-spacing:-.04em}.admin-card form{display:grid;gap:16px}.admin-card input{color:var(--ink);border-color:#9da9a3}.admin-header{display:flex;justify-content:space-between;align-items:start;margin:0 0 32px}.admin-header h1{margin:0;font:400 44px var(--serif);letter-spacing:-.05em}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.data-list{display:grid;gap:0}.data-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-top:1px solid var(--line)}.data-row div:first-child{display:grid;gap:3px}.data-row span{font-size:12px;color:var(--muted)}.data-row>div:last-child{display:flex;align-items:center;gap:10px}.button-small{min-height:auto;padding:8px 10px;font-size:10px}.tag{text-transform:uppercase;font-weight:800;letter-spacing:.07em}.tag.open{color:#0b6f9c}.tag.booked{color:#a26600}@media(max-width:720px){.section-shell,.site-header{width:min(100% - 32px,1160px)}.site-header{min-height:72px}.menu-toggle{display:block;border:0;background:none;color:var(--ink);font-weight:700}.site-nav{display:none;position:absolute;top:71px;left:16px;right:16px;z-index:2;align-items:stretch;gap:0;padding:12px;background:var(--paper);border:1px solid var(--line)}.site-nav.is-open{display:flex;flex-direction:column}.site-nav a{padding:12px}.hero,.contact-layout,.principal,.approach-grid{grid-template-columns:1fr;gap:40px}.hero{padding-block:70px}.hero-panel{max-width:440px}.statement{width:min(100% - 32px,850px);margin:0 auto;padding:65px 0}.section-intro{display:block}.service-grid,.admin-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card{padding:30px 0;border-left:0}.service-card+.service-card{border-top:1px solid var(--line)}.principal{padding-block:72px}.principal-monogram{width:160px;height:180px}.approach{padding-block:64px}.contact-section{padding-block:70px}.form-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;gap:15px}.site-footer p:last-child{text-align:left}.admin-shell{width:min(100% - 32px,1100px);margin-top:24px}.admin-header,.data-row{align-items:flex-start;flex-direction:column}.admin-header{gap:18px}}

.theme-toggle{display:inline-flex;align-items:center;gap:8px;margin-left:20px;border:0;background:none;color:var(--ink);cursor:pointer;font:600 12px/1 var(--sans)}.theme-track{position:relative;width:34px;height:18px;border:1px solid var(--ink);border-radius:9px}.theme-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--ink);transition:transform .2s}.theme-toggle[aria-pressed=true] .theme-thumb{transform:translateX(16px)}
html[data-theme=ocean]{--paper:#0b5a85;--bone:#094a6e;--ink:#fff;--muted:#cfe6f3;--line:rgba(255,255,255,.28);--lime:#9fdcf7}
html[data-theme=ocean] .brand-mark{filter:brightness(0) invert(1)}
html[data-theme=ocean] .eyebrow,html[data-theme=ocean] .service-number,html[data-theme=ocean] .service-card li::before,html[data-theme=ocean] .approach li span{color:#9fdcf7}
html[data-theme=ocean] .site-nav a:hover,html[data-theme=ocean] .text-link:hover,html[data-theme=ocean] .contact-details a:hover{color:#9fdcf7}
html[data-theme=ocean] .hero-panel,html[data-theme=ocean] .contact-section,html[data-theme=ocean] .cookie-banner{background:#06344f;color:#e6f4fb}
html[data-theme=ocean] .button-primary{background:#fff;color:#094a6e}
html[data-theme=ocean] .button-primary:hover{background:#dff1fa}
html[data-theme=ocean] .button-secondary:hover{background:#fff;color:#094a6e}
html[data-theme=ocean] .skip-link{background:#fff;color:#094a6e}
html[data-theme=ocean] .role,html[data-theme=ocean] .policy-updated{color:#b7d6e8}
@media(max-width:720px){.theme-toggle{margin-left:12px}.theme-text{display:none}}

.lang-toggle{display:inline-flex;align-items:center;gap:7px;margin-left:16px;border:0;background:none;color:var(--ink);cursor:pointer;font:700 12px/1 var(--sans)}.lang-toggle img{display:block;width:24px;height:16px;border:1px solid var(--line);object-fit:cover}
@media(max-width:720px){.lang-toggle{margin-left:10px}}
