
:root { color-scheme: light dark; --ink:#121820; --muted:#5d6570; --paper:#f5f6f4; --surface:#fff; --line:#d9ddda; --blue:#347fc1; --blue-deep:#1f69a9; --soft-blue:#e5f1fa; --shadow:0 24px 60px rgba(18,24,32,.11); }
html[data-theme="dark"] { --ink:#eef3f7; --muted:#a7b0ba; --paper:#0d1218; --surface:#151c24; --line:#2d3742; --blue:#54a7e8; --blue-deep:#3b8dcc; --soft-blue:#152b3d; --shadow:0 24px 60px rgba(0,0,0,.28); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --ink:#eef3f7; --muted:#a7b0ba; --paper:#0d1218; --surface:#151c24; --line:#2d3742; --blue:#54a7e8; --blue-deep:#3b8dcc; --soft-blue:#152b3d; --shadow:0 24px 60px rgba(0,0,0,.28); } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.5; transition:background .25s ease,color .25s ease; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }

.site-header { height:84px; padding:0 4vw; display:flex; align-items:center; justify-content:space-between; background:var(--surface); position:relative; z-index:20; border-bottom:1px solid var(--line); }
.brand img { width:166px; height:54px; object-fit:contain; }
.nav { display:flex; align-items:center; gap:clamp(22px,3vw,44px); font-size:13px; font-weight:700; }
.nav a { transition:color .2s ease; }
.nav a:hover { color:var(--blue); }
.nav-cta { border:1px solid var(--line); padding:12px 18px; }
.header-actions { display:flex; align-items:center; gap:10px; }
.theme-toggle,.menu-toggle { width:42px; height:42px; border:1px solid var(--line); color:var(--ink); background:var(--surface); cursor:pointer; display:grid; place-items:center; }
.theme-toggle { font-size:20px; }
.menu-toggle { display:none; }
.menu-toggle span { width:18px; height:2px; background:currentColor; display:block; margin:3px; }

.hero { min-height:calc(100svh - 84px); position:relative; display:flex; align-items:center; color:#fff; overflow:hidden; }
.hero-image,.contact-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-image { object-position:50% 45%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,15,25,.9) 0%,rgba(6,15,25,.62) 45%,rgba(6,15,25,.12) 77%); }
.hero-content { position:relative; z-index:2; padding-block:100px; }
.eyebrow { text-transform:uppercase; font-size:11px; letter-spacing:.18em; font-weight:800; display:flex; align-items:center; gap:12px; color:var(--blue); margin:0 0 22px; }
.eyebrow span { width:28px; height:2px; background:currentColor; }
.light-text { color:#7cc5fa; }
.hero h1 { font-size:clamp(60px,8.3vw,118px); line-height:.85; letter-spacing:-.065em; margin:0; max-width:800px; font-weight:800; }
.hero-copy { max-width:575px; font-size:clamp(17px,1.5vw,21px); color:rgba(255,255,255,.82); margin:38px 0 34px; }
.hero-actions,.contact-actions { display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; min-width:205px; padding:17px 20px; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; }
.button-primary { background:var(--blue); color:white; }
.button-primary:hover { background:var(--blue-deep); }
.text-link { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.45); font-size:12px; font-weight:700; }
.text-link span { margin-left:12px; }
.hero-proof { position:absolute; right:0; bottom:0; z-index:3; display:flex; align-items:center; gap:16px; padding:24px 4vw 24px 28px; background:rgba(10,20,30,.86); backdrop-filter:blur(12px); }
.hero-proof strong { font-size:36px; color:#7cc5fa; line-height:1; }
.hero-proof span { font-size:11px; text-transform:uppercase; letter-spacing:.1em; line-height:1.45; }

.intro { padding:120px 0 58px; display:grid; grid-template-columns:1.35fr .65fr; gap:100px; align-items:end; }
h2 { font-size:clamp(38px,5vw,66px); line-height:1.02; letter-spacing:-.045em; margin:0; }
.lead { color:var(--muted); font-size:18px; margin:0 0 8px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:120px; }
.service-card { background:var(--surface); box-shadow:var(--shadow); }
.service-image-wrap { height:260px; overflow:hidden; }
.service-image-wrap img { width:100%; height:100%; object-fit:cover; filter:saturate(.86); transition:transform .5s ease; }
.service-card:hover img { transform:scale(1.035); }
.service-content { padding:28px 28px 34px; }
.service-number { color:var(--blue); font-size:11px; letter-spacing:.12em; font-weight:800; }
.service-content h3 { font-size:27px; margin:13px 0 10px; letter-spacing:-.03em; }
.service-content p { color:var(--muted); margin:0; font-size:14px; }

.approach { display:grid; grid-template-columns:1fr 1fr; background:var(--surface); }
.approach-image { min-height:780px; overflow:hidden; }
.approach-image img { width:100%; height:100%; object-fit:cover; }
.approach-content { padding:clamp(60px,8vw,120px); display:flex; flex-direction:column; justify-content:center; }
.approach-content>p:not(.eyebrow) { font-size:17px; color:var(--muted); max-width:610px; margin:28px 0; }
.approach-content ul { list-style:none; padding:0; margin:8px 0 0; }
.approach-content li { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:22px 0; border-top:1px solid var(--line); }
.approach-content li b { color:var(--blue); font-size:11px; letter-spacing:.1em; }
.approach-content li span { color:var(--muted); font-size:14px; }
.approach-content li strong { display:block; color:var(--ink); font-size:16px; margin-bottom:4px; }

.story { padding-block:130px; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,9vw,130px); align-items:center; }
.story-photo { position:relative; }
.story-photo:before { content:"1992"; position:absolute; right:-16px; top:-42px; color:var(--blue); font-size:13px; letter-spacing:.18em; font-weight:800; }
.story-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; box-shadow:var(--shadow); }
.story-copy>p:not(.eyebrow) { color:var(--muted); max-width:650px; }
.story-copy h2 { margin-bottom:35px; }
.story-copy blockquote { margin:32px 0 10px; padding-left:24px; border-left:3px solid var(--blue); font-size:20px; font-weight:700; line-height:1.45; max-width:650px; }
.signature { color:var(--muted); font-size:12px; margin-left:27px; }

