:root {
  --navy: #0a1624;
  --navy-soft: #102238;
  --ink: #182433;
  --slate: #596574;
  --paper: #f3f0e9;
  --cream: #fbfaf7;
  --bronze: #c8a76a;
  --bronze-light: #ddc28f;
  --line: rgba(24, 36, 51, 0.16);
  --line-light: rgba(255, 255, 255, 0.18);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --shadow: 0 20px 60px rgba(2, 12, 24, 0.18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { max-width: 100%; }
h1,h2,h3,p { margin-top: 0; }
.page-noise { pointer-events: none; position: fixed; inset: 0; z-index: 50; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.skip-link { position: fixed; top: -60px; left: 16px; z-index: 100; background: var(--bronze); color: var(--navy); padding: 10px 16px; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 12px; }

.site-header { min-height: 86px; position: relative; z-index: 20; max-width: 1440px; margin: 0 auto; padding: 18px clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:rgba(251,250,247,.92); backdrop-filter:blur(14px); }
.brand { display:inline-flex; align-items:center; gap:12px; min-width:250px; }
.brand__logo { width:52px; height:52px; object-fit:contain; mix-blend-mode:multiply; }
.brand__type { display:flex; flex-direction:column; line-height:1.15; }
.brand__type strong { font-size:12px; letter-spacing:.15em; font-weight:700; }
.brand__type small { margin-top:5px; color:var(--slate); font-size:9px; letter-spacing:.11em; text-transform:uppercase; }
.site-nav { display:flex; align-items:center; gap:clamp(22px,3vw,44px); }
.site-nav a { position:relative; font-size:13px; font-weight:600; color:#344150; }
.site-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--bronze); transition:right .25s ease; }
.site-nav a:hover::after,.site-nav a:focus-visible::after { right:0; }
.header-actions { display:flex; align-items:center; gap:18px; }
.language-switcher { position:relative; }
.language-switcher__button { display:inline-flex; align-items:center; gap:7px; padding:7px 0; border:0; background:transparent; color:var(--ink); cursor:pointer; font-size:12px; font-weight:700; letter-spacing:.08em; }
.language-switcher__globe { color:var(--bronze); font-size:18px; line-height:10px; }
.language-switcher__chevron { font-size:16px; transform:translateY(-2px); }
.language-menu { position:absolute; top:calc(100% + 10px); right:0; width:168px; padding:8px; border:1px solid var(--line); background:var(--cream); box-shadow:var(--shadow); }
.language-menu button { display:flex; width:100%; justify-content:space-between; align-items:center; padding:9px 10px; border:0; color:var(--ink); background:transparent; text-align:left; cursor:pointer; font-size:13px; }
.language-menu button span { color:var(--bronze); font-size:10px; font-weight:700; }
.language-menu button:hover,.language-menu button:focus-visible { background:var(--paper); }
.menu-toggle { display:none; width:42px; height:42px; padding:0; border:1px solid var(--line); background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:17px; height:1px; margin:5px auto; background:var(--ink); }

.section { padding-left:clamp(24px,5vw,76px); padding-right:clamp(24px,5vw,76px); }
.hero { position:relative; display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); min-height:min(790px,calc(100vh - 86px)); max-width:1440px; margin:0 auto; padding-top:clamp(74px,10vh,130px); padding-bottom:85px; overflow:hidden; }
.hero__copy { position:relative; z-index:3; align-self:center; padding-right:clamp(24px,6vw,95px); }
.eyebrow { margin:0 0 23px; color:var(--bronze); font-size:11px; line-height:1.2; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1 { max-width:650px; margin-bottom:24px; font-family:var(--serif); font-size:clamp(54px,5.6vw,88px); line-height:.93; font-weight:600; letter-spacing:-.045em; }
h1 em,.display-heading em,.contact__heading em { color:var(--bronze); font-weight:600; }
.hero__intro { max-width:530px; color:#4e5b69; font-size:17px; line-height:1.75; }
.hero__actions { display:flex; align-items:center; gap:28px; margin-top:36px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:13px 22px; border:1px solid transparent; font-size:12px; line-height:1; font-weight:700; letter-spacing:.04em; transition:transform .25s,background .25s,color .25s,border-color .25s; }
.button:hover,.button:focus-visible { transform:translateY(-3px); }
.button--primary { color:var(--navy); background:var(--bronze); }.button--primary:hover,.button--primary:focus-visible { background:var(--bronze-light); }
.button--outline { min-height:40px; padding:10px 15px; color:var(--navy); border-color:var(--navy); background:transparent; }.button--outline:hover { border-color:var(--bronze); background:var(--bronze); }
.button--small { font-size:10px; }.button--ghost { border-color:var(--ink); color:var(--ink); }.button--ghost:hover { border-color:var(--bronze); background:var(--bronze); }
.text-link { display:inline-flex; align-items:center; gap:12px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.34); color:white; font-size:12px; font-weight:700; letter-spacing:.04em; }.text-link:hover,.text-link:focus-visible { border-color:var(--bronze); color:var(--bronze-light); }.text-link--dark { color:var(--ink); border-color:var(--line); }.text-link--dark:hover,.text-link--dark:focus-visible { color:#806126; }
.hero__visual { position:relative; min-height:520px; overflow:hidden; background:radial-gradient(circle at 77% 23%,#334a61 0,transparent 31%),radial-gradient(circle at 32% 72%,#1b334b 0,transparent 42%),linear-gradient(135deg,#081522,#173249); }.hero__image { width:100%; height:100%; min-height:520px; background-image:url('/assets/europe-legal-advisory.webp?v=202610071138'); background-size:cover; background-position:center; filter:saturate(.8) contrast(1.05); }.hero__visual-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,22,36,.4),transparent 45%),linear-gradient(0deg,rgba(10,22,36,.68),transparent 46%); }
.hero__card { position:absolute; z-index:2; left:-1px; bottom:0; display:flex; width:min(395px,90%); gap:20px; padding:25px 28px; background:var(--navy); color:white; }.hero__card-number { color:var(--bronze); font-family:var(--serif); font-size:32px; line-height:1; }.hero__card p { margin:2px 0 8px; color:#a8b5c3; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.hero__card strong { font-family:var(--serif); font-size:21px; line-height:1; font-weight:500; }
.hero__mark { position:absolute; z-index:2; top:28px; right:28px; display:flex; align-items:center; gap:5px; }.hero__mark i { display:block; width:4px; height:4px; border-radius:50%; background:var(--bronze); }.hero__mark i:nth-child(2){opacity:.75}.hero__mark i:nth-child(3){opacity:.5}.hero__mark i:nth-child(4){opacity:.25}
.hero__lines { position:absolute; inset:0 0 auto; z-index:0; display:flex; justify-content:flex-end; gap:min(6vw,82px); height:100%; padding-right:clamp(30px,7vw,128px); pointer-events:none; }.hero__lines span { width:1px; height:100%; background:linear-gradient(to bottom,transparent 0,rgba(24,36,51,.07) 10%,rgba(24,36,51,.07) 80%,transparent); }
.hero__footer { position:absolute; z-index:4; bottom:32px; left:clamp(24px,5vw,76px); right:clamp(24px,5vw,76px); display:flex; justify-content:space-between; color:var(--slate); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }.hero__scroll { display:inline-flex; align-items:center; gap:9px; color:var(--ink); font-weight:700; }.hero__scroll i { width:28px; height:1px; background:var(--bronze); }

.intro { max-width:1440px; margin:0 auto; padding-top:clamp(96px,13vw,176px); padding-bottom:clamp(96px,11vw,150px); }.section-label { display:flex; align-items:center; gap:14px; color:var(--slate); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }.section-label span { color:var(--bronze); font-weight:700; }.section-label p { margin:0; }
.intro__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); gap:clamp(55px,11vw,170px); align-items:end; margin-top:62px; }.display-heading { margin:0; font-family:var(--serif); font-size:clamp(44px,4.8vw,70px); line-height:.98; font-weight:600; letter-spacing:-.04em; }.intro__body { padding-bottom:5px; }.intro__body p { color:var(--slate); font-size:16px; line-height:1.8; }.intro__body .text-link { margin-top:13px; }.intro__advisory-frame { width:min(100%,560px); margin:clamp(48px,7vw,88px) 0 0 auto; border:1px solid var(--line); background:#e7e2d8; }.intro__advisory-frame img { display:block; width:100%; height:auto; }.intro__advisory-frame figcaption { display:flex; justify-content:space-between; gap:22px; padding:14px 17px; color:var(--slate); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.intro__advisory-frame figcaption span:last-child { color:var(--bronze); white-space:nowrap; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(70px,9vw,126px); border-top:1px solid var(--line); }.principles article { min-height:202px; padding:27px 28px 20px 0; border-right:1px solid var(--line); }.principles article+article { padding-left:28px; }.principles article:last-child { border-right:0; }.principles span { color:var(--bronze); font-family:var(--serif); font-size:19px; }.principles h3 { margin:38px 0 8px; font-size:15px; font-weight:700; }.principles p { max-width:225px; margin-bottom:0; color:var(--slate); font-size:13px; }

.section--navy { background:var(--navy); color:white; }.services { max-width:1440px; margin:0 auto; padding-top:clamp(88px,11vw,155px); padding-bottom:clamp(88px,11vw,152px); }.section-label--light { color:#94a3b4; }.services__top { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.47fr); gap:80px; align-items:end; margin-top:55px; }.display-heading--light { color:var(--paper); }.services__top>p { max-width:350px; margin:0 0 7px; color:#abb8c4; font-size:15px; line-height:1.8; }.service-list { margin-top:92px; border-top:1px solid var(--line-light); }.service-card { display:grid; grid-template-columns:48px 54px minmax(0,1fr) 30px; gap:25px; align-items:center; min-height:152px; padding:26px 0; border-bottom:1px solid var(--line-light); transition:padding .25s ease; }.service-card:hover { padding-left:15px; }.service-card__index { align-self:start; color:var(--bronze); font-family:var(--serif); font-size:20px; }.service-card__icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(200,167,106,.45); color:var(--bronze); }.service-card__icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }.service-card h3 { margin:0 0 7px; color:var(--paper); font-family:var(--serif); font-size:28px; line-height:1; font-weight:600; }.service-card p { max-width:610px; margin:0; color:#a8b6c3; font-size:14px; }.service-card__arrow { justify-self:end; color:var(--bronze); font-size:24px; transition:transform .25s; }.service-card:hover .service-card__arrow { transform:translate(5px,-5px); }.eyebrow--light { color:var(--bronze-light); }.services__gallery { margin-top:clamp(66px,9vw,108px); }.services__gallery-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.42fr); gap:40px; align-items:end; margin-bottom:30px; }.services__gallery-intro .eyebrow { margin:0; }.services__gallery-intro h3 { margin:0; color:var(--paper); font-family:var(--serif); font-size:clamp(32px,3.5vw,52px); line-height:.98; font-weight:600; letter-spacing:-.035em; }.services__gallery-intro h3 em { color:var(--bronze); }.services__gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.transaction-frame { margin:0; border:1px solid var(--line-light); background:var(--navy-soft); }.transaction-frame img { display:block; width:100%; height:auto; }.transaction-frame figcaption { display:flex; flex-direction:column; gap:8px; padding:20px; }.transaction-frame strong { color:var(--paper); font-family:var(--serif); font-size:24px; line-height:1; font-weight:600; }.transaction-frame span { color:#a8b6c3; font-size:12px; line-height:1.6; }

.approach { max-width:1440px; margin:0 auto; padding-top:clamp(96px,12vw,166px); padding-bottom:clamp(96px,13vw,180px); }.approach__intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.5fr); gap:clamp(52px,9vw,135px); align-items:end; margin-top:62px; }.approach__intro>p { max-width:430px; margin:0; color:var(--slate); font-size:16px; line-height:1.8; }.process { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:clamp(76px,10vw,132px); background:var(--line); }.process__step { min-height:275px; padding:30px; background:var(--cream); }.process__step>span { color:var(--bronze); font-family:var(--serif); font-size:20px; }.process__step div { margin-top:95px; }.process__step h3 { margin:0 0 7px; font-family:var(--serif); font-size:28px; line-height:1; font-weight:600; }.process__step p { max-width:265px; margin:0; color:var(--slate); font-size:14px; }
.approach__feature { width:min(100%,1040px); margin:clamp(56px,8vw,104px) 0 0 auto; border:1px solid var(--line); background:#e7e2d8; }.approach__feature img { display:block; width:100%; height:auto; }.approach__feature figcaption { display:flex; justify-content:space-between; gap:22px; padding:16px 19px; color:var(--slate); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.approach__feature figcaption span:last-child { color:var(--bronze); white-space:nowrap; }

.section--paper { background:var(--paper); }.contact { position:relative; max-width:1440px; margin:0 auto; padding-top:clamp(92px,11vw,152px); padding-bottom:clamp(92px,11vw,145px); overflow:hidden; }.contact__heading { position:relative; z-index:1; max-width:820px; margin:0; font-family:var(--serif); font-size:clamp(56px,6.2vw,94px); line-height:.91; font-weight:600; letter-spacing:-.055em; }.contact__intro { position:relative; z-index:1; max-width:480px; margin:27px 0 0; color:var(--slate); font-size:16px; line-height:1.8; }.contact__actions { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:15px; margin-top:37px; }.contact__geometry { position:absolute; top:-12%; right:3%; width:44%; aspect-ratio:1; border:1px solid rgba(200,167,106,.38); border-radius:50%; }.contact__geometry::before,.contact__geometry::after { content:""; position:absolute; inset:14%; border:1px solid rgba(200,167,106,.3); border-radius:50%; }.contact__geometry::after { inset:28%; }.contact__geometry span { position:absolute; left:50%; top:-15%; width:1px; height:130%; background:rgba(200,167,106,.4); }.contact__geometry span:nth-child(2){transform:rotate(60deg)}.contact__geometry span:nth-child(3){transform:rotate(-60deg)}

.site-footer { max-width:1440px; margin:0 auto; padding:55px clamp(24px,5vw,76px) 24px; background:var(--navy); color:white; }.site-footer__top { display:flex; justify-content:space-between; gap:50px; padding-bottom:65px; }.brand--footer .brand__logo { mix-blend-mode:screen; }.brand--footer .brand__type small { color:#b3c0cd; }.site-footer__top>p { max-width:290px; margin:0; color:#b3c0cd; font-size:13px; line-height:1.7; }.site-footer__bottom { display:grid; grid-template-columns:1fr auto 1fr; gap:30px; align-items:start; padding-top:22px; border-top:1px solid var(--line-light); color:#a9b7c5; font-size:10px; }.site-footer__bottom p { margin:0; }.footer-links { display:flex; gap:20px; }.footer-links a:hover { color:var(--bronze-light); }.footer-disclaimer { text-align:right; }

.legal-page { min-height:100vh; background:var(--cream); }.legal-content { max-width:940px; margin:0 auto; padding:clamp(72px,10vw,135px) clamp(24px,5vw,76px) 120px; }.legal-content h1 { font-size:clamp(56px,7vw,92px); }.legal-content__lead { max-width:520px; color:var(--slate); font-size:17px; line-height:1.75; }.legal-content__rule { width:100%; height:1px; margin:66px 0 18px; background:var(--line); }.legal-content section { padding:32px 0; border-bottom:1px solid var(--line); }.legal-content h2 { margin-bottom:12px; font-family:var(--serif); font-size:30px; line-height:1; font-weight:600; }.legal-content section p { max-width:680px; margin-bottom:0; color:var(--slate); font-size:15px; line-height:1.8; }.legal-content section strong,.legal-content section a { color:var(--ink); }.legal-content section a:hover { color:#806126; }.legal-content__back { margin-top:48px; }
.reveal { opacity:1; transform:none; }

@media (max-width:900px) { .site-header { min-height:76px; padding-top:12px; padding-bottom:12px; }.brand { min-width:0; }.brand__logo { width:45px; height:45px; }.brand__type strong { font-size:10px; }.brand__type small { font-size:8px; }.site-nav { position:absolute; top:100%; left:0; right:0; display:none; padding:24px clamp(24px,5vw,76px) 30px; background:var(--cream); border-bottom:1px solid var(--line); box-shadow:var(--shadow); }.site-nav.is-open { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }.site-nav a { font-size:15px; }.header-actions { gap:12px; }.header-actions>.button { display:none; }.menu-toggle { display:block; }.hero { grid-template-columns:1fr; min-height:auto; padding-top:65px; padding-bottom:0; }.hero__copy { padding-right:0; padding-bottom:65px; }.hero__visual { min-height:430px; margin:0 -24px; }.hero__image { min-height:430px; }.hero__footer,.hero__lines { display:none; }.intro__grid,.services__top,.approach__intro,.services__gallery-intro { grid-template-columns:1fr; gap:30px; }.services__top { margin-top:45px; }.service-list { margin-top:65px; }.services__gallery-grid { grid-template-columns:1fr; gap:16px; }.principles { grid-template-columns:1fr; }.principles article,.principles article+article { min-height:auto; padding:24px 0; border-right:0; border-bottom:1px solid var(--line); }.principles h3 { margin-top:18px; }.process { grid-template-columns:1fr; }.process__step { min-height:210px; }.process__step div { margin-top:45px; }.site-footer__top { flex-direction:column; gap:30px; padding-bottom:44px; }.site-footer__bottom { grid-template-columns:1fr; gap:15px; }.footer-disclaimer { text-align:left; } }
@media (max-width:560px) { .section,.site-header { padding-left:22px; padding-right:22px; }.brand__type small { display:none; }.language-switcher__globe { display:none; }.hero { padding-top:54px; }.hero__copy { padding-bottom:52px; }h1 { font-size:clamp(48px,15vw,65px); }.hero__intro { font-size:15px; }.hero__actions { flex-direction:column; align-items:flex-start; gap:18px; }.hero__visual { margin-left:-22px; margin-right:-22px; min-height:390px; }.hero__image { min-height:390px; }.hero__card { padding:19px 21px; }.hero__card strong { font-size:19px; }.display-heading { font-size:47px; }.intro__grid { margin-top:45px; }.intro__advisory-frame { width:100%; margin-top:48px; }.intro__advisory-frame figcaption { align-items:flex-start; flex-direction:column; gap:5px; }.principles { margin-top:60px; }.service-card { grid-template-columns:32px 40px minmax(0,1fr); gap:15px; min-height:0; padding:25px 0; }.service-card__arrow { display:none; }.service-card__icon { width:36px; height:36px; }.service-card__icon svg { width:20px; height:20px; }.service-card h3 { font-size:24px; }.service-card p { font-size:13px; }.approach__feature { width:100%; margin-top:52px; }.approach__feature figcaption { align-items:flex-start; flex-direction:column; gap:5px; }.contact__heading { font-size:clamp(53px,15vw,68px); }.contact__geometry { right:-25%; width:95%; }.site-footer { padding-left:22px; padding-right:22px; }.legal-content { padding-top:65px; }.legal-content__rule { margin-top:46px; }.legal-content section { padding:25px 0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; }.reveal { opacity:1; transform:none; } }

.contact__details { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; color:var(--slate); font-size:12px; letter-spacing:.02em; }
.contact__details a { border-bottom:1px solid var(--line); transition:color .2s,border-color .2s; }
.contact__details a:hover,.contact__details a:focus-visible { color:#806126; border-color:var(--bronze); }
@media (max-width:560px) { .contact__details { align-items:flex-start; flex-direction:column; gap:5px; }.contact__details span { display:none; } }
.hero__image { background-image:none; }
.hero__image img { display:block; width:100%; height:100%; min-height:520px; object-fit:cover; object-position:center; }
@media (max-width:900px) { .hero__image img { min-height:430px; } }
@media (max-width:560px) { .hero__image img { min-height:390px; } }
