:root { --ink:#17201b; --cream:#f4f0e7; --gold:#b79055; --paper:#fbfaf6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.nav { position:absolute; z-index:10; top:0; left:0; right:0; height:104px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; color:white; border-bottom:1px solid #ffffff3b; }
.brand { display:flex; align-items:center; gap:12px; font-family:Georgia,serif; font-size:17px; letter-spacing:.04em; }
.brand small { display:block; font:9px Arial,sans-serif; letter-spacing:.34em; text-transform:uppercase; margin-top:4px; opacity:.75; }
.brand-mark { width:43px; height:43px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:25px; font-style:italic; }
.nav nav { display:flex; gap:34px; font-size:12px; text-transform:uppercase; letter-spacing:.16em; }
.nav nav a:hover { opacity:.65; }
.nav-tools { display:flex; align-items:center; gap:14px; }.language-picker { display:flex; gap:4px; }.language-picker button { border:1px solid transparent; border-radius:50%; width:32px; height:32px; padding:0; background:#0d181273; cursor:pointer; font-size:17px; opacity:.65; }.language-picker button:hover,.language-picker button.active { opacity:1; border-color:#ffffffa8; background:#0d1812c4; transform:translateY(-1px); }
.nav-cta { border:1px solid #ffffffa0; padding:14px 18px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.hero { min-height:100svh; position:relative; color:white; display:flex; align-items:center; overflow:hidden; }
.hero>img { position:absolute; inset:0; height:100%; object-fit:cover; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,18,14,.82) 0%,rgba(8,18,14,.28) 58%,rgba(8,18,14,.08)),linear-gradient(0deg,rgba(5,12,9,.62),transparent 45%); }
.hero-content { position:relative; z-index:2; width:min(740px,90%); margin-left:8vw; padding-top:70px; }
.eyebrow,.section-label { text-transform:uppercase; letter-spacing:.24em; font-size:11px; font-weight:bold; }
.hero .eyebrow { color:#e4c998; margin-bottom:28px; }
h1,h2 { font-family:Georgia,serif; font-weight:400; margin:0; line-height:.96; letter-spacing:-.035em; }
h1 { font-size:clamp(58px,7.7vw,116px); }
h2 { font-size:clamp(44px,5.2vw,78px); }
h2 em { font-weight:400; color:var(--gold); }
.hero-copy { max-width:550px; font-family:Georgia,serif; font-size:18px; line-height:1.6; opacity:.9; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:32px; }
.button { display:inline-block; padding:17px 24px; text-transform:uppercase; letter-spacing:.15em; font-size:10px; font-weight:bold; transition:.2s; }
.button.light { background:white; color:var(--ink); }.button.light:hover { background:var(--gold); color:white; }
.button.dark { background:var(--ink); color:white; }.button.dark:hover { background:var(--gold); }
.button.outline { border:1px solid var(--ink); color:var(--ink); }.button.outline:hover { background:var(--ink); color:white; }
.text-link { font-size:12px; letter-spacing:.08em; }.text-link span { margin-left:8px; }
.facts { position:absolute; z-index:2; right:5vw; bottom:0; display:flex; background:rgba(15,26,20,.84); backdrop-filter:blur(8px); }
.facts span { padding:26px 31px; border-left:1px solid #ffffff27; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.facts b { display:block; font:30px Georgia,serif; margin-bottom:4px; color:#e1c18b; }
.intro { padding:130px 9vw; display:grid; grid-template-columns:1fr 1fr; gap:12vw; align-items:center; }
.section-label { color:var(--gold); margin:0 0 25px; }
.intro-copy { font-family:Georgia,serif; font-size:18px; line-height:1.75; color:#4d554f; }
.intro-copy p:first-child { font-size:23px; color:var(--ink); margin-top:0; }
.feature-grid { background:var(--cream); padding:0 5vw 120px; display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start; }
.feature-main { margin:-20px 0 0; }.feature-main img { height:700px; object-fit:cover; }.feature-main figcaption { font:italic 16px Georgia,serif; margin-top:14px; }
.feature-side { padding-top:70px; }.feature-side>img { height:330px; object-fit:cover; }.feature-side>div { padding:55px 45px; background:#203028; color:white; }.feature-side h3 { font:42px/1.05 Georgia,serif; margin:0 0 22px; }.feature-side p:last-child { color:#c8d0ca; line-height:1.7; }
.film-section { position:relative; min-height:78vh; overflow:hidden; display:flex; align-items:flex-end; color:white; }
.film-section video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.film-section::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,15,11,.68),transparent 62%); }
.film-section>div { position:relative; z-index:1; padding:0 7vw 7vw; }.film-section h2 { font-size:clamp(52px,7vw,100px); }
.gallery-section { padding:130px 5vw; }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:10vw; margin:0 4vw 70px; }.section-heading>p { font:18px/1.7 Georgia,serif; color:#59625c; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:95px; gap:18px; }
.gallery-item { padding:0; border:0; cursor:pointer; position:relative; overflow:hidden; background:#ddd; }.gallery-item img { height:100%; object-fit:cover; transition:transform .5s; }.gallery-item:hover img { transform:scale(1.03); }.gallery-item span { position:absolute; right:15px; bottom:15px; border-radius:50%; width:46px; height:46px; display:grid; place-items:center; background:#fff; color:var(--ink); text-transform:uppercase; font-size:8px; letter-spacing:.1em; opacity:0; transition:.2s; }.gallery-item:hover span { opacity:1; }
.item-1 { grid-column:span 7; grid-row:span 5; }.item-2 { grid-column:span 5; grid-row:span 4; }.item-3 { grid-column:span 5; grid-row:span 5; }.item-4 { grid-column:span 7; grid-row:span 4; }.item-5,.item-6,.item-7,.item-8 { grid-column:span 3; grid-row:span 3; }
.services { display:grid; grid-template-columns:1fr 1fr; background:#1b2922; color:white; }.services-image img { height:100%; object-fit:cover; }.services-content { padding:110px 8vw 100px 7vw; }.services-lead { font:19px/1.6 Georgia,serif; color:#c9d0cb; margin:35px 0 55px; }
.service-list article { display:grid; grid-template-columns:48px 1fr; gap:20px; border-top:1px solid #ffffff24; padding:27px 0; }.service-list article>span { color:var(--gold); font:italic 16px Georgia,serif; }.service-list h3 { font:24px Georgia,serif; margin:0 0 9px; }.service-list p { margin:0; color:#aeb9b2; line-height:1.6; font-size:14px; }
.padel-card { margin-top:28px; display:grid; grid-template-columns:150px 1fr; gap:20px; align-items:center; border:1px solid #ffffff25; padding:10px; font:18px Georgia,serif; }.padel-card img { height:92px; object-fit:cover; }.padel-card small { display:block; margin-top:8px; color:#aeb9b2; font:9px Arial,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.buggy-experience { padding:130px 6vw; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; background:var(--paper); }
.buggy-copy>p:not(.section-label) { font:18px/1.7 Georgia,serif; color:#5b645e; margin:35px 0; }
.buggy-note { display:flex; flex-wrap:wrap; gap:8px; }.buggy-note span { border:1px solid #c9c4b9; padding:11px 14px; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.buggy-photos { display:grid; grid-template-columns:1.35fr .65fr; gap:18px; align-items:end; }.buggy-photos img { object-fit:cover; }.buggy-photos img:first-child { height:590px; }.buggy-photos img:last-child { height:390px; }
.event-banner { position:relative; min-height:690px; display:flex; align-items:center; color:white; }.event-banner>img { position:absolute; inset:0; height:100%; object-fit:cover; filter:brightness(.34); }.event-banner>div { position:relative; width:min(680px,85%); margin:auto; text-align:center; }.event-banner h2 { font-size:80px; }.event-banner p:not(.section-label) { font:18px/1.7 Georgia,serif; margin:30px 0; }
.contact { padding:130px 5vw; text-align:center; background:var(--cream); }.contact>p:not(.section-label) { max-width:580px; margin:30px auto; font:18px/1.7 Georgia,serif; color:#5d655f; }.contact-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }.contact-details { margin-top:28px; display:flex; justify-content:center; gap:18px; flex-wrap:wrap; font-size:14px; }.contact-details a { border-bottom:1px solid #aaa397; padding-bottom:3px; }
footer { background:#101914; color:white; padding:60px 6vw; display:flex; align-items:center; justify-content:space-between; font-size:11px; letter-spacing:.08em; } footer p { opacity:.65; }
.lightbox { position:fixed; z-index:100; inset:0; background:#08100dea; display:grid; place-items:center; padding:5vw; }.lightbox img { max-width:1200px; max-height:85vh; object-fit:contain; }.lightbox button { position:absolute; top:24px; right:30px; color:white; font-size:40px; background:none; border:0; cursor:pointer; }
@media (max-width:850px) {
  .nav { height:78px; }.nav nav { display:none; }.nav-cta { display:none; }.brand-mark { width:36px;height:36px; }.hero-content { margin:0 6vw; }.facts { left:0;right:0;justify-content:center; }.facts span { padding:16px 12px; }.facts span:last-child { display:none; }.facts b { font-size:24px; }
  .intro,.section-heading,.services,.buggy-experience { grid-template-columns:1fr; }.intro { padding:90px 7vw; gap:45px; }.feature-grid { grid-template-columns:1fr; }.feature-main img { height:460px; }.feature-side { padding-top:0; }.film-section { min-height:55vh; }.gallery-section { padding:90px 5vw; }.section-heading { margin:0 2vw 45px; gap:25px; }.gallery-grid { grid-auto-rows:100px; }.gallery-item { grid-column:span 6!important; grid-row:span 3!important; }.item-1,.item-2 { grid-column:span 12!important; grid-row:span 4!important; }.services-image img { height:500px; }.services-content { padding:80px 8vw; }.buggy-experience { padding:90px 7vw; gap:50px; }.buggy-photos img:first-child { height:470px; }.buggy-photos img:last-child { height:320px; }.event-banner h2 { font-size:58px; } footer { flex-direction:column;gap:28px;text-align:center; }
}
@media (max-width:520px) { .nav-cta{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-copy{font-size:16px}.gallery-item{grid-column:span 12!important}.feature-main img,.services-image img{height:390px}.buggy-photos{grid-template-columns:1fr}.buggy-photos img:first-child,.buggy-photos img:last-child{height:300px}.event-banner{min-height:620px} }