.home-base { padding-bottom:130px; }
.home-base-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:90px; align-items:end; margin-bottom:52px; }
.home-base-heading>p { color:var(--muted); font-size:17px; margin:0 0 8px; }
.home-base-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; }
.home-base-grid figure { margin:0; position:relative; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); }
.home-base-grid img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.home-base-grid figure:hover img { transform:scale(1.025); }
.home-base-office { min-height:540px; }
.home-base-detail { min-height:540px; }
.home-base-detail img { object-position:center; }
.home-base-lounge,.home-base-premises { min-height:380px; }
.home-base-lounge img { object-position:center; }
.home-base-premises img { object-position:center 56%; }
.home-base-grid figcaption { position:absolute; left:18px; bottom:18px; padding:10px 13px; background:rgba(7,15,23,.82); color:#fff; text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:800; backdrop-filter:blur(8px); }

.reviews { background:var(--soft-blue); padding-block:120px; }
.section-heading { display:grid; grid-template-columns:1.4fr .6fr; gap:80px; align-items:end; margin-bottom:60px; }
.section-heading>p { color:var(--muted); margin:0; }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.review-grid figure { background:var(--surface); margin:0; padding:34px; min-height:310px; display:flex; flex-direction:column; }
.quote-mark { color:var(--blue); font-size:60px; line-height:1; font-family:Georgia,serif; }
.review-grid blockquote { margin:12px 0 32px; font-size:18px; line-height:1.55; }
.review-grid figcaption { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:12px; }
.review-grid figcaption span { color:var(--muted); }

.contact { min-height:660px; position:relative; color:white; display:flex; align-items:center; overflow:hidden; }
.contact-image img { object-position:center; }
.contact-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,15,23,.92),rgba(7,15,23,.44)); }
.contact-content { position:relative; z-index:2; padding-block:90px; }
.contact-content h2 { max-width:850px; font-size:clamp(48px,7vw,88px); margin-bottom:45px; }
.phone { display:flex; flex-direction:column; font-size:21px; font-weight:800; }
.phone small { text-transform:uppercase; color:rgba(255,255,255,.66); font-size:10px; letter-spacing:.14em; margin-bottom:3px; }

footer { background:#0c131b; color:white; }
.footer-main { padding:72px 0 56px; display:grid; grid-template-columns:1.15fr 1fr 1fr 1.15fr; gap:40px; }
.footer-main>img { width:190px; filter:brightness(0) invert(1); opacity:.92; }
.footer-main div { display:flex; flex-direction:column; gap:4px; font-size:13px; }
.footer-main div>span { color:#6eb4e8; text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:10px; margin-bottom:13px; }
.footer-main a { color:rgba(255,255,255,.72); }
.footer-main a:hover { color:white; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding:20px 0 26px; display:flex; justify-content:space-between; color:rgba(255,255,255,.42); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }

@media (max-width:980px) {
  .shell { width:min(100% - 34px,760px); }
  .site-header { height:72px; padding-inline:17px; }
  .brand img { width:145px; }
  .menu-toggle { display:grid; }
  .nav { display:none; position:absolute; left:0; right:0; top:71px; background:var(--surface); padding:24px; flex-direction:column; align-items:stretch; gap:0; box-shadow:var(--shadow); }
  .nav.open { display:flex; }
  .nav a { padding:14px 4px; border-bottom:1px solid var(--line); }
  .nav-cta { border:0; }
  .hero { min-height:calc(100svh - 72px); }
  .hero h1 { font-size:clamp(62px,15vw,105px); }
  .intro { grid-template-columns:1fr; gap:30px; padding-top:90px; }
  .services-grid { grid-template-columns:1fr; }
  .service-card { display:grid; grid-template-columns:.95fr 1.05fr; }
  .service-image-wrap { height:100%; min-height:270px; }
  .approach { grid-template-columns:1fr; }
  .approach-image { min-height:520px; }
  .approach-content { padding:80px max(17px,calc((100vw - 760px)/2)); }
  .story { grid-template-columns:.8fr 1.2fr; gap:50px; }
  .home-base-heading { grid-template-columns:1fr; gap:25px; }
  .home-base-grid { grid-template-columns:1fr 1fr; }
  .home-base-office,.home-base-detail { min-height:400px; }
  .home-base-lounge,.home-base-premises { min-height:320px; }
  .review-grid { grid-template-columns:1fr; }
  .review-grid figure { min-height:250px; }
  .section-heading { grid-template-columns:1fr; gap:25px; }
  .footer-main { grid-template-columns:1fr 1fr; }
}

@media (max-width:640px) {
  .hero { align-items:flex-start; min-height:720px; }
  .hero-image { object-position:62% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(6,15,25,.94),rgba(6,15,25,.42)); }
  .hero-content { padding-top:100px; }
  .hero h1 { font-size:clamp(60px,19vw,82px); }
  .hero-copy { font-size:16px; margin-top:28px; }
  .hero-proof { padding:16px 20px; }
  .intro { padding-top:75px; }
  .services-grid { padding-bottom:80px; }
  .service-card { display:block; }
  .service-image-wrap { height:240px; min-height:0; }
  .approach-image { min-height:410px; }
  .approach-content { padding-block:70px; }
  .story { grid-template-columns:1fr; padding-block:90px; }
  .story-photo { max-width:82%; }
  .home-base { padding-bottom:90px; }
  .home-base-grid { grid-template-columns:1fr; }
  .home-base-office,.home-base-detail { min-height:360px; }
  .home-base-lounge,.home-base-premises { min-height:280px; }
  .reviews { padding-block:85px; }
  .contact { min-height:620px; }
  .contact-content h2 { font-size:48px; }
  .footer-main { grid-template-columns:1fr; padding-top:60px; }
  .footer-bottom { flex-direction:column; gap:10px; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition-duration:.01ms!important; } }
